pytorch加载模型时使用map_location来在CPU、GPU间辗转腾挪

假设我们只保存了模型的参数(model.state_dict())到文件名为modelparameters.pth, model = Net()

  1. cpu -> cpu或者gpu -> gpu:
checkpoint = torch.load('modelparameters.pth')

model.load_state_dict(checkpoint)
  1. cpu -> gpu 1
torch.load('modelparameters.pth', map_location=lambda storage, loc: storage.cuda(1))
  1. gpu 1 -> gpu 0
torch.load('modelparameters.pth', map_location={'cuda:1':'cuda:0'})
  1. gpu -> cpu
torch.load('modelparameters.pth', map_location=lambda storage, loc: storage)

猜你喜欢

转载自blog.csdn.net/jining11/article/details/103825447
今日推荐