Spec-Zone.ru › TensorFlow 1.15

tf.compat.v2.nn.fractional_max_pool

Выполняет дробное максимальное объединение входных данных.

tf.compat.v2.nn.fractional_max_pool(
    value, pooling_ratio, pseudo_random=False, overlapping=False, seed=0, name=None
)

Дробное максимальное объединение немного отличается от обычного максимального объединения. При обычном максимальном объединении вы уменьшаете набор входных данных, выбирая максимальное значение из меньших поднаборов размером 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, Дробное максимальное объединение

Аргументы
value A Tensor. 4-мерный с формой [batch, height, width, channels].
pooling_ratio Целое число или список ints, длина которого равна 1, 2 или 4. Коэффициент объединения для каждой размерности value, в настоящее время поддерживаются только размерности строки и столбца и должен быть ≥ 1,0. Например, допустимый коэффициент объединения выглядит так: [1.0, 1.44, 1.73, 1.0]. Первые и последние элементы должны быть 1.0, потому что мы не разрешаем объединение по размерностям пакет и каналы. 1.44 и 1.73 — это коэффициент объединения по размерностям высоты и ширины соответственно.
pseudo_random Необязательное bool. По умолчанию False. Если установлено в True, генерирует последовательность объединения псевдослучайным образом, в противном случае — случайным образом. Обратитесь к статье Benjamin Graham, Дробное максимальное объединение для различий между псевдослучайным и случайным.
overlapping Необязательное bool. По умолчанию False. Если установлено в True, это означает, что при объединении значения на границе смежных ячеек объединения используются обеими ячейками. Например: index 0 1 2 3 4 value 20 5 16 3 7 Если последовательность объединения равна [0, 2, 4], то 16 по индексу 2 будет использоваться дважды. Результатом будет [20, 16] для дробного максимального объединения.
seed Необязательное int. По умолчанию 0. Если установлено отличным от нуля, генератор случайных чисел инициализируется заданным значением. В противном случае он инициализируется случайным значением.
name Имя операции (необязательно).
Возвращаемое значение

Кортеж из Tensor объектов (output, row_pooling_sequence, col_pooling_sequence). output: Выходные данные Tensor после дробного максимального объединения. Имеет тот же тип, что и value. row_pooling_sequence: Последовательность Tensor типа int64. col_pooling_sequence: Последовательность Tensor типа int64.

© 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/r1.15/api_docs/python/tf/compat/v2/nn/fractional_max_pool

Spec-Zone.ru

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