Я пытаюсь построить сеть прогнозирования фиксации зрения с использованием CNN, я знаю, как обучить сеть CNN для получения полностью подключенного слоя в качестве выходного сигнала, но для сравнения моего прогнозируемого результата с ожидаемым результатом (размер вывода = (No_of_images, width Высота)), мне нужен такой же размер, и одно из решений состоит в том, чтобы деконволюции или повышения после свертки. Проблема, с которой я сталкиваюсь, заключается в том, что у меня есть изображение RGB, и я получаю вывод двумерного массива из CNN, как я могу использовать деконволюцию для этого массива, поскольку для deconvoltion2D из keras требуется 4d в качестве входных и выходных данных 4d ((No_of_images, width, Height , фильтры)) также, что отличается от того, что мне нужно. Может кто-нибудь помочь мне с кодом Python или ссылками на код для деконволюции?
input_shape = (180, 320, 3)
model = Sequential()
model.add(Conv2D(64, kernel_size=3, activation='relu', input_shape=input_shape, data_format='channels_last'))
model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2), data_format='channels_last'))
model.add(Deconvolution2D( 3, 2, border_mode='valid', input_shape=(89,159), data_format='channels_last'))
model.add(Deconvolution2D( 1, 1, subsample=(2, 2), border_mode='valid', data_format='channels_last'))
это то, что я имею в качестве предварительных условий:
входной массив изображений = (1200, 180, 320, 3)
массив выходных изображений = (1200, 180,320)