Как объединить вывод с несколькими каналами из транспонированного слоя свертки в один выход, например, в Keras? - PullRequest
0 голосов
/ 04 июня 2019

Представьте себе, что есть авто-кодер, архитектура которого выглядит следующим образом:

  1. сверточный слой без заполнения получает входное изображение интенсивности I размера WXH и генерирует 20 выходных сигналов (карт), используя 20 наборов весов / уклонов.Таким образом, каждый из этих 20 выходов будет иметь размер меньше WXH

  2. (опционально), а пул-слой без заполнения генерирует 20 2D-массивов меньшего размера, которые затем векторизируются

  3. полностью связанный слой генерирует другой вектор, который может иметь или не иметь тот же размер, что и вектор выше;

% # 1, # 2 и # 3 принадлежатк части энкодера

еще одно полностью подключенное зеркальное отображение слоев # 3, то есть размеры его входа и выхода соответствуют размерам вывода и ввода в # 3 соответственно.После этого соответствующие секции вывода будут объединены в 20 двумерных массивов

(опционально), отражающий слой # 2, отражающий аналогичным образом.Он снова выводит 20 двумерных массивов;

транспонированного слоя 2 сверточного сверточного слоя, применяя еще 20 наборов весов / смещений к 20 двумерным массивам (по одному для каждого).Наконец, он сгенерирует 20 выходных сигналов в формате WXH.

Поэтому мой вопрос заключается в том, как объединить эти 20 выходных сигналов в формате WXH для получения одного выходного сигнала в формате WXH в качестве интенсивностиизображение я?Или должен ли транспонированный слой свертки генерировать 20 выходов с меньшими размерами (более низкое разрешение)?

В Керасе я узнал, что существует слой tf.keras.layers.SeparableConv2D, который выполняет углубленную свертку, за которой следуетточечная свертка, которая может объединить выходы нескольких каналов вместе.Тем не менее, после выполнения tf.keras.layers.Conv2DTranspose в Keras нет единого слоя точечной свертки, поэтому я должен указать специальные параметры SeparableConv2D, чтобы сделать его фильтры пространственно 1X1, следовательно, создать де-факто точечную сверткуслой?

Спасибо большое!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...