tensorflow / model-analysis
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
  • 10% duplication:
    • 39,102 cleaned lines of cleaned code (without empty lines, comments, and frequently duplicated constructs such as imports)
    • 4,093 duplicated lines
  • 1,158 duplicates
system10% (4,093 lines)
Duplication per Extension
py13% (2,713 lines)
js7% (1,251 lines)
html15% (71 lines)
proto5% (58 lines)
Duplication per Component (primary)
tensorflow_model_analysis/metrics19% (1,213 lines)
tensorflow_model_analysis/static9% (976 lines)
tensorflow_model_analysis/eval_saved_model18% (456 lines)
tensorflow_model_analysis/post_export_metrics26% (373 lines)
tensorflow_model_analysis/evaluators13% (323 lines)
tensorflow_model_analysis/frontend4% (262 lines)
tensorflow_model_analysis/addons5% (151 lines)
tensorflow_model_analysis/api7% (69 lines)
tensorflow_model_analysis/extractors5% (60 lines)
tensorflow_model_analysis/proto5% (58 lines)
tensorflow_model_analysis/view7% (50 lines)
tensorflow_model_analysis/utils3% (40 lines)
tensorflow_model_analysis/writers3% (24 lines)
tensorflow_model_analysis/contrib5% (14 lines)
tensorflow_model_analysis/eval_metrics_graph5% (12 lines)
tensorflow_model_analysis/notebook8% (12 lines)
g3doc0% (0 lines)
g3doc/api_docs0% (0 lines)
ROOT0% (0 lines)
tensorflow_model_analysis/validators0% (0 lines)
tensorflow_model_analysis/model_agnostic_eval0% (0 lines)
tensorflow_model_analysis0% (0 lines)
tensorflow_model_analysis/experimental0% (0 lines)
tensorflow_model_analysis/slicer0% (0 lines)
tensorflow_model_analysis/tools0% (0 lines)
tensorflow_model_analysis/export_only0% (0 lines)

Duplication Between Components (50+ lines)

G tensorflow_model_analysis/addons tensorflow_model_analysis/addons tensorflow_model_analysis/metrics tensorflow_model_analysis/metrics tensorflow_model_analysis/addons--tensorflow_model_analysis/metrics 216 tensorflow_model_analysis/frontend tensorflow_model_analysis/frontend tensorflow_model_analysis/addons--tensorflow_model_analysis/frontend 67 tensorflow_model_analysis/post_export_metrics tensorflow_model_analysis/post_export_metrics tensorflow_model_analysis/addons--tensorflow_model_analysis/post_export_metrics 64 tensorflow_model_analysis/api tensorflow_model_analysis/api tensorflow_model_analysis/evaluators tensorflow_model_analysis/evaluators tensorflow_model_analysis/api--tensorflow_model_analysis/evaluators 78 tensorflow_model_analysis/evaluators--tensorflow_model_analysis/metrics 60 tensorflow_model_analysis/eval_saved_model tensorflow_model_analysis/eval_saved_model tensorflow_model_analysis/eval_saved_model--tensorflow_model_analysis/post_export_metrics 67

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,158 duplicates...
Size#FoldersFilesLinesCode
33 x 2 tensorflow_model_analysis/evaluators
tensorflow_model_analysis/evaluators
eval_saved_model_util.py
legacy_aggregate.py
93:145 (22%)
80:130 (21%)
view
31 x 2 tensorflow_model_analysis/static
tensorflow_model_analysis/static
extension.js
index.js
3:60 (64%)
3:60 (<1%)
view
30 x 2 tensorflow_model_analysis/api
tensorflow_model_analysis/evaluators
model_eval_lib.py
evaluator.py
901:936 (3%)
64:99 (50%)
view
29 x 2 tensorflow_model_analysis/metrics
tensorflow_model_analysis/metrics
calibration.py
calibration.py
49:82 (12%)
110:143 (12%)
view
26 x 2 tensorflow_model_analysis/metrics
tensorflow_model_analysis/metrics
calibration.py
calibration.py
110:140 (11%)
175:205 (11%)
view
26 x 2 tensorflow_model_analysis/metrics
tensorflow_model_analysis/metrics
calibration.py
calibration.py
49:79 (11%)
175:205 (11%)
view
23 x 2 tensorflow_model_analysis/metrics
tensorflow_model_analysis/metrics
aggregation.py
aggregation.py
116:139 (10%)
207:230 (10%)
view
18 x 2 tensorflow_model_analysis/post_export_metrics
tensorflow_model_analysis/post_export_metrics
post_export_metrics.py
post_export_metrics.py
730:752 (1%)
1418:1440 (1%)
view
18 x 2 tensorflow_model_analysi...s-tensorboard-container
tensorflow_model_analysi...on-matrix-at-thresholds
fairness-tensorboard-container-templa...
tfma-multi-class-confusion-matrix-at-...
1:18 (18%)
1:18 (5%)
view
17 x 2 tensorflow_model_analysis/metrics
tensorflow_model_analysis/metrics
calibration.py
squared_pearson_correlation.py
221:250 (7%)
45:62 (14%)
view
17 x 2 tensorflow_model_analysi...ma-google-chart-wrapper
tensorflow_model_analysi...tend/tfma-residual-plot
tfma-google-chart-wrapper-template.html
tfma-residual-plot-template.html
1:17 (70%)
1:17 (85%)
view
17 x 2 tensorflow_model_analysis/extractors
tensorflow_model_analysis/extractors
tfjs_predict_extractor.py
tflite_predict_extractor.py
204:225 (9%)
134:155 (15%)
view
17 x 2 tensorflow_model_analysis/evaluators/query_metrics
tensorflow_model_analysis/metrics
ndcg.py
ndcg.py
76:112 (22%)
189:225 (11%)
view
16 x 2 tensorflow_model_analysis/static
tensorflow_model_analysis/static
index.js
index.js
8398:8413 (<1%)
8476:8491 (<1%)
view
16 x 2 tensorflow_model_analysis/static
tensorflow_model_analysis/static
index.js
index.js
7584:7599 (<1%)
8705:8720 (<1%)
view
16 x 2 tensorflow_model_analysi...tfma-nb-slicing-metrics
tensorflow_model_analysi...end/tfma-nb-time-series
tfma-nb-slicing-metrics.js
tfma-nb-time-series.js
159:175 (22%)
127:143 (27%)
view
16 x 2 tensorflow_model_analysis/static
tensorflow_model_analysis/static
index.js
index.js
7543:7558 (<1%)
8664:8679 (<1%)
view
16 x 2 tensorflow_model_analysi...ma-google-chart-wrapper
tensorflow_model_analysi...on-matrix-at-thresholds
tfma-google-chart-wrapper-template.html
tfma-multi-class-confusion-matrix-at-...
3:18 (66%)
3:18 (5%)
view
16 x 2 tensorflow_model_analysi...s-tensorboard-container
tensorflow_model_analysi...ma-google-chart-wrapper
fairness-tensorboard-container-templa...
tfma-google-chart-wrapper-template.html
3:18 (16%)
3:18 (66%)
view
16 x 2 tensorflow_model_analysi..._model/example_trainers
tensorflow_model_analysi..._model/example_trainers
fixed_prediction_estimator.py
fixed_prediction_estimator_no_labels.py
43:62 (23%)
37:56 (30%)
view
Duplicated Units
The list of top 19 duplicated units.
See data for all 19 unit duplicates...
Size#FoldersFilesLinesCode
16 x 2 tensorflow_model_analysi...end/tfma-nb-time-series
tensorflow_model_analysi...tfma-nb-slicing-metrics
tfma-nb-time-series.js
tfma-nb-slicing-metrics.js
127:144 
159:176 
view
20 x 2 tensorflow_model_analysis/metrics
tensorflow_model_analysis/evaluators/query_metrics
ndcg.py
ndcg.py
0:0 
0:0 
view
20 x 2 tensorflow_model_analysis/evaluators/query_metrics
tensorflow_model_analysis/metrics
ndcg.py
ndcg.py
0:0 
0:0 
view
12 x 2 tensorflow_model_analysis/static
tensorflow_model_analysis/static
extension.js
index.js
6:27 
6:27 
view
12 x 2 tensorflow_model_analysis/evaluators
tensorflow_model_analysis/evaluators
legacy_aggregate.py
eval_saved_model_util.py
0:0 
0:0 
view
9 x 3 tensorflow_model_analysis/metrics
tensorflow_model_analysis/metrics
tensorflow_model_analysis/metrics
calibration.py
squared_pearson_correlation.py
tjur_discrimination.py
0:0 
0:0 
0:0 
view
9 x 2 tensorflow_model_analysis/utils
tensorflow_model_analysis/utils
model_util.py
model_util.py
0:0 
0:0 
view
8 x 2 tensorflow_model_analysis/static
tensorflow_model_analysis/static
extension.js
index.js
37:45 
37:45 
view
8 x 2 tensorflow_model_analysis/static
tensorflow_model_analysis/static
index.js
index.js
2330:2339 
2434:2443 
view
8 x 2 tensorflow_model_analysis/api
tensorflow_model_analysis/evaluators
model_eval_lib.py
evaluator.py
0:0 
0:0 
view
8 x 2 tensorflow_model_analysis/api
tensorflow_model_analysis/evaluators
model_eval_lib.py
evaluator.py
0:0 
0:0 
view
8 x 2 tensorflow_model_analysis/evaluators
tensorflow_model_analysis/evaluators
legacy_aggregate.py
eval_saved_model_util.py
0:0 
0:0 
view
16 x 2 tensorflow_model_analysis/evaluators/query_metrics
tensorflow_model_analysis/evaluators/query_metrics
ndcg.py
min_label_position.py
0:0 
0:0 
view
7 x 2 tensorflow_model_analysis/frontend/lib
tensorflow_model_analysis/frontend/lib
cell-renderer.js
cell-renderer.js
424:433 
519:528 
view
15 x 2 tensorflow_model_analysis/evaluators
tensorflow_model_analysis/evaluators
legacy_aggregate.py
eval_saved_model_util.py
0:0 
0:0 
view
6 x 2 tensorflow_model_analysis/static
tensorflow_model_analysis/static
extension.js
index.js
48:54 
48:54 
view
7 x 2 tensorflow_model_analysis/metrics
tensorflow_model_analysis/metrics
confusion_matrix_metrics.py
confusion_matrix_metrics.py
0:0 
0:0 
view
6 x 2 tensorflow_model_analysis/api
tensorflow_model_analysis/evaluators
model_eval_lib.py
evaluator.py
0:0 
0:0 
view
10 x 2 tensorflow_model_analysis/metrics
tensorflow_model_analysis/evaluators/query_metrics
ndcg.py
ndcg.py
0:0 
0:0 
view