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

Функция nn.dilation2d

Функция dilation2d из модуля tf.nn применяет операцию морфологической дилатации к входному тензору. Первым параметром передается входной тензор формы [batch, height, width, channels], вторым - тензор ядра (структурирующего элемента) формы [filter_height, filter_width, channels]. Третьим параметром передаются шаги скольжения окна strides, четвертым - тип дополнения padding (значения 'VALID' или 'SAME'). Дилатация вычисляет максимум суммы элементов входа и ядра в пределах окна.

Синтаксис

tf.nn.dilation2d(input, filter, strides, padding, data_format='NHWC', dilations=None, name=None)

Пример

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

import tensorflow as tf t = tf.constant([[[[1], [2], [3]], [[4], [5], [6]], [[7], [8], [9]]]], dtype=tf.float32) filter = tf.constant([[[0], [1], [0]], [[1], [1], [1]], [[0], [1], [0]]], dtype=tf.float32) res = tf.nn.dilation2d(t, filter, strides=[1, 1, 1, 1], padding='VALID') print(res)

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

tf.Tensor([[[[8.] [9.]]]], shape=(1, 1, 2, 1), dtype=float32)

Пример

Давайте применим дилатацию с дополнением 'SAME' и шагами [1, 2, 2, 1]:

import tensorflow as tf t = tf.constant([[[[1], [2], [3]], [[4], [5], [6]], [[7], [8], [9]]]], dtype=tf.float32) filter = tf.constant([[[0], [1], [0]], [[1], [1], [1]], [[0], [1], [0]]], dtype=tf.float32) res = tf.nn.dilation2d(t, filter, strides=[1, 2, 2, 1], padding='SAME') print(res)

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

tf.Tensor([[[[5.] [9.]]]], shape=(1, 1, 2, 1), dtype=float32)

Пример

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

import tensorflow as tf t = tf.constant([[[[1, 2], [3, 4], [5, 6]], [[7, 8], [9, 10], [11, 12]], [[13, 14], [15, 16], [17, 18]]]], dtype=tf.float32) filter = tf.constant([[[0, 0], [1, 1], [0, 0]], [[1, 1], [1, 1], [1, 1]], [[0, 0], [1, 1], [0, 0]]], dtype=tf.float32) res = tf.nn.dilation2d(t, filter, strides=[1, 1, 1, 1], padding='VALID') print(res)

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

tf.Tensor([[[[14. 16.] [16. 18.]]]], shape=(1, 1, 2, 2), dtype=float32)

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

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