在PyTorch中,torch.load()
函数用于加载保存的模型或张量。其基本语法如下:
torch.load(filepath, map_location=None, pickle_module=)
filepath
是保存模型或张量的文件路径。map_location
是一个可选参数,用于指定设备将模型/张量加载到哪个位置。可以是一个字符串,表示设备名称(如’cpu’、'cuda:0’等),也可以是一个torch.device对象。默认值为None,表示加载到与保存时设备相同的位置。pickle_module
是一个可选参数,用于覆盖默认的pickle模块。默认值为Python内置的pickle模块。
以下是torch.load()
函数的使用示例:
import torch # 加载保存的模型 model = torch.load('model.pth') # 加载保存的张量 tensor = torch.load('tensor.pt') # 加载保存的模型,并将其加载到指定设备上 device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') model = torch.load('model.pth', map_location=device) # 加载保存的模型,使用自定义的pickle模块 import pickle5 as pickle model = torch.load('model.pth', pickle_module=pickle)
注意,torch.load()
函数只能加载在相同版本的PyTorch中保存的模型或张量。如果模型或张量是在不同版本的PyTorch中保存的,则需要使用其他方法进行转换或加载。