tf.compat.v1.nn.fractional_max_pool
Выполняет дробное максимальное объединение входных данных. (устаревшее)
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.
Дробное максимальное объединение немного отличается от обычного максимального объединения. При обычном максимальном объединении вы уменьшаете набор входных данных, выбирая максимальное значение из меньших поднаборов N x N (часто 2x2) и пытаетесь уменьшить набор в N раз, где N — целое число. Дробное максимальное объединение, как можно предположить из слова «дробное», означает, что общий коэффициент уменьшения 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
| Args | |
|---|---|
value | A 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 будет использоваться дважды. Результатом дробного максимального объединения будет [20, 16]. |
deterministic | Необязательный bool. Устарело; используйте fractional_max_pool_v2 вместо этого. |
seed | Необязательное int. По умолчанию 0. Если установлено отличное от нуля значение, генератор случайных чисел инициализируется заданным значением. В противном случае он инициализируется случайным значением. |
seed2 | Необязательный int. Устарело; используйте fractional_max_pool_v2 вместо этого. |
name | Имя операции (необязательно). |
| Returns |
|---|
Кортеж из Tensor объектов (output, row_pooling_sequence, col_pooling_sequence). output: Выходные Tensor после дробного максимального объединения. Имеет тот же тип, что и value. row_pooling_sequence: A Tensor типа int64. col_pooling_sequence: A Tensor типа int64.
| Raises | |
|---|---|
ValueError | Если детерминизм операции включен, и либо значения семян не установлены, либо аргумент "deterministic" равен False. |
Ссылки:
Дробное максимальное объединение: 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/versions/r2.9/api_docs/python/tf/compat/v1/nn/fractional_max_pool