kostyl-toolkit 0.1.14__py3-none-any.whl → 0.1.15__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.
- kostyl/ml/configs/training_settings.py +1 -1
- kostyl/ml/lightning/callbacks/registry_uploading.py +23 -31
- {kostyl_toolkit-0.1.14.dist-info → kostyl_toolkit-0.1.15.dist-info}/METADATA +1 -1
- {kostyl_toolkit-0.1.14.dist-info → kostyl_toolkit-0.1.15.dist-info}/RECORD +5 -5
- {kostyl_toolkit-0.1.14.dist-info → kostyl_toolkit-0.1.15.dist-info}/WHEEL +0 -0
|
@@ -78,49 +78,41 @@ class ClearMLRegistryUploaderCallback(Callback):
|
|
|
78
78
|
)
|
|
79
79
|
return output_model
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
def on_validation_epoch_end(
|
|
83
|
-
self, trainer: Trainer, pl_module: KostylLightningModule
|
|
84
|
-
) -> None:
|
|
85
|
-
if (not trainer.is_global_zero) or (
|
|
86
|
-
self.uploading_frequency != "after-every-eval"
|
|
87
|
-
):
|
|
88
|
-
return
|
|
81
|
+
def _upload_best_checkpoint(self, pl_module: KostylLightningModule) -> None:
|
|
89
82
|
if self._output_model is None:
|
|
90
83
|
self._output_model = self._create_output_model(pl_module)
|
|
91
84
|
|
|
92
|
-
if self.ckpt_callback.best_model_path
|
|
85
|
+
if self.ckpt_callback.best_model_path == self._last_best_model_path:
|
|
86
|
+
if self.verbose and (self._last_best_model_path != ""):
|
|
87
|
+
logger.info("Best model unchanged since last upload")
|
|
88
|
+
elif self.verbose:
|
|
89
|
+
logger.info("No best model found yet to upload")
|
|
90
|
+
else:
|
|
93
91
|
if self.verbose:
|
|
94
|
-
logger.info(
|
|
92
|
+
logger.info(
|
|
93
|
+
f"Uploading best model from {self.ckpt_callback.best_model_path}"
|
|
94
|
+
)
|
|
95
95
|
self._output_model.update_weights(
|
|
96
96
|
self.ckpt_callback.best_model_path,
|
|
97
97
|
auto_delete_file=False,
|
|
98
|
-
async_enable=
|
|
98
|
+
async_enable=False,
|
|
99
99
|
)
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
return
|
|
101
|
+
|
|
102
|
+
@override
|
|
103
|
+
def on_validation_epoch_end(
|
|
104
|
+
self, trainer: Trainer, pl_module: KostylLightningModule
|
|
105
|
+
) -> None:
|
|
106
|
+
if (not trainer.is_global_zero) or (
|
|
107
|
+
self.uploading_frequency != "after-every-eval"
|
|
108
|
+
):
|
|
109
|
+
return
|
|
110
|
+
self._upload_best_checkpoint(pl_module)
|
|
103
111
|
return
|
|
104
112
|
|
|
105
113
|
@override
|
|
106
114
|
def on_train_end(self, trainer: Trainer, pl_module: KostylLightningModule) -> None:
|
|
107
115
|
if not trainer.is_global_zero:
|
|
108
116
|
return
|
|
109
|
-
|
|
110
|
-
self._output_model = self._create_output_model(pl_module)
|
|
111
|
-
|
|
112
|
-
if self.ckpt_callback.best_model_path != self._last_best_model_path:
|
|
113
|
-
if self.verbose:
|
|
114
|
-
logger.info(
|
|
115
|
-
f"Best model path at the end of training: {self.ckpt_callback.best_model_path}"
|
|
116
|
-
)
|
|
117
|
-
self._output_model.update_weights(
|
|
118
|
-
self.ckpt_callback.best_model_path,
|
|
119
|
-
auto_delete_file=False,
|
|
120
|
-
async_enable=False,
|
|
121
|
-
)
|
|
122
|
-
elif self.verbose:
|
|
123
|
-
logger.info(
|
|
124
|
-
"Best model path at the end of training: unchanged since last upload, skipping..."
|
|
125
|
-
)
|
|
117
|
+
self._upload_best_checkpoint(pl_module)
|
|
126
118
|
return
|
|
@@ -7,13 +7,13 @@ kostyl/ml/clearml/pulling_utils.py,sha256=-9EIMUu3daWLj99s_G5rJ_omykz1nPLqxBzBJ8
|
|
|
7
7
|
kostyl/ml/configs/__init__.py,sha256=IetcivbqYGutowLqxdKp7QR4tkXKBr4m8t4Zkk9jHZU,911
|
|
8
8
|
kostyl/ml/configs/base_model.py,sha256=Eofn14J9RsjpVx_J4rp6C19pDDCANU4hr3JtX-d0FpQ,4820
|
|
9
9
|
kostyl/ml/configs/hyperparams.py,sha256=CaVNEvpW4LvlHhLsbe2FockIGI1mJufCqjH298nYgKE,2971
|
|
10
|
-
kostyl/ml/configs/training_settings.py,sha256=
|
|
10
|
+
kostyl/ml/configs/training_settings.py,sha256=0cyKF6EuTv6KgXC1g0Oy9zbwnMkDP4uXTJJO1TRQ0aY,2556
|
|
11
11
|
kostyl/ml/dist_utils.py,sha256=G8atjzkRbXZZiZh9rdEYBmeXqX26rJdDDovft2n6xiU,3201
|
|
12
12
|
kostyl/ml/lightning/__init__.py,sha256=-F3JAyq8KU1d-nACWryGu8d1CbvWbQ1rXFdeRwfE2X8,175
|
|
13
13
|
kostyl/ml/lightning/callbacks/__init__.py,sha256=Vd-rozY4T9Prr3IMqbliXxj6sC6y9XsovHQqRwzc2HI,297
|
|
14
14
|
kostyl/ml/lightning/callbacks/checkpoint.py,sha256=FooGeeUz6TtoXQglpcK16NWAmSX3fbu6wntRtK3a_Io,1936
|
|
15
15
|
kostyl/ml/lightning/callbacks/early_stopping.py,sha256=D5nyjktCJ9XYAf28-kgXG8jORvXLl1N3nbDQnvValPM,615
|
|
16
|
-
kostyl/ml/lightning/callbacks/registry_uploading.py,sha256=
|
|
16
|
+
kostyl/ml/lightning/callbacks/registry_uploading.py,sha256=AAohqTGigWMGLHt-yITAznIVsaDVXR_jisLDzFNzlu8,4275
|
|
17
17
|
kostyl/ml/lightning/extenstions/__init__.py,sha256=OY6QGv1agYgqqKf1xJBrxgp_i8FunVfPzYezfaRrGXU,182
|
|
18
18
|
kostyl/ml/lightning/extenstions/custom_module.py,sha256=nB5jW7cqRD1tyh-q5LD2EtiFQwFkLXpnS9Yu6c5xMRg,5987
|
|
19
19
|
kostyl/ml/lightning/extenstions/pretrained_model.py,sha256=ZOKtrVl095cwvI43wAz-Xdzu4l0v0lHH2mfh4WXwxKQ,5059
|
|
@@ -30,6 +30,6 @@ kostyl/utils/__init__.py,sha256=hkpmB6c5pr4Ti5BshOROebb7cvjDZfNCw83qZ_FFKMM,240
|
|
|
30
30
|
kostyl/utils/dict_manipulations.py,sha256=e3vBicID74nYP8lHkVTQc4-IQwoJimrbFELy5uSF6Gk,1073
|
|
31
31
|
kostyl/utils/fs.py,sha256=gAQNIU4R_2DhwjgzOS8BOMe0gZymtY1eZwmdgOdDgqo,510
|
|
32
32
|
kostyl/utils/logging.py,sha256=3MvfDPArZhwakHu5nMlp_LpOsWg0E0SP26y41clsBtA,5232
|
|
33
|
-
kostyl_toolkit-0.1.
|
|
34
|
-
kostyl_toolkit-0.1.
|
|
35
|
-
kostyl_toolkit-0.1.
|
|
33
|
+
kostyl_toolkit-0.1.15.dist-info/WHEEL,sha256=3id4o64OvRm9dUknh3mMJNcfoTRK08ua5cU6DFyVy-4,79
|
|
34
|
+
kostyl_toolkit-0.1.15.dist-info/METADATA,sha256=ieM22BLWafdzv4x7f7zaCz_Yhbe1Qce22w0L2i3mK-c,4269
|
|
35
|
+
kostyl_toolkit-0.1.15.dist-info/RECORD,,
|
|
File without changes
|