import torch
import torch.nn as nn

m = nn.Linear(10, 2)
opt = torch.optim.Adam(m.parameters())
best = {'optimizer_state_dict': opt.state_dict()}

opt.zero_grad()
opt.step()

opt = torch.optim.Adam(m.parameters())
opt.load_state_dict(best['optimizer_state_dict'])

This dummy example is working fine for me.