over9k:

The only thing I can think of is to run the whole validation step after each training batch and keeping track of those, but that seems overkill and a lot of computation.


That’s right and is the reason, why the validation loss and metric is usually calculated once per epoch.
The idea of calculating the validation loss is to get a signal of the model’s performance on “unseen” data. In the best case the validation loss should closely stick to the final test loss (note that you shouldn’t touch the test dataset until your training is done, as you would otherwise leak the test data information into the training). For this, it’s often not needed to closely track the validation loss after each batch/iteration.