Класс GlobalMaxPooling1D
Класс GlobalMaxPooling1D применяется к временным (последовательным) данным
и выполняет операцию глобального максимального пулинга. Слой принимает на вход
трехмерный тензор формы (batch_size, steps, features) и для каждого
признака (канала) находит максимальное значение вдоль временной оси.
В результате возвращается двумерный тензор формы (batch_size, features).
Слой не имеет настраиваемых параметров и часто используется для перехода
от последовательного представления к векторному перед полносвязными слоями.
Класс не принимает обязательных параметров. При необходимости можно
указать аргумент data_format, который определяет порядок осей
во входном тензоре: 'channels_last' (по умолчанию) или
'channels_first'. Также доступны стандартные аргументы слоя,
такие как name и dtype.
Синтаксис
tf.keras.layers.GlobalMaxPooling1D(
data_format=None,
**kwargs
)
Пример
Давайте создадим слой GlobalMaxPooling1D и применим его
к тензору с временными данными:
import tensorflow as tf
t = tf.constant([[[1, 2], [3, 4], [5, 6]]], dtype=tf.float32)
layer = tf.keras.layers.GlobalMaxPooling1D()
res = layer(t)
print(res)
Результат выполнения кода:
tf.Tensor([[5. 6.]], shape=(1, 2), dtype=float32)
Пример
Давайте создадим слой GlobalMaxPooling1D и применим его
к тензору с несколькими примерами в батче:
import tensorflow as tf
t = tf.constant([
[[1, 2, 3], [4, 5, 6], [7, 8, 9]],
[[9, 8, 7], [6, 5, 4], [3, 2, 1]]
], dtype=tf.float32)
layer = tf.keras.layers.GlobalMaxPooling1D()
res = layer(t)
print(res)
Результат выполнения кода:
tf.Tensor(
[[7. 8. 9.]
[9. 8. 7.]], shape=(2, 3), dtype=float32)
Пример
Давайте встроим слой GlobalMaxPooling1D в последовательную
модель Keras:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Input(shape=(5, 3)),
tf.keras.layers.GlobalMaxPooling1D(),
tf.keras.layers.Dense(2)
])
t = tf.constant([[[1, 2, 3], [4, 5, 6], [7, 8, 9],
[10, 11, 12], [13, 14, 15]]], dtype=tf.float32)
res = model(t)
print(res)
Результат выполнения кода:
tf.Tensor([[...]], shape=(1, 2), dtype=float32)
Смотрите также
-
класс
MaxPooling1D,
который выполняет локальный максимальный пулинг над временными данными -
класс
GlobalAveragePooling1D,
который выполняет глобальный средний пулинг над временными данными -
класс
GlobalMaxPooling2D,
который выполняет глобальный максимальный пулинг над изображениями -
класс
Flatten,
который преобразует многомерный тензор в одномерный