Tensorflow 版本 =1.8.0我正在嘗試使用 Tensorflow 中的一個中間檢查點(diǎn)文件來恢復(fù)我的模型。默認(rèn)情況下,Tensorflow 將采用最后保存的檢查點(diǎn)文件。例如,該文件夾包含以下文件:checkpoint model-56000.index model-56000.data-00000-of-00001 model-56000.meta model-57000.index model-57000.data-00000-of-00001 model-57000.meta默認(rèn)情況下,Tensorflow 加載最后的 57K 檢查點(diǎn),但出于某些原因,我想加載 56K 檢查點(diǎn)的權(quán)重。以下是我用于恢復(fù)模型的代碼:def load_G(self, checkpoint_dir): print(" [*] Reading checkpoints of G...") ckpt = tf.train.get_checkpoint_state(checkpoint_dir) if ckpt and ckpt.model_checkpoint_path: ckpt_name = os.path.basename(ckpt.model_checkpoint_path) self.saver_gen.restore(self.sess, os.path.join(checkpoint_dir, ckpt_name)) return True else: return False從 Tensorflow 的頁面,我讀到 tf.train.get_checkpoint_state(),我可以指定 tf.train.get_checkpoint_state(checkpoint_dir, latest_filename=None)。但我想不通,我應(yīng)該為 latest_filename 寫什么。我嘗試編寫 latest_filename = model-56000 但這并沒有加載模型。我也嘗試編寫 latest_filename = model-56000.meta。那也沒有用。那么,在 Tensorflow 中加載一些中間檢查點(diǎn)文件的正確方法是什么?
2 回答

千巷貓影
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個贊
好的,所以黑客是修改檢查點(diǎn)protobuf 文件并將該文件的第一行從:model_checkpoint_path: "model-57000"更改為model_checkpoint_path: "model-56000" ad 現(xiàn)在它加載了 56K 檢查點(diǎn)。尋找一些更好的方法來做到這一點(diǎn)。

陪伴而非守候
TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個贊
ckpt 文件名將是 model-56000.ckpt
model-56000.meta
指向ckpt的元信息
model-56000
是 ckpt、數(shù)據(jù)文件或元文件的文件名
添加回答
舉報(bào)
0/150
提交
取消