Checkpoint saving period=10 off by one error
Describe the bug
Checkpoint saving period=10 sometimes is off by one:
./checkpoints/_ckpt_epoch_10.ckpt
./checkpoints/_ckpt_epoch_20.ckpt
./checkpoints/_ckpt_epoch_30.ckpt
./checkpoints/_ckpt_epoch_40.ckpt
./checkpoints/_ckpt_epoch_50.ckpt
./checkpoints/_ckpt_epoch_60.ckpt
./checkpoints/_ckpt_epoch_70.ckpt
./checkpoints/_ckpt_epoch_80.ckpt
./checkpoints/_ckpt_epoch_90.ckpt
./checkpoints/_ckpt_epoch_100.ckpt
./checkpoints/_ckpt_epoch_110.ckpt
./checkpoints/_ckpt_epoch_120.ckpt
./checkpoints/_ckpt_epoch_130.ckpt
./checkpoints/_ckpt_epoch_140.ckpt
./checkpoints/_ckpt_epoch_150.ckpt
./checkpoints/_ckpt_epoch_160.ckpt
./checkpoints/_ckpt_epoch_170.ckpt
./checkpoints/_ckpt_epoch_180.ckpt
./checkpoints/_ckpt_epoch_191.ckpt
Another time, it incremented at 61 and then again at 192.
To Reproduce
No idea why this is happening. It's very random!
Expected behavior
The expected behavior is that it saves every 10 epochs exactly.
Screenshots
None.
Desktop (please complete the following information):

OS: Ubuntu 18.04.3 LTS

Additional context
Saving a checkpoint every 10 epochs.
    checkpoint = ModelCheckpoint(
        filepath=os.path.join(os.getcwd(), 'checkpoints'),
        verbose=True,
        save_best_only=False,
        save_weights_only=False,
        period=10
    )
    if setup.cuda_is_available():
        trainer = Trainer(
            distributed_backend='dp',
            gpus=setup.cuda_device_count(),
            checkpoint_callback=checkpoint,
            early_stop_callback=None,
            max_nb_epochs=params.epochs
        )
    else:
        trainer = Trainer(
            checkpoint_callback=checkpoint,
            early_stop_callback=None,
            max_nb_epochs=params.epochs
        )