Keras 中間層 輸出

2021-09-10 14:18:02 字數 980 閱讀 5971

如何獲取中間層的輸出?

一種簡單的方法是建立乙個新的model,使得它的輸出是你想要的那個輸出

from keras.models import model

model = … # create the original model

layer_name = 『my_layer』

intermediate_layer_model = model(input=model.input,

output=model.get_layer(layer_name).output)

intermediate_output = intermediate_layer_model.predict(data

此外,我們也可以建立乙個keras的函式來達到這一目的:

from keras import backend as k

get_3rd_layer_output = k.function([model.layers[0].input],

[model.layers[3].output])

layer_output = get_3rd_layer_output([x])[0]

當然,我們也可以直接編寫theano和tensorflow的函式來完成這件事

注意,如果你的模型在訓練和測試兩種模式下不完全一致,例如你的模型中含有dropout層,批規範化(batchnormalization)層等元件,你需要在函式中傳遞乙個learning_phase的標記,像這樣:

get_3rd_layer_output = k.function([model.layers[0].input, k.learning_phase()],

[model.layers[3].output])

layer_output = get_3rd_layer_output([x, 0])[0]

layer_output = get_3rd_layer_output([x, 1])[0]

keras 中文文件

keras 如何獲得中間層的輸出???

剛開始接觸keras的時候,覺得這個框架很方便使用,就像搭積木一樣,但有時候為了理解模型中間的資料流向,摸清楚模型內部的資料傳輸是什麼樣子的就有點麻煩。事實上,keras也為我們提供了方法,其中最簡單的方法就是在原來的模型之外在建立乙個小型的模型,擷取原始模型從輸入層到你你感興趣的那一層作為新模型的...

ndis中間層 發包

這個問題,大部分學習ndis中間層的人都會去思考,算是乙個比較經典的問題了。到論壇上問,別人只會告訴你大概的方法和步驟,這裡貼出具體的 希望對研究ndis中間層的哥們有些幫助 ndis status mysendpacket ndis handle ndisbindinghandle,ndis ha...

連線中間層加密服務失敗,請確認中間層加密服務已啟動

主要原因 在金蝶k3中間層計算機同時安裝金蝶k3客戶端,如果成功連線金蝶k3中間層並登入金蝶k3,則基本排除中間層本身故障 1 另一計算機連線至金蝶k3中間層計算機所連同一路由器,並安裝金蝶k3客戶端。如果連線中間層成功,排除中間層系統環境設定問題。2 否則,中間層計算機可能存在環境設定問題,可參照...