1、系统环境:
Jetpack5.1.2、CUDA11.4、Cudnn8.6.0、Tensorrt8.5.2、OpenCV4.5;
2、YOLOX 训练环境配置
conda create -n yolox python==3.8 -y # for Linux
conda activate yolox
按照要求下载指定包,关于Torch等包安装类是博客较程很多。
3、下载权重文件和导出enginen模型
python tools/trt.py -n yolox-s -c path/yolox_s.pth
导出的模型默认放在YOLOX/demo/TensorRT/cpp文件夹中
然后进行部署,需要留意的就是更改yolox.cpp文件,和CmakeLIsts文件
其中yolox.cpp文件 主要修改图像的输入大小,tiny、nano改为416*416, S、M 为640*640;
CmakeLIsts文件 更改cuda 和cudnn的路径,tensorrt路径注释掉。
# cuda
include_directories(/usr/local/cuda-11.4/include)
link_directories(/usr/local/cuda-11.4/lib64)
# cudnn
include_directories(/usr/local/cuda/include)
link_directories(/usr/lib/aarch64-linux-gnu)
4、编译然后运行
在build文件夹下,运行
./yolox ../model_trt.engine -i ../../../../assets/dog.jpg
/home/nvidia/code/deeplearning/YOLOX/demo/TensorRT/cpp/build/det_res.jpg
我用的为tiny模型,把狗识别为猫了,不知道为什么,不过整体还行。