in meshrcnn/utils/vis.py [0:0]
def print_instances_class_histogram(num_instances, class_names, results):
"""
Args:
num_instances (list): list of dataset dicts.
class_names (list): list of class_names
"""
num_classes = len(class_names)
N_COLS = 5
data = list(
itertools.chain(
*[
[
class_names[i],
int(v),
results["box_ap@0.5 - %s" % (class_names[i])],
results["mask_ap@0.5 - %s" % (class_names[i])],
results["mesh_ap@0.5 - %s" % (class_names[i])],
]
for i, v in enumerate(num_instances)
]
)
)
total_num_instances = sum(data[1::5])
data.extend([None] * (N_COLS - (len(data) % N_COLS)))
data.extend(
[
"total",
total_num_instances,
results["box_ap@0.5"],
results["mask_ap@0.5"],
results["mesh_ap@0.5"],
]
)
data = itertools.zip_longest(*[data[i::N_COLS] for i in range(N_COLS)])
table = tabulate(
data,
headers=["category", "#instances", "boxAP", "maskAP", "meshAP"] * (N_COLS // 2),
tablefmt="pipe",
numalign="left",
stralign="center",
)
print(
"Distribution of testing instances among all {} categories:\n".format(num_classes)
+ colored(table, "cyan")
)