开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 16015|回复: 20
收起左侧

[技术专题] yolov5-6.0 易语言部署GPU加速

[复制链接]
结帖率:87% (79/91)
发表于 2022-7-11 16:29:16 | 显示全部楼层 |阅读模式   江苏省苏州市
本帖最后由 z13228604287 于 2022-7-12 08:17 编辑

原yolov5 github地址为:https://github.com/ultralytics/yolov5

项目简介基于Tensorrt加速Yolov5 6.0
环境说明
Cuda 11.4 Cudnn 8.2.2
OpenCV 支持库

运行案例(Windows)
从yolov5 release v6.0下载.pt模型,这里以yolov5s.pt为例。直接到6.0页面download zip。
QQ图片20220711162500.png
生成WTS模型

将gen_wts.py和刚才下载好的yolov5s.pt拷贝至yolov5 6.0的目录下

QQ图片20220711162716.png

运行

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

运行完毕后,yolov5目录下会生成wts模型,这个模型用于之后转换为tensorrt专用的序列化模型。

生成WTS模型

yolov5s.wts 文件 复制到  服务端 目录  运行转换命令

QQ图片20220711163209.png

  
wts到engine (“C:\Users\hanyo\Desktop\YOLO-v6.0\yolov5.exe”, “C:\Users\hanyo\Desktop\YOLO-v6.0\yolov5s.wts”, “C:\Users\hanyo\Desktop\YOLO-v6.0\yolov5.engine”, 模型枚举.YOLO5s, 0, 0, 假, 640, 640, 80, #普通激活 )

QQ图片20220711163659.png
转需要很长的时间静静等转换,转换好后我们会得到  yolov5.engine
然后就就可以应 yolov5.engine  进行识别了
QQ图片20220711163919.png
运行 yolov5.exe  做位服务端   易语言与其进行数据交互识别   


本人笔记本搭载1060 4G的显卡  测试效果如下
QQ图片20220711164213.png
10毫秒  还是不错的   YOLO5 6.0  比4快了


附上demo
  
窗口程序集名保 留  保 留备 注
程序集1   
变量名类 型数组备 注
数据空间整数型  
数据空间指针整数型  
预测框张量预测框类  
控制器指针整数型  
模型枚举YOLO5  

子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
变量名类 型静态数组备 注
多维矩阵类 
i整数型 
滴答长整数型 
ii整数型 
初始化枚举 ()
' 服务端需要  CUDA 11.4   CUDNN 11.4
' 可以去英伟达官方下载   群文件寻找
' YOLO 5 7 S X R 模板匹配 级联分类器 caffe  姿势识别  语义分割  等显卡加速 可指定制作
' 使用方法形式相同  图片传入 结果返回。
' 运行服务端 (“C:\Users\hanyo\Desktop\Release\yolov5.exe”, “ABC”, 53411100, “Event”, “C:\Users\hanyo\Desktop\Release\yolov5.engine”, 0, 0.4, 640, 640, 80, “感谢你的使用!”, 0.5, #普通激活)
' wts到engine (“C:\Users\hanyo\Desktop\YOLO-v6.0\yolov5.exe”, “C:\Users\hanyo\Desktop\YOLO-v6.0\yolov5s.wts”, “C:\Users\hanyo\Desktop\YOLO-v6.0\yolov5.engine”, 模型枚举.YOLO5s, 0, 0, 假, 640, 640, 80, #普通激活)
' yolov5.exe -s yolov5s.wts yolov5.engine s 0 0 0 640 640 80
' 注:服务端 启动不会有那么快。 且只需要启动一次
' 完全打开后执行面命令。
如果真 (链接服务端 (“ABC”, 2000000, “Event”))
' 图 = 视觉_图像读取 (“C:\Users\hanyo\Desktop\Release\dog.jpg”, #读图_彩色)
计次循环首 (100, i)
滴答 = 视觉_取启动时间 ()
视觉_张量GPU (数据空间指针, 图, 控制器指针, 预测框)
调试输出 (视觉_取启动时间差异 (滴答, 0))
' 视觉_显示图像 (“小白鼠”, 图)
' 视觉_等待按键 (100)
' 调试输出 (预测框.尺寸 ())
计次循环尾 ()
返回 (0)  ' 可以根据您的需要返回任意数值
子程序名返回值类型公开备 注
运行服务端  
参数名类 型参考可空数组备 注
服务端路径文本型服务端路径程序的绝对路径
服务端名称文本型给服务端指定它的 唯一 名称
数据_尺寸长整数型数据交互需要的空间尺寸,交互空间容量不能容纳 图片数据时,会崩溃
控制器名称文本型给服务端控制器指定它的 唯一 名称
engine模型文本型engine模型
显卡_ID整数型用于指定使用的显卡
置信阈值小数型筛选预测框的 阈值 默认 0.4
整数型网络宽
整数型网络高
类数整数型网络类别数
公告文本型显示在服务端的内容
抑制阈值小数型
状态整数型1、#隐藏窗口; 2、#普通激活; 3、#最小化激活; 4、#最大化激活; 5、#普通不激活; 6、#最小化不激活
运行 (服务端路径 + “ ”“-d”“ ” + engine模型 + “ ” + 服务端名称 + “ ”到文本 (数据_尺寸)“ ” + 控制器名称 + “ ”到文本 (显卡_ID)“ ”到文本 (置信阈值)“ ” + 公告 + “ ”到文本 ()“ ”到文本 ()“ ”到文本 (类数)“ ”到文本 (抑制阈值), 假, 状态)
子程序名返回值类型公开备 注
链接服务端逻辑型 链接成功返回真
参数名类 型参考可空数组备 注
服务端名称文本型
数据_尺寸长整数型
控制器名称文本型
数据空间 = 链接数据空间 ( #FILE_MAP_ALL_ACCESS, 假, 服务端名称)
如果真 (数据空间 = 0)
返回 ()
数据空间指针 = 引用数据空间 (数据空间, #FILE_MAP_ALL_ACCESS, 0, 0, 数据_尺寸)
如果真 (数据空间指针 = 0)
返回 ()
预测框.初始化 (数据空间指针)
控制器指针 = 链接数据空间控制器 ( #EVENT_ALL_ACCESS, 假, 控制器名称)
如果真 (控制器指针 = 0)
返回 ()
返回 ()
子程序名返回值类型公开备 注
wts到engine 只提供USE_FB16
参数名类 型参考可空数组备 注
服务端路径文本型服务端路径程序的绝对路径
输入wts模型文本型需要转换的wts模型
输出engine模型文本型输出engine的模型
类型文本型s;m;l;x;c;
gd小数型自定义参数
gw小数型自定义参数
保留逻辑型是否删除wts文件
整数型网络宽
整数型网络高
类数整数型网络类别数
状态整数型1、#隐藏窗口; 2、#普通激活; 3、#最小化激活; 4、#最大化激活; 5、#普通不激活; 6、#最小化不激活
运行 (服务端路径 + “ ”“-s”“ ” + 输入wts模型 + “ ” + 输出engine模型 + “ ” + 类型 + “ ”到文本 (gd)“ ”到文本 (gw)“ ”到文本 (保留)“ ”到文本 ()“ ”到文本 ()“ ”到文本 (类数), 假, 状态)
子程序名返回值类型公开备 注
初始化枚举  
模型枚举.YOLO5s = “s”
模型枚举.YOLO5m = “m”
模型枚举.YOLO5l = “l”
模型枚举.YOLO5x = “x”
模型枚举.自定义 = “c”


i支持库列表   支持库注释   
OpenCV(未知支持库)
spec特殊功能支持库


识别结果取回

  
如果真 (链接服务端 (“ABC”, 2000000, “Event”))
图 = 视觉_图像解码 ( #狗, #读图_彩色 )
如果真 (图. ())
调试输出 (“图片空”)
返回 ()
计次循环首 (1, i)
滴答 = 视觉_取启动时间 ()
视觉_张量GPU (数据空间指针, 图, 控制器指针, 预测框)
调试输出 (视觉_取启动时间差异 (滴答, 0))
计次循环首 (预测框.尺寸 (), i)
调试输出 (预测框.尺寸 (), 预测框.横坐标 (1), 预测框.纵坐标 (1), 预测框. (1), 预测框. (1))
计次循环尾 ()
计次循环尾 ()


i支持库列表   支持库注释   
OpenCV(未知支持库)
spec特殊功能支持库


QQ图片20220711184309.png
分别代表  目标中心  XY   宽 高

结帖率:78% (7/9)

签到天数: 2 天

发表于 2023-4-23 00:32:49 | 显示全部楼层   湖南省益阳市
学习学习
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2023-4-19 17:47:05 | 显示全部楼层   山东省临沂市
  可以多线程吗   
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2023-4-3 13:02:26 | 显示全部楼层   山东省临沂市

可以多线程吗   
回复 支持 反对

使用道具 举报

发表于 2023-3-23 22:45:32 | 显示全部楼层   云南省文山壮族苗族自治州
别买这垃圾支持库都是骗人的,花了400大洋什么都不教,让你自己百du学,结果一运行就崩溃问他也不告诉你怎么搞
回复 支持 反对

使用道具 举报

发表于 2023-3-23 22:40:11 | 显示全部楼层   云南省文山壮族苗族自治州
别买这垃圾支持库花了400大洋什么都不教,让你自己学
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2023-3-3 09:54:38 | 显示全部楼层   广东省揭阳市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)

签到天数: 1 天

发表于 2022-12-21 22:31:57 | 显示全部楼层   广东省深圳市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

发表于 2022-12-19 00:32:51 | 显示全部楼层   广西壮族自治区贺州市
小小心意,意思一下
回复 支持 反对

使用道具 举报

签到天数: 3 天

发表于 2022-10-14 15:26:42 | 显示全部楼层   陕西省西安市
就是一卖垃圾课的。。。

点评

从不卖课 自行学习   江苏省苏州市  发表于 2022-12-21 08:45
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)
发表于 2022-8-24 19:41:04 | 显示全部楼层   浙江省金华市
学习学习
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表