在 TensorFlow.org 上查看 | 在 Google Colab 中运行 | 在 GitHub 上查看源代码 | 下载笔记本 |
概述
数据集集合提供了一种简单的方法,可以将任意数量的现有 TFDS 数据集组合在一起,并对它们执行简单的运算。
它们可能会很有用,例如,将与同一任务相关的不同数据集组合在一起,或者便于对固定数量的不同任务中的模型进行基准测试。
安装
首先,安装几个软件包:
# Use tfds-nightly to ensure access to the latest features.
pip install -q tfds-nightly tensorflow
pip install -U conllu
将 TensorFlow 和 TensorFlow Datasets 软件包导入您的开发环境:
import pprint
import tensorflow as tf
import tensorflow_datasets as tfds
数据集集合提供了一种简单的方式,可以将 Tensorflow Datasets 中任意数量的现有数据集组合在一起,并对它们执行简单的运算。
它们可能会很有用,例如,将与同一任务相关的不同数据集组合在一起,或者便于对固定数量的不同任务中的模型进行基准测试。
查找可用的数据集集合
所有数据集集合构建工具都是 tfds.core.dataset_collection_builder.DatasetCollection
的子类。
要获取可用构建工具的列表,请使用 tfds.list_dataset_collections()
。
tfds.list_dataset_collections()
加载并检查数据集集合
加载数据集集合的最简单方式是使用 tfds.dataset_collection
命令实例化 DatasetCollectionLoader
对象。
collection_loader = tfds.dataset_collection('xtreme')
可以按照与加载TFDS 数据集相同的语法加载特定的数据集集合版本:
collection_loader = tfds.dataset_collection('xtreme:1.0.0')
数据集集合加载程序可以显示有关集合的信息:
collection_loader.print_info()
数据集加载程序还可以显示有关集合中包含的数据集的信息:
collection_loader.print_datasets()
从数据集集合加载数据集
从集合中加载一个数据集的最简单方式是使用 DatasetCollectionLoader
对象的 load_dataset
方法,此方法通过调用 tfds.load
加载所需的数据集。
此调用返回拆分名称的字典和相应的 tf.data.Dataset
:
splits = collection_loader.load_dataset("ner")
pprint.pprint(splits)
load_dataset
接受以下可选形参:
split
:要加载的拆分。它接受单个拆分 (split="test"
) 或拆分列表:(split=["train", "test"]
)。如果未指定,它将加载给定数据集的所有拆分。loader_kwargs
:要传递给tfds.load
函数的关键字实参。有关不同加载选项的全面概览,请参阅tfds.load
文档。
从数据集集合加载多个数据集
从集合中加载多个数据集的最简单方式是使用 DatasetCollectionLoader
对象的 load_dataset
方法,此方法通过调用 tfds.load
加载所需的数据集。
它返回一个数据集名称字典,每个字典都与一个拆分名称字典和相应的 tf.data.Dataset
相关联,如下例所示:
datasets = collection_loader.load_datasets(['xnli', 'bucc'])
pprint.pprint(datasets)
load_all_datasets
方法加载给定集合的所有可用数据集:
all_datasets = collection_loader.load_all_datasets()
pprint.pprint(all_datasets)
load_datasets
方法接受以下可选形参:
split
:要加载的拆分。它接受单个拆分 (split="test"
) 或拆分列表:(split=["train", "test"]
)。如果未指定,它将加载给定数据集的所有拆分。loader_kwargs
:要传递给tfds.load
函数的关键字实参。有关不同加载选项的全面概览,请参阅tfds.load
文档。
制定 loader_kwargs
loader_kwargs
是要传递给 tfds.load
函数的可选关键字实参。可以通过三种方式指定这些实参:
- 初始化
DatasetCollectionLoader
类时:
collection_loader = tfds.dataset_collection('xtreme', loader_kwargs=dict(split='train', batch_size=10, try_gcs=False))
- 使用
DatasetCollectioLoader
的set_loader_kwargs
方法:
collection_loader.set_loader_kwargs(dict(split='train', batch_size=10, try_gcs=False))
- 作为
load_dataset
、load_datasets
和load_all_datasets
方法的可选形参。
dataset = collection_loader.load_dataset('ner', loader_kwargs=dict(split='train', batch_size=10, try_gcs=False))
反馈
我们一直在致力于改进数据集创建工作流,但只有在充分了解存在哪些问题后才能有效地实施改进。您在创建数据集时遇到了哪些问题和错误?是否存在令您困惑的部分、样板问题,以及首次创建失败的经历?请在 GitHub 上分享您的反馈。