Logging Intervals and Evaluation Intervals
🚀 Feature
Logging and validation intervals should be performed using the global step.
Motivation
Currently, the row_log_interval and val_check_interval do not work as intended. If my batch size is large or my training set size is small, the number of batches per epoch is also small. Row log interval and validation check interval seem to use the steps within the epoch, rather than the global step count.
This means that logging does not occur if row_log_interval > num batches per epoch. For the validation check interval, the trainer throws an exception.
Pitch
Both intervals should rely on the global step count  or count steps across epochs to solve the issues mentioned above.
Alternatives
Before initializing the trainer, I've used the dataloader/dataset to calculate the number of batches per epoch, and then used check_val_every_n_epochs. However this is not ideal if the get_dataloader is baked into the lightning module. It also does not allow for fine grain control over when to run validation.
Additional context
It might also be nice to have val_check_interval based on max_steps. For example, if we have max_steps=10000 and want to validate ten times through training, we could set val_check_interval=0.1 or equivalently, val_check_interval=1000