diff --git a/yolov5/val.py b/yolov5/val.py
index d4073b42fe781ab3d3fa95d4d9d54159dc3e7f25..88e7454e2212997e93936d504bbc83f6a7bc8ab8 100755
--- a/yolov5/val.py
+++ b/yolov5/val.py
@@ -274,6 +274,8 @@ def run(
     stats = [torch.cat(x, 0).cpu().numpy() for x in zip(*stats)]  # to numpy
     if len(stats) and stats[0].any():
         tp, fp, p, r, f1, ap, ap_class = ap_per_class(*stats, plot=plots, save_dir=save_dir, names=names)
+        np.save(save_dir / 'class_tp.npy', tp)
+        np.save(save_dir / 'class_fp.npy', fp)
         ap50, ap = ap[:, 0], ap.mean(1)  # AP@0.5, AP@0.5:0.95
         mp, mr, map50, map = p.mean(), r.mean(), ap50.mean(), ap.mean()
     nt = np.bincount(stats[3].astype(int), minlength=nc)  # number of targets per class