Have different intervals for training/validation set evaluations.
For training set evaluations, maybe also different intervals for evaluation and reporting
keep stats so at each finished epoch, we can also report over the whole training set values
(if possible, for sequences this may need to include the proper element counts, not counting padding)
cut down on slow evaluations: we now have one function for calculating loss and accuracy, but
separate ones allow to not calculate acc unless we want to.