【问题标题】:Wrong input shape when using InceptionResNetV2使用 InceptionResNetV2 时输入形状错误
【发布时间】:2020-02-14 04:26:48
【问题描述】:

将图像馈送到预训练的 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) 图像以便模型能够处理它?

【问题讨论】:

    标签: python tensorflow keras neural-network


    【解决方案1】:

    尝试使用形状 (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))

    【讨论】:

    • 1 代表什么?它应该采取什么价值观?
    • 大概是每批图片的数量。 @吉万
    • 这是一个额外的维度,不会修改您的数据
    【解决方案2】:

    您需要输入一批图像。如果您的批次有一个图像,它也应该具有相同的格式。

    试试img.reshape((1, 200, 150, 3))

    【讨论】:

      猜你喜欢
      • 2020-12-16
      • 1970-01-01
      • 2017-10-15
      • 1970-01-01
      • 1970-01-01
      • 2019-05-11
      • 2021-04-08
      • 2018-08-15
      • 2018-08-10
      相关资源
      最近更新 更多