预测时是否可以从预训练的 vgg 模型中获得第 1 层和第 5 层输出?
Is it possible to get 1st and 5th layer output from pretrained vgg model when predicting?
我需要使用 VGG 预训练模型从图像中提取特征。我还需要从 VGG 预训练模型的第 1 层和第 5 层获取输出。真的可以这样做吗?
如果是,谁能提供工作代码?
编辑:
我将预训练模型下载为
model = VGG16()
然后我用图像预测为:
model.predict(image)
现在我想获得中间层(第 1 个卷积层和第 5 个卷积层)的输出为:
x=model.layers[5].output
但是当我转换张量时它会产生一个空矩阵。代码中的问题是什么?
N.B: 我需要一个输出矩阵而不是张量
使用您想要的图层创建一个新模型。
newModel = Model(model.inputs,
[model.layers[5].output, model.layers[i].output])
根据新模型预测:
layer5, layerI = newModel.predict(imageS)
我需要使用 VGG 预训练模型从图像中提取特征。我还需要从 VGG 预训练模型的第 1 层和第 5 层获取输出。真的可以这样做吗?
如果是,谁能提供工作代码?
编辑: 我将预训练模型下载为
model = VGG16()
然后我用图像预测为:
model.predict(image)
现在我想获得中间层(第 1 个卷积层和第 5 个卷积层)的输出为:
x=model.layers[5].output
但是当我转换张量时它会产生一个空矩阵。代码中的问题是什么?
N.B: 我需要一个输出矩阵而不是张量
使用您想要的图层创建一个新模型。
newModel = Model(model.inputs,
[model.layers[5].output, model.layers[i].output])
根据新模型预测:
layer5, layerI = newModel.predict(imageS)