如何在 Keras 中设置合适的模型输入形状

how to set appropriate input shape of model in Keras

我是 Keras 的新手。我正在 Keras 周围玩耍以获得一些直觉并坚持在这里。

input_image = tf.keras.Input(shape=(16,16,3))
x = tf.keras.layers.Conv2D(32,(3,3), padding = 'same')(input_image)
model = tf.keras.Model(input_image , x)

model.compile(optimizer='Adam',loss = 'MSE')

inputs = np.random.normal(size = (16,16,3))
outputs = np.random.normal(size = (16,16,32))
model.fit(x = inputs , y =outputs)

我只是想看看 model.summary 说的输出形状 (None, 16, 16, 32)。但现在我有两个问题。一个是输出形状,另一个是我的代码不起作用的原因。我希望有人告诉我我错过了什么。谢谢~

inputs = np.random.normal(size = (1,16,16,3)) #<---- here
outputs = np.random.normal(size = (1,16,16,32)) #<---here

它们的形状应该是 4D 而不是 3D。您还需要提供批次的详细信息。

(batch_size, w,h,c) <---- 4D

你不见了batch_size

32,(3,3) 来自 tf.keras.layers.Conv2D(32,(3,3), padding = 'same')(input_image)

您有 32 个过滤器。所以通道深度将为 32。但是由于您使用了 padding='same' 所以您的输出将具有与输入相同的维度。只是深度不同。