I am using detectron2 and pytorch for doing a custom object detection (Mask RCNN). Evaluation result So, above image is the evaluation result for my training. How to code for the accuracy, precision, F1 score and confusion matrix? The training code I take from https://github.com/ahmad12hamdan99/Rovers_vs_Cars/blob/main/detectron2.ipynb
Below I show example code of training, also get from above link
trainer = DefaultTrainer(cfg)
trainer.resume_or_load(resume=False)
trainer.train()
# Look at training curves in tensorboard:
%reload_ext tensorboard
%tensorboard --logdir $OUTPUT_DIR_PATH
cfg.MODEL.WEIGHTS = os.path.join(cfg.OUTPUT_DIR,
"model_final.pth")
cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.7
predictor = DefaultPredictor(cfg)
dataset_valid = DatasetCatalog.get(VALID_DATA_SET_NAME)
for d in dataset_valid:
img = cv2.imread(d["file_name"])
outputs = predictor(img)
visualizer = Visualizer(
img[:, :, ::-1],
metadata=metadata,
scale=0.8,
instance_mode=ColorMode.IMAGE_BW
)
out =
visualizer.draw_instance_predictions(outputs["instances"].
to("cpu"))cv2_imshow(out.get_image()[:, :, ::-1])
from detectron2.evaluation import COCOEvaluator,
inference_on_dataset
from detectron2.data import build_detection_test_loader
evaluator = COCOEvaluator("Segmentation-test",
output_dir=cfg.OUTPUT_DIR)
val_loader = build_detection_test_loader(cfg, "Segmentation-test")
print(inference_on_dataset(predictor.model, val_loader, evaluator))