关于用keras提取NN中间layer输出

Build model...
__________________________________________________________________________________________________
Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
main_input (InputLayer)         (None, 89, 39)       0                                            
__________________________________________________________________________________________________
cropping1d_1 (Cropping1D)       (None, 85, 39)       0           main_input[0][0]                 
__________________________________________________________________________________________________
cropping1d_2 (Cropping1D)       (None, 85, 39)       0           main_input[0][0]                 
__________________________________________________________________________________________________
cropping1d_3 (Cropping1D)       (None, 85, 39)       0           main_input[0][0]                 
__________________________________________________________________________________________________
cropping1d_4 (Cropping1D)       (None, 85, 39)       0           main_input[0][0]                 
__________________________________________________________________________________________________
cropping1d_5 (Cropping1D)       (None, 85, 39)       0           main_input[0][0]                 
__________________________________________________________________________________________________
concatenate_1 (Concatenate)     (None, 85, 195)      0           cropping1d_1[0][0]               
                                                                 cropping1d_2[0][0]               
                                                                 cropping1d_3[0][0]               
                                                                 cropping1d_4[0][0]               
                                                                 cropping1d_5[0][0]               
__________________________________________________________________________________________________
fc1 (BatchNormalization)        (None, 85, 195)      780         concatenate_1[0][0]              
__________________________________________________________________________________________________
fc2 (Bidirectional)             (None, 85, 2048)     9994240     fc1[0][0]                        
__________________________________________________________________________________________________
fc3 (BatchNormalization)        (None, 85, 2048)     8192        fc2[0][0]                        
__________________________________________________________________________________________________
global_average_pooling1d_1 (Glo (None, 2048)         0           fc3[0][0]                        
__________________________________________________________________________________________________
main_output (Dense)             (None, 2)            4098        global_average_pooling1d_1[0][0] 
==================================================================================================
Total params: 10,007,310
Trainable params: 10,002,824
Non-trainable params: 4,486
__________________________________________________________________________________________________

假设我网络层数是上面这个结构.

如果我想得到pooling的输出, keras上有两张方法。

intermediate_layer_model = Model(inputs=model.input,outputs=model.get_layer(str('global_average_pooling1d_1')).output)
#model.summary()
#model.get_layer(str('cropping1d_1'))
intermediate_output = intermediate_layer_model.predict(data)

data是你的输入所用的数据.... 

from keras import backend as K
get_11rd_layer_output = K.function([model.layers[0].input],
                                  [model.layers[10].output])
layer_output = get_11rd_layer_output([data])[0]

我这里第10层是Pooling层.

这两个代码的output是一样的.. 

一般我看人用的都是第二个... 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值