赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
本文主要是本人在学习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)
我是照着这个视频学习的
其实下载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
因为我是在网上下载的数据,所以没有什么对数据处理的经验,就单纯的说明如何使用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文件然后复制,修改进行运行的
我也不知道总结啥,这基本是我学习的路程,有啥问题大家评论一下吧,我也是第一次写,不知道咋写,就按照我学习的时间顺序来了,希望大家指正,有什么错误希望大家指点一下,我也是刚学。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。