microsoft / MMdnn
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
  • 17% duplication:
    • 16,641 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 2,977 duplicated lines
  • 176 duplicates
system17% (2,977 lines)
Duplication per Extension
py14% (2,116 lines)
js86% (554 lines)
css71% (307 lines)
Duplication per Component (primary)
mmdnn/conversion/tensorflow20% (473 lines)
mmdnn/visualization78% (424 lines)
mmdnn/visualization/public93% (424 lines)
mmdnn/conversion/mxnet17% (262 lines)
mmdnn/conversion/onnx26% (241 lines)
mmdnn/conversion/pytorch18% (220 lines)
mmdnn/conversion/coreml17% (217 lines)
mmdnn/models62% (162 lines)
mmdnn/conversion/keras8% (114 lines)
mmdnn/conversion/caffe5% (113 lines)
mmdnn/conversion/cntk10% (98 lines)
mmdnn/conversion/darknet7% (72 lines)
mmdnn/conversion/torch25% (43 lines)
mmdnn/conversion/_script7% (42 lines)
mmdnn/conversion/paddle10% (37 lines)
mmdnn/conversion/common3% (22 lines)
mmdnn/vis_edit/src2% (13 lines)
ROOT0% (0 lines)
mmdnn0% (0 lines)
mmdnn/conversion0% (0 lines)
mmdnn/conversion/rewriter0% (0 lines)
mmdnn/vis_edit/public0% (0 lines)
requirements0% (0 lines)

Duplication Between Components (50+ lines)

G mmdnn/visualization mmdnn/visualization mmdnn/visualization/public mmdnn/visualization/public mmdnn/visualization--mmdnn/visualization/public 848 mmdnn/conversion/cntk mmdnn/conversion/cntk mmdnn/conversion/pytorch mmdnn/conversion/pytorch mmdnn/conversion/cntk--mmdnn/conversion/pytorch 110 mmdnn/conversion/tensorflow mmdnn/conversion/tensorflow mmdnn/conversion/cntk--mmdnn/conversion/tensorflow 99 mmdnn/conversion/keras mmdnn/conversion/keras mmdnn/conversion/cntk--mmdnn/conversion/keras 52 mmdnn/conversion/pytorch--mmdnn/conversion/tensorflow 84 mmdnn/conversion/torch mmdnn/conversion/torch mmdnn/conversion/pytorch--mmdnn/conversion/torch 70 mmdnn/conversion/keras--mmdnn/conversion/pytorch 82 mmdnn/conversion/keras--mmdnn/conversion/tensorflow 74 mmdnn/conversion/paddle mmdnn/conversion/paddle mmdnn/conversion/keras--mmdnn/conversion/paddle 58 mmdnn/conversion/mxnet mmdnn/conversion/mxnet mmdnn/conversion/mxnet--mmdnn/conversion/tensorflow 70

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 176 duplicates...
Size#FoldersFilesLinesCode
127 x 2 mmdnn/visualization
mmdnn/visualization/public
draw.js
draw.js
207:382 (37%)
201:371 (42%)
view
82 x 2 mmdnn/visualization/public
mmdnn/visualization
style.css
style.css
88:199 (51%)
94:205 (50%)
view
53 x 2 mmdnn/models
mmdnn/models
GenerateMdByDataset.py
GenerateMdFromJson.py
107:169 (37%)
70:132 (45%)
view
47 x 2 mmdnn/visualization
mmdnn/visualization/public
draw.js
draw.js
44:102 (13%)
43:102 (15%)
view
36 x 2 mmdnn/visualization
mmdnn/visualization/public
draw.js
draw.js
126:187 (10%)
121:182 (12%)
view
35 x 2 mmdnn/conversion/onnx
mmdnn/conversion/onnx
onnx_emitter.py
onnx_emitter.py
228:265 (5%)
325:361 (5%)
view
33 x 2 mmdnn/conversion/mxnet
mmdnn/conversion/mxnet
mxnet_emitter.py
mxnet_emitter.py
1224:1264 (3%)
1278:1318 (3%)
view
29 x 2 mmdnn/conversion/coreml
mmdnn/conversion/coreml
coreml_emitter.py
coreml_emitter.py
219:252 (4%)
296:329 (4%)
view
28 x 2 mmdnn/models
mmdnn/models
GenerateMdByDataset.py
GenerateMdFromJson.py
5:38 (19%)
5:38 (24%)
view
23 x 2 mmdnn/visualization
mmdnn/visualization/public
draw.js
draw.js
1:41 (6%)
1:40 (7%)
view
23 x 2 mmdnn/visualization
mmdnn/visualization/public
draw.js
draw.js
386:415 (6%)
375:402 (7%)
view
22 x 2 mmdnn/conversion/mxnet
mmdnn/conversion/mxnet
mxnet_emitter.py
mxnet_emitter.py
515:544 (2%)
551:578 (2%)
view
22 x 2 mmdnn/conversion/onnx
mmdnn/conversion/onnx
onnx_emitter.py
onnx_emitter.py
286:309 (3%)
380:402 (3%)
view
22 x 2 mmdnn/conversion/coreml
mmdnn/conversion/coreml
coreml_parser.py
coreml_parser.py
368:401 (4%)
443:477 (4%)
view
21 x 2 mmdnn/conversion/pytorch
mmdnn/conversion/pytorch
pytorch_parser.py
pytorch_parser.py
136:159 (6%)
197:220 (6%)
view
21 x 2 mmdnn/conversion/keras
mmdnn/conversion/paddle
keras2_parser.py
paddle_parser.py
20:41 (4%)
23:44 (6%)
view
21 x 2 mmdnn/conversion/pytorch
mmdnn/conversion/tensorflow
pytorch_emitter.py
tensorflow_emitter.py
838:866 (3%)
737:765 (3%)
view
20 x 2 mmdnn/conversion/tensorflow/rewriter
mmdnn/conversion/tensorflow/rewriter
gru_rewriter.py
lstm_rewriter.py
22:49 (37%)
26:53 (37%)
view
20 x 2 mmdnn/visualization/public
mmdnn/visualization
style.css
style.css
28:51 (12%)
31:55 (12%)
view
20 x 2 mmdnn/visualization/public
mmdnn/visualization
style.css
style.css
58:78 (12%)
62:82 (12%)
view
Duplicated Units
The list of top 13 duplicated units.
See data for all 13 unit duplicates...
Size#FoldersFilesLinesCode
17 x 2 mmdnn/visualization
mmdnn/visualization/public
draw.js
draw.js
275:293 
267:285 
view
12 x 2 mmdnn/conversion/caffe
mmdnn/conversion/caffe
caffe_emitter.py
caffe_emitter.py
0:0 
0:0 
view
12 x 2 mmdnn/conversion/tensorflow/rewriter
mmdnn/conversion/tensorflow/rewriter
gru_rewriter.py
lstm_rewriter.py
0:0 
0:0 
view
12 x 2 mmdnn/conversion/tensorflow/rewriter
mmdnn/conversion/tensorflow/rewriter
gru_rewriter.py
lstm_rewriter.py
0:0 
0:0 
view
12 x 2 mmdnn/visualization
mmdnn/visualization/public
draw.js
draw.js
260:274 
252:266 
view
11 x 2 mmdnn/conversion/tensorflow
mmdnn/conversion/tensorflow
tensorflow_parser.py
tensorflow_frozenparser.py
0:0 
0:0 
view
11 x 2 mmdnn/visualization
mmdnn/visualization/public
draw.js
draw.js
240:259 
232:251 
view
10 x 2 mmdnn/conversion/tensorflow
mmdnn/conversion/tensorflow
tensorflow_frozenparser.py
tensorflow_parser.py
0:0 
0:0 
view
7 x 2 mmdnn/conversion/mxnet
mmdnn/conversion/mxnet
mxnet_emitter.py
mxnet_emitter.py
0:0 
0:0 
view
7 x 2 mmdnn/conversion/tensorflow
mmdnn/conversion/tensorflow
tensorflow_frozenparser.py
tensorflow_parser.py
0:0 
0:0 
view
6 x 2 mmdnn/conversion/cntk
mmdnn/conversion/pytorch
cntk_emitter.py
pytorch_emitter.py
0:0 
0:0 
view
6 x 2 mmdnn/conversion/keras
mmdnn/conversion/paddle
keras2_parser.py
paddle_parser.py
0:0 
0:0 
view
6 x 2 mmdnn/visualization
mmdnn/visualization/public
draw.js
draw.js
333:339 
322:328 
view