深度学习记录--01--YOLOv8

YOLOv8学习

【前置知识】预训练模型是提前训练好的一些具有泛化性的模型的权重,只需要用自己的数据集进行训练和微调就可以得到与自己项目相关,且效果较好的模型;

下载和使用YOLOv8示例

1、安装yolov8

创建文件夹:D:\YOLO\YOLOV8,使用cmd进入终端
在这里插入图片描述

git clone https://github.com/ultralytics/ultralytics
# 安装yolov8
pip install -e .

-e表示已开发者的模式下载这个库,也就是可以修改源码和配置文件等操作

2、下载权重

①下载对应的权重:这里下载的是YOLOv8s-seg
下载链接
②在ultralytics/ultralytics下创建weights文件夹
在这里插入图片描述

3、使用模型
3.1 使用分割模型预测图片
yolo segment predict model=D:\YOLO\YOLOV8\ultralytics\weights\yolov8s-seg.pt source=D:\YOLO\YOLOV8\ultralytics\ultralytics\assets\bus.jpg

结果保存在:D:\YOLO\YOLOV8\ultralytics\runs\segment\predict\bus.jpg

在这里插入图片描述

  • model:加载模型预训练权重参数;
  • source:指定待预测的图片文件;
3.2 摄像头使用分割模型
yolo segment predict model=D:\YOLO\YOLOV8\ultralytics\weights\yolov8s-seg.pt source=0 show

在这里插入图片描述

训练和使用自己的数据集

【注意】❗❗❗判断自己是分割任务,还是检测任务
❗ 分割任务下载labelme
❗ 检测任务下载labelImg

1、下载labelme/labelImg

在这里插入图片描述

2、准备数据

2.1 labelImg

❗❗这是目标检测,找到labelImg并进入

在这里插入图片描述

运行labelImg.py

python labelImg.py

在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.2 labelme

与上述labelImg差不多
在下载好的lableme文件夹,输入cmd进入终端

python __main__.py

在这里插入图片描述

3、修改配置文件

yaml文件:ultralytics/cfg/datasets/coco128-seg.yaml

在这里插入图片描述ultralytics/cfg/models/v8/yolov8-seg.yaml改一下类别数nc就行

在这里插入图片描述

4、运行下面代码

权重的下载还是跟之前的连接一样,下载yolov8n-seg.pt即可

from ultralytics import YOLO

model = YOLO('ultralytics/cfg/models/v8/yolov8-seg.yaml',task="segment")

# 加载权重文件
model = YOLO('ultralytics/weights/yolov8n-seg.pt')
# model = YOLO('yolov8-seg.yaml').load('yolov8n.pt')


# 训练模型
## 加载配置文件中的数据
results = model.train(data="ultralytics/cfg/datasets/coco128-seg.yaml", epochs=100)

5、训练结果展示

在这里插入图片描述

可能的错误

1)RuntimeError: Dataset ‘ultralytics/cfg/datasets/coco128-seg.yaml’ error
Dataset ‘ultralytics/cfg/datasets/coco128-seg.yaml’ images not found , missing path ‘D:\YOLO5\YOLOV8\ultralytics\ultralytics\segdatasets\val\images’
Note dataset download directory is ‘D:\YOLO5\YOLOV8’. You can update this in ‘C:\Users\hp\AppData\Roaming\Ultralytics\settings.yaml’
【解决办法】①按照提示打开对应的settings.yaml文件;②把路径修改成自己的文件名;
在这里插入图片描述

修改之后就可以正常运行了:

在这里插入图片描述

【原因】修改setting.yaml是为了指定对应其他配置相关的yaml的根路径。

2)TypeError: ERROR ❌ segment dataset incorrectly formatted or not a segment dataset. This error can occur when incorrectly training a ‘segment’ model on a ‘detect’ dataset, i.e. ‘yolo train model=yolov8n-seg.pt data=coco8.yaml’. Verify your dataset is a correctly formatted ‘segment’ dataset using ‘data=coco8-seg.yaml’ as an example. See https://docs.ultralytics.com/datasets/segment/ for help.
【错误原因】利用目标检测数据来训练目标分割任务
【可能原因】利用labelImg进行了数据标注;
【解决办法】使用labelme进行分割数据标注;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值