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是一样的..
一般我看人用的都是第二个...