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目录

20c113236b990d772df1469d97a55ed3.png

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

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

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值