Практика ВШЭ 2021
Здесь минимальный набранный датасет, скрипты для тренировки и использования нейросети и юпитеровский ноутбук, который я использовал для отработки функций перед тем, как писать отдельные скрипты. Ноутбук довольно грязный, но там все в целом понятно.
Ресурсы: https://www.tensorflow.org/tutorials https://github.com/priya-dwivedi/Deep-Learning/blob/master/resnet_keras/Residual_Network_Keras.ipynb https://towardsdatascience.com/deep-learning-using-transfer-learning-python-code-for-resnet50-8acdfb3a2d38
Использование скриптов: trainer.py Собирает датасет из данной директории, компилирует и обучает нейросеть, сохраняет нейросеть по данному пути. Аргументы командной строки: Путь к директории с изображениями Размер пакета (batch_size - переменная для обучения) Количество эпох обучения Использовать простую модель (0 - нет, 1 - да. Простая модель - элементарная сверточная нейросеть, все ясно по коду. Если выбрано "нет", скрипт загружает нейросеть ResNet50 и тренирует ее) Путь к сохранению модели i.e. model.h5. Про способы сохранения - https://www.tensorflow.org/tutorials/keras/save_and_load Все аргументы обязательны Структура директории с данными - набор директорий, отвечающих за разные классы изображений (см. датасет в проекте)
predictor.py Дает предсказания по изображениям в данной директории Аргументы командной строки: Путь к модели для загрузки i.e. model.h5 Путь к директории с данными Путь к файлу результатов Все аргументы обязательны В файле с результатами названия файлов и номер предсказанного класса напротив них.
Изображения при тренировке и использовании преобразуются к размеру 64х64 пикселя. Это можно изменить в коде