如何正确使用vgg mod的中间层

2024-10-03 15:22:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我所做的是:

from keras.applications.vgg16 import VGG16
from keras.layers import *
from keras.models import Model
import numpy as np 

vgg_model = VGG16(weights='imagenet', include_top=False, input_shape = (224,224, 3)) 

block5_conv3 = vgg_model.get_layer("block5_conv3").output

input_image = Input(shape=(224,224, 3), name='image_input')
vgg_out = vgg_model(input_image)

f0 = Flatten()(block5_conv3)

test_model = Model(inputs=input_image, outputs=f0)
print(test_model.summary())

但我收到了以下错误消息:

^{pr2}$

我觉得我做这件事的方式有点不对劲,但却找不到正确的方法。在


Tags: fromtestimageimportinputmodelkerasshape
1条回答
网友
1楼 · 发布于 2024-10-03 15:22:21

在这种情况下,不需要定义Input层。您可以使用VGG模型的input属性:

vgg_model = VGG16(weights='imagenet', include_top=False, input_shape = (224,224, 3)) 

block5_conv3 = vgg_model.get_layer("block5_conv3").output
f0 = Flatten()(block5_conv3)

test_model = Model(inputs=vgg_model.input, outputs=f0)

或者,您可以定义并使用backend function

^{pr2}$

相关问题 更多 >