YOLOX (pytorch)模型 转 tensorRT 之运行推理Python / C++

1.torch2trt 安装

git clone https://github.com/NVIDIA-AI-IOT/torch2trt
cd torch2trt
python setup.py install

2.转换模型

python tools/trt.py -n yolox-s -c yolox_s.pth

这个过程大约需要10分钟,生成的模型保存在:

YOLOX_outputs/yolox_s/model_trt.engine

报错问题记录:

AttributeError: 'tensorrt.tensorrt.Builder' object has no attribute 'max_workspace_size'

原因是Tensorrt8.0版本有变化,这个问题的解决方法是,降低 nvidia-tensorrt 的版本 到7.2.3.4

pip install nvidia-tensorrt==7.2.* --index-url https://pypi.ngc.nvidia.com

相应的编译C++的yolox代码也要使用tensorrt7.2.3.4

3.tensorRT 模型 Python 推理测试

python tools/demo.py image -n yolox-s --trt --save_result
# 或者 
python tools/demo.py image -f exps/default/yolox_s.py --trt --save_result

4.COCO数据集评估

datasets/COCO/val2017$ find -type f | wc -l
5000
# 运行命令如下
time python tools/demo.py image -n yolox-s --trt --save_result --path datasets/COCO/val2017


5.下载安装Tensorrt7.2.3.4

重点,一定要和模型转换使用的版本一致!!!否则编译成功运行时会出现以下错误:

Version tag does not match. Note: Current Version: 43, Serialized Engine Version: 96)

连接下载

developer.download.nvidia.cn

执行tar xzf解压

6.修改CMakeLists.txt

加入tensorrt,cuda,cudnn的include、lib目录

YOLOX (pytorch)模型 转 tensorRT 之运行推理Python / C++_第1张图片

7.编译 tensorRT 模型 C++ 推理测试

make -j 顺利执行之后生成得到 可执行文件yolox* ,我们需要 ldd yolox 检查该文件依赖

./yolox ~/ai/yolox/YOLOX_outputs/yolox_s/model_trt.engine -i ~/Pictures/1.jpg

你可能感兴趣的:(python,pytorch,深度学习,开发语言,人工智能)