win10 yolov5转换Tensorrt的engine模型全流程安装运行解读(使用TRT的PythonApi)

版本:

版本请一一对应,版本不对,最终转engine也会出错
Python 3.8.x,Cuda 11.0.x,Cudnn 8.2.1,Tensorrt 8.2.4.2,Yolov5 6.1

步骤:

1、Python 3.8推荐使用对应版本的Anaconda进行安装
2、安装Cuda,下载Cudnn(此过程省略,不懂的可以百度,安装比较简单)
3、打开 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
找到你安装的版本目录,打开,找到bin、include、lib目录,将cuDNN压缩包内对应的文件复制到bin、include、lib目录。
系统环境变量需要添加下面两个路径,我使用的是默认的安装路径。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\lib\x64
4、下载Tensorrt 8.2.4.2,将Tensorrt 8.2.4.2文件夹放入C盘根目录,环境变量Path中加入C:\TensorRT-8.2.4.2\lib,将Tensorrt 8.2.4.2中的lib文件夹中的dll文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin目录下
5、安装Tensorrt 8.2.4.2文件夹中的graphsurgeon、onnx_graphsurgeon、uff、python的中对应python3.8的whl文件
6、修改D:\Anaconda\Lib\site-packages\torch\nn\modules\activation.py如下

win10 yolov5转换Tensorrt的engine模型全流程安装运行解读(使用TRT的PythonApi)_第1张图片

7、修改yolov5源码中export.py如下

win10 yolov5转换Tensorrt的engine模型全流程安装运行解读(使用TRT的PythonApi)_第2张图片

下图根据自身模型data位置和pt位置修改;此处device根据推理机器来选择,如果是cpu就改cpu,gpu就改为0;include修改为engine,之后运行export.py会自动生成onnx和engine文件
win10 yolov5转换Tensorrt的engine模型全流程安装运行解读(使用TRT的PythonApi)_第3张图片

8、运行export.py

注意,此处只要不报错,需要等待较长时间,本人使用基于yolov5x6.pt训练出来的模型转换engine,export.py整个运行过程接近30分钟

9、使用detect.py进行预测,imgsz为1280:

pt时间约0.1s,engine时间为0.03s,速度提升接近三倍,根据结果来看,精度依旧很高

你可能感兴趣的:(深度学习,pytorch,python)