FileNotFoundError:具有自定义数据集的ImageFolder



我正在使用格式的自定义数据集

folder
│     
│
└--train
└--──class1
|         │   file011
|         │   file012
|
|
└───--class2
│   file021
│   file022
└--val
└--──class1
|         │   file011
|         │   file012
|
|
└───--class2
│   file021
│   file022

尝试加载数据集时

data_dir = r'PATH_TO_DATA/train'
dataset = datasets.ImageFolder(data_dir, ...)
FileNotFoundError: Found no valid file for the classes Cat, Deer, Dog, Human. Supported extensions are: .jpg, .jpeg, .png, .ppm, .bmp, .pgm, .tif, .tiff, .webp

我发现的唯一类似的问题是这里,但在他们的情况下,似乎有一个.ipynb_checkpoints文件导致了这个问题。这里的情况似乎并非如此。

我还检查了隐藏文件,并确保扩展名可以接受。

编辑:我没有意识到的一条重要信息是问题似乎就是问题。我正在使用Rclone在远程主机上托管这些数据,安装我的onedrive以访问数据。当直接访问数据时,数据集读取得很好。ImageFolder通过远程访问数据似乎比其他任何事情都更重要。

分解问题的一种方法是用pillow打开一个文件。

import torch
import torchvision.transforms.funcional as TF
from PIL import Image
img = Image.open('PATH_TO_DATA/train/class1/file011')
img = TF.pil_to_tensor(img)
print(f'[DEBUG] img: {img.shape}, {img.min()}, {img.max()}')

最新更新