tensorflow-为优化器指定名称,以便将来恢复

tensorflow-为优化器指定名称,以便将来恢复,tensorflow,save,restore,Tensorflow,Save,Restore,我在tensorflow中创建模型,其中最后一行是 将tensorflow导入为tf ... 训练步骤=tf.train.adagradeOptimizer(学习率)。最小化(一些损失函数) 我想知道我是否可以给这个张量/操作一个名称,以便在保存到磁盘后按名称还原它 或者,如果我不能给它一个名称,我如何在的输出中找到它 以下命令: tf.get\u default\u graph().get\u operations() 根据是的,是的,你可以 train\u step=tf.train.A

我在tensorflow中创建模型,其中最后一行是

将tensorflow导入为tf
...
训练步骤=tf.train.adagradeOptimizer(学习率)。最小化(一些损失函数)
我想知道我是否可以给这个张量/操作一个名称,以便在保存到磁盘后按名称还原它

或者,如果我不能给它一个名称,我如何在的输出中找到它 以下命令:

tf.get\u default\u graph().get\u operations()
根据是的,是的,你可以

train\u step=tf.train.AdamOptimizer().minimize(损失,name='my\u training\u step')
随后,您可以使用以下方法恢复op:

saver=tf.train.saver(…)
sess=tf.Session()
saver.restore(sess,'path/to/model')
train\u op=sess.graph.get\u operation\u by\u name(“我的培训步骤”)
您还可以将培训操作存储在集合中,然后通过还原操作将其还原。添加到集合并保存,如下所示:

saver=tf.train.saver(…)
tf.将_添加到_集合(“训练步骤”,训练步骤)
# ...
使用tf.Session()作为sess:
# ...
sess.save(sess,…)
看起来:

new\u saver=tf.train.import\u元图('path/to/metagraph'))
新的\u saver.restore(sess,“path/to/model”)
train_op=tf.get_collection('train_step')[0]#恢复op

非常感谢您的回复。只是出于好奇。如果我在保存过程中没有给它命名,是否可以在tf.get_default_graph().get_operations()的输出中找到此操作?我认为应该在那里,但要解析名称可能会很困难。我不确定在这种情况下它会是什么样子,抱歉。哦,如果您使用
tf.train.Saver
在某个点保存图形,您可以通过在tensorboard中检查图形来找到名称。