打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Yolov8训练自己的数据集合(最新实验数据)_陶陶name的博客-CSDN博客 和另外 2 个页面 - 个人

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

陶陶name

于 2023-07-30 11:28:35 发布

1244

 收藏 17

文章标签: YOLO

版权

原创

同时被 2 个专栏收录

46 篇文章27 订阅

订阅专栏

分享

10 篇文章2 订阅

订阅专栏

一、安装环境

笔者环境如下:

win10

anaconda

python3.8

1

2

3

二、clone代码

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

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

1

代码目录如下所示

//image109.360doc.com/DownloadImg/2023/09/2318/272702416_1_20230923065215854.png

三、安装必要的库

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

安装requirement.txt

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

1

安装ultralytics

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

1

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

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

具体如下

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

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

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

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

val文件下的格式同上

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

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文件如下:

其他的地方都不需要动,只需要给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

1

训练数据的命令如下:

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

1

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

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

1

训练效果如下:

六、验证模型

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

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

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

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

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

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

1

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

具体如下:

识别的结果如下:

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

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

由于笔者能力有限,在表达方面可能存在一些不准确的地方,还请多多包涵。

————————————————

版权声明:本文为CSDN博主「陶陶name」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/public669/article/details/132005015

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何在自定义数据集上训练YOLOv5
深入浅出,YOLOv8实例分割项目应用实践
使用Yolov5进行端到端目标检测
手把手教你用YOLOv8训练自己的数据集以及YOLOv8的多任务使用
零基础:训练并部署TensorFlow版YOLOv5模型
Ultralytics YOLOv8训练自定义数据集模型
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服