1

我有超过 100,000 个文件,每个文件包含 20 多个示例。每个文件的样本数不同。如何在 Chainer 中创建批量大小约为 10 的迭代器,而无需将所有文件预加载到内存中?

4

1 回答 1

0

我认为您可以使用DatasetMixin类来定义自己的数据集。您可以覆盖get_example(i)提取i-th 数据的方法,以便在需要内部数据时加载文件get_example(i)。但是,它仍然需要“预索引”,这意味着您需要定义哪个i-th 数据对应于哪个文件。

以下是如何定义自己的DatasetMixin类的参考。

参考: - Chainer v3 初学者教程(日语) -使用 DatasetMixin 从您自己的数据创建数据集类

DatasetMixin请参阅用于按需加载图像的 官方示例: https ://github.com/chainer/chainer/blob/master/examples/imagenet/train_imagenet.py#L39

于 2018-03-11T23:56:01.117 回答