YOLOX的TensorRT加速部署

  1. 此教程主要是参考YOLOX代码的README和网上的教程。

  2. 记录自己遇到的问题以及解决的办法。

1. 下载代码和权重文件

YOLOX:https://github.com/Megvii-BaseDetection/YOLOX

torch2trt: https://github.com/NVIDIA-AI-IOT/torch2trt

2. 安装

  1. YOLOX解压即安装结束

  2. torch2trt安装:

cd torch2trt
python setup.py install

3. 生成engine文件

  1. 把tools/demo.py和tools/trt.py脚本copy到YOLOX文件夹的根目录。

要不然路径总是有问题

  1. 在trt.py文件中修改参数:
parser.add_argument("-w", '--workspace', type=int, default=32, help='max workspace size in detect')

32是运行时要用4GB显存,根据自己具体的显存改

  1. 引擎生成
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
  • 在这个阶段遇到的问题

opencv2

解决办法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

大功告成!

yunxing

5. 总结

教程以README为主,网上为辅。

References

https://blog.csdn.net/qq_43515934/article/details/123934547

你可能感兴趣的:(部署,个人记录,计算机视觉,深度学习,opencv,目标检测,图像处理)