阅读量:0
在Torch中进行模型评估通常需要使用验证集或测试集来评估模型的性能。下面是一个基本的示例来展示如何在Torch中进行模型评估:
import torch import torch.nn as nn import 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
函数来评估模型在验证集上的性能,并输出平均损失值。