yolo v8 更新后,做分类任务时,用 .yaml 的方式去定义数据集信息,会出现报错,如下:
并且尝试下载对应名称的数据集,实际上对应的数据集并不存在。
解决办法:
根据v8 github 给出的示例,最新版v8,分类任务时,数据集直接指向train、val图片文件所在的文件夹。
root/
|-- class1/
| |-- img1.jpg
| |-- img2.jpg
| |-- ...
|
|-- class2/
| |-- img1.jpg
| |-- img2.jpg
| |-- ...
|
|-- class3/
| |-- img1.jpg
| |-- img2.jpg
| |-- ...
|
|-- ...
在此文件夹结构中,该root
目录包含数据集中每个类的一个子目录。每个子目录都以相应的类命名,并包含该类的所有图像。每个图像文件都有唯一的命名,并且通常采用常见的图像文件格式,例如 JPEG 或 PNG。
举例如下:
在../ultralytics/datasets新建一个RAF_Data文件夹,子文件夹train、val,每个文件夹下对应类别名称的文件夹,里面放对应的图片。
data 参数,直接对应数据集根目录名称:RAF_Data
如下所示:
python 运行 或者cli 命令时指定此数据集,成功解决。