Проблема ввода ResNet50 для извлечения объектов в Keras - PullRequest
0 голосов
/ 06 июня 2019

Я использую предварительно обученную модель Resnet50 для простого извлечения функций для изображений. но это дает мне эту ошибку.

Error when checking input: expected input_9 to have the shape (224, 224, 3) but got array with shape (244, 244, 3)

Я думал, что правильно изменил форму и добавил к ней измерение, как сказано в этом уроке. https://www.kaggle.com/kelexu/extract-resnet-feature-using-keras

Но это все равно дает мне вышеуказанную ошибку.

Что я здесь не так делаю?

# load pre-trained resnet50
base_model = ResNet50(weights='imagenet', include_top=False,pooling=max)
x = base_model.output
input = Input(shape=(224,224,3))
x = Flatten()(input)
model = Model(inputs=input, outputs=x)
# Load in image
img = image.load_img("001.png", target_size=(244, 244))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)
print(x.shape) # This produces (1, 244, 244, 3)
features  = model.predict(x)
features_reduce =  features.squeeze()

1 Ответ

2 голосов
/ 06 июня 2019

Изменение

img = image.load_img("001.png", target_size=(244, 244))

до

img = image.load_img("001.png", target_size=(224, 224))

...