在我當前的項目中,我訓練模型並每隔100個迭代步驟保存檢查點。檢查點文件全部保存到相同的目錄(model.ckpt-100,model.ckpt-200,model.ckpt-300等)。之後,我想根據所有保存的檢查點的驗證數據來評估模型,而不僅僅是最新的檢查點。張量流:在多個檢查點上運行模型評估
目前我的恢復點文件的代碼看起來是這樣的:
ckpt = tf.train.get_checkpoint_state(FLAGS.checkpoint_dir)
ckpt_list = saver.last_checkpoints
print(ckpt_list)
if ckpt and ckpt.model_checkpoint_path:
print("Reading model parameters from %s" % ckpt.model_checkpoint_path)
saver.restore(sess, ckpt.model_checkpoint_path)
# extract global_step from it.
global_step = ckpt.model_checkpoint_path.split('/')[-1].split('-')[-1]
print('Succesfully loaded model from %s at step=%s.' %
(ckpt.model_checkpoint_path, global_step))
else:
print('No checkpoint file found')
return
然而,這僅恢復最新保存的檢查點文件。那麼如何在所有保存的檢查點文件上編寫循環?我嘗試使用saver.last_checkpoints獲得檢查點文件的列表,但是,返回的列表是空的。
任何幫助將不勝感激,在此先感謝!
如何準確保存模型?您是在自己建立輸出文件的名稱,還是在調用'saver.save(..)'時使用'global_step'參數? – kaufmanu