2016-08-14 147 views
2

Tensorflow允许我们使用tf.train.write_graph方法保存/加载模型的结构,以便我们可以在将来恢复它以继续我们的培训课程。但是,我想知道如果这是必要的,因为我可以创建一个模块,例如GraphDefinition.py,并使用此模块重新创建模型。 那么,哪种方法可以更好地保存模型结构,或者有什么经验法则可以说明保存模型时应该使用哪种方式?在tensorflow中保存模型

+0

你能提供一些代码示例吗?或进一步的信息?我不明白为什么创建模块很重要,为了节省TensorFlow模型的权重。我总是可以保存整个图表(看大小有一些开销,我猜)或者指定应该保存哪些权重。但是,尽管使用过的内存没有太大的区别。 – daniel451

回答

3

首先,你必须明白,张量流图没有当前的权重(直到你手动保存它们),并且如果你从graph.pb载入模型结构,你将开始从一开始训练。但是,如果你想继续训练或使用你的训练模型,你必须保存检查点(使用tf Saver)和变量的值,而不仅仅是结构。 看看这个胎面:Tensorflow: How to restore a previously saved model (python)

+0

是的。我知道我必须使用tf.Saver来保存重量。我无法得到的是,是否需要将模型结构保存到graph.pb并从该文件重新加载图形,还是应该自己重新创建图形? – user3425082

+0

对于图和检查点中的重要操作和变量,您应该具有相同的名称(不是python \ C++名称,但是tf,即:a = tf.Variable(value,name ='define-tf-name-here')) 文件正确加载值,但如何得到这个 - 完全取决于你。保存和恢复图形定义文件或使用代码重新创建它们都可以。 –