Неправильный array shape
Загружаю изображение в обученную модель:
from keras.models import load_model
import numpy as np
from keras.preprocessing import image
model = load_model('my_model33-16.h5')
img_path='/home/alexander/s_gray/3_39095_31718.png'
img = image.load_img(img_path)
img_tensor = image.img_to_array(img)
img_tensor = np.expand_dims(img_tensor, axis=0)
Выдает ошибку:
ValueError: Error when checking input: expected img to have shape (128, 128, 1) but got array with shape (128, 128, 3)
Что нужно исправить? Изображение в grayscale переводил, толку не дало.
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Попробуйте так:
img = image.load_img(img_path, color_mode="grayscale")
img_tensor = image.img_to_array(img)
проверка:
In [12]: img = image.load_img(r"D:\download\t-SNE3.jpg", color_mode="grayscale")
In [13]: img_tensor = image.img_to_array(img)
In [14]: img_tensor.shape
Out[14]: (1140, 1862, 1)