nshtrainer 0.10.19__tar.gz → 0.11.0__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 (84) hide show
  1. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/PKG-INFO +7 -4
  2. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/pyproject.toml +6 -1
  3. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/actsave.py +1 -15
  4. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/model/modules/logger.py +1 -9
  5. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/README.md +0 -0
  6. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/__init__.py +0 -0
  7. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/_checkpoint/loader.py +0 -0
  8. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/_checkpoint/metadata.py +0 -0
  9. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/_checkpoint/saver.py +0 -0
  10. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/_experimental/__init__.py +0 -0
  11. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/_experimental/flops/__init__.py +0 -0
  12. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/_experimental/flops/flop_counter.py +0 -0
  13. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/_experimental/flops/module_tracker.py +0 -0
  14. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/__init__.py +0 -0
  15. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/_throughput_monitor_callback.py +0 -0
  16. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/base.py +0 -0
  17. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/early_stopping.py +0 -0
  18. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/ema.py +0 -0
  19. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/finite_checks.py +0 -0
  20. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/gradient_skipping.py +0 -0
  21. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/interval.py +0 -0
  22. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/latest_epoch_checkpoint.py +0 -0
  23. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/log_epoch.py +0 -0
  24. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/model_checkpoint.py +0 -0
  25. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/norm_logging.py +0 -0
  26. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/on_exception_checkpoint.py +0 -0
  27. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/print_table.py +0 -0
  28. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/throughput_monitor.py +0 -0
  29. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/timer.py +0 -0
  30. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/callbacks/wandb_watch.py +0 -0
  31. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/data/__init__.py +0 -0
  32. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/data/balanced_batch_sampler.py +0 -0
  33. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/data/transform.py +0 -0
  34. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/__init__.py +0 -0
  35. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/_experimental.py +0 -0
  36. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/actsave.py +0 -0
  37. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/callbacks.py +0 -0
  38. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/config.py +0 -0
  39. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/data.py +0 -0
  40. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/log.py +0 -0
  41. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/lr_scheduler.py +0 -0
  42. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/model.py +0 -0
  43. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/nn.py +0 -0
  44. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/optimizer.py +0 -0
  45. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/runner.py +0 -0
  46. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/snapshot.py +0 -0
  47. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/snoop.py +0 -0
  48. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/trainer.py +0 -0
  49. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/typecheck.py +0 -0
  50. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/ll/util.py +0 -0
  51. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/lr_scheduler/__init__.py +0 -0
  52. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/lr_scheduler/_base.py +0 -0
  53. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/lr_scheduler/linear_warmup_cosine.py +0 -0
  54. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/lr_scheduler/reduce_lr_on_plateau.py +0 -0
  55. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/metrics/__init__.py +0 -0
  56. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/metrics/_config.py +0 -0
  57. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/model/__init__.py +0 -0
  58. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/model/base.py +0 -0
  59. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/model/config.py +0 -0
  60. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/model/modules/callback.py +0 -0
  61. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/model/modules/debug.py +0 -0
  62. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/model/modules/distributed.py +0 -0
  63. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/model/modules/profiler.py +0 -0
  64. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/model/modules/rlp_sanity_checks.py +0 -0
  65. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/model/modules/shared_parameters.py +0 -0
  66. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/nn/__init__.py +0 -0
  67. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/nn/mlp.py +0 -0
  68. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/nn/module_dict.py +0 -0
  69. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/nn/module_list.py +0 -0
  70. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/nn/nonlinearity.py +0 -0
  71. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/optimizer.py +0 -0
  72. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/runner.py +0 -0
  73. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/scripts/find_packages.py +0 -0
  74. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/trainer/__init__.py +0 -0
  75. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/trainer/_runtime_callback.py +0 -0
  76. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/trainer/checkpoint_connector.py +0 -0
  77. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/trainer/signal_connector.py +0 -0
  78. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/trainer/trainer.py +0 -0
  79. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/util/_environment_info.py +0 -0
  80. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/util/environment.py +0 -0
  81. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/util/seed.py +0 -0
  82. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/util/slurm.py +0 -0
  83. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/util/typed.py +0 -0
  84. {nshtrainer-0.10.19 → nshtrainer-0.11.0}/src/nshtrainer/util/typing_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nshtrainer
3
- Version: 0.10.19
3
+ Version: 0.11.0
4
4
  Summary:
5
5
  Author: Nima Shoghi
6
6
  Author-email: nimashoghi@gmail.com
@@ -9,7 +9,8 @@ Classifier: Programming Language :: Python :: 3
9
9
  Classifier: Programming Language :: Python :: 3.10
10
10
  Classifier: Programming Language :: Python :: 3.11
11
11
  Classifier: Programming Language :: Python :: 3.12
12
- Requires-Dist: GitPython
12
+ Provides-Extra: extra
13
+ Requires-Dist: GitPython ; extra == "extra"
13
14
  Requires-Dist: lightning
14
15
  Requires-Dist: nshconfig
15
16
  Requires-Dist: nshrunner
@@ -17,10 +18,12 @@ Requires-Dist: nshutils
17
18
  Requires-Dist: numpy
18
19
  Requires-Dist: psutil
19
20
  Requires-Dist: pytorch-lightning
21
+ Requires-Dist: tensorboard ; extra == "extra"
20
22
  Requires-Dist: torch
21
- Requires-Dist: torchmetrics
23
+ Requires-Dist: torchmetrics ; extra == "extra"
22
24
  Requires-Dist: typing-extensions
23
- Requires-Dist: wrapt
25
+ Requires-Dist: wandb ; extra == "extra"
26
+ Requires-Dist: wrapt ; extra == "extra"
24
27
  Description-Content-Type: text/markdown
25
28
 
26
29
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "nshtrainer"
3
- version = "0.10.19"
3
+ version = "0.11.0"
4
4
  description = ""
5
5
  authors = ["Nima Shoghi <nimashoghi@gmail.com>"]
6
6
  readme = "README.md"
@@ -19,6 +19,8 @@ pytorch-lightning = "*"
19
19
  torchmetrics = { version = "*", optional = true }
20
20
  wrapt = { version = "*", optional = true }
21
21
  GitPython = { version = "*", optional = true }
22
+ wandb = { version = "*", optional = true }
23
+ tensorboard = { version = "*", optional = true }
22
24
 
23
25
  [tool.poetry.group.dev.dependencies]
24
26
  pyright = "^1.1.372"
@@ -40,3 +42,6 @@ reportPrivateImportUsage = false
40
42
 
41
43
  [tool.ruff.lint]
42
44
  ignore = ["F722", "F821", "E731", "E741"]
45
+
46
+ [tool.poetry.extras]
47
+ extra = ["torchmetrics", "wrapt", "GitPython", "wandb", "tensorboard"]
@@ -4,15 +4,11 @@ from typing import Literal
4
4
 
5
5
  from lightning.pytorch import LightningModule, Trainer
6
6
  from lightning.pytorch.callbacks.callback import Callback
7
+ from nshutils import ActSave
7
8
  from typing_extensions import TypeAlias, override
8
9
 
9
10
  from .base import CallbackConfigBase
10
11
 
11
- try:
12
- from nshutils import ActSave # type: ignore
13
- except ImportError:
14
- ActSave = None
15
-
16
12
  Stage: TypeAlias = Literal["train", "validation", "test", "predict"]
17
13
 
18
14
 
@@ -51,11 +47,6 @@ class ActSaveCallback(Callback):
51
47
  if not self.config:
52
48
  return
53
49
 
54
- if ActSave is None:
55
- raise ImportError(
56
- "ActSave is not installed. Please install nshutils to use the ActSaveCallback."
57
- )
58
-
59
50
  context = ActSave.enabled(self.save_dir)
60
51
  context.__enter__()
61
52
  self._enabled_context = context
@@ -77,11 +68,6 @@ class ActSaveCallback(Callback):
77
68
  if not self.config:
78
69
  return
79
70
 
80
- if ActSave is None:
81
- raise ImportError(
82
- "ActSave is not installed. Please install nshutils to use the ActSaveCallback."
83
- )
84
-
85
71
  # If we have an active context manager for this stage, exit it
86
72
  if active_contexts := self._active_contexts.get(stage):
87
73
  active_contexts.__exit__(None, None, None)
@@ -9,16 +9,12 @@ import torchmetrics
9
9
  from lightning.pytorch import LightningDataModule, LightningModule
10
10
  from lightning.pytorch.utilities.types import _METRIC
11
11
  from lightning_utilities.core.rank_zero import rank_zero_warn
12
+ from nshutils import ActSave
12
13
  from typing_extensions import override
13
14
 
14
15
  from ...util.typing_utils import mixin_base_type
15
16
  from ..config import BaseConfig
16
17
 
17
- try:
18
- from nshutils import ActSave # type: ignore
19
- except ImportError:
20
- ActSave = None
21
-
22
18
 
23
19
  @dataclass(frozen=True, kw_only=True)
24
20
  class _LogContext:
@@ -162,10 +158,6 @@ class LoggerLightningModuleMixin(LoggerModuleMixin, mixin_base_type(LightningMod
162
158
  if not hparams.trainer.logging.actsave_logged_metrics:
163
159
  return
164
160
 
165
- if ActSave is None:
166
- rank_zero_warn("ActSave is not available, skipping logging of metrics")
167
- return
168
-
169
161
  ActSave.save(
170
162
  lambda: {
171
163
  f"logger.{name}": lambda: value.compute()
File without changes