Nhq*_*azi 5 image-processing deep-learning conv-neural-network keras vgg-net
我使用了两个图像网络训练模型,即 VGG16 和 inception,在 python 中使用 Keras API 使用以下几行;其中 x 是输入图像,批量大小为简单起见 =1。
VGGbase_model = InceptionV3(weights='imagenet', include_top=False,
input_shape=(299,299,3))
Inceptionbase_model = VGG16(weights='imagenet', include_top=False,
input_shape=(224,224,3))
predictVgg16= VGGbase_model.predict_on_batch(x)
predictinception= Inceptionbase_model.predict_on_batch(x)
Run Code Online (Sandbox Code Playgroud)
我观察到 VGG16 模型预测的输出维度为 (1,512) ,我理解 512 是 VGG16 预测的特征。然而,初始模型输出的维度为 1,8,8,2048。我知道 2048 是 inception 预测的特征向量,但是什么是 8,8 以及为什么 VGG16 只有两个维度而 inception 有 3 个维度。请提出任何意见。
您只需键入以下内容即可查看所有图层大小:
print(Inceptionbase_model.summary())
print(VGGbase_model.summary())
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到它: InceptionV3,vgg16
InceptionV3(None,8,8,2048)在最后一个卷积层具有形状并且vgg16 (None, 7, 7, 512)。如果您想从每个模型中获取特征,您可以通过使用include_top=False和pooling='avg'或调用模型来实现pooling='max'(这将在最后添加一个池化层,并将为InceptionV3模型输出 2048 个特征,为vgg16.
前任。
img_shape=(299,299,3)
Inceptionbase_model = InceptionV3(input_shape=img_shape, weights='imagenet', include_top=False, pooling='avg')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2686 次 |
| 最近记录: |