在PyTorch中,torch.load()
函數用于加載保存的模型或張量。其基本語法如下:
torch.load(filepath, map_location=None, pickle_module=<module 'pickle' from '...'>)
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中保存的,則需要使用其他方法進行轉換或加載。