Для обучения нейросети был собран датасет с птицами европейской части России. Всего в обучении участовало 350 классов.
Не менее 100 изображений на класс.
Bird dataset from Google Drive
- латинские названия птиц были взяты тут
- с помощью библиотек selenium; urllib; user_agent; logging были собраны изображения из google images по латинским названиям
- вручную очищен датасет
В задаче классификации участвовали фотографии 350 классов. Это распростинённые в европейской части России виды птиц. (фотографии были собраны из google images по латинским названиям.
В качестве модели использовалась предобученная EfficientNet
CrossEntropyLoss
-
train loss: 0.665
-
validation loss: 0.693
-
Train accuracy: 82.559685%
-
Validation accuracy: 81.350510%
@bird_species_bot по ссылке
- aiogram==2.17.1
- torch==1.10.0+cpu
- torchvision==0.11.1+cpu
- efficientnet-pytorch==0.7.1
- wikipedia==1.4.0
- 1 Телеграм бот bot.py получает на вход картинку
- 2 Сохраняет в папку
- 3 Передаёт на вход app.py
- 3.1 Трансформирование изображения
- 3.2 Предсказание класса и вероятности предобученной моделью efficientnet-b0
- 4 Бот передёт пользователю топ-3 предсказанных класса и вероятности.
- 5 Удаляет картинку
- 6 По латинскому названию класса с максимальной вероятностью выдаётся страница с википедии wiki_parser.py