TX2+Yolov5之tensorRT加速

1.下载tensorrtx(https://github.com/wang-xinyu/tensorrtx.git

需要在Tags里选择相应的v5版本,与自己训练使用的v5版本一定要对应,不然后续很麻烦

 2.模型转换(将xx.pt转换为xx.wts)

1.安装pycuda

2.将tensorrtx/yolov5/gen_wts.py复制到自己使用的yolov5主文件夹中。

3.将官方的权重文件'yolov5s.pt',或自己训练出来的模型,也放在yolov5主文件夹中。

4.执行gen_wts.py生成.wts文件。

python3 gen_wts.py -w 自己的权重.pt -o 自命名.wts

例如:

python3 gen_wts.py -w yolov5s.pt -o yolov5s.wts

则会在同级文件夹中生成yolov5s.wts文件

5.接下来去到目录tensorrtx下的yolov5文件夹,创建一个build文件,并生成生成makeFile,如果用的自己的权重文件请看8.

mkdir build
cd build
cmake ..
make

需要等待一会,直至出现[100%]build target yolov5就成功了

6.将第4步生成的.wts文件复制到tensorrtx/yolov5/build里,运行代码生成.engine文件。

如果你使用的是x/l/m/…模型,则将最后的换为对应的

cd build
sudo ./yolov5 -s yolov5s.wts yolov5s.engine s

这样就成功了。

可能会出现下面这种报错

(1)tensorrtx/yolov5中的yoloayer.h文件中的类别和图像大小需要修改

static constexpr int CLASS_NUM = 80; //修改为自己的类别
static constexpr int INPUT_H = 640; //训练时img_size的大小
static constexpr int INPUT_W = 640;

注意!!!如果你是自己训练的模型,在改完类别后,一定要重新make一下,C++和Python不一样,每次改变后都需要重新编译

(2)如果上一步没问题,那大概率就是你的tensorRT的版本和你训练模型的版本不同,可以从官网下载个tensorRT版本的yolov5.pt测试一下

7.测试 用sample文件自带的图片测试一下

sudo ./yolov5 -d yolov5s.engine ../samples

也可以用自带的python文件来测试

python yolov5_trt.py

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值