此教程主要是参考YOLOX代码的README和网上的教程。
记录自己遇到的问题以及解决的办法。
1. 下载代码和权重文件
YOLOX:https://github.com/Megvii-BaseDetection/YOLOX
torch2trt: https://github.com/NVIDIA-AI-IOT/torch2trt
2. 安装
-
YOLOX解压即安装结束
-
torch2trt安装:
cd torch2trt
python setup.py install
3. 生成engine文件
- 把tools/demo.py和tools/trt.py脚本copy到YOLOX文件夹的根目录。
要不然路径总是有问题
- 在trt.py文件中修改参数:
parser.add_argument("-w", '--workspace', type=int, default=32, help='max workspace size in detect')
32是运行时要用4GB显存,根据自己具体的显存改
- 引擎生成
python tools/trt.py -n yolox-s -c your_ckpt.pth
或者
python tools/trt.py -f /path/to/your/yolox/exps/yolox_s.py -c your_ckpt.pth
至此,engine文件生成。
4. build the demo
因为使用的权重文件是源代码提供的,所以在这里num_class
不修改。
1. 改CMakeList
cd YOLOX/demo/TensorRT/cpp
# cuda
include_directories(/data/cuda/cuda-10.2/cuda/include)
link_directories(/data/cuda/cuda-10.2/cuda/lib64)
# cudnn
include_directories(/data/cuda/cuda-10.2/cudnn/v8.0.4/include)
link_directories(/data/cuda/cuda-10.2/cudnn/v8.0.4/lib64)
# tensorrt
include_directories(/data/cuda/cuda-10.2/TensorRT/v7.2.1.6/include)
link_directories(/data/cuda/cuda-10.2/TensorRT/v7.2.1.6/lib)
把这些路径改为自己电脑中的路径,一定要改。
2. 构建包
在当前目录下。
mkdir build
cd build
cmake ..
make
- 在这个阶段遇到的问题
解决办法1:安装opencv。
a. 这里安装的opencv4.2,教程:https://blog.csdn.net/nyist_yangguang/article/details/120442945
b. 安装完之后,按照:https://blog.csdn.net/u011622208/article/details/115208377 处理opencv2
解决办法2:(没试过)
在写这篇总结时,看到README在build the demo之前有说,Install opencv with ```sudo apt-get install libopencv-dev```(we don't need a higher version of opencv like v3.3+).
感兴趣可以尝试一下。
3. 运行
还是在当前目录下YOLOX/demo/TensorRT/cpp/build
./yolox ../model_trt.engine -i ../../../../assets/dog.jpg
大功告成!
5. 总结
教程以README为主,网上为辅。
References
https://blog.csdn.net/qq_43515934/article/details/123934547