Gil-Simas commited on
Commit
e62fa22
·
1 Parent(s): d63b569
Files changed (1) hide show
  1. user-friendly-metrics.py +9 -9
user-friendly-metrics.py CHANGED
@@ -15,6 +15,8 @@
15
  import datetime
16
  import os
17
 
 
 
18
  import datasets
19
  import evaluate
20
  from seametrics.user_friendly.utils import payload_to_uf_metrics, UFM
@@ -71,6 +73,7 @@ class UserFriendlyMetrics(evaluate.Metric):
71
  self.iou_threshold = iou_threshold
72
  self.filter_dict = filter_dict
73
  self.recognition_thresholds = recognition_thresholds
 
74
 
75
 
76
  def _info(self):
@@ -116,19 +119,14 @@ class UserFriendlyMetrics(evaluate.Metric):
116
 
117
  for sequence_predictions, sequence_references in zip(predictions, references):
118
 
119
- ufm = UFM(
120
- iou_threshold=self.iou_threshold,
121
- recognition_thresholds=self.recognition_thresholds
122
- )
123
-
124
- sequence_range_results = ufm.calculate(
125
  sequence_predictions,
126
  sequence_references[filter_range_name],
127
  )
128
 
129
  range_results = sum_dicts(range_results, sequence_range_results)
130
 
131
- results[filter_range_name] = ufm.realize_metrics(range_results, self.recognition_thresholds)
132
 
133
  return results
134
 
@@ -142,7 +140,9 @@ class UserFriendlyMetrics(evaluate.Metric):
142
  results[model_name] = {"overall": {}, "per_sequence": {}}
143
 
144
  # per-sequence loop
145
- for seq_name, sequence in payload.sequences.items():
 
 
146
  # create new payload only with specific sequence and model
147
  sequence_payload = Payload(
148
  dataset=payload.dataset,
@@ -150,7 +150,7 @@ class UserFriendlyMetrics(evaluate.Metric):
150
  models=[model_name],
151
  sequences={seq_name: sequence}
152
  )
153
-
154
  predictions, references = payload_to_uf_metrics(payload, model_name=model_name, filter_dict=self.filter_dict)
155
 
156
  results[model_name]["per_sequence"][seq_name] = self._compute(predictions=predictions, references=references)
 
15
  import datetime
16
  import os
17
 
18
+ from tqdm import tqdm
19
+
20
  import datasets
21
  import evaluate
22
  from seametrics.user_friendly.utils import payload_to_uf_metrics, UFM
 
73
  self.iou_threshold = iou_threshold
74
  self.filter_dict = filter_dict
75
  self.recognition_thresholds = recognition_thresholds
76
+ self.metric = UFM(iou_threshold, recognition_thresholds)
77
 
78
 
79
  def _info(self):
 
119
 
120
  for sequence_predictions, sequence_references in zip(predictions, references):
121
 
122
+ sequence_range_results = self.metric.calculate(
 
 
 
 
 
123
  sequence_predictions,
124
  sequence_references[filter_range_name],
125
  )
126
 
127
  range_results = sum_dicts(range_results, sequence_range_results)
128
 
129
+ results[filter_range_name] = self.metric.realize_metrics(range_results, self.recognition_thresholds)
130
 
131
  return results
132
 
 
140
  results[model_name] = {"overall": {}, "per_sequence": {}}
141
 
142
  # per-sequence loop
143
+ progress_bar = tqdm(payload.sequences.items())
144
+ for seq_name, sequence in progress_bar:
145
+ progress_bar.set_description(f"Getting sequence payload: {seq_name}")
146
  # create new payload only with specific sequence and model
147
  sequence_payload = Payload(
148
  dataset=payload.dataset,
 
150
  models=[model_name],
151
  sequences={seq_name: sequence}
152
  )
153
+ progress_bar.set_description(f"Processing sequence: {seq_name}")
154
  predictions, references = payload_to_uf_metrics(payload, model_name=model_name, filter_dict=self.filter_dict)
155
 
156
  results[model_name]["per_sequence"][seq_name] = self._compute(predictions=predictions, references=references)