我使用deep java library
的FashionMnist
數據mnistTrain.getData(mg)
回傳的類別是Iterable<Batch>
但是在for循環裡他使用的內存會一直升高,似乎是要讀取完整的數據集後才會釋放內存
要如何每讀取一個Batch就釋放目前占用的內存?
FashionMnist mnistTrain = FashionMnist.builder()
.optUsage(Dataset.Usage.TRAIN)
.setSampling(16, false)
.optLimit(Long.getLong("DATASET_LIMIT", Long.MAX_VALUE))
.build();
try(NDManager mg = NDManager.newBaseManager())
{
int count = 0;
for(Batch batch : mnistTrain.getData(mg))
{
System.out.println(count++);
batch.close();
}
}catch(TranslateException | IOException e) {}