在编码器解码器框架中,我创建了一个像这样的模型图:
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')
我的问题是:如何仅还原和使用解码器?由于唯一的占位符是输入占位符,并且嵌入端没有占位符,如何将嵌入内容馈入解码器并获得输出?
我认为潜在的解决方案是恢复模型并获取解码器变量。然后创建具有相同结构的解码器,然后分配变量。但是如何实现呢?
非常感谢您