每個框架都有檢視權重引數的機制,在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...