tensorflow 模型權(quán)重導(dǎo)出實例
tensorflow在保存權(quán)重模型時多使用tf.train.Saver().save 函數(shù)進(jìn)行權(quán)重保存,保存的ckpt文件無法直接打開,不利于將模型權(quán)重導(dǎo)入到其他框架使用(如Caffe、Keras等)。
好在tensorflow提供了相關(guān)函數(shù) tf.train.NewCheckpointReader 可以對ckpt文件進(jìn)行權(quán)重查看,因此可以通過該函數(shù)進(jìn)行數(shù)據(jù)導(dǎo)出。
import tensorflow as tf import h5py cpktLogFileName = r'./checkpoint/checkpoint' #cpkt 文件路徑 with open(cpktLogFileName, 'r') as f: #權(quán)重節(jié)點往往會保留多個epoch的數(shù)據(jù),此處獲取最后的權(quán)重數(shù)據(jù) cpktFileName = f.readline().split('"')[1] h5FileName = r'./model/net_classification.h5' reader = tf.train.NewCheckpointReader(cpktFileName) f = h5py.File(h5FileName, 'w') t_g = None for key in sorted(reader.get_variable_to_shape_map()): # 權(quán)重名稱需根據(jù)自己網(wǎng)絡(luò)名稱自行修改 if key.endswith('w') or key.endswith('biases'): keySplits = key.split(r'/') keyDict = keySplits[1] + '/' + keySplits[1] + '/' + keySplits[2] f[keyDict] = reader.get_tensor(key)
以上這篇tensorflow 模型權(quán)重導(dǎo)出實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Pytorch的torch.utils.data中Dataset以及DataLoader示例詳解
torch.utils.data?是?PyTorch?提供的一個模塊,用于處理和加載數(shù)據(jù),該模塊提供了一系列工具類和函數(shù),用于創(chuàng)建、操作和批量加載數(shù)據(jù)集,這篇文章主要介紹了Pytorch的torch.utils.data中Dataset以及DataLoader等詳解,需要的朋友可以參考下2023-08-08python 三種方法實現(xiàn)對Excel表格的讀寫
這篇文章主要介紹了python 三種方法實現(xiàn)對Excel表格的讀寫,幫助大家更好的利用python處理表格,感興趣的朋友可以了解下2020-11-11python用sqlacodegen根據(jù)已有數(shù)據(jù)庫(表)結(jié)構(gòu)生成對應(yīng)SQLAlchemy模型
本文介紹了如何使用sqlacodegen獲取數(shù)據(jù)庫所有表的模型類,然后使用ORM技術(shù)進(jìn)行CRUD操作,有此需求的朋友可以了解下本文2021-06-06