在win11系统上部署yolov8后利用自己的数据集进行训练时出现以下代码
如何解决
yolo的ultralytics已经更新了,default.yaml也是最新的,目标可以正常检测但是无法训练
这个错误提示显示在使用ultralytics的YOLOv8训练模型时出现了问题,可能是因为ultralytics的默认配置文件(default.yaml)过期或被修改了。建议按照提示更新代码中的ultralytics库,可以通过执行以下命令进行更新:
pip install -U ultralytics
然后,如果需要,可以将ultralytics库中的default.yaml文件替换为最新版本。最新版本的default.yaml文件可以从以下链接下载:
https://github.com/ultralytics/ultralytics/blob/main/ultralytics/yolo/cfg/default.yaml
下载后将其放置在正确的路径(D:\YOL0\ultralytics-main\ultralytics\yolo\cfg\default.yaml)下即可。
可以借鉴下
train: D:\yolov8v5\ultralytics-main\datasets\images\train # 训练集文件夹的路径
val: D:\yolov8v5\ultralytics-main\datasets\images\val # 验证集文件夹的路径
#你可以将验证集文件夹的路径设置成与训练集相同。这么做不会有过拟合评估,但也可以运行。
test: # 测试集文件夹的路径,可以没有
# Classes
nc: 2 # 训练集中物品的类别数量
names: ['dog', 'cat'] # 训练集中物品的类别名称
问题解决方法有了,每次训练出错后替换default.yaml,莫名其妙
可以借鉴下
自此你具备了开始训练的一切条件。想要运行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参数表示等待检测的图片所在路径。
训练出错后导致default.yaml文件被修改,可以尝试恢复原来的default.yaml文件,试试看可以不
该回答引用ChatGPT4与博主@晓码自在合作编写:
这个错误是因为你使用的 ultralytics 库的版本太老了,default.yaml 文件格式发生了变化,所以出现了 AttributeError。
解决方案是:
总的来说,这个错误并不严重,主要是版本问题导致的,更新 ultralytics 库和 default.yaml 文件就可以解决。
很抱歉,根据提供的参考资料,无法确定出现错误的具体代码和错误信息。建议提供更详细的问题描述和报错信息,或者查看代码和运行环境等方面是否有其他问题。