MCPcopy Index your code
hub / github.com/Breakthrough/PySceneDetect / evaluate_performance

Method evaluate_performance

benchmark/evaluator.py:14–37  ·  view source on GitHub ↗
(self, pred_scenes)

Source from the content-addressed store, hash-verified

12 return gt_scene_list
13
14 def evaluate_performance(self, pred_scenes):
15 total_correct = 0
16 total_pred = 0
17 total_gt = 0
18 assert pred_scenes
19
20 for scene_file, pred in pred_scenes.items():
21 gt_scene_list = self._load_scenes(scene_file)
22 pred_list = pred["pred_scenes"]
23 total_correct += len(set(pred_list) & set(gt_scene_list))
24 total_pred += len(pred_list)
25 total_gt += len(gt_scene_list)
26
27 recall = total_correct / total_gt
28 precision = total_correct / total_pred if total_pred != 0 else 0
29 f1 = 2 * recall * precision / (recall + precision) if (recall + precision) != 0 else 0
30 avg_elapsed = mean([x["elapsed"] for x in pred_scenes.values()])
31 result = {
32 "recall": recall * 100,
33 "precision": precision * 100,
34 "f1": f1 * 100,
35 "elapsed": avg_elapsed,
36 }
37 return result

Callers 2

_detect_scenesFunction · 0.80
run_benchmarkFunction · 0.80

Calls 1

_load_scenesMethod · 0.95

Tested by

no test coverage detected