在Torch中进行模型评估通常需要使用验证集或测试集来评估模型的性能。下面是一个基本的示例来展示如何在Torch中进行模型评估:
import torchimport torch.nn as nnimport torch.optim as optim# 定义模型class SimpleModel(nn.Module): def __init__(self): super(SimpleModel, self).__init__() self.fc = nn.Linear(10, 1) def forward(self, x): return self.fc(x)# 创建模型实例model = SimpleModel()# 加载训练好的模型参数model.load_state_dict(torch.load('model.pth'))# 定义评估函数def evaluate(model, dataloader, criterion): model.eval() total_loss = 0.0 total_samples = 0 with torch.no_grad(): for inputs, targets in dataloader: outputs = model(inputs) loss = criterion(outputs, targets) total_loss += loss.item() * inputs.size(0) total_samples += inputs.size(0) avg_loss = total_loss / total_samples return avg_loss# 创建验证集的数据加载器val_dataloader = ...# 定义损失函数criterion = nn.MSELoss()# 计算模型在验证集上的平均损失avg_val_loss = evaluate(model, val_dataloader, criterion)print('Average validation loss:', avg_val_loss)在上面的示例中,首先定义了一个简单的模型SimpleModel,然后加载了预训练好的模型参数。接着定义了评估函数evaluate来计算模型在验证集上的平均损失。最后,通过调用evaluate函数来评估模型在验证集上的性能,并输出平均损失值。




