DL4J/ND4J: Можно ли повторно использовать экземпляр INDArray?
У меня есть модель для тренировки на большом наборе данных, который не помещается в оперативной памяти. Итак, в основном мой план состоит в том, чтобы нарезать набор данных, создавая DataSet
экземпляр с входными векторами и соответствующими метками для каждого чанка. Например, если у меня есть 1М входных векторов / меток, я бы разделил их на 10 кусков, каждый из которых имеет записи по 100К.
Тогда я бы положил кусок в 2 INDArray
объекты (для входных данных и меток), создать DataSet
и позвонить model.fit()
с этим набором данных, повторяя эту процедуру для каждого куска и повторяя весь процесс, пока, скажем, оценка модели не достигнет некоторого значения. Мои вопросы:
1. Правильно ли я понимаю процесс?
2. Может ли INDArray
экземпляры будут повторно использованы? Было бы правильно распределить их один раз, а потом просто снова и снова заполнять их наборами данных?
1 ответ
Вам не нужно делать ничего из этого. Рабочие пространства уже решают вашу проблему размещения: http://deeplearning4j.org/workspaces
Просто используйте стандартный datavec -> recordreaderdatasetiterator -> шаблон набора данных. Это уже обрабатывает мини-пакеты для вас.