Выполняет дробное максимальное объединение входных данных.
Дробный максимальный пул немного отличается от обычного максимального пула. При обычном максимальном объединении вы уменьшаете размер входного набора, беря максимальное значение меньших N x N подразделов набора (часто 2x2) и пытаетесь уменьшить набор в N раз, где N — целое число. Дробное максимальное объединение, как и следовало ожидать от слова «дробный», означает, что общий коэффициент сокращения N не обязательно должен быть целым числом.
Размеры областей объединения генерируются случайным образом, но достаточно однородны. Например, давайте посмотрим на измерение высоты и ограничения на список строк, которые будут границами пула.
Сначала мы определяем следующее:
1. input_row_length: количество строк из входного набора 2. выходная_длина_строки: которая будет меньше входной 3. альфа = длина_входной_строки / длина_выходной_строки: наш коэффициент сокращения 4. K = пол(альфа) 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, Fractional Max-Pooling] (http://arxiv.org/abs/1412.6071).
Вложенные классы
сорт | FractionalMaxPool.Параметры | Дополнительные атрибуты для FractionalMaxPool |
Константы
Нить | OP_NAME | Название этой операции, известное основному движку TensorFlow. |
Публичные методы
Вывод < TInt64 > | colPoolingSequence () последовательность объединения столбцов, необходимая для расчета градиента. |
static <T расширяет TNumber > FractionalMaxPool <T> | create (область области действия , значение операнда <T>, List<Float>poolingRatio, параметры... ) Фабричный метод для создания класса, обертывающего новую операцию FractionalMaxPool. |
статический FractionalMaxPool.Options | детерминированный (булевый детерминированный) |
Выход <Т> | выход () выходной тензор после дробного максимального пула. |
статический FractionalMaxPool.Options | перекрытие (логическое перекрытие) |
статический FractionalMaxPool.Options | псевдослучайный (логический псевдослучайный) |
Вывод < TInt64 > | строкаPoolingSequence () последовательность объединения строк, необходимая для расчета градиента. |
статический FractionalMaxPool.Options | семя (длинное семя) |
статический FractionalMaxPool.Options | семя2 (длинное семя2) |
Унаследованные методы
Константы
общедоступная статическая финальная строка OP_NAME
Название этой операции, известное основному движку TensorFlow.
Публичные методы
публичный вывод <TInt64> colPoolingSequence ()
последовательность объединения столбцов, необходимая для расчета градиента.
public static FractionalMaxPool <T> create (область области действия , значение операнда <T>, List<Float>poolingRatio, параметры... параметры)
Фабричный метод для создания класса, обертывающего новую операцию FractionalMaxPool.
Параметры
объем | текущий объем |
---|---|
ценить | 4-D с формой `[партия, высота, ширина, каналы]`. |
ОбъединениеСоотношение | Коэффициент объединения для каждого измерения `value`, в настоящее время поддерживает только измерения строк и столбцов и должен быть >= 1,0. Например, допустимый коэффициент пула выглядит так: [1,0, 1,44, 1,73, 1,0]. Первый и последний элементы должны иметь значение 1,0, поскольку мы не разрешаем объединение измерений пакетов и каналов. 1,44 и 1,73 — коэффициент объединения по высоте и ширине соответственно. |
параметры | содержит значения необязательных атрибутов |
Возврат
- новый экземпляр FractionalMaxPool
общедоступный статический FractionalMaxPool.Options детерминированный (логический детерминированный)
Параметры
детерминированный | Если установлено значение True, при переборе узла FractionalMaxPool в графе вычислений будет использоваться фиксированная область пула. В основном используется в модульном тестировании, чтобы сделать FractionalMaxPool детерминированным. |
---|
public static FractionalMaxPool.Options перекрытие (логическое перекрытие)
Параметры
перекрытие | Если установлено значение True, это означает, что при объединении значения на границах соседних ячеек объединения используются обеими ячейками. Например: `индекс 0 1 2 3 4` `значение 20 5 16 3 7` Если последовательность объединения равна [0, 2, 4], то 16 с индексом 2 будет использоваться дважды. Результатом будет [20, 16] для дробного максимального пула. |
---|
общедоступный статический FractionalMaxPool.Options псевдослучайный (логический псевдослучайный)
Параметры
псевдослучайный | Если установлено значение True, последовательность объединения генерируется псевдослучайным образом, в противном случае — случайным образом. Проверьте статью [Бенджамин Грэм, Дробный макс-пулинг] (http://arxiv.org/abs/1412.6071) на предмет разницы между псевдослучайным и случайным. |
---|
публичный вывод <TInt64> rowPoolingSequence ()
последовательность объединения строк, необходимая для расчета градиента.
общедоступное статическое семя FractionalMaxPool.Options (длинное семя)
Параметры
семя | Если для начального числа или начального числа2 задано ненулевое значение, генератор случайных чисел заполняется данным начальным числом. В противном случае он засеивается случайным семенем. |
---|
общедоступный статический FractionalMaxPool.Options семя2 (длинное семя2)
Параметры
семя2 | Второе семя, чтобы избежать столкновения семян. |
---|