精易论坛

标题: yolov5-6.0 易语言部署GPU加速 [打印本页]

作者: z13228604287    时间: 2022-7-11 16:29
标题: yolov5-6.0 易语言部署GPU加速
本帖最后由 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。

生成WTS模型

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

运行

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

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

生成WTS模型

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

  
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.engine
然后就就可以应 yolov5.engine  进行识别了

运行 yolov5.exe  做位服务端   易语言与其进行数据交互识别   


本人笔记本搭载1060 4G的显卡  测试效果如下

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特殊功能支持库



分别代表  目标中心  XY   宽 高

作者: Azumarill    时间: 2022-7-11 18:19
支持啊GPU加速一直想实现,可惜还没能实现
作者: pasyou1    时间: 2022-7-11 18:37
支持,正在找
作者: 咸鱼666    时间: 2022-7-11 18:37
群号在哪
作者: z13228604287    时间: 2022-7-11 18:41
咸鱼666 发表于 2022-7-11 18:37
群号在哪

QQ 群    164579213
作者: yanshitong    时间: 2022-7-11 20:15
支持一下
作者: 恼人的秋风    时间: 2022-7-18 15:06
10毫秒,这应该是图色顶级速度了,还能更快吗?
作者: 最后一抹笑    时间: 2022-7-31 12:17
可以多线程吗              
作者: aswangluo    时间: 2022-8-24 19:41
学习学习
作者: ayun520    时间: 2022-10-14 15:26
就是一卖垃圾课的。。。
作者: visiong    时间: 2022-12-19 00:32
小小心意,意思一下
作者: a358498501    时间: 2022-12-21 22:31
支持开源~!感谢分享
作者: erkang666    时间: 2023-3-3 09:54
支持开源~!感谢分享
作者: 疯狂的木头    时间: 2023-3-23 22:40
别买这垃圾支持库花了400大洋什么都不教,让你自己学
作者: 疯狂的木头    时间: 2023-3-23 22:45
别买这垃圾支持库都是骗人的,花了400大洋什么都不教,让你自己百du学,结果一运行就崩溃问他也不告诉你怎么搞
作者: 无极    时间: 2023-4-3 13:02

可以多线程吗   
作者: 无极    时间: 2023-4-19 17:47
  可以多线程吗   
作者: 157800148    时间: 2023-4-23 00:32
学习学习




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4