在PyTorch中,可以使用torch.utils.data.DataLoader
加载测试数据集,并调用模型的eval()
方法进入评估模式。然后使用测试数据集对模型进行推理,并计算模型的性能指标,如准确率、损失值等。
importtorch
importtorch.nnasnn
importtorch.optimasoptim
importtorch.utils.dataasdata
#加载测试数据集
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
withtorch.no_grad():
forinputs,labelsintest_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},AverageLoss:{average_loss}')
除了计算准确率和损失值之外,还可以使用torch.utils.tensorboard
等工具来进行模型性能分析,例如可视化训练过程中的损失值和准确率的变化情况,以及模型的参数分布等。