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

Функция nn.conv1d_transpose

Функция nn.conv1d_transpose применяется к входным данным для выполнения операции, обратной одномерной свертке. Первым параметром передается входной тензор, вторым - количество выходных фильтров, третьим - размер ядра свертки. Четвертым параметром задается форма выходного тензора. Дополнительно можно указать шаг свертки, отступы и тип данных.

Синтаксис

tf.nn.conv1d_transpose( input, filters, output_shape, strides, padding, [dilations], [name] )

Пример

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

import tensorflow as tf # Input tensor: batch=1, width=5, channels=1 t = tf.constant([[[1.0], [2.0], [3.0], [4.0], [5.0]]]) # Filter: width=3, output_channels=1, input_channels=1 filters = tf.constant([[[1.0]], [[1.0]], [[1.0]]]) res = tf.nn.conv1d_transpose( t, filters, output_shape=[1, 7, 1], strides=1, padding='SAME' ) print(res)

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

tf.Tensor( [[[1.] [3.] [6.] [9.] [12.] [9.] [5.]]], shape=(1, 7, 1), dtype=float32)

Пример

Давайте выполним транспонированную свертку с шагом 2:

import tensorflow as tf # Input tensor: batch=1, width=3, channels=1 t = tf.constant([[[1.0], [2.0], [3.0]]]) # Filter: width=2, output_channels=1, input_channels=1 filters = tf.constant([[[1.0]], [[1.0]]]) res = tf.nn.conv1d_transpose( t, filters, output_shape=[1, 6, 1], strides=2, padding='SAME' ) print(res)

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

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

Пример

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

import tensorflow as tf # Input tensor: batch=1, width=4, channels=2 t = tf.constant([[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0], [7.0, 8.0]]]) # Filter: width=3, output_channels=2, input_channels=2 filters = tf.constant([ [[1.0, 0.0], [0.0, 1.0]], [[1.0, 1.0], [1.0, 1.0]], [[0.0, 1.0], [1.0, 0.0]] ]) res = tf.nn.conv1d_transpose( t, filters, output_shape=[1, 6, 2], strides=1, padding='SAME' ) print(res)

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

tf.Tensor( [[[ 3. 3.] [ 8. 8.] [14. 14.] [20. 20.] [18. 18.] [ 7. 7.]]], shape=(1, 6, 2), dtype=float32)

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

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