У меня есть следующая функция для чтения изображений с SO:
from keras.preprocessing import image as kimage
from keras.applications.vgg16 import preprocess_input
def read_image(path):
img = kimage.load_img(path, target_size=(224, 224))
tmp = kimage.img_to_array(img)
tmp = np.expand_dims(tmp, axis=0)
tmp = preprocess_input(tmp)
return tmp
И я создаю следующий генератор данных, который в основном повторяет строки моего пути и вызывает предыдущую функцию. Я хочу вызвать функцию чтения изображения и поместить ее вывод в массив, который я могу ввести в функцию подбора керас. Я использую этот код:
batch_holder = np.zeros((batch_size, 224, 244, 3))
for j, row in batch.iterrows():
batch_holder[j, :] = read_image(row['path'])[0]
Но это не работает, и я получаю следующую ошибку, которую я считаю невозможной для интерпретации:
Файл "train.py", строка 71, в data_generator
batch_holder [j,:] = read_image (row ['path']) [0] ValueError: не удалось передать входной массив из фигуры (224,224,3) в фигуру
(224,244,3)
Что я делаю не так?