Shortcuts

ImageFolder

class torchvision.datasets.ImageFolder(root: ~typing.Union[str, ~pathlib.Path], transform: ~typing.Optional[~typing.Callable] = None, target_transform: ~typing.Optional[~typing.Callable] = None, loader: ~typing.Callable[[str], ~typing.Any] = <function default_loader>, is_valid_file: ~typing.Optional[~typing.Callable[[str], bool]] = None, allow_empty: bool = False)[source]

一个通用的数据加载器,其中图像默认按以下方式排列:

root/dog/xxx.png
root/dog/xxy.png
root/dog/[...]/xxz.png

root/cat/123.png
root/cat/nsdf3.png
root/cat/[...]/asd932_.png

这个类继承自 DatasetFolder,因此可以重写相同的方法来自定义数据集。

Parameters:
  • root (str 或 pathlib.Path) – 根目录路径。

  • transform (callable, optional) – 一个函数/变换,接收一个PIL图像并返回一个变换后的版本。例如,transforms.RandomCrop

  • target_transform (callable, optional) – 一个函数/转换,它接收目标并对其进行转换。

  • loader (callable, optional) – 一个用于根据路径加载图像的函数。

  • is_valid_file (callable, optional) – 一个函数,用于获取图像文件的路径并检查文件是否为有效文件(用于检查损坏的文件)

  • allow_empty – 如果为True,空文件夹被视为有效类别。 如果为False(默认值),则在空文件夹上会引发错误。