aws / sagemaker-python-sdk
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
  • 20% duplication:
    • 27,803 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 5,645 duplicated lines
  • 978 duplicates
system20% (5,645 lines)
Duplication per Extension
py20% (5,645 lines)
Duplication per Component (primary)
src/sagemaker/model_monitor52% (1,616 lines)
src/sagemaker12% (1,321 lines)
src/sagemaker/workflow15% (492 lines)
src/sagemaker/lineage22% (312 lines)
src/sagemaker/spark41% (272 lines)
src/sagemaker/pytorch78% (214 lines)
src/sagemaker/amazon12% (209 lines)
src/sagemaker/mxnet69% (202 lines)
src/sagemaker/tensorflow34% (170 lines)
src/sagemaker/huggingface43% (166 lines)
src/sagemaker/debugger18% (128 lines)
src/sagemaker/sklearn53% (122 lines)
src/sagemaker/chainer51% (95 lines)
src/sagemaker/xgboost42% (94 lines)
src/sagemaker/wrangler40% (70 lines)
src/sagemaker/cli5% (64 lines)
src/sagemaker/local3% (44 lines)
src/sagemaker/automl4% (27 lines)
src/sagemaker/apiutils10% (18 lines)
src/sagemaker/rl3% (9 lines)
src/sagemaker/async_inference0% (0 lines)
src/sagemaker/training_compiler0% (0 lines)
src/sagemaker/sparkml0% (0 lines)
src/sagemaker/serverless0% (0 lines)
src/sagemaker/dataset_definition0% (0 lines)
src/sagemaker/feature_store0% (0 lines)
ROOT0% (0 lines)
doc0% (0 lines)
ci-scripts0% (0 lines)

Duplication Between Components (50+ lines)

G src/sagemaker/mxnet src/sagemaker/mxnet src/sagemaker/pytorch src/sagemaker/pytorch src/sagemaker/mxnet--src/sagemaker/pytorch 380 src/sagemaker src/sagemaker src/sagemaker/mxnet--src/sagemaker 135 src/sagemaker/tensorflow src/sagemaker/tensorflow src/sagemaker/mxnet--src/sagemaker/tensorflow 200 src/sagemaker/sklearn src/sagemaker/sklearn src/sagemaker/mxnet--src/sagemaker/sklearn 106 src/sagemaker/xgboost src/sagemaker/xgboost src/sagemaker/mxnet--src/sagemaker/xgboost 110 src/sagemaker/pytorch--src/sagemaker/tensorflow 200 src/sagemaker/pytorch--src/sagemaker/sklearn 126 src/sagemaker/pytorch--src/sagemaker/xgboost 114 src/sagemaker--src/sagemaker/pytorch 135 src/sagemaker--src/sagemaker/tensorflow 348 src/sagemaker/workflow src/sagemaker/workflow src/sagemaker--src/sagemaker/workflow 254 src/sagemaker/spark src/sagemaker/spark src/sagemaker--src/sagemaker/spark 181 src/sagemaker--src/sagemaker/xgboost 82 src/sagemaker/tensorflow--src/sagemaker/workflow 50 src/sagemaker/tensorflow--src/sagemaker/xgboost 94 src/sagemaker/huggingface src/sagemaker/huggingface src/sagemaker/huggingface--src/sagemaker/mxnet 280 src/sagemaker/huggingface--src/sagemaker/pytorch 284 src/sagemaker/huggingface--src/sagemaker 159 src/sagemaker/huggingface--src/sagemaker/tensorflow 164 src/sagemaker/huggingface--src/sagemaker/sklearn 68 src/sagemaker/huggingface--src/sagemaker/xgboost 76 src/sagemaker/model_monitor src/sagemaker/model_monitor src/sagemaker/model_monitor--src/sagemaker 195 src/sagemaker/model_monitor--src/sagemaker/workflow 258 src/sagemaker/model_monitor--src/sagemaker/spark 130 src/sagemaker/model_monitor--src/sagemaker/sklearn 80 src/sagemaker/chainer src/sagemaker/chainer src/sagemaker/chainer--src/sagemaker/mxnet 136 src/sagemaker/chainer--src/sagemaker/pytorch 172 src/sagemaker/chainer--src/sagemaker/huggingface 80 src/sagemaker/chainer--src/sagemaker/sklearn 108 src/sagemaker/sklearn--src/sagemaker/spark 66 src/sagemaker/sklearn--src/sagemaker/xgboost 92

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 978 duplicates...
Size#FoldersFilesLinesCode
40 x 2 src/sagemaker/pytorch
src/sagemaker/xgboost
processing.py
processing.py
29:81 (95%)
29:81 (95%)
view
40 x 2 src/sagemaker/mxnet
src/sagemaker/xgboost
processing.py
processing.py
29:81 (95%)
29:81 (95%)
view
40 x 2 src/sagemaker/pytorch
src/sagemaker/tensorflow
processing.py
processing.py
29:81 (95%)
29:81 (95%)
view
40 x 2 src/sagemaker/tensorflow
src/sagemaker/xgboost
processing.py
processing.py
29:81 (95%)
29:81 (95%)
view
40 x 2 src/sagemaker/mxnet
src/sagemaker/pytorch
processing.py
processing.py
29:81 (95%)
29:81 (95%)
view
40 x 2 src/sagemaker/mxnet
src/sagemaker/tensorflow
processing.py
processing.py
29:81 (95%)
29:81 (95%)
view
38 x 2 src/sagemaker/model_monitor
src/sagemaker/model_monitor
model_monitoring.py
model_monitoring.py
2271:2318 (1%)
2974:3021 (1%)
view
36 x 2 src/sagemaker/model_monitor
src/sagemaker/model_monitor
clarify_model_monitoring.py
model_monitoring.py
217:298 (4%)
2842:2920 (1%)
view
35 x 2 src/sagemaker/model_monitor
src/sagemaker/model_monitor
clarify_model_monitoring.py
model_monitoring.py
218:298 (4%)
2142:2216 (1%)
view
35 x 2 src/sagemaker/model_monitor
src/sagemaker/model_monitor
model_monitoring.py
model_monitoring.py
2142:2216 (1%)
2843:2920 (1%)
view
31 x 2 src/sagemaker/model_monitor
src/sagemaker/model_monitor
clarify_model_monitoring.py
model_monitoring.py
373:411 (3%)
2983:3021 (1%)
view
31 x 2 src/sagemaker/model_monitor
src/sagemaker/model_monitor
clarify_model_monitoring.py
model_monitoring.py
373:411 (3%)
2280:2318 (1%)
view
29 x 2 src/sagemaker
src/sagemaker
session.py
session.py
441:469 (1%)
593:621 (1%)
view
28 x 2 src/sagemaker/huggingface
src/sagemaker/pytorch
model.py
model.py
170:230 (20%)
140:198 (23%)
view
28 x 2 src/sagemaker/huggingface
src/sagemaker/mxnet
model.py
model.py
170:230 (20%)
142:199 (23%)
view
28 x 2 src/sagemaker/mxnet
src/sagemaker/pytorch
model.py
model.py
142:199 (23%)
140:198 (23%)
view
26 x 2 src/sagemaker/huggingface
src/sagemaker/pytorch
model.py
model.py
232:273 (18%)
200:241 (21%)
view
26 x 2 src/sagemaker/huggingface
src/sagemaker/mxnet
model.py
model.py
232:273 (18%)
201:244 (21%)
view
26 x 2 src/sagemaker/mxnet
src/sagemaker/pytorch
model.py
model.py
201:244 (21%)
200:241 (21%)
view
26 x 2 src/sagemaker/model_monitor
src/sagemaker/model_monitor
clarify_model_monitoring.py
clarify_model_monitoring.py
506:555 (3%)
900:948 (3%)
view
Duplicated Units
The list of top 20 duplicated units.
See data for all 20 unit duplicates...
Size#FoldersFilesLinesCode
28 x 2 src/sagemaker
src/sagemaker
session.py
session.py
0:0 
0:0 
view
18 x 4 src/sagemaker/pytorch
src/sagemaker/xgboost
src/sagemaker/mxnet
src/sagemaker/tensorflow
processing.py
processing.py
processing.py
processing.py
0:0 
0:0 
0:0 
0:0 
view
17 x 2 src/sagemaker/spark
src/sagemaker/spark
processing.py
processing.py
0:0 
0:0 
view
14 x 5 src/sagemaker/pytorch
src/sagemaker/mxnet
src/sagemaker
src/sagemaker/huggingface
src/sagemaker/tensorflow
model.py
model.py
model.py
model.py
model.py
0:0 
0:0 
0:0 
0:0 
0:0 
view
14 x 2 src/sagemaker
src/sagemaker
session.py
session.py
0:0 
0:0 
view
13 x 4 src/sagemaker/model_monitor
src/sagemaker/model_monitor
src/sagemaker/model_monitor
src/sagemaker/workflow
model_monitoring.py
model_monitoring.py
clarify_model_monitoring.py
check_job_config.py
0:0 
0:0 
0:0 
0:0 
view
13 x 2 src/sagemaker
src/sagemaker
model.py
pipeline.py
0:0 
0:0 
view
12 x 2 src/sagemaker
src/sagemaker
session.py
session.py
0:0 
0:0 
view
12 x 2 src/sagemaker
src/sagemaker
transformer.py
transformer.py
0:0 
0:0 
view
9 x 2 src/sagemaker/pytorch
src/sagemaker/mxnet
estimator.py
estimator.py
0:0 
0:0 
view
9 x 2 src/sagemaker
src/sagemaker
predictor.py
predictor_async.py
0:0 
0:0 
view
8 x 4 src/sagemaker/pytorch
src/sagemaker/sklearn
src/sagemaker/xgboost
src/sagemaker/chainer
estimator.py
estimator.py
estimator.py
estimator.py
0:0 
0:0 
0:0 
0:0 
view
8 x 2 src/sagemaker
src/sagemaker
session.py
session.py
0:0 
0:0 
view
7 x 2 src/sagemaker
src/sagemaker
session.py
session.py
0:0 
0:0 
view
7 x 2 src/sagemaker/rl
src/sagemaker/tensorflow
estimator.py
estimator.py
0:0 
0:0 
view
7 x 2 src/sagemaker/wrangler
src/sagemaker
processing.py
processing.py
0:0 
0:0 
view
6 x 2 src/sagemaker
src/sagemaker
predictor.py
predictor.py
0:0 
0:0 
view
6 x 2 src/sagemaker/debugger
src/sagemaker/debugger
metrics_config.py
metrics_config.py
0:0 
0:0 
view
7 x 2 src/sagemaker/model_monitor
src/sagemaker/model_monitor
model_monitoring.py
model_monitoring.py
0:0 
0:0 
view
6 x 2 src/sagemaker/model_monitor
src/sagemaker/model_monitor
clarify_model_monitoring.py
clarify_model_monitoring.py
0:0 
0:0 
view