【YOLOv8】win11使用yolov8训练自己的数据集

首先默认已经安装了cuda,cudnn和conda。新建conda环境的时候python>=3.7就行

conda create -n 环境名 python=想要的版本

先安装对应cuda版本的torch和torchvision,我的cuda版本是11.0,那么在conda环境中运行如下代码:

pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

cuda为10.2的也可以运行上面的代码进行安装。其它版本对应关系需要自己去查一下。 

然后去git hub上下载最新的yolov8项目:

GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLiteNEW - YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite - GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLiteicon-default.png?t=N7T8https://github.com/ultralytics/ultralytics

 我选择Download ZIP后找个合适的地方解压一下。

解压以后在conda环境中,cd到ultralytics-main文件中,安装依赖包。运行:

pip install -r requirements.txt
pip install ultralytics
#这个库用于通过python函数调用训练、检测等功能,是yolov8的新功能。但你也可以选择传统的方式。

然后在ultralytics-main文件中新建两个文件夹weight和datasets。weight文件中保存权重文件,datasets中保存数据集:

数据集的文件结构是:

datasets
    |_____images
    |        |___train //该文件夹下存放用于训练的图片
    |        |___val //该文件夹下存放验证集
    |
    |_____labels
    |        |___train //该文件夹下存放训练集标注
    |        |___val //该文件夹下存放验证集标注
    |
    |_____class.yaml

class.yaml的内容是:

train: D:\yolov8v5\ultralytics-main\datasets\images\train  # 训练集文件夹的路径
val: D:\yolov8v5\ultralytics-main\datasets\images\val  # 验证集文件夹的路径
#你可以将验证集文件夹的路径设置成与训练集相同。这么做不会有过拟合评估,但也可以运行。
test:  # 测试集文件夹的路径,可以没有

# Classes
nc: 2  # 训练集中物品的类别数量
names: ['dog', 'cat']  # 训练集中物品的类别名称

如果不知道如何标注数据集,可以查一下。或者我之后再写一篇关于标注数据集的文章。

weight文件夹下放权重文件,不用放这么多,反正每次只会用到一个:

weight
    |__yolov8n.pt
    |__yolov8s.pt
    |__yolov8l.pt
    |__yolov8x.pt

权重文件下载地址

自此你具备了开始训练的一切条件。想要运行train操作,在ultralytics-main文件夹中新建.py文件,如train.py,复制以下代码:

from ultralytics import YOLO

model = YOLO("weights/yolov8n.pt") #用于迁移训练的权重文件路径

results = model.train(data="datasets/class.yaml",imgsz=320, epochs=100, batch=16, device=0, workers=0)

执行此文件可以开始训练。其中epochs参数表示迭代次数。workers参数不为0的话,性能较差的电脑可能会报错。其它各种参数以及其功能可以自行查找。

想要开始识别图片,也是新建.py文件,如detect.py,复制以下代码:

from ultralytics import YOLO

model = YOLO("weights/yolov8n.pt") #用于detect的权重文件路径

results = model.predict(source="ultralytics/assets", imgsz=320, show=True, save=True)

其中source参数表示等待检测的图片所在路径。

训练结果或者检测结果均会保存在ultralytics-main > runs文件夹中

YOLOv8(You Only Look Once Version 8)是一种实时物体检测算法,它允许用户训练自己的数据集来进行定制化的物体识别任务。要在Windows 11使用YOLOv8训练自定义数据集,你需要按照以下步骤操作: 1. **安装必要的工具**: - CUDA 和 cuDNN(GPU加速库) - Python环境(建议使用Python 3.7或更高版本) - YOLOv8的GitHub仓库(https://github.com/ultralytics/yolov5)或YoloV8官方分支(https://github.com/AlexeyAB/darknet) 2. **下载预训练模型和依赖**: - 安装Darknet框架(YOLOv8的底层),通常通过`pip install darknet` 或者从源码构建。 3. **准备数据集**: - 创建一个符合YOLOv8数据集格式的数据集目录,包括训练、验证和测试子目录,每个子目录下包含图片文件夹和相应的txt标注文件。 4. **划分和标注数据**: - 使用YOLOv8提供的`data`工具生成数据集文件,例如 `darknet data fmt <your_data_dir>`。 5. **配置训练脚本**: - 在Darknet目录下的`cfg`文件夹找到`yolov8.cfg`配置文件,并根据需要调整超参数,比如学习率、批大小等。如果需要自定义模型结构,可以修改`yolov8.conv.yaml`。 6. **开始训练**: - 打开命令行,在Darknet目录下运行 `python train.py --cfg yolov8.cfg --data <your_dataset> --weights yolov8.weights --epochs <number_of_epochs>` (替换 `<your_dataset>` 为实际路径)。这里`yolov8.weights`通常是预训练权重,你可以选择不加这个参数直接初始化训练。 7. **监控训练进度**: - 训练过程中,会输出损失值和其他信息,关注验证精度和loss的变化,以便适时停止训练并保存最佳模型。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值