apple / coremltools
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
  • 11% duplication:
    • 67,251 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 7,881 duplicated lines
  • 1,019 duplicates
system11% (7,881 lines)
Duplication per Extension
py14% (6,438 lines)
proto12% (980 lines)
cpp3% (397 lines)
hpp2% (54 lines)
mm2% (12 lines)
Duplication per Component (primary)
coremltools/converters15% (5,616 lines)
mlmodel/format12% (980 lines)
coremltools/models10% (815 lines)
mlmodel/src3% (439 lines)
modelpackage/src2% (12 lines)
coremlpython2% (12 lines)
coremltools18% (7 lines)
ROOT0% (0 lines)
cmake0% (0 lines)
coremltools/_deps0% (0 lines)
coremltools/proto0% (0 lines)
milstoragepython0% (0 lines)
mlmodel/build0% (0 lines)
mlmodel/tools0% (0 lines)
scripts0% (0 lines)
scripts/conda0% (0 lines)

Duplication Between Components (50+ lines)

G coremltools/converters coremltools/converters coremltools/models coremltools/models coremltools/converters--coremltools/models 74

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,019 duplicates...
Size#FoldersFilesLinesCode
50 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
506:570 (9%)
620:684 (7%)
view
46 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
277:339 (8%)
365:428 (7%)
view
42 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
230:273 (7%)
308:351 (6%)
view
39 x 2 coremltools/converters/mil/experimental/passes
coremltools/converters/mil/mil/passes
generic_conv_batchnorm_fusion.py
conv_batchnorm_fusion.py
71:132 (39%)
32:93 (39%)
view
35 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
625:668 (6%)
742:786 (5%)
view
34 x 2 coremltools/converters/keras
coremltools/converters/keras
_keras2_converter.py
_keras_converter.py
566:606 (7%)
312:352 (9%)
view
33 x 2 coremltools/converters/keras
coremltools/converters/keras
_layers.py
_layers2.py
415:451 (4%)
1164:1200 (3%)
view
33 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
670:706 (6%)
796:832 (5%)
view
31 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
586:622 (5%)
703:739 (4%)
view
29 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
185:216 (5%)
263:294 (4%)
view
28 x 2 coremltools/converters/keras
coremltools/converters/keras
_layers.py
_layers.py
620:651 (4%)
837:868 (4%)
view
27 x 2 mlmodel/format
mlmodel/format
proto
ItemSimilarityRecommender.proto
TreeEnsemble.proto
1:33 (33%)
1:32 (18%)
view
27 x 2 coremltools/converters/mil/experimental/passes
coremltools/converters/mil/mil/passes
generic_conv_scale_fusion.py
conv_scale_fusion.py
148:185 (17%)
75:112 (23%)
view
23 x 2 coremltools/converters/onnx
coremltools/converters/onnx
_backend.py
_backend.py
42:65 (18%)
133:156 (18%)
view
22 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
341:365 (4%)
445:469 (3%)
view
21 x 2 coremltools/models/neural_network
coremltools/models/neural_network
builder.py
builder.py
3469:3493 (<1%)
3655:3679 (<1%)
view
21 x 2 coremltools/converters/mil/mil/visitors
coremltools/converters/mil/mil/visitors
dot_visitor.py
dot_visitor.py
124:144 (12%)
149:169 (12%)
view
20 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
57:93 (3%)
79:115 (3%)
view
20 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
433:458 (3%)
543:567 (3%)
view
20 x 2 coremltools/converters/onnx
coremltools/converters/onnx
_transformers.py
_transformers.py
364:387 (2%)
457:480 (2%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 22 unit duplicates...
Size#FoldersFilesLinesCode
30 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
0:0 
0:0 
view
29 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
0:0 
0:0 
view
14 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
0:0 
0:0 
view
13 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
0:0 
0:0 
view
10 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
0:0 
0:0 
view
10 x 2 coremltools/converters/mil/frontend/tensorflow
coremltools/converters/mil/mil/visitors
dot_visitor.py
dot_visitor.py
0:0 
0:0 
view
9 x 2 mlmodel/src
mlmodel/src
LayerShapeConstraints.cpp
LayerShapeConstraints.cpp
419:428 
430:441 
view
9 x 2 mlmodel/src
mlmodel/src
LayerShapeConstraints.cpp
LayerShapeConstraints.cpp
443:452 
454:463 
view
8 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
0:0 
0:0 
view
13 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
0:0 
0:0 
view
8 x 2 mlmodel/src/Validation/NeuralNetwork
mlmodel/src/Validation/NeuralNetwork
NeuralNetworkLayerValidator.cpp
NeuralNetworkLayerValidator.cpp
543:555 
1536:1546 
view
8 x 2 mlmodel/src/Validation/NeuralNetwork
mlmodel/src/Validation/NeuralNetwork
NeuralNetworkLayerValidator.cpp
NeuralNetworkLayerValidator.cpp
747:757 
779:789 
view
7 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
0:0 
0:0 
view
7 x 2 mlmodel/src/Validation
mlmodel/src/Validation
TreeEnsembleValidator.cpp
TreeEnsembleValidator.cpp
17:26 
29:38 
view
6 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
0:0 
0:0 
view
6 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
0:0 
0:0 
view
6 x 2 coremltools/converters/mil/frontend/torch
coremltools/converters/mil/mil/ops/defs
dialect_ops.py
tensor_transformation.py
0:0 
0:0 
view
6 x 2 coremltools/converters/sklearn
coremltools/converters/sklearn
_SVC.py
_SVR.py
0:0 
0:0 
view
6 x 2 coremltools/converters/keras
coremltools/converters/keras
_topology.py
_topology2.py
0:0 
0:0 
view
6 x 2 coremltools/converters/mil/frontend/torch
coremltools/converters/mil/frontend/torch
internal_graph.py
internal_graph.py
0:0 
0:0 
view