keras 獲取某層輸出 獲取復(fù)用層的多次輸出實(shí)例
官方文檔很全面,搜索功能也很好。但是如果你想單獨(dú)實(shí)現(xiàn)某個(gè)功能,根本無(wú)從搜尋。于是我寫了這個(gè)筆記。從功能出發(fā)。
兩個(gè)tensor經(jīng)過(guò)一個(gè)layer實(shí)例會(huì)產(chǎn)生兩個(gè)輸出。
a = Input(shape=(280, 256)) b = Input(shape=(280, 256)) lstm = LSTM(32) encoded_a = lstm(a) encoded_b = lstm(b) lstm.output
這個(gè)代碼有錯(cuò)誤,因?yàn)樽詈笠恍袥](méi)有指定lstm這個(gè)layer實(shí)例的那個(gè)輸出。
>> AttributeError: Layer lstm_1 has multiple inbound nodes, hence the notion of "layer output" is ill-defined. Use `get_output_at(node_index)` instead.
所以如果想要得到多個(gè)輸出中的一個(gè):
assert lstm.get_output_at(0) == encoded_a
assert lstm.get_output_at(1) == encoded_b
補(bǔ)充知識(shí):kears訓(xùn)練中如何實(shí)時(shí)輸出卷積層的結(jié)果?
在訓(xùn)練unet模型時(shí),發(fā)現(xiàn)預(yù)測(cè)結(jié)果和真實(shí)結(jié)果幾乎完全差距太大,想著打印每層輸出的結(jié)果查看問(wèn)題在哪?
但是發(fā)現(xiàn)kears只是提供了訓(xùn)練完成后在模型測(cè)試時(shí)輸出每層的函數(shù)。并沒(méi)有提供訓(xùn)練時(shí)的函數(shù),同時(shí)本著不對(duì)原有代碼進(jìn)行太大改動(dòng)。最后實(shí)現(xiàn)了這個(gè)方法。
即新建一個(gè)輸出節(jié)點(diǎn)添加到現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)里面。
#新建一個(gè)打印層。 class PrintLayer(Layer): #初始化方法,不須改變 def __init__(self, **kwargs): super(PrintLayer, self).__init__(**kwargs) #調(diào)用該層時(shí)執(zhí)行的方法 def call(self, x): x = tf.Print(x,[x],message="x is: ",summarize=65536) #調(diào)用tf的Print方法打印tensor方法,第一個(gè)參數(shù)為輸入的x,第二個(gè)參數(shù)為要輸出的參數(shù),summarize參數(shù)為輸出的元素個(gè)數(shù)。 return x; #一定要返回tf.Print()函數(shù)返回的變量,不要直接使用傳入的變量。 #接著在網(wǎng)絡(luò)中引入 conv9 = Conv2D(2, 3, activation = 'relu', padding = 'same', kernel_initializer = 'he_normal')(conv9) print11 = PrintLayer()(conv9) conv10 = Conv2D(1, 1, activation = 'sigmoid')(print11) #PrintLayer層處理的結(jié)果一定要在下一層用到,不然不會(huì)打印tensor。該結(jié)點(diǎn)可以加在任何結(jié)點(diǎn)之間。
以上這篇keras 獲取某層輸出 獲取復(fù)用層的多次輸出實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python錄音并調(diào)用百度語(yǔ)音識(shí)別接口的示例
這篇文章主要介紹了python錄音并調(diào)用百度語(yǔ)音識(shí)別接口的示例,幫助大家更好的理解和利用python處理音頻,感興趣的朋友可以了解下2020-12-12python實(shí)現(xiàn)批量處理將圖片粘貼到另一張圖片上并保存
今天小編就為大家分享一篇python實(shí)現(xiàn)批量處理將圖片粘貼到另一張圖片上并保存,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12python實(shí)現(xiàn)簡(jiǎn)單的單變量線性回歸方法
今天小編就為大家分享一篇python實(shí)現(xiàn)簡(jiǎn)單的單變量線性回歸方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11Python pymysql模塊安裝并操作過(guò)程解析
這篇文章主要介紹了Python pymysql模塊安裝并操作過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10python實(shí)現(xiàn)字符串完美拆分split()的方法
今天小編就為大家分享一篇python實(shí)現(xiàn)字符串完美拆分split()的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Python+tkinter制作經(jīng)典登錄界面和點(diǎn)擊事件
Tkinter是?Python?標(biāo)準(zhǔn)?GUI?庫(kù),簡(jiǎn)稱?“Tk”;從本質(zhì)上來(lái)說(shuō),它是對(duì)?TCL/TK?工具包的一種?Python?接口封裝。本文將利用tkinter制作一個(gè)經(jīng)典的登錄界面和點(diǎn)擊事件,需要的可以參考一下2022-09-09詳解Python的多線程定時(shí)器threading.Timer
這篇文章主要為大家介紹了Python的多線程定時(shí)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-01-01