Restarts ignores `val_check_interval` 
🐛 Bug
With val_check_interval != 1, checkpoints are saved in the middle of the epoch, but that location is not saved in the checkpoint, and after a restart, it always begins from the beginning of the last epoch.
To reproduce:

Run any training with val_check_interval=0.2
Kill training after, say, 40% of an epoch
Restart from the saved checkpoint
You will find that it is starting from 0% of that checkpoint

Solution:

Save and load batch_idx
Save and load the dataloader (or just the sampler). According to this https://discuss.pytorch.org/t/how-to-save-dataloader/62813/4, it is just torch.save(dataloader), but I haven't tried.