数据集文档

构建器类

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

构建器类

构建器

🤗 Datasets 在数据集构建过程中依赖于两个主要类:DatasetBuilderBuilderConfig

class datasets.DatasetBuilder

< >

( cache_dir: Optional = None dataset_name: Optional = None config_name: Optional = None hash: Optional = None base_path: Optional = None info: Optional = None features: Optional = None token: Union = None repo_id: Optional = None data_files: Union = None data_dir: Optional = None storage_options: Optional = None writer_batch_size: Optional = None **config_kwargs )

参数

  • cache_dir (str, 可选) — 用于缓存数据的目录。默认为 "~/.cache/huggingface/datasets"
  • dataset_name (str, 可选) — 数据集的名称,如果与构建器名称不同。对于打包的构建器(如 csv、imagefolder、audiofolder 等)很有用,以反映使用相同打包构建器的数据集之间的差异。
  • config_name (str, 可选) — 数据集配置的名称。它会影响磁盘上生成的数据。不同的配置将有自己的子目录和版本。如果未提供,则使用默认配置(如果存在)。

    在 2.3.0 版本中添加

    参数 name 已重命名为 config_name

  • hash (str, 可选) — 数据集代码特定的哈希值。用于在数据集加载脚本代码更新时更新缓存目录(以避免重用旧数据)。典型的缓存目录(在 self._relative_data_dir 中定义)是 name/version/hash/
  • base_path (str, 可选) — 用于下载文件的相对路径的基础路径。这可以是远程 URL。
  • features (Features, 可选) — 要用于此数据集的特征类型。它可用于更改数据集的 Features 类型,例如。
  • token (strbool, 可选) — 用作 Datasets Hub 上远程文件的 Bearer 令牌的字符串或布尔值。如果为 True,将从 "~/.huggingface" 获取令牌。
  • repo_id (str, 可选) — 数据集仓库的 ID。用于区分具有相同名称但来自不同命名空间的构建器,例如 “squad” 和 “lhoestq/squad” 仓库 ID。在后者中,构建器名称将为 “lhoestq___squad”。
  • data_files (strSequenceMapping, 可选) — 源数据文件的路径。对于像 “csv” 或 “json” 这样需要用户指定数据文件的构建器。它们可以是本地文件或远程文件。为了方便起见,您可以使用 DataFilesDict
  • data_dir (str, 可选) — 包含源数据文件的目录路径。仅当未传递 data_files 时使用,在这种情况下,它等效于将 os.path.join(data_dir, "**") 作为 data_files 传递。对于需要手动下载的构建器,它必须是包含手动下载数据的本地目录的路径。
  • storage_options (dict, 可选) — 要传递给数据集文件系统后端的键/值对(如果有)。
  • writer_batch_size (int, 可选) — ArrowWriter 使用的批量大小。它定义了在写入之前保存在内存中的样本数以及 arrow 块的长度。None 表示 ArrowWriter 将使用其默认值。
  • **config_kwargs (附加的关键字参数) — 要传递给相应的构建器配置类的关键字参数,在类属性 DatasetBuilder.BUILDER_CONFIG_CLASS 上设置。构建器配置类是 BuilderConfig 或其子类。

所有数据集的抽象基类。

DatasetBuilder 具有 3 个关键方法

一些 DatasetBuilder 通过定义 BuilderConfig 子类并在构造时接受 config 对象(或名称)来公开数据集的多个变体。可配置数据集在 DatasetBuilder.builder_configs() 中公开预定义的配置集。

as_dataset

< >

( split: Optional = None run_post_process = True verification_mode: Union = None in_memory = False )

参数

  • split (datasets.Split) — 要返回的数据子集。
  • run_post_process (bool, 默认为 True) — 是否运行后处理数据集转换和/或添加索引。
  • verification_mode (VerificationModestr, 默认为 BASIC_CHECKS) — 验证模式,确定对下载/处理的数据集信息(校验和/大小/splits/…)运行的检查。

    在 2.9.1 中添加

  • in_memory (bool, 默认为 False) — 是否将数据复制到内存中。

返回指定 split 的 Dataset。

示例

>>> from datasets import load_dataset_builder
>>> builder = load_dataset_builder('rotten_tomatoes')
>>> builder.download_and_prepare()
>>> ds = builder.as_dataset(split='train')
>>> ds
Dataset({
    features: ['text', 'label'],
    num_rows: 8530
})

download_and_prepare

< >

( output_dir: Optional = None download_config: Optional = None download_mode: Union = None verification_mode: Union = None dl_manager: Optional = None base_path: Optional = None file_format: str = 'arrow' max_shard_size: Union = None num_proc: Optional = None storage_options: Optional = None **download_and_prepare_kwargs )

参数

  • output_dir (str, 可选) — 数据集的输出目录。默认为此构建器的 cache_dir,默认情况下位于 ~/.cache/huggingface/datasets 内。

    在 2.5.0 中添加

  • download_config (DownloadConfig, 可选) — 特定的下载配置参数。
  • download_mode (DownloadModestr, 可选) — 选择下载/生成模式,默认为 REUSE_DATASET_IF_EXISTS
  • verification_mode (VerificationModestr, 默认为 BASIC_CHECKS) — 验证模式,确定对下载/处理的数据集信息(校验和/大小/splits/…)运行的检查。

    在 2.9.1 中添加

  • dl_manager (DownloadManager, 可选) — 要使用的特定 DownloadManger
  • base_path (str, 可选) — 用于下载文件的相对路径的基本路径。这可以是远程 URL。如果未指定,则将使用 base_path 属性 (self.base_path) 的值。
  • file_format (str, 可选) — 数据集将写入的数据文件格式。支持的格式:“arrow”、“parquet”。默认为“arrow”格式。如果格式为“parquet”,则图像和音频数据将嵌入到 Parquet 文件中,而不是指向本地文件。

    在 2.5.0 中添加

  • max_shard_size (Union[str, int], 可选) — 每个分片写入的最大字节数,默认为“500MB”。大小基于未压缩的数据大小,因此实际上,由于例如 Parquet 压缩,您的分片文件可能小于 max_shard_size

    在 2.5.0 中添加

  • num_proc (int, 可选, 默认为 None) — 本地下载和生成数据集时的进程数。默认情况下禁用多处理。

    在 2.7.0 中添加

  • storage_options (dict, 可选) — 要传递到缓存文件系统后端的键/值对(如果有)。

    在 2.5.0 中添加

  • **download_and_prepare_kwargs (附加关键字参数) — 关键字参数。

下载并准备数据集以进行读取。

示例

以下载和准备数据集作为 Arrow 文件,可以使用 builder.as_dataset() 加载为 Dataset

>>> from datasets import load_dataset_builder
>>> builder = load_dataset_builder("rotten_tomatoes")
>>> builder.download_and_prepare()

以下载和准备数据集作为本地分片 Parquet 文件

>>> from datasets import load_dataset_builder
>>> builder = load_dataset_builder("rotten_tomatoes")
>>> builder.download_and_prepare("./output_dir", file_format="parquet")

以下载和准备数据集作为云存储中的分片 Parquet 文件

>>> from datasets import load_dataset_builder
>>> storage_options = {"key": aws_access_key_id, "secret": aws_secret_access_key}
>>> builder = load_dataset_builder("rotten_tomatoes")
>>> builder.download_and_prepare("s3://my-bucket/my_rotten_tomatoes", storage_options=storage_options, file_format="parquet")

get_all_exported_dataset_infos

< >

( )

如果不存在,则为空字典

示例

>>> from datasets import load_dataset_builder
>>> ds_builder = load_dataset_builder('rotten_tomatoes')
>>> ds_builder.get_all_exported_dataset_infos()
{'default': DatasetInfo(description="Movie Review Dataset.
a dataset of containing 5,331 positive and 5,331 negative processed
s from Rotten Tomatoes movie reviews. This data was first used in Bo
 Lillian Lee, ``Seeing stars: Exploiting class relationships for
t categorization with respect to rating scales.'', Proceedings of the
5.
ion='@InProceedings{Pang+Lee:05a,
 =       {Bo Pang and Lillian Lee},
=        {Seeing stars: Exploiting class relationships for sentiment
          categorization with respect to rating scales},
tle =    {Proceedings of the ACL},
         2005

age='http://www.cs.cornell.edu/people/pabo/movie-review-data/', license='', features={'text': Value(dtype='string', id=None), 'label': ClassLabel(num_classes=2, names=['neg', 'pos'], id=None)}, post_processed=None, supervised_keys=SupervisedKeysData(input='', output=''), builder_name='rotten_tomatoes_movie_review', config_name='default', version=1.0.0, splits={'train': SplitInfo(name='train', num_bytes=1074810, num_examples=8530, dataset_name='rotten_tomatoes_movie_review'), 'validation': SplitInfo(name='validation', num_bytes=134679, num_examples=1066, dataset_name='rotten_tomatoes_movie_review'), 'test': SplitInfo(name='test', num_bytes=135972, num_examples=1066, dataset_name='rotten_tomatoes_movie_review')}, download_checksums={'https://storage.googleapis.com/seldon-datasets/sentence_polarity_v1/rt-polaritydata.tar.gz': {'num_bytes': 487770, 'checksum': 'a05befe52aafda71d458d188a1c54506a998b1308613ba76bbda2e5029409ce9'}}, download_size=487770, post_processing_size=None, dataset_size=1345461, size_in_bytes=1833231)}

get_exported_dataset_info

< >

( )

如果不存在,则为空 DatasetInfo

示例

>>> from datasets import load_dataset_builder
>>> ds_builder = load_dataset_builder('rotten_tomatoes')
>>> ds_builder.get_exported_dataset_info()
DatasetInfo(description="Movie Review Dataset.
a dataset of containing 5,331 positive and 5,331 negative processed
s from Rotten Tomatoes movie reviews. This data was first used in Bo
 Lillian Lee, ``Seeing stars: Exploiting class relationships for
t categorization with respect to rating scales.'', Proceedings of the
5.
ion='@InProceedings{Pang+Lee:05a,
 =       {Bo Pang and Lillian Lee},
=        {Seeing stars: Exploiting class relationships for sentiment
          categorization with respect to rating scales},
tle =    {Proceedings of the ACL},
         2005

age='http://www.cs.cornell.edu/people/pabo/movie-review-data/', license='', features={'text': Value(dtype='string', id=None), 'label': ClassLabel(num_classes=2, names=['neg', 'pos'], id=None)}, post_processed=None, supervised_keys=SupervisedKeysData(input='', output=''), builder_name='rotten_tomatoes_movie_review', config_name='default', version=1.0.0, splits={'train': SplitInfo(name='train', num_bytes=1074810, num_examples=8530, dataset_name='rotten_tomatoes_movie_review'), 'validation': SplitInfo(name='validation', num_bytes=134679, num_examples=1066, dataset_name='rotten_tomatoes_movie_review'), 'test': SplitInfo(name='test', num_bytes=135972, num_examples=1066, dataset_name='rotten_tomatoes_movie_review')}, download_checksums={'https://storage.googleapis.com/seldon-datasets/sentence_polarity_v1/rt-polaritydata.tar.gz': {'num_bytes': 487770, 'checksum': 'a05befe52aafda71d458d188a1c54506a998b1308613ba76bbda2e5029409ce9'}}, download_size=487770, post_processing_size=None, dataset_size=1345461, size_in_bytes=1833231)

get_imported_module_dir

< >

( )

返回此类或子类的模块路径。

class datasets.GeneratorBasedBuilder

< >

( cache_dir: Optional = None dataset_name: Optional = None config_name: Optional = None hash: Optional = None base_path: Optional = None info: Optional = None features: Optional = None token: Union = None repo_id: Optional = None data_files: Union = None data_dir: Optional = None storage_options: Optional = None writer_batch_size: Optional = None **config_kwargs )

基于字典生成器的数据集的数据生成基类。

GeneratorBasedBuilder 是一个方便的类,它抽象了 DatasetBuilder 的大部分数据写入和读取操作。它期望子类实现跨数据集拆分的特征字典生成器 (_split_generators)。有关详细信息,请参阅方法文档字符串。

class datasets.ArrowBasedBuilder

< >

( cache_dir: Optional = None dataset_name: Optional = None config_name: Optional = None hash: Optional = None base_path: Optional = None info: Optional = None features: Optional = None token: Union = None repo_id: Optional = None data_files: Union = None data_dir: Optional = None storage_options: Optional = None writer_batch_size: Optional = None **config_kwargs )

基于 Arrow 加载函数(CSV/JSON/Parquet)的数据集的数据生成基类。

class datasets.BuilderConfig

< >

( name: str = 'default' version: Union = 0.0.0 data_dir: Optional = None data_files: Union = None description: Optional = None )

参数

  • name (str, 默认为 default) — 配置的名称。
  • version (Versionstr, 默认为 0.0.0) — 配置的版本。
  • data_dir (str, 可选) — 包含源数据的目录路径。
  • data_files (strSequenceMapping, 可选) — 源数据文件的路径。
  • description (str, 可选) — 对配置的人工描述。

DatasetBuilder 数据配置的基类。

带有数据配置选项的 DatasetBuilder 子类应继承 BuilderConfig 并添加自己的属性。

create_config_id

< >

( config_kwargs: dict custom_features: Optional = None )

config id 用于构建缓存目录。默认情况下,它等于 config 名称。但是,config 的名称不足以作为正在生成的数据集的唯一标识符,因为它没有考虑

  • 可用于覆盖属性的 config kwargs
  • 用于编写数据集的自定义 features
  • json/text/csv/pandas 数据集的 data_files

因此,config id 只是 config 名称,带有一个基于这些的可选后缀。

下载

class datasets.DownloadManager

< >

( dataset_name: Optional = None data_dir: Optional = None download_config: Optional = None base_path: Optional = None record_checksums = True )

download

< >

( url_or_urls ) strlistdict

参数

  • url_or_urls (strlistdict) — 要下载的 URL 或 URL listdict。每个 URL 都是一个 str

返回

strlistdict

与给定的输入 url_or_urls 匹配的已下载路径。

下载给定的 URL。

默认情况下,仅使用一个进程进行下载。传递自定义的 download_config.num_proc 来更改此行为。

示例

>>> downloaded_files = dl_manager.download('https://storage.googleapis.com/seldon-datasets/sentence_polarity_v1/rt-polaritydata.tar.gz')

download_and_extract

< >

( url_or_urls ) extracted_path(s)

参数

  • url_or_urls (strlistdict) — 要下载和解压的 URL 或 URL listdict。每个 URL 都是一个 str

返回

extracted_path(s)

str, 给定 URL 的解压路径。

下载并解压给定的 url_or_urls

大致等同于

extracted_paths = dl_manager.extract(dl_manager.download(url_or_urls))

extract

< >

( path_or_paths ) extracted_path(s)

参数

  • path_or_paths (path 或 listdict) — 要解压的文件的路径。每个路径都是一个 str

返回

extracted_path(s)

str, 与给定的输入 path_or_paths 匹配的解压路径。

解压给定的路径。

示例

>>> downloaded_files = dl_manager.download('https://storage.googleapis.com/seldon-datasets/sentence_polarity_v1/rt-polaritydata.tar.gz')
>>> extracted_files = dl_manager.extract(downloaded_files)

iter_archive

< >

( path_or_buf: Union ) tuple[str, io.BufferedReader]

参数

  • path_or_buf (strio.BufferedReader) — 归档路径或归档二进制文件对象。

产生

tuple[str, io.BufferedReader]

迭代归档文件中的文件。

示例

>>> archive = dl_manager.download('https://storage.googleapis.com/seldon-datasets/sentence_polarity_v1/rt-polaritydata.tar.gz')
>>> files = dl_manager.iter_archive(archive)

iter_files

< >

( paths: Union ) str

参数

  • paths (strstrlist) — 根路径。

产生

str

迭代文件路径。

示例

>>> files = dl_manager.download_and_extract('https://huggingface.co/datasets/beans/resolve/main/data/train.zip')
>>> files = dl_manager.iter_files(files)

class datasets.StreamingDownloadManager

< >

( dataset_name: Optional = None data_dir: Optional = None download_config: Optional = None base_path: Optional = None )

下载管理器,它使用“::”分隔符来导航(可能是远程的)压缩归档文件。与常规的 DownloadManager 相反,downloadextract 方法实际上并不下载或解压数据,而是返回可以使用 xopen 函数打开的路径或 URL,该函数扩展了内置的 open 函数,以从远程文件流式传输数据。

download

< >

( url_or_urls ) url(s)

参数

  • url_or_urls (strlistdict) — 要从中流式传输数据的文件的 URL。每个 url 都是一个 str

返回

url(s)

(strlistdict), 要从中流式传输数据的 URL,与给定的输入 url_or_urls 匹配。

标准化要从中流式传输数据的文件的 URL。这是用于流式传输的 DownloadManager.download 的惰性版本。

示例

>>> downloaded_files = dl_manager.download('https://storage.googleapis.com/seldon-datasets/sentence_polarity_v1/rt-polaritydata.tar.gz')

download_and_extract

< >

( url_or_urls ) url(s)

参数

  • url_or_urls (strlistdict) — 要从中流式传输数据的 URL。每个 url 都是一个 str

返回

url(s)

(strlistdict), 要从中流式传输数据的 URL,与给定的输入 url_or_urls 匹配。

准备给定的 url_or_urls 以进行流式传输(添加提取协议)。

这是用于流式传输的 DownloadManager.download_and_extract 的惰性版本。

等同于

urls = dl_manager.extract(dl_manager.download(url_or_urls))

extract

< >

( url_or_urls ) url(s)

参数

  • url_or_urls (strlistdict) — 要从中流式传输数据的文件的 URL。每个 url 都是一个 str

返回

url(s)

(strlistdict), 要从中流式传输数据的 URL,与给定的输入 url_or_urls 匹配。

为给定的 url 添加提取协议,以便进行流式传输。

这是用于流式传输的 DownloadManager.extract 的惰性版本。

示例

>>> downloaded_files = dl_manager.download('https://storage.googleapis.com/seldon-datasets/sentence_polarity_v1/rt-polaritydata.tar.gz')
>>> extracted_files = dl_manager.extract(downloaded_files)

iter_archive

< >

( urlpath_or_buf: Union ) tuple[str, io.BufferedReader]

参数

  • urlpath_or_buf (strio.BufferedReader) — 归档路径或归档二进制文件对象。

产生

tuple[str, io.BufferedReader]

迭代归档文件中的文件。

示例

>>> archive = dl_manager.download('https://storage.googleapis.com/seldon-datasets/sentence_polarity_v1/rt-polaritydata.tar.gz')
>>> files = dl_manager.iter_archive(archive)

iter_files

< >

( urlpaths: Union ) str

参数

  • urlpaths (strlist of str) — 根路径。

产生

str

遍历文件。

示例

>>> files = dl_manager.download_and_extract('https://huggingface.co/datasets/beans/resolve/main/data/train.zip')
>>> files = dl_manager.iter_files(files)

class datasets.DownloadConfig

< >

( cache_dir: Union = None force_download: bool = False resume_download: bool = False local_files_only: bool = False proxies: Optional = None user_agent: Optional = None extract_compressed_file: bool = False force_extract: bool = False delete_extracted: bool = False extract_on_the_fly: bool = False use_etag: bool = True num_proc: Optional = None max_retries: int = 1 token: Union = None storage_options: Dict = <factory> download_desc: Optional = None disable_tqdm: bool = False )

参数

  • cache_dir (strPath, 可选) — 指定一个缓存目录来保存文件 (覆盖默认缓存目录)。
  • force_download (bool, 默认为 False) — 如果为 True,即使文件已缓存到缓存目录中,也重新下载文件。
  • resume_download (bool, 默认为 False) — 如果为 True,如果找到未完全接收的文件,则恢复下载。
  • proxies (dict, 可选) —
  • user_agent (str, 可选) — 可选的字符串或字典,将附加到远程请求的用户代理。
  • extract_compressed_file (bool, 默认为 False) — 如果为 True 且路径指向 zip 或 tar 文件,则将压缩文件解压到存档旁边的文件夹中。
  • force_extract (bool, 默认为 False) — 如果 extract_compressed_fileTrue 且存档已解压,则重新解压存档并覆盖其解压到的文件夹。
  • delete_extracted (bool, 默认为 False) — 是否删除(或保留)解压后的文件。
  • extract_on_the_fly (bool, 默认为 False) — 如果为 True,则在读取压缩文件时解压它们。
  • use_etag (bool, 默认为 True) — 是否使用 ETag HTTP 响应头来验证缓存文件。
  • num_proc (int, 可选) — 用于并行下载文件的进程数。
  • max_retries (int, 默认为 1) — HTTP 请求失败时重试的次数。
  • token (strbool, 可选) — 可选的字符串或布尔值,用作 Datasets Hub 上远程文件的 Bearer 令牌。如果为 True,或未指定,将从 ~/.huggingface 获取令牌。
  • storage_options (dict, 可选) — 要传递给数据集文件系统后端的键/值对(如果有)。
  • download_desc (str, 可选) — 要与下载文件时进度条一起显示的描述。
  • disable_tqdm (bool, 默认为 False) — 是否禁用单个文件下载进度条

我们缓存路径管理器的配置。

class datasets.DownloadMode

< >

( value names = None module = None qualname = None type = None start = 1 )

用于处理预先存在的下载和数据的 Enum

默认模式为 REUSE_DATASET_IF_EXISTS,如果存在,它将重用原始下载和准备好的数据集。

生成模式

下载 数据集
REUSE_DATASET_IF_EXISTS (默认) 重用 重用
REUSE_CACHE_IF_EXISTS 重用 全新
FORCE_REDOWNLOAD 全新 全新

验证

class datasets.VerificationMode

< >

( value names = None module = None qualname = None type = None start = 1 )

Enum,用于指定要运行的验证检查。

默认模式为 BASIC_CHECKS,它将仅执行基本的检查,以避免在首次生成/下载数据集时减慢速度。

验证模式

验证检查
ALL_CHECKS 拆分检查,在 GeneratorBuilder 的情况下,检查所产生键的唯一性
以及已下载文件的有效性(文件数、校验和等)
BASIC_CHECKS (默认) ALL_CHECKS 相同,但不检查已下载的文件
NO_CHECKS

拆分

class datasets.SplitGenerator

< >

( name: str gen_kwargs: Dict = <factory> )

参数

  • name (str) — Split 的名称,生成器将为其创建示例。
  • **gen_kwargs (附加关键字参数) — 要转发到构建器的 DatasetBuilder._generate_examples 方法的关键字参数。

定义生成器的拆分信息。

这应该用作 GeneratorBasedBuilder._split_generators 的返回值。有关更多信息和用法示例,请参阅 GeneratorBasedBuilder._split_generators

示例

>>> datasets.SplitGenerator(
...     name=datasets.Split.TRAIN,
...     gen_kwargs={"split_key": "train", "files": dl_manager.download_and_extract(url)},
... )

class datasets.Split

< >

( name )

数据集拆分的 Enum

数据集通常拆分为不同的子集,以在训练和评估的各个阶段使用。

  • TRAIN: 训练数据。
  • VALIDATION: 验证数据。如果存在,则通常在模型迭代时(例如,更改超参数、模型架构等)用作评估数据。
  • TEST: 测试数据。这是报告指标的数据。通常,您不希望在模型迭代期间使用此数据,因为您可能会过度拟合它。
  • ALL: 所有已定义数据集拆分的并集。

所有拆分,包括组合都继承自 datasets.SplitBase

有关更多信息,请参阅关于拆分的指南

示例

>>> datasets.SplitGenerator(
...     name=datasets.Split.TRAIN,
...     gen_kwargs={"split_key": "train", "files": dl_manager.download_and extract(url)},
... ),
... datasets.SplitGenerator(
...     name=datasets.Split.VALIDATION,
...     gen_kwargs={"split_key": "validation", "files": dl_manager.download_and extract(url)},
... ),
... datasets.SplitGenerator(
...     name=datasets.Split.TEST,
...     gen_kwargs={"split_key": "test", "files": dl_manager.download_and extract(url)},
... )

class datasets.NamedSplit

< >

( name )

对应于命名拆分(train、test、...)的描述符。

示例

每个描述符都可以使用加法或切片与其他描述符组合

split = datasets.Split.TRAIN.subsplit(datasets.percent[0:25]) + datasets.Split.TEST

结果拆分将对应于训练拆分的 25% 与测试拆分的 100% 合并。

一个拆分不能添加两次,因此以下操作将失败

split = (
        datasets.Split.TRAIN.subsplit(datasets.percent[:25]) +
        datasets.Split.TRAIN.subsplit(datasets.percent[75:])
)  # Error
split = datasets.Split.TEST + datasets.Split.ALL  # Error

切片只能应用一次。因此,以下是有效的

split = (
        datasets.Split.TRAIN.subsplit(datasets.percent[:25]) +
        datasets.Split.TEST.subsplit(datasets.percent[:50])
)
split = (datasets.Split.TRAIN + datasets.Split.TEST).subsplit(datasets.percent[:50])

但这无效

train = datasets.Split.TRAIN
test = datasets.Split.TEST
split = train.subsplit(datasets.percent[:25]).subsplit(datasets.percent[:25])
split = (train.subsplit(datasets.percent[:25]) + test).subsplit(datasets.percent[:50])

class datasets.NamedSplitAll

< >

( )

对应于所有已定义数据集拆分联合的拆分。

class datasets.ReadInstruction

< >

( split_name rounding = None from_ = None to = None unit = None )

数据集的读取指令。

示例

# The following lines are equivalent:
ds = datasets.load_dataset('mnist', split='test[:33%]')
ds = datasets.load_dataset('mnist', split=datasets.ReadInstruction.from_spec('test[:33%]'))
ds = datasets.load_dataset('mnist', split=datasets.ReadInstruction('test', to=33, unit='%'))
ds = datasets.load_dataset('mnist', split=datasets.ReadInstruction(
'test', from_=0, to=33, unit='%'))

# The following lines are equivalent:
ds = datasets.load_dataset('mnist', split='test[:33%]+train[1:-1]')
ds = datasets.load_dataset('mnist', split=datasets.ReadInstruction.from_spec(
'test[:33%]+train[1:-1]'))
ds = datasets.load_dataset('mnist', split=(
datasets.ReadInstruction('test', to=33, unit='%') +
datasets.ReadInstruction('train', from_=1, to=-1, unit='abs')))

# The following lines are equivalent:
ds = datasets.load_dataset('mnist', split='test[:33%](pct1_dropremainder)')
ds = datasets.load_dataset('mnist', split=datasets.ReadInstruction.from_spec(
'test[:33%](pct1_dropremainder)'))
ds = datasets.load_dataset('mnist', split=datasets.ReadInstruction(
'test', from_=0, to=33, unit='%', rounding="pct1_dropremainder"))

# 10-fold validation:
tests = datasets.load_dataset(
'mnist',
[datasets.ReadInstruction('train', from_=k, to=k+10, unit='%')
for k in range(0, 100, 10)])
trains = datasets.load_dataset(
'mnist',
[datasets.ReadInstruction('train', to=k, unit='%') + datasets.ReadInstruction('train', from_=k+10, unit='%')
for k in range(0, 100, 10)])

from_spec

< >

( spec )

参数

  • spec (str) — 拆分 + 可选的要读取的切片 + 如果百分比用作切片单位,则为可选的舍入。可以使用绝对数字 (int) 或百分比 (int) 来指定切片。

从字符串规范创建 ReadInstruction 实例。

示例

test: test split.
test + validation: test split + validation split.
test[10:]: test split, minus its first 10 records.
test[:10%]: first 10% records of test split.
test[:20%](pct1_dropremainder): first 10% records, rounded with the pct1_dropremainder rounding.
test[:-5%]+train[40%:60%]: first 95% of test + middle 20% of train.

to_absolute

< >

( name2len )

参数

  • name2len (dict) — 将拆分名称与示例数量关联。

将指令转换为绝对指令列表。

这些绝对指令随后将被加在一起。

版本

class datasets.Version

< >

( version_str: str description: Optional = None major: Union = None minor: Union = None patch: Union = None )

参数

  • version_str (str) — 数据集版本。
  • description (str) — 对此版本中的新内容进行描述。
  • major (str) —
  • minor (str) —
  • patch (str) —

数据集版本 MAJOR.MINOR.PATCH

示例

>>> VERSION = datasets.Version("1.0.0")
< > 在 GitHub 上更新