getTrainingInputProvider().populateNext(input);
learnInput(batch);
triggerEvent(new MiniBatchFinishedEvent(this, input, null, batch));
if (i % getTrainingInputProvider().getInputSize() == 0) {
triggerEvent(new EpochFinishedEvent(this, input, null, i / getTrainingInputProvider().getInputSize()));
}
}
triggerEvent(new TrainingFinishedEvent(this));
}