在PyTorch中,可以使用torch.utils.data.DataLoader
加载测试数据集,并调用模型的eval()
方法进入评估模式。然后使用测试数据集对模型进行推理,并计算模型的性能指标,如准确率、损失值等。
import torch
import torch.nn as nn
import torch.optim as optim
import torch.utils.data as data
# 加载测试数据集
test_dataset = MyDataset(data_path='test_data.pth')
test_loader = data.DataLoader(test_dataset, batch_size=64, shuffle=False)
# 加载模型
model = MyModel()
model.load_state_dict(torch.load('model.pth'))
model.eval()
criterion = nn.CrossEntropyLoss()
# 在测试数据集上进行推理
correct = 0
total = 0
total_loss = 0
with torch.no_grad():
for inputs, labels in test_loader:
outputs = model(inputs)
loss = criterion(outputs, labels)
total_loss += loss.item()
_, predicted = torch.max(outputs, 1)
total += labels.size(0)
correct += (predicted == labels).sum().item()
accuracy = correct / total
average_loss = total_loss / len(test_loader)
print(f'Accuracy: {accuracy}, Average Loss: {average_loss}')
除了计算准确率和损失值之外,还可以使用torch.utils.tensorboard
等工具来进行模型性能分析,例如可视化训练过程中的损失值和准确率的变化情况,以及模型的参数分布等。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: pytorch加速训练的梯度计算优化