快捷键

数据集文件夹

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() 方法来自定义默认的目录结构。

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

  • loader (可调用对象) – 用于加载样本的函数,给定其路径。

  • extensions (元组[字符串]) – 允许的扩展列表。 extensions 和 is_valid_file 不应同时传递。

  • transform (可调用对象, 可选) – 一个函数/变换,它接收一个样本并返回一个经过变换的版本。 例如,对于图像,可以使用 transforms.RandomCrop

  • target_transform (可调用对象, 可选) – 一个函数/变换,它接收目标并对其进行变换。

  • is_valid_file (可调用对象, 可选) – 一个函数,它接收一个文件的路径并检查该文件是否为有效文件(用于检查损坏的文件)。 extensions 和 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

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

参数:

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

引发:

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

返回:

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

返回类型:

(Tuple[List[str], Dict[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]

生成一组样本列表,形式为 (path_to_sample, class)。

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

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

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

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

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

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

引发:
  • ValueError – 如果 class_to_idx 为空。

  • ValueError – 如果 extensionsis_valid_file 为 None,或两者都不为 None。

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

返回:

形式为 (path_to_sample, class) 的样本

返回类型:

List[Tuple[str, int]]

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源