Flask – это облегченная веб-инфраструктура, написанная на python, которая упрощает начало работы с веб-приложением, а также поддерживает расширения для создания сложных приложений.

Давайте разделим весь процесс на 2 этапа:
1. Обучение модели
2. Развертывание обученной модели с помощью flask

1. Обучить модель

Давайте построим модель классификации изображений, используя Keras, чтобы идентифицировать определенный тип кактуса на аэрофотоснимках. Наша модель должна уметь определять, содержит ли данное изображение растение кактус. Более подробную информацию об этом наборе данных можно найти в исследовательской статье: https://doi.org/10.1016/j.ecoinf.2019.05.005.

Начало работы

Keras — это высокоуровневая библиотека нейронных сетей, работающая поверх tensorflow. Он был разработан с акцентом на возможность быстрого экспериментирования. (https://keras.io/)

Набор данных имеет 2 папки обучения и проверки. Каждая из папок содержит папку с изображениями кактусов и другую папку с изображениями не кактусов. Есть 17500 изображений для обучения и 4000 изображений для тестирования. В Keras есть функция ImageDataGenerator, позволяющая загружать изображения пакетами из исходных папок и выполнять необходимые преобразования. Это более полезно, когда памяти недостаточно для загрузки всех изображений сразу.

# это генератор, который будет считывать изображения, найденные в
# подпапках 'training_set', и бесконечно генерировать
# пакеты данных дополненных изображений
train_generator = train_datagen.flow_from_directory(
'training_set', # это целевой каталог,
class_mode='binary')
# это аналогичный генератор для проверки данных
validation_generator = test_datagen.flow_from_directory(
'validation_set',
target_size=(100 , 100),
color_mode=”rgb”,
batch_size=batch_size,
class_mode='binary')