apple / learning-subspaces
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
  • 56% duplication:
    • 5,411 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 3,033 duplicated lines
  • 585 duplicates
system56% (3,033 lines)
Duplication per Extension
py56% (3,033 lines)
Duplication per Component (primary)
models58% (752 lines)
trainers51% (647 lines)
experiment_configs/cifar1097% (465 lines)
experiment_configs/tinyimagenet95% (465 lines)
experiment_configs/imagenet94% (292 lines)
analyze_results/tinyimagenet71% (112 lines)
analyze_results/cifar89% (94 lines)
data47% (90 lines)
ROOT9% (69 lines)
viz11% (47 lines)

Duplication Between Components (50+ lines)

G experiment_configs/cifar10 experiment_configs/cifar10 experiment_configs/tinyimagenet experiment_configs/tinyimagenet experiment_configs/cifar10--experiment_configs/tinyimagenet 747 experiment_configs/imagenet experiment_configs/imagenet experiment_configs/cifar10--experiment_configs/imagenet 412 experiment_configs/imagenet--experiment_configs/tinyimagenet 408 analyze_results/cifar analyze_results/cifar analyze_results/tinyimagenet analyze_results/tinyimagenet analyze_results/cifar--analyze_results/tinyimagenet 206

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 585 duplicates...
Size#FoldersFilesLinesCode
78 x 2 analyze_results/cifar
analyze_results/tinyimagenet
one_dimensional_subspaces.py
one_dimensional_subspaces.py
23:107 (74%)
23:107 (74%)
view
49 x 2 experiment_configs/tinyi...e_dimensional_subspaces
experiment_configs/tinyi...e_dimensional_subspaces
eval_lines.py
eval_lines_layerwise.py
44:97 (65%)
43:96 (66%)
view
49 x 2 experiment_configs/tinyi...e_dimensional_subspaces
experiment_configs/tinyi...e_dimensional_subspaces
eval_curves.py
eval_lines.py
43:96 (66%)
44:97 (65%)
view
49 x 2 experiment_configs/cifar...e_dimensional_subspaces
experiment_configs/cifar...e_dimensional_subspaces
eval_curves.py
eval_lines_layerwise.py
42:95 (67%)
42:95 (67%)
view
49 x 2 experiment_configs/cifar...e_dimensional_subspaces
experiment_configs/cifar...e_dimensional_subspaces
eval_lines.py
eval_lines_layerwise.py
42:95 (67%)
42:95 (67%)
view
49 x 2 experiment_configs/cifar...e_dimensional_subspaces
experiment_configs/cifar...e_dimensional_subspaces
eval_curves.py
eval_lines.py
42:95 (67%)
42:95 (67%)
view
49 x 2 experiment_configs/tinyi...e_dimensional_subspaces
experiment_configs/tinyi...e_dimensional_subspaces
eval_curves.py
eval_lines_layerwise.py
43:96 (66%)
43:96 (66%)
view
47 x 2 experiment_configs/image...e_dimensional_subspaces
experiment_configs/image...e_dimensional_subspaces
eval_lines.py
eval_lines_layerwise.py
45:96 (63%)
45:96 (63%)
view
42 x 2 experiment_configs/cifar...e_dimensional_subspaces
experiment_configs/tinyi...e_dimensional_subspaces
eval_curves.py
eval_lines_layerwise.py
52:95 (57%)
53:96 (56%)
view
42 x 2 experiment_configs/cifar...e_dimensional_subspaces
experiment_configs/tinyi...e_dimensional_subspaces
eval_curves.py
eval_curves.py
52:95 (57%)
53:96 (56%)
view
42 x 2 experiment_configs/cifar...e_dimensional_subspaces
experiment_configs/tinyi...e_dimensional_subspaces
eval_lines_layerwise.py
eval_lines_layerwise.py
52:95 (57%)
53:96 (56%)
view
42 x 2 experiment_configs/cifar...e_dimensional_subspaces
experiment_configs/tinyi...e_dimensional_subspaces
eval_lines_layerwise.py
eval_lines.py
52:95 (57%)
54:97 (56%)
view
42 x 2 experiment_configs/cifar...e_dimensional_subspaces
experiment_configs/tinyi...e_dimensional_subspaces
eval_lines_layerwise.py
eval_curves.py
52:95 (57%)
53:96 (56%)
view
42 x 2 experiment_configs/cifar...e_dimensional_subspaces
experiment_configs/tinyi...e_dimensional_subspaces
eval_curves.py
eval_lines.py
52:95 (57%)
54:97 (56%)
view
42 x 2 experiment_configs/cifar...e_dimensional_subspaces
experiment_configs/tinyi...e_dimensional_subspaces
eval_lines.py
eval_lines.py
52:95 (57%)
54:97 (56%)
view
42 x 2 experiment_configs/cifar...e_dimensional_subspaces
experiment_configs/tinyi...e_dimensional_subspaces
eval_lines.py
eval_lines_layerwise.py
52:95 (57%)
53:96 (56%)
view
42 x 2 experiment_configs/cifar...e_dimensional_subspaces
experiment_configs/tinyi...e_dimensional_subspaces
eval_lines.py
eval_curves.py
52:95 (57%)
53:96 (56%)
view
39 x 2 trainers
trainers
eval_one_dim_subspaces.py
linestats_swa.py
61:107 (54%)
96:142 (37%)
view
31 x 2 trainers
trainers
random_average_weights_global.py
random_average_weights_layerwise.py
34:78 (68%)
33:77 (68%)
view
29 x 2 experiment_configs/cifar...e_dimensional_subspaces
experiment_configs/image...e_dimensional_subspaces
eval_curves.py
eval_lines_layerwise.py
62:90 (39%)
65:93 (39%)
view
Duplicated Units
The list of top 6 duplicated units.
See data for all 6 unit duplicates...
Size#FoldersFilesLinesCode
13 x 2 models
models
cifar_resnet.py
cifar_resnet_dropout.py
0:0 
0:0 
view
10 x 2 experiment_configs/cifar10/ensembles
experiment_configs/imagenet/ensembles
eval_ensembles.py
eval_ensembles.py
0:0 
0:0 
view
9 x 2 models
models
modules.py
modules_gen.py
0:0 
0:0 
view
8 x 2 models
models
builder.py
builder.py
0:0 
0:0 
view
7 x 2 models
models
resnet.py
resnet.py
0:0 
0:0 
view
7 x 2 models
models
tinyimagenetresnet.py
tinyimagenetresnet.py
0:0 
0:0 
view