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

Ubuntu下编译yolov5出错

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

Ubuntu下编译yolov5出错

文章目录
  • 前言
  • 一、源码下载
  • 二、服务器环境
  • 三、使用步骤
    • 1.模型转换pt->wts
    • 2.编译:
    • 3.模型转换wts->engine:
    • 4.c++推理:
    • 5.python推理:
  • 四、错误记录
    • 1.cmake 时出错
    • 2.make编译时错误
    • 3.make编译时出错
  • 总结


前言

近期,在Ubuntu下用TensorRT推理YOLOV5代码时,出了以下错误,故写本文来记录一下


一、源码下载

YOLOV5:这里
tensorrtx: 这里
注意他们的版本一定一定一定要配套

为保险起见的话也可以在tensorrtx下的yolov5目录里的readme文件里下载对应的版本,如下:

二、服务器环境

以下环境仅供参考,不一定非要一致,只要互相配套即可。

cuda 11.4
cudnn 8.x (具体版本忘记看了,在官网里下载配套的即可)
TensorRT 8.2

python环境

TensorRT=8.2 (上一步安装好TensorRT时,会在python文件夹下给出对应的whl文件,在我们的python环境下直接pip install即可)
pytorch=1.9
torchvision==0.10.0

其他依赖项pip install -r requirements.txt即可

三、使用步骤 1.模型转换pt->wts

复制tensorrtx的yolov5里的get_wts.py到原yolov5目录下,然后更改里面的参数内容,如pt模型路径,然后运行get_wts.py文件即可。

2.编译:

进入到tensorrtx的yolov5目录下,先将yololayer.h里的类别数改为自己的(如果你是推理自己的模型的话,如果是官方模型直接进行下边操作)

mkdir build
cd build
cmake ..
make

3.模型转换wts->engine:

执行以下命令:

sudo ./yolov5 -s xxx.wts xxx.engine s

sudo可加可不加
xxx.wts是我们在1生成的wts路径
xxx.engine是我们要生成的文件名
s 是我们的模型选型,可以换成l,m,x等

4.c++推理:

执行命令:

sudo ./yolov5 -d xxx.engine xxx

sudo:可加可不加
xxx.engine: 上一步转换成功的engine路径
xxx:测试图片路径,只传文件夹路径即可

5.python推理:

进入到yolov5_trt.py里,更改以下参数:
engine_file_path:模型路径
categories:类别标签
image_dir:测试图片路径
python推理后默认会将结果保存在当前目录的output文件夹下

四、错误记录 1.cmake 时出错


没有注意,直接进行了make编译,导致出错如下:

解决办法:
在CMakeList.txt里的find_package(OpenCV)之前加入:
set(OpenCV_DIR   /home/Downloads/opencv-4.5.1/build)
也就是加入了opencv编译的路径

2.make编译时错误


解决办法:
在CMakeLists.txt里更改tensorrt的路径,红色区域为默认路径,改为中间两个,也就是自己tensorrt安装路径

3.make编译时出错


解决办法


以上方案二选一,opencv的路径根据自己的路径进行修改


总结

报错记录就到这里,准备的有点仓促,有很多不足,望各位大佬见谅。新的一年开始了,祝各位代码越写越流畅。

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

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

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