Tensorflow: свертка каждого изображения с другим ядром

Как в TensorFlow свернуть каждое изображение в мини-пакет с другим 2D-ядром? Каждый мини-пакет изображений имеет размер [10000, 32, 32], а соответствующий фильтр имеет размер [10000, 2, 2]---10000 ядер, каждое 2 пикселя x 2 пикселя. Я хочу получить результат размером [10000, 31, 31]. (Я планирую установить все длины шагов равными 1 и использовать опцию «VALID», чтобы отключить отступы, чтобы выходные изображения имели размер 31x31, а входные изображения имели размер 32x32.)

В связанный вопрос , решение состояло в том, чтобы добавить измерение «глубины» к мини-пакету изображений, а затем использовать conv3d, а не conv2d. Но в этой задаче оператор, похоже, удовлетворился получением только одного изображения в качестве вывода, а не одного изображения в качестве вывода для каждого образца в мини-пакете.


person Jeff    schedule 08.07.2017    source источник


Ответы (1)


Ах, функция tf.nn.depthwise_conv2d делает именно то, что я хотел. Я не думаю, что можно было использовать conv2d или conv3d для этой задачи.

person Jeff    schedule 10.07.2017