我正在尝试建立一个类似于这样的 CNN:
为此,我选择使用 Keras,因为我之前使用过它(仅限简单的 RNN 和 FFNN)。我的训练数据包括输入数据(25 x 25px 图像)和输出,也是 25 x 25px 图像。问题是,我不知道如何使用 Keras 构建模型。如何将输出指定为与输入相同的形状?
这是我到目前为止所拥有的:
batch_size = 5
input_shape = (batch_size, 28, 28, 32)
model = Sequential()
model.add(Conv2D(32, kernel_size=(5, 5), strides=(1, 1),
activation='relu',
input_shape=input_shape))
model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2)))
model.add(Conv2D(64, (5, 5), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(1000, activation='relu'))
model.add(Conv2D(64, (5, 5), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2)))
model.add(Conv2D(32, kernel_size=(5, 5), strides=(1, 1),
activation='relu',
input_shape=input_shape))
model.compile(loss=keras.losses.categorical_crossentropy,
optimizer=keras.optimizers.SGD(lr=0.01),
metrics=['accuracy'])
我知道,代码不会那样工作。我只是想澄清我正在尝试做的事情。上面的代码摘自:Keras 教程——用 11 行代码构建卷积神经网络
到目前为止,我只是试图从这一点反转代码,本教程将输出给定图像的预测标签,以将结果转换回想要的输出图像。
