kostyl-toolkit 0.1.8__tar.gz → 0.1.10__tar.gz

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.
Files changed (36) hide show
  1. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/PKG-INFO +1 -1
  2. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/clearml/pulling_utils.py +6 -1
  3. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/configs/base_model.py +2 -2
  4. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/configs/training_settings.py +4 -0
  5. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/lightning/extenstions/custom_module.py +4 -1
  6. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/pyproject.toml +1 -1
  7. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/README.md +0 -0
  8. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/__init__.py +0 -0
  9. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/__init__.py +0 -0
  10. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/clearml/__init__.py +0 -0
  11. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/clearml/config_mixin.py +0 -0
  12. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/clearml/dataset_utils.py +0 -0
  13. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/clearml/logging_utils.py +0 -0
  14. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/configs/__init__.py +0 -0
  15. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/configs/hyperparams.py +0 -0
  16. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/dist_utils.py +0 -0
  17. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/lightning/__init__.py +0 -0
  18. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/lightning/callbacks/__init__.py +0 -0
  19. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/lightning/callbacks/checkpoint.py +0 -0
  20. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/lightning/callbacks/early_stopping.py +0 -0
  21. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/lightning/callbacks/registry_uploading.py +0 -0
  22. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/lightning/extenstions/__init__.py +0 -0
  23. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/lightning/extenstions/pretrained_model.py +0 -0
  24. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/lightning/loggers/__init__.py +0 -0
  25. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/lightning/loggers/tb_logger.py +0 -0
  26. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/lightning/steps_estimation.py +0 -0
  27. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/metrics_formatting.py +0 -0
  28. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/params_groups.py +0 -0
  29. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/schedulers/__init__.py +0 -0
  30. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/schedulers/base.py +0 -0
  31. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/schedulers/composite.py +0 -0
  32. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/ml_core/schedulers/cosine.py +0 -0
  33. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/utils/__init__.py +0 -0
  34. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/utils/dict_manipulations.py +0 -0
  35. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/utils/fs.py +0 -0
  36. {kostyl_toolkit-0.1.8 → kostyl_toolkit-0.1.10}/kostyl/utils/logging.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: kostyl-toolkit
3
- Version: 0.1.8
3
+ Version: 0.1.10
4
4
  Summary: Kickass Orchestration System for Training, Yielding & Logging
5
5
  Requires-Dist: case-converter>=1.2.0
6
6
  Requires-Dist: loguru>=0.7.3
@@ -1,7 +1,9 @@
1
1
  from pathlib import Path
2
+ from typing import cast
2
3
 
3
4
  from clearml import InputModel
4
5
  from clearml import Task
6
+ from transformers import AutoModel
5
7
  from transformers import AutoTokenizer
6
8
  from transformers import PreTrainedModel
7
9
  from transformers import PreTrainedTokenizerBase
@@ -39,7 +41,9 @@ def get_tokenizer_from_clearml(
39
41
  return tokenizer
40
42
 
41
43
 
42
- def get_model_from_clearml[TModel: PreTrainedModel | LightningCheckpointLoaderMixin](
44
+ def get_model_from_clearml[
45
+ TModel: PreTrainedModel | LightningCheckpointLoaderMixin | AutoModel
46
+ ](
43
47
  model_id: str,
44
48
  model: type[TModel],
45
49
  task: Task | None = None,
@@ -80,4 +84,5 @@ def get_model_from_clearml[TModel: PreTrainedModel | LightningCheckpointLoaderMi
80
84
  f"Unsupported model format for path: {local_path}. "
81
85
  "Expected a ClearML package directory or a .ckpt file."
82
86
  )
87
+ model_instance = cast(TModel, model_instance)
83
88
  return model_instance
@@ -9,7 +9,7 @@ from kostyl.utils.fs import load_config
9
9
  TConfig = TypeVar("TConfig", bound=PydanticBaseModel)
10
10
 
11
11
 
12
- class _ConfigLoadingMixin:
12
+ class ConfigLoadingMixin:
13
13
  """Pydantic mixin class providing basic configuration loading functionality."""
14
14
 
15
15
  @classmethod
@@ -54,7 +54,7 @@ class _ConfigLoadingMixin:
54
54
  return instance
55
55
 
56
56
 
57
- class KostylBaseModel(PydanticBaseModel, _ConfigLoadingMixin):
57
+ class KostylBaseModel(PydanticBaseModel, ConfigLoadingMixin):
58
58
  """A Pydantic model class with basic configuration loading functionality."""
59
59
 
60
60
  pass
@@ -63,6 +63,10 @@ class LightningTrainerParameters(BaseModel):
63
63
  precision: PRECISION
64
64
  log_every_n_steps: int = Field(default=50, ge=1)
65
65
  accumulate_grad_batches: int = Field(default=1, ge=1)
66
+ limit_train_batches: int | float | None = None
67
+ limit_val_batches: int | float | None = None
68
+ limit_test_batches: int | float | None = None
69
+ limit_predict_batches: int | float | None = None
66
70
 
67
71
 
68
72
  class EarlyStoppingConfig(BaseModel):
@@ -21,7 +21,7 @@ from kostyl.ml_core.schedulers.base import BaseScheduler
21
21
  from kostyl.utils import setup_logger
22
22
 
23
23
 
24
- logger = setup_logger()
24
+ logger = setup_logger(fmt="only_message")
25
25
 
26
26
 
27
27
  class KostylLightningModule(L.LightningModule):
@@ -93,6 +93,9 @@ class KostylLightningModule(L.LightningModule):
93
93
  def on_before_optimizer_step(self, optimizer) -> None:
94
94
  if self.model is None:
95
95
  raise ValueError("Model must be configured before optimizer step.")
96
+ if not hasattr(self, "hyperparams"):
97
+ logger.warning_once("cannot clip gradients, hyperparams attr missing")
98
+ return
96
99
  if self.hyperparams.grad_clip_val is None:
97
100
  return
98
101
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kostyl-toolkit"
3
- version = "0.1.8"
3
+ version = "0.1.10"
4
4
  description = "Kickass Orchestration System for Training, Yielding & Logging "
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"