我使用tensorflow工具编写了一个神经网络。一切正常运行,现在我想导出神经网络的最终权重,以便创建一个单一的预测方法。我该如何做呢?
回答:
你需要在训练结束时使用tf.train.Saver
类来保存你的模型。
在初始化Saver
对象时,你需要传递你希望保存的所有变量的列表。最好的部分是,你可以在不同的计算图中使用这些保存的变量!
通过以下方式创建一个Saver
对象,
# 假设你想保存两个变量`v1`和`v2`
saver = tf.train.Saver([v1, v2])
使用tf.Session
对象来保存你的变量,
saver.save(sess, 'filename');
当然,你可以添加额外的细节,如global_step
。
你可以在将来使用restore()
函数来恢复这些变量。恢复的变量将自动初始化为这些值。