我正在使用自动编码器。我的检查点包含网络的完整状态(即编码器、解码器、优化器等)。我想玩弄编码。因此,在我的评估模式中,我只需要网络的解码器部分。
如何从现有检查点中仅读取一些特定变量,以便我可以在另一个模型中重用它们的值?
There's list_variables
中的方法检查点_utils.py https://github.com/tensorflow/tensorflow/blob/00700f00fdf71baec1342d1afd7849e16fbd2a33/tensorflow/contrib/framework/python/framework/checkpoint_utils.py它可以让你看到所有保存的变量。
但是,对于您的用例,使用以下命令进行恢复可能会更容易Saver
。如果您在保存检查点时知道变量的名称,则可以创建一个新的保存程序,并告诉它将这些名称初始化为新的Variable
对象(可能具有不同的名称)。这在 CIFAR 示例中用于选择恢复变量子集 https://github.com/tensorflow/tensorflow/blob/d42facc3cc9611f0c9722c81551a7404a0bd3f6b/tensorflow/models/image/cifar10/cifar10_eval.py#L134. See 选择要保存和恢复的变量 https://www.tensorflow.org/versions/r0.10/how_tos/variables/index.html#choosing-which-variables-to-save-and-restore在指南中
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)