Неправильный 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)
→ Ссылка