数据集文档

构建器类

Hugging Face's logo
加入Hugging Face社区

并获取增强文档体验

开始使用

生成器类

生成器

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

class datasets.DatasetBuilder

< >

( cache_dir: 可选 = None dataset_name: 可选 = None config_name: 可选 = None hash: 可选 = None base_path: 可选 = None info: 可选 = None features: 可选 = None token: 联合 = None use_auth_token = '已弃用' repo_id: 可选 = None data_files: 联合 = None data_dir: 可选 = None storage_options: 可选 = None writer_batch_size: 可选 = None name = '已弃用' **config_kwargs )

参数

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

    自 2.3.0 版本添加

    参数 name 已重命名为 config_name

  • hash(《字符串》,可选)— 专门针对数据集代码的哈希。当更新数据集加载脚本的代码时(以避免重新使用旧数据)用来说明更新缓存目录。典型的缓存目录(由 self._relative_data_dir 定义)是 name/version/hash/
  • base_path(《字符串》,可选)— 用于下载文件的相对路径的基础路径。这可以是远程 URL。
  • features(《特点》类,可选)— 与此数据集一起使用的特点类型。可以用于更改数据集的 “特点” 类型,例如。
  • token (strbool可选) — 用作数据集中心远程文件 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将使用其默认值。
  • name (str) — 数据集的配置名称。

    自 2.3.0 版本开始已弃用

    使用 config_name 代替。

  • **config_kwargs (额外的关键字参数) — 要传递给相应构建配置类的关键字参数,设置在类属性DatasetBuilder.BUILDER_CONFIG_CLASS上。构建配置类是BuilderConfig或其子类。

所有数据集的抽象基类。

DatasetBuilder拥有3个关键方法

某些 DatasetBuilder 通过定义一个 BuilderConfig 子类并接受在构造时传递的配置对象(或名称),以暴露数据集的多个版本。可配置的数据集在 DatasetBuilder.builder_configs() 中暴露一个预定义的配置集。

as_dataset

< >

( split: 可选 = None run_post_process = True verification_mode: 联合 = None ignore_verifications = '已弃用' in_memory = False )

参数

  • split (datasets.Split) — 返回数据集的哪个子集。{// HTML_TAG_END -->
  • run_post_process (bool, 默认为 True) — 是否运行后处理数据集转换和/或添加索引。{// HTML_TAG_END -->
  • verification_mode (VerificationModestr, 默认为 BASIC_CHECKS) — 用于确定在下载/处理的数据集中要运行哪些检查的验证模式(校验和/大小/分割/……)。

    添加于 2.9.1

    {// HTML_TAG_END -->
  • ignore_verifications (bool, 默认为 False) — 是否忽略下载/处理的集合信息的验证(校验和/大小/分割等)。

    自2.9.1版本已弃用

    ignore_verifications 已在版本2.9.1中被弃用,并将从3.0.0版本中移除。请使用 verification_mode 代替。

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

    自2.9.1版本已弃用

    in_memory 已在版本2.9.1中被弃用,并将从3.0.0版本中移除。请使用 verification_mode 代替。

返回指定分割的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: 可选 = None download_config: 可选 = None download_mode: 并联 = None verification_mode: 并联 = None ignore_verifications = '已弃用' try_from_hf_gcs = '已弃用' dl_manager: 可选 = None base_path: 可选 = None use_auth_token = '已弃用' file_format: str = 'arrow' max_shard_size: 并联 = None num_proc: 可选 = None storage_options: 可选 = 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) — 确定要对已下载/处理的数据集信息(校验和/大小/拆分/…)运行的验证模式。

    自2.9.1版本新增

  • ignore_verifications (bool, 默认为 False) — 忽略下载/处理的数据集信息(校验和/大小/拆分/……)的验证。

    弃用于 2.9.1

    ignore_verifications 在 2.9.1 版本中弃用,并将从 3.0.0 中删除。请使用 verification_mode 代替。

  • try_from_hf_gcs (bool) — 如果为 True,将尝试从 HF Google 云存储中下载已准备好的数据集。

    弃用于 2.16.0

    try_from_hf_gcs 在 2.16.0 版本中弃用,并将从 3.0.0 中删除。请在 Hugging Face Hub 上托管处理后的文件。

  • dl_manager (DownloadManager, 可选) — 要使用的特定的 DownloadManger
    HTML_TAG_END -->
  • base_path (str, 可选) — 下载文件时使用的相对路径的基础路径。这可以是一个远程url。如果没有指定,将使用 base_path 属性的值 (self.base_path) 。
  • use_auth_token (Union[str, bool], 可选) — 在数据集Hub上的远程文件中用作Bearer token的可选字符串或布尔值。如果为True或未指定,将从此处获取token:~/.huggingface。
  • 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, 可选) — 如果有缓存文件系统后端,则传递给 Key/Value 对的键值对。

    新增于 2.5.0

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

示例

将数据集作为 Arrow 文件下载和准备,可以使用 builder.as_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=''), task_templates=[TextClassification(task='text-classification', text_column='text', label_column='label')], 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=''), task_templates=[TextClassification(task='text-classification', text_column='text', label_column='label')], 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

< >

( )

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

datasets.GeneratorBasedBuilder

< >

cache_dir: 可选 = None dataset_name: 可选 = None config_name: 可选 = None hash: 可选 = None base_path: 可选 = None info: 可选 = None features: 可选 = None token: 合并 = None use_auth_token = '过时' repo_id: 可选 = None data_files: 合并 = None data_dir: 可选 = None storage_options: 可选 = None writer_batch_size: 可选 = None name = '过时' **config_kwargs

基于dict生成器数据生成的数据集的基类。

GeneratorBasedBuilder 是一个方便的类,它抽象了大部分 DatasetBuilder 的数据写入和读取。它期望子类实现数据集分割<>_split_generators的字典生成器。详情请参阅方法文档串。

class datasets.BeamBasedBuilder

< >

( *args beam_runner = None beam_options = None **kwargs )

基于Beam的构建器。

datasets.ArrowBasedBuilder

< >

cache_dir: 可选 = None dataset_name: 可选 = None config_name: 可选 = None hash: 可选 = None base_path: 可选 = None info: 可选 = None features: 可选 = None token: 合并 = None use_auth_token = '过时' repo_id: 可选 = None data_files: 合并 = None data_dir: 可选 = None storage_options: 可选 = None writer_batch_size: 可选 = None name = '过时' **config_kwargs

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

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 )

配置ID用于构建缓存目录。默认情况下,它等于配置名称。但是,配置的名称不足以成为所生成数据集的唯一标识符,因为它不考虑

  • 可用于覆盖属性的配置kwargs
  • 用于写入数据集的自定义特征
  • json/text/csv/pandas数据集的数据文件

因此,配置ID只是配置名称,加上基于这些的可选后缀。

下载

class datasets.DownloadManager

< >

( dataset_name: 可选 = None data_dir: 可选 = None download_config: 可选 = None base_path: 可选 = None record_checksums = True )

下载

< >

( url_or_urls ) strlistdict

参数

  • url_or_urls (strlistdict) - 下载的 URL 或 URL 列表或字典。每个 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

< >

( ) extracted_path(s)

参数

  • url_or_urls (strlistdict) - 下载并解压的 URL 或 URL 列表或字典。每个 URL 是一个 str

返回

extracted_path(s)

str、给定 URL 的提取路径。

下载并解压给定的 url_or_urls

大致等同于

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

download_custom

< >

( url_or_urls custom_download ) downloaded_path(s)

参数

  • url_or_urls (str or list or dict) — URL 或 listdict 形式的 URL 列表用于下载和提取。每个 URL 都是 str 类型的。
  • custom_download (Callable[src_url, dst_path]) — 源 URL 和目标路径。例如 tf.io.gfile.copy,用于从 Google 存储下载。

返回

downloaded_path(s)

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

通过调用 custom_download 下载指定的 URL。

示例

>>> downloaded_files = dl_manager.download_custom('s3://my-bucket/data.zip', custom_download_for_my_private_bucket)

extract

参数

返回

extracted_path(s)

提取指定路径。

示例

>>> 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

参数

生成器

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 (strstrlist[str]) — 根路径。

生成器

str

遍历文件路径。

示例

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

ship_files_with_pipeline

< >

( downloaded_path_or_paths pipeline )

参数

  • downloaded_path_or_paths (strlist[str]dict[str, str] ) — 包含下载路径的嵌套结构。
  • pipeline (utils.beam_utils.BeamPipeline) — Apache Beam Pipeline.

使用Beam FileSystems将文件传输到管道临时目录。

class datasets.StreamingDownloadManager

< >

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

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

下载

< >

( url_or_urls ) url(s)

参数

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

返回

URL(s)

(strlistdict),匹配给定输入 url_or_urls 的 URL(s),用于流式传输数据。

正常化要流式传输数据的文件的 URL(s)。这是 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 (str or list or dict) — 用于从数据中流式传输的URL。每个URL都是一个str

返回

URL(s)

(str or list or dict),匹配给定输入 url_or_urls 的用于流式传输数据的URL。

准备给定的 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 (str or list or dict) — 要从其流式传输数据的文件URL。每个URL都是一个str

返回

URL(s)

(str or list or dict),匹配给定输入 url_or_urls 的用于流式传输数据的URL。

为给定的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: 联合 ) tuple[str, io.BufferedReader]

参数

  • urlpath_or_buf (str or io.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: 联合 ) str

参数

  • urlpaths (strstr 列表) — 根路径。

生成器

str

迭代文件。

示例

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

datasets.DownloadConfig

< >

( cache_dir: 联合 = 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: 联合 = None use_auth_token: dataclasses.InitVar[typing.Union[str, bool, NoneType]] = 'deprecated' ignore_url_params: bool = False 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) — 如果为 True,当 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可选) — 作为数据集中心远程文件所用的 Bearer token 的可选字符串或布尔值。如果为 True 或未指定,将从 ~/.huggingface 获取 token。
  • use_auth_token (strbool可选) — 作为数据集中心远程文件所用的 Bearer token 的可选字符串或布尔值。如果为 True 或未指定,将从 ~/.huggingface 获取 token。

    已弃用于 2.14.0

    use_auth_token 从版本 2.14.0 开始已被弃用,将在 3.0.0 中删除。

  • ignore_url_params (bool,默认为 False) — 在将其用于文件缓存之前是否从下载 URL 中删除所有查询参数和片段。
  • storage_options (dict, 可选) — 将传递给数据集文件系统后端(如果有)的键值对。
  • download_desc (str, 可选) — 在下载文件时将在进度条旁边显示的描述。
  • disable_tqdm (bool, 默认为 False) — 是否禁用单个文件下载的进度条

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

datasets.DownloadMode

< >

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

枚举用于处理现有下载和数据的策略。

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

生成模式

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

验证

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

分割

datasets.SplitGenerator

< >

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

参数

  • 名称 (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)},
... )

datasets.Split

< >

( name )

枚举 用于数据集拆分。

数据集通常分为不同的子集,用于训练和评估的不同阶段。

  • 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)},
... )

datasets.NamedSplit

< >

( name )

对应于具有名称的分割(训练、测试等)的描述符。

示例

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

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])

datasets.NamedSplitAll

< >

( )

对应于所有定义的数据集分割的并集的分割。

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) — 分区(s) + 可选的读取切片 + 使用百分比作为切片单位时的可选四舍五入。可以通过绝对数字(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.

转换为目标绝对值。

< >

( name2len )

参数

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

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

然后将这些绝对指令相加。

数据集版本

datasets.Version

< >

( version_str: str description: 可选 = None major: 联合 = None minor: 联合 = None patch: 联合 = None )

参数

  • version_str (str) — 数据集版本。
  • description (str) — 描述本版本的新功能。
  • major (str) —
  • 次要版本 (str) —
  • 修订版本 (str) —

数据集版本 MAJOR.MINOR.PATCH

示例

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