我有以下代码:
model = DeepFace.build_model('VGG-Face')
print(img.shape) # (224, 224, 3)
print(model.input_shape) # (None, 224, 224, 3)
representation = model.predict(img)
print(representation)
return representation
字符串
但我得到了以下错误:
ValueError: Input 0 of layer "model_3" is incompatible with the layer: expected shape=(None, 224, 224, 3), found shape=(32, 224, 3)
型
那么,我如何将img重塑为(None,224,224,3)
谢啦,谢啦
1条答案
按热度按时间wljmcqd81#
如@ fritera所示,为预测准备Tensor的方法是
np.expand_dims()
。假设我们的模型看起来像这样
字符串
假设这是VGGFace,那么我们需要确保图像是224 x224 x3,并且我们需要添加这个“批处理”维度。(假设我们已经用
PIL.Image.open()
加载了图像)我们可以准备图像:
型
模型总是期望批次-当你训练时,你提供批次,当你预测时,你必须提供批次-在这种情况下,它只是一个1的“批次”。