facebookresearch / SlowFast
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
  • 35% duplication:
    • 17,360 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 6,229 duplicated lines
  • 3,990 duplicates
system35% (6,229 lines)
Duplication per Extension
yaml95% (4,169 lines)
py15% (2,060 lines)
Duplication per Component (primary)
configs/Kinetics97% (3,106 lines)
slowfast/datasets21% (773 lines)
slowfast/models20% (623 lines)
configs/AVA92% (443 lines)
slowfast/utils9% (308 lines)
configs/Charades94% (275 lines)
configs/SSv297% (273 lines)
slowfast/visualization13% (244 lines)
tools15% (112 lines)
configs/ImageNet51% (72 lines)
slowfast/config0% (0 lines)
slowfast0% (0 lines)
ROOT0% (0 lines)

Duplication Between Components (50+ lines)

G configs/Charades configs/Charades configs/Kinetics configs/Kinetics configs/Charades--configs/Kinetics 991 configs/SSv2 configs/SSv2 configs/Charades--configs/SSv2 238 configs/ImageNet configs/ImageNet configs/Charades--configs/ImageNet 73 configs/Kinetics--configs/SSv2 934 configs/ImageNet--configs/Kinetics 758 configs/AVA configs/AVA configs/AVA--configs/Charades 168 configs/AVA--configs/Kinetics 710 configs/AVA--configs/SSv2 213

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,990 duplicates...
Size#FoldersFilesLinesCode
75 x 2 configs/Charades
configs/Charades
SLOWFAST_16x8_R50.yaml
SLOWFAST_16x8_R50_multigrid.yaml
1:75 (100%)
4:78 (96%)
view
73 x 2 configs/Kinetics
configs/Kinetics/pytorchvideo
MVIT_B_16x4_CONV.yaml
MVIT_B_16x4_CONV.yaml
1:74 (80%)
1:73 (79%)
view
58 x 2 configs/SSv2
configs/SSv2
SLOWFAST_16x8_R50.yaml
SLOWFAST_16x8_R50_multigrid.yaml
16:73 (79%)
19:76 (76%)
view
55 x 2 configs/Kinetics
configs/Kinetics/c2
SLOWFAST_8x8_R50.yaml
SLOWFAST_8x8_R50.yaml
8:62 (88%)
10:64 (87%)
view
55 x 2 configs/Kinetics
configs/Kinetics/c2
SLOWFAST_4x16_R50.yaml
SLOWFAST_4x16_R50.yaml
8:62 (88%)
10:64 (87%)
view
53 x 2 configs/Kinetics/c2
configs/Kinetics/c2
SLOWFAST_16x8_R101_50_50.yaml
SLOWFAST_8x8_R101_50_50.yaml
12:64 (84%)
12:64 (84%)
view
51 x 2 configs/Kinetics
configs/Kinetics
SLOWFAST_8x8_R50_stepwise.yaml
SLOWFAST_8x8_R50_stepwise_multigrid.yaml
14:64 (79%)
17:67 (76%)
view
51 x 2 configs/AVA/c2
configs/AVA/c2
SLOWFAST_32x2_R101_50_50.yaml
SLOWFAST_64x2_R101_50_50.yaml
12:62 (76%)
12:62 (76%)
view
49 x 2 configs/Kinetics/pytorchvideo
configs/Kinetics/pytorchvideo
SLOW_4x16_R50.yaml
SLOW_8x8_R50.yaml
11:61 (83%)
11:61 (83%)
view
48 x 2 configs/Kinetics
configs/Kinetics/c2
I3D_8x8_R50.yaml
I3D_8x8_R50.yaml
8:55 (87%)
10:57 (85%)
view
48 x 2 configs/Kinetics
configs/Kinetics/c2
I3D_NLN_8x8_R50.yaml
I3D_NLN_8x8_R50.yaml
8:55 (87%)
10:57 (85%)
view
48 x 2 configs/Kinetics
configs/Kinetics/c2
SLOW_4x16_R50.yaml
SLOW_4x16_R50.yaml
8:55 (87%)
10:57 (85%)
view
48 x 2 configs/Kinetics
configs/Kinetics/c2
SLOW_8x8_R50.yaml
SLOW_8x8_R50.yaml
8:55 (87%)
10:57 (85%)
view
47 x 2 configs/Kinetics/pytorchvideo
configs/Kinetics/pytorchvideo
SLOWFAST_4x16_R50.yaml
SLOWFAST_8x8_R50.yaml
22:68 (71%)
22:68 (71%)
view
46 x 2 configs/Kinetics
configs/Kinetics
SLOWFAST_NLN_4x16_R50.yaml
SLOWFAST_NLN_8x8_R50.yaml
17:62 (74%)
17:62 (74%)
view
45 x 2 configs/Kinetics
configs/Kinetics
SLOW_4x16_R50.yaml
SLOW_8x8_R50.yaml
11:55 (81%)
11:55 (81%)
view
45 x 2 configs/AVA/c2
configs/AVA/c2
SLOWFAST_32x2_R101_50_50.yaml
SLOWFAST_32x2_R101_50_50_v2.1.yaml
24:68 (67%)
28:72 (63%)
view
45 x 2 configs/Kinetics
configs/Kinetics
SLOW_NLN_4x16_R50.yaml
SLOW_NLN_8x8_R50.yaml
11:55 (81%)
11:55 (81%)
view
45 x 2 configs/Kinetics
configs/Kinetics/c2
SLOW_8x8_R50.yaml
SLOW_4x16_R50.yaml
11:55 (81%)
13:57 (80%)
view
45 x 2 configs/Kinetics/c2
configs/Kinetics/c2
SLOW_4x16_R50.yaml
SLOW_8x8_R50.yaml
13:57 (80%)
13:57 (80%)
view
Duplicated Units
The list of top 7 duplicated units.
See data for all 7 unit duplicates...
Size#FoldersFilesLinesCode
10 x 2 slowfast/utils/ava_evaluation
slowfast/utils/ava_evaluation
per_image_evaluation.py
per_image_evaluation.py
0:0 
0:0 
view
10 x 2 slowfast/models
slowfast/models
stem_helper.py
stem_helper.py
0:0 
0:0 
view
9 x 2 slowfast/visualization
slowfast/visualization
video_visualizer.py
video_visualizer.py
0:0 
0:0 
view
8 x 2 slowfast/models
slowfast/models
resnet_helper.py
resnet_helper.py
0:0 
0:0 
view
13 x 2 slowfast/visualization
slowfast/visualization
demo_loader.py
demo_loader.py
0:0 
0:0 
view
8 x 2 slowfast/models
slowfast/models
ptv_model_builder.py
ptv_model_builder.py
0:0 
0:0 
view
8 x 2 slowfast/visualization
slowfast/visualization
predictor.py
async_predictor.py
0:0 
0:0 
view