Tensorflow Keras在autoencoder中分别使用encoder和decoder
Tensorflow Keras use encoder and decoder separately in autoencoder
我在 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'
是的,您应该将编码层和解码层包装在您单独调用的单独 Model
实例中。关于自动编码器的 Keras blogporst 应该包含您需要知道的一切:https://blog.keras.io/building-autoencoders-in-keras.html
我在 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'
是的,您应该将编码层和解码层包装在您单独调用的单独 Model
实例中。关于自动编码器的 Keras blogporst 应该包含您需要知道的一切:https://blog.keras.io/building-autoencoders-in-keras.html