MCPcopy Index your code
hub / github.com/geekcomputers/Python / test_class_accuracy

Method test_class_accuracy

ML/tests/test_model.py:118–147  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

116 print(f" {i}. {self.classes[idx]:15s} {prob:.2%}")
117
118 def test_class_accuracy(self):
119 print("\nCalculating per-class accuracy...")
120 print("-" * 60)
121
122 class_correct = [0] * len(self.classes)
123 class_total = [0] * len(self.classes)
124
125 with torch.no_grad():
126 for i, (image, label) in enumerate(self.dataset):
127 pred_class, _, _, _ = self.predict_image(image)
128 class_total[label] += 1
129 if pred_class == label:
130 class_correct[label] += 1
131
132 if (i + 1) % 100 == 0:
133 print(f"Processed {i + 1}/{len(self.dataset)} samples...", end='\r')
134
135 print(" " * 60, end='\r')
136 print("Per-class Accuracy:")
137
138 overall_correct = sum(class_correct)
139 overall_total = sum(class_total)
140
141 for i, class_name in enumerate(self.classes):
142 if class_total[i] > 0:
143 acc = 100.0 * class_correct[i] / class_total[i]
144 print(f" {class_name:15s}: {acc:5.1f}% ({class_correct[i]}/{class_total[i]})")
145
146 print("-" * 60)
147 print(f"Overall Accuracy: {100.0 * overall_correct / overall_total:.2f}% ({overall_correct}/{overall_total})")
148
149 def test_custom_image(self, image_path):
150 if not os.path.exists(image_path):

Callers 2

interactive_modeMethod · 0.95
mainFunction · 0.95

Calls 1

predict_imageMethod · 0.95

Tested by

no test coverage detected