facebookresearch / eft
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
  • 65% duplication:
    • 21,059 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 13,789 duplicated lines
  • 1,529 duplicates
system65% (13,789 lines)
Duplication per Extension
py65% (13,789 lines)
Duplication per Component (primary)
eft/db_processing58% (2,370 lines)
eft/apps89% (2,052 lines)
eft/train93% (1,996 lines)
renderer36% (1,453 lines)
bodymocap/train97% (1,327 lines)
eft/datasets55% (1,146 lines)
bodymocap/utils86% (916 lines)
eft/utils93% (855 lines)
bodymocap/apps95% (844 lines)
bodymocap/models28% (269 lines)
eft/cores51% (204 lines)
bodymocap/core67% (178 lines)
eft/models86% (137 lines)
eft/smplify9% (42 lines)
renderer/shaders0% (0 lines)
bodymocap0% (0 lines)

Duplication Between Components (50+ lines)

G bodymocap/train bodymocap/train eft/train eft/train bodymocap/train--eft/train 3150 bodymocap/apps bodymocap/apps eft/apps eft/apps bodymocap/apps--eft/apps 2751 bodymocap/utils bodymocap/utils eft/utils eft/utils bodymocap/utils--eft/utils 1771 bodymocap/core bodymocap/core eft/cores eft/cores bodymocap/core--eft/cores 366 bodymocap/models bodymocap/models eft/models eft/models bodymocap/models--eft/models 274

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 1,529 duplicates...
Size#FoldersFilesLinesCode
312 x 2 bodymocap/train
eft/train
trainer.py
trainer.py
45:617 (99%)
44:616 (100%)
view
275 x 2 bodymocap/train
eft/train
trainer.py
ddp_trainer.py
105:617 (87%)
154:666 (80%)
view
275 x 2 eft/train
eft/train
ddp_trainer.py
trainer.py
154:666 (80%)
104:616 (88%)
view
260 x 2 bodymocap/train
eft/train
eftFitter.py
eftFitter.py
514:1010 (26%)
794:1292 (26%)
view
213 x 2 bodymocap/utils
eft/utils
imutils.py
imutils.py
304:760 (59%)
324:780 (65%)
view
167 x 2 bodymocap/apps
eft/apps
eval.py
eval_multicrop.py
181:438 (55%)
194:452 (52%)
view
147 x 2 eft/apps
eft/apps
evalfrompkl_frankmocap.py
evalfrompkl_hmr.py
437:683 (37%)
389:633 (40%)
view
141 x 2 bodymocap/apps
eft/apps
evalfrompkl.py
evalfrompkl_hmr.py
287:503 (42%)
328:545 (38%)
view
138 x 2 eft/apps
eft/apps
evalfrompkl.py
evalfrompkl_hmr.py
39:262 (37%)
40:262 (38%)
view
138 x 2 eft/apps
eft/apps
evalfrompkl.py
evalfrompkl_hmr.py
410:635 (37%)
408:633 (38%)
view
138 x 2 eft/apps
eft/apps
evalfrompkl.py
evalfrompkl_frankmocap.py
410:635 (37%)
458:683 (35%)
view
127 x 2 bodymocap/train
eft/train
eftFitter.py
eftFitter.py
1037:1263 (13%)
1320:1550 (12%)
view
126 x 2 eft/apps
eft/apps
eval.py
eval_multicrop.py
300:484 (38%)
276:459 (39%)
view
120 x 2 bodymocap/apps
eft/apps
eval.py
eval.py
264:438 (39%)
300:476 (36%)
view
120 x 2 eft/apps
eft/apps
evalfrompkl_frankmocap.py
evalfrompkl_hmr.py
130:321 (31%)
90:281 (33%)
view
115 x 2 bodymocap/apps
bodymocap/apps
eval.py
evalfrompkl.py
167:346 (38%)
295:476 (34%)
view
115 x 2 bodymocap/apps
eft/apps
eval.py
evalfrompkl_hmr.py
167:346 (38%)
337:518 (31%)
view
112 x 2 eft/db_processing
eft/db_processing
AMT_sample_gen.py
AMT_sample_gen.py
688:867 (13%)
1003:1182 (13%)
view
105 x 2 eft/apps
eft/apps
eval_multicrop.py
evalfrompkl_hmr.py
194:358 (33%)
353:518 (28%)
view
105 x 2 bodymocap/apps
eft/apps
evalfrompkl.py
eval_multicrop.py
311:476 (31%)
194:358 (33%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 90 unit duplicates...
Size#FoldersFilesLinesCode
304 x 3 bodymocap/train
eft/train
eft/train
trainer.py
ddp_trainer.py
trainer.py
0:0 
0:0 
0:0 
view
248 x 2 bodymocap/train
eft/train
eftFitter.py
eftFitter.py
0:0 
0:0 
view
105 x 2 bodymocap/train
eft/train
eftFitter.py
eftFitter.py
0:0 
0:0 
view
93 x 3 eft/db_processing
eft/db_processing
eft/db_processing
pennaction.py
posetrack.py
posetrack_mz.py
0:0 
0:0 
0:0 
view
62 x 3 eft/db_processing
eft/db_processing
eft/db_processing
pennaction_mz.py
posetrack_mz.py
mpii3d.py
0:0 
0:0 
0:0 
view
44 x 2 bodymocap/utils
eft/utils
smpl_utils.py
smpl_utils.py
0:0 
0:0 
view
37 x 2 bodymocap/models
eft/models
hmr.py
hmr.py
0:0 
0:0 
view
46 x 2 bodymocap/train
eft/train
trainer.py
trainer.py
0:0 
0:0 
view
37 x 2 renderer
renderer
viewer2D.py
viewer2D.py
0:0 
0:0 
view
35 x 2 renderer
renderer
viewer2D.py
viewer2D.py
0:0 
0:0 
view
38 x 2 bodymocap/utils
eft/utils
train_options.py
train_options.py
0:0 
0:0 
view
40 x 2 bodymocap/utils
eft/utils
imutils.py
imutils.py
0:0 
0:0 
view
34 x 2 eft/db_processing
eft/db_processing
coco.py
coco-wholebody.py
0:0 
0:0 
view
47 x 2 bodymocap/utils
eft/utils
smpl_utils.py
smpl_utils.py
0:0 
0:0 
view
39 x 2 bodymocap/utils
eft/utils
imutils.py
imutils.py
0:0 
0:0 
view
38 x 2 bodymocap/utils
eft/utils
imutils.py
imutils.py
0:0 
0:0 
view
36 x 2 eft/db_processing
eft/db_processing
panopticdb_seq.py
panopticdb.py
0:0 
0:0 
view
33 x 2 bodymocap/utils
eft/utils
smpl_utils.py
smpl_utils.py
0:0 
0:0 
view
39 x 2 bodymocap/utils
eft/utils
pose_utils.py
pose_utils.py
0:0 
0:0 
view
24 x 2 bodymocap/utils
bodymocap/utils
imutils.py
bbox_utils.py
0:0 
0:0 
view