dragon-ml-toolbox 19.11.0__py3-none-any.whl → 19.12.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dragon-ml-toolbox
3
- Version: 19.11.0
3
+ Version: 19.12.1
4
4
  Summary: Complete pipelines and helper tools for data science and machine learning projects.
5
5
  Author-email: Karl Luigi Loza Vidaurre <luigiloza@gmail.com>
6
6
  License-Expression: MIT
@@ -1,11 +1,11 @@
1
- dragon_ml_toolbox-19.11.0.dist-info/licenses/LICENSE,sha256=L35WDmmLZNTlJvxF6Vy7Uy4SYNi6rCfWUqlTHpoRMoU,1081
2
- dragon_ml_toolbox-19.11.0.dist-info/licenses/LICENSE-THIRD-PARTY.md,sha256=0-HBRMMgKuwtGy6nMJZvIn1fLxhx_ksyyVB2U_iyYZU,2818
1
+ dragon_ml_toolbox-19.12.1.dist-info/licenses/LICENSE,sha256=L35WDmmLZNTlJvxF6Vy7Uy4SYNi6rCfWUqlTHpoRMoU,1081
2
+ dragon_ml_toolbox-19.12.1.dist-info/licenses/LICENSE-THIRD-PARTY.md,sha256=0-HBRMMgKuwtGy6nMJZvIn1fLxhx_ksyyVB2U_iyYZU,2818
3
3
  ml_tools/ETL_cleaning.py,sha256=cKXyRFaaFs_beAGDnQM54xnML671kq-yJEGjHafW-20,351
4
4
  ml_tools/ETL_engineering.py,sha256=cwh1FhtNdUHllUDvho-x3SIVj4KwG_rFQR6VYzWUg0U,898
5
5
  ml_tools/GUI_tools.py,sha256=O89rG8WQv6GY1DiphQjIsPzXFCQID6te7q_Sgt1iTkQ,294
6
6
  ml_tools/IO_tools.py,sha256=UiOiXgccB06JS7__aq1OXWqYARvAQuxaTrpVJU54Suk,334
7
7
  ml_tools/MICE_imputation.py,sha256=tpLM-rdq4sKbc2GHfj7UrkS3DmBZ3B_DlbrklWbI7gI,366
8
- ml_tools/ML_callbacks.py,sha256=hrfsIpGkQ1G4Ucfio8JDO1TWjiluuLHCmE7r0ScqxNs,218
8
+ ml_tools/ML_callbacks.py,sha256=a5aXjrtKSgJGW8GWIVd3QR3gT5pJpQxsXFXoNO9GcgM,357
9
9
  ml_tools/ML_chaining_inference.py,sha256=-JD-LbPtFQkEEWyLUuszWvsqE6nbgkKaQBjrwmBPer0,124
10
10
  ml_tools/ML_chaining_utilities.py,sha256=TmiVea_66qfB2l3UEVua4Wb5Sg1D75bSz_-Js3DudfA,360
11
11
  ml_tools/ML_configuration.py,sha256=R8ca9q6W_Lm8lQ48qmxWfdMeHJ5o9hmcHhVdekrY_UQ,2730
@@ -43,10 +43,10 @@ ml_tools/ensemble_evaluation.py,sha256=P26vyS2fMV3Pm_4w2MN1z1eS7aVJzYagsyLmqC-Io
43
43
  ml_tools/ensemble_inference.py,sha256=sl_Dq9KaN0SrtZmyiVrrhWd6lSjdQangSIUUUIFvfj4,178
44
44
  ml_tools/ensemble_learning.py,sha256=BLPnpfJWCly-D75mkRP1FE5TExoWAAlAHR89KAzW9iU,336
45
45
  ml_tools/excel_handler.py,sha256=h35HMNnO44btxsTSfZXj2HiJtpRS4fdrJLbzru4heMs,453
46
- ml_tools/keys.py,sha256=s9HEIAJCRw4DO7ll0yjc8u5rrSI9MOmfkR_1fKpkfy8,263
46
+ ml_tools/keys.py,sha256=JCGMwU26qSKfClGCpiv6y-GmFFP56pqNn6n7z-pyYTM,312
47
47
  ml_tools/math_utilities.py,sha256=53nOXlhb5taUHj4CDHsXliArEfPkOlJD7G_dJa3_iOU,321
48
48
  ml_tools/optimization_tools.py,sha256=rPG2VJ7hk9hv5wfKPq4zPJDXFWKioROOiJWmzXlXzVA,541
49
- ml_tools/path_manager.py,sha256=ion-x2W_rQjra3ChuOHwVtgXhv7LkpXP0lkBef730tk,350
49
+ ml_tools/path_manager.py,sha256=uklNIuRipFnHVcWHojzluYyvhiBzKGbb4S5lM1imGYw,427
50
50
  ml_tools/plot_fonts.py,sha256=6-WevfhDjbyWbSrFM6bqW-h5NC_mAO4XzdFR-oQ3DPE,110
51
51
  ml_tools/schema.py,sha256=AddXOa4P9HinlJ6SnICksHzBqRyi7MaichwVn-z_oVE,219
52
52
  ml_tools/serde.py,sha256=aETbmTDxnCE4D7hFX92RjBJYXuMomWnxAsBt46WfCUw,214
@@ -54,18 +54,18 @@ ml_tools/utilities.py,sha256=dHNjGPH3Ck9V41IRFbRojE_RW6lACdxrNZz0FxI5SQY,691
54
54
  ml_tools/_core/_ETL_cleaning.py,sha256=_pTNKuapNHgWErmxvsXW-2YzCm4BaTshKV627A38RuA,28748
55
55
  ml_tools/_core/_ETL_engineering.py,sha256=JgIWrQGyNjmLrbyv5Kh0EHKBLmYlyrGKSnKRxGzxSco,57930
56
56
  ml_tools/_core/_GUI_tools.py,sha256=kpvk18Eb4vdLzo-I5mBV1yuwPXs-NJJ01rn-iCXHvIY,49079
57
- ml_tools/_core/_IO_tools.py,sha256=oWaYa_OVO-8ANVt_a9F1QPMvyOcI2yLbtq7LoVHlqek,16625
57
+ ml_tools/_core/_IO_tools.py,sha256=sEbtzDHkc9GNkXvsFS9ic038LzAW-rxXPuLwtoHXzGw,17107
58
58
  ml_tools/_core/_MICE_imputation.py,sha256=64l20duGWt93Q2MbqcWqrA1s99JPRf5AJACb1CZi2xI,21149
59
- ml_tools/_core/_ML_callbacks.py,sha256=qtCrVFHTq-nk4NIsAdwIkfkKwFXX6I-6PoCgqZELp70,16734
59
+ ml_tools/_core/_ML_callbacks.py,sha256=T0PjptlpC75_Tp3bWIMPTYhxsMX-8z4YtDT4FJ3p8jg,27988
60
60
  ml_tools/_core/_ML_chaining_inference.py,sha256=vXUPZzuQ2yKU71kkvUsE0xPo0hN-Yu6gfnL0JbXoRjI,7783
61
61
  ml_tools/_core/_ML_chaining_utilities.py,sha256=nsYowgRbkIYuzRiHlqsM3tnC3c-8O73CY8DHUF14XL0,19248
62
- ml_tools/_core/_ML_configuration.py,sha256=hwnDCo9URsFqRCgLuFJhGTtoOqbE1XJreNY8B_3spTg,52693
62
+ ml_tools/_core/_ML_configuration.py,sha256=olRcam2s-Y5oUr8BAcmhwIBQDmaQZm2RHTv5sK2HeOU,53151
63
63
  ml_tools/_core/_ML_configuration_pytab.py,sha256=C3e4iScqdRePVDoqnic6xXMOW7DNYqpgTCeaFDyMdL4,3286
64
64
  ml_tools/_core/_ML_datasetmaster.py,sha256=yU1BMtzz6XumMWCetVACrRLk7WJQwmYhaQ-VAWu9Ots,32043
65
65
  ml_tools/_core/_ML_evaluation.py,sha256=bu8qlYzhWSC1B7wNfCC5TSF-oed-uP8EF7TV45VTiBM,37325
66
66
  ml_tools/_core/_ML_evaluation_captum.py,sha256=a69jnghIzE9qppuw2vzTBMdTErnZkDkTA3MPUUYjsS4,19212
67
67
  ml_tools/_core/_ML_evaluation_multi.py,sha256=n_AJbKF58DMUrYqJutwPFV5z6sNssDPA1Gl05IfPG5s,23647
68
- ml_tools/_core/_ML_finalize_handler.py,sha256=0eZ_0N2L5aUUIJUgvhAQ-rbd8XbE9UmNqTKSJq09uTI,6987
68
+ ml_tools/_core/_ML_finalize_handler.py,sha256=1__wG3Jcr9h1a99F-CmHezhEw1_Ojxh3aDHNyJN2S5w,7127
69
69
  ml_tools/_core/_ML_inference.py,sha256=5swm2lnsrDLalBnCm7gZPlDucX4yNCq5vn7ck3SW_4Q,29791
70
70
  ml_tools/_core/_ML_models.py,sha256=8FUx4-TVghlBF9srh1_5UxovrWPU7YEZ6XXLqwJei88,27974
71
71
  ml_tools/_core/_ML_models_advanced.py,sha256=oU6M5FEBMQ9yPp32cziWh3bz8SXRho07vFMC8ZDVcuU,45002
@@ -77,7 +77,7 @@ ml_tools/_core/_ML_sequence_datasetmaster.py,sha256=0YVOPf-y4ZNdgUxropXUWrmInNyG
77
77
  ml_tools/_core/_ML_sequence_evaluation.py,sha256=AiPHtZ9DRpE6zL9n3Tp5eGGD9vrYRkLbZ0Nc274mL7I,8069
78
78
  ml_tools/_core/_ML_sequence_inference.py,sha256=zd3hBwOtLmjAV4JtdB2qFY9GxhysajFufATdy8fjGTE,16316
79
79
  ml_tools/_core/_ML_sequence_models.py,sha256=5qcEYLU6wDePBITnikBrj_H9mCvyJmElKa3HiWGXhZs,5639
80
- ml_tools/_core/_ML_trainer.py,sha256=hSsudWrlYWpi53DXIlKI6ovVhz7xLrQ8oKIDJOXf4Eg,117747
80
+ ml_tools/_core/_ML_trainer.py,sha256=EeNqZ0pCWrBxGaYgOVmDxofMBQhV56Bvsj-VuBwBgHQ,117580
81
81
  ml_tools/_core/_ML_utilities.py,sha256=elLGD0QYh148_9iNLlqGe1vz-wCFspJa6CWtWTfA3jY,35594
82
82
  ml_tools/_core/_ML_vision_datasetmaster.py,sha256=8EsE7luzphVlwBXdOsOwsFfz1D4UIUSEQtqHlM0Vf-o,67084
83
83
  ml_tools/_core/_ML_vision_evaluation.py,sha256=BSLf9xrGpaR02Dhkf-fAbgxSpwRjf7DruNIcQadl7qg,11631
@@ -93,19 +93,19 @@ ml_tools/_core/_ensemble_evaluation.py,sha256=17lWl4bWLT1BAMv_fhGf2D3wy-F4jx0Hgn
93
93
  ml_tools/_core/_ensemble_inference.py,sha256=9UpARSETzmqPdQmxqizD768tjkqldxHw1ER_hM9Kx9M,8631
94
94
  ml_tools/_core/_ensemble_learning.py,sha256=X8ghbjDOLMENCWdISXLhDlHQtR3C6SW1tkTBAcfRRPY,22016
95
95
  ml_tools/_core/_excel_handler.py,sha256=gV4rSIsiowb0xllpEJxzUKaYDDVpmP_lxs9wZA76-cc,14050
96
- ml_tools/_core/_keys.py,sha256=pOqxhEFcDuAeuQveJNykdQfB6gVEg8ZY7L7MYQmtY_o,7551
96
+ ml_tools/_core/_keys.py,sha256=OCpO4blAY12px3T3bGHUDcs_YIgEiLq7ppeazDbZlvQ,8739
97
97
  ml_tools/_core/_logger.py,sha256=86Ge0sDE_WgwsZBglQRYPyFYX3lcsIo0NzszNPzlxuk,5254
98
98
  ml_tools/_core/_math_utilities.py,sha256=IlXAiZgTcLtus03jJOBOyF9ZCQDf8qLGjrCHu9Mrgak,9091
99
99
  ml_tools/_core/_models_advanced_base.py,sha256=ceW0V_CcfOnSFqHlxUhVU8-5mtQq4tFyo8TX-xVexrY,4982
100
100
  ml_tools/_core/_models_advanced_helpers.py,sha256=yrAVgYdBsNYD6Vy-pYL5__wI9Z7inOvNUngMgyuypjo,38973
101
101
  ml_tools/_core/_optimization_tools.py,sha256=WdQkkknbErk4p1cCj2l5CLImK2oRAzhmR3QFR50Hbzk,20098
102
- ml_tools/_core/_path_manager.py,sha256=-gJ5qoEzpXsQT7gfxV_6kA7mk33iDsMXRmtOoVPl1JA,20845
102
+ ml_tools/_core/_path_manager.py,sha256=tAXmf0CNfNGU2j8WngVkgBIDhdFGv1o8kFHwynvru_A,24915
103
103
  ml_tools/_core/_plot_fonts.py,sha256=CjYXW2gZ9AUaGkyX8_WOXXNYs6d1PTK-nEJBrv_Zb2o,2287
104
104
  ml_tools/_core/_schema.py,sha256=TM5WVVMoKOvr_Bc2z34sU_gzKlM465PRKTgdZaEOkGY,14076
105
105
  ml_tools/_core/_script_info.py,sha256=21r83LV3RubsNZ_RTEUON6RbDf7Mh4_udweNcvdF_Fk,212
106
106
  ml_tools/_core/_serde.py,sha256=tsI4EO2Y7jrBMmbQ1pinDsPOrOg-SaPuB-Dt40q0taE,5609
107
107
  ml_tools/_core/_utilities.py,sha256=D7FGyEszcMHxGkMW4aqN7JUwabTICCcQz9qsGtOj97o,22787
108
- dragon_ml_toolbox-19.11.0.dist-info/METADATA,sha256=HUeAsHLQTdaopzM0YVyRgaofMaHXoOZUan456E5M1JU,8193
109
- dragon_ml_toolbox-19.11.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
110
- dragon_ml_toolbox-19.11.0.dist-info/top_level.txt,sha256=wm-oxax3ciyez6VoO4zsFd-gSok2VipYXnbg3TH9PtU,9
111
- dragon_ml_toolbox-19.11.0.dist-info/RECORD,,
108
+ dragon_ml_toolbox-19.12.1.dist-info/METADATA,sha256=fG-Wysq1R7U4y_3OhOux_d61Gd_g857Jh009JPQKXcM,8193
109
+ dragon_ml_toolbox-19.12.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
110
+ dragon_ml_toolbox-19.12.1.dist-info/top_level.txt,sha256=wm-oxax3ciyez6VoO4zsFd-gSok2VipYXnbg3TH9PtU,9
111
+ dragon_ml_toolbox-19.12.1.dist-info/RECORD,,
ml_tools/ML_callbacks.py CHANGED
@@ -1,12 +1,16 @@
1
1
  from ._core._ML_callbacks import (
2
- DragonEarlyStopping,
2
+ DragonPatienceEarlyStopping,
3
+ DragonPrecheltEarlyStopping,
3
4
  DragonModelCheckpoint,
4
- DragonLRScheduler,
5
+ DragonScheduler,
6
+ DragonReduceLROnPlateau,
5
7
  info
6
8
  )
7
9
 
8
10
  __all__ = [
9
- "DragonEarlyStopping",
11
+ "DragonPatienceEarlyStopping",
12
+ "DragonPrecheltEarlyStopping",
10
13
  "DragonModelCheckpoint",
11
- "DragonLRScheduler"
14
+ "DragonScheduler",
15
+ "DragonReduceLROnPlateau",
12
16
  ]
@@ -434,8 +434,8 @@ def train_logger(train_config: Union[dict, Any],
434
434
  Logs training data to JSON, adding a timestamp to the filename.
435
435
 
436
436
  Args:
437
- train_config (dict | Any): Training configuration parameters.
438
- model_parameters (dict | Any): Model parameters.
437
+ train_config (dict | Any): Training configuration parameters. If object, must have a `.to_log()` method returning a dict.
438
+ model_parameters (dict | Any): Model parameters. If object, must have a `.to_log()` method returning a dict.
439
439
  train_history (dict | None): Training history log.
440
440
  save_directory (str | Path): Directory to save the log file.
441
441
  """
@@ -443,6 +443,9 @@ def train_logger(train_config: Union[dict, Any],
443
443
  if not isinstance(train_config, dict):
444
444
  if hasattr(train_config, "to_log") and callable(getattr(train_config, "to_log")):
445
445
  train_config_dict: dict = train_config.to_log()
446
+ if not isinstance(train_config_dict, dict):
447
+ _LOGGER.error("'train_config.to_log()' did not return a dictionary.")
448
+ raise ValueError()
446
449
  else:
447
450
  _LOGGER.error("'train_config' must be a dict or an object with a 'to_log()' method.")
448
451
  raise ValueError()
@@ -458,6 +461,9 @@ def train_logger(train_config: Union[dict, Any],
458
461
  if not isinstance(model_parameters, dict):
459
462
  if hasattr(model_parameters, "to_log") and callable(getattr(model_parameters, "to_log")):
460
463
  model_parameters_dict: dict = model_parameters.to_log()
464
+ if not isinstance(model_parameters_dict, dict):
465
+ _LOGGER.error("'model_parameters.to_log()' did not return a dictionary.")
466
+ raise ValueError()
461
467
  else:
462
468
  _LOGGER.error("'model_parameters' must be a dict or an object with a 'to_log()' method.")
463
469
  raise ValueError()