torch.load()的作用

torch.load()的作用:从文件加载用torch.save()保存的对象。

api:

torch.load(f, map_location=None, pickle_module=<module 'pickle' from '/opt/conda/lib/python3.6/pickle.py'>, **pickle_load_args)

参数:

  • f: 类似文件的对象(必须实现read(),:meth ' readline ',:meth ' tell '和:meth ' seek '),或者是包含文件的字符串。
  • map_location: 函数、torch.device或者字典指明如何重新映射存储位置。
  • pickle_module : 用于unpickling元数据和对象的模块(必须匹配用于序列化文件的pickle_module)。
  • pickle_load_args: 传递给pickle_module.load()和pickle_module.Unpickler()的可选关键字参数。

使用

默认加载方式,使用cpu加载cpu训练得出的模型或者用gpu调用gpu训练的模型:

torch.load('tensors.pt')

将全部Tensor全部加载到cpu上:

torch.load('tensors.pt', map_location=torch.device('cpu'))

使用函数将所有张量加载到CPU(适用在GPU训练的模型在CPU上加载):

torch.load('tensors.pt', map_location=lambda storage, loc: storage)

将所有张量加载到第一块GPU(在CPU训练在GPU加载):

torch.load('tensors.pt', map_location=lambda storage, loc: storage.cuda(1))

将张量从GPU 1映射到GPU 0(第一块GPU训练,第二块GPU加载):

torch.load('tensors.pt', map_location={'cuda:1':'cuda:0'})

根据你的设备,将张量加载到你当前设备上:

torch.load('modelparameters.pth', map_location = device)


作者:Blureyes
链接:https://www.jianshu.com/p/939de37f73e7
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2021-06-10 16:57  鲍曼小学生  阅读(4720)  评论(0编辑  收藏  举报