Python 如何使用Pytork打印出每个类的预测精度?
我正试图使用PyTorch打印出基于官方教程的每个类的预测精度 但事情似乎出了问题。我的代码打算执行以下工作:Python 如何使用Pytork打印出每个类的预测精度?,python,machine-learning,computer-vision,pytorch,Python,Machine Learning,Computer Vision,Pytorch,我正试图使用PyTorch打印出基于官方教程的每个类的预测精度 但事情似乎出了问题。我的代码打算执行以下工作: for epoch in range(num_epochs): # Each epoch has a training and validation phase for phase in ['train', 'val']: ... (this is given by the tutorial) (my code) class_
for epoch in range(num_epochs):
# Each epoch has a training and validation phase
for phase in ['train', 'val']:
... (this is given by the tutorial)
(my code)
class_correct = list(0. for i in range(3))
class_total = list(0. for i in range(3))
for data in dataloaders['val']:
images, labels = data
outputs = model(inputs)
_, predicted = torch.max(outputs.data, 1)
c = (predicted == labels.data).squeeze()
for i in range(4):
label = labels.data[i]
class_correct[label] += c[i]
class_total[label] += 1
for i in range(3):
print('Accuracy of {} : {} / {} = {:.4f} %'.format(i,
class_correct[i], class_total[i], 100 * class_correct[i].item() /
class_total[i]))
print(file = f)
print()
例如,历元1/1的输出为:
我认为应该满足以下等式:
运行_校正:=2+2
但事情并不像我想的那样发生
怎么了?
希望有人能指出我的错误,并教我如何正确地做到这一点
谢谢 最后,我解决了这个问题。首先,我比较了两个模型的参数,发现它们是相同的。所以我确认模型是一样的。然后,我检查了两个输入,惊奇地发现它们是不同的 所以我仔细检查了两个模型的输入,答案是传递给第二个模型的参数没有更新 代码: 改为:
for data in dataloaders['val']:
inputs, labels = data
outputs = model(inputs)
完成了
for data in dataloaders['val']:
inputs, labels = data
outputs = model(inputs)