要加载训练好的PyTorch模型,可以使用torch.load()函数来加载模型的参数和状态字典。以下是一个加载并使用训练好的模型的示例代码:
import torch
import torchvision.models as models
# 实例化模型
model = models.resnet18()
# 加载训练好的模型参数
model.load_state_dict(torch.load('path_to_saved_model.pth'))
# 设置模型为评估模式
model.eval()
# 使用模型进行推理
inputs = torch.randn(1, 3, 224, 224)
outputs = model(inputs)
# 打印预测结果
print(outputs)
在上述代码中,首先使用torchvision.models模块实例化了一个ResNet-18模型。然后使用load_state_dict()函数加载了训练好的模型参数,需要提供模型参数保存的文件路径。接着调用eval()方法将模型设置为评估模式,这将关闭模型中的一些训练特定的操作,如Dropout。最后,将输入数据传递给模型进行推理,并打印预测结果。
需要注意的是,加载模型时,要确保模型的结构与训练时的结构完全一致,否则加载的模型参数可能会出错。