Okay,参数是异常精确的。如不雅我们检查我们的文件体系,最后4次迭代中保存有文件以及最终的模型。
保存模型时,你会留意到须要4种类型的文件才能保存:
- “.meta”文件:包含图形构造。
- “.data”文件:包含变量的值。
- “.index”文件:标识检查点。
- “checkpoint”文件:具有比来检查点列表的协定缓冲区。
图1:检查点文件保存稻磁逄
调用tf.train.Saver()办法,如上所示,将所有变量保存到一个文件。经由过程将它们作为参数,神情经由过程列表或dict传递来保存变量的子集,例如:tf.train.Saver({‘hor_estimate’: h_est})。
Saver构造函数的一些其他有效的参数,也可以控制全部过程,它们是:
- max_to_keep:最多保存的检查点数。
- keep_checkpoint_every_n_hours:保存检查点的时光距离。如不雅你想要懂得更多信息,请查看官方文档的Saver类,它供给了其它有效的信息,你可以摸索查看。
- Restoring Models
恢复TensorFlow模型时要做的第一件事就是将图形构造大年夜“.meta”文件加载到当前图形中。
- tf.reset_default_graph()
- imported_meta = tf.train.import_meta_graph("model_final.meta")
- $ python tf_restore.py
- INFO:tensorflow:Restoring parameters from ./model_final
- h_est: 1.01, v_est: -1.96
如前面所提到的,这种办法只保存图形构造和变量,这意味着经由过程占位符“X”和“Y”输入的练习数据不会被保存。
- with tf.Session() as sess:
- imported_meta.restore(sess, tf.train.latest_checkpoint('./'))
- h_est2 = sess.run('hor_estimate:0')
- v_est2 = sess.run('ver_estimate:0')
- print("h_est: %.2f, v_est: %.2f" % (h_est2, v_est2))
- plt.scatter(x_train, y_train, label='train data')
- plt.plot(x_train, (x_train - h_est2) ** 2 + v_est2, color='red', label='model')
- plt.xlabel('x_train')
- plt.ylabel('y_train')
- plt.legend()
Saver这个类许可应用一个简单的办法来保存和恢复你的TensorFlow模型(图形和变量)到/大年夜文件,并保存你工作中的多个检查点,这可能是有效的,它可以赞助你的模型在练习过程中进行微调。
以下是若何生成模型的过程(有关具体信息,请参阅代码中的注释):
4. SavedModel格局(Format)
在TensorFlow中保存和恢复模型的一种新办法是应用SavedModel,Builder和loader功能。这个办法实际上是Saver供给的更高等其余序列化,它更合适于贸易目标。
固然这种SavedModel办法似乎不被开辟人员完全接收,但它的创作者指出:它显然是将来。与Saver重要存眷变量的类比拟,SavedModel测验测验将一些有效的功能包含在一个包中,例如Signatures:许可保存具有一组输入和输出的图形,Assets:包含初始化中应用的外部文件。
推荐阅读
有些编程技巧针对的是当前或者将来的超等计算机,固然它们已经存在了很长时光,但如今很多开辟人员并没有对这>>>详细阅读
地址:http://www.17bianji.com/lsqh/38364.html
1/2 1