I’m using lr_scheduler for decreasing the learning rate . In order to be able to resume my training I need to restore the schedulers stats. But I have no idea how to do it . I have done :
...
 optimizer = torch.optim.Adadelta(net.parameters(), lr=0.1, rho=0.9, eps=1e-3, # momentum=state['momentum'],
                                     weight_decay=0.001)
 milestones = [5, 10, 15, 20,40, 50]
 scheduler = lr_scheduler.MultiStepLR(optimizer, milestones, gamma=0.1)

  if use_cuda:
    net.cuda()
    criterion.cuda()

  recorder = RecorderMeter(epochs)
  # optionally resume from a checkpoint
  if resume:
    if os.path.isfile(resume):
      print_log("=> loading checkpoint '{}'".format(resume), log)
      checkpoint = torch.load(resume)
      recorder = checkpoint['recorder']
      start_epoch = checkpoint['epoch']
      scheduler = checkpoint['scheduler']
      net.load_state_dict(checkpoint['state_dict'])
      optimizer.load_state_dict(checkpoint['optimizer'])
      print_log("=> loaded checkpoint '{}' (epoch {})" .format(resume, checkpoint['epoch']), log)
    else:
      print_log("=> no checkpoint found at '{}'".format(resume), log)
  else:
    print_log("=> did not use any checkpoint for {} model".format(arch), log)

which is saved like this :
  save_checkpoint({
      'epoch': epoch + 1,
      'arch': arch,
      'state_dict': net.state_dict(),
      'recorder': recorder,
      'optimizer' : optimizer.state_dict(),
       'scheduler': scheduler,
    }, is_best, save_path, 'checkpoint_{0}.pth.tar'.format(time_stamp), time_stamp)

and save_checkpoint itself is defined :
def save_checkpoint(state, is_best, save_path, filename, timestamp=''):
  filename = os.path.join(save_path, filename)
  torch.save(state, filename)
  if is_best:
    bestname = os.path.join(save_path, 'model_best_{0}.pth.tar'.format(timestamp))
    shutil.copyfile(filename, bestname)

Yet this does not work. can anyone help me in this regard please?
Thanks a lot in advance