tf.compat.v1.nn.fractional_max_pool
Выполняет дробный max-pooling входных данных. (устарела)
tf.compat.v1.nn.fractional_max_pool(
value,
pooling_ratio,
pseudo_random=False,
overlapping=False,
deterministic=False,
seed=0,
seed2=0,
name=None
)
Это устаревшая версия fractional_max_pool.
Дробный max-pooling немного отличается от обычного max-pooling. При обычном max-pooling входной набор уменьшается за счёт выбора максимального значения из меньших подмножеств размером N x N (часто 2x2), а набор пытаются уменьшить в N раз, где N — целое число. Дробный max-pooling, как можно догадаться по слову «дробный», означает, что общий коэффициент уменьшения N не обязательно должен быть целым числом.
Размеры областей пулинга генерируются случайным образом, но распределяются достаточно равномерно. Например, рассмотрим измерение высоты и ограничения на список строк, которые будут границами областей пулинга.
Сначала определим следующее:
- input_row_length : количество строк во входном наборе
- output_row_length : количество строк в выходном наборе, которое будет меньше входного
- alpha = input_row_length / output_row_length : коэффициент уменьшения
- K = floor(alpha)
- row_pooling_sequence : результирующий список строк, задающих границы областей пулинга
Затем row_pooling_sequence должен удовлетворять следующим условиям:
- a[0] = 0 : первое значение последовательности равно 0
- a[end] = input_row_length : последнее значение последовательности равно размеру набора
- K <= (a[i+1] - a[i]) <= K+1 : длина всех интервалов равна K или K+1
- length(row_pooling_sequence) = output_row_length+1
| Аргументы | |
|---|---|
value | Объект Tensor. 4-D с формой [batch, height, width, channels]. |
pooling_ratio | Список из floats длиной >= 4. Коэффициент пулинга для каждого измерения value; в настоящее время поддерживаются только измерения строк и столбцов, а значение должно быть >= 1.0. Например, допустимый коэффициент пулинга может выглядеть так: [1.0, 1.44, 1.73, 1.0]. Первый и последний элементы должны быть равны 1.0, поскольку пулинг для измерений пакета и каналов не поддерживается. Значения 1.44 и 1.73 — коэффициенты пулинга для измерений высоты и ширины соответственно. |
pseudo_random | Необязательный bool. По умолчанию — False. Если задано значение True, последовательность пулинга генерируется псевдослучайным образом, в противном случае — случайным образом. Различия между псевдослучайным и случайным поведением описаны в (Graham, 2015). |
overlapping | Необязательный bool. По умолчанию — False. Если задано значение True, при пулинге значения на границе соседних ячеек пулинга используются обеими ячейками. Например: index 0 1 2 3 4 value 20 5 16 3 7 Если последовательность пулинга — [0, 2, 4], значение 16 с индексом 2 будет использовано дважды. Результатом дробного max-pooling будет [20, 16]. |
deterministic | Необязательный bool. Устарел; вместо него используйте fractional_max_pool_v2. |
seed | Необязательный int. По умолчанию — 0. Если задано ненулевое значение, генератор случайных чисел инициализируется указанным начальным значением. В противном случае он инициализируется случайным начальным значением. |
seed2 | Необязательный int. Устарел; вместо него используйте fractional_max_pool_v2. |
name | Имя операции (необязательно). |
| Возвращает |
|---|
Кортеж объектов Tensor (output, row_pooling_sequence, col_pooling_sequence). output: Выходной Tensor после дробного max-pooling. Имеет тот же тип, что и value. row_pooling_sequence: Объект Tensor типа int64. col_pooling_sequence: Объект Tensor типа int64.
| Вызывает исключения | |
|---|---|
ValueError | Если детерминированность операции включена, а начальные значения не заданы или аргумент "deterministic" имеет значение False. |
| Ссылки | |
|---|---|
| Fractional Max-Pooling: Graham, 2015 (pdf) |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/compat/v1/nn/fractional_max_pool