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

Слой GlobalAveragePooling1D

Слой GlobalAveragePooling1D применяется к последовательностям и вычисляет среднее значение по временной оси для каждого канала. На вход слой принимает трехмерный тензор формы (batch_size, steps, features), а на выходе возвращает двумерный тензор формы (batch_size, features). Слой не имеет обучаемых параметров.

Параметр data_format задает порядок осей во входном тензоре. По умолчанию используется значение channels_last, что соответствует форме (batch, steps, features).

Синтаксис

tf.keras.layers.GlobalAveragePooling1D(data_format='channels_last')

Пример

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

import tensorflow as tf layer = tf.keras.layers.GlobalAveragePooling1D() t = tf.constant([[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]]) res = layer(t) print(res)

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

tf.Tensor([[3. 4.]], shape=(1, 2), dtype=float32)

Значения вычислены как среднее по шагам: (1+3+5)/3 = 3 и (2+4+6)/3 = 4.

Пример

Давайте применим слой к тензору с несколькими объектами в батче:

<+python+> import tensorflow as tf layer = tf.keras.layers.GlobalAveragePooling1D() t = tf.constant([ [[1.0, 2.0], [3.0, 4.0]], [[5.0, 6.0], [7.0, 8.0]] ]) res = layer(t) print(res) <-python+>

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

tf.Tensor( [[2. 3.] [6. 7.]], shape=(2, 2), dtype=float32)

Пример

Давайте используем слой внутри модели Keras для классификации последовательностей:

import tensorflow as tf tf.random.set_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Input(shape=(5, 3)), tf.keras.layers.GlobalAveragePooling1D(), tf.keras.layers.Dense(1, activation='sigmoid') ]) model.summary()

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

"Model: \"sequential\" _________________________________________________ Layer (type) Output Shape Param # ================================================= input_layer (InputLayer) [(None, 5, 3)] 0 global_average_pooling1d (None, 3) 0 dense (Dense) (None, 1) 4 ================================================= Total params: 4 (16.00 B) Trainable params: 4 (16.00 B) Non-trainable params: 0 (0.00 B)"

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

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