yolov5转tensorrt模型

该文章详细介绍了如何在Windows 10环境下,使用CPU或GPU搭建Yolov5,并将预训练模型yolov5s转换为TensorRT引擎,以实现推理速度的提升。步骤包括生成.wts文件、编译和运行,最后展示了模型转换后的效果,适合需要优化模型推理速度的读者参考。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

yolov5系列文章目录

yolov5 win10 CPU与GPU环境搭建,亲测有效!
yolov5训练自己的数据集,详细教程!
yolov5转tensorrt模型



前言

部署时,为了提高推理效率,通常不直接使用训练生成的pt模型,而是把pt模型转换成可以通过tensorrt加速推理的engin文件。


一、生成.wts文件

1.1 下载源码与模型

本文以yolov5s v5.0版本为例,给同学们做演示。
下载源码,可以使用git,当然也可以下载压缩包解压,本文使用git方法:

git clone -b v5.0 https://github.com/ultralytics/yolov5.git
git clone https://github.com/wang-xinyu/tensorrtx.git

下载模型yolov5s.pt模型:
https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt
这里也可以使用自己训练好的pt模型文件,本文我将采用官方模型做转换。

1.2 生成yolov5s.wts文件

{tensorrtx}/yolov5/目录下gen_wts.py 复制到{ultralytics}/yolov5目录下:

cp {tensorrtx}/yolov5/gen_wts.py {ultralytics}/yolov5

cd{ultralytics}/yolov5目录下:

cd {ultralytics}/yolov5

运行:

python gen_wts.py yolov5s.pt

将会生成一个yolov5s.wts文件在这里插入图片描述
若使用自己的模型,只需把上述代码换成:python gen_wts.py xxx.pt

二、build and run

2.1 build

cd {tensorrtx}/yolov5/

如果采用的是自己训练的模型,则需要更新 yololayer.h 中的 CLASS_NUM在这里插入图片描述
如需要调整batch_size,需要在yolov5.cpp中进行设置(默认值为1):
在这里插入图片描述

mkdir build
cd build
cp {ultralytics}/yolov5/yolov5s.wts {tensorrtx}/yolov5/build
cmake ..

在这里插入图片描述

make

在这里插入图片描述

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

在这里插入图片描述
至此,build目录下就会生成libmyplugins.soyolov5s.engine文件:
在这里插入图片描述

2.2 run

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

这里自己修改测试图片images的路径
在这里插入图片描述
此时,便会生成inference后的图片:

在这里插入图片描述
在这里插入图片描述

总结

采用trt模型推理时间相比于pt模型肯定是减少的,后续有机会测一下。
参考文档:https://github.com/wang-xinyu/tensorrtx/tree/master/yolov5

如果阅读本文对你有用,欢迎一键三连呀!!!
2021年8月20日09:23:03
在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI小笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值