此页面由 Cloud Translation API 翻译。
Switch to English

tf.train.CheckpointManager

TensorFlow 1版 GitHub上查看源代码

管理通过保持一些和删除不需要的那些多个检查点。

用在笔记本电脑

使用的指南使用教程

实例:

 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__的详细信息文档)。只有一个应在特定时间目录是活动的。

checkpoint tf.train.Checkpoint实例保存和管理检查点。
directory 到一个目录在其中写检查点的路径。名为“检查点”的特殊文件也被写入其中包含的状态时,该目录(在人类可读的文本格式) 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 可赎回。一个函数来做到定制intialization如果没有检查点在目录中。

ValueError 如果max_to_keep是不是正整数。

checkpoint 返回tf.train.Checkpoint对象。
checkpoint_interval

checkpoints 管理检查点的列表。

需要注意的是,由于保存检查站到keep_checkpoint_every_n_hours不会在这个列表中显示出来(避免日益增长的文件名列表)。

directory

latest_checkpoint 在最近的检查点的前缀directory

相当于tf.train.latest_checkpoint(directory) ,其中directory是构造函数参数CheckpointManager

适合传递给tf.train.Checkpoint.restore恢复训练。

方法

restore_or_initialize

查看源代码

恢复项目checkpoint从最新的检查点文件。

这种方法将首先尝试从最近的检查点恢复directory 。如果不存在检查点directory ,并init_fn指定,此方法将调用init_fn做定制的初始化。这可以用来从预训练的机型支持初始化。

请注意,与tf.train.Checkpoint.restore()这个方法不返回负载状态对象,用户可以运行在断言(如assert_consumed())。因此,为了运行断言,用户应该直接使用tf.train.Checkpoint.restore()方法。

返回
如果最新的检查站被发现,恢复恢复的检查点路径。否则无。

save

查看源代码

创建一个新的检查点,并对其进行管理。

ARGS
checkpoint_number 可选的整数或整数-D型VariableTensor ,用于号码检查点。如果None (默认值),检查站使用的编号checkpoint.save_counter 。即使checkpoint_number提供, save_counter仍在增加。由用户提供的checkpoint_number不递增,即使它是一个Variable
check_interval 可选的布尔。当参数是唯一有效的checkpoint_interval传递到管理者。如果True ,经理只保存检查点检查点,如果之间的间隔大于checkpoint_interval 。否则,它会永远保存检查点,除非一个检查点已经保存了当前步骤。

返回
新关卡的路径。它也记录在checkpointslatest_checkpoint性能。 None如果没有检查点被保存。