facebookresearch / Detectron
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
  • 31% duplication:
    • 14,464 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,521 duplicated lines
  • 3,517 duplicates
system31% (4,521 lines)
Duplication per Extension
yaml98% (3,714 lines)
py7% (685 lines)
cmake16% (122 lines)
Duplication per Component (primary)
configs/12_2017_baselines98% (3,244 lines)
detectron/modeling18% (433 lines)
configs/04_2018_gn_baselines100% (363 lines)
configs/getting_started72% (107 lines)
detectron/datasets6% (103 lines)
cmake/legacy14% (96 lines)
tools5% (71 lines)
detectron/utils1% (40 lines)
cmake76% (26 lines)
ROOT43% (14 lines)
detectron/roi_data1% (12 lines)
detectron/core1% (12 lines)
detectron0% (0 lines)
detectron/ops0% (0 lines)

Duplication Between Components (50+ lines)

G configs/04_2018_gn_baselines configs/04_2018_gn_baselines configs/12_2017_baselines configs/12_2017_baselines configs/04_2018_gn_baselines--configs/12_2017_baselines 1266 configs/getting_started configs/getting_started configs/12_2017_baselines--configs/getting_started 555 cmake cmake cmake/legacy cmake/legacy cmake--cmake/legacy 122

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 3,517 duplicates...
Size#FoldersFilesLinesCode
49 x 2 configs/04_2018_gn_baselines
configs/04_2018_gn_baselines
scratch_e2e_mask_rcnn_R-101-FPN_3x_gn...
scratch_e2e_mask_rcnn_R-50-FPN_3x_gn....
4:53 (94%)
4:53 (94%)
view
42 x 2 configs/12_2017_baselines
configs/12_2017_baselines
keypoint_rcnn_X-101-64x4d-FPN_1x.yaml
keypoint_rcnn_X-101-64x4d-FPN_s1x.yaml
14:56 (76%)
14:56 (76%)
view
42 x 2 configs/12_2017_baselines
configs/12_2017_baselines
e2e_keypoint_rcnn_X-101-32x8d-FPN_1x....
e2e_keypoint_rcnn_X-101-32x8d-FPN_s1x...
15:56 (75%)
15:56 (75%)
view
42 x 2 configs/12_2017_baselines
configs/12_2017_baselines
e2e_keypoint_rcnn_X-101-64x4d-FPN_1x....
e2e_keypoint_rcnn_X-101-64x4d-FPN_s1x...
15:57 (75%)
15:57 (75%)
view
42 x 2 configs/12_2017_baselines
configs/12_2017_baselines
keypoint_rcnn_X-101-32x8d-FPN_1x.yaml
keypoint_rcnn_X-101-32x8d-FPN_s1x.yaml
14:55 (76%)
14:55 (76%)
view
39 x 2 configs/12_2017_baselines
configs/12_2017_baselines
e2e_keypoint_rcnn_X-101-64x4d-FPN_s1x...
keypoint_rcnn_X-101-64x4d-FPN_s1x.yaml
6:45 (69%)
5:44 (70%)
view
39 x 2 configs/12_2017_baselines
configs/12_2017_baselines
e2e_keypoint_rcnn_X-101-64x4d-FPN_1x....
keypoint_rcnn_X-101-64x4d-FPN_1x.yaml
6:45 (69%)
5:44 (70%)
view
39 x 2 configs/12_2017_baselines
configs/12_2017_baselines
e2e_keypoint_rcnn_X-101-32x8d-FPN_s1x...
keypoint_rcnn_X-101-32x8d-FPN_s1x.yaml
6:44 (69%)
5:43 (70%)
view
39 x 2 configs/12_2017_baselines
configs/12_2017_baselines
e2e_keypoint_rcnn_X-101-32x8d-FPN_1x....
keypoint_rcnn_X-101-32x8d-FPN_1x.yaml
6:44 (69%)
5:43 (70%)
view
38 x 2 configs/04_2018_gn_baselines
configs/04_2018_gn_baselines
e2e_mask_rcnn_R-101-FPN_2x_gn.yaml
e2e_mask_rcnn_R-101-FPN_3x_gn.yaml
15:52 (73%)
15:52 (73%)
view
38 x 2 configs/12_2017_baselines
configs/12_2017_baselines
e2e_mask_rcnn_X-101-32x8d-FPN_1x.yaml
e2e_mask_rcnn_X-101-32x8d-FPN_2x.yaml
16:53 (73%)
16:53 (73%)
view
38 x 2 configs/12_2017_baselines
configs/12_2017_baselines
mask_rcnn_X-101-32x8d-FPN_1x.yaml
mask_rcnn_X-101-32x8d-FPN_2x.yaml
15:52 (74%)
15:52 (74%)
view
38 x 2 configs/12_2017_baselines
configs/12_2017_baselines
e2e_mask_rcnn_X-101-64x4d-FPN_1x.yaml
e2e_mask_rcnn_X-101-64x4d-FPN_2x.yaml
16:54 (73%)
16:54 (73%)
view
38 x 2 configs/04_2018_gn_baselines
configs/04_2018_gn_baselines
e2e_mask_rcnn_R-50-FPN_2x_gn.yaml
e2e_mask_rcnn_R-50-FPN_3x_gn.yaml
15:52 (73%)
15:52 (73%)
view
38 x 2 configs/04_2018_gn_baselines
configs/04_2018_gn_baselines
e2e_mask_rcnn_R-50-FPN_3x_gn.yaml
scratch_e2e_mask_rcnn_R-50-FPN_3x_gn....
1:38 (73%)
1:38 (73%)
view
38 x 2 configs/12_2017_baselines
configs/12_2017_baselines
mask_rcnn_X-101-64x4d-FPN_1x.yaml
mask_rcnn_X-101-64x4d-FPN_2x.yaml
15:53 (74%)
15:53 (74%)
view
38 x 2 configs/04_2018_gn_baselines
configs/04_2018_gn_baselines
e2e_mask_rcnn_R-101-FPN_3x_gn.yaml
scratch_e2e_mask_rcnn_R-101-FPN_3x_gn...
1:38 (73%)
1:38 (73%)
view
37 x 2 configs/12_2017_baselines
configs/12_2017_baselines
e2e_keypoint_rcnn_R-50-FPN_1x.yaml
e2e_keypoint_rcnn_R-50-FPN_s1x.yaml
15:51 (72%)
15:51 (72%)
view
37 x 2 configs/12_2017_baselines
configs/12_2017_baselines
keypoint_rcnn_R-101-FPN_1x.yaml
keypoint_rcnn_R-101-FPN_s1x.yaml
14:50 (74%)
14:50 (74%)
view
37 x 2 configs/12_2017_baselines
configs/12_2017_baselines
keypoint_rcnn_R-50-FPN_1x.yaml
keypoint_rcnn_R-50-FPN_s1x.yaml
14:50 (74%)
14:50 (74%)
view
Duplicated Units
The list of top 2 duplicated units.
See data for all 2 unit duplicates...
Size#FoldersFilesLinesCode
9 x 2 detectron/modeling
detectron/modeling
ResNet.py
ResNet.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