
在多GPU上并行训练的模型如何在单GPU或CPU上加载。
多卡训练的模型保存下来的参数名称是module.xxx.weight,而单卡的参数名称是xxx.weight,这时就会报错,找不到相应的字典的错误。
办法也很简单,只需要在state_dict上进行修改,将module.xxx.weight改为xxx.weight,再load就可以了。
代码如下:
import torch from collections import OrderedDict state_dict = torch.load(net_path) new_state_dict = OrderedDict() for k, v in state_dict.items(): # k为module.xxx.weight, v为权重 name = k[7:] # 截取`module.`后面的xxx.weight new_state_dict[name] = v # load params net = XXXnet() net.load_state_dict(new_state_dict)
热门文章
- 狗粮品牌十大排行榜最新(狗粮品牌十大排行榜最新)
- centos离线安装nginx详细教程
- VPN Tiktok | 4月10日22.8M/S|免费VPN/Shadowrocket/Clash/V2ray/SSR免费节点订阅分享
- 宠物医院绝育手术失败怎么办(宠物医院 绝育)
- VPN Tiktok | 4月18日23M/S|免费VPN/V2ray/SSR/Clash/Shadowrocket免费节点订阅分享
- VPN Tiktok | 4月16日21.2M/S|免费VPN/Shadowrocket/SSR/V2ray/Clash免费节点订阅分享
- 宠物店粮食摆放图片大全(宠物店的粮适合买吗)
- 给宠物猫打疫苗需要多少钱一次(给猫猫打疫苗要多少钱?)
- 运城动物防疫站在哪(运城市动物疫病预防控制中心)
- 成都宠物领养中心官网收容中心地址在哪里(成都宠物收养所)