文章目录
源码下载
https://gitee.com/yang_guo123/yolox_tensorrt
才疏学浅,若有不足之处请大家指出,喜欢的话可以点个star
一、整体实现方法
1.部署流程
在深度学习部署过程中,流程如下所示:
1、采集工程所需训练数据
2、通过pytorch、tensorflow等深度学习框架训练网络
3、将训练好的网络导出onnx格式文件
4、通过深度学习部署框架对onnx文件进行部署
2.TensorRT的安装
TensorRT是英伟达开发的一个深度学习推理框架,在N卡上具有较好的性能,在安装时,首先打开TensorRT主页(https://developer.nvidia.com/tensorrt),登录英伟达账号,并下载tensorrt8,在这里我使用的是8.2.4.2版本。
将下载的文件解压到自己的路径当中(注意:路径当中最好不带中文字符),接下来设置环境变量,将TensorRT主目录中的lib添加到环境变量当中,由于之后会使用trtexec工具,建议将bin文件夹也加入环境变量。
这时TensorRT的主体部分已经安装完成,接下来安装tensorrt在python中的库。
首先在anaconda当中创建一个tensorrt的环境,并使用pip安装pycuda库,用于调用GPU。
然后打开tensorrt主目录下的python文件夹,其中有python3.6-3.9的安装包,选择适合的安装包进行安装。
最后,在cmd当中打开python,并输入import tensorrt as trt,若没有报错,则说明安装成功。
3.onnx文件的导出
本文使用的yolox代码为https://github.com/bubbliiiing/yolox-pytorch, 因此接下来的模型的转换是以这个仓库作为教程,若使用官方代码,则需一定修改。
首先,将代码克隆到本地,并下载对应的权重文件。在predict.py文件中将mode设置为export_onnx,并运行代码导出onnx文件。
if __name__ == "__main__":
yolo = YOLO(model_path=权重文件路径, classes_path=分类标签文件路径, phi='s')
#----------------------------------------------------------------------------------------------------------#
# mode用于指定测试的模式:
# 'predict' 表示单张图片预测,如果想对预测过程进行修改&#