TensorFlow 持久化
Session Checkpoint
1 | class tf.train.Saver: |
用途:保存Session中变量(张量值),将变量名映射至张量值
参数
var_list
:待保存、恢复变量,缺省所有- 变量需在
tf.train.Saver
实例化前创建
- 变量需在
reshape
:允许恢复并重新设定张量形状sharded
:碎片化保存至多个设备max_to_keep
:最多保存checkpoint数目keep_checkpoint_every_n_hours
:checkpoint有效时间restore_sequentially
:各设备中顺序恢复变量,可以 减少内存消耗
成员
last_checkpoints
:最近保存checkpoints
保存Session
1 | def Saver.save(self, |
用途:保存Session,要求变量已初始化
参数
global_step
:添加至save_path
以区别不同步骤latest_filename
:checkpoint文件名meta_graph_suffix
:MetaGraphDef文件名后缀
恢复Session
1 | def Saver.restore(sess, save_path(str)): |
- 用途:从
save_path
指明的路径中恢复模型
- 模型路径可以通过
Saver.last_checkpoints
属性、tf.train.get_checkpoint_state()
函数获得
tf.train.get_checkpoint_state
1 | def tf.train.get_checkpoint_state( |
- 用途:获取指定checkpoint目录下checkpoint状态
- 需要图结构已经建好、Session开启
- 恢复模型得到的变量无需初始化
1 | ckpt = tf.train.get_checkpoint_state(checkpoint_dir) |
Graph Saver
tf.train.write_graph
1 | def tf.train.write_graph( |
用途:存储图至文件中
参数
as_text
:以ASCII方式写入文件
Summary Saver
tf.summary.FileWriter
1 | class tf.summary.FileWriter: |
用途:创建
FileWriter
对象用于记录log- 存储图到文件夹中,文件名由TF自行生成
- 可通过TensorBoard组件查看生成的event log文件
说明
- 一般在图定义完成后、Session执行前创建
FileWriter
对象,Session结束后关闭
- 一般在图定义完成后、Session执行前创建
实例
1 | # 创建自定义summary |