使用 InceptionResNetV2 时输入形状错误

将图像馈送到预训练的 InceptionResNetV2 网络时,我得到以下结果。


from keras.applications.inception_resnet_v2 import InceptionResNetV2


INPUT_SHAPE = (200, 250, 3)


img = load_img() # loads a 200x250 rgb image into a (200, 250, 3) numpy array

assert img.shape == INPUT_SHAPE # just fine


model = InceptionResNetV2(include_top=False, input_shape=INPUT_SHAPE)


model.predict(img)

ValueError:检查输入时出错:预期 input_1 有 4 个维度,但得到了形状为 (200, 150, 3) 的数组


我不明白模型为什么以及如何期望 4 维输入。必须做什么来调整 (200, 250, 3) 图像以便模型可以处理它?


眼眸繁星
浏览 164回答 2
2回答

米脂

尝试使用形状 (1, 200, 150, 3) 或 (200, 150, 3, 1) 重塑您的输入。您可以使用image = np.expand_dims(image, axis=0))或 image = input_data.reshape((-1, image_side1, image_side2, channels))

万千封印

您需要提供一批图像。如果您的批次有一个图像,它也应该具有相同的格式。尝试img.reshape((1, 200, 150, 3))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python