我有超过 100,000 个文件,每个文件包含 20 多个示例。每个文件的样本数不同。如何在 Chainer 中创建批量大小约为 10 的迭代器,而无需将所有文件预加载到内存中?
问问题
40 次
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 回答