- Основной код проекта находится в директори streamlit_utils, остальные связаны с подготовкой решения и приложены для ознакомления
- В weights лежат веса модели в различных форматах
- train_utils содержит скрипт тренировки модели, конфиги, логи экспериментов
- В analysis_utils лежат скрипты предобработки датасетов для обучения
- В research содержатся заметки по существующим на рынке решениям задачи, открытым датасетам и идеям
- Из корневой директории репозитория выполнить команду
docker build --build-arg USER_ID=$UID -t lct .
- Далее:
docker run --gpus all -it --rm --ipc=host -p 8501:8501 -v $(pwd):/lct_2024 lct
- По адресу http://localhost:8501/ снает доступно веб-приложение (его также можно будет открыть на некоторых мобильных устройствах, находящихся в этой же сети)
- Результаты работы модели пишутся в streamlit_utils/logs
Так как trt-модели являются "железозависимыми", для их использования нужно выполнить конвертацию модели на устройстве, где непосредственно будет проходить инференс модели. Данный пункт является необязательным, т.к. при инференсе на небольшой локальной машине (GeForce GTX 1650 Mobile, VRAM 4GB), прироста в скорости работы не наблюдалось, а на прочих устройствах тестирование не проводилось.
- Убрать коментарий со строчки в Dockerfile, собрать контейнер
- Изменить CREATE_TENSORRT на True и задать MAX_TRT_BATCH
- При запуске контейнера сначала произойдет конвертация модели, далее она станет доступна для инференса
- При последующих запусках контейнера на данном устройстве с trt-моделью желательно снова изменить CREATE_TENSORRT на False, чтобы избежать повторной конвертации, при желании вернуться к тестированию pytorch-модели MAX_TRT_BATCH необходимо так же установить = -1