编程语言
首页 > 编程语言> > python-Keras VGGnet预训练模型变量大小的输入

python-Keras VGGnet预训练模型变量大小的输入

作者:互联网

我想使用VGG预训练模型提取368×368尺寸图像的特征.根据文档,VGGnet接受224×224尺寸的图像.有没有办法给Keras VGG提供可变大小的输入?

这是我的代码:

# VGG Feature Extraction
x_train = np.random.randint(0, 255, (100, 224, 224, 3))
base_model = VGG19(weights='imagenet')
modelVGG = Model(inputs=base_model.input, outputs=base_model.get_layer('block4_conv2').output)
block4_conv2_features = modelVGG.predict(x_train)

编辑代码(有效!)

# VGG Feature Extraction
x_train = np.random.randint(0, 255, (100, 368, 368, 3))
base_model = VGG19(weights='imagenet', include_top=False)
modelVGG = Model(inputs=base_model.input, outputs=base_model.get_layer('block4_conv2').output)
block4_conv2_features = modelVGG.predict(x_train)

解决方法:

输入大小会影响完全连接(密集)层中神经元的数量.因此,您需要创建自己的完全连接的层.

使用include_top = False调用VGG19以删除完全连接的图层,然后自己添加它们.检查this code以供参考.

标签:keras,deep-learning,pre-trained-model,vgg-net,python
来源: https://codeday.me/bug/20191026/1932826.html