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

Свёртка картинки в TensorFlow

Свёртка на картинке строит новые карты признаков: фильтр скользит по высоте и ширине и считает сумму произведений в каждом окне. В Keras для плоских картинок её задают классом Conv2D. При создании указывают число фильтров и размер окна.

Вход класса Conv2D - партия в порядке NHWC. Возьмём одну серую карту 2×2, два фильтра и окно 2×2 без смещения. Выведем ответ и его форму:

import tensorflow as tf tf.keras.utils.set_random_seed(0) images = tf.constant([[[[1.0], [2.0]], [[3.0], [4.0]]]]) layer = tf.keras.layers.Conv2D(2, 2, use_bias=False) out = layer(images) print(out) print(out.shape) # выведет (1, 1, 1, 2)

Высота и ширина на выходе могут стать меньше, чем на входе: окно должно целиком помещаться на карте. Число каналов совпадает с числом фильтров. Сравним форму до и после:

import tensorflow as tf images = tf.constant([[[[1.0], [2.0]], [[3.0], [4.0]]]]) layer = tf.keras.layers.Conv2D(3, 2) out = layer(images) print(images.shape) print(out.shape)

Если задать окно 1×1, размер по высоте и ширине не меняется, меняются только каналы:

import tensorflow as tf images = tf.constant([[[[1.0, 2.0], [3.0, 4.0]]]]) layer = tf.keras.layers.Conv2D(4, 1) out = layer(images) print(out.shape)

Соберите партию из одной карты 3×3 с одним каналом из единиц. Пропустите её через блок с двумя фильтрами и окном 2×2 и выведите форму ответа.

Задайте карту 2×2 с двумя каналами в партии из одного элемента. Получите из неё три карты признаков с окном 1×1 и выведите форму результата.

Создайте нулевую партию формы (1, 4, 4, 1). Примените к ней блок на пять фильтров с окном 3×3 и выведите форму выхода.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить