Я пытаюсь использовать Keras для создания полностью сверточной сети для обработки изображений.Моя начальная сетка (10x25), и я пропускаю ее через пару сверточных слоев, а затем пытаюсь использовать Conv2d Transpose, чтобы попытаться изменить размер изображения до исходных размеров, однако у моего деконволюционного слоя нет выходных данных, или он получен как нет.Вы можете посмотреть на код, чтобы увидеть, что делается.
inputs = Input(shape = (input_shape))
conv1 = Conv2D(32, kernel_size=(2, 2), activation='relu', padding ='same')(inputs)
conv1 = Conv2D(32, (2, 2), strides = 1, activation='relu', padding ='same')(conv1)
pool1 = MaxPooling2D(pool_size=(2,2), padding = 'same')(conv1)
conv2 = Conv2D(64, (2, 2), strides = 1, activation='relu', padding ='same')(pool1)
conv2 = Conv2D(64, (2, 2), strides = 1, activation='relu', padding ='same')(conv2)
pool2 = MaxPooling2D(pool_size=(2,2), padding = 'same')(conv2)
conv3 = Conv2D(128, (2, 2), strides = 1, activation='relu', padding ='same')(pool2)
conv3 = Conv2D(128, (2, 2), strides = 1, activation='relu', padding ='same') (conv3)
pool3 = MaxPooling2D(pool_size=(2,2), padding = 'same')(conv3)
deconv1 = Conv2DTranspose(64, kernel_size = (pool3.get_shape().as_list()[1:3]), strides = (2,2), data_format='channels_last')(conv3)
conv4 = Conv2D(64, (2, 2), strides = 1, activation='relu', padding ='same')(deconv1)
deconv2 = Conv2DTranspose(32, kernel_size = (conv1.get_shape().as_list()[1:3]), strides = (2,2), data_format='channels_last')(conv4)
conv5 = Conv2D(32, (2, 2),strides = 1, activation='relu', padding ='same')(deconv2)
deconv3 = Conv2DTranspose(1, kernel_size = (input_shape[0:2]), data_format='channels_last')(conv5)
conv6 = Conv2D(1, (1, 1), strides = 1, activation=act_identity)(deconv3)