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

Функция 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':

<+python+> 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=2, padding='SAME') print(res) <-python+>

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

<+python+> tf.Tensor( [[[14.] [26.] [17.]]], shape=(1, 3, 1), dtype=float32) <-python+>

Пример

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

<+python+> import tensorflow as tf t = tf.constant([[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0], [7.0, 8.0]]]) f = tf.constant([ [[1.0, 0.5], [0.0, 1.0]], [[2.0, 1.0], [1.0, 0.0]] ]) res = tf.nn.conv1d(t, f, stride=1, padding='VALID') print(res) <-python+>

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

<+python+> tf.Tensor( [[[ 8. 6.5] [16. 12.5] [24. 18.5]]], shape=(1, 3, 2), dtype=float32) <-python+>

Пример

Давайте применим свертку с расширением dilations=2:

<+python+> import tensorflow as tf t = tf.constant([[[1.0], [2.0], [3.0], [4.0], [5.0], [6.0], [7.0]]]) f = tf.constant([[[1.0]], [[2.0]], [[3.0]]]) res = tf.nn.conv1d(t, f, stride=1, padding='VALID', dilations=2) print(res) <-python+>

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

<+python+> tf.Tensor( [[[14.] [20.] [26.]]], shape=(1, 3, 1), dtype=float32) <-python+>

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

  • функцию conv2d,
    которая выполняет двумерную свертку
  • функцию conv3d,
    которая выполняет трехмерную свертку
  • функцию conv1d_transpose,
    которая выполняет транспонированную одномерную свертку
  • функцию depthwise_conv2d,
    которая выполняет глубинную двумерную свертку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить