我训练了一个自动编码器并使用Saver保存了会话。现在我想训练一个单独的模型,它将使用一堆训练过的变量来编码输入并将其传递给MLP。问题是,即使使用Saver的导出/导入功能,我也无法将自动编码器模型加载到我的新模型中。
这甚至可能吗? 我一直在 '无法打开encoder.ckpt:数据丢失:不是sstable(错误的幻数)也许你的文件格式不同而你需要使用不同的恢复操作符?
任何帮助将不胜感激!
答案 0 :(得分:0)
这应该是一个注释,但正如@Alexandre Passos所提到的,如果您之前已经定义了所有变量/操作,saver.restore(encoder.ckpt)应该可以工作。如果还没有,则需要将存储的图形加载为
saver = tf.train.import_meta_graph(encoder.ckpt.meta)
saver.restore(encoder.ckpt)
然后,如果你只想从该模型中获取一些变量,你可以通过
来实现graph = tf.get_default()
restored_var = graph.get_tensor_by_name(restored_var_name)
您还可能需要检查检查点文件,以确保您具有encode.ckpt文件的写入路径。