赞
踩
针对PyTorch模型保存和加载时CPU和GPU之间的转换,举两个例子:
device = torch.device(“cuda”)
model = Model().to(device)
model.cpu()
torch.save(model.state_dict(), ‘model.pth’)
2. 加载模型时转换到GPU:
python
model.load_state_dict(torch.load(‘model.pth’))
device = torch.device(“cuda”)
model.to(device)
主要原因是torch.save和torch.load默认是存储在CPU内存中的,而模型在GPU上时参数是存储在GPU内存的。
所以保存前需要调用model.cpu()将参数移动到CPU内存,xn–gpumodel-hu2m38skqbr8hs8w9r0clq3bea0669fmpj3sq.to(device)将参数加载到GPU上。
这样可以正确保存和加载模型到CPU/GPU。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。