前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >YOLOv8修改+注意力模块 训练与部署

YOLOv8修改+注意力模块 训练与部署

作者头像
OpenCV学堂
发布2023-08-22 13:48:44
2K1
发布2023-08-22 13:48:44
举报
文章被收录于专栏:贾志刚-OpenCV学堂

YOLOv8源码到底在哪?

很多人也想跟修改YOLOv5源码一样的方式去修改YOLOv8的源码,但是在github上面却发现找到的YOLOv8项目下面TAG分支是空的,然后就直接从master/main下面把源码克隆出来一通修改了,其实这种方式风险很高,而且也不是正确的选择,原因在于Master/main分支是工作跟合并的代码主仓,不是发布的版本代码,开源项目团队开发者随时随地都在修改代码,很可能导致引入新BUG,直接使用master/main分支的下面的代码会有两个致命问题:

代码语言:javascript
复制
1. 无法标记版本信息
2. 无法确信代码的是否含有致命BUG

灵魂拷问,YOLOv8对应版本的源代码究竟在哪里?其实对Python安装包稍微了解一下你就知道了,以我自己为例,我是用pip方式安装YOLOv8的,查找一下安装好的YOLOv8包目录应该如下(默认情况下):

代码语言:javascript
复制
C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Lib\site-packages

然后找到下面的两个文件夹,源码就在这里了。

YOLOv8添加SE注意力模块

分别修改YOLOv8的模型描述文件yolov8.yaml,模型加载与定义文件task.py与模块结构化实现文件block.py,修改的内容跟YOLOv5注意力机制添加完全一致。修改yolov8.yaml文件,这里我直接插入了SENet注意力模块,修改以后文件与之前的文件对比如下:

然后修改源码文件task.py与block.py 实现SENet注意机制解析支持。全部完成之后就可以直接开始训练模型了,这里基于我的DM码数据集完成模型结构修改之后的YOLOv8注意力模型的训练,命令行跟以前唯一不同的是需要从指定修改的YAML文件开始训练,才是对的,训练的命令行如下:

代码语言:javascript
复制
yolo train model=yolov8.yaml data=dm_dataset.yaml epochs=15 imgsz=640 batch=1

ONNX导出与推理测试

然后导出ONNX格式模型,设置一下opset=11 会有好处。

代码语言:javascript
复制
yolo export model=runs\detect\train10\weights\best.pt format=onnx

导出ONNX格式也可以啦。

预测推理

代码语言:javascript
复制
yolo predict mode=detect model=runs\detect\train10\weights\best.onnx
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档