update stat to classify papers (#348)

This commit is contained in:
congee 2021-01-14 14:20:02 +08:00 committed by GitHub
parent 49515e7e3c
commit 1c96a89472
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 8 deletions

View File

@ -2,7 +2,7 @@
## Introduction ## Introduction
[ALGORITHM] [OTHERS]
```latex ```latex
@article{micikevicius2017mixed, @article{micikevicius2017mixed,

View File

@ -1,10 +1,12 @@
#!/usr/bin/env python #!/usr/bin/env python
import functools as func
import glob import glob
import os.path as osp import os.path as osp
import re import re
import numpy as np
url_prefix = 'https://github.com/open-mmlab/mmsegmentation/blob/master/' url_prefix = 'https://github.com/open-mmlab/mmsegmentation/blob/master/'
titles_to_be_excluded = ['Mixed Precision Training']
files = sorted(glob.glob('../configs/*/README.md')) files = sorted(glob.glob('../configs/*/README.md'))
@ -18,29 +20,40 @@ for f in files:
with open(f, 'r') as content_file: with open(f, 'r') as content_file:
content = content_file.read() content = content_file.read()
title = content.split('\n')[0].replace('#', '') title = content.split('\n')[0].replace('#', '').strip()
if title.strip() in titles_to_be_excluded:
continue
ckpts = set(x.lower().strip() ckpts = set(x.lower().strip()
for x in re.findall(r'https?://download.*\.pth', content) for x in re.findall(r'https?://download.*\.pth', content)
if 'mmsegmentation' in x) if 'mmsegmentation' in x)
if len(ckpts) == 0: if len(ckpts) == 0:
continue continue
_papertype = [x for x in re.findall(r'\[([A-Z]+)\]', content)]
assert len(_papertype) > 0
papertype = _papertype[0]
paper = set([(papertype, title)])
titles.append(title) titles.append(title)
num_ckpts += len(ckpts) num_ckpts += len(ckpts)
statsmsg = f""" statsmsg = f"""
\t* [{title}]({url}) ({len(ckpts)} ckpts) \t* [{papertype}] [{title}]({url}) ({len(ckpts)} ckpts)
""" """
stats.append((title, ckpts, statsmsg)) stats.append((paper, ckpts, statsmsg))
allpapers = func.reduce(lambda a, b: a.union(b), [p for p, _, _ in stats])
msglist = '\n'.join(x for _, _, x in stats) msglist = '\n'.join(x for _, _, x in stats)
papertypes, papercounts = np.unique([t for t, _ in allpapers],
return_counts=True)
countstr = '\n'.join(
[f' - {t}: {c}' for t, c in zip(papertypes, papercounts)])
modelzoo = f""" modelzoo = f"""
# Model Zoo Statistics # Model Zoo Statistics
* Number of papers: {len(set(titles))} * Number of papers: {len(set(titles))}
{countstr}
* Number of checkpoints: {num_ckpts} * Number of checkpoints: {num_ckpts}
{msglist} {msglist}
""" """