tensorflow實現(xiàn)訓(xùn)練變量checkpoint的保存與讀取
1.保存變量
先創(chuàng)建(在tf.Session()之前)saver
saver = tf.train.Saver(tf.global_variables(),max_to_keep=1) #max_to_keep這個保證只保存最后一次training的訓(xùn)練數(shù)據(jù)
然后在訓(xùn)練的循環(huán)里面
checkpoint_path = os.path.join(Path, 'model.ckpt') saver.save(session, checkpoint_path, global_step=step) #這里的step是循環(huán)訓(xùn)練的次數(shù),也就是第幾次迭代
以下保存的變量文件
2.變量讀取
1.若要直接恢復(fù)所有變量可以
saver = tf.train.Saver(tf.global_variables()) moudke_file=tf.train.latest_checkpoint('PATH') saver.restore(sess,moudke_file)
PATH是存放保存變量的路徑,會自動找到最近保存的變量文件
2 若想讀取其中一部分變量值
def read_checkpoint(): w = [] checkpoint_path = '/home/ximao/models/resnet3/variable_logs/model.ckpt-17000' reader = tf.train.NewCheckpointReader(checkpoint_path) var = reader.get_variable_to_shape_map() for key in var: if 'weights' in key and 'conv' in key and 'Mo' not in key: print('tensorname:', key) # # print(reader.get_tensor(key))
3. 若想恢復(fù)其中一部分變量值到新網(wǎng)絡(luò)
(1)首先你要先獲取你想要賦值新網(wǎng)絡(luò)變量的變量名,這里變量名不是一個字符串,而是<name,shape,dtype>這樣的一個結(jié)構(gòu),
然后把你要賦值的元素轉(zhuǎn)為張量,最后把值賦給你得到變量名 如下:
var=[v for v in weight_pruned if v.op.name=='WRN/conv1/weights'] conv1_temp=tf.convert_to_tensor(conv1,dtype=tf.float32) sess.run(tf.assign(var[0],conv1_temp))
weight_pruned 存放的是你新網(wǎng)絡(luò)中所有的變量
以上這篇tensorflow實現(xiàn)訓(xùn)練變量checkpoint的保存與讀取就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- Tensorflow訓(xùn)練MNIST手寫數(shù)字識別模型
- Tensorflow訓(xùn)練模型越來越慢的2種解決方案
- TensorFlow實現(xiàn)保存訓(xùn)練模型為pd文件并恢復(fù)
- 解決TensorFlow訓(xùn)練內(nèi)存不斷增長,進(jìn)程被殺死問題
- tensorflow獲取預(yù)訓(xùn)練模型某層參數(shù)并賦值到當(dāng)前網(wǎng)絡(luò)指定層方式
- tensorflow模型繼續(xù)訓(xùn)練 fineturn實例
- tensorflow如何繼續(xù)訓(xùn)練之前保存的模型實例
- Tensorflow實現(xiàn)在訓(xùn)練好的模型上進(jìn)行測試
- tensorflow保持每次訓(xùn)練結(jié)果一致的簡單實現(xiàn)
相關(guān)文章
利用Python第三方庫實現(xiàn)預(yù)測NBA比賽結(jié)果
今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著利用Python實現(xiàn)預(yù)測NBA比賽結(jié)果展開,文中有非常詳細(xì)的介紹,需要的朋友可以參考下2021-06-06python調(diào)用stitcher類自動實現(xiàn)多個圖像拼接融合功能
這篇文章主要介紹了python調(diào)用stitcher類自動實現(xiàn)多個圖像拼接融合功能,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04Python實現(xiàn)讀取大量Excel文件并跨文件批量計算平均值
這篇文章主要為大家詳細(xì)介紹了如何利用Python語言,實現(xiàn)對多個不同Excel文件進(jìn)行數(shù)據(jù)讀取與平均值計算的方法,感興趣的可以了解一下2023-02-02Python連接MySQL數(shù)據(jù)庫的四種方法
用?Python?連接到?MySQL?數(shù)據(jù)庫的方法不是很系統(tǒng),實際中有幾種不同的連接方法,而且不是所有的方法都能與不同的操作系統(tǒng)很好地配合,本文涵蓋了四種方法,你可以用它們來連接你的Python應(yīng)用程序和MySQL,需要的朋友可以參考下2024-08-08Pytorch技巧:DataLoader的collate_fn參數(shù)使用詳解
今天小編就為大家分享一篇Pytorch技巧:DataLoader的collate_fn參數(shù)使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01詳解Python中映射類型的內(nèi)建函數(shù)和工廠函數(shù)
這篇文章主要介紹了詳解Python中映射類型的內(nèi)建函數(shù)和工廠函數(shù),目前Python的內(nèi)建映射類型只有字典一種,需要的朋友可以參考下2015-08-08python腳本當(dāng)作Linux中的服務(wù)啟動實現(xiàn)方法
今天小編就為大家分享一篇python腳本當(dāng)作Linux中的服務(wù)啟動實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06