РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
743 of 824 menu

Функция nn.avg_pool2d

Функция avg_pool2d применяется к четырехмерному тензору и выполняет операцию усредняющего пулинга над пространственными размерами. Первым параметром передается входной тензор формы [batch, height, width, channels]. Вторым параметром задается размер окна пулинга ksize. Третьим параметром передается шаг смещения окна strides. Четвертым - строка padding, определяющая тип дополнения ('VALID' или 'SAME').

Синтаксис

tf.nn.avg_pool2d(input, ksize, strides, padding, [data_format])

Пример

Давайте применим усредняющий пулинг к тензору с окном 2 на 2 и шагом 2:

import tensorflow as tf t = tf.constant([[[[1], [2], [3], [4]], [[5], [6], [7], [8]], [[9], [10], [11], [12]], [[13], [14], [15], [16]]]], dtype=tf.float32) res = tf.nn.avg_pool2d(t, ksize=2, strides=2, padding='VALID') print(res)

Результат выполнения кода:

tf.Tensor( [[[[ 3.5] [ 5.5]] [[11.5] [13.5]]]], shape=(1, 2, 2, 1), dtype=float32)

Пример

Давайте сравним режимы дополнения 'VALID' и 'SAME' на тензоре с нечетными размерами:

import tensorflow as tf t = tf.constant([[[[1], [2], [3]], [[4], [5], [6]], [[7], [8], [9]]]], dtype=tf.float32) res_valid = tf.nn.avg_pool2d(t, ksize=2, strides=1, padding='VALID') res_same = tf.nn.avg_pool2d(t, ksize=2, strides=1, padding='SAME') print(res_valid) print(res_same)

Результат выполнения кода:

tf.Tensor( [[[[3.] [4.]] [[6.] [7.]]]], shape=(1, 2, 2, 1), dtype=float32) tf.Tensor( [[[[3.] [4.] [4.5]] [[6.] [7.] [7.5]] [[7.5] [8.5] [9.]]]], shape=(1, 3, 3, 1), dtype=float32)

Пример

Давайте применим усредняющий пулинг к тензору с тремя каналами:

import tensorflow as tf t = tf.constant([[[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]], dtype=tf.float32) res = tf.nn.avg_pool2d(t, ksize=2, strides=1, padding='VALID') print(res)

Результат выполнения кода:

tf.Tensor( [[[[5.5 6.5 7.5]]]], shape=(1, 1, 1, 3), dtype=float32)

Смотрите также

  • функцию avg_pool,
    которая выполняет усредняющий пулинг для произвольной размерности
  • функцию max_pool2d,
    которая выполняет максимальный пулинг над изображениями
  • функцию conv2d,
    которая выполняет двумерную свертку над изображениями
  • функцию dropout,
    которая применяет dropout к элементам тензора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить