- Скачиваем репозиторий по ссылке
- Там же скачиваем модель
- Конвертируем модель в onnx
На данном шаге выбираем размер батча
python export.py --weights ./yolov7-tiny.pt \
--grid \
--batch-size 2 \
--end2end \
--simplify \
--topk-all 100 \
--iou-thres 0.65 \
--conf-thres 0.35 \
--img-size 640 640
После того, как была получена модель, её можно открыть в программе netron и убедиться, что выход модели соответствует представленому на изображении
Для конвертации в trt нужно установить библиотеки cudnn и tensorrt. Рекомендуется устанавливать из tar.gz пакетов
-
Установить cudnn https://developer.nvidia.com/rdp/cudnn-download
-
Установить tensorrt https://developer.nvidia.com/nvidia-tensorrt-8x-download
После установки прописать путь в ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/TensorRT-8.6.0.12:/usr/local/cuda-11.4/targets/x86_64-linux/lib
sudo ./install_opencv.sh
Не забыть указать в CmakeList.txt свои пути
Конвертация с помощью trtexec, пример:
/usr/local/TensorRT-8.6.0.12/bin/trtexec --onnx=yolov7-b2.onnx --saveEngine=yolov7-nms-b2.trt --fp16
Полученный файл закидываем в папку weights