数据集集合

数据集抽象(链接器数据集)

Chainer支持数据集培训和验证的通用接口。数据集支持由三个组件组成:数据集、迭代器和批处理转换函数。

数据集表示一组示例。接口只能通过与要在其上使用的迭代器组合来确定。Chainer的内置迭代器需要数据集支持__获取项目____伦__方法。特别是__获取项目__方法应支持通过整数和切片进行索引。我们可以通过继承轻松支持切片索引数据集混合,在这种情况下,用户只需实现获取示例(_E)索引方法。基本上,数据集被视为无国籍的对象,这样我们就不需要将数据集保存为训练过程的检查点。

迭代器对数据集进行迭代,在每次迭代时,它都会生成一个小样本列表。迭代器应支持迭代器接口,其中包括Python的标准迭代器协议。迭代器管理下一步的阅读位置,这意味着它们是有状态的.

批量转换功能将微型支架转换为阵列,以馈送到神经网络。他们还负责将每个阵列发送到适当的设备。Chainer目前提供了两种实现:

这些组件都是可定制的,并且设计为具有最小的接口来限制数据集的类型和处理方式。不过,在大多数情况下,Chainer本身提供的实现足以涵盖这些用法。

Chainer还有一个轻量级系统来下载、管理和缓存数据集的具体示例。通过系统管理的所有数据集都保存在数据集根目录,由CHAINER_DATASET_ROOT连锁店环境变量,也可以通过set_dataset_root()功能。

数据集表示

请参见数据集示例(chainer.datasets)用于数据集实现。

链接器数据集。数据集混合 数据集索引的默认实现。

迭代器接口

请参见迭代器用于数据集迭代器实现。

链接器数据集。迭代器 所有数据集迭代器的基类。

批量转换功能

链接器.dataset.concat示例 将示例列表连接到数组中。
链接器数据集。带异步传输的协调 连接数据并将其异步传输到GPU的接口。
链接器.数据集.to设备 向给定设备发送数组。

数据集管理

链接器.dataset.get_dataset_root 获取要下载和缓存数据集的根目录的路径。
链接器.dataset.set_dataset_root 设置根目录以下载和缓存数据集。
链接器.数据集.缓存_下载 下载并缓存文件。
链接器.数据集.缓存或加载文件 如果文件不存在,则缓存该文件,否则加载该文件。

数据集示例(链接器.数据集)

最基本的数据集实现是一个数组。NumPy和CuPy数组都可以直接用作数据集。

然而,在许多情况下,简单的数组不足以编写训练过程。为了涵盖大多数此类情况,Chainer提供了许多内置的数据集实现。

这些内置数据集分为两组。一个是一组通用数据集。其中大多数是其他数据集的包装器,用于向每个数据点引入一些结构(例如元组或dict)。另一个是一组具体的、流行的数据集。这些具体示例使用链接器数据集模块缓存下载和转换的数据集。

常规数据集

一般数据集进一步分为四种类型。

第一个是DictDataset(DictDataset)TupleDataset(TupleDataset)这两种方法结合了其他数据集并在其上引入了一些结构。

第二个是级联数据集子数据集.级联数据集表示现有数据集的串联。它可以用于合并数据集并生成更大的数据集。子数据集表示现有数据集的子集。它可以用于分离数据集以进行保留验证或交叉验证。还提供了进行随机拆分的方便函数。

第三个是转换数据集,它通过将函数应用于从基础数据集索引的数据来包装数据集。它可以用于修改已经准备好的数据集的行为。

最后一个是一组特定于域的数据集。目前,图像数据集的实现(图像数据集,标签图像数据集等)和文本(文本数据集)提供了。

DictDataset(DictDataset)

chainer.数据集。DictDataset(DictDataset) 数据集字典的数据集。

TupleDataset(TupleDataset)

chainer.数据集。TupleDataset(TupleDataset) 来自多个等长数据集的元组数据集。

级联数据集

chainer.数据集。级联数据集 连接一些基本数据集的数据集。

子数据集

chainer.数据集。子数据集 基本数据集的子集。
链接器.datasets.split_dataset 将数据集拆分为两个子集。
链接器.datasets.split_dataset_random 将数据集随机拆分为两个子集。
链接器.datasets.get_cross_validation_datasets 创建一组训练/测试分割以进行交叉验证。
链接器.datasets.get_cross_validation_datasets_random 创建一组训练/测试分割,用于随机交叉验证。

转换数据集

chainer.数据集。转换数据集 为基础数据集编制索引并转换数据的数据集。

图像数据集

chainer.数据集。图像数据集 从图像文件路径列表构建的图像数据集。
chainer.数据集。ZippedImageDataset(压缩图像数据集) 从zip文件构建的图像数据集。
chainer.数据集。MultiZippedImage数据集 从zip文件路径列表构建的图像数据集。

标签图像数据集

chainer.数据集。标签图像数据集 从路径和标签列表构建的图像和标签对的数据集。
chainer.数据集。标签压缩图像数据集 压缩图像和标签对的数据集。

文本数据集

chainer.数据集。文本数据集 面向行的文本文件的数据集。

PickleDataset(选取数据集)

链接器数据集。PickleDataset(选取数据集) 使用pickle存储在存储器中的数据集。
chainer.数据集。PickleDatasetWriter 生成PickleDataset的Writer类。
链接器数据集打开pickle_dataset 打开存储在给定路径中的数据集。
链接器.datasets.open_pickle_dataset_writer 打开编写器以生成PickleDataset。

具体数据集

链接器.datasets.get_mnist 获取MNIST数据集。
链接器.datasets.get_fashion_mnist_labels 提供标签的字符串值名称列表。
链接器.datasets.get_fashion_mnist 获取Fashion-MNIST数据集。
链接器.datasets.get_cifar10 获取CIFAR-10数据集。
链接器.datasets.get_cifar100 获取CIFAR-100数据集。
链接器.datasets.get_ptb_words 获取Penn Tree Bank数据集作为长单词序列。
链接器.datasets.get_ptb_words_vocage 获取Penn Tree Bank单词词汇表。
链接器.datasets.get_svhn 获取SVHN数据集。