通过保留一些检查点并删除不需要的检查点来管理多个检查点。
用法
tf.train.CheckpointManager(
checkpoint, directory, max_to_keep, keep_checkpoint_every_n_hours=None,
checkpoint_name='ckpt', step_counter=None, checkpoint_interval=None,
init_fn=None
)
参数
-
checkpoint
tf.train.Checkpoint
实例保存和管理检查点。 -
directory
写入检查点的目录的路径。一个名为 "checkpoint" 的特殊文件也被写入此目录(以人类可读的文本格式),其中包含CheckpointManager
的状态。 -
max_to_keep
一个整数,要保留的检查点数。除非keep_checkpoint_every_n_hours
保留,否则检查点将从活动集中删除,最旧的先删除,直到仅保留max_to_keep
检查点。如果None
,则不会删除任何检查点,并且所有内容都保留在活动集中。请注意,max_to_keep=None
会将所有检查点路径保存在内存和磁盘上的检查点状态协议缓冲区中。 -
keep_checkpoint_every_n_hours
从活动集中删除后,如果自上次保留的检查点以来至少为keep_checkpoint_every_n_hours
,则将保留检查点。None
的默认设置不会以这种方式保留任何检查点。 -
checkpoint_name
检查点文件的自定义名称。 -
step_counter
tf.Variable
实例,用于检查当前步数计数器值,以防用户希望每 N 步保存检查点。 -
checkpoint_interval
一个整数,表示两个检查点之间的最小步长间隔。 -
init_fn
可调用。如果目录中没有检查点,则执行自定义初始化的函数。
抛出
-
ValueError
如果max_to_keep
不是正整数。
属性
-
checkpoint
返回tf.train.Checkpoint
对象。 -
checkpoint_interval
-
checkpoints
托管检查点列表。请注意,由于
keep_checkpoint_every_n_hours
而保存的检查点不会显示在此列表中(以避免出现 ever-growing 文件名列表)。 -
directory
-
latest_checkpoint
最近检查点的前缀directory
.等效于
tf.train.latest_checkpoint(directory)
其中directory
是CheckpointManager
的构造函数参数。适合传到
tf.train.Checkpoint.restore
恢复训练。
示例用法:
import tensorflow as tf
checkpoint = tf.train.Checkpoint(optimizer=optimizer, model=model)
manager = tf.train.CheckpointManager(
checkpoint, directory="/tmp/model", max_to_keep=5)
status = checkpoint.restore(manager.latest_checkpoint)
while True:
# train
manager.save()
CheckpointManager
跨实例化保留其自己的状态(有关详细信息,请参阅__init__
文档)。一次只能在特定目录中活动一个。
相关用法
- Python tf.train.Checkpoint.restore用法及代码示例
- Python tf.train.Checkpoint.read用法及代码示例
- Python tf.train.CheckpointOptions用法及代码示例
- Python tf.train.Checkpoint.save用法及代码示例
- Python tf.train.Checkpoint.write用法及代码示例
- Python tf.train.Checkpoint用法及代码示例
- Python tf.train.Coordinator.stop_on_exception用法及代码示例
- Python tf.train.ClusterSpec用法及代码示例
- Python tf.train.Coordinator用法及代码示例
- Python tf.train.ExponentialMovingAverage用法及代码示例
- Python tf.train.list_variables用法及代码示例
- Python tf.transpose用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.train.CheckpointManager。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。