通過保留一些檢查點並刪除不需要的檢查點來管理多個檢查點。
用法
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。