有時我們有檢視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
(reader_01.get_tensor(tensor_name))
(reader_02.get_tensor(tensor_name))
for key1 in
base_var_shape_map:
if tensor_name in
key1:
(reader_01.get_tensor(key1))
print('
tensor name:{}
'.format(key1))
print('
###############################')
for key1 in
target_shape_map:
if tensor_name in
key1:
(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...