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

2021-08-20 23:37:48 字數 642 閱讀 1269

剛開始接觸keras的時候,覺得這個框架很方便使用,就像搭積木一樣,但有時候為了理解模型中間的資料流向,摸清楚模型內部的資料傳輸是什麼樣子的就有點麻煩。

事實上,keras也為我們提供了方法,其中最簡單的方法就是在原來的模型之外在建立乙個小型的模型,擷取原始模型從輸入層到你你感興趣的那一層作為新模型的輸入和輸出,在predict一下就出來你想要的那一層的結果啦!

from

keras.models

import

model

model = ...

# 建立原始模型 原來你的那個模型,不變

layer_name =

'my_layer'#你想要獲得輸出的原始模型中那一層的名稱

intermediate_layer_model = model(inputs=model.input, outputs=model.get_layer(layer_name).output)#你建立新的模型

#這個新的模型擷取了原始模型中從輸入到某個層(你想要得到結果的那一層)的一部分,

intermediate_output = intermediate_layer_model.predict(data)#這個資料就是原始模型的輸入資料,

Keras 中間層 輸出

如何獲取中間層的輸出?一種簡單的方法是建立乙個新的model,使得它的輸出是你想要的那個輸出 from keras.models import model model create the original model layer name my layer intermediate layer m...

pytorch獲取模型的中間層輸出結果

在inference階段,整個模型會load到gpu上,進行端到端的計算,通常只會給你輸出乙個最終結果。如果想要獲取模型的中間層輸出,則需要在計算前標定目標層位置 通過forward返回 或者把模型在那層截斷 當作乙個小模型 輸出def forward self,x layer1 out self....

caffe 從模型中獲取中間層的輸出

首先需要兩個檔案 1.caffemodel 和 deploy.prototxt 2.網路輸入的資料檔案以及需要輸出的那一層的名字 下面以vgg face為例 我需要獲取pool5的輸出 coding utf 8 import sys sys.path.insert 1,home develop ca...