Tensorflow 合并通道及加載子模型的方法
最近在使用Tensorflow 實現(xiàn)DNN網(wǎng)絡時,遇到一些問題。目前網(wǎng)上關于Tensorflow的資料還比較少,現(xiàn)把問題和解決方法寫出來,僅供參考。
(1)將兩個子模型的輸出合并到一個通道,例如同時連接到一個全連接層如圖
合并方法為 tf.concat()函數(shù)。此函數(shù)需要兩個個參數(shù) concat(0或1,[合并節(jié)點1,合并節(jié)點2] )。0 或 1 代表節(jié)點合并的方式:0 代表合并后列相同,行增加;1 代表合并后行相同,列增加。
上圖所示合并方法為: X_20 = tf.concat(1, [X_top, X_down]);
(2)加載預訓練好模型的部分參數(shù)。例如訓練完成了一個五層網(wǎng)絡,現(xiàn)在需要訓練好一個七層網(wǎng)絡,使用已訓練好的五層網(wǎng)絡參數(shù)初始化七層網(wǎng)絡的前五層。
首先,五層網(wǎng)絡保存模型時的參數(shù)變量名要和七層網(wǎng)絡的需要初始化的參數(shù)變量名保持一致。
然后,定義加載指定變量名的 tf.train.Saver()。
例如:
Saver在restore模型時就會只加載 W_fc1_I, W_fc2_I, b_fc1_I, b_fc2_I 這四個參數(shù),并且初始化當前模型中變量名相同的變量。需要注意的是,其他參數(shù)也是需要初始化的,一種避免遺漏初始化變量的方法是首先使用 initialize_all_variables() 函數(shù)對所有參數(shù)進行初始化之后再調(diào)用 restore 函數(shù)初始化需要的部分參數(shù)。
此方法只是其中一種解決方法,僅供參考。
以上這篇Tensorflow 合并通道及加載子模型的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python實現(xiàn)單鏈表中刪除倒數(shù)第K個節(jié)點的方法
這篇文章主要為大家詳細介紹了python實現(xiàn)單鏈表中刪除倒數(shù)第K個節(jié)點的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09PyCharm 配置遠程python解釋器和在本地修改服務器代碼
這篇文章主要介紹了PyCharm 配置遠程python解釋器和在本地修改服務器代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07python 刪除系統(tǒng)中的文件(按時間,大小,擴展名)
這篇文章主要介紹了python 如何刪除系統(tǒng)中的文件,分別按時間,大小,擴展名刪除,滿足不同需求,感興趣的朋友可以了解下2020-11-11Python?pandas?DataFrame數(shù)據(jù)拼接方法
我們都知道在使用pandas處理數(shù)據(jù)的時候,往往會需要合并兩個或者多個DataFrame的操作,下面這篇文章主要給大家介紹了關于Python?pandas?DataFrame數(shù)據(jù)拼接方法的相關資料,需要的朋友可以參考下2022-07-07基于本地知識的問答機器人langchain-ChatGLM 大語言模型實現(xiàn)方法詳解
這篇文章主要介紹了基于本地知識的問答機器人langchain-ChatGLM 大語言模型實現(xiàn)方法,結(jié)合具體實例形式詳細分析了langchain-ChatGLM的功能、原理、部署方法與操作注意事項,需要的朋友可以參考下2023-07-07Python將string轉(zhuǎn)換到float的實例方法
在本篇文章中小編給大家分享的是關于Python將string轉(zhuǎn)換到float的實例方法以及相關知識點,需要的朋友們參考下。2019-07-07