Clarify ModelCheckpoint behavior when self.monitor == None
📚 Documentation
In ModelCheckpoint, setting self.monitor to None (as for the built-in checkpoint callback in the Trainer) causes it to default to either val_loss or checkpoint_on, as per L459. This, in turn, overrides the behavior described in the docs, which is caused by L500.
Incriminated docs at L53:

monitor: quantity to monitor. By default it is None which saves a checkpoint only for the last epoch.

I think that this should be clarified to reflect the (pretty complex and a bit tricky, IMHO) behavior of ModelCheckpoint, perhaps by adding this to the doc entry:

monitor: quantity to monitor. By default it is None which saves a checkpoint only for the last epoch; if the user logs either val_loss or checkpoint_on, it will instead monitor their quantity.

I will happily submit a pull request once I hear from a maintainer! :)