【DEBUG】自定义Datasets报错FileNotFoundError: Unable to find xx at /

在使用自定义数据集训练Stable Diffustion的时候,根据Datasets文档 创建了数据集文件夹,在运行测试代码的时候报错

from datasets import load_dataset
ds = load_dataset('imagefolder', data_files='/xxxxx')
ds["train"][0]

#>>>FileNotFoundError: Unable to find 'xxxxx' at /

检查目录数据格式,和demo保持一致

folder/train/metadata.jsonl
folder/train/0001.png
folder/train/0002.png
folder/train/0003.png

检查源码发现,源码使用了fs.glob进行了data_files那一层文件夹的遍历,如果需要多级文件夹遍历需要传入一个glob表达式,也就是在路径后面加**

glob_iter = [PurePath(filepath) for filepath in fs.glob(pattern) if fs.isfile(filepath)]

将代码改为

from datasets import load_dataset
ds = load_dataset('imagefolder', data_files='/xxxxx/**')
ds["train"][0]

成功解决

猜你喜欢

转载自blog.csdn.net/u011459717/article/details/131090205
今日推荐