首先是环境配置的工作,看这个
接着是数据集的准备工作,看这个
现在开始
为了方便训练,在yolov8项目里创建一个py文件
我创了一个名字为train.py文件
内容参考了README.zh-CN.md文件,指令有
我里面的内容直接复制就可以了
from ultralytics import YOLO
if __name__ == "__main__":
model = YOLO("ultralytics/cfg/models/v8/yolov8n.yaml") # 从头开始构建新模型
model = YOLO("yolov8n.pt") # 加载预训练模型(建议用于训练)
model.train(data="data.yaml") # 训练模型
对以上内容进行解释,第一个yolov8n.yaml并没有在ultralytics/cfg/models/v8找到对应的,是因为yolov8后面加上那个后缀就是哪个了,如果你想用yolov8m.yaml,直接改成yolov8m.yaml就可以了
具体参数的调整,在这里:ultralytics/cfg/default.yaml
这个文件里是具体的参数调节的,比如batchsize,epoch之类的调节
注意一下:我在调节的时候,之前一直运行报错,是datast找不到之类这种的,
RuntimeError: Dataset 'data.yaml' error Dataset 'data.yaml' images not found , missing path
在ultralytics/data/utils.py这个文件里
按住ctrl+f键搜索, if not path
直接就搜到了
我在这两行前面加了注释,就是前面加了#,就解决了,遇到这种情况可以试试
对于ultralytics/cfg/default.yaml里参数的调节,
我主要说几个
epochs是训练轮数, 100就说跑100轮
batch是设置一批次跑几个,这个看自己显存设置,显存大就设置大,小就设置小,如果用cpu的话还是设置小一些吧,不能为0,最小1
imgsz是图象的大小,这个看你数据吧,动不动都无所谓
workers:我的电脑设置了0,cpu一般的话都建议用0,牛逼的电脑可以设置4或者8
另外,如果有报错
OSError: [WinError 1455] 页面文件太小,无法完成操作。
那么就吧workers设置为0再试试