Ubuntu下编译yolov5出错


前言

近期,在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的路径根据自己的路径进行修改


总结

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值