Shortcuts

数据集文件夹

class torchvision.datasets.DatasetFolder(root: Union[str, Path], loader: Callable[[str], Any], extensions: Optional[Tuple[str, ...]] = None, transform: Optional[Callable] = None, target_transform: Optional[Callable] = None, is_valid_file: Optional[Callable[[str], bool]] = None, allow_empty: bool = False)[source]

一个通用的数据加载器。

可以通过重写find_classes()方法来自定义此默认目录结构。

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

  • loader (callable) – 一个用于加载给定路径样本的函数。

  • extensions (tuple[string]) – 允许的扩展名列表。 不应同时传递 extensions 和 is_valid_file。

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

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

  • is_valid_file (callable, optional) – 一个函数,它接受文件的路径 并检查文件是否是一个有效文件(用于检查损坏的文件) 不应同时传递扩展名和is_valid_file。

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

find_classes(directory: Union[str, Path]) Tuple[List[str], Dict[str, int]][source]

在按以下结构组织的数据集中找到类文件夹:

directory/
├── class_x
│   ├── xxx.ext
│   ├── xxy.ext
│   └── ...
│       └── xxz.ext
└── class_y
    ├── 123.ext
    ├── nsdf3.ext
    └── ...
    └── asd932_.ext

此方法可以被重写,以仅考虑类的子集,或适应不同的数据集目录结构。

Parameters:

目录 (str) – 根目录路径,对应于 self.root

Raises:

FileNotFoundError – 如果 dir 没有类文件夹。

Returns:

所有类别的列表以及将每个类别映射到索引的字典。

Return type:

(元组[列表[str], 字典[str, int]])

static make_dataset(directory: Union[str, Path], class_to_idx: Dict[str, int], extensions: Optional[Tuple[str, ...]] = None, is_valid_file: Optional[Callable[[str], bool]] = None, allow_empty: bool = False) List[Tuple[str, int]][source]

生成一个表单样本列表(样本路径,类别)。

这可以被覆盖,例如从压缩的zip文件中读取文件,而不是从磁盘中读取。

Parameters:
  • 目录 (str) – 根数据集目录,对应于 self.root

  • class_to_idx (Dict[str, int]) – 将类名映射到类索引的字典。

  • extensions (可选) – 允许的扩展名列表。 应传递extensions或is_valid_file。默认为None。

  • is_valid_file (可选) – 一个函数,它接受文件的路径 并检查文件是否为有效文件 (用于检查损坏的文件)扩展名和 is_valid_file 都不应传递。默认为 None。

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

Raises:
  • ValueError – 当 class_to_idx 为空时。

  • ValueError – 当 extensionsis_valid_file 都为 None 或都不为 None 时。

  • FileNotFoundError – 如果没有为任何类找到有效的文件。

Returns:

表单的样本 (path_to_sample, class)

Return type:

列表[元组[str, int]]