tensorflow檢視權重引數值

2021-08-21 17:46:47 字數 2308 閱讀 6498

每個框架都有檢視權重引數的機制,在tenstensorflow中

檢視的例子如下

import tensorflow as tf

import numpy as np

reader = tf.train.newcheckpointreader('model-100')

all_variables = reader.get_variable_to_shape_map()

w0 = reader.get_tensor("conv0/w")

print(type(w0))

print(w0.shape)

print(w0[0])

b0 = reader.get_tensor("conv0/b")

print(type(b0))

print(b0.shape)

print(b0)

注意這裡,在儲存moxi模型的目錄中有checkpoint檔案,有model-100.data-00000-of-00001和model-100.index檔案,此處我們只寫.之前的東西。

直接是numpy.ndarray格式,這個很好。

使用txt檔案儲存權重的**為

import tensorflow as tf

import numpy as np

reader = tf.train.newcheckpointreader('model-100')

all_variables = reader.get_variable_to_shape_map()

quantized_conv_list = ['conv1','conv2','conv3','conv4']

pf = open('result.txt', 'w+')

for quantized_conv_name in quantized_conv_list:

weight = reader.get_tensor(quantized_conv_name+"/w")

print quantized_conv_name

print '***************************************'

print weight.shape

[n,cout,h,w]=weight.shape

print cout,h,w

pf.write(quantized_conv_name)

pf.write('\n')

pf.write(str(n)+' '+str(cout)+' '+str(h)+' '+str(w)+'\n')

#for c in range(cout):

#pf.write('***********'+str(c)+'**********\n')

for n1 in range(n):

pf.write('***********'+str(n1)+'**********\n')

for h1 in range(h):

for w1 in range(w):

for c in range(cout):

pf.write('%f ' %weight[n1][c][h1][w1])

pf.write('\n')

#pf.write('\n')

try:

bias = reader.get_tensor(quantized_conv_name+"/b")

n2=bias.shape

print bias.shape

print n2

print '***************************************'

pf.write('\n')

pf.write('**************************bias:')

pf.write('\n')

pf.write(str(n)+'\n')

#for n1 in range(n2):

# pf.write('%f, ' %bias[n1])

#pf.write('\n')

for b in bias:

pf.write('%f '%b)

except:

print 'no bias'

pf.write('\n')

pf.close()

注意這裡的conv1/w可以在log檔案中看到。不同的命名方式不一樣。

Tensorflow中檢視權重

剛開始學習tensorflow,還不太會用,開個博記錄,今天遇到乙個問題是用tf.layers.dense建立的全連線層,如何檢視權重?知道kernel表示了權重,但是如何提示成變數?我分成兩步 1 檢視tensor tf.trainable variables 命令列裡中執行即可,如下圖 可以看到...

tensorflow 檢視ckpt模型中引數值

有時我們有檢視tensor內部變數的值的變化情況,需要挖一下,現給出解析 date 2021 5 18 author import osfrom tensorflow.python import pywrap tensorflow base model dir r model ckp 2021022...

Tensorflow 權重衰減的使用

在 tf.get variable 這個函式中有乙個命名引數為 regularizer,顧名思義,這個引數可用於正則化。在 tensorflow 官網中,regularizer 的描述如下 get variable name,shape none,dtype none,initializer non...