pytorch / vision
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
  • 19% duplication:
    • 47,566 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 9,215 duplicated lines
  • 1,400 duplicates
system19% (9,215 lines)
Duplication per Extension
py15% (5,073 lines)
cpp27% (2,405 lines)
cu44% (1,389 lines)
h13% (229 lines)
yaml53% (85 lines)
bash7% (22 lines)
ps128% (12 lines)
Duplication per Component (primary)
torchvision/csrc29% (4,023 lines)
torchvision/models19% (1,524 lines)
torchvision/prototype10% (973 lines)
torchvision/datasets12% (559 lines)
references/classification41% (453 lines)
references/video_classification63% (342 lines)
references/detection27% (323 lines)
references/segmentation50% (317 lines)
torchvision/transforms9% (260 lines)
references/optical_flow18% (119 lines)
torchvision/ops6% (69 lines)
torchvision/io8% (66 lines)
packaging/vs201792% (36 lines)
packaging/vs201976% (30 lines)
packaging7% (22 lines)
packaging/wheel8% (22 lines)
packaging/torchvision23% (19 lines)
gallery3% (18 lines)
torchvision4% (16 lines)
packaging/windows28% (12 lines)
ROOT2% (12 lines)
cmake0% (0 lines)
references/similarity0% (0 lines)
ios/VisionTestApp0% (0 lines)
scripts/release_notes0% (0 lines)
scripts0% (0 lines)

Duplication Between Components (50+ lines)

G references/classification references/classification references/video_classification references/video_classification references/classification--references/video_classification 634 references/segmentation references/segmentation references/classification--references/segmentation 496 references/detection references/detection references/classification--references/detection 478 references/optical_flow references/optical_flow references/classification--references/optical_flow 238 references/segmentation--references/video_classification 541 references/detection--references/video_classification 472 references/detection--references/segmentation 524 references/detection--references/optical_flow 232 torchvision/models torchvision/models torchvision/prototype torchvision/prototype torchvision/models--torchvision/prototype 344 references/optical_flow--references/video_classification 234 references/optical_flow--references/segmentation 235 torchvision/csrc torchvision/csrc torchvision/ops torchvision/ops torchvision/csrc--torchvision/ops 72 packaging/vs2017 packaging/vs2017 packaging/vs2019 packaging/vs2019 packaging/vs2017--packaging/vs2019 60

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,400 duplicates...
Size#FoldersFilesLinesCode
106 x 2 references/classification
references/video_classification
utils.py
utils.py
36:155 (39%)
38:157 (55%)
view
83 x 2 references/classification
references/segmentation
utils.py
utils.py
65:155 (31%)
109:199 (36%)
view
83 x 2 references/segmentation
references/video_classification
utils.py
utils.py
109:199 (36%)
67:157 (43%)
view
62 x 2 references/classification
references/video_classification
utils.py
utils.py
190:277 (23%)
166:253 (32%)
view
58 x 2 references/classification
references/optical_flow
utils.py
utils.py
21:95 (21%)
18:92 (29%)
view
56 x 2 references/detection
references/video_classification
utils.py
utils.py
113:174 (27%)
70:131 (29%)
view
56 x 2 references/detection
references/segmentation
utils.py
utils.py
113:174 (27%)
112:173 (24%)
view
56 x 2 references/classification
references/detection
utils.py
utils.py
68:129 (21%)
113:174 (27%)
view
55 x 2 torchvision/csrc/ops/cuda
torchvision/csrc/ops/cuda
cu
ps_roi_align_kernel.cu
roi_align_kernel.cu
1:68 (14%)
1:68 (13%)
view
54 x 2 references/classification
references/segmentation
utils.py
utils.py
201:277 (20%)
218:294 (24%)
view
54 x 2 references/segmentation
references/video_classification
utils.py
utils.py
218:294 (24%)
177:253 (28%)
view
54 x 2 torchvision/csrc/ops/cuda
torchvision/csrc/ops/cuda
cu
ps_roi_align_kernel.cu
roi_align_kernel.cu
139:201 (13%)
142:204 (13%)
view
48 x 2 references/optical_flow
references/video_classification
utils.py
utils.py
33:92 (24%)
38:97 (25%)
view
43 x 2 torchvision/csrc/ops/cpu
torchvision/csrc/ops/cpu
ps_roi_align_kernel.cpp
roi_align_kernel.cpp
143:207 (13%)
110:174 (14%)
view
42 x 2 references/detection
references/segmentation
utils.py
utils.py
11:67 (20%)
11:67 (18%)
view
42 x 2 references/detection
references/video_classification
utils.py
utils.py
11:67 (20%)
11:67 (22%)
view
42 x 2 references/segmentation
references/video_classification
utils.py
utils.py
11:67 (18%)
11:67 (22%)
view
40 x 2 references/detection
references/segmentation
utils.py
utils.py
207:267 (19%)
218:278 (17%)
view
40 x 2 references/detection
references/video_classification
utils.py
utils.py
207:267 (19%)
177:237 (21%)
view
40 x 2 references/classification
references/detection
utils.py
utils.py
201:261 (15%)
207:267 (19%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 28 unit duplicates...
Size#FoldersFilesLinesCode
55 x 3 references/classification
references/segmentation
references/video_classification
utils.py
utils.py
utils.py
0:0 
0:0 
0:0 
view
41 x 2 torchvision/csrc/ops/cpu
torchvision/csrc/ops/cpu
ps_roi_align_kernel.cpp
roi_align_kernel.cpp
144:200 
111:167 
view
21 x 3 references/classification
references/segmentation
references/video_classification
utils.py
utils.py
utils.py
0:0 
0:0 
0:0 
view
15 x 2 torchvision/datasets
torchvision/datasets
ucf101.py
hmdb51.py
0:0 
0:0 
view
14 x 2 references/segmentation
references/detection
coco_utils.py
coco_utils.py
0:0 
0:0 
view
11 x 2 torchvision/csrc/ops
torchvision/csrc/ops
ps_roi_pool.cpp
roi_pool.cpp
10:21 
10:21 
view
11 x 2 torchvision/csrc/ops
torchvision/csrc/ops
interpolate_aa.cpp
interpolate_aa.cpp
36:47 
49:60 
view
11 x 2 torchvision/csrc/ops/cpu
torchvision/csrc/ops/cpu
interpolate_aa_kernels.cpp
interpolate_aa_kernels.cpp
620:631 
633:644 
view
10 x 2 torchvision/csrc/ops
torchvision/csrc/ops
interpolate_aa.cpp
interpolate_aa.cpp
10:20 
22:32 
view
9 x 2 torchvision/models
torchvision/models
resnet.py
resnet.py
0:0 
0:0 
view
11 x 3 references/segmentation
references/video_classification
references/detection
utils.py
utils.py
utils.py
0:0 
0:0 
0:0 
view
8 x 2 gallery
gallery
plot_visualization_utils.py
plot_repurposing_annotations.py
0:0 
0:0 
view
8 x 2 torchvision/models
torchvision/ops
mnasnet.py
misc.py
0:0 
0:0 
view
8 x 2 torchvision/ops
torchvision/models
misc.py
mnasnet.py
0:0 
0:0 
view
7 x 2 references/classification
references/classification
transforms.py
transforms.py
0:0 
0:0 
view
7 x 2 references/classification
references/classification
transforms.py
transforms.py
0:0 
0:0 
view
10 x 4 references/classification
references/segmentation
references/video_classification
references/detection
utils.py
utils.py
utils.py
utils.py
0:0 
0:0 
0:0 
0:0 
view
7 x 2 torchvision/datasets
torchvision/datasets
stl10.py
cifar.py
0:0 
0:0 
view
7 x 5 torchvision/datasets
torchvision/datasets
torchvision/datasets
torchvision/datasets
torchvision/datasets
food101.py
flowers102.py
dtd.py
fgvc_aircraft.py
sun397.py
0:0 
0:0 
0:0 
0:0 
0:0 
view
7 x 2 torchvision/datasets
torchvision/datasets
lfw.py
lfw.py
0:0 
0:0 
view