版权声明:未经本人同意不得转载 https://blog.csdn.net/weixin_40532940/article/details/83999915
在训练好网络之后保存训练好的模型,还有在程序中读取保存好的模型。
- 首先无论保存还是恢复都需要实例化一个tf.train.Saver方法
Saver=tf.train.Saver()
- 在训练过程中,定期调用saver.save()方法向文件夹中写入包含了当前模型中所有可训练变量的 checkpoint 文件。
- saver.save(sess,”路径”, global_step=global_step)
- saver.restore(sess, “路径”) 重载模型的参数,继续训练或用于测试数据。
- 实际上每调用一次保存操作会创建后3个数据文件并创建一个检查点(checkpoint)文件,简单理解就是权重等参数被保存到 .ckpt.data 文件中,以字典的形式;图和元数据被保存到 .ckpt.meta 文件中,可以被 tf.train.import_meta_graph 加载到当前默认的图。
- saver 的操作必须在 sess 建立后进行。
- model.ckpt 必须存在给定文件夹中,'路径' 这里至少要有一层文件夹,否则无法保存。
- 恢复模型时同保存时一样,是 ‘路径’比如(saver.restore(sess,ckpt.model_checkpoint_path)),和那3个文件名都不一样。