我在tensorflow中弄乱了Keras api,试图实现自动编码器。顺序模型可以工作,但是我希望能够分别使用编码器(前两层)和解码器(后两层),但要使用已经受过训练的模型的权重。有没有办法做到这一点?我必须制作一个自定义模型吗?
model = keras.Sequential()
model.add(encoder_1)
model.add(leaky_relu)
model.add(encoder_2)
model.add(leaky_relu2)
model.add(decoder_1)
model.add(leaky_relu3)
model.add(decoder_2)
encoder_model = keras.Sequential()
encoder_model.add(encoder_1)
encoder_model.add(leaky_relu)
encoder_model.add(encoder_2)
encoder_model.add(leaky_relu2)
decoder_model = keras.Sequential()
decoder_model.add(decoder_1)
model.add(leaky_relu3)
decoder_model.add(decoder_2)
我这样定义我的模型,但尝试在编码器或解码器输出上运行预测
'Sequential' object has no attribute '_feed_input_names'
答案 0 :(得分:1)
是的,您应该将编码和解码层包装在分别调用的单独Model
实例中。有关自动编码器的Keras blogporst应该包含您需要了解的所有内容:predefined pattern rules