淺談tf.train.Saver()與tf.train.import_meta_graph的要點
(一)、tf.train.Saver()
(1). tf.train.Saver() 是用來保存tensorflow訓練模型的,默認保存全部參數
(2). 用來加載參數,注:只加載存儲在data中的權重和偏置項等需要訓練的參數,其他一律不加載,包括meta文件中的圖也不加載

(二)、tf.train.import_meta_graph
(1). 用來加載meta文件中的圖,以及圖上定義的結點參數包括權重偏置項等需要訓練的參數,也包括訓練過程生成的中間參數,所有參數都是通過graph調用接口get_tensor_by_name(name="訓練時的參數名稱")來獲取

(三)、總結
(1). 保存使用tf.train.Saver()
(2). 加載可以使用tf.train.import_meta_graph(".meta文件"),直接通過訓練參數名稱就可以獲取需要的參數,但需要提前知道訓練時的參數名稱才能獲取,要懂得tensorflow命名規(guī)則
(3). tf.train.Saver("./checkpoints目錄/")加載的缺點是只加載了訓練參數,并且必須定義與之相同(shape,dtype要相同,tf.type要相同,如:我是placeholder,你也是tf.placeholder)方能使用,當你要獲取訓練中間參數時,需要和訓練過程一樣搭建相同的網絡.
補充:tf.train.import_meta_graph報KeyError
我在模型恢復時,在執(zhí)行tf.train.import_meta_graph的時候報錯

后來發(fā)現,我的模型是在服務器上訓練的,服務器上tensorflow版本是1.11.0,而我在本地電腦上執(zhí)行的 tf.train.import_meta_graph,我本地的tensorflow是1.5.0,我將tensorflow更新到1.11.0后,就解決了。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Pycharm運行時總是跳出Python?Console問題
這篇文章主要介紹了Pycharm運行時總是跳出Python?Console問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04

