为了账号安全,请及时绑定邮箱和手机立即绑定

从训练有素的自动编码器中提取编码器和解码器

从训练有素的自动编码器中提取编码器和解码器

慕婉清6462132 2021-06-11 17:12:23
我想在https://blog.keras.io/building-autoencoders-in-keras.html 之后将 autoencoder 学习和应用分为两部分,并使用 fashion-mnist 数据进行测试:加载图像,进行可能需要数小时或数天的拟合,并使用回调来保存最佳自动编码器模型。该过程可能会在下一部分之前几周进行。使用此最佳模型(通过文件名手动选择)并绘制原始图像、自动编码器的编码器进行的编码表示以及使用自动编码器的解码器进行的预测。我有问题(见第二步)从训练和保存的自动编码器中提取编码器和解码器层。对于第一步,我有一个非常简单的网络,如下所示:input_img = Input(shape=(784,))# encoded representationencoded = Dense(encoding_dim, activation='relu')(input_img)# lossy reconstructiondecoded = Dense(784, activation='sigmoid')(encoded)# full AE model: map an input to its reconstructionautoencoder = Model(input_img, decoded)# encoder: map an input to its encoded representationencoder = Model(input_img, encoded)# placeholder for an encoded inputencoded_input = Input(shape=(encoding_dim,))# last layer of the autoencoder modeldecoder_layer = autoencoder.layers[-1]# decoderdecoder = Model(encoded_input, decoder_layer(encoded_input))这些网络是:autoencoder.summary()_________________________________________________________________Layer (type)                 Output Shape              Param #   =================================================================input_5 (InputLayer)         (None, 784)               0         _________________________________________________________________dense_5 (Dense)              (None, 32)                25120     _________________________________________________________________dense_6 (Dense)              (None, 784)               25872     =================================================================因此,由于尺寸不正确,我对编码器的提取不起作用。我什至在提取解码器(形成保存自动编码器)方面的成功率较低,因为我无法使用push()并尝试过类似的东西,decoder = decoder.layers[-1:-2]但它不起作用。所以,我的一般问题是如何提取部分加载模型。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 249 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信