如何修复 keras 代码中的"Tensor object is not callable"错误?



我正在使用 Keras 制作多层自动编码器,但在制作解码器模型时遇到错误。

我在 Stackoverflow 中看到了一个匹配问题,但我的代码没有错误并且是完整的,所以没有遗漏任何东西

encoding_dim=16

i=Input(shape=(122,))


encoded=Dense(64,activation='relu')(i)
encoded1=Dense(32,activation='relu')(encoded)
encoded2=Dense(16,activation='relu')(encoded1)

decoded=Dense(32,activation='relu')(encoded2)
decoded2 =Dense(64,activation='relu')(decoded)
decoded3 =Dense(122,activation='relu')(decoded2)
autoencoder = Model(i, decoded3)

ec = Model(i,encoded)
encoded_input=Input(shape=(encoding_dim,))
decoder_layer=autoencoder.layers[-3](encoded_input)
decoder_layer=autoencoder.layers[-2](decoder_layer)
decoder_layer=autoencoder.layers[-1](decoder_layer)

**decoder=Model(encoded_input,decoder_layer(encoded_input))**

问题就在这里:

decoder = Model(encoded_input, decoder_layer(encoded_input))
decoder_layer                 # <-- is a LAYER
decoder_layer(encoded_input)  # <-- is a TENSOR

Model期望inputs=outputs=是两,而不是张量;输入的层向张量求值。修复:

decoder = Model(encoded_input, decoder_layer)

相关内容

  • 没有找到相关文章

最新更新