If train_step returns None, callback_metrics is empty
🐛 Bug
The title says it all: if, instead of returning a Tensor, I return None from train_step (w/ automatic_optimization=False, though I think this is irrelevant), then trainer.callback_metrics is not populated and is empty during the callbacks.
It's weird that these two things are associated, they seem very different parts of the codebase.
Expected: callback_metrics is populated in the same way regardless of return value of training_step. If returning None is not valid, an error should be raised.