Nope. For that you need to save and restore optim.state_dict() too.
Add the following to the state you save
"optim_state": optim.state_dict(),

and load like this
optimizer.load_state_dict(checkpoint['optim_state'])