用法
restore(
save_path
)
参数
-
save_path
检查点的路径,由save
或tf.train.latest_checkpoint
返回。如果 None (当没有返回的tf.train.latest_checkpoint
的最新检查点时),返回一个可以为依赖图中的对象运行初始化程序的对象。如果检查点是由基于名称的tf.compat.v1.train.Saver
编写的,则名称用于匹配变量。
返回
-
加载状态对象,可用于对检查点恢复的状态进行断言并运行初始化/恢复操作。
返回的状态对象有以下方法:
assert_consumed()
:如果任何变量不匹配,则引发异常:检查点值没有匹配的 Python 对象或依赖关系图中的 Python 对象在检查点中没有值。此方法返回状态对象,因此可以与initialize_or_restore
或run_restore_ops
链接。assert_existing_objects_matched()
:如果依赖图中的任何现有 Python 对象不匹配,则引发异常。与assert_consumed
不同,如果检查点中的值没有对应的 Python 对象,则此断言将通过。例如,尚未构建的tf.keras.Layer
对象,因此尚未创建任何变量,将通过此断言但将失败assert_consumed
。在将较大检查点的一部分加载到新的 Python 程序中时很有用,例如保存了带有tf.compat.v1.train.Optimizer
的训练检查点,但仅加载了推理所需的状态。此方法返回状态对象,因此可以与initialize_or_restore
或run_restore_ops
链接。assert_nontrivial_match()
:断言除根对象之外的其他内容已匹配。这是一个非常弱的断言,但对于库代码中的健全性检查很有用,其中对象可能存在于检查点中,而这些对象可能尚未在 Python 中创建,并且某些 Python 对象可能没有检查点值。expect_partial()
:关于不完整的检查点恢复的静默警告。当Checkpoint
对象被删除时(通常在程序关闭时),检查点文件或对象的未使用部分会打印警告。initialize_or_restore(session=None)
:构建图形时,如果save_path
是None
,则运行变量初始化程序,否则运行恢复操作。如果没有明确指定session
,则使用默认会话。即刻执行时没有效果(变量被即刻地初始化或恢复)。run_restore_ops(session=None)
:构建图形时,运行恢复操作。如果没有明确指定session
,则使用默认会话。即刻执行时无效(恢复操作即刻运行)。只能在save_path
不是None
时调用。
恢复训练检查点。
恢复此 Checkpoint
及其依赖的任何对象。
即刻执行时,如果要恢复的变量已经创建,则立即赋值,或者推迟恢复直到创建变量。如果在检查点中有相应的对象,则在此调用之后添加的依赖项将被匹配(恢复请求将在任何可跟踪的对象中排队等待添加预期的依赖项)。
构建图时,会将恢复操作添加到图中,但不会立即运行。
checkpoint = tf.train.Checkpoint( ... )
checkpoint.restore(path)
为确保加载完成并且不再发生延迟恢复,您可以使用 restore
返回的状态对象的 assert_consumed()
方法。如果在检查点中未找到依赖图中的任何 Python 对象,或者任何检查点值没有匹配的 Python 对象,则断言将引发异常:
checkpoint = tf.train.Checkpoint( ... )
checkpoint.restore(path).assert_consumed()
构建图形时,assert_consumed()
表示将为此检查点创建的所有还原操作都已创建。它们可以通过状态对象的run_restore_ops()
方法运行:
checkpoint.restore(path).assert_consumed().run_restore_ops()
如果检查点没有被完全消耗掉,那么随着更多对象被添加到依赖图中,恢复操作列表将会增长。
要检查 Python 对象中的所有变量是否已从检查点恢复值,请使用 assert_existing_objects_matched()
。在创建图表中的变量后调用此断言很有用。
可以使用此方法加载基于名称的tf.compat.v1.train.Saver
检查点。名称用于匹配变量。在构建图形时,在返回的状态对象上调用 run_restore_ops()
或 initialize_or_restore()
之前,不会创建/运行恢复操作,但在即刻执行时会出现 restore-on-creation。尽快使用tf.train.Checkpoint.save
重新编码基于名称的检查点。
相关用法
- Python tf.compat.v1.train.Checkpoint用法及代码示例
- Python tf.compat.v1.train.FtrlOptimizer.compute_gradients用法及代码示例
- Python tf.compat.v1.train.get_or_create_global_step用法及代码示例
- Python tf.compat.v1.train.cosine_decay_restarts用法及代码示例
- Python tf.compat.v1.train.Optimizer用法及代码示例
- Python tf.compat.v1.train.AdagradOptimizer.compute_gradients用法及代码示例
- Python tf.compat.v1.train.init_from_checkpoint用法及代码示例
- Python tf.compat.v1.train.Supervisor.managed_session用法及代码示例
- Python tf.compat.v1.train.global_step用法及代码示例
- Python tf.compat.v1.train.MonitoredSession.run_step_fn用法及代码示例
- Python tf.compat.v1.train.RMSPropOptimizer.compute_gradients用法及代码示例
- Python tf.compat.v1.train.exponential_decay用法及代码示例
- Python tf.compat.v1.train.natural_exp_decay用法及代码示例
- Python tf.compat.v1.train.MomentumOptimizer用法及代码示例
- Python tf.compat.v1.train.RMSPropOptimizer用法及代码示例
- Python tf.compat.v1.train.get_global_step用法及代码示例
- Python tf.compat.v1.train.GradientDescentOptimizer.compute_gradients用法及代码示例
- Python tf.compat.v1.train.linear_cosine_decay用法及代码示例
- Python tf.compat.v1.train.Supervisor用法及代码示例
- Python tf.compat.v1.train.AdagradDAOptimizer.compute_gradients用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.train.Checkpoint.restore。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。