(一)、tf.train.Saver()
(1). tf.train.Saver() 是用來保存tensorflow訓(xùn)練模型的,默認(rèn)保存全部參數(shù)
(2). 用來加載參數(shù),注:只加載存儲在data中的權(quán)重和偏置項等需要訓(xùn)練的參數(shù),其他一律不加載,包括meta文件中的圖也不加載
(二)、tf.train.import_meta_graph
(1). 用來加載meta文件中的圖,以及圖上定義的結(jié)點參數(shù)包括權(quán)重偏置項等需要訓(xùn)練的參數(shù),也包括訓(xùn)練過程生成的中間參數(shù),所有參數(shù)都是通過graph調(diào)用接口get_tensor_by_name(name="訓(xùn)練時的參數(shù)名稱")來獲取
(三)、總結(jié)
(1). 保存使用tf.train.Saver()
(2). 加載可以使用tf.train.import_meta_graph(".meta文件"),直接通過訓(xùn)練參數(shù)名稱就可以獲取需要的參數(shù),但需要提前知道訓(xùn)練時的參數(shù)名稱才能獲取,要懂得tensorflow命名規(guī)則
(3). tf.train.Saver("./checkpoints目錄/")加載的缺點是只加載了訓(xùn)練參數(shù),并且必須定義與之相同(shape,dtype要相同,tf.type要相同,如:我是placeholder,你也是tf.placeholder)方能使用,當(dāng)你要獲取訓(xùn)練中間參數(shù)時,需要和訓(xùn)練過程一樣搭建相同的網(wǎng)絡(luò).
補(bǔ)充:tf.train.import_meta_graph報KeyError
我在模型恢復(fù)時,在執(zhí)行tf.train.import_meta_graph的時候報錯
后來發(fā)現(xiàn),我的模型是在服務(wù)器上訓(xùn)練的,服務(wù)器上tensorflow版本是1.11.0,而我在本地電腦上執(zhí)行的 tf.train.import_meta_graph,我本地的tensorflow是1.5.0,我將tensorflow更新到1.11.0后,就解決了。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- TensorFlow入門使用 tf.train.Saver()保存模型
- Tensorflow之Saver的用法詳解
- TensorFlow Saver:保存和讀取模型參數(shù).ckpt實例