ModelCheckpoint period should not always save on the first epoch
🚀 Feature
period should work so:
# ModelCheckpoint on_validation_end
if (epoch + 1) % period:
    # do not save
    return

e.g:

period == 1: save on epoch 0, 1, 2...
period == 2: save on epoch 1, 3, 5...
period == 3: save on epoch 2, 5, 8...

currently, it always runs on the first epoch and then runs every period epochs
e.g:

period == 1: save on epoch 0, 1, 2...
period == 2: save on epoch 0, 2, 4...
period == 3: save on epoch 0, 3, 6...

This would also allow having period = 0 which would never save, just as save_top_k = 0
Motivation
I want to save a checkpoint every period epochs but current behaviour forces to always save on the first one.