kostyl-toolkit 0.1.8__py3-none-any.whl → 0.1.9__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.
@@ -2,6 +2,7 @@ from pathlib import Path
2
2
 
3
3
  from clearml import InputModel
4
4
  from clearml import Task
5
+ from transformers import AutoModel
5
6
  from transformers import AutoTokenizer
6
7
  from transformers import PreTrainedModel
7
8
  from transformers import PreTrainedTokenizerBase
@@ -39,12 +40,14 @@ def get_tokenizer_from_clearml(
39
40
  return tokenizer
40
41
 
41
42
 
42
- def get_model_from_clearml[TModel: PreTrainedModel | LightningCheckpointLoaderMixin](
43
+ def get_model_from_clearml[
44
+ TModel: PreTrainedModel | LightningCheckpointLoaderMixin | AutoModel
45
+ ](
43
46
  model_id: str,
44
47
  model: type[TModel],
45
48
  task: Task | None = None,
46
49
  ignore_remote_overrides: bool = True,
47
- ) -> TModel:
50
+ ) -> PreTrainedModel:
48
51
  """
49
52
  Retrieve a pretrained model from ClearML and instantiate it using the appropriate loader.
50
53
 
@@ -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
  Metadata-Version: 2.3
2
2
  Name: kostyl-toolkit
3
- Version: 0.1.8
3
+ Version: 0.1.9
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
@@ -4,11 +4,11 @@ kostyl/ml_core/clearml/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
4
4
  kostyl/ml_core/clearml/config_mixin.py,sha256=sN24RPs8kWW1iXpIr_6w1bfEZZSXIV_i_RXypqzjwXg,3368
5
5
  kostyl/ml_core/clearml/dataset_utils.py,sha256=eij_sr2KDhm8GxEbVbK8aBjPsuVvLl9-PIGGaKVgXLA,1729
6
6
  kostyl/ml_core/clearml/logging_utils.py,sha256=GBjIIZbH_itd5sj7XpvxjkyZwxxGOpEcQ3BiWaJTyq8,1210
7
- kostyl/ml_core/clearml/pulling_utils.py,sha256=Yf70ux8dS0_ENdvfbNQkXOrDxwd4ed2GnRCmOR2ppEk,3252
7
+ kostyl/ml_core/clearml/pulling_utils.py,sha256=7GgCVGWDKa8hqIXvXmdETNWdZ9WqbgobFDpVhlosfHI,3314
8
8
  kostyl/ml_core/configs/__init__.py,sha256=pBuEhcumGBNncprqz-t_IGll2XtMmogTn9S6ZPHXCTg,997
9
- kostyl/ml_core/configs/base_model.py,sha256=Sj4vF1zPpEPOVZ3OHDokp_yh80aU27qwTo116tB0xiM,1624
9
+ kostyl/ml_core/configs/base_model.py,sha256=nOuiBIQn5pYDRRq-F4HbfWi5cn8pfaT2kM02VGoo4TE,1622
10
10
  kostyl/ml_core/configs/hyperparams.py,sha256=u-7FIM-cD3nz9Sycuvg7r0Vdiu4pduafiCoAxq8JK0s,3011
11
- kostyl/ml_core/configs/training_settings.py,sha256=1pnhFGmeRZS7YKWrGR7rSCXF_eJIZeX2Rkr_NRBAFNk,2650
11
+ kostyl/ml_core/configs/training_settings.py,sha256=35EgIfqfoLAXtxwJ6XiWOalOcHDxrlsoBgjdtLbUI5k,2853
12
12
  kostyl/ml_core/dist_utils.py,sha256=G8atjzkRbXZZiZh9rdEYBmeXqX26rJdDDovft2n6xiU,3201
13
13
  kostyl/ml_core/lightning/__init__.py,sha256=-F3JAyq8KU1d-nACWryGu8d1CbvWbQ1rXFdeRwfE2X8,175
14
14
  kostyl/ml_core/lightning/callbacks/__init__.py,sha256=Vd-rozY4T9Prr3IMqbliXxj6sC6y9XsovHQqRwzc2HI,297
@@ -16,7 +16,7 @@ kostyl/ml_core/lightning/callbacks/checkpoint.py,sha256=RgkNNmsbAz9fdMYGlEgn9Qs_
16
16
  kostyl/ml_core/lightning/callbacks/early_stopping.py,sha256=nEj3OkMNJkpQzR6pt0Z0kvHDND6OWzWHw_aCZRmGE1s,620
17
17
  kostyl/ml_core/lightning/callbacks/registry_uploading.py,sha256=1aqT38FVOMQo4JphXcyjyK3ZY6A6HF1JBOsKqYNXar8,4706
18
18
  kostyl/ml_core/lightning/extenstions/__init__.py,sha256=OY6QGv1agYgqqKf1xJBrxgp_i8FunVfPzYezfaRrGXU,182
19
- kostyl/ml_core/lightning/extenstions/custom_module.py,sha256=8Z9iT7kdfLkzBQ8nLaCIxolXytiQqFVRLDSaNACjfK8,6146
19
+ kostyl/ml_core/lightning/extenstions/custom_module.py,sha256=M8kAvKSlrHT2-MPmzRUfbLhNOOMQzhwnN8FazZzkYg0,6311
20
20
  kostyl/ml_core/lightning/extenstions/pretrained_model.py,sha256=4Ng4xjt3KFWKT0UThC_9vM5Y95AhBdzrU4y4We1gemc,4685
21
21
  kostyl/ml_core/lightning/loggers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  kostyl/ml_core/lightning/loggers/tb_logger.py,sha256=Zh9n-lLu-bXMld-FIUO3lJfCyDf0IQFhS3JVShDJmvg,937
@@ -31,6 +31,6 @@ kostyl/utils/__init__.py,sha256=hkpmB6c5pr4Ti5BshOROebb7cvjDZfNCw83qZ_FFKMM,240
31
31
  kostyl/utils/dict_manipulations.py,sha256=e3vBicID74nYP8lHkVTQc4-IQwoJimrbFELy5uSF6Gk,1073
32
32
  kostyl/utils/fs.py,sha256=gAQNIU4R_2DhwjgzOS8BOMe0gZymtY1eZwmdgOdDgqo,510
33
33
  kostyl/utils/logging.py,sha256=3MvfDPArZhwakHu5nMlp_LpOsWg0E0SP26y41clsBtA,5232
34
- kostyl_toolkit-0.1.8.dist-info/WHEEL,sha256=3id4o64OvRm9dUknh3mMJNcfoTRK08ua5cU6DFyVy-4,79
35
- kostyl_toolkit-0.1.8.dist-info/METADATA,sha256=as5lkkeSw0gVJqEMTm9h4Vdq1P6Div7CHY35TfZVGLs,4268
36
- kostyl_toolkit-0.1.8.dist-info/RECORD,,
34
+ kostyl_toolkit-0.1.9.dist-info/WHEEL,sha256=3id4o64OvRm9dUknh3mMJNcfoTRK08ua5cU6DFyVy-4,79
35
+ kostyl_toolkit-0.1.9.dist-info/METADATA,sha256=iYt6-2YZOekG947b37TbF-ZC9ZG2jrCfCVnhjN3Ctw4,4268
36
+ kostyl_toolkit-0.1.9.dist-info/RECORD,,