public bool Next(long batchSize, Executor executor, Variable <float> dataVar, Variable <float> labelsVar) { if (Index >= Rows) { Reset(); return(false); } var size = Index + batchSize >= Rows ? Rows - Index : batchSize; var dataBuffer = CreateBuffer(DataTensor, size, Cols, Index); var labelsBuffer = CreateBuffer(LabelsTensor, size, Outputs, Index); Index += batchSize; executor.SetTensor(dataVar, new Tensor <float>(dataBuffer)); executor.SetTensor(labelsVar, new Tensor <float>(labelsBuffer)); return(true); }