手把手教你YOLOV8/YOLOV9训练自己的数据集、测试,新手小白都能上手

做目标检测都绕不开的一个模型,那就是YOLO系列,截止2024年3月,目前已经出了YOLOV9,但是最新的v9是个人做的,而V8是由公司做的,因此,还是推荐大家用V8,而且V8后续也会不断地更新和维护,因此本文拿V8做示范,如果需要用V9的都是一样的流程。

1,首先来到yolov8的官网:

https://docs.ultralytics.com/

2,点击Get Started,跳转到YOLOV8的安装界面

在这里插入图片描述
然后就可以看到相应的使用教程。

3,创建一个虚拟环境

如果虚拟环境已经创建好的就可以直接激活虚拟环境了。创建虚拟环境的原因主要是做深度学习的时候,有很多模型需要跑,而这些模型对于软件包的要求各不相同,如果都安装在同一个环境下,可能会冲突,所以我们创建虚拟环境将其分开。
按照下面创建虚拟环境(我这里是安装了annaconda或者miniconda):打开cmd窗口,然后输入

conda create --name yolo_env python=3.8

创建之后我们再激活虚拟环境

conda activate yolo_env

然后就进入虚拟环境下了。

4,安装软件包

在yolo的官网,可以看到代码是已经封装到一起了,直接安装就行。
在虚拟环境下,cmd窗口输入:

pip install ultralytics

记得安装pytorch等深度学习相关的基础软件包

5,下载代码:

输入以下网址:
https://github.com/ultralytics/ultralytics
来到yolo的github代码,下载代码到本地并解压。

6,训练官方数据集

用pycharm打开代码,然后在项目文件夹下,新建一个名字叫train.py的python文件,然后把下面的代码输进去,点击运行就可以进行训练了。

from ultralytics import YOLO


if __name__ == '__main__':
    # Load a model
    model = YOLO("yolov8n.yaml")  # build a new model from scratch
    model = YOLO("yolov8n.pt")  # load a pretrained model (recommended for training)
    model = YOLO('yolov8n.yaml').load('yolov8n.pt')  # build from YAML and transfer weights

    # Use the model
    model.train(data='coco.yaml',
                epochs=200, batch = 8, workers = 2,
                save = True,imgsz = 1024,
                save_period = 5, val = True)  # train the model

点击运行就可以了,代码会自动下载官方的coco数据集进行训练。
注意:由于coco数据集非常大,可能没办法下载下来,大家可以把这里数据集修改成coco128数据集,这个数据集比较小,如果不修改的话,可能会一直报错。data='coco128.yaml',**
其实两个数据集格式都是差不多的的,我习惯于用coco,所以后面训练自己数据集的时候就以coco数据集为例了

下面先解释一下train里面的具体参数:
data:这个是指定使用的数据集,模型找到这个yaml文件,然后利用数据集里面的类别和路径进行训练。
epoches:训练代数。
batch:批大小,每次送几个图片进行训练。
workers:线程数,尽量选择小一点,不然会报错。
save:是否保存模型。
imgsz:图片的大小。
save_period:每隔几代保存一次。
val:模型中间是否进行验证。
注意:如果遇到以下错误:
raise err OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading
大概率是因为workers设的太大了,或者训练之前没有指定workers使用了默认值。

7,使用自制数据集进行训练

首先将自制数据集修改成一下的格式:
在这里插入图片描述
然后images/train2017这个文件夹中放我们训练用的图片

在这里插入图片描述
labels/train2017这个文件夹中放每一个训练图片对应的标签情况。
在这里插入图片描述
在这里插入图片描述
这个文件需要自己写代码生成哈。

然后train2017.txt和val2017.txt文件中存放需要训练和验证的文件的路径,注意这里需要保存相对路径(./images/)和文件扩展名,不然就会报错说找不到文件
在这里插入图片描述
如果以上的数据都已经准备好并且格式也按照标准进行组织了,那么我们就可以训练我们自己的数据集了。

8,修改参数

首先是把训练数据的路径修改成我们自己存放数据的路径。
找到ultralytics/cfg/datasets文件夹,找到coco.yaml文件
在这里插入图片描述
然后打开coco.yaml文件,修改path为自己的路径,修改相应的classes为自己的标签名称。

在这里插入图片描述
然后再找到ultralytics/cfg/models/yolov8.yaml文件
在这里插入图片描述
打开yolov8.yaml文件,将nc修改为自己的标签类别,这个参数就是num_classes.
在这里插入图片描述
到这里我们需要修改的都修改完了,下面还是找到我们的train.py文件,然后点击运行,就可以直接训练我们自己的数据集了。
在这里插入图片描述

9,预测/推理

新建一个predict.py的文件,然后输入一下代码

from ultralytics import YOLO

if __name__ == '__main__':
    # Load a model
    model = YOLO('yolov8n.pt')  # pretrained YOLOv8n model
    
    # Run batched inference on a list of images
    results = model(['im1.jpg', 'im2.jpg'])  # return a list of Results objects
    
    # Process results list
    for result in results:
        boxes = result.boxes  # Boxes object for bounding box outputs
        masks = result.masks  # Masks object for segmentation masks outputs
        keypoints = result.keypoints  # Keypoints object for pose outputs
        probs = result.probs  # Probs object for classification outputs
        result.show()  # display to screen
        result.save(filename='result.jpg')  # save to disk

然后点击运行,就可以看到预测的图片啦。

备注:
训练及预测过程中,可能还有一些参数需要根据自己的机器及任务需要进行调整,大家可以翻看官方给出的参数指导进行修改。还有其他的问题也可以去官方文档中查看。这里我把连接给大家,方便大家寻找:
https://docs.ultralytics.com/modes/train/#train-settings

  • 27
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在【小白CV】手把手你用YOLOv5训练自己的数据集(从Windows环境配置到模型部署)_梁瑛平的博客-CSDN博客.pdf中提供了详细的指导,可以帮助你学习如何使用YOLOv5训练自己的数据集。该过程包括以下步骤: 1. 数据集制作:准备自己的数据集,并进行标注和处理,生成YOLOv5所需的数据格式。 2. 环境配置:在Windows环境下安装Python环境、PyTorch和其他必要的依赖库。 3. 模型训练:使用YOLOv5提供的训练脚本进行模型训练,根据自己的硬件配置修改参数。 4. 模型测试:使用训练好的模型进行测试,评估模型在测试集上的性能。 5. 模型推理:将训练好的模型部署到实际应用中,进行目标检测训练好的模型会保存在yolov5目录下的runs/exp0/weights/last.pt和best.pt文件中,而详细的训练数据保存在runs/exp0/results.txt文件中。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【小白CV】手把手你用YOLOv5训练自己的数据集(从Windows环境配置到模型部署)_梁瑛平的博客-CSDN博客....](https://download.csdn.net/download/m0_62668782/54189217)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [YOLOv5训练自己的数据集(超详细完整版)](https://blog.csdn.net/demm868/article/details/122076560)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值