tensorflow 檢視ckpt模型中引數值

2022-09-14 22:12:21 字數 1524 閱讀 6990

有時我們有檢視tensor內部變數的值的變化情況,需要挖一下,現給出解析**:

"""

@date :2021/5/18

@author :***

"""import

osfrom tensorflow.python import

pywrap_tensorflow

base_model_dir = r'

model-ckp-20210222

'target_model_dir = r'

new_ckpt

'checkpoint_path_01 = os.path.join(base_model_dir, "

model.ckpt-11383419")

checkpoint_path_02 = os.path.join(target_model_dir, "

model.ckpt-94")

reader_01 =pywrap_tensorflow.newcheckpointreader(checkpoint_path_01)

reader_02 =pywrap_tensorflow.newcheckpointreader(checkpoint_path_02)

base_var_shape_map =reader_01.get_variable_to_shape_map()

target_shape_map =reader_02.get_variable_to_shape_map()

cnt =0

tensor_name = '

output_weights

'print

(reader_01.get_tensor(tensor_name))

print

(reader_02.get_tensor(tensor_name))

for key1 in

base_var_shape_map:

if tensor_name in

key1:

print

(reader_01.get_tensor(key1))

print('

tensor name:{}

'.format(key1))

print('

###############################')

for key1 in

target_shape_map:

if tensor_name in

key1:

print

(reader_02.get_tensor(key1))

print('

tensor name:{}

'.format(key1))

梯度沒有更新

梯度更新:

由上我們知道,可以通過此方式進行訓練引數凍結(如bert 12 layer),fintuing 指定引數完成特定任務

Tensorflow中檢視權重

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

tensorflow 檢視梯度方式

1.為什麼要檢視梯度 對於初學者來說網路經常不收斂,loss很奇怪 就是不收斂 所以懷疑是反向傳播中梯度的問題 1 求導之後的數 的絕對值 越來越小 趨近於0 這就是梯度程式設計客棧消失 2 求導之後的數 的絕對值 越來越大 特別大,發散 這就是梯度 所以說呢,當loss不正常時,可以看看梯度是否處...

tensorflow檢視權重引數值

每個框架都有檢視權重引數的機制,在tenstensorflow中 檢視的例子如下 import tensorflow as tf import numpy as np reader tf.train.newcheckpointreader model 100 all variables reader...