在Ubuntu上使用PyTorch保存和加载模型的步骤如下:
定义模型: 首先,你需要定义你的模型。例如,一个简单的线性回归模型:
import torch
import torch.nn as nn
class LinearRegressionModel(nn.Module):
def __init__(self, input_dim, output_dim):
super(LinearRegressionModel, self).__init__()
self.linear = nn.Linear(input_dim, output_dim)
def forward(self, x):
return self.linear(x)
实例化模型: 创建模型的实例,并将其移动到GPU(如果可用):
model = LinearRegressionModel(input_dim=10, output_dim=1)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
训练模型: 训练你的模型(这里省略了训练代码)。
保存模型:
使用torch.save()
函数保存模型的状态字典:
torch.save(model.state_dict(), 'model.pth')
定义相同的模型结构: 加载模型之前,你需要定义与保存时相同的模型结构:
model = LinearRegressionModel(input_dim=10, output_dim=1)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
加载模型状态字典:
使用torch.load()
函数加载模型的状态字典,并将其加载到模型中:
model.load_state_dict(torch.load('model.pth', map_location=device))
map_location
参数用于指定模型加载到的设备(CPU或GPU)。
验证模型: 加载模型后,你可以使用一些测试数据来验证模型的性能:
# 假设有一些测试数据
test_data = torch.randn(1, 10).to(device)
test_labels = torch.randn(1, 1).to(device)
# 使用模型进行预测
predictions = model(test_data)
print(predictions)
通过以上步骤,你可以在Ubuntu上使用PyTorch保存和加载模型。