Hey again.
I am guessing this is the same question as here.
But there you said you only want to check for the dog labels.
If you want to check for all cifar10 labels you could try something like this:
classes = ('plane', 'car', 'bird', 'cat',
'deer', 'dog', 'frog', 'horse', 'ship', 'truck')
num_label_lst = [0]*10
correct_lst = [0]*10
for images, labels in test_loader:
images = images.to(device)
labels = labels.to(device)
outputs = model(images)
_, predicted = torch.max(outputs.data, 1)
#go through all labels
for i, label in enumerate(labels):
for j in range(10):
#check with which cifar10 label it matches
if label == j:
#count up the counter for the number of occurrence for that label
num_label_lst[j] += 1
#check if the prediction is the same
if predicted[i] == j:
#count up the counter for the number of correct occurrences for that label
correct_lst[j] += 1
#no need to check the other cifar10 labels so break the inner loop
break
for label_index, correct in enumerate(correct_lst):
print(f"number of correct {classes[label_index]} labels: {correct}")
print(f"{classes[label_index]} classification accuracy: {100*correct/num_label_lst[label_index]:.2f}%")