Python 在keras的微调网络中访问中间层的输出

Python 在keras的微调网络中访问中间层的输出,python,neural-network,keras,Python,Neural Network,Keras,我已经在Keras中使用以下层对vgg16进行了微调: _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= vgg16 (Model)

我已经在Keras中使用以下层对vgg16进行了微调:

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
vgg16 (Model)                (None, 1, 1, 512)         14714688  
_________________________________________________________________
flatten_1 (Flatten)          (None, 512)               0         
_________________________________________________________________
dense_1 (Dense)              (None, 1024)              525312    
_________________________________________________________________
dense_2 (Dense)              (None, 512)               524800    
_________________________________________________________________
dropout_1 (Dropout)          (None, 512)               0         
_________________________________________________________________
dense_3 (Dense)              (None, 10)                5130      
=================================================================
Total params: 15,769,930
Trainable params: 8,134,666
Non-trainable params: 7,635,264
但是我可以从
flatten_1,densite_1…,中提取输入图像的特征,密集_3
by
model.layers[1]。输出,model.layers[1]。输出,model.layers[5]。输出


>如何提取VGG16中间层的特征?

< P>这是一个常见的模式,得到给定输入的中间层的输出<代码> XyTest< /C> >:

import keras.backend as K

get_layer = K.function(
    [model.layers[0].input, K.learning_phase()],
    [model.layers[LAYER_DESIRED].output])
layer_output = get_layer([x_test, 0])[0]

其中,
LAYER\u DESIRED
是要输出的层的索引

你能提供可复制的代码吗?我的猜测是,您应该以访问
模型
中间层的相同方式访问vgg16模型。