用法
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。