nshtrainer 0.41.1__py3-none-any.whl → 0.43.0__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.
Files changed (162) hide show
  1. nshtrainer/__init__.py +2 -0
  2. nshtrainer/_callback.py +2 -0
  3. nshtrainer/_checkpoint/loader.py +2 -0
  4. nshtrainer/_checkpoint/metadata.py +2 -0
  5. nshtrainer/_checkpoint/saver.py +2 -0
  6. nshtrainer/_directory.py +4 -2
  7. nshtrainer/_experimental/__init__.py +2 -0
  8. nshtrainer/_hf_hub.py +2 -0
  9. nshtrainer/callbacks/__init__.py +45 -29
  10. nshtrainer/callbacks/_throughput_monitor_callback.py +2 -0
  11. nshtrainer/callbacks/actsave.py +2 -0
  12. nshtrainer/callbacks/base.py +2 -0
  13. nshtrainer/callbacks/checkpoint/__init__.py +6 -2
  14. nshtrainer/callbacks/checkpoint/_base.py +2 -0
  15. nshtrainer/callbacks/checkpoint/best_checkpoint.py +2 -0
  16. nshtrainer/callbacks/checkpoint/last_checkpoint.py +4 -2
  17. nshtrainer/callbacks/checkpoint/on_exception_checkpoint.py +6 -2
  18. nshtrainer/callbacks/debug_flag.py +2 -0
  19. nshtrainer/callbacks/directory_setup.py +4 -2
  20. nshtrainer/callbacks/early_stopping.py +6 -4
  21. nshtrainer/callbacks/ema.py +5 -3
  22. nshtrainer/callbacks/finite_checks.py +3 -1
  23. nshtrainer/callbacks/gradient_skipping.py +6 -4
  24. nshtrainer/callbacks/interval.py +2 -0
  25. nshtrainer/callbacks/log_epoch.py +13 -1
  26. nshtrainer/callbacks/norm_logging.py +4 -2
  27. nshtrainer/callbacks/print_table.py +3 -1
  28. nshtrainer/callbacks/rlp_sanity_checks.py +4 -2
  29. nshtrainer/callbacks/shared_parameters.py +4 -2
  30. nshtrainer/callbacks/throughput_monitor.py +2 -0
  31. nshtrainer/callbacks/timer.py +5 -3
  32. nshtrainer/callbacks/wandb_upload_code.py +4 -2
  33. nshtrainer/callbacks/wandb_watch.py +4 -2
  34. nshtrainer/config/__init__.py +445 -94
  35. nshtrainer/config/_checkpoint/loader/__init__.py +56 -12
  36. nshtrainer/config/_checkpoint/metadata/__init__.py +23 -7
  37. nshtrainer/config/_directory/__init__.py +26 -8
  38. nshtrainer/config/_hf_hub/__init__.py +26 -8
  39. nshtrainer/config/callbacks/__init__.py +154 -29
  40. nshtrainer/config/callbacks/actsave/__init__.py +21 -7
  41. nshtrainer/config/callbacks/base/__init__.py +18 -6
  42. nshtrainer/config/callbacks/checkpoint/__init__.py +63 -12
  43. nshtrainer/config/callbacks/checkpoint/_base/__init__.py +34 -8
  44. nshtrainer/config/callbacks/checkpoint/best_checkpoint/__init__.py +41 -9
  45. nshtrainer/config/callbacks/checkpoint/last_checkpoint/__init__.py +34 -8
  46. nshtrainer/config/callbacks/checkpoint/on_exception_checkpoint/__init__.py +27 -7
  47. nshtrainer/config/callbacks/debug_flag/__init__.py +25 -7
  48. nshtrainer/config/callbacks/directory_setup/__init__.py +27 -7
  49. nshtrainer/config/callbacks/early_stopping/__init__.py +32 -8
  50. nshtrainer/config/callbacks/ema/__init__.py +21 -7
  51. nshtrainer/config/callbacks/finite_checks/__init__.py +27 -7
  52. nshtrainer/config/callbacks/gradient_skipping/__init__.py +27 -7
  53. nshtrainer/config/callbacks/norm_logging/__init__.py +27 -7
  54. nshtrainer/config/callbacks/print_table/__init__.py +27 -7
  55. nshtrainer/config/callbacks/rlp_sanity_checks/__init__.py +27 -7
  56. nshtrainer/config/callbacks/shared_parameters/__init__.py +27 -7
  57. nshtrainer/config/callbacks/throughput_monitor/__init__.py +27 -7
  58. nshtrainer/config/callbacks/timer/__init__.py +25 -7
  59. nshtrainer/config/callbacks/wandb_upload_code/__init__.py +27 -7
  60. nshtrainer/config/callbacks/wandb_watch/__init__.py +27 -7
  61. nshtrainer/config/loggers/__init__.py +49 -14
  62. nshtrainer/config/loggers/_base/__init__.py +16 -6
  63. nshtrainer/config/loggers/csv/__init__.py +19 -7
  64. nshtrainer/config/loggers/tensorboard/__init__.py +25 -7
  65. nshtrainer/config/loggers/wandb/__init__.py +38 -10
  66. nshtrainer/config/lr_scheduler/__init__.py +50 -11
  67. nshtrainer/config/lr_scheduler/_base/__init__.py +20 -6
  68. nshtrainer/config/lr_scheduler/linear_warmup_cosine/__init__.py +34 -8
  69. nshtrainer/config/lr_scheduler/reduce_lr_on_plateau/__init__.py +34 -8
  70. nshtrainer/config/metrics/__init__.py +17 -6
  71. nshtrainer/config/metrics/_config/__init__.py +16 -6
  72. nshtrainer/config/model/__init__.py +32 -11
  73. nshtrainer/config/model/base/__init__.py +19 -7
  74. nshtrainer/config/model/config/__init__.py +31 -11
  75. nshtrainer/config/model/mixins/logger/__init__.py +16 -6
  76. nshtrainer/config/nn/__init__.py +70 -23
  77. nshtrainer/config/nn/mlp/__init__.py +22 -8
  78. nshtrainer/config/nn/nonlinearity/__init__.py +119 -21
  79. nshtrainer/config/optimizer/__init__.py +22 -8
  80. nshtrainer/config/profiler/__init__.py +29 -10
  81. nshtrainer/config/profiler/_base/__init__.py +18 -6
  82. nshtrainer/config/profiler/advanced/__init__.py +25 -7
  83. nshtrainer/config/profiler/pytorch/__init__.py +25 -7
  84. nshtrainer/config/profiler/simple/__init__.py +23 -7
  85. nshtrainer/config/runner/__init__.py +16 -6
  86. nshtrainer/config/trainer/_config/__init__.py +147 -29
  87. nshtrainer/config/trainer/checkpoint_connector/__init__.py +20 -6
  88. nshtrainer/config/util/_environment_info/__init__.py +88 -16
  89. nshtrainer/config/util/config/__init__.py +26 -9
  90. nshtrainer/config/util/config/dtype/__init__.py +16 -6
  91. nshtrainer/config/util/config/duration/__init__.py +28 -8
  92. nshtrainer/data/__init__.py +2 -0
  93. nshtrainer/data/balanced_batch_sampler.py +2 -0
  94. nshtrainer/data/datamodule.py +2 -0
  95. nshtrainer/data/transform.py +2 -0
  96. nshtrainer/ll/__init__.py +2 -0
  97. nshtrainer/ll/_experimental.py +2 -0
  98. nshtrainer/ll/actsave.py +2 -0
  99. nshtrainer/ll/callbacks.py +2 -0
  100. nshtrainer/ll/config.py +2 -0
  101. nshtrainer/ll/data.py +2 -0
  102. nshtrainer/ll/log.py +2 -0
  103. nshtrainer/ll/lr_scheduler.py +2 -0
  104. nshtrainer/ll/model.py +2 -0
  105. nshtrainer/ll/nn.py +2 -0
  106. nshtrainer/ll/optimizer.py +2 -0
  107. nshtrainer/ll/runner.py +2 -0
  108. nshtrainer/ll/snapshot.py +2 -0
  109. nshtrainer/ll/snoop.py +2 -0
  110. nshtrainer/ll/trainer.py +2 -0
  111. nshtrainer/ll/typecheck.py +2 -0
  112. nshtrainer/ll/util.py +2 -0
  113. nshtrainer/loggers/__init__.py +2 -0
  114. nshtrainer/loggers/_base.py +2 -0
  115. nshtrainer/loggers/csv.py +2 -0
  116. nshtrainer/loggers/tensorboard.py +2 -0
  117. nshtrainer/loggers/wandb.py +6 -4
  118. nshtrainer/lr_scheduler/__init__.py +2 -0
  119. nshtrainer/lr_scheduler/_base.py +2 -0
  120. nshtrainer/lr_scheduler/linear_warmup_cosine.py +2 -0
  121. nshtrainer/lr_scheduler/reduce_lr_on_plateau.py +2 -0
  122. nshtrainer/metrics/__init__.py +2 -0
  123. nshtrainer/metrics/_config.py +2 -0
  124. nshtrainer/model/__init__.py +2 -0
  125. nshtrainer/model/base.py +2 -0
  126. nshtrainer/model/config.py +2 -0
  127. nshtrainer/model/mixins/callback.py +2 -0
  128. nshtrainer/model/mixins/logger.py +2 -0
  129. nshtrainer/nn/__init__.py +2 -0
  130. nshtrainer/nn/mlp.py +2 -0
  131. nshtrainer/nn/module_dict.py +2 -0
  132. nshtrainer/nn/module_list.py +2 -0
  133. nshtrainer/nn/nonlinearity.py +2 -0
  134. nshtrainer/optimizer.py +2 -0
  135. nshtrainer/profiler/__init__.py +2 -0
  136. nshtrainer/profiler/_base.py +2 -0
  137. nshtrainer/profiler/advanced.py +2 -0
  138. nshtrainer/profiler/pytorch.py +2 -0
  139. nshtrainer/profiler/simple.py +2 -0
  140. nshtrainer/runner.py +2 -0
  141. nshtrainer/scripts/find_packages.py +2 -0
  142. nshtrainer/trainer/__init__.py +2 -0
  143. nshtrainer/trainer/_config.py +16 -13
  144. nshtrainer/trainer/_runtime_callback.py +2 -0
  145. nshtrainer/trainer/checkpoint_connector.py +2 -0
  146. nshtrainer/trainer/signal_connector.py +2 -0
  147. nshtrainer/trainer/trainer.py +2 -0
  148. nshtrainer/util/_environment_info.py +2 -0
  149. nshtrainer/util/bf16.py +2 -0
  150. nshtrainer/util/config/__init__.py +2 -0
  151. nshtrainer/util/config/dtype.py +2 -0
  152. nshtrainer/util/config/duration.py +2 -0
  153. nshtrainer/util/environment.py +2 -0
  154. nshtrainer/util/path.py +2 -0
  155. nshtrainer/util/seed.py +2 -0
  156. nshtrainer/util/slurm.py +3 -0
  157. nshtrainer/util/typed.py +2 -0
  158. nshtrainer/util/typing_utils.py +2 -0
  159. {nshtrainer-0.41.1.dist-info → nshtrainer-0.43.0.dist-info}/METADATA +1 -1
  160. nshtrainer-0.43.0.dist-info/RECORD +162 -0
  161. nshtrainer-0.41.1.dist-info/RECORD +0 -162
  162. {nshtrainer-0.41.1.dist-info → nshtrainer-0.43.0.dist-info}/WHEEL +0 -0
@@ -1,22 +1,94 @@
1
- # fmt: off
2
- # ruff: noqa
3
- # type: ignore
1
+ from __future__ import annotations
4
2
 
5
3
  __codegen__ = True
6
4
 
7
- # Config classes
8
- from nshtrainer.util._environment_info import EnvironmentSnapshotConfig as EnvironmentSnapshotConfig
9
- from nshtrainer.util._environment_info import EnvironmentHardwareConfig as EnvironmentHardwareConfig
10
- from nshtrainer.util._environment_info import EnvironmentPackageConfig as EnvironmentPackageConfig
11
- from nshtrainer.util._environment_info import GitRepositoryConfig as GitRepositoryConfig
12
- from nshtrainer.util._environment_info import EnvironmentGPUConfig as EnvironmentGPUConfig
13
- from nshtrainer.util._environment_info import EnvironmentCUDAConfig as EnvironmentCUDAConfig
14
- from nshtrainer.util._environment_info import EnvironmentLinuxEnvironmentConfig as EnvironmentLinuxEnvironmentConfig
15
- from nshtrainer.util._environment_info import EnvironmentClassInformationConfig as EnvironmentClassInformationConfig
16
- from nshtrainer.util._environment_info import EnvironmentSLURMInformationConfig as EnvironmentSLURMInformationConfig
17
- from nshtrainer.util._environment_info import EnvironmentConfig as EnvironmentConfig
18
- from nshtrainer.util._environment_info import EnvironmentLSFInformationConfig as EnvironmentLSFInformationConfig
5
+ from typing import TYPE_CHECKING
19
6
 
20
- # Type aliases
7
+ # Config/alias imports
8
+
9
+ if TYPE_CHECKING:
10
+ from nshtrainer.util._environment_info import (
11
+ EnvironmentClassInformationConfig as EnvironmentClassInformationConfig,
12
+ )
13
+ from nshtrainer.util._environment_info import EnvironmentConfig as EnvironmentConfig
14
+ from nshtrainer.util._environment_info import (
15
+ EnvironmentCUDAConfig as EnvironmentCUDAConfig,
16
+ )
17
+ from nshtrainer.util._environment_info import (
18
+ EnvironmentGPUConfig as EnvironmentGPUConfig,
19
+ )
20
+ from nshtrainer.util._environment_info import (
21
+ EnvironmentHardwareConfig as EnvironmentHardwareConfig,
22
+ )
23
+ from nshtrainer.util._environment_info import (
24
+ EnvironmentLinuxEnvironmentConfig as EnvironmentLinuxEnvironmentConfig,
25
+ )
26
+ from nshtrainer.util._environment_info import (
27
+ EnvironmentLSFInformationConfig as EnvironmentLSFInformationConfig,
28
+ )
29
+ from nshtrainer.util._environment_info import (
30
+ EnvironmentPackageConfig as EnvironmentPackageConfig,
31
+ )
32
+ from nshtrainer.util._environment_info import (
33
+ EnvironmentSLURMInformationConfig as EnvironmentSLURMInformationConfig,
34
+ )
35
+ from nshtrainer.util._environment_info import (
36
+ EnvironmentSnapshotConfig as EnvironmentSnapshotConfig,
37
+ )
38
+ from nshtrainer.util._environment_info import (
39
+ GitRepositoryConfig as GitRepositoryConfig,
40
+ )
41
+ else:
42
+
43
+ def __getattr__(name):
44
+ import importlib
45
+
46
+ if name in globals():
47
+ return globals()[name]
48
+ if name == "EnvironmentLinuxEnvironmentConfig":
49
+ return importlib.import_module(
50
+ "nshtrainer.util._environment_info"
51
+ ).EnvironmentLinuxEnvironmentConfig
52
+ if name == "EnvironmentLSFInformationConfig":
53
+ return importlib.import_module(
54
+ "nshtrainer.util._environment_info"
55
+ ).EnvironmentLSFInformationConfig
56
+ if name == "EnvironmentGPUConfig":
57
+ return importlib.import_module(
58
+ "nshtrainer.util._environment_info"
59
+ ).EnvironmentGPUConfig
60
+ if name == "EnvironmentPackageConfig":
61
+ return importlib.import_module(
62
+ "nshtrainer.util._environment_info"
63
+ ).EnvironmentPackageConfig
64
+ if name == "EnvironmentHardwareConfig":
65
+ return importlib.import_module(
66
+ "nshtrainer.util._environment_info"
67
+ ).EnvironmentHardwareConfig
68
+ if name == "EnvironmentSnapshotConfig":
69
+ return importlib.import_module(
70
+ "nshtrainer.util._environment_info"
71
+ ).EnvironmentSnapshotConfig
72
+ if name == "EnvironmentClassInformationConfig":
73
+ return importlib.import_module(
74
+ "nshtrainer.util._environment_info"
75
+ ).EnvironmentClassInformationConfig
76
+ if name == "GitRepositoryConfig":
77
+ return importlib.import_module(
78
+ "nshtrainer.util._environment_info"
79
+ ).GitRepositoryConfig
80
+ if name == "EnvironmentConfig":
81
+ return importlib.import_module(
82
+ "nshtrainer.util._environment_info"
83
+ ).EnvironmentConfig
84
+ if name == "EnvironmentCUDAConfig":
85
+ return importlib.import_module(
86
+ "nshtrainer.util._environment_info"
87
+ ).EnvironmentCUDAConfig
88
+ if name == "EnvironmentSLURMInformationConfig":
89
+ return importlib.import_module(
90
+ "nshtrainer.util._environment_info"
91
+ ).EnvironmentSLURMInformationConfig
92
+ raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
21
93
 
22
94
  # Submodule exports
@@ -1,16 +1,33 @@
1
- # fmt: off
2
- # ruff: noqa
3
- # type: ignore
1
+ from __future__ import annotations
4
2
 
5
3
  __codegen__ = True
6
4
 
7
- # Config classes
8
- from nshtrainer.util.config import EpochsConfig as EpochsConfig
9
- from nshtrainer.util.config import StepsConfig as StepsConfig
10
- from nshtrainer.util.config import DTypeConfig as DTypeConfig
5
+ from typing import TYPE_CHECKING
6
+
7
+ # Config/alias imports
8
+
9
+ if TYPE_CHECKING:
10
+ from nshtrainer.util.config import DTypeConfig as DTypeConfig
11
+ from nshtrainer.util.config import DurationConfig as DurationConfig
12
+ from nshtrainer.util.config import EpochsConfig as EpochsConfig
13
+ from nshtrainer.util.config import StepsConfig as StepsConfig
14
+ else:
15
+
16
+ def __getattr__(name):
17
+ import importlib
18
+
19
+ if name in globals():
20
+ return globals()[name]
21
+ if name == "EpochsConfig":
22
+ return importlib.import_module("nshtrainer.util.config").EpochsConfig
23
+ if name == "StepsConfig":
24
+ return importlib.import_module("nshtrainer.util.config").StepsConfig
25
+ if name == "DTypeConfig":
26
+ return importlib.import_module("nshtrainer.util.config").DTypeConfig
27
+ if name == "DurationConfig":
28
+ return importlib.import_module("nshtrainer.util.config").DurationConfig
29
+ raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
11
30
 
12
- # Type aliases
13
- from nshtrainer.util.config import DurationConfig as DurationConfig
14
31
 
15
32
  # Submodule exports
16
33
  from . import dtype as dtype
@@ -1,12 +1,22 @@
1
- # fmt: off
2
- # ruff: noqa
3
- # type: ignore
1
+ from __future__ import annotations
4
2
 
5
3
  __codegen__ = True
6
4
 
7
- # Config classes
8
- from nshtrainer.util.config.dtype import DTypeConfig as DTypeConfig
5
+ from typing import TYPE_CHECKING
9
6
 
10
- # Type aliases
7
+ # Config/alias imports
8
+
9
+ if TYPE_CHECKING:
10
+ from nshtrainer.util.config.dtype import DTypeConfig as DTypeConfig
11
+ else:
12
+
13
+ def __getattr__(name):
14
+ import importlib
15
+
16
+ if name in globals():
17
+ return globals()[name]
18
+ if name == "DTypeConfig":
19
+ return importlib.import_module("nshtrainer.util.config.dtype").DTypeConfig
20
+ raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
11
21
 
12
22
  # Submodule exports
@@ -1,14 +1,34 @@
1
- # fmt: off
2
- # ruff: noqa
3
- # type: ignore
1
+ from __future__ import annotations
4
2
 
5
3
  __codegen__ = True
6
4
 
7
- # Config classes
8
- from nshtrainer.util.config.duration import EpochsConfig as EpochsConfig
9
- from nshtrainer.util.config.duration import StepsConfig as StepsConfig
5
+ from typing import TYPE_CHECKING
10
6
 
11
- # Type aliases
12
- from nshtrainer.util.config.duration import DurationConfig as DurationConfig
7
+ # Config/alias imports
8
+
9
+ if TYPE_CHECKING:
10
+ from nshtrainer.util.config.duration import DurationConfig as DurationConfig
11
+ from nshtrainer.util.config.duration import EpochsConfig as EpochsConfig
12
+ from nshtrainer.util.config.duration import StepsConfig as StepsConfig
13
+ else:
14
+
15
+ def __getattr__(name):
16
+ import importlib
17
+
18
+ if name in globals():
19
+ return globals()[name]
20
+ if name == "EpochsConfig":
21
+ return importlib.import_module(
22
+ "nshtrainer.util.config.duration"
23
+ ).EpochsConfig
24
+ if name == "StepsConfig":
25
+ return importlib.import_module(
26
+ "nshtrainer.util.config.duration"
27
+ ).StepsConfig
28
+ if name == "DurationConfig":
29
+ return importlib.import_module(
30
+ "nshtrainer.util.config.duration"
31
+ ).DurationConfig
32
+ raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
13
33
 
14
34
  # Submodule exports
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from . import transform as dataset_transform
2
4
  from .balanced_batch_sampler import BalancedBatchSampler as BalancedBatchSampler
3
5
  from .datamodule import LightningDataModuleBase as LightningDataModuleBase
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import heapq
2
4
  import logging
3
5
  from typing import Any, Protocol, runtime_checkable
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from lightning.pytorch import LightningDataModule
2
4
 
3
5
 
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import copy
2
4
  from collections.abc import Callable
3
5
  from typing import Any, cast
nshtrainer/ll/__init__.py CHANGED
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from typing import TypeAlias
2
4
 
3
5
  from . import _experimental as _experimental
@@ -1 +1,3 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshtrainer._experimental import * # noqa: F403
nshtrainer/ll/actsave.py CHANGED
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshutils.actsave import * # type: ignore # noqa: F403
2
4
 
3
5
  from nshtrainer.callbacks.actsave import ActSaveCallback as ActSaveCallback
@@ -1 +1,3 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshtrainer.callbacks import * # noqa: F403
nshtrainer/ll/config.py CHANGED
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshconfig import * # type: ignore # noqa: F403
2
4
  from nshconfig import Config as TypedConfig # type: ignore # noqa: F401
3
5
 
nshtrainer/ll/data.py CHANGED
@@ -1 +1,3 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshtrainer.data import * # noqa: F403
nshtrainer/ll/log.py CHANGED
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshutils import init_python_logging as init_python_logging
2
4
  from nshutils import lovely as lovely
3
5
  from nshutils import pretty as pretty
@@ -1 +1,3 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshtrainer.lr_scheduler import * # noqa: F403
nshtrainer/ll/model.py CHANGED
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshtrainer.model import * # noqa: F403
2
4
 
3
5
  from ..trainer._config import CheckpointLoadingConfig as CheckpointLoadingConfig
nshtrainer/ll/nn.py CHANGED
@@ -1 +1,3 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshtrainer.nn import * # noqa: F403
@@ -1 +1,3 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshtrainer.optimizer import * # noqa: F403
nshtrainer/ll/runner.py CHANGED
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshrunner import SnapshotConfig as SnapshotConfig
2
4
 
3
5
  from nshtrainer.runner import * # type: ignore # noqa: F403
nshtrainer/ll/snapshot.py CHANGED
@@ -1 +1,3 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshsnap import * # pyright: ignore[reportWildcardImportFromLibrary] # noqa: F403
nshtrainer/ll/snoop.py CHANGED
@@ -1 +1,3 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshutils import snoop as snoop
nshtrainer/ll/trainer.py CHANGED
@@ -1 +1,3 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshtrainer.trainer import * # noqa: F403
@@ -1 +1,3 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshutils.typecheck import * # type: ignore # noqa: F403
nshtrainer/ll/util.py CHANGED
@@ -1 +1,3 @@
1
+ from __future__ import annotations
2
+
1
3
  from nshtrainer.util import * # noqa: F403
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from typing import Annotated, TypeAlias
2
4
 
3
5
  import nshconfig as C
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from abc import ABC, abstractmethod
2
4
  from typing import TYPE_CHECKING
3
5
 
nshtrainer/loggers/csv.py CHANGED
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from typing import Literal
2
4
 
3
5
  from typing_extensions import override
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import logging
2
4
  from typing import Literal
3
5
 
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import importlib.metadata
2
4
  import logging
3
5
  from typing import TYPE_CHECKING, Literal
@@ -8,8 +10,8 @@ from packaging import version
8
10
  from typing_extensions import assert_never, override
9
11
 
10
12
  from ..callbacks.base import CallbackConfigBase
11
- from ..callbacks.wandb_upload_code import WandbUploadCodeConfig
12
- from ..callbacks.wandb_watch import WandbWatchConfig
13
+ from ..callbacks.wandb_upload_code import WandbUploadCodeCallbackConfig
14
+ from ..callbacks.wandb_watch import WandbWatchCallbackConfig
13
15
  from ._base import BaseLoggerConfig
14
16
 
15
17
  if TYPE_CHECKING:
@@ -92,10 +94,10 @@ class WandbLoggerConfig(CallbackConfigBase, BaseLoggerConfig):
92
94
  - "none" or False: Do not log any checkpoints
93
95
  """
94
96
 
95
- log_code: WandbUploadCodeConfig | None = WandbUploadCodeConfig()
97
+ log_code: WandbUploadCodeCallbackConfig | None = WandbUploadCodeCallbackConfig()
96
98
  """WandB code upload configuration. Used to upload code to WandB."""
97
99
 
98
- watch: WandbWatchConfig | None = WandbWatchConfig()
100
+ watch: WandbWatchCallbackConfig | None = WandbWatchCallbackConfig()
99
101
  """WandB model watch configuration. Used to log model architecture, gradients, and parameters."""
100
102
 
101
103
  offline: bool = False
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from typing import Annotated, TypeAlias
2
4
 
3
5
  import nshconfig as C
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import math
2
4
  from abc import ABC, abstractmethod
3
5
  from collections.abc import Mapping
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import math
2
4
  import warnings
3
5
  from typing import Literal
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from typing import TYPE_CHECKING, Literal, cast
2
4
 
3
5
  from lightning.pytorch.utilities.types import LRSchedulerConfigType
@@ -1 +1,3 @@
1
+ from __future__ import annotations
2
+
1
3
  from ._config import MetricConfig as MetricConfig
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import builtins
2
4
  from typing import Literal
3
5
 
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from .base import LightningModuleBase as LightningModuleBase
2
4
  from .config import BaseConfig as BaseConfig
3
5
  from .config import DirectoryConfig as DirectoryConfig
nshtrainer/model/base.py CHANGED
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import inspect
2
4
  import logging
3
5
  from abc import ABC, abstractmethod
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import copy
2
4
  import logging
3
5
  import os
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import logging
2
4
  from collections.abc import Callable, Iterable, Sequence
3
5
  from typing import Any, TypeAlias, cast, final
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from collections import deque
2
4
  from collections.abc import Callable, Generator
3
5
  from contextlib import contextmanager
nshtrainer/nn/__init__.py CHANGED
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from .mlp import MLP as MLP
2
4
  from .mlp import MLPConfig as MLPConfig
3
5
  from .mlp import MLPConfigDict as MLPConfigDict
nshtrainer/nn/mlp.py CHANGED
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import copy
2
4
  from collections.abc import Callable, Sequence
3
5
  from typing import Literal, Protocol, runtime_checkable
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from collections.abc import Iterable, Mapping
2
4
  from typing import Generic, cast
3
5
 
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from collections.abc import Iterable, Iterator
2
4
  from typing import Generic, TypeVar, overload
3
5
 
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from abc import ABC, abstractmethod
2
4
  from typing import Annotated, Literal
3
5
 
nshtrainer/optimizer.py CHANGED
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from abc import ABC, abstractmethod
2
4
  from collections.abc import Iterable
3
5
  from typing import Annotated, Any, Literal, TypeAlias
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  from typing import Annotated, TypeAlias
2
4
 
3
5
  import nshconfig as C
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import logging
2
4
  from abc import ABC, abstractmethod
3
5
  from pathlib import Path
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import logging
2
4
  from typing import Literal
3
5
 
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import logging
2
4
  from typing import Any, Literal
3
5
 
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import logging
2
4
  from typing import Literal
3
5
 
nshtrainer/runner.py CHANGED
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import copy
2
4
  import logging
3
5
  from collections.abc import Callable, Iterable, Mapping, Sequence
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import argparse
2
4
  import ast
3
5
  import glob
@@ -1 +1,3 @@
1
+ from __future__ import annotations
2
+
1
3
  from .trainer import Trainer as Trainer