为了优化推理模型,TensorRT会采用你的网络定义,执行包括平台特定的优化,并生成推理引擎。此过程称为build阶段。Build阶段可能会花费大量时间,尤其在嵌入式平台上运行时。因此,典型的应用程序将只构建一次引擎,然后将其序列化为plan文件以供以后使用。下面将介绍如何在jetson nano上部署yolox。
【安装TensorRT工具包】
Python模型转换,推理需要安装nvidia-tensorrt
其版本选择有很严格的要求,注意选择与自己环境相符合的版本
TensorRT下载地址:
Installation Guide :: NVIDIA Deep Learning TensorRT Documentation
使用torch2trt, YOLOX模型可以很容易地转换为TensorRT模型
Torch2trt下载地址:
https://github.com/NVIDIA-AI-IOT/torch2trt
【yolox_s.pth转tensorRT】
注:哪用在哪转,转出的文件不具有可移植性
需要配置好yolox环境,参考
YOLOX环境的安装配置部署_逆水独流的博客-CSDN博客_yolox安装
cd yoloDir/YOLOX
如果你想转换YOLOX的模型,使用标志-n来指定一个模型名称:
python tools/trt.py -n <YOLOX_MODEL_NAME> -c <YOLOX_CHECKPOINT>
例如:
python tools/trt.py -n yolox-s -c your_ckpt.pth
如果你想转换你的自定义模型,使用-f标志来指定你的exp文件:
python tools/trt.py -f <YOLOX_EXP_FILE> -c <YOLOX_CHECKPOINT>
【运行】
首先需要安装pycocotools库
pip install pycocotools
之后可以用下面指令运行
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
指令含义可在tools/dome.py文件中查看,如下图。注意修改第31行的路径为你要预测的路径。
参考:yolox官网:
https://github.com/Megvii-BaseDetection/YOLOX/tree/main/demo/TensorRT/python
CSDN:YOLOX (pytorch)模型 转 tensorRT 之运行推理【YOLOX 实战四】【一文读懂】_墨理学AI的博客-CSDN博客
https://edu.csdn.net/learn/35716/536227?spm=1002.2001.3001.4157
知乎:YOLOX之TensorRT部署:Python版 - 知乎