佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 基于tensorflow權(quán)重文件的解讀

基于tensorflow權(quán)重文件的解讀

熱門標(biāo)簽:企業(yè)做大做強(qiáng) 硅谷的囚徒呼叫中心 呼叫中心市場(chǎng)需求 百度AI接口 Win7旗艦版 電話運(yùn)營(yíng)中心 客戶服務(wù) 語音系統(tǒng)

1.解讀tensorflow權(quán)重文件,透過 tf.train.NewCheckpointReader函數(shù)。

2.reader.get_variable_to_shape_map()可以得到權(quán)重文件里面的tensor名稱。

3.reader.get_tensor(key) 可以得到對(duì)應(yīng)tensor的權(quán)重值。

import tensorflow as tf
cpktFileName = r'.\models\resnet_v2_152.ckpt'
reader = tf.train.NewCheckpointReader(cpktFileName)
for key in sorted(reader.get_variable_to_shape_map()):
   
    if key.endswith('weights') or key.endswith('biases'):
        keySplits = key.split(r'/')
        print(key)
        print(reader.get_tensor(key))
        

resnet_v2_152權(quán)重 tensor name解讀

第一,每個(gè)tensor name都以resnet_v2_152開頭

第二,tensor name第二段為block,共有四個(gè)block。與網(wǎng)絡(luò)架構(gòu)有關(guān)。

第三,第三字段為unit,每個(gè)block里面unit數(shù)量不同。與網(wǎng)絡(luò)架構(gòu)有關(guān)。

第四,除了組后的平坦層,第四字段都為bottleneck_v2

第五,第五字段為‘conv1',‘conv2',‘conv3',‘shortcut'

第六,第六字段為‘weights' or ‘biases'

補(bǔ)充:tensorflow模型的調(diào)用,權(quán)重查看

以vc版本的tensorpack說明

模型調(diào)用

每次運(yùn)行,會(huì)有checkpoint、graph、model生成

1、其中,若文件夾已經(jīng)有checkpoint,且寫有自動(dòng)掉用上次模型,可以在上次的基礎(chǔ)上繼續(xù)訓(xùn)練,否則重新生成,且不能調(diào)用之前的模型,即使已經(jīng)存在

2、每次運(yùn)行會(huì)重新生成graph,即使上次的已經(jīng)存在,因此調(diào)用上次模型與文件夾中是否有g(shù)raph無關(guān)

權(quán)重變量查看

import numpy as np
import tensorflow as tf
import sys
model = sys.argv[1]
tensor = sys.argv[2]
reader = tf.train.NewCheckpointReader(model)
all_variables = reader.get_variable_to_shape_map()
#reader = pywrap_tensorflow.NewCheckpointReader(ckpt_path)
#param_dict = reader.get_variable_to_shape_map()
for key, val in all_variables.items():
    try:
        print key, val
        #key是網(wǎng)絡(luò)參數(shù)名,val是維度
    except:
        pass
w0 = reader.get_tensor(tensor)
np.save('con1d_w.npy',w0)
print(type(w0))
print(w0.shape)
print(w0[0])

文件內(nèi)容

chekpoint—記錄了保存的最新的checkpoint文件以及其它c(diǎn)heckpoint文件列表。在inference時(shí),可以通過修改這個(gè)文件,指定使用哪個(gè)model

MyModel.meta文件保存的是圖結(jié)構(gòu),meta文件是pb(protocol buffer)格式文件,包含變量、op、集合等。

ckpt文件是二進(jìn)制文件,保存了所有的weights、biases、gradients等變量。在tensorflow 0.11之前,保存在.ckpt文件中。0.11后,通過兩個(gè)文件保存,如:

MyModel.data-00000-of-00001
MyModel.index

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Tensorflow 1.0之后模型文件、權(quán)重?cái)?shù)值的讀取方式
  • tensorflow 保存模型和取出中間權(quán)重例子
  • tensorflow 模型權(quán)重導(dǎo)出實(shí)例
  • 在Tensorflow中查看權(quán)重的實(shí)現(xiàn)
  • Tensorflow讀取并輸出已保存模型的權(quán)重?cái)?shù)值方式
  • tensorflow 輸出權(quán)重到csv或txt的實(shí)例
  • TensorFlow中權(quán)重的隨機(jī)初始化的方法

標(biāo)簽:長(zhǎng)沙 山西 山西 海南 安康 喀什 崇左 濟(jì)南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于tensorflow權(quán)重文件的解讀》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    仁布县| 塘沽区| 汉川市| 南投县| 维西| 瑞丽市| 广东省| 宾阳县| 濮阳县| 阿勒泰市| 都江堰市| 石渠县| 武乡县| 衡南县| 延吉市| 曲靖市| 永靖县| 从化市| 铜川市| 武定县| 鄂尔多斯市| 上蔡县| 沅江市| 石渠县| 平罗县| 礼泉县| 乌鲁木齐县| 建宁县| 海兴县| 沾益县| 桂平市| 福建省| 玛纳斯县| 襄樊市| 承德县| 瑞丽市| 南昌县| 咸宁市| 娄底市| 那曲县| 定兴县|