tensorflow如何在auto_encoder(encoder_decoder)框架中还原并独立使用解码器

时间:2018-12-03 02:56:17

标签: python tensorflow autoencoder encoder-decoder

在编码器解码器框架中,我创建了一个像这样的模型图:

saver=tf.train.Saver()
with tf.variable_scope('encoder',inputs_placeholder):
   layer=tf.layers.dense(inputs_placeholder,512,activation=tf.n.relu)
   layer=tf.layers.dense(layer,512,activation=tf.n.relu)
   embeddings=tf.layers.dense(layer,10)

with tf.variable_scope('decoder',embedding):
   layer=tf.layers.dense(embeddings,512,activation=tf.n.relu)
   layer=tf.layers.dense(layer,self.data_dim,activation=tf.n.relu)

训练后,我用保护程序保存了模型:

saver.save(sess,'./...ckpt')

然后我恢复训练有素的模型:

with tf.Session() as sess:
   saver.restore(sess,'./...ckpt')

我的问题是:如何仅还原和使用解码器?由于唯一的占位符是输入占位符,并且嵌入端没有占位符,如何将嵌入内容馈入解码器并获得输出?

我认为潜在的解决方案是恢复模型并获取解码器变量。然后创建具有相同结构的解码器,然后分配变量。但是如何实现呢?

非常感谢您

0 个答案:

没有答案