我需要使用VGG预训练模型从图像中提取特征。我还需要从VGG预训练模型的第1层和第5层获取输出。真的有可能这样做吗?
是的,任何人都可以提供工作代码吗?
编辑: 我将预训练模型下载为
model = VGG16()
然后我用图像预测它为:
model.predict(image)
现在我想获得中间层(第一卷积层和第五卷积层)的输出,如下:
x=model.layers[5].output
但是当我转换张量时它会产生一个空矩阵。代码有什么问题?
NB:我需要一个输出矩阵而不是张量
答案 0 :(得分:1)
使用所需的图层创建一个新模型。
newModel = Model(model.inputs,
[model.layers[5].output, model.layers[i].output])
根据新模型进行预测:
layer5, layerI = newModel.predict(imageS)