tensorflow獲取預訓練模型某層參數(shù)并賦值到當前網(wǎng)絡指定層方式
已經(jīng)有了一個預訓練的模型,我需要從其中取出某一層,把該層的weights和biases賦值到新的網(wǎng)絡結構中,可以使用tensorflow中的pywrap_tensorflow(用來讀取預訓練模型的參數(shù)值)結合Session.assign()進行操作。
這種需求即預訓練模型可能為單分支網(wǎng)絡,當前網(wǎng)絡為多分支,我需要把單分支A復用到到多個分支去(B,C,D)。
先導入對應的工具包
from tensorflow.python import pywrap_tensorflow
接下來的操作在一個tf.Session中進行
reader = pywrap_tensorflow.NewCheckpointReader(pre_train_model_path) # 獲取當前圖可訓練變量 trainable_variables = tf.trainable_variables() # 需要賦值的當前網(wǎng)絡層變量,這里只是隨便起的名字。 restore_v_target_name = "fc_target" # 需要的預訓練模型中的某層的名字 restore_v_source_name = "fc_source" for v in trainable_variables: if restore_v_target_name == v.name: # 回復weights和biases sess.run( tf.assign(v, reader.get_tensor(restore_v_source_name + "/weights"))) if "weights" in v.name else sess.run( tf.assign(v, reader.get_tensor(restore_v_source_name + "/biases")))
以上這篇tensorflow獲取預訓練模型某層參數(shù)并賦值到當前網(wǎng)絡指定層方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
使用python將圖片格式轉(zhuǎn)換為ico格式的示例
今天小編就為大家分享一篇使用python將圖片格式轉(zhuǎn)換為ico格式的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10PyTorch搭建雙向LSTM實現(xiàn)時間序列負荷預測
這篇文章主要為大家介紹了PyTorch搭建雙向LSTM實現(xiàn)時間序列負荷預測,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05