tensorflow 模型權重導出實例
tensorflow在保存權重模型時多使用tf.train.Saver().save 函數(shù)進行權重保存,保存的ckpt文件無法直接打開,不利于將模型權重導入到其他框架使用(如Caffe、Keras等)。
好在tensorflow提供了相關函數(shù) tf.train.NewCheckpointReader 可以對ckpt文件進行權重查看,因此可以通過該函數(shù)進行數(shù)據(jù)導出。
import tensorflow as tf import h5py cpktLogFileName = r'./checkpoint/checkpoint' #cpkt 文件路徑 with open(cpktLogFileName, 'r') as f: #權重節(jié)點往往會保留多個epoch的數(shù)據(jù),此處獲取最后的權重數(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()): # 權重名稱需根據(jù)自己網(wǎng)絡名稱自行修改 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 模型權重導出實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
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ù)庫(表)結構生成對應SQLAlchemy模型
本文介紹了如何使用sqlacodegen獲取數(shù)據(jù)庫所有表的模型類,然后使用ORM技術進行CRUD操作,有此需求的朋友可以了解下本文2021-06-06