Для простых алгоритмов классификации в Керасе вход всегда должен быть одинакового размера. Поскольку нейронные сети с прямой связью состоят из входного слоя, от одного до многих скрытых слоев и одного выходного слоя со всеми подключенными узлами, у вас всегда должен быть вход на каждом входном узле. Кроме того, форма и другие гиперпараметры нейронной сети являются статическими, поэтому вы не можете изменить количество входов и размер каждого изображения в одной нейронной сети.
Лучшей практикой для вашего случая будет уменьшение всех изображений до размера самого маленького изображения или увеличение всех изображений до размера самого большого изображения.
* Уменьшение массы 1006 *
При уменьшении вы будете активно удалять пиксели с вашего изображения, включая информацию, содержащуюся в пикселях. Это может привести к переоснащению, но также уменьшит время вычислений.
Upsizing
При увеличении вы добавляете пиксели к вашему изображению, не добавляя информацию. Это увеличит время вычислений, но вы сохраните информацию каждого изображения.
Для хорошего начала я бы посоветовал вам попробовать уменьшить ваши изображения до самого маленького. Это обычная практика и в науке [1] . Для этого есть одна библиотека: OpenCV . По вопросам реализации, пожалуйста, обратитесь к нескольким вопросам по Stackoverflow:
Python - изменить размер изображения
Opencv-Python-Изменение размера изображения