Yolov8训练自己的数据集合(最新实验数据)

这篇具有很好参考价值的文章主要介绍了Yolov8训练自己的数据集合(最新实验数据)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装环境

笔者环境如下:

win10
anaconda
python3.8

二、clone代码

地址如下,可以直接使用git命令进行clone,也可以直接去网站下载

git clone https://github.com/ultralytics/ultralytics

代码目录如下所示

Yolov8训练自己的数据集合(最新实验数据),YOLO

三、安装必要的库

其实这里比较重要的是两步,第一步是安装requirement.txt中的库,然后再安装ultralytics。那么下面就是安装库的过程了

安装requirement.txt

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

安装ultralytics

 pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple/

note:这个版本其实是基于torch写的,所以我们是需要安装深度学校框架库的,其实在requirement.txt的安装中就已经安装了torch,但是默认的是cpu版本的,如果你电脑有gpu,还是建议根据gpu的版本来配置对应的环境,然后安装gpu版本的torch,这样的话训练的时候速度会快一些,如果没有的话对于下面的训练也是没有关系的,可以给batch以及epoch设置小一些,也是可以执行的

四、配置自定的数据集

数据集是我提前准备好的,如果需要自定的话,是需要使用 labelImge 标注工具进行标注的,具体的可以参考下篇的这篇博文:

https://blog.csdn.net/public669/article/details/97610829?spm=1001.2014.3001.5502

准备好数据之后呢,就需要按照yolov8的格式对数据进行装载了

笔者这里是在ultralytics文件下新建了一个dataSets

Yolov8训练自己的数据集合(最新实验数据),YOLO

然后在dataSets下新建images、labels、test、val文件夹

具体如下

Yolov8训练自己的数据集合(最新实验数据),YOLO

images文件下放的是图片数据,具体如下,笔者这里使用的是细胞的数据集

Yolov8训练自己的数据集合(最新实验数据),YOLO

labels文件下存放的是对应图片数据的标签信息

Yolov8训练自己的数据集合(最新实验数据),YOLO

下面的就是就是数据的详细的信息了,这一步是需要使用代码进行装换的,具体的请参考https://blog.csdn.net/public669/article/details/98020800?spm=1001.2014.3001.5502

Yolov8训练自己的数据集合(最新实验数据),YOLO

test文件下的格式也是一样的,需要有两个文件夹,分别是images和lables,同之前的一样,images中放的是用户测试的图片数据,labels下面放的是对应的图片label信息

Yolov8训练自己的数据集合(最新实验数据),YOLO

val文件下的格式同上

Yolov8训练自己的数据集合(最新实验数据),YOLO

数据装载完毕以后,就需要进行对应的yaml文件配置了,需要新建两个yaml文件,分别如下:rbc.yaml和yolov8n.yaml

Yolov8训练自己的数据集合(最新实验数据),YOLO

rbc.yaml文件如下:

train: E:/Projects/ultralytics-main/ultralytics/dataSets/data/images
val: E:/Projects/ultralytics-main/ultralytics/dataSets/data/val/images
test: E:/Projects/ultralytics-main/ultralytics/dataSets/data/test/images

# number of classes
nc: 1

# class names
names: ['RBC']

yolov8n.yaml文件如下:
Yolov8训练自己的数据集合(最新实验数据),YOLO

其他的地方都不需要动,只需要给nc修改为1就可以了

具体文件如下:

# Ultralytics YOLO 🚀, GPL-3.0 license

# Parameters
nc: 1  # number of classes
depth_multiple: 0.33  # scales module repeats
width_multiple: 0.25  # scales convolution channels

# YOLOv8.0n backbone
backbone:
  # [from, repeats, module, args]
  - [-1, 1, Conv, [64, 3, 2]]  # 0-P1/2
  - [-1, 1, Conv, [128, 3, 2]]  # 1-P2/4
  - [-1, 3, C2f, [128, True]]
  - [-1, 1, Conv, [256, 3, 2]]  # 3-P3/8
  - [-1, 6, C2f, [256, True]]
  - [-1, 1, Conv, [512, 3, 2]]  # 5-P4/16
  - [-1, 6, C2f, [512, True]]
  - [-1, 1, Conv, [1024, 3, 2]]  # 7-P5/32
  - [-1, 3, C2f, [1024, True]]
  - [-1, 1, SPPF, [1024, 5]]  # 9

# YOLOv8.0n head
head:
  - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
  - [[-1, 6], 1, Concat, [1]]  # cat backbone P4
  - [-1, 3, C2f, [512]]  # 13

  - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
  - [[-1, 4], 1, Concat, [1]]  # cat backbone P3
  - [-1, 3, C2f, [256]]  # 17 (P3/8-small)

  - [-1, 1, Conv, [256, 3, 2]]
  - [[-1, 12], 1, Concat, [1]]  # cat head P4
  - [-1, 3, C2f, [512]]  # 20 (P4/16-medium)

  - [-1, 1, Conv, [512, 3, 2]]
  - [[-1, 9], 1, Concat, [1]]  # cat head P5
  - [-1, 3, C2f, [1024]]  # 23 (P5/32-large)

  - [[15, 18, 21], 1, Detect, [nc]]  # Detect(P3, P4, P5)

五、训练

完成了上述的一些操作以后,就可以进行数据的训练了,需要执行cd命令

cd E:\Projects\ultralytics-main\ultralytics\dataSets

训练数据的命令如下:

yolo task=detect mode=train model=yolov8n.pt data=./data/rbc.yaml epochs=100 imgsz=640  resume=Ture

如果有GPU的话,可以对数据进行相应的配置

yolo task=detect mode=train model=yolov8n.pt data=./data/rbc.yaml batch=32 epochs=100 imgsz=640 workers=4 device=0

训练效果如下:

Yolov8训练自己的数据集合(最新实验数据),YOLO
Yolov8训练自己的数据集合(最新实验数据),YOLO

Yolov8训练自己的数据集合(最新实验数据),YOLO

六、验证模型

训练结束以后相关的数据都放在

E:\Projects\ultralytics-main\ultralytics\dataSets\runs\detect\train下了

Yolov8训练自己的数据集合(最新实验数据),YOLO

Yolov8训练自己的数据集合(最新实验数据),YOLO
Yolov8训练自己的数据集合(最新实验数据),YOLO

具体的模型都存放在weights下了,具体如下:

Yolov8训练自己的数据集合(最新实验数据),YOLO

现在我们就需要对模型进行测试了

使用模型的测试命令如下:

yolo task=detect mode=predict model=runs/detect/train3/weights/best.pt source=data/images device=0

如果没有GPU的话,就给device=0给删除了

具体如下:
Yolov8训练自己的数据集合(最新实验数据),YOLO

识别的结果如下:

Yolov8训练自己的数据集合(最新实验数据),YOLO

可以看出来效果还是挺好的,相比之前的yolov3效果确实好很多,同时使用步骤方面的话也是挺简洁的。

yolov8训练自己的数据集到这里就结束了,后续会持续分享关于yolov8的应用,请持续关注我,让我们一起学习进步!

由于笔者能力有限,在表达方面可能存在一些不准确的地方,还请多多包涵。文章来源地址https://www.toymoban.com/news/detail-617689.html

到了这里,关于Yolov8训练自己的数据集合(最新实验数据)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • YOLOv8训练自己的数据集(超详细)

    本人的笔记本电脑系统是:Windows10 YOLO系列最新版本的YOLOv8已经发布了,详细介绍可以参考我前面写的博客,目前ultralytics已经发布了部分代码以及说明,可以在github上下载YOLOv8代码,代码文件夹中会有requirements.txt文件,里面描述了所需要的安装包。 本文最终安装的pytorch版本

    2024年02月03日
    浏览(36)
  • YOLOv8检测、分割和分类训练自己数据集

    本人写了一键制作三种数据集的代码,还带数据增强哦,可联系QQ:1781419402获取,小偿! Yolov8下载地址:GitHub - ultralytics/ultralytics: YOLOv8 🚀 in PyTorch ONNX CoreML TFLitexx 下载完成后 按照YOLOv8教程系列:一、使用自定义数据集训练YOLOv8模型(详细版教程,你只看一篇->调参攻略),

    2023年04月17日
    浏览(38)
  • yolov8代码梳理 训练自己的数据 最终版

    最开始为了检测不规则的麻包袋,所以采用了目标检测。yolov3,fasterrcnn,ssd。这种矩形框还是可以用。后面检测的物体变成了规则的纸箱,我们还用目标检测发现,没有旋转角度,因为箱子的摆放不是正的。只能通过opencv的minarea去找到最小矩形框去寻找角度。但是opencv的方

    2024年02月12日
    浏览(33)
  • 使用YOLOv8训练自己的【目标检测】数据集

    随着深度学习技术在计算机视觉领域的广泛应用,行人检测和车辆检测等任务已成为热门研究领域。然而,实际应用中,可用的预训练模型可能并不适用于所有应用场景。 例如,虽然预先训练的模型可以检测出行人,但它无法区分“好人”和“坏人”,因为它没有接受相关的

    2024年04月10日
    浏览(44)
  • yolov8训练自己的数据集遇到的问题

    **方法一:**根据本地模型配置文件.yaml可以设置nc 但是,这里无法用到预训练模型.pt模型文件,预训练模型的权重参数是在大数据集上训练得到的,泛化性能可能比较好,所以,下载了官方的分类模型yolov8n-cls.pt(这里实际上经过验证可以通过其它方法利用yaml方法加载预训练

    2023年04月26日
    浏览(42)
  • 完整且详细的Yolov8复现+训练自己的数据集

    Yolov8 的源代码下载: ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch ONNX CoreML TFLite (github.com) https://github.com/ultralytics/ultralytics Yolov8的权重下载: Releases · ultralytics/assets · GitHub Ultralytics assets. Contribute to ultralytics/assets development by creating an account on GitHub. https://github.com/ultralytics/assets

    2024年02月16日
    浏览(27)
  • YOLOv8实例分割训练自己的数据集保姆级教程

    1.1Labelme 安装方法 首先安装 Anaconda,然后运行下列命令: 1.2Labelme 使用教程 使用 labelme 进行场景分割标注的教程详见:labelme     对数据集进行转换和划分。注意:在数据标注的时候将图片和json文件放在不同的文件夹里。如下图所示,另外新建两个文件夹txt 和split。  2.1将

    2024年02月02日
    浏览(39)
  • 基于Yolov8与LabelImg训练自己数据的完整流程

    运行过程中,会提示下载coco128.zip,和yolov8n.pt,模型与py文件放在同一目录下,如果网速快的话,自己下载就好,下载慢的话,下面是网盘地址: 测试结果路径:ultralyticsrunsdetectval,里面存储了运行的结果,这样环境就算是配置好了。 结果如下: 首先创建一个文件夹:coc

    2024年02月13日
    浏览(52)
  • Yolov8改进模型后使用预训练权重迁移学习训练自己的数据集

    yolov8 github下载 1、此时确保自己的数据集格式是yolo 格式的(不会的去搜教程转下格式)。 你的自制数据集文件夹摆放 主目录文件夹摆放 自制数据集data.yaml文件路径模板 2、把data.yaml放在yolov8–ultralytics-datasets文件夹下面 3、然后模型配置改进yaml文件在主目录新建文件夹v8_

    2024年02月06日
    浏览(37)
  • 如何运用yolov5训练自己的数据(手把手教你学yolo)

    在这篇博文中,我们对YOLOv5模型进行微调,用于自定义目标检测的训练和推理。 深度学习领域在2012年开始快速发展。在那个时候,这个领域还比较独特,编写深度学习程序和软件的人要么是深度学习实践者,要么是在该领域有丰富经验的研究人员,或者是具备优秀编码技能

    2024年02月07日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包