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

Функция nn.conv3d

Функция nn.conv3d применяет трехмерную свертку к входным данным. Первым параметром передается входной тензор формы [batch, depth, height, width, channels]. Вторым параметром передается фильтр формы [filter_depth, filter_height, filter_width, in_channels, out_channels]. Третьим параметром задается шаг свертки (strides). Четвертым параметром указывается тип дополнения (padding): 'SAME' или 'VALID'.

Синтаксис

tf.nn.conv3d(input, filters, strides, padding, [data_format], [dilations], [name])

Пример

Давайте создадим входной тензор формы [1, 2, 2, 2, 1] и фильтр формы [1, 1, 1, 1, 1], а затем выполним свертку с шагом [1, 1, 1, 1, 1] и дополнением 'VALID':

import tensorflow as tf t = tf.constant([[[[[1.0], [2.0]], [[3.0], [4.0]]], [[[5.0], [6.0]], [[7.0], [8.0]]]]]) filters = tf.constant([[[[[2.0]]]]]) res = tf.nn.conv3d(t, filters, strides=[1, 1, 1, 1, 1], padding='VALID') print(res)

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

tf.Tensor( [[[[[ 2.] [ 4.]] [[ 6.] [ 8.]]] [[[10.] [12.]] [[14.] [16.]]]]], shape=(1, 2, 2, 2, 1), dtype=float32)

Пример

Давайте выполним ту же свертку, но с дополнением 'SAME', чтобы сохранить пространственные размеры:

import tensorflow as tf t = tf.constant([[[[[1.0], [2.0]], [[3.0], [4.0]]], [[[5.0], [6.0]], [[7.0], [8.0]]]]]) filters = tf.constant([[[[[2.0]]]]]) res = tf.nn.conv3d(t, filters, strides=[1, 1, 1, 1, 1], padding='SAME') print(res)

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

tf.Tensor( [[[[[ 2.] [ 4.]] [[ 6.] [ 8.]]] [[[10.] [12.]] [[14.] [16.]]]]], shape=(1, 2, 2, 2, 1), dtype=float32)

Пример

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

import tensorflow as tf t = tf.constant([[[[[1.0, 2.0], [3.0, 4.0]], [[5.0, 6.0], [7.0, 8.0]]]]]) filters = tf.constant([[[[[1.0], [1.0]], [[1.0], [1.0]]]]]) res = tf.nn.conv3d(t, filters, strides=[1, 1, 1, 1, 1], padding='VALID') print(res)

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

tf.Tensor([[[[[ 3.] [ 7.]] [[11.] [15.]]]]], shape=(1, 2, 1, 2, 1), dtype=float32)

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

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