**
模型加载报错:Error(s) in loading state_dict for GeneratorResNet
**
问题产生原因:检查我们在训练时是否使用了DataParallel进行多GPU。该方法产生的模型会自动添加key:module.
观察报错信息:
可以发现模型中的key值都是多了module.
解决方案:
1、删除掉module.
gentmps=torch.load("./saved_models/generator_%d.pth" % opt.epoch)
distmps = torch.load("./saved_models/discriminator_%d.pth" % opt.epoch)
from collections import OrderedDict
new_gens = OrderedDict()
new_diss = OrderedDict()
for k, v in gentmps.items():
name = k.replace('module.','') # remove 'module.'
new_gens[name] = v #新字典的key值对应的value为一一对应的值。
for k, v in distmps.items():
name = k.replace('module.','') # remove 'module.'
new_diss[name] = v #新字典的key值对应的value为一一对应的值。
generator.load_state_dict(new_gens)
discriminator.load_state_dict(new_diss)