概要
将训练好的YOLOX模型部署在windows系统下的GPU上。这里我选用的tensorrt版本为7.2.3、cuda版本为10.2。现在也有更好的cuda版本和tensorrt版本,后续若有时间再进行其他版本的尝试。
cuda10.2安装配置
1、下载cuda10.2
打开官网(https://developer.nvidia.com/cuda-toolkit-archive),选择10.2下载。
2、运行安装包,路径默认,选择精简安装模式,后面一路默认就OK,安装成功关闭。
3、配置环境变量。
安装结束后,右键 我的电脑–>属性–>高级系统设置–>环境变量,系统变量中已经加入了cuda的两个路径。再在系统变量path中加入下面的4个变量.
4、测试
打开cmd输入nvcc -V
cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite
运行bandwidthTest.exe
执行 deviceQuery.exe
至此,cuda10.2配置完成。
二、cudnn8.1.0下载与配置
1、 官网下载(https://developer.nvidia.com/cudnn)
2 将解压文件里面的bin、include、lib文件夹里面的文件全部复制到CUDA安装目录C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2下对应的bin、include、lib里。
三、tensorrt7.2.3配置与测试
1、官网下载tensorrt安装包
https://developer.nvidia.com/nvidia-tensorrt-7x-download#trt72
2、添加环境变量
将D:\w\TensorRT-7.2.3.4\lib加到环境PATH中(根据自己路径)
3 解压下载好的文件,复制lib目录下的dll文件到cuda10.2的bin下(例如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin)
4、vs2017配置Tensorrt,并测试
参考https://blog.csdn.net/qq_43631789/article/details/116641664
此处的tensorrt测试程序已配置并编译好,所以不用再vs2017配置,直接测试即可。
5、测试
打开cmd
切换到的tensorrt7.2.3.4的bin目录下,执行sample_mnist.exe后能够成功运行mnist的预测。
至此,tensorrt配置完成
四、将youlox的onnx格式模型转为tensorrt格式
1、编译生成trtexec.exe,
源码在TensorRT-7.2.3.4\samples\trtexec中,若是需要重新编译,需要配置release模式下的属性,主要是配置cuda10.2、opencv、tensorrt等的include、lib等路径。
此处已调试编译好,可直接用。
2、onnx->trt
运行trtexec.exe,转换为tensorrt模型格式。cmd中切换到D:\TensorRT-7.2.3.4\bin路径下,运行trtexec.exe,传入–onnx、 --saveEngine、–device参数(–onnx是存放要转换的onnx的路径名称,–saveEngine是要保存的trt模型路径名)。大致等待2分钟左右即转换完成。
3、测试转换trt的精度
此步非必须。需要自己修改tensorrt中的代码加载yolox的模型,根据自己的数据来测试转换后的trt的精度,一般情况下转换后的trt模型精度不会下降太多。