国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

TensorFlow 模型載入方法匯總(小結)

2020-02-15 21:53:51
字體:
來源:轉載
供稿:網友

一、TensorFlow常規模型加載方法

保存模型

tf.train.Saver()類,.save(sess, ckpt文件目錄)方法

參數名稱 功能說明 默認值
var_list Saver中存儲變量集合 全局變量集合
reshape 加載時是否恢復變量形狀 True
sharded 是否將變量輪循放在所有設備上 True
max_to_keep 保留最近檢查點個數 5
restore_sequentially 是否按順序恢復變量,模型較大時順序恢復內存消耗小 True

var_list是字典形式{變量名字符串: 變量符號},相對應的restore也根據同樣形式的字典將ckpt中的字符串對應的變量加載給程序中的符號。

如果Saver給定了字典作為加載方式,則按照字典來,如:saver = tf.train.Saver({"v/ExponentialMovingAverage":v}),否則每個變量尋找自己的name屬性在ckpt中的對應值進行加載。

加載模型

當我們基于checkpoint文件(ckpt)加載參數時,實際上我們使用Saver.restore取代了initializer的初始化

checkpoint文件會記錄保存信息,通過它可以定位最新保存的模型:

ckpt = tf.train.get_checkpoint_state('./model/')print(ckpt.model_checkpoint_path)

 

.meta文件保存了當前圖結構

.index文件保存了當前參數名

.data文件保存了當前參數值

tf.train.import_meta_graph函數給出model.ckpt-n.meta的路徑后會加載圖結構,并返回saver對象

ckpt = tf.train.get_checkpoint_state('./model/')

tf.train.Saver函數會返回加載默認圖的saver對象,saver對象初始化時可以指定變量映射方式,根據名字映射變量(『TensorFlow』滑動平均)

saver = tf.train.Saver({"v/ExponentialMovingAverage":v}) 

saver.restore函數給出model.ckpt-n的路徑后會自動尋找參數名-值文件進行加載

saver.restore(sess,'./model/model.ckpt-0')saver.restore(sess,ckpt.model_checkpoint_path)

1.不加載圖結構,只加載參數

由于實際上我們參數保存的都是Variable變量的值,所以其他的參數值(例如batch_size)等,我們在restore時可能希望修改,但是圖結構在train時一般就已經確定了,所以我們可以使用tf.Graph().as_default()新建一個默認圖(建議使用上下文環境),利用這個新圖修改和變量無關的參值大小,從而達到目的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 报价| 徐闻县| 义马市| 呼图壁县| 桐梓县| 新源县| 淳化县| 兴化市| 越西县| 项城市| 乌鲁木齐市| 南部县| 肇州县| 利川市| 剑河县| 东丽区| 柳河县| 赤水市| 怀远县| 溆浦县| 白城市| 铜梁县| 惠东县| 吴堡县| 贵港市| 宿迁市| 隆昌县| 静乐县| 出国| 根河市| 奎屯市| 康保县| 南开区| 贞丰县| 汽车| 民县| 凤山市| 莱芜市| 慈溪市| 永顺县| 韩城市|