0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解锁YOLOv8修改+注意力模块训练与部署流程

OpenCV学堂 来源:OpenCV学堂 2023-08-11 14:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

YOLOv8源码到底在哪?

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

1. 无法标记版本信息
2. 无法确信代码的是否含有致命BUG
灵魂拷问,YOLOv8对应版本的源代码究竟在哪里?其实对Python安装包稍微了解一下你就知道了,以我自己为例,我是用pip方式安装YOLOv8的,查找一下安装好的YOLOv8包目录应该如下(默认情况下):

43b08b1c-380a-11ee-9e74-dac502259ad0.png

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

43dc56d4-380a-11ee-9e74-dac502259ad0.png

YOLOv8添加SE注意力模块

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

4407f244-380a-11ee-9e74-dac502259ad0.png

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

yolo train model=yolov8.yaml data=dm_dataset.yaml epochs=15 imgsz=640 batch=1

4464ef12-380a-11ee-9e74-dac502259ad0.png

4485fbc6-380a-11ee-9e74-dac502259ad0.png

44d52be2-380a-11ee-9e74-dac502259ad0.png

ONNX导出与推理测试

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

yolo export model=runsdetect	rain10weightsest.pt format=onnx

44e8caf8-380a-11ee-9e74-dac502259ad0.png

导出ONNX格式也可以啦。

预测推理

yolo predict mode=detect model=runsdetect	rain10weightsest.onnx

4522bed4-380a-11ee-9e74-dac502259ad0.png

454682ec-380a-11ee-9e74-dac502259ad0.png

从此又解锁了YOLOv8模型结构+各种注意力机制的即插即用从训练到导出部署技能。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    57

    文章

    4856

    浏览量

    89550
  • YAML
    +关注

    关注

    0

    文章

    22

    浏览量

    2577

原文标题:YOLOv8修改+注意力模块 训练与部署

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    求助,关于K230部署yolov8时遇到问题求解

    使用yolov8训练出来了一个十个类别的模型并且按照要求转换成了.kmodel模型,在部署到K230时 使用yolo大作战里面的代码提示我list out of range但是我看了我的.yaml
    发表于 08-12 07:26

    YOLOv8自定义数据集训练到模型部署推理简析

    如果你只是想使用而不是开发,强烈推荐通过pip安装方式获取YOLOv8包!YOLOv8安装命令行
    的头像 发表于 03-24 09:27 1.2w次阅读

    TensorRT 8.6 C++开发环境配置与YOLOv8实例分割推理演示

    YOLOv8实例分割TensorRT 推理代码已经完成C++类封装,三行代码即可实现YOLOv8对象检测与实例分割模型推理,不需要改任何代码即可支持自定义数据训练部署推理
    的头像 发表于 04-25 10:49 8436次阅读
    TensorRT 8.6 C++开发环境配置与<b class='flag-5'>YOLOv8</b>实例分割推理演示

    YOLOv8版本升级支持小目标检测与高分辨率图像输入

    YOLOv8版本最近版本又更新了,除了支持姿态评估以外,通过模型结构的修改还支持了小目标检测与高分辨率图像检测。原始的YOLOv8模型结构如下。
    的头像 发表于 05-16 11:14 1.5w次阅读
    <b class='flag-5'>YOLOv8</b>版本升级支持小目标检测与高分辨率图像输入

    AI爱克斯开发板上使用OpenVINO加速YOLOv8目标检测模型

    《在AI爱克斯开发板上用OpenVINO加速YOLOv8分类模型》介绍了在AI爱克斯开发板上使用OpenVINO 开发套件部署并测评YOLOv8的分类模型,本文将介绍在AI爱克斯开发板上使用OpenVINO加速
    的头像 发表于 05-26 11:03 2234次阅读
    AI爱克斯开发板上使用OpenVINO加速<b class='flag-5'>YOLOv8</b>目标检测模型

    基于YOLOv5s基础上实现五种视觉注意力模块的改进

    5s基础上实现五种视觉注意力模块的改进,然后训练相同的轮次,横向比较模型的精度。 YOLOv5添加注意
    的头像 发表于 06-02 14:52 2490次阅读
    基于<b class='flag-5'>YOLOv</b>5s基础上实现五种视觉<b class='flag-5'>注意力</b><b class='flag-5'>模块</b>的改进

    三种主流模型部署框架YOLOv8推理演示

    深度学习模型部署有OpenVINO、ONNXRUNTIME、TensorRT三个主流框架,均支持Python与C++的SDK使用。对YOLOv5~YOLOv8的系列模型,均可以通过C++推理实现模型
    的头像 发表于 08-06 11:39 3713次阅读

    如何修改YOLOv8的源码

    很多人也想跟修改YOLOv5源码一样的方式去修改YOLOv8的源码,但是在github上面却发现找到的YOLOv8项目下面TAG分支是空的,
    的头像 发表于 09-04 10:02 3626次阅读
    如何<b class='flag-5'>修改</b><b class='flag-5'>YOLOv8</b>的源码

    YOLOv8实现任意目录下命令行训练

    当你使用YOLOv8命令行训练模型的时候,如果当前执行的目录下没有相关的预训练模型文件,YOLOv8就会自动下载模型权重文件。这个是一个正常操作,但是你还会发现,当你在参数model中
    的头像 发表于 09-04 10:50 4371次阅读
    <b class='flag-5'>YOLOv8</b>实现任意目录下命令行<b class='flag-5'>训练</b>

    基于YOLOv8的自定义医学图像分割

    YOLOv8是一种令人惊叹的分割模型;它易于训练、测试和部署。在本教程中,我们将学习如何在自定义数据集上使用YOLOv8。但在此之前,我想告诉你为什么在存在其他优秀的分割模型时应该使用
    的头像 发表于 12-20 10:51 1542次阅读
    基于<b class='flag-5'>YOLOv8</b>的自定义医学图像分割

    基于OpenCV DNN实现YOLOv8的模型部署与推理演示

    基于OpenCV DNN实现YOLOv8推理的好处就是一套代码就可以部署在Windows10系统、乌班图系统、Jetson的Jetpack系统
    的头像 发表于 03-01 15:52 3208次阅读
    基于OpenCV DNN实现<b class='flag-5'>YOLOv8</b>的模型<b class='flag-5'>部署</b>与推理演示

    RK3576 yolov8训练部署教程

    本章展示yolov8模型的在EASY EAI Orin nano的部署过程。
    的头像 发表于 04-02 16:04 1562次阅读
    RK3576 <b class='flag-5'>yolov8</b><b class='flag-5'>训练</b><b class='flag-5'>部署</b>教程

    RV1126 yolov8训练部署教程

    YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的基于YOLOV5进行更新的 下一个重大更新版本,目前支持图像分类、物体检测和实例分割任务,鉴于Yolov5的良好表现,
    的头像 发表于 04-16 14:53 1131次阅读
    RV1126 <b class='flag-5'>yolov8</b><b class='flag-5'>训练</b><b class='flag-5'>部署</b>教程

    RV1126 yolov8训练部署教程

    本教程针对目标检测算法yolov8训练部署到EASY-EAI-Nano(RV1126)进行说明,而数据标注方法可以参考我们往期的文章。
    的头像 发表于 04-18 15:18 1773次阅读
    RV1126 <b class='flag-5'>yolov8</b><b class='flag-5'>训练</b><b class='flag-5'>部署</b>教程

    使用ROCm™优化并部署YOLOv8模型

    作者:AVNET 李鑫杰 一,YOLOv8介绍? YOLOv8 由 Ultralytics 于 2023 年 1 月 10 日发布,在准确性和速度方面提供了前沿的性能。YOLOv8 在之前 YOLO
    的头像 发表于 09-24 18:32 507次阅读
    使用ROCm™优化并<b class='flag-5'>部署</b><b class='flag-5'>YOLOv8</b>模型