Win10 yolov5 6.0版本使用tensorrtx部署tensorRT

一、环境搭建

VS2017+CUDA10.0+CUDNN7.6.5+opencv3.4(不要高于4.0)

1、查看cuda版本

nvcc -V,我的是10.0

2、查看cudnn版本

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include,到CUDA的include目录下找到cudnn.h,打开后下图即是版本,我的是7.6.5

 

3、下载Opencv3.4

OpenCV 3.4 - OpenCVhttps://opencv.org/opencv-3-4.html

下载完后随便找个地方解压,然后添加环境变量。

4、安装TensorRT

(网页最下面可以选中文)点击立即下载,点击TensorRT 7

NVIDIA TensorRT | NVIDIA Developericon-default.png?t=LA46https://developer.nvidia.com/tensorrt

选择合适的版本下载并找个地方解压

配置环境变量,将解压之后的lib的路径添加到环境变量中,如
F:\tensorrt_tar\TensorRT-7.0.0.11.Windows10.x86_64.cuda-10.0.cudnn7.6\TensorRT-7.0.0.11\lib

 将lib下的dll文件放到CUDA的bin目录下,我的是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin

5、安装pycuda

 如果要使用python接口的tensorrt,则需要安装pycuda

pip install pycuda

 6、下载tensorrtx

git clone https://github.com/wang-xinyu/tensorrtx.git

下载文件dirent.h

 https://github.com/tronkko/direnticon-default.png?t=LA46https://github.com/tronkko/dirent

然后在 tensorrtx路径下创建include,把dirent.h放进去

二、yolov5的TensorRT加速

将tensorrtx/yolov5/gen_wts.py复制到自己的yolov5目录下,将要处理的权重best.pt也放在这个路径下。

 

 注:此处开始与网上大部分教程不同

1、运行gen_wts.py生成best.wts

以前似乎是不需要指定权重路径的,现在必须指定。

在对应路径下运行 python gen_wts.py -w best.pt,会在同目录生成best.wts文件。

将best.wts复制到F:\tensorrtx\tensorrtx\yolov5下(换成自己的路径,没有build就新建一个)

2、修改CMakeList

修改F:\tensorrtx\tensorrtx\yolov5目录下(换成自己的路径)的CMakeList.txt。

最新版本的tensorrtx下载下来CMakeList大概长这样

我们需要在网上找一份以前的CMakeList然后做修改,大概长这样。

 需要修改的部分:每一个#123456都看一看需不需要改成自己电脑上的路径。

除此之外!!

1、在add_definitions(-std=c++11)下面添加add_definitions(-DAPI_EXPORTS)。
2、修改add_executable(yolov5 ${PROJECT_SOURCE_DIR}/calibrator.cpp yolov5 ${PROJECT_SOURCE_DIR}/yolov5.cpp ${PROJECT_SOURCE_DIR}/yololayer.cu ${PROJECT_SOURCE_DIR}/yololayer.h)

在(yolov5后面加上 preprocess.cu preprocess.h

 3、修改F:\tensorrtx\tensorrtx\yolov5下的yololayer.h,把static constexpr int CLASS_NUM =后面填上你自己的权重对应的类别。

4、然后就可以用cmake编译了。

如果之前没有错误,此时依次Configure, Generate,OpenProject自动打开VS2017,使用Release模式,生成-生成解决方案就可以了。

3、生成engine

把best.wts复制到F:\tensorrtx\tensorrtx\yolov5\build\Release目录下,执行

yolov5.exe -s best.wts best.engine s

 然后就可以得到best.engine

测试:

弄点图片到这个路径下来,新建个文件夹img放入其中,执行yolov5.exe -d best.engine img

 

这就表示成功了。 

我的CMakeLists.txt

链接:https://pan.baidu.com/s/1rNtliwxt7J4NfCNUmcCO6w 
提取码:b8fo 
 

 

  • 3
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值