我有一个模型可以在不适合 RAM 的大型数据集上进行训练。所以,基本上我的计划是对数据集进行切片,为每个块创建一个DataSet
带有输入向量和相关标签的实例。例如,如果我有 1M 输入向量/标签,我会将它们分成 10 个块,每个块有 100K 条记录。
然后我将一个块放入 2 个INDArray
对象(用于输入和标签),创建一个DataSet
并model.fit()
使用该数据集调用,对每个块重复此过程并重复整个过程,直到模型的分数达到某个值。我的问题是:
1. 我是否正确理解了流程?
2.INDArray
实例可以复用吗?将它们分配一次然后一遍又一遍地用数据集块填充它们是否正确?
问问题
226 次
1 回答
0
你不必做任何这些。Workspaces 已经解决了您的分配问题: http ://deeplearning4j.org/workspaces
只需使用标准的 datavec -> recordreaderdatasetiterator -> dataset 模式。这已经为您处理了小批量。
于 2018-07-11T08:07:06.403 回答