# 加载方法

列出和加载数据集的方法：

## 数据集[[datasets.load_dataset]]

#### datasets.load_dataset[[datasets.load_dataset]]

```python
datasets.load_dataset(path: str, name: typing.Optional[str] = None, data_dir: typing.Optional[str] = None, data_files: typing.Union[str, collections.abc.Sequence[str], collections.abc.Mapping[str, typing.Union[str, collections.abc.Sequence[str]]], NoneType] = None, split: typing.Union[str, datasets.splits.Split, list[str], list[datasets.splits.Split], NoneType] = None, cache_dir: typing.Optional[str] = None, features: typing.Optional[datasets.features.features.Features] = None, download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None, download_mode: typing.Union[datasets.download.download_manager.DownloadMode, str, NoneType] = None, verification_mode: typing.Union[datasets.utils.info_utils.VerificationMode, str, NoneType] = None, keep_in_memory: typing.Optional[bool] = None, save_infos: bool = False, revision: typing.Union[datasets.utils.version.Version, str, NoneType] = None, token: typing.Union[bool, str, NoneType] = None, streaming: bool = False, num_proc: typing.Optional[int] = None, storage_options: typing.Optional[dict] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/load.py#L1446)

**参数：**

path (`str`) : 数据集的路径或名称。 - 如果 `path` 是 HF hub 上的数据集仓库（使用 `huggingface_hub.list_datasets` 列出所有可用数据集）-> 从仓库中受支持的文件（csv、json、parquet 等）加载数据集，例如 `'username/dataset_name'`，即包含数据文件的 HF hub 数据集仓库。 - 如果 `path` 是 HF Hub 上 Storage Bucket 内的目录（使用 `huggingface_hub.list_buckets` 列出您的存储桶）-> 从该目录中受支持的文件（csv、json、parquet 等）加载数据集，例如 `'buckets/username/bucket_name/my_dataset'`。 - 如果 `path` 是本地目录 -> 从该目录中受支持的文件（csv、json、parquet 等）加载数据集，例如 `'./path/to/directory/with/my/csv/data'`。 - 如果 `path` 是数据集构建器的名称，且指定了 `data_files` 或 `data_dir`（可用的构建器包括 "json"、"csv"、"parquet"、"arrow"、"text"、"xml"、"webdataset"、"imagefolder"、"audiofolder"、"videofolder"、"meshfolder"）-> 从 `data_files` 或 `data_dir` 中的文件加载数据集，例如 `'parquet'`。 使用 `hf://` 路径（如 `'hf://datasets/username/dataset_name'`）以仅允许远程访问。使用绝对路径以仅允许本地访问。

name (`str`, *可选*) : 定义数据集配置的名称。

data_dir (`str`, *可选*) : 定义数据集配置的 `data_dir`。如果为通用构建器（csv、text 等）或 Hub 数据集指定了该参数，且 `data_files` 为 `None`，则其行为等同于将 `os.path.join(data_dir, **)` 作为 `data_files` 传入，以引用目录中的所有文件。

data_files (`str` 或 `Sequence` 或 `Mapping`，*可选*)：源数据文件的路径。

split (`Split` 或 `str`)：要加载的数据集划分。如果为 `None`，将返回一个包含所有划分的 `dict`（通常为 `datasets.Split.TRAIN` 和 `datasets.Split.TEST`）。如果指定了值，将返回单个 Dataset。划分可以组合，并像 tensorflow-datasets 中那样指定。

cache_dir (`str`, *可选*) : 用于读取/写入数据的目录。默认为 `"~/.cache/huggingface/datasets"`。

features (`Features`，*可选*)：设置此数据集要使用的特征类型。

download_config ([DownloadConfig](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.DownloadConfig)，*可选*)：特定的下载配置参数。

download_mode ([DownloadMode](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.DownloadMode) 或 `str`，默认为 `REUSE_DATASET_IF_EXISTS`)：下载/生成模式。

verification_mode ([VerificationMode](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.VerificationMode) 或 `str`，默认为 `BASIC_CHECKS`)：验证模式，用于确定对下载/处理后的数据集信息（校验和/大小/分片/...）要执行的检查。

keep_in_memory (`bool`，默认为 `None`)：是否将数据集复制到内存中。如果为 `None`，除非通过将 `datasets.config.IN_MEMORY_MAX_SIZE` 设置为非零值来显式启用，否则不会将数据集复制到内存中。更多详情请参见 [提升性能](../cache#improve-performance) 部分。

revision ([Version](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.Version) 或 `str`，*可选*) : 要加载的数据集版本。由于数据集在 Datasets Hub 上拥有自己的 git 仓库，默认版本 "main" 对应其 "main" 分支。您可以使用数据集仓库的 commit SHA 或 git tag 来指定不同于默认 "main" 的版本。

token (`str` 或 `bool`，*可选*)：用于 Datasets Hub 上远程文件的 Bearer token 的可选字符串或布尔值。如果为 `True` 或未指定，则从 `"~/.huggingface"` 获取 token。

streaming (`bool`，默认为 `False`) : 如果设置为 `True`，则不下载数据文件。相反，在迭代数据集时会逐步流式传输数据。在这种情况下，将返回 [IterableDataset](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.IterableDataset) 或 [IterableDatasetDict](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.IterableDatasetDict)。请注意，流式传输适用于使用支持迭代的数据格式的数据集，例如 txt、csv、jsonl。Json 文件可能会被完整下载。此外，支持从远程 zip 或 gzip 文件进行流式传输，但尚不支持 rar 和 xz 等其他压缩格式。tgz 格式不支持流式传输。

num_proc (`int`，*可选*，默认为 `None`)：在本地下载和生成数据集时使用的进程数。默认情况下禁用多进程。

storage_options (`dict`，*可选*，默认为 `None`)：**实验性**。要传递给数据集文件系统后端（如果存在）的键值对。

- ****config_kwargs**（额外的关键字参数）：传递给 `BuilderConfig` 并在 [DatasetBuilder](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.DatasetBuilder) 中使用的关键字参数。

**返回：** [Dataset](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.Dataset) 或 [DatasetDict](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.DatasetDict)

- 如果 `split` 不是 `None`：请求的数据集，
- 如果 `split` 为 `None`，则返回一个包含每个 split 的 [DatasetDict](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.DatasetDict)。

或 [IterableDataset](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.IterableDataset) 或 [IterableDatasetDict](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.IterableDatasetDict)：如果 `streaming=True`

- 如果 `split` 不是 `None`，则会请求该数据集
- 如果 `split` 为 `None`，则返回一个包含每个 split 的 `~datasets.streaming.IterableDatasetDict`。

从 Hugging Face Hub 或本地加载数据集。

您可以在 [Hub](https://huggingface.co/datasets) 上或通过 `huggingface_hub.list_datasets` 找到数据集列表。

数据集是一个目录，其中包含一些通用格式（JSON、CSV、Parquet 等）的数据文件，可能还采用通用结构（Webdataset、ImageFolder、AudioFolder、VideoFolder、MeshFolder 等）。

该函数在底层执行以下操作：

1. 加载数据集构建器：

   * 找到数据集中最常见的数据格式，并选择其对应的构建器（JSON、CSV、Parquet、Webdataset、ImageFolder、AudioFolder、MeshFolder 等）。
   * 根据文件和目录名称或 YAML 配置，查找哪些文件属于哪个数据划分（例如 train/test）
   * 也可以手动指定`data_files`以及要使用的数据集构建器（例如 "parquet"）。

2. 运行数据集构建器：

   在一般情况下：

   * 如果数据文件在本地或缓存中尚不可用，请从数据集中下载它们。
   * 处理数据集并将其缓存为带类型的 Arrow 表，以便进行缓存。

     Arrow 表是长度任意的类型化表，可以存储嵌套对象，并映射到 numpy/pandas/python 通用类型。它们可以直接从磁盘访问、加载到内存中，甚至可以通过网络进行流式传输。

   在流式传输的情况下：

   * 不要下载或缓存任何内容。相反，数据集会采用惰性加载方式，在迭代时按需实时流式传输。

3. 返回一个由`split`（默认：全部）中请求的拆分构建而成的数据集。

示例：

从 Hugging Face Hub 加载数据集：

```py
>>> from datasets import load_dataset
>>> ds = load_dataset('cornell-movie-review-data/rotten_tomatoes', split='train')

# Load a subset or dataset configuration (here 'sst2')
>>> from datasets import load_dataset
>>> ds = load_dataset('nyu-mll/glue', 'sst2', split='train')

# Manual mapping of data files to splits
>>> data_files = {'train': 'train.csv', 'test': 'test.csv'}
>>> ds = load_dataset('namespace/your_dataset_name', data_files=data_files)

# Manual selection of a directory to load
>>> ds = load_dataset('namespace/your_dataset_name', data_dir='folder_name')
```

从 Hugging Face Hub 上的存储桶加载数据集：

```py
>>> from datasets import load_dataset
>>> ds = load_dataset('buckets/username/bucket_name/rotten_tomatoes', split='train')
```

加载本地数据集：

```py
# Load a CSV file
>>> from datasets import load_dataset
>>> ds = load_dataset('csv', data_files='path/to/local/my_dataset.csv')

# Load a JSON file
>>> from datasets import load_dataset
>>> ds = load_dataset('json', data_files='path/to/local/my_dataset.json')
```

加载一个 [IterableDataset](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.IterableDataset)：

```py
>>> from datasets import load_dataset
>>> ds = load_dataset('cornell-movie-review-data/rotten_tomatoes', split='train', streaming=True)
```

使用 `ImageFolder` 数据集构建器加载图像数据集：

```py
>>> from datasets import load_dataset
>>> ds = load_dataset('imagefolder', data_dir='/path/to/images', split='train')
```

#### datasets.load_from_disk[[datasets.load_from_disk]]

```python
datasets.load_from_disk(dataset_path: typing.Union[str, bytes, os.PathLike], keep_in_memory: typing.Optional[bool] = None, storage_options: typing.Optional[dict] = None)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/load.py#L1704)

**参数：**

dataset_path (`path-like`) : [Dataset](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.Dataset) 或 [DatasetDict](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.DatasetDict) 目录的路径（例如 `"dataset/train"`）或远程 URI（例如 `"s3://my-bucket/dataset/train"`），数据集/数据集字典将从该位置加载。

keep_in_memory (`bool`，默认为 `None`)：是否将数据集复制到内存中。如果为 `None`，除非通过将 `datasets.config.IN_MEMORY_MAX_SIZE` 设置为非零值来显式启用，否则不会将数据集复制到内存中。更多详情请参见 [提升性能](../cache#improve-performance) 部分。

storage_options (`dict`, *可选*) : 要传递给文件系统后端的键值对（如果存在）。

**返回：** [Dataset](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.Dataset) 或 [DatasetDict](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.DatasetDict)

- 如果 `dataset_path` 是数据集目录的路径：所请求的数据集。
- 如果 `dataset_path` 是数据集字典目录的路径，则返回一个包含每个 split 的 [DatasetDict](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.DatasetDict)。

从数据集目录加载之前使用 [save_to_disk()](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.Dataset.save_to_disk) 保存的数据集，或者从使用 `fsspec.spec.AbstractFileSystem` 任意实现的文件系统加载。

示例：

```py
>>> from datasets import load_from_disk
>>> ds = load_from_disk('path/to/dataset/directory')
```

#### datasets.load_dataset_builder[[datasets.load_dataset_builder]]

```python
datasets.load_dataset_builder(path: str, name: typing.Optional[str] = None, data_dir: typing.Optional[str] = None, data_files: typing.Union[str, collections.abc.Sequence[str], collections.abc.Mapping[str, typing.Union[str, collections.abc.Sequence[str]]], NoneType] = None, cache_dir: typing.Optional[str] = None, features: typing.Optional[datasets.features.features.Features] = None, download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None, download_mode: typing.Union[datasets.download.download_manager.DownloadMode, str, NoneType] = None, revision: typing.Union[datasets.utils.version.Version, str, NoneType] = None, token: typing.Union[bool, str, NoneType] = None, storage_options: typing.Optional[dict] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/load.py#L1187)

**参数：**

path (`str`) : 数据集的路径或名称。 - 如果 `path` 是 HF hub 上的数据集仓库（使用 `huggingface_hub.list_datasets` 列出所有可用数据集）-> 从仓库中的受支持文件（csv、json、parquet 等）加载数据集构建器，例如 `'username/dataset_name'`，即包含数据文件的 HF hub 数据集仓库。 - 如果 `path` 是 HF Hub 上 Storage Bucket 内的目录（使用 `huggingface_hub.list_buckets` 列出您的存储桶）-> 从目录中的受支持文件（csv、json、parquet 等）加载数据集，例如 `'buckets/username/bucket_name/my_dataset'`。 - 如果 `path` 是本地目录 -> 从目录中的受支持文件（csv、json、parquet 等）加载数据集构建器，例如 `'./path/to/directory/with/my/csv/data'`。 - 如果 `path` 是数据集构建器的名称，且指定了 `data_files` 或 `data_dir`（可用的构建器包括 "json"、"csv"、"parquet"、"arrow"、"text"、"xml"、"webdataset"、"imagefolder"、"audiofolder"、"videofolder"、"meshfolder"）-> 从 `data_files` 或 `data_dir` 中的文件加载数据集构建器，例如 `'parquet'`。 使用 `hf://` 路径（如 `'hf://datasets/username/dataset_name'`）以仅允许远程访问。使用绝对路径以仅允许本地访问。

name (`str`, *可选*) : 定义数据集配置的名称。

data_dir (`str`, *可选*) : 定义数据集配置的 `data_dir`。如果为通用构建器（csv、text 等）或 Hub 数据集指定了该参数，且 `data_files` 为 `None`，则其行为等同于将 `os.path.join(data_dir, **)` 作为 `data_files` 传入，以引用目录中的所有文件。

data_files (`str` 或 `Sequence` 或 `Mapping`，*可选*)：源数据文件的路径。

cache_dir (`str`, *可选*) : 用于读取/写入数据的目录。默认为 `"~/.cache/huggingface/datasets"`。

features （[Features](/docs/datasets/v5.2.0/zh/package_reference/main_classes#datasets.Features)，*可选*）：设置此数据集使用的 features 类型。

download_config ([DownloadConfig](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.DownloadConfig)，*可选*)：特定的下载配置参数。

download_mode ([DownloadMode](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.DownloadMode) 或 `str`，默认为 `REUSE_DATASET_IF_EXISTS`)：下载/生成模式。

revision ([Version](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.Version) 或 `str`，*可选*) : 要加载的数据集版本。由于数据集在 Datasets Hub 上拥有自己的 git 仓库，默认版本 "main" 对应其 "main" 分支。您可以使用数据集仓库的 commit SHA 或 git tag 来指定不同于默认 "main" 的版本。

token (`str` 或 `bool`，*可选*)：用于 Datasets Hub 上远程文件的 Bearer token 的可选字符串或布尔值。如果为 `True` 或未指定，则从 `"~/.huggingface"` 获取 token。

storage_options (`dict`，*可选*，默认为 `None`)：**实验性**。要传递给数据集文件系统后端（如果存在）的键值对。

- ****config_kwargs**（额外的关键字参数）：传递给 [BuilderConfig](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.BuilderConfig) 并在 [DatasetBuilder](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.DatasetBuilder) 中使用的关键字参数。

**返回：**

[DatasetBuilder](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.DatasetBuilder)

加载一个数据集构建器，可用于：

- 检查构建数据集所需的通用信息（缓存目录、配置、数据集信息、特征、数据文件等）。
- 将数据集下载并准备为缓存中的 Arrow 文件
- 在不下载或缓存任何内容的情况下获取流式数据集

您可以在 [Hub](https://huggingface.co/datasets) 上或通过 `huggingface_hub.list_datasets` 找到数据集列表。

数据集是一个目录，其中包含一些通用格式（JSON、CSV、Parquet 等）的数据文件，可能还采用通用结构（Webdataset、ImageFolder、AudioFolder、VideoFolder、MeshFolder 等）。

示例：

```py
>>> from datasets import load_dataset_builder
>>> ds_builder = load_dataset_builder('cornell-movie-review-data/rotten_tomatoes')
>>> ds_builder.info.features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
```

#### datasets.get_dataset_config_names[[datasets.get_dataset_config_names]]

```python
datasets.get_dataset_config_names(path: str, revision: typing.Union[datasets.utils.version.Version, str, NoneType] = None, download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None, download_mode: typing.Union[datasets.download.download_manager.DownloadMode, str, NoneType] = None, data_files: typing.Union[str, list, dict, NoneType] = None, **download_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/inspect.py#L109)

**参数：**

path (`str`) : 数据集仓库的路径。可以是： - 包含数据文件的数据集目录的本地路径，例如 `'./dataset/squad'` - Hugging Face Hub 上的数据集标识符（使用 `huggingface_hub.list_datasets` 列出所有可用的数据集和 id），例如 `'rajpurkar/squad'`、`'nyu-mll/glue'` 或``'openai/webtext'`

revision (`Union[str, datasets.Version]`, *可选*) : 如果指定，数据集模块将从该版本的 datasets 仓库中加载。默认情况下： - 设置为库的本地版本。 - 如果在库的本地版本中不可用，还会尝试从主分支加载。指定与库本地版本不同的版本可能会导致兼容性问题。

download_config ([DownloadConfig](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.DownloadConfig)，*可选*)：特定的下载配置参数。

download_mode ([DownloadMode](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.DownloadMode) 或 `str`，默认为 `REUSE_DATASET_IF_EXISTS`)：下载/生成模式。

data_files (`Union[Dict, List, str]`，*可选*)：定义数据集配置的 data_files。

- ****download_kwargs**（附加关键字参数）：用于 [DownloadConfig](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.DownloadConfig) 的可选属性，如果提供，将覆盖 `download_config` 中的属性，例如 `token`。

获取特定数据集的可用配置名称列表。

示例：

```py
>>> from datasets import get_dataset_config_names
>>> get_dataset_config_names("nyu-mll/glue")
['cola',
 'sst2',
 'mrpc',
 'qqp',
 'stsb',
 'mnli',
 'mnli_mismatched',
 'mnli_matched',
 'qnli',
 'rte',
 'wnli',
 'ax']
```

#### datasets.get_dataset_infos[[datasets.get_dataset_infos]]

```python
datasets.get_dataset_infos(path: str, data_files: typing.Union[str, list, dict, NoneType] = None, download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None, download_mode: typing.Union[datasets.download.download_manager.DownloadMode, str, NoneType] = None, revision: typing.Union[datasets.utils.version.Version, str, NoneType] = None, token: typing.Union[bool, str, NoneType] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/inspect.py#L42)

**参数：**

path (`str`) : 数据集仓库的路径。可以是： - 包含数据文件的数据集目录的本地路径，例如 `'./dataset/squad'` - Hugging Face Hub 上的数据集标识符（使用 `huggingface_hub.list_datasets` 列出所有可用的数据集和 id），例如 `'rajpurkar/squad'`、`'nyu-mll/glue'` 或``'openai/webtext'`

revision (`Union[str, datasets.Version]`, *可选*) : 如果指定，数据集模块将从该版本的 datasets 仓库中加载。默认情况下： - 设置为库的本地版本。 - 如果在库的本地版本中不可用，还会尝试从主分支加载。指定与库本地版本不同的版本可能会导致兼容性问题。

download_config ([DownloadConfig](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.DownloadConfig)，*可选*)：特定的下载配置参数。

download_mode ([DownloadMode](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.DownloadMode) 或 `str`，默认为 `REUSE_DATASET_IF_EXISTS`)：下载/生成模式。

data_files (`Union[Dict, List, str]`，*可选*)：定义数据集配置的 data_files。

token (`str` 或 `bool`，*可选*)：用于 Datasets Hub 上远程文件的 Bearer token 的可选字符串或布尔值。如果为 `True` 或未指定，则从 `"~/.huggingface"` 获取 token。

- ****config_kwargs**（附加关键字参数）：构建器类的可选属性，如果提供，将覆盖相应属性。

获取数据集的元信息，返回一个将配置名称映射到 DatasetInfoDict 的字典。

示例：

```py
>>> from datasets import get_dataset_infos
>>> get_dataset_infos('cornell-movie-review-data/rotten_tomatoes')
{'default': DatasetInfo(description="Movie Review Dataset.
 is a dataset of containing 5,331 positive and 5,331 negative processed
ences from Rotten Tomatoes movie reviews...), ...}
```

#### datasets.get_dataset_split_names[[datasets.get_dataset_split_names]]

```python
datasets.get_dataset_split_names(path: str, config_name: typing.Optional[str] = None, data_files: typing.Union[str, collections.abc.Sequence[str], collections.abc.Mapping[str, typing.Union[str, collections.abc.Sequence[str]]], NoneType] = None, download_config: typing.Optional[datasets.download.download_config.DownloadConfig] = None, download_mode: typing.Union[datasets.download.download_manager.DownloadMode, str, NoneType] = None, revision: typing.Union[datasets.utils.version.Version, str, NoneType] = None, token: typing.Union[bool, str, NoneType] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/inspect.py#L295)

**参数：**

path (`str`) : 数据集仓库的路径。可以是： - 包含数据文件的数据集目录的本地路径，例如 `'./dataset/squad'` - Hugging Face Hub 上的数据集标识符（使用 `huggingface_hub.list_datasets` 列出所有可用的数据集和 id），例如 `'rajpurkar/squad'`、`'nyu-mll/glue'` 或``'openai/webtext'`

config_name (`str`, *可选*) : 定义数据集配置的名称。

data_files (`str` 或 `Sequence` 或 `Mapping`，*可选*)：源数据文件的路径。

download_config ([DownloadConfig](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.DownloadConfig)，*可选*)：特定的下载配置参数。

download_mode ([DownloadMode](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.DownloadMode) 或 `str`，默认为 `REUSE_DATASET_IF_EXISTS`)：下载/生成模式。

revision ([Version](/docs/datasets/v5.2.0/zh/package_reference/builder_classes#datasets.Version) 或 `str`，*可选*) : 要加载的数据集版本。由于数据集在 Datasets Hub 上拥有自己的 git 仓库，默认版本 "main" 对应其 "main" 分支。您可以使用数据集仓库的 commit SHA 或 git tag 来指定不同于默认 "main" 的版本。

token (`str` 或 `bool`，*可选*)：用于 Datasets Hub 上远程文件的 Bearer token 的可选字符串或布尔值。如果为 `True` 或未指定，则从 `"~/.huggingface"` 获取 token。

- ****config_kwargs**（附加关键字参数）：构建器类的可选属性，如果提供，将覆盖相应属性。

获取特定配置和数据集的可用拆分列表。

示例：

```py
>>> from datasets import get_dataset_split_names
>>> get_dataset_split_names('cornell-movie-review-data/rotten_tomatoes')
['train', 'validation', 'test']
```

## 从文件

用于加载数据文件的配置。在加载本地文件或数据集仓库时使用：

- 本地文件：`load_dataset("parquet", data_dir="path/to/data/dir")`
- 数据集仓库: `load_dataset("allenai/c4")`

您可以向 `load_dataset` 传递参数以配置数据加载。例如，您可以指定 `sep` 参数来定义用于加载数据的 [CsvConfig](/docs/datasets/v5.2.0/zh/package_reference/loading_methods#datasets.packaged_modules.csv.CsvConfig)：

```python
load_dataset("csv", data_dir="path/to/data/dir", sep="\t")
```

### 文本[[datasets.packaged_modules.text.TextConfig]]

#### datasets.packaged_modules.text.TextConfig[[datasets.packaged_modules.text.TextConfig]]

```python
datasets.packaged_modules.text.TextConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, features: typing.Optional[datasets.features.features.Features] = None, encoding: str = 'utf-8', encoding_errors: typing.Optional[str] = None, chunksize: int = 10485760, keep_linebreaks: bool = False, sample_by: typing.Literal['line', 'paragraph', 'document'] = 'line')
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/text/text.py#L17)

**参数：**

features : (`Features`, *可选*): 将数据转换为 `features`。

encoding : (`str`，默认为 "utf-8")：用于解码文件的编码。

encoding_errors : (`str`, *可选*): 用于定义在发生编码错误时如何处理该错误的参数。这与 `open()` 中的 `error` 参数相同。

chunksize : (`Features`，*可选*，默认为 "10MB")：读取数据的块大小。

keep_linebreaks : (`bool`, 默认为 False): 是否保留换行符。

sample_by (`Literal["line", "paragraph", "document"]`，默认为 "line")：是否按行、段落或文档加载数据。默认情况下，数据集中的每一行对应一行文本。

用于文本文件的 BuilderConfig。

#### datasets.packaged_modules.text.Text[[datasets.packaged_modules.text.Text]]

```python
datasets.packaged_modules.text.Text(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/text/text.py#L45)

### CSV[[datasets.packaged_modules.csv.CsvConfig]]

#### datasets.packaged_modules.csv.CsvConfig[[datasets.packaged_modules.csv.CsvConfig]]

```python
datasets.packaged_modules.csv.CsvConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, sep: str = ',', delimiter: typing.Optional[str] = None, header: typing.Union[int, list[int], str, NoneType] = 'infer', names: typing.Optional[list[str]] = None, column_names: typing.Optional[list[str]] = None, index_col: typing.Union[int, str, list[int], list[str], NoneType] = None, usecols: typing.Union[list[int], list[str], NoneType] = None, prefix: typing.Optional[str] = None, mangle_dupe_cols: bool = True, engine: typing.Optional[typing.Literal['c', 'python', 'pyarrow']] = None, converters: dict = None, true_values: typing.Optional[list] = None, false_values: typing.Optional[list] = None, skipinitialspace: bool = False, skiprows: typing.Union[int, list[int], NoneType] = None, nrows: typing.Optional[int] = None, na_values: typing.Union[str, list[str], NoneType] = None, keep_default_na: bool = True, na_filter: bool = True, verbose: bool = False, skip_blank_lines: bool = True, thousands: typing.Optional[str] = None, decimal: str = '.', lineterminator: typing.Optional[str] = None, quotechar: str = '"', quoting: int = 0, escapechar: typing.Optional[str] = None, comment: typing.Optional[str] = None, encoding: typing.Optional[str] = None, dialect: typing.Optional[str] = None, error_bad_lines: bool = True, warn_bad_lines: bool = True, skipfooter: int = 0, doublequote: bool = True, memory_map: bool = False, float_precision: typing.Optional[str] = None, chunksize: int = 10000, features: typing.Optional[datasets.features.features.Features] = None, encoding_errors: typing.Optional[str] = 'strict', on_bad_lines: typing.Literal['error', 'warn', 'skip'] = 'error', date_format: typing.Optional[str] = None)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/csv/csv.py#L25)

用于 CSV 的 BuilderConfig。

#### datasets.packaged_modules.csv.Csv[[datasets.packaged_modules.csv.Csv]]

```python
datasets.packaged_modules.csv.Csv(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/csv/csv.py#L145)

### JSON[[datasets.packaged_modules.json.JsonConfig]]

#### datasets.packaged_modules.json.JsonConfig[[datasets.packaged_modules.json.JsonConfig]]

```python
datasets.packaged_modules.json.JsonConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, features: typing.Optional[datasets.features.features.Features] = None, encoding: str = 'utf-8', encoding_errors: typing.Optional[str] = None, field: typing.Optional[str] = None, use_threads: bool = True, block_size: typing.Optional[int] = None, chunksize: int = 10485760, newlines_in_values: typing.Optional[bool] = None, on_mixed_types: typing.Optional[typing.Literal['use_json']] = 'use_json', parse_agent_traces: bool = True)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/json/json.py#L46)

JSON 的 BuilderConfig。

#### datasets.Json[[datasets.Json]]

```python
datasets.Json(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/json/json.py#L64)

### XML[[datasets.packaged_modules.xml.XmlConfig]]

#### datasets.packaged_modules.xml.XmlConfig[[datasets.packaged_modules.xml.XmlConfig]]

```python
datasets.packaged_modules.xml.XmlConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, features: typing.Optional[datasets.features.features.Features] = None, encoding: str = 'utf-8', encoding_errors: typing.Optional[str] = None)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/xml/xml.py#L15)

用于 xml 文件的 BuilderConfig。

#### datasets.packaged_modules.xml.Xml[[datasets.packaged_modules.xml.Xml]]

```python
datasets.packaged_modules.xml.Xml(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/xml/xml.py#L23)

### Parquet[[datasets.packaged_modules.parquet.ParquetConfig]]

#### datasets.packaged_modules.parquet.ParquetConfig[[datasets.packaged_modules.parquet.ParquetConfig]]

```python
datasets.packaged_modules.parquet.ParquetConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, batch_size: typing.Optional[int] = None, columns: typing.Optional[list[str]] = None, features: typing.Optional[datasets.features.features.Features] = None, filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None, fragment_scan_options: typing.Optional[pyarrow._dataset_parquet.ParquetFragmentScanOptions] = None, on_bad_files: typing.Literal['error', 'warn', 'skip'] = 'error')
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/parquet/parquet.py#L20)

**参数：**

batch_size (`int`, *可选*) : 要迭代的 RecordBatches 的大小。默认值为行组大小（由第一个行组定义）。

columns (`list[str]`, *可选*) : 要加载的列列表，其他列将被忽略。默认情况下会加载所有列。

features : (`Features`, *可选*): 将数据转换为 `features`。

filters (`Union[pyarrow.dataset.Expression, list[tuple], list[list[tuple]]]`, *可选*) : 仅返回匹配过滤条件的行。如果可能，谓词将被下推以利用数据源中的分区信息或内部元数据，例如 Parquet 统计信息。否则，在返回之前对已加载的 RecordBatches 进行过滤。

fragment_scan_options (`pyarrow.dataset.ParquetFragmentScanOptions`，*可选*)：Parquet 片段的扫描特定选项。这对于配置缓冲和缓存尤其有用。

on_bad_files (`Literal["error", "warn", "skip"]`, *可选*，默认为 "error") : 指定遇到损坏文件（无法读取的文件）时的处理方式。允许的值为：* 'error'，遇到损坏文件时抛出异常。* 'warn'，遇到损坏文件时发出警告并跳过该文件。* 'skip'，遇到损坏文件时直接跳过，不抛出异常也不发出警告。

Parquet 的 BuilderConfig。

示例：

加载列的子集：

```python
>>> ds = load_dataset(parquet_dataset_id, columns=["col_0", "col_1"])
```

流式处理数据并高效地过滤数据，甚至可以跳过整个文件或行组：

```python
>>> filters = [("col_0", "==", 0)]
>>> ds = load_dataset(parquet_dataset_id, streaming=True, filters=filters)
```

将流式传输时的最小请求大小从 32MiB（默认值）增加到 128MiB，并启用预取：

```python
>>> import pyarrow
>>> import pyarrow.dataset
>>> fragment_scan_options = pyarrow.dataset.ParquetFragmentScanOptions(
...     cache_options=pyarrow.CacheOptions(
...         prefetch_limit=1,
...         range_size_limit=128 << 20
...     ),
... )
>>> ds = load_dataset(parquet_dataset_id, streaming=True, fragment_scan_options=fragment_scan_options)
```

#### datasets.packaged_modules.parquet.Parquet[[datasets.packaged_modules.parquet.Parquet]]

```python
datasets.packaged_modules.parquet.Parquet(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/parquet/parquet.py#L93)

### Arrow[[datasets.packaged_modules.arrow.ArrowConfig]]

#### datasets.packaged_modules.arrow.ArrowConfig[[datasets.packaged_modules.arrow.ArrowConfig]]

```python
datasets.packaged_modules.arrow.ArrowConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, features: typing.Optional[datasets.features.features.Features] = None)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/arrow/arrow.py#L15)

用于 Arrow 的 BuilderConfig。

#### datasets.packaged_modules.arrow.Arrow[[datasets.packaged_modules.arrow.Arrow]]

```python
datasets.packaged_modules.arrow.Arrow(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/arrow/arrow.py#L24)

### Vortex[[datasets.packaged_modules.vortex.VortexConfig]]

#### datasets.packaged_modules.vortex.VortexConfig[[datasets.packaged_modules.vortex.VortexConfig]]

```python
datasets.packaged_modules.vortex.VortexConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, batch_size: typing.Optional[int] = None, columns: typing.Optional[list[str]] = None, features: typing.Optional[datasets.features.features.Features] = None, filters: typing.Union[ForwardRef('vortex.expr.Expr'), list[tuple], list[list[tuple]], NoneType] = None, on_bad_files: typing.Literal['error', 'warn', 'skip'] = 'error')
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/vortex/vortex.py#L54)

**参数：**

batch_size (`int`, *可选*) : 要迭代的 RecordBatches 的大小。默认值由 Vortex 扫描器定义。

columns (`list[str]`, *可选*) : 要加载的列列表，其他列将被忽略。默认情况下会加载所有列。

features : (`Features`, *可选*): 将数据转换为 `features`。

filters (`Union[vortex.expr.Expr, list[tuple], list[list[tuple]]]`, *可选*) : 仅返回匹配过滤条件的行。谓词会被下推至 Vortex 扫描中，因此只读取匹配的行。以元组列表形式给出的过滤器（DNF，与 Parquet 加载器接受的格式相同）会被转换为 Vortex 表达式。空值遵循 SQL 语义：空值不满足任何比较，因此被过滤列值为空值的行永远不会被返回。请注意，因此 `not in` 会丢弃空值，而 Parquet 加载器会保留它们，因为它构建的是 `~field.isin(values)`，且空值不在该集合中。

on_bad_files (`Literal["error", "warn", "skip"]`, *可选*，默认为 "error") : 指定遇到损坏文件（无法读取的文件）时的处理方式。允许的值为：* 'error'，遇到损坏文件时抛出异常。* 'warn'，遇到损坏文件时发出警告并跳过该文件。* 'skip'，遇到损坏文件时直接跳过，不抛出异常也不发出警告。

Vortex 的 BuilderConfig。

示例：

加载列的子集：

```python
>>> ds = load_dataset(vortex_dataset_id, columns=["col_0", "col_1"])
```

流式处理数据并高效地过滤数据，在可能的情况下跳过整个文件或数据块：

```python
>>> filters = [("col_0", "==", 0)]
>>> ds = load_dataset(vortex_dataset_id, streaming=True, filters=filters)
```

#### datasets.packaged_modules.vortex.Vortex[[datasets.packaged_modules.vortex.Vortex]]

```python
datasets.packaged_modules.vortex.Vortex(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/vortex/vortex.py#L226)

### SQL[[datasets.packaged_modules.sql.SqlConfig]]

#### datasets.packaged_modules.sql.SqlConfig[[datasets.packaged_modules.sql.SqlConfig]]

```python
datasets.packaged_modules.sql.SqlConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, sql: typing.Union[str, ForwardRef('sqlalchemy.sql.Selectable')] = None, con: typing.Union[str, ForwardRef('sqlalchemy.engine.Connection'), ForwardRef('sqlalchemy.engine.Engine'), ForwardRef('sqlite3.Connection')] = None, index_col: typing.Union[str, list[str], NoneType] = None, coerce_float: bool = True, params: typing.Union[list, tuple, dict, NoneType] = None, parse_dates: typing.Union[list, dict, NoneType] = None, columns: typing.Optional[list[str]] = None, chunksize: typing.Optional[int] = 10000, features: typing.Optional[datasets.features.features.Features] = None)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/sql/sql.py#L25)

用于 SQL 的 BuilderConfig。

#### datasets.packaged_modules.sql.Sql[[datasets.packaged_modules.sql.Sql]]

```python
datasets.packaged_modules.sql.Sql(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/sql/sql.py#L92)

### 图像[[datasets.packaged_modules.imagefolder.ImageFolderConfig]]

#### datasets.packaged_modules.imagefolder.ImageFolderConfig[[datasets.packaged_modules.imagefolder.ImageFolderConfig]]

```python
datasets.packaged_modules.imagefolder.ImageFolderConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, features: typing.Optional[datasets.features.features.Features] = None, drop_labels: bool = None, drop_metadata: bool = None, metadata_filenames: list = None, filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None, decode_num_threads: int = 32)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/imagefolder/imagefolder.py#L9)

ImageFolder 的 BuilderConfig。

#### datasets.packaged_modules.imagefolder.ImageFolder[[datasets.packaged_modules.imagefolder.ImageFolder]]

```python
datasets.packaged_modules.imagefolder.ImageFolder(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/imagefolder/imagefolder.py#L19)

### 音频[[datasets.packaged_modules.audiofolder.AudioFolderConfig]]

#### datasets.packaged_modules.audiofolder.AudioFolderConfig[[datasets.packaged_modules.audiofolder.AudioFolderConfig]]

```python
datasets.packaged_modules.audiofolder.AudioFolderConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, features: typing.Optional[datasets.features.features.Features] = None, drop_labels: bool = None, drop_metadata: bool = None, metadata_filenames: list = None, filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None, decode_num_threads: int = 32)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/audiofolder/audiofolder.py#L9)

AudioFolder 的 Builder Config。

#### datasets.packaged_modules.audiofolder.AudioFolder[[datasets.packaged_modules.audiofolder.AudioFolder]]

```python
datasets.packaged_modules.audiofolder.AudioFolder(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/audiofolder/audiofolder.py#L19)

### 视频[[datasets.packaged_modules.videofolder.VideoFolderConfig]]

#### datasets.packaged_modules.videofolder.VideoFolderConfig[[datasets.packaged_modules.videofolder.VideoFolderConfig]]

```python
datasets.packaged_modules.videofolder.VideoFolderConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, features: typing.Optional[datasets.features.features.Features] = None, drop_labels: bool = None, drop_metadata: bool = None, metadata_filenames: list = None, filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None, decode_num_threads: int = 32)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/videofolder/videofolder.py#L9)

ImageFolder 的 BuilderConfig。

#### datasets.packaged_modules.videofolder.VideoFolder[[datasets.packaged_modules.videofolder.VideoFolder]]

```python
datasets.packaged_modules.videofolder.VideoFolder(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/videofolder/videofolder.py#L19)

### HDF5[[datasets.packaged_modules.hdf5.HDF5Config]]

#### datasets.packaged_modules.hdf5.HDF5Config[[datasets.packaged_modules.hdf5.HDF5Config]]

```python
datasets.packaged_modules.hdf5.HDF5Config(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, batch_size: typing.Optional[int] = None, features: typing.Optional[datasets.features.features.Features] = None)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/hdf5/hdf5.py#L33)

HDF5 的 BuilderConfig。

#### datasets.packaged_modules.hdf5.HDF5[[datasets.packaged_modules.hdf5.HDF5]]

```python
datasets.packaged_modules.hdf5.HDF5(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/hdf5/hdf5.py#L40)

使用 HF 扩展类型将 HDF5 文件转换为 Arrow 表的 ArrowBasedBuilder。

### TsFile[[datasets.packaged_modules.tsfile.TsFileConfig]]

#### datasets.packaged_modules.tsfile.TsFileConfig[[datasets.packaged_modules.tsfile.TsFileConfig]]

```python
datasets.packaged_modules.tsfile.TsFileConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, table_name: Optional[str] = None, columns: Optional[list[str]] = None, start_time: Optional[Any] = None, end_time: Optional[Any] = None, input_batch_size: int = 65536, output_batch_size: int = 32, features: Optional[datasets.Features] = None, on_bad_files: Literal['error', 'warn', 'skip'] = 'error', timestamp_unit: Literal['s', 'ms', 'us', 'ns'] = 'ms', timestamp_tz: Optional[str] = None)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/tsfile/tsfile.py#L143)

**参数：**

table_name (*str*, *optional*) : 要读取的表名。如果未设置，则使用第一个有效文件中找到的第一个表。查找不区分大小写。

columns (*list[str]*, *optional*) : 要保留的 FIELD 列子集。TAG 列和 TIME 列*始终*返回（它们用于标识设备及其时间线，无法排除）。指向 TAG 或 TIME 列，或指向所有文件中均不存在的字段的名称会被静默解析：TAG/TIME 照常输出，而从未出现的字段则变为全为 null 的列表列。若未设置，则返回所有 FIELD。

start_time, end_time (*datetime*、*date*、*pa.TimestampScalar*、ISO-8601 *str* 或 *int*，*可选*) : 包含边界的 timestamp 范围。任一边界均可省略。`datetime` 值按其自身的时区处理（若为 naive 则为 UTC）；`int` 被解释为 `timestamp_unit` 下的原始 epoch。

input_batch_size (*int*，*可选*，默认值为 65_536)：从 `TsFileReader.query_table` 中每个 Arrow 批次获取的最大行数。用于控制流式传输单个设备时的峰值内存。

output_batch_size (*int*, *optional*, 默认值为 32) : 打包到每个 Arrow 记录批次中并传递给写入器的设备数量（输出数据集行）。这也是数据集进度条推进的粒度；较小的值在慢速的逐设备读取时提供更及时的反馈，较大的值则减少每个批次的开销。

features (*Features*，*可选*)：最终的 Features 架构。如果提供，将跳过对输入文件的元数据扫描。

on_bad_files (*Literal["error", "warn", "skip"]*, *可选*, 默认为 "error") : 当文件无法打开或缺少所需的表时，应如何处理。

timestamp_unit (*Literal["s", "ms", "us", "ns"]*, *可选*, 默认为 "ms") : 时间戳列的时间单位。IoTDB 默认使用毫秒。

timestamp_tz (*str*, *optional*) : 时间戳列的时区。`None` 表示无时区。

TsFile（表格模型）的 BuilderConfig — 按设备划分的宽表格式。

#### datasets.packaged_modules.tsfile.TsFile[[datasets.packaged_modules.tsfile.TsFile]]

```python
datasets.packaged_modules.tsfile.TsFile(*args, **kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/tsfile/tsfile.py#L233)

用于 TsFile（表模型）的按设备宽格式构建器。

### Pdf[[datasets.packaged_modules.pdffolder.PdfFolderConfig]]

#### datasets.packaged_modules.pdffolder.PdfFolderConfig[[datasets.packaged_modules.pdffolder.PdfFolderConfig]]

```python
datasets.packaged_modules.pdffolder.PdfFolderConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, features: typing.Optional[datasets.features.features.Features] = None, drop_labels: bool = None, drop_metadata: bool = None, metadata_filenames: list = None, filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None, decode_num_threads: int = 32)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/pdffolder/pdffolder.py#L9)

ImageFolder 的 BuilderConfig。

#### datasets.packaged_modules.pdffolder.PdfFolder[[datasets.packaged_modules.pdffolder.PdfFolder]]

```python
datasets.packaged_modules.pdffolder.PdfFolder(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/pdffolder/pdffolder.py#L19)

### Nifti[[datasets.packaged_modules.niftifolder.NiftiFolderConfig]]

#### datasets.packaged_modules.niftifolder.NiftiFolderConfig[[datasets.packaged_modules.niftifolder.NiftiFolderConfig]]

```python
datasets.packaged_modules.niftifolder.NiftiFolderConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, features: typing.Optional[datasets.features.features.Features] = None, drop_labels: bool = None, drop_metadata: bool = None, metadata_filenames: list = None, filters: typing.Union[pyarrow._compute.Expression, list[tuple], list[list[tuple]], NoneType] = None, decode_num_threads: int = 32)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/niftifolder/niftifolder.py#L9)

NiftiFolder 的 BuilderConfig。

#### datasets.packaged_modules.niftifolder.NiftiFolder[[datasets.packaged_modules.niftifolder.NiftiFolder]]

```python
datasets.packaged_modules.niftifolder.NiftiFolder(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/niftifolder/niftifolder.py#L20)

### WebDataset[[datasets.packaged_modules.webdataset.WebDataset]]

#### datasets.packaged_modules.webdataset.WebDataset[[datasets.packaged_modules.webdataset.WebDataset]]

```python
datasets.packaged_modules.webdataset.WebDataset(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/webdataset/webdataset.py#L20)

### Harbor[[datasets.packaged_modules.harbor.HarborConfig]]

#### datasets.packaged_modules.harbor.HarborConfig[[datasets.packaged_modules.harbor.HarborConfig]]

```python
datasets.packaged_modules.harbor.HarborConfig(name: str = 'default', version: typing.Union[datasets.utils.version.Version, str, NoneType] = 0.0.0, data_dir: typing.Optional[str] = None, data_files: typing.Union[datasets.data_files.DataFilesDict, datasets.data_files.DataFilesPatternsDict, NoneType] = None, description: typing.Optional[str] = None, features: typing.Optional[datasets.features.features.Features] = None, strip_canary: bool = True, include_files: bool = True)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/harbor/harbor.py#L95)

**参数：**

features (`Features`，*可选*)：设置用于转换生成行的特征。默认情况下，使用 Harbor 任务的特征（参见 `Harbor`）。

strip_canary (`bool`，*可选*，默认为 `True`)：从 `instruction.md` 以及各步骤的指令中移除开头的“benchmark data canary”注释行，就像 Harbor 将其发送给智能体时所做的那样。

include_files (`bool`，*可选*，默认为 `True`)：在 `files` 列中列出每个任务的所有文件（`environment/`、`tests/`、`solution/` 等）。将其设置为 `False` 可跳过列出任务目录，当数据集位于远程文件系统时，此操作速度更快。

Harbor 任务仓库的 BuilderConfig。

#### datasets.packaged_modules.harbor.Harbor[[datasets.packaged_modules.harbor.Harbor]]

```python
datasets.packaged_modules.harbor.Harbor(cache_dir: typing.Optional[str] = None, dataset_name: typing.Optional[str] = None, config_name: typing.Optional[str] = None, hash: typing.Optional[str] = None, base_path: typing.Optional[str] = None, info: typing.Optional[datasets.info.DatasetInfo] = None, features: typing.Optional[datasets.features.features.Features] = None, token: typing.Union[bool, str, NoneType] = None, repo_id: typing.Optional[str] = None, data_files: typing.Union[str, list, dict, datasets.data_files.DataFilesDict, NoneType] = None, data_dir: typing.Optional[str] = None, storage_options: typing.Optional[dict] = None, writer_batch_size: typing.Optional[int] = None, config_id: typing.Optional[str] = None, **config_kwargs)
```

[源代码](https://github.com/huggingface/datasets/blob/5.2.0/src/datasets/packaged_modules/harbor/harbor.py#L116)

Harbor 任务仓库的构建器：每个任务目录对应一行。

它会生成以下特征：

- **name** (`str`) -- 任务名称，即 `task.toml` 中 `[task].name` 的 `org/name`，或者当 `task.toml` 没有 `[task]` 部分时，任务目录的名称。
- **description** (`str`) -- `task.toml` 中的 `[task].description`。
- **instruction** (`str`) -- `instruction.md` 的内容。
- **keywords**（`list` of `str`）-- `task.toml` 中的 `[task].keywords`。
- **schema_version** (`str`) -- 由 `task.toml` 声明的 `schema_version`。
- **config** (`dict`) -- 完整的 `task.toml`，以 JSON 对象形式表示。
- **metadata** (`dict`) -- `task.toml` 中自由格式的 `[metadata]` 部分。
- **files**（`list` 类型的 `str`）-- 任务的所有文件，相对于任务目录。
- **location** (`str`) -- 任务目录的路径，相对于数据集的根目录。

