预测时是否可以从预训练的vgg模型获得第一层和第五层输出?

时间:2019-07-03 08:56:50

标签: python keras conv-neural-network vgg-net

我需要使用VGG预训练模型从图像中提取特征。我还需要从VGG预训练模型的第1层和第5层获取输出。真的有可能这样做吗?

是的,任何人都可以提供工作代码吗?

编辑: 我将预训练模型下载为

model = VGG16()

然后我用图像预测它为:

model.predict(image)

现在我想获得中间层(第一卷积层和第五卷积层)的输出,如下:

x=model.layers[5].output

但是当我转换张量时它会产生一个空矩阵。代码有什么问题?

NB:我需要一个输出矩阵而不是张量

1 个答案:

答案 0 :(得分:1)

使用所需的图层创建一个新模型。

newModel = Model(model.inputs, 
                 [model.layers[5].output, model.layers[i].output])

根据新模型进行预测:

layer5, layerI = newModel.predict(imageS)