facebookresearch / FixRes
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
  • 85% duplication:
    • 3,376 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,871 duplicated lines
  • 97 duplicates
system85% (2,871 lines)
Duplication per Extension
py85% (2,871 lines)
Duplication per Component (primary)
imnet_finetune92% (877 lines)
imnet_evaluate93% (788 lines)
imnet_extract95% (777 lines)
imnet_resnet50_scratch88% (261 lines)
ROOT35% (168 lines)

Duplication Between Components (50+ lines)

G imnet_evaluate imnet_evaluate imnet_extract imnet_extract imnet_evaluate--imnet_extract 1554 imnet_finetune imnet_finetune imnet_evaluate--imnet_finetune 1482 imnet_resnet50_scratch imnet_resnet50_scratch imnet_evaluate--imnet_resnet50_scratch 336 ROOT ROOT imnet_evaluate--ROOT 124 imnet_extract--imnet_finetune 1460 imnet_extract--imnet_resnet50_scratch 336 imnet_extract--ROOT 124 imnet_finetune--imnet_resnet50_scratch 538 imnet_finetune--ROOT 124 imnet_resnet50_scratch--ROOT 108

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 97 duplicates...
Size#FoldersFilesLinesCode
334 x 2 imnet_evaluate
imnet_finetune
pnasnet.py
pnasnet.py
7:414 (100%)
7:414 (100%)
view
304 x 2 imnet_extract
imnet_finetune
pnasnet.py
pnasnet.py
7:373 (91%)
7:373 (91%)
view
304 x 2 imnet_evaluate
imnet_extract
pnasnet.py
pnasnet.py
7:373 (91%)
7:373 (91%)
view
189 x 2 imnet_evaluate
imnet_finetune
Res.py
Res.py
12:302 (98%)
9:299 (100%)
view
157 x 2 imnet_evaluate
imnet_extract
Res.py
Res.py
7:215 (81%)
7:215 (81%)
view
154 x 2 imnet_extract
imnet_finetune
Res.py
Res.py
12:215 (80%)
9:212 (81%)
view
66 x 2 imnet_finetune
imnet_resnet50_scratch
samplers.py
samplers.py
15:100 (100%)
15:100 (100%)
view
66 x 2 imnet_extract
imnet_finetune
samplers.py
samplers.py
15:100 (100%)
15:100 (100%)
view
66 x 2 imnet_evaluate
imnet_resnet50_scratch
samplers.py
samplers.py
15:100 (100%)
15:100 (100%)
view
66 x 2 imnet_evaluate
imnet_finetune
samplers.py
samplers.py
15:100 (100%)
15:100 (100%)
view
66 x 2 imnet_evaluate
imnet_extract
samplers.py
samplers.py
15:100 (100%)
15:100 (100%)
view
66 x 2 imnet_extract
imnet_resnet50_scratch
samplers.py
samplers.py
15:100 (100%)
15:100 (100%)
view
59 x 2 imnet_finetune
imnet_resnet50_scratch
train.py
train.py
32:117 (23%)
21:105 (37%)
view
57 x 2 imnet_extract
imnet_resnet50_scratch
transforms.py
transforms.py
11:84 (100%)
14:87 (100%)
view
57 x 2 imnet_extract
imnet_finetune
transforms.py
transforms.py
11:84 (100%)
13:85 (100%)
view
57 x 2 imnet_finetune
imnet_resnet50_scratch
transforms.py
transforms.py
13:85 (100%)
14:87 (100%)
view
57 x 2 imnet_evaluate
imnet_finetune
transforms.py
transforms.py
12:85 (100%)
13:85 (100%)
view
57 x 2 imnet_evaluate
imnet_extract
transforms.py
transforms.py
12:85 (100%)
11:84 (100%)
view
57 x 2 imnet_evaluate
imnet_resnet50_scratch
transforms.py
transforms.py
12:85 (100%)
14:87 (100%)
view
52 x 2 imnet_evaluate
imnet_extract
train.py
train.py
79:160 (36%)
27:112 (44%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 45 unit duplicates...
Size#FoldersFilesLinesCode
46 x 3 imnet_evaluate
imnet_extract
imnet_finetune
pnasnet.py
pnasnet.py
pnasnet.py
0:0 
0:0 
0:0 
view
51 x 3 imnet_evaluate
imnet_extract
imnet_finetune
pnasnet.py
pnasnet.py
pnasnet.py
0:0 
0:0 
0:0 
view
46 x 3 imnet_evaluate
imnet_extract
imnet_finetune
Res.py
Res.py
Res.py
0:0 
0:0 
0:0 
view
35 x 3 imnet_evaluate
imnet_extract
imnet_finetune
transforms.py
transforms.py
transforms.py
0:0 
0:0 
0:0 
view
35 x 3 imnet_evaluate
imnet_extract
imnet_finetune
pnasnet.py
pnasnet.py
pnasnet.py
0:0 
0:0 
0:0 
view
22 x 3 imnet_evaluate
imnet_extract
imnet_finetune
pnasnet.py
pnasnet.py
pnasnet.py
0:0 
0:0 
0:0 
view
21 x 4 imnet_resnet50_scratch
imnet_evaluate
imnet_extract
imnet_finetune
samplers.py
samplers.py
samplers.py
samplers.py
0:0 
0:0 
0:0 
0:0 
view
25 x 3 imnet_evaluate
imnet_extract
imnet_finetune
pnasnet.py
pnasnet.py
pnasnet.py
0:0 
0:0 
0:0 
view
20 x 3 imnet_evaluate
imnet_extract
imnet_finetune
Res.py
Res.py
Res.py
0:0 
0:0 
0:0 
view
16 x 3 imnet_evaluate
imnet_extract
imnet_finetune
pnasnet.py
pnasnet.py
pnasnet.py
0:0 
0:0 
0:0 
view
16 x 3 imnet_evaluate
imnet_extract
imnet_finetune
Res.py
Res.py
Res.py
0:0 
0:0 
0:0 
view
15 x 3 imnet_evaluate
imnet_extract
imnet_finetune
pnasnet.py
pnasnet.py
pnasnet.py
0:0 
0:0 
0:0 
view
15 x 3 imnet_evaluate
imnet_extract
imnet_finetune
Res.py
Res.py
Res.py
0:0 
0:0 
0:0 
view
14 x 3 imnet_evaluate
imnet_extract
imnet_finetune
Res.py
Res.py
Res.py
0:0 
0:0 
0:0 
view
14 x 3 imnet_evaluate
imnet_extract
imnet_finetune
pnasnet.py
pnasnet.py
pnasnet.py
0:0 
0:0 
0:0 
view
13 x 4 imnet_resnet50_scratch
imnet_evaluate
imnet_extract
imnet_finetune
samplers.py
samplers.py
samplers.py
samplers.py
0:0 
0:0 
0:0 
0:0 
view
15 x 4 imnet_resnet50_scratch
imnet_evaluate
imnet_extract
imnet_finetune
samplers.py
samplers.py
samplers.py
samplers.py
0:0 
0:0 
0:0 
0:0 
view
12 x 2 imnet_evaluate
imnet_finetune
Res.py
Res.py
0:0 
0:0 
view
12 x 2 imnet_resnet50_scratch
imnet_finetune
train.py
train.py
0:0 
0:0 
view
12 x 4 imnet_resnet50_scratch
imnet_evaluate
imnet_extract
imnet_finetune
samplers.py
samplers.py
samplers.py
samplers.py
0:0 
0:0 
0:0 
0:0 
view