Spec-Zone.ru › TensorFlow C++ 2.3

tensorflow::ops::FractionalMaxPool

#include <nn_ops.h>

Выполняет фракционную максимальную пулинг операцию над входом.

Summary

Фракционная максимальная пулинг операция немного отличается от обычной максимальной пулинг операции. В обычной максимальной пулинг операции вы уменьшаете набор ввода, беря максимальное значение из меньших подмножеств N x N (часто 2x2), и пытаетесь уменьшить набор в N раз, где N - целое число. Фракционная максимальная пулинг операция, как можно догадаться из слова "фракционная", означает, что общий коэффициент уменьшения N не обязательно должен быть целым.

Размеры областей пулинга генерируются случайным образом, но довольно равномерно. Например, рассмотрим размерность высоты и ограничения на список строк, которые будут границами пулинга.

Сначала определим следующее:

  1. input_row_length : количество строк в наборе ввода
  2. output_row_length : которое будет меньше, чем входное
  3. alpha = input_row_length / output_row_length : наш коэффициент уменьшения
  4. K = floor(alpha)
  5. row_pooling_sequence : это результирующий список строк границ пулинга

Затем, row_pooling_sequence должен удовлетворять следующим условиям:

  1. a[0] = 0 : первое значение последовательности равно 0
  2. a[end] = input_row_length : последнее значение последовательности равно размеру
  3. K <= (a[i+1] - a[i]) <= K+1 : все интервалы имеют размер K или K+1
  4. length(row_pooling_sequence) = output_row_length+1

Для получения более подробной информации о фракционной максимальной пулинговой операции см. эту статью: Benjamin Graham, Фракционная максимальная пулинговая операция

Аргументы:

  • scope: Объект Scope
  • value: 4-мерный с формой [batch, height, width, channels].
  • pooling_ratio: Коэффициент пулинга для каждой размерности value, в настоящее время поддерживает только размерности строк и столбцов и должен быть >= 1,0. Например, допустимый коэффициент пулинга выглядит следующим образом: [1,0, 1,44, 1,73, 1,0]. Первые и последние элементы должны быть 1,0, потому что мы не допускаем пулинг по размерностям пакет и каналы. 1,44 и 1,73 — это коэффициенты пулинга по размерностям высоты и ширины соответственно.

Необязательные атрибуты (см. Attrs):

  • pseudo_random: Если установлено в True, генерирует последовательность пулинга псевдослучайным образом, в противном случае - случайным образом. Пожалуйста, обратитесь к статье Benjamin Graham, Фракционная максимальная пулинговая операция для разницы между псевдослучайным и случайным.
  • overlapping: Если установлено в True, это означает, что при пулинге значения на границе смежных ячеек пулинга используются обеими ячейками. Например:

index 0 1 2 3 4

value 20 5 16 3 7

Если последовательность пулинга равна [0, 2, 4], то 16 в индексе 2 будет использоваться дважды. Результатом будет [20, 16] для фракционной максимальной пулинговой операции.

  • deterministic: Если установлено в True, при итерации по узлу FractionalMaxPool в графе вычислений будет использоваться фиксированная область пулинга. В основном используется в модульном тестировании для создания детерминированной работы FractionalMaxPool.
  • seed: Если seed или seed2 установлены отличными от нуля, генератор случайных чисел инициализируется заданным seed. В противном случае он инициализируется случайным seed.
  • seed2: Второй seed для избежания конфликтов seed.

Возвращаемые значения:

  • Output output: тензор вывода после фракционной максимальной пулинговой операции.
  • Output row_pooling_sequence: последовательность пулинга строк, необходимая для расчета градиента.
  • Output col_pooling_sequence: последовательность пулинга столбцов, необходимая для расчета градиента.
Конструкторы и деструкторы
FractionalMaxPool(const ::tensorflow::Scope & scope, ::tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio)
FractionalMaxPool(const ::tensorflow::Scope & scope, ::tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio, const FractionalMaxPool::Attrs & attrs)
Общедоступные атрибуты
col_pooling_sequence
::tensorflow::Output
operation
Operation
output
::tensorflow::Output
row_pooling_sequence
::tensorflow::Output
Общедоступные статические функции
Deterministic(bool x)
Attrs
Overlapping(bool x)
Attrs
PseudoRandom(bool x)
Attrs
Seed(int64 x)
Attrs
Seed2(int64 x)
Attrs
Структуры
tensorflow::ops::FractionalMaxPool::Attrs

Необязательные устанавливающие атрибуты для FractionalMaxPool.

Общедоступные атрибуты

col_pooling_sequence

::tensorflow::Output col_pooling_sequence

operation

Operation operation

output

::tensorflow::Output output

row_pooling_sequence

::tensorflow::Output row_pooling_sequence

Общедоступные функции

FractionalMaxPool

 FractionalMaxPool(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input value,
  const gtl::ArraySlice< float > & pooling_ratio
)

FractionalMaxPool

 FractionalMaxPool(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input value,
  const gtl::ArraySlice< float > & pooling_ratio,
  const FractionalMaxPool::Attrs & attrs
)

Общедоступные статические функции

Детерминированный

Attrs Deterministic(
  bool x
)

Перекрывающийся

Attrs Overlapping(
  bool x
)

Псевдослучайный

Attrs PseudoRandom(
  bool x
)

Seed

Attrs Seed(
  int64 x
)

Seed2

Attrs Seed2(
  int64 x
)

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/fractional-max-pool

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API