【发布时间】:2017-11-06 08:54:21
【问题描述】:
我正在尝试按照此link 构建深度自动编码器,但出现此错误:
ValueError: Input 0 is in compatible with layer dense_6: expected axis 输入形状的 -1 值为 128,但得到了形状 (None, 32)
代码:
input_img = Input(shape=(784,))
encoded = Dense(128, activation='relu')(input_img)
encoded = Dense(64, activation='relu')(encoded)
encoded = Dense(32, activation='relu')(encoded)
decoded = Dense(64, activation='relu')(encoded)
decoded = Dense(128, activation='relu')(decoded) #decode.shape = (?,128)
decoded = Dense(784, activation='relu')(decoded)
autoencoder = Model(input_img, decoded)
encoder = Model(input_img, encoded)
encoded_input = Input(shape=(encoding_dim,))
decoder_layer = autoencoder.layers[-1]
decoder = Model(encoded_input, decoder_layer(encoded_input)) #ERROR HERE
...
这是我得到的错误:
Traceback (most recent call last):
File "autoencoder_deep.py", line 37, in <module>
decoder = Model(encoded_input, decoder_layer(encoded_input))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/keras/engine/topology.py", line 569, in __call__
self.assert_input_compatibility(inputs)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/keras/engine/topology.py", line 479, in assert_input_compatibility
' but got shape ' + str(x_shape))
ValueError: Input 0 is incompatible with layer dense_6: expected axis -1 of input shape to have value 128 but got shape (None, 32)
非常感谢任何建议或评论。谢谢。
【问题讨论】:
-
你可以查看你的keras配置文件中定义的input_shape。详情可以看这篇帖子stackoverflow.com/questions/40135370/…
标签: neural-network keras keras-layer