yolov8如何训练自己的数据集

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本文主要是本人在学习yolov8训练自己的数据集的记录


一、下载yolov8的源码

Githup :(https://github.com/ultralytics/ultralytics)
这是下载地址,需要科学上网

二、配置环境

其实在这一步由于自己电脑配置较低,就用vscode运行云服务器了,然后后面也主要是以云服务器配置虚拟环境为主了。

在这里插入图片描述
在这个初始界面中进入SHH,之后就是根据vscode的提示一直确定就行
在之后就是要输入SHH的账户和密码(这里我选择的是AutoDL算力云)
在你选择了云服务器之后他会给你SHH账号和密码,粘贴复制就行
具体的可以去看:(https://www.bilibili.com/video/BV1724y1E7UW/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=69c3f0219a1a87fe2720b9c0d3a7d988)
我是照着这个视频学习的

1.引入库

其实下载yolov8时里面会有一个requirements.txt文件,你首先就是要按照这个文件安装就行

pip install -r /path/flie/to/requirements.txt

其实这个就是避免运行pip命令时显示找不到你的requiements文件,就加一个文件路径比较好

然后就是安装

pip install ultralytics

一般我安装了这两个之后他还要我安装一个yolo

pip install yolo

就可以了
但是还有一个问题,当你运行

yolo predict model=yolov8n.pt source=ultralytics/assets/bus.jpg'

的时候,他也会显示
Usage: yolo [OPTIONS] COMMAND [ARGS]…
Try ‘yolo -h’ for help.

Error: No such command ‘predict’
一个报错的问题,此时你只需要

python setup.py install

之后就可以解决了
然后以yolo的命令方式就可以运行yolov8了

yolo predict model=yolov8n.pt source=ultralytics/assets/bus.jpg

2.读入数据

因为我是在网上下载的数据,所以没有什么对数据处理的经验,就单纯的说明如何使用yolov8去推理,训练,检测(以python的运行方式)

第一步
首先要处理自己数据的data.yaml文件(这个是你自己数据的yaml文件)的路径,我一般是将数据直接导入项目文件的,因为这样就可以使用相对路径,好像是这个意思吧,就是在vscode中直接复制路径修改data.yaml中的路径就行了,比较方便
像图片我就是一般复制相对路径
在这里插入图片描述
其中data.yaml文件(自己yaml的文件修改路径)的代码就像这样修改就行

train: mask/train/images #其实这个就是你需要修改的路径,在项目文件中复制就行
val: mask/valid/images

nc: 2 #这个是你要检测中包含的类别
names: ['mask', 'no-mask'] #这个要一一对应不能错开,不然就显示错了

然后就是在ultralytics\cfg\models\v8\yolov8.yaml的文件中,nc数据要改成你要测试的类别数量,像我就两个类别,就改成2了
在这里插入图片描述
另外一个就是ultralytics\cfg\datasets\coco128.yaml文件,也是要修改的
在这里插入图片描述
综上,就可以开始训练你自己的数据了
如果你需要用python去训练
就分为一下步骤(其实gothup中readme写的非常详细)
你需要创建一个.py文件

from ultralytics import YOLO

# Create a new YOLO model from scratch
model = YOLO('yolov8n.yaml') #这个就是我们之前修改的ultralytics\cfg\models\v8\yolov8.yaml,改为这个路径比较好一点

# Load a pretrained YOLO model (recommended for training)
model = YOLO('yolov8n.pt')

# Train the model using the 'coco128.yaml' dataset for 3 epochs
results = model.train(data='coco128.yaml', epochs=3) #这里的data=”修改成你自己数据的data.yaml文件路径,epochs就是训练次数

# Evaluate the model's performance on the validation set
results = model.val()

# Perform object detection on an image using the model
results = model('https://ultralytics.com/images/bus.jpg')

# Export the model to ONNX format
success = model.export(format='onnx')

然后分别是val

 from ultralytics import YOLO

  model = YOLO('yolov8n.yaml')
  model.train(data='coco128.yaml', epochs=5)
  model.val()  # It'll automatically evaluate the data you trained.

predict

from ultralytics import YOLO
from PIL import Image
import cv2

model = YOLO("model.pt")
# accepts all formats - image/dir/Path/URL/video/PIL/ndarray. 0 for webcam
results = model.predict(source="0")
results = model.predict(source="folder", show=True) # Display preds. Accepts all YOLO predict arguments

# from PIL
im1 = Image.open("bus.jpg")
results = model.predict(source=im1, save=True)  # save plotted images

# from ndarray
im2 = cv2.imread("bus.jpg")
results = model.predict(source=im2, save=True, save_txt=True)  # save predictions as labels

# from list of PIL/ndarray
results = model.predict(source=[im1, im2])

都是创建一个python文件然后复制,修改进行运行的

总结

我也不知道总结啥,这基本是我学习的路程,有啥问题大家评论一下吧,我也是第一次写,不知道咋写,就按照我学习的时间顺序来了,希望大家指正,有什么错误希望大家指点一下,我也是刚学。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值