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

Класс AveragePooling2D

Класс AveragePooling2D применяет операцию усредняющего пулинга к двумерным данным, например, к изображениям или картам признаков сверточных слоев. Слой разбивает входные данные на окна заданного размера и вычисляет среднее значение элементов каждого окна. Первым параметром передается размер пула pool_size, вторым - шаг strides, также можно указать padding для режима дополнения и data_format для порядка осей.

Синтаксис

tf.keras.layers.AveragePooling2D( pool_size=(2, 2), strides=None, padding="valid", data_format=None )

Пример

Давайте применим усредняющий пулинг к тензору с окном 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) layer = tf.keras.layers.AveragePooling2D(pool_size=(2, 2)) res = layer(t) print(res)

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

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

Пример

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

import tensorflow as tf t = tf.constant([[[[1], [2], [3]], [[4], [5], [6]], [[7], [8], [9]]]], dtype=tf.float32) layer = tf.keras.layers.AveragePooling2D( pool_size=(2, 2), strides=(1, 1), padding="same" ) res = layer(t) print(res)

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

tf.Tensor( [[[[3. ] [3.5 ] [3. ]] [[5. ] [5.5 ] [4.5 ]] [[4.5 ] [4.75] [3.75]]]], shape=(1, 3, 3, 1), dtype=float32)

Пример

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

<+python+> import tensorflow as tf t = tf.constant([[[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], [[13, 14, 15], [16, 17, 18], [19, 20, 21], [22, 23, 24]], [[25, 26, 27], [28, 29, 30], [31, 32, 33], [34, 35, 36]], [[37, 38, 39], [40, 41, 42], [43, 44, 45], [46, 47, 48]]]], dtype=tf.float32) layer = tf.keras.layers.AveragePooling2D(pool_size=(2, 2)) res = layer(t) print(res) <-python+>

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

tf.Tensor( [[[[ 8.5 9.5 10.5] [13.5 14.5 15.5]] [[32.5 33.5 34.5] [37.5 38.5 39.5]]]], shape=(1, 2, 2, 3), dtype=float32)

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

  • класс MaxPooling2D,
    который выполняет максимальный пулинг для двумерных данных
  • класс GlobalAveragePooling2D,
    который выполняет глобальный усредняющий пулинг
  • класс AveragePooling1D,
    который выполняет усредняющий пулинг для одномерных данных
  • класс Conv2D,
    который выполняет свертку для двумерных данных
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить