从Keras模型的中间预测

2024-05-16 23:06:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图开发一个自动编码器压缩图像使用Keras。我能够训练它并压缩图像,但我正在努力与解码器的一部分。具体来说,给定一个压缩图像,我不知道如何使用该模型对其进行反压缩

这就是我所拥有的:

    input_layer = keras.layers.Input(shape=(64, 64, 3))
    code_layer = build_encoder(input_layer, size_of_code)  # add some convolution layers and max-pooling
    output_layer = build_decoder(code_layer)  # add some convolution layers and up-sampling

    autoencoder_model = keras.models.Model(input_layer, output_layer)
    encoder_model = keras.models.Model(input_layer, code_layer)
    decoder_model = ??
    autoencoder_model.compile(optimizer='adam', loss='binary_crossentropy')

使用上面的代码,我可以训练autoencoder_model并使用encoder_model压缩图像,但我不知道如何构造decoder_model,主要是因为我不知道如何在模型中间插入新的输入


Tags: 模型图像buildaddlayerencoderinputmodel
1条回答
网友
1楼 · 发布于 2024-05-16 23:06:28

像这样。而不是代码层,需要定义一个输入层并用该输入构建解码器模型

latent_inputs = keras.layers.Input(shape=(size_of_code))
output_layer = build_decoder(latent_inputs)  # add some convolution layers and up-sampling
decoder_model = keras.models.Model(latent_inputs, output_layer)

您可以参考这个完整的VAE示例:

https://github.com/keras-team/keras/blob/master/examples/variational_autoencoder.py

相关问题 更多 >