加载dict_pytorch GPU和CPU模型相互加载

f9bd9d24dfae0ab1d62c858aa997e9cb.png

遇到了

map_location=lambda storage, loc: storage

搞不懂,搜了一下,还是站在巨人的肩膀上好啊,哈哈哈哈哈!

pytorch在CPU和GPU上加载模型_人工智能_牧野的博客-CSDN博客​blog.csdn.net
ea0002cd380efcade8bd1df901a5ecbe.png
pytorch GPU和CPU模型相互加载​blog.csdn.net
a5e461818ae8e2be2b4129e46559ff49.png

我们在使用pytorch的过程,经常会需要加载模型参数,不管是别人提供给我们的模型参数,还是我们自己训练的模型参数,那么加载模型参数就会碰到一些情况,即GPU模型和CPU模型,这两种模型是不能混为一谈的,下面分情况进行操作说明。

情况一:模型是GPU模型,预加载的训练参数也是GPU;模型是CPU模型,预加载的训练参数也是CPU,这种情况下我们都只用直接用下面的语句即可:

torch.load('model_dict.pkl')

情况二:GPU->CPU 模型是CPU,预加载的训练参数却是GPU,那么需要这样:

torch.load('model_dict.pkl', map_location=lambda storage, loc: storage)

情况三:CPU->GPU 模型是GPU,预加载的训练参数却是CPU:

torch.load('model_dic.pkl', map_location=lambda storage, loc: storage.cuda)

#CPU->GPU1   模型是GPU1,预加载的训练参数却是CPU:
torch.load('model_dic.pkl', map_location=lambda storage, loc: storage.cuda(1))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值