当向预先训练过的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)图像,必须做些什么?
发布于 2020-02-13 20:18:22
尝试用形状(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))
发布于 2020-02-13 20:26:48
你需要给一批图像。如果您的批处理有一个图像,它也应该有相同的格式。
试试img.reshape((1, 200, 150, 3))
https://stackoverflow.com/questions/60215782
复制相似问题