Функция nn.conv1d
Функция nn.conv1d применяет одномерную свертку к входным данным.
Первым параметром передается входной тензор формы
[batch, width, in_channels]. Вторым параметром
передается тензор фильтров формы
[filter_width, in_channels, out_channels].
Третьим параметром указывается шаг свертки stride,
четвертым - тип дополнения padding (например, 'VALID'
или 'SAME'), пятым - формат данных data_format.
Функция возвращает тензор, содержащий результат свертки по ширине входных данных для каждого выходного канала.
Синтаксис
tf.nn.conv1d(input, filters, stride, padding, [data_format], [dilations], [name])
Пример
Давайте создадим входной тензор с одним каналом и применим
к нему один фильтр шириной 3:
import tensorflow as tf
t = tf.constant([[[1.0], [2.0], [3.0], [4.0], [5.0]]])
f = tf.constant([[[1.0]], [[2.0]], [[3.0]]])
res = tf.nn.conv1d(t, f, stride=1, padding='VALID')
print(res)
Результат выполнения кода:
tf.Tensor(
[[[14.]
[20.]
[26.]]], shape=(1, 3, 1), dtype=float32)
Пример
Давайте применим свертку с шагом 2 и дополнением
'SAME':
Результат выполнения кода:
Пример
Давайте создадим входной тензор с двумя каналами и применим два выходных фильтра:
Результат выполнения кода:
Пример
Давайте применим свертку с расширением dilations=2:
Результат выполнения кода:
Смотрите также
-
функцию
conv2d,
которая выполняет двумерную свертку -
функцию
conv3d,
которая выполняет трехмерную свертку -
функцию
conv1d_transpose,
которая выполняет транспонированную одномерную свертку -
функцию
depthwise_conv2d,
которая выполняет глубинную двумерную свертку