Skip to content

MobileNetV2 classifier for prigect PiCaptcha at NSU. Dataset: Google Quick Draw

Notifications You must be signed in to change notification settings

andreysher/PiCaptcha_ML

Repository files navigation

python version 3.5

Инструкция по запуску

Для запуска проекта необходимо проделать следующие шаги:
1)Установить python 3.5 в качестве виртуальной среды
2)Установить необходимые зависимости (для этого можно воспользоваться pip из установленной ранее виртуальной среды, или же системным менеджером пакетов python). Зависимости описаны в файле requirements.txt
3)Запустить скрипт rest_api.py командой "python3 rest_api.py" или же из-под виртуальной среды. Если требуется использовать GPU, то команда будет иметь вид "CUDA_VISIBLE_DEVICES=0 python3 rest_api.py"

Описание интерфейса

Данный проект предоставляет интерфейс к обученной модели, использующей в качестве энкодера архитектуру MobileNetV2. Модель обучена на задачу классификации. Взаимодействие с моделью происходит через HTTP запросы. Данный интерфейс реализован в файле rest_api.py. В нем происходит загрузка модели в память и запуск инференса модели на каждый запрос.

Для использования GPU достаточно запустить этот код с переменной среды CUDA_VISIBLE_DEVICES=n, где n - номер GPU в терминах Nvidia CUDA.

При запуске скрипта rest_api.py запускается HTTP сервер, который слушает порт 5000 на ip 127.0.0.1. При этом на GET запросы по URL /api/image_classifier. Возвращается словарь в формате json, где оп ключу 'category' содержится предсказанный моделью класс картинки.

Пример: {'category':'apple'}

Для того чтобы узнать все возможные классы достаточно отправить GET запрос на URL /api/classes. Ответом будет список в формате json, где в алфавитном порятке будут перечислены все возможные классы картинок.

Пример: ['apple','bowtie','ceiling fan']

Для датасета google quickdraw количество классов = 345

About

MobileNetV2 classifier for prigect PiCaptcha at NSU. Dataset: Google Quick Draw

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published