Класс Conv1D
Класс Conv1D создает одномерный сверточный слой.
Такой слой применяется к последовательностям и временным рядам,
извлекая локальные признаки с помощью скользящего окна.
Первым параметром передается число фильтров filters,
вторым - размер ядра свертки kernel_size.
Также можно указать шаг свертки strides,
тип паддинга padding и функцию активации activation.
Синтаксис
tf.keras.layers.Conv1D(
filters,
kernel_size,
strides=1,
padding="valid",
activation=None
)
Пример
Давайте создадим одномерный сверточный слой
с двумя фильтрами и ядром размера 3
и применим его к тензору:
import tensorflow as tf
layer = tf.keras.layers.Conv1D(filters=2, kernel_size=3)
t = tf.constant([[[1.0], [2.0], [3.0], [4.0], [5.0]]])
res = layer(t)
print(res.shape)
Результат выполнения кода:
(1, 3, 2)
Пример
Давайте создадим слой с шагом свертки 2
и паддингом same:
import tensorflow as tf
layer = tf.keras.layers.Conv1D(
filters=1,
kernel_size=3,
strides=2,
padding="same"
)
t = tf.constant([[[1.0], [2.0], [3.0], [4.0], [5.0]]])
res = layer(t)
print(res.shape)
Результат выполнения кода:
(1, 3, 1)
Пример
Давайте создадим слой с функцией активации relu
и выведем значения тензора:
import tensorflow as tf
layer = tf.keras.layers.Conv1D(
filters=1,
kernel_size=2,
activation="relu"
)
t = tf.constant([[[1.0], [2.0], [3.0], [4.0]]])
res = layer(t)
print(res)
Результат выполнения кода:
tf.Tensor(
[[[0. ]
[0.85899997]
[2.0400002 ]]], shape=(1, 3, 1), dtype=float32)
Смотрите также
-
класс
Conv2D,
который создает двумерный сверточный слой -
класс
Conv3D,
который создает трехмерный сверточный слой -
класс
MaxPooling1D,
который выполняет одномерную максимальную пулинг-операцию -
класс
Flatten,
который преобразует многомерный тензор в одномерный