我是 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 个过滤器。所以 channel 深度将为 32。但由于您使用了 padding='same',因此您的输出将与输入具有相同的维度。只是深度不同。
关于python - 如何在 Keras 中设置适当的模型输入形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63185752/