栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Win10 yolov5 6.0版本使用tensorrtx部署tensorRT

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 FilesNVIDIA GPU Computing ToolkitCUDAv10.0include,到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 Developerhttps://developer.nvidia.com/tensorrt

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

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

 将lib下的dll文件放到CUDA的bin目录下,我的是C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.0bin

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/direnthttps://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:tensorrtxtensorrtxyolov5下(换成自己的路径,没有build就新建一个)

2、修改CMakeList

修改F:tensorrtxtensorrtxyolov5目录下(换成自己的路径)的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:tensorrtxtensorrtxyolov5下的yololayer.h,把static constexpr int CLASS_NUM =后面填上你自己的权重对应的类别。

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

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

3、生成engine

把best.wts复制到F:tensorrtxtensorrtxyolov5buildRelease目录下,执行

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 
 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/461001.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号