Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ModelZoo
SOLOv2-pytorch
Commits
96baa10f
Commit
96baa10f
authored
Nov 05, 2019
by
Korabelnikov Aleks
Committed by
Kai Chen
Nov 05, 2019
Browse files
Update mean_ap.py (#1614)
Add print of area range to each metric table. Now metrics are looking better.
parent
82c533be
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
2 deletions
+8
-2
mmdet/core/evaluation/mean_ap.py
mmdet/core/evaluation/mean_ap.py
+8
-2
No files found.
mmdet/core/evaluation/mean_ap.py
View file @
96baa10f
...
@@ -325,21 +325,25 @@ def eval_map(det_results,
...
@@ -325,21 +325,25 @@ def eval_map(det_results,
aps
.
append
(
cls_result
[
'ap'
])
aps
.
append
(
cls_result
[
'ap'
])
mean_ap
=
np
.
array
(
aps
).
mean
().
item
()
if
aps
else
0.0
mean_ap
=
np
.
array
(
aps
).
mean
().
item
()
if
aps
else
0.0
if
print_summary
:
if
print_summary
:
print_map_summary
(
mean_ap
,
eval_results
,
dataset
)
print_map_summary
(
mean_ap
,
eval_results
,
dataset
,
area_ranges
)
return
mean_ap
,
eval_results
return
mean_ap
,
eval_results
def
print_map_summary
(
mean_ap
,
results
,
dataset
=
None
):
def
print_map_summary
(
mean_ap
,
results
,
dataset
=
None
,
ranges
=
None
):
"""Print mAP and results of each class.
"""Print mAP and results of each class.
Args:
Args:
mean_ap(float): calculated from `eval_map`
mean_ap(float): calculated from `eval_map`
results(list): calculated from `eval_map`
results(list): calculated from `eval_map`
dataset(None or str or list): dataset name or dataset classes.
dataset(None or str or list): dataset name or dataset classes.
ranges(list or Tuple): ranges of areas
"""
"""
num_scales
=
len
(
results
[
0
][
'ap'
])
if
isinstance
(
results
[
0
][
'ap'
],
num_scales
=
len
(
results
[
0
][
'ap'
])
if
isinstance
(
results
[
0
][
'ap'
],
np
.
ndarray
)
else
1
np
.
ndarray
)
else
1
if
ranges
is
not
None
:
assert
len
(
ranges
)
==
num_scales
num_classes
=
len
(
results
)
num_classes
=
len
(
results
)
recalls
=
np
.
zeros
((
num_scales
,
num_classes
),
dtype
=
np
.
float32
)
recalls
=
np
.
zeros
((
num_scales
,
num_classes
),
dtype
=
np
.
float32
)
...
@@ -365,6 +369,8 @@ def print_map_summary(mean_ap, results, dataset=None):
...
@@ -365,6 +369,8 @@ def print_map_summary(mean_ap, results, dataset=None):
mean_ap
=
[
mean_ap
]
mean_ap
=
[
mean_ap
]
header
=
[
'class'
,
'gts'
,
'dets'
,
'recall'
,
'precision'
,
'ap'
]
header
=
[
'class'
,
'gts'
,
'dets'
,
'recall'
,
'precision'
,
'ap'
]
for
i
in
range
(
num_scales
):
for
i
in
range
(
num_scales
):
if
ranges
is
not
None
:
print
(
"Area range "
,
ranges
[
i
])
table_data
=
[
header
]
table_data
=
[
header
]
for
j
in
range
(
num_classes
):
for
j
in
range
(
num_classes
):
row_data
=
[
row_data
=
[
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment