facebookresearch / DensePose
Duplication

Places in code with 6 or more lines that are exactly the same.

Intro
  • For duplication, we look at places in code where there are 6 or more lines of code that are exactly the same.
  • Before duplication is calculated, the code is cleaned to remove empty lines, comments, and frequently duplicated constructs such as imports.
  • You should aim at having as little as possible (<5%) of duplicated code as high-level of duplication can lead to maintenance difficulties, poor factoring, and logical contradictions.
Learn more...
Duplication Overall
  • 21% duplication:
    • 12,829 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,792 duplicated lines
  • 286 duplicates
system21% (2,792 lines)
Duplication per Extension
py18% (2,020 lines)
yaml88% (678 lines)
cu20% (56 lines)
cmake3% (24 lines)
h36% (14 lines)
Duplication per Component (primary)
detectron/datasets29% (741 lines)
challenge/2019_COCO_DensePose80% (729 lines)
configs88% (618 lines)
detectron/modeling17% (433 lines)
detectron/ops13% (70 lines)
PoseTrack/configs98% (60 lines)
tools12% (48 lines)
detectron/utils1% (31 lines)
ROOT43% (14 lines)
cmake60% (12 lines)
cmake/legacy2% (12 lines)
detectron/roi_data1% (12 lines)
detectron/core<1% (12 lines)
detectron0% (0 lines)
challenge0% (0 lines)

Duplication Between Components (50+ lines)

G challenge/2019_COCO_DensePose challenge/2019_COCO_DensePose detectron/datasets detectron/datasets challenge/2019_COCO_DensePose--detectron/datasets 1331 PoseTrack/configs PoseTrack/configs configs configs PoseTrack/configs--configs 520

Download: SVG DOT (open online Graphviz editor)

Open 3D force graph...

Show more details on duplication between components...
Longest Duplicates
The list of 20 longest duplicates.
See data for all 286 duplicates...
Size#FoldersFilesLinesCode
247 x 2 challenge/2019_COCO_DensePose
detectron/datasets
densepose_cocoeval.py
densepose_cocoeval.py
734:1024 (27%)
490:780 (37%)
view
56 x 2 configs
configs
DensePose_ResNet101_FPN.yaml
DensePose_ResNet50_FPN.yaml
4:78 (94%)
4:78 (94%)
view
51 x 2 PoseTrack/configs
configs
DensePose_ResNet50_FPN_s1x-e2e.yaml
DensePose_ResNet50_FPN_s1x-e2e.yaml
1:70 (83%)
1:70 (83%)
view
51 x 2 challenge/2019_COCO_DensePose
detectron/datasets
densepose_cocoeval.py
densepose_cocoeval.py
1130:1185 (5%)
801:857 (7%)
view
50 x 2 challenge/2019_COCO_DensePose
detectron/datasets
densepose_cocoeval.py
densepose_cocoeval.py
152:218 (5%)
137:202 (7%)
view
47 x 2 challenge/2019_COCO_DensePose
detectron/datasets
densepose_cocoeval.py
densepose_cocoeval.py
450:505 (5%)
313:368 (7%)
view
44 x 2 configs
configs
DensePose_ResNet101_FPN_32x8d_s1x-e2e...
DensePose_ResNet101_FPN_32x8d_s1x.yaml
6:70 (66%)
5:69 (68%)
view
44 x 2 configs
configs
DensePose_ResNet50_FPN_s1x.yaml
DensePose_ResNet50_FPN_single_GPU.yaml
30:78 (74%)
30:78 (74%)
view
39 x 2 PoseTrack/configs
configs
DensePose_ResNet50_FPN_s1x-e2e.yaml
DensePose_ResNet50_FPN_s1x.yaml
6:63 (63%)
5:62 (66%)
view
39 x 2 PoseTrack/configs
configs
DensePose_ResNet50_FPN_s1x-e2e.yaml
DensePose_ResNet101_FPN_s1x-e2e.yaml
4:61 (63%)
4:61 (63%)
view
39 x 2 configs
configs
DensePose_ResNet101_FPN_s1x-e2e.yaml
DensePose_ResNet101_FPN_s1x.yaml
6:63 (63%)
5:62 (66%)
view
39 x 2 configs
configs
DensePose_ResNet50_FPN_s1x-e2e.yaml
DensePose_ResNet50_FPN_s1x.yaml
6:63 (63%)
5:62 (66%)
view
39 x 2 configs
configs
DensePose_ResNet101_FPN_s1x-e2e.yaml
DensePose_ResNet50_FPN_s1x-e2e.yaml
4:61 (63%)
4:61 (63%)
view
38 x 2 configs
configs
DensePose_ResNet101_FPN_s1x.yaml
DensePose_ResNet50_FPN_s1x.yaml
4:60 (64%)
4:60 (64%)
view
37 x 2 configs
configs
DensePose_ResNet101_FPN_s1x-e2e.yaml
DensePose_ResNet50_FPN_s1x.yaml
6:61 (60%)
5:60 (62%)
view
37 x 2 PoseTrack/configs
configs
DensePose_ResNet50_FPN_s1x-e2e.yaml
DensePose_ResNet101_FPN_s1x.yaml
6:61 (60%)
5:60 (62%)
view
37 x 2 configs
configs
DensePose_ResNet101_FPN_s1x.yaml
DensePose_ResNet50_FPN_s1x-e2e.yaml
5:60 (62%)
6:61 (60%)
view
34 x 2 challenge/2019_COCO_DensePose
detectron/datasets
densepose_cocoeval.py
densepose_cocoeval.py
1074:1111 (3%)
783:820 (5%)
view
32 x 2 challenge/2019_COCO_DensePose
detectron/datasets
densepose_cocoeval.py
densepose_cocoeval.py
324:359 (3%)
276:311 (4%)
view
28 x 2 PoseTrack/configs
configs
DensePose_ResNet50_FPN_s1x-e2e.yaml
DensePose_ResNet50_FPN.yaml
31:63 (45%)
30:62 (47%)
view
Duplicated Units
The list of top 11 duplicated units.
See data for all 11 unit duplicates...
Size#FoldersFilesLinesCode
98 x 2 detectron/datasets
challenge/2019_COCO_DensePose
densepose_cocoeval.py
densepose_cocoeval.py
0:0 
0:0 
view
96 x 2 detectron/datasets
challenge/2019_COCO_DensePose
densepose_cocoeval.py
densepose_cocoeval.py
0:0 
0:0 
view
41 x 2 detectron/datasets
challenge/2019_COCO_DensePose
densepose_cocoeval.py
densepose_cocoeval.py
0:0 
0:0 
view
36 x 2 detectron/datasets
challenge/2019_COCO_DensePose
densepose_cocoeval.py
densepose_cocoeval.py
0:0 
0:0 
view
25 x 2 detectron/datasets
challenge/2019_COCO_DensePose
densepose_cocoeval.py
densepose_cocoeval.py
0:0 
0:0 
view
30 x 2 detectron/datasets
challenge/2019_COCO_DensePose
densepose_cocoeval.py
densepose_cocoeval.py
0:0 
0:0 
view
11 x 2 detectron/datasets
challenge/2019_COCO_DensePose
densepose_cocoeval.py
densepose_cocoeval.py
0:0 
0:0 
view
9 x 2 detectron/modeling
detectron/modeling
ResNet.py
ResNet.py
0:0 
0:0 
view
9 x 2 detectron/datasets
challenge/2019_COCO_DensePose
densepose_cocoeval.py
densepose_cocoeval.py
0:0 
0:0 
view
9 x 2 detectron/datasets
challenge/2019_COCO_DensePose
densepose_cocoeval.py
densepose_cocoeval.py
0:0 
0:0 
view
6 x 2 detectron/datasets
detectron/datasets
json_dataset_evaluator.py
cityscapes_json_dataset_evaluator.py
0:0 
0:0 
view