Skip to content

Commit e761bee

Browse files
authored
AC: handle undefined values for detection report (#2698)
* AC: handl undefined values for detection report * Update tools/accuracy_checker/accuracy_checker/metrics/detection.py * Update tools/accuracy_checker/accuracy_checker/metrics/detection.py
1 parent aa01971 commit e761bee

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

tools/accuracy_checker/accuracy_checker/metrics/coco_metrics.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -196,10 +196,10 @@ def prepare_summary(label_stats):
196196
lamrs.append(lamr)
197197
total_objects_cnt += len(recall[-1])
198198
per_class_summary[label_idx] = {
199-
'precision': precision_v_,
200-
'recall': recall_v_,
201-
'result': precision_v_,
202-
'ap': ap_v,
199+
'precision': precision_v_ if not np.isnan(precision_v_) else -1,
200+
'result': precision_v_ if not np.isnan(precision_v_) else -1,
201+
'recall': recall_v_ if not np.isnan(recall_v_) else -1,
202+
'ap': ap_v if not np.isnan(ap_v) else -1,
203203
"scale": 100,
204204
"result_postfix": "%",
205205
'objects_count': len(recall[-1]),
@@ -214,10 +214,10 @@ def prepare_summary(label_stats):
214214
precision_res = np.nanmean(precision_v)
215215
return {
216216
'summary_result': {
217-
'result': precision_res,
218-
'precision': precision_res,
219-
'recall': recall_res,
220-
'ap': ap_res,
217+
'result': precision_res if not np.isnan(precision_res) else -1,
218+
'precision': precision_res if not np.isnan(precision_res) else -1,
219+
'recall': recall_res if not np.isnan(recall_res) else -1,
220+
'ap': ap_res if not np.isnan(ap_res) else -1,
221221
'result_scale': 100,
222222
'result_postfix': '%',
223223
'charts': {

tools/accuracy_checker/accuracy_checker/metrics/detection.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,9 +232,9 @@ def prepare_summary(label_stats):
232232
continue
233233
ap.append(stat['result'])
234234
recall.append(stat['recall'])
235-
recall_v.append(recall[-1][-1])
235+
recall_v.append(recall[-1][-1] if np.size(recall[-1]) else np.NAN)
236236
precision.append(stat['precision'])
237-
precision_v.append(precision[-1][-1])
237+
precision_v.append(precision[-1][-1] if np.size(precision[-1]) else np.NAN)
238238
fppi = 1 - precision[-1]
239239
mr = stat['miss_rate']
240240
if np.size(recall[-1]) and np.size(precision[-1]):
@@ -260,9 +260,9 @@ def prepare_summary(label_stats):
260260
lamrs.append(lamr)
261261
total_objects_cnt += len(recall[-1])
262262
per_class_summary[label_idx] = {
263-
'precision': precision[-1][-1],
264-
'recall': recall[-1][-1],
265-
'result': ap[-1],
263+
'precision': precision[-1][-1] if np.size(precision[-1]) else -1,
264+
'recall': recall[-1][-1] if np.size(recall[-1]) else -1,
265+
'result': ap[-1] if not np.isnan(ap[-1]) else -1,
266266
"scale": 100,
267267
"result_postfix": "%",
268268
'objects_count': len(recall[-1]),

0 commit comments

Comments
 (0)