您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關使用Tensorflow怎么合并通道并加載子模型,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
(1)將兩個子模型的輸出合并到一個通道,例如同時連接到一個全連接層如圖
合并方法為 tf.concat()函數。此函數需要兩個個參數 concat(0或1,[合并節點1,合并節點2] )。0 或 1 代表節點合并的方式:0 代表合并后列相同,行增加;1 代表合并后行相同,列增加。
上圖所示合并方法為: X_20 = tf.concat(1, [X_top, X_down]);
(2)加載預訓練好模型的部分參數。例如訓練完成了一個五層網絡,現在需要訓練好一個七層網絡,使用已訓練好的五層網絡參數初始化七層網絡的前五層。
首先,五層網絡保存模型時的參數變量名要和七層網絡的需要初始化的參數變量名保持一致。
然后,定義加載指定變量名的 tf.train.Saver()。
例如:
Saver在restore模型時就會只加載 W_fc1_I, W_fc2_I, b_fc1_I, b_fc2_I 這四個參數,并且初始化當前模型中變量名相同的變量。需要注意的是,其他參數也是需要初始化的,一種避免遺漏初始化變量的方法是首先使用 initialize_all_variables() 函數對所有參數進行初始化之后再調用 restore 函數初始化需要的部分參數。
看完上述內容,你們對使用Tensorflow怎么合并通道并加載子模型有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。