nshtrainer 1.0.0b29__py3-none-any.whl → 1.0.0b31__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 (30) hide show
  1. nshtrainer/__init__.py +2 -0
  2. nshtrainer/configs/__init__.py +95 -3
  3. nshtrainer/configs/trainer/__init__.py +103 -3
  4. nshtrainer/configs/trainer/_config/__init__.py +10 -6
  5. nshtrainer/configs/trainer/accelerator/__init__.py +25 -0
  6. nshtrainer/configs/trainer/plugin/__init__.py +98 -0
  7. nshtrainer/configs/trainer/plugin/base/__init__.py +13 -0
  8. nshtrainer/configs/trainer/plugin/environment/__init__.py +41 -0
  9. nshtrainer/configs/trainer/plugin/io/__init__.py +23 -0
  10. nshtrainer/configs/trainer/plugin/layer_sync/__init__.py +15 -0
  11. nshtrainer/configs/trainer/plugin/precision/__init__.py +43 -0
  12. nshtrainer/configs/trainer/strategy/__init__.py +11 -0
  13. nshtrainer/configs/trainer/trainer/__init__.py +2 -0
  14. nshtrainer/data/datamodule.py +2 -0
  15. nshtrainer/model/base.py +2 -0
  16. nshtrainer/trainer/__init__.py +2 -0
  17. nshtrainer/trainer/_config.py +3 -47
  18. nshtrainer/trainer/accelerator.py +86 -0
  19. nshtrainer/trainer/plugin/__init__.py +10 -0
  20. nshtrainer/trainer/plugin/base.py +33 -0
  21. nshtrainer/trainer/plugin/environment.py +128 -0
  22. nshtrainer/trainer/plugin/io.py +62 -0
  23. nshtrainer/trainer/plugin/layer_sync.py +25 -0
  24. nshtrainer/trainer/plugin/precision.py +163 -0
  25. nshtrainer/trainer/strategy.py +51 -0
  26. nshtrainer/trainer/trainer.py +8 -9
  27. nshtrainer/util/hparams.py +17 -0
  28. {nshtrainer-1.0.0b29.dist-info → nshtrainer-1.0.0b31.dist-info}/METADATA +1 -1
  29. {nshtrainer-1.0.0b29.dist-info → nshtrainer-1.0.0b31.dist-info}/RECORD +30 -13
  30. {nshtrainer-1.0.0b29.dist-info → nshtrainer-1.0.0b31.dist-info}/WHEEL +0 -0
@@ -0,0 +1,163 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Any, Literal
4
+
5
+ from lightning.pytorch.plugins.precision import Precision
6
+ from typing_extensions import override
7
+
8
+ from ...util.config.dtype import DTypeConfig
9
+ from .base import PluginConfigBase, plugin_registry
10
+
11
+
12
+ @plugin_registry.register
13
+ class MixedPrecisionPluginConfig(PluginConfigBase):
14
+ name: Literal["mixed_precision"] = "mixed_precision"
15
+
16
+ precision: Literal["16-mixed", "bf16-mixed"]
17
+ """Whether to use ``torch.float16`` (``'16-mixed'``) or ``torch.bfloat16`` (``'bf16-mixed'``)."""
18
+
19
+ device: str
20
+ """The device for ``torch.autocast``."""
21
+
22
+ @override
23
+ def create_plugin(self, trainer_config) -> Precision:
24
+ from lightning.pytorch.plugins.precision.amp import MixedPrecision
25
+
26
+ return MixedPrecision(self.precision, self.device)
27
+
28
+
29
+ @plugin_registry.register
30
+ class BitsandbytesPluginConfig(PluginConfigBase):
31
+ name: Literal["bitsandbytes_precision"] = "bitsandbytes_precision"
32
+
33
+ mode: Literal["nf4", "nf4-dq", "fp4", "fp4-dq", "int8", "int8-training"]
34
+ """The quantization mode to use."""
35
+
36
+ dtype: DTypeConfig | None = None
37
+ """The compute dtype to use."""
38
+
39
+ ignore_modules: set[str] | None = None
40
+ """The submodules whose Linear layers should not be replaced.
41
+
42
+ This might be desirable for numerical stability. The string will be checked
43
+ as a prefix, so a value like "transformer.blocks" will ignore all linear
44
+ layers in all of the transformer blocks.
45
+ """
46
+
47
+ @override
48
+ def create_plugin(self, trainer_config) -> Precision:
49
+ from lightning.pytorch.plugins.precision.bitsandbytes import (
50
+ BitsandbytesPrecision,
51
+ )
52
+
53
+ return BitsandbytesPrecision(
54
+ mode=self.mode,
55
+ dtype=self.dtype.torch_dtype if self.dtype is not None else None,
56
+ ignore_modules=self.ignore_modules,
57
+ )
58
+
59
+
60
+ @plugin_registry.register
61
+ class DeepSpeedPluginConfig(PluginConfigBase):
62
+ name: Literal["deepspeed_precision"] = "deepspeed_precision"
63
+
64
+ precision: Literal["16-true", "bf16-true", "16-mixed", "bf16-mixed", "32-true"]
65
+ """Full precision (32-true), half precision (16-true, bf16-true) or
66
+ mixed precision (16-mixed, bf16-mixed)."""
67
+
68
+ @override
69
+ def create_plugin(self, trainer_config) -> Precision:
70
+ from lightning.pytorch.plugins.precision.deepspeed import DeepSpeedPrecision
71
+
72
+ return DeepSpeedPrecision(precision=self.precision)
73
+
74
+
75
+ @plugin_registry.register
76
+ class DoublePrecisionPluginConfig(PluginConfigBase):
77
+ name: Literal["double_precision"] = "double_precision"
78
+
79
+ precision: Literal["64-true"] = "64-true"
80
+ """Plugin for training with double (``torch.float64``) precision."""
81
+
82
+ @override
83
+ def create_plugin(self, trainer_config) -> Precision:
84
+ from lightning.pytorch.plugins.precision.double import DoublePrecision
85
+
86
+ return DoublePrecision()
87
+
88
+
89
+ @plugin_registry.register
90
+ class FSDPPrecisionPluginConfig(PluginConfigBase):
91
+ name: Literal["fsdp_precision"] = "fsdp_precision"
92
+
93
+ precision: Literal["16-true", "bf16-true", "16-mixed", "bf16-mixed", "32-true"]
94
+ """Full precision (32-true), half precision (16-true, bf16-true) or
95
+ mixed precision (16-mixed, bf16-mixed)."""
96
+
97
+ @override
98
+ def create_plugin(self, trainer_config) -> Precision:
99
+ from lightning.pytorch.plugins.precision.fsdp import FSDPPrecision
100
+
101
+ return FSDPPrecision(precision=self.precision)
102
+
103
+
104
+ @plugin_registry.register
105
+ class HalfPrecisionPluginConfig(PluginConfigBase):
106
+ name: Literal["half_precision"] = "half_precision"
107
+
108
+ precision: Literal["bf16-true", "16-true"]
109
+ """Whether to use ``torch.float16`` (``'16-true'``) or ``torch.bfloat16`` (``'bf16-true'``)."""
110
+
111
+ @override
112
+ def create_plugin(self, trainer_config) -> Precision:
113
+ from lightning.pytorch.plugins.precision.half import HalfPrecision
114
+
115
+ return HalfPrecision(precision=self.precision)
116
+
117
+
118
+ @plugin_registry.register
119
+ class TransformerEnginePluginConfig(PluginConfigBase):
120
+ name: Literal["transformer_engine_precision"] = "transformer_engine_precision"
121
+
122
+ weights_dtype: DTypeConfig
123
+ """The weights dtype to use."""
124
+
125
+ recipe: dict[str, Any] | None = None
126
+ """Recipe for the DelayedScaling configuration in dict format."""
127
+
128
+ replace_layers: bool | None = None
129
+ """Whether to replace ``Linear`` and ``LayerNorm`` layers automatically with their
130
+ Transformer Engine alternatives."""
131
+
132
+ fallback_compute_dtype: DTypeConfig | None = None
133
+ """The compute dtype to use for operations that don't support fp8 autocast.
134
+ Defaults to the same as weights_dtype."""
135
+
136
+ @override
137
+ def create_plugin(self, trainer_config) -> Precision:
138
+ from lightning.pytorch.plugins.precision.transformer_engine import (
139
+ TransformerEnginePrecision,
140
+ )
141
+
142
+ return TransformerEnginePrecision(
143
+ weights_dtype=self.weights_dtype.torch_dtype,
144
+ recipe=self.recipe,
145
+ replace_layers=self.replace_layers,
146
+ fallback_compute_dtype=self.fallback_compute_dtype.torch_dtype
147
+ if self.fallback_compute_dtype
148
+ else None,
149
+ )
150
+
151
+
152
+ @plugin_registry.register
153
+ class XLAPluginConfig(PluginConfigBase):
154
+ name: Literal["xla_precision"] = "xla_precision"
155
+
156
+ precision: Literal["32-true", "16-true", "bf16-true"]
157
+ """Full precision (32-true) or half precision (16-true, bf16-true)."""
158
+
159
+ @override
160
+ def create_plugin(self, trainer_config) -> Precision:
161
+ from lightning.pytorch.plugins.precision.xla import XLAPrecision
162
+
163
+ return XLAPrecision(precision=self.precision)
@@ -0,0 +1,51 @@
1
+ from __future__ import annotations
2
+
3
+ from abc import ABC, abstractmethod
4
+ from typing import TYPE_CHECKING, Literal
5
+
6
+ import nshconfig as C
7
+ from lightning.pytorch.strategies.strategy import Strategy
8
+ from typing_extensions import TypeAliasType
9
+
10
+ if TYPE_CHECKING:
11
+ from ._config import TrainerConfig
12
+
13
+ StrategyLiteral = TypeAliasType(
14
+ "StrategyLiteral",
15
+ Literal[
16
+ "auto",
17
+ "ddp",
18
+ "ddp_find_unused_parameters_false",
19
+ "ddp_find_unused_parameters_true",
20
+ "ddp_spawn",
21
+ "ddp_spawn_find_unused_parameters_false",
22
+ "ddp_spawn_find_unused_parameters_true",
23
+ "ddp_fork",
24
+ "ddp_fork_find_unused_parameters_false",
25
+ "ddp_fork_find_unused_parameters_true",
26
+ "ddp_notebook",
27
+ "dp",
28
+ "deepspeed",
29
+ "deepspeed_stage_1",
30
+ "deepspeed_stage_1_offload",
31
+ "deepspeed_stage_2",
32
+ "deepspeed_stage_2_offload",
33
+ "deepspeed_stage_3",
34
+ "deepspeed_stage_3_offload",
35
+ "deepspeed_stage_3_offload_nvme",
36
+ "fsdp",
37
+ "fsdp_cpu_offload",
38
+ "single_xla",
39
+ "xla_fsdp",
40
+ "xla",
41
+ "single_tpu",
42
+ ],
43
+ )
44
+
45
+
46
+ class StrategyConfigBase(C.Config, ABC):
47
+ @abstractmethod
48
+ def create_strategy(self, trainer_config: "TrainerConfig") -> Strategy: ...
49
+
50
+
51
+ StrategyConfig = TypeAliasType("StrategyConfig", StrategyConfigBase)
@@ -22,14 +22,12 @@ from .._checkpoint.metadata import _write_checkpoint_metadata
22
22
  from ..callbacks.base import resolve_all_callbacks
23
23
  from ..util._environment_info import EnvironmentConfig
24
24
  from ..util.bf16 import is_bf16_supported_no_emulation
25
- from ._config import (
26
- AcceleratorConfigBase,
27
- LightningTrainerKwargs,
28
- StrategyConfigBase,
29
- TrainerConfig,
30
- )
25
+ from ._config import LightningTrainerKwargs, TrainerConfig
31
26
  from ._runtime_callback import RuntimeTrackerCallback, Stage
27
+ from .accelerator import AcceleratorConfigBase
28
+ from .plugin import PluginConfigBase
32
29
  from .signal_connector import _SignalConnector
30
+ from .strategy import StrategyConfigBase
33
31
 
34
32
  log = logging.getLogger(__name__)
35
33
 
@@ -172,12 +170,12 @@ class Trainer(LightningTrainer):
172
170
 
173
171
  if (accelerator := hparams.accelerator) is not None:
174
172
  if isinstance(accelerator, AcceleratorConfigBase):
175
- accelerator = accelerator.create_accelerator()
173
+ accelerator = accelerator.create_accelerator(hparams)
176
174
  _update_kwargs(accelerator=accelerator)
177
175
 
178
176
  if (strategy := hparams.strategy) is not None:
179
177
  if isinstance(strategy, StrategyConfigBase):
180
- strategy = strategy.create_strategy()
178
+ strategy = strategy.create_strategy(hparams)
181
179
  _update_kwargs(strategy=strategy)
182
180
 
183
181
  if (precision := hparams.precision) is not None:
@@ -238,7 +236,8 @@ class Trainer(LightningTrainer):
238
236
  if plugin_configs := hparams.plugins:
239
237
  _update_kwargs(
240
238
  plugins=[
241
- plugin_config.create_plugin() for plugin_config in plugin_configs
239
+ plugin_config.create_plugin(hparams)
240
+ for plugin_config in plugin_configs
242
241
  ]
243
242
  )
244
243
 
@@ -0,0 +1,17 @@
1
+ from __future__ import annotations
2
+
3
+ import nshconfig as C
4
+ from lightning.pytorch.core.mixins.hparams_mixin import (
5
+ HyperparametersMixin as _LightningHyperparametersMixin,
6
+ )
7
+ from typing_extensions import override
8
+
9
+
10
+ class HyperparamsMixin(_LightningHyperparametersMixin):
11
+ @override
12
+ def _set_hparams(self, hp):
13
+ if isinstance(hp, C.Config):
14
+ self._hparams = hp
15
+ return
16
+
17
+ return super()._set_hparams(hp)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nshtrainer
3
- Version: 1.0.0b29
3
+ Version: 1.0.0b31
4
4
  Summary:
5
5
  Author: Nima Shoghi
6
6
  Author-email: nimashoghi@gmail.com
@@ -1,5 +1,5 @@
1
1
  nshtrainer/.nshconfig.generated.json,sha256=yZd6cn1RhvNNJUgiUTRYut8ofZYvbulnpPG-rZIRhi4,106
2
- nshtrainer/__init__.py,sha256=VcqBfL8RgCcZDaY645nxeDmOspqerx4x46wggCMnS0E,692
2
+ nshtrainer/__init__.py,sha256=52OB7QRlhrTCIdDecpT7yEZyZM1XvYxywhuORn1eKoY,814
3
3
  nshtrainer/_callback.py,sha256=tXQCDzS6CvMTuTY5lQSH5qZs1pXUi-gt9bQdpXMVdEs,12715
4
4
  nshtrainer/_checkpoint/metadata.py,sha256=PHy-54Cg-o3OtCffAqrVv6ZVMU7zhRo_-sZiSEEno1Y,5019
5
5
  nshtrainer/_checkpoint/saver.py,sha256=LOP8jjKF0Dw9x9H-BKrLMWlEp1XTan2DUK0zQUCWw5U,1360
@@ -31,7 +31,7 @@ nshtrainer/callbacks/shared_parameters.py,sha256=ggMI1krkqN7sGOrjK_I96IsTMYMXHoV
31
31
  nshtrainer/callbacks/timer.py,sha256=BB-M7tV4QNYOwY_Su6j9P7IILxVRae_upmDq4qsxiao,4670
32
32
  nshtrainer/callbacks/wandb_upload_code.py,sha256=PTqNE1QB5U8NR5zhbiQZrmQuugX2UV7B12UdMpo9aV0,2353
33
33
  nshtrainer/callbacks/wandb_watch.py,sha256=tTTcFzxd2Ia9xu8tCogQ5CLJZBq1ne5JlpGVE75vKYs,2976
34
- nshtrainer/configs/__init__.py,sha256=zyo4lV9ObB3T3_hhBhzWGNb6MRma4h7QHD3OrypxqEw,10582
34
+ nshtrainer/configs/__init__.py,sha256=eS3naq6EG1vCq28G2nAW1CqYFdsrh6ueBlzX_LazgUw,14159
35
35
  nshtrainer/configs/_checkpoint/__init__.py,sha256=6s7Y68StboqscY2G4P_QG443jz5aiym5SjOogIljWLg,342
36
36
  nshtrainer/configs/_checkpoint/metadata/__init__.py,sha256=oOPfYkXTjKgm6pluGsG6V1TPyCEGjsQpHVL-LffSUFQ,290
37
37
  nshtrainer/configs/_directory/__init__.py,sha256=_oO7vM9DhzHSxtZcv86sTi7hZIptnK1gr-AP9mqQ370,386
@@ -81,9 +81,17 @@ nshtrainer/configs/profiler/_base/__init__.py,sha256=ekYfPg-VDhCAFM5nJka2TxUYdRD
81
81
  nshtrainer/configs/profiler/advanced/__init__.py,sha256=-ThpUat16Ij_0avkMUVVA8wCWDG_q_tM7KQofnWQCtg,308
82
82
  nshtrainer/configs/profiler/pytorch/__init__.py,sha256=soAU1s2_Pa1na4gW8CK-iysJBO5M_7YeZC2_x40iEdg,294
83
83
  nshtrainer/configs/profiler/simple/__init__.py,sha256=3Wb11lPuFuyasq8xS1CZ4WLuBCLS_nVSQGVllvOOi0Y,289
84
- nshtrainer/configs/trainer/__init__.py,sha256=KIDYjJsc-WYXKiH2RNzAZJD5MKOTdO9wdtu_vWDNPxU,3936
85
- nshtrainer/configs/trainer/_config/__init__.py,sha256=1_Ad5uTvXdVuHMJB3s8s-0EraDwNZssg3sXBmVouF9w,3847
86
- nshtrainer/configs/trainer/trainer/__init__.py,sha256=DDuBRx0kVNMW0z_sqKTUt8-Ql7bOpargi4KcHHvDu_c,486
84
+ nshtrainer/configs/trainer/__init__.py,sha256=hKMI_2ve5zcsQys2DDQDv7OmshYsIG0uJlCLreVHpF0,7779
85
+ nshtrainer/configs/trainer/_config/__init__.py,sha256=Xw6I_9tUemDbHncpjKHRqye_e1_OyubK_FJcvdcQ0yc,4020
86
+ nshtrainer/configs/trainer/accelerator/__init__.py,sha256=3H6R3wlwbKL1TzDqGCChZk78-BcE2czLouo7Djiq3nA,898
87
+ nshtrainer/configs/trainer/plugin/__init__.py,sha256=NkHQxMPkrtTtdIAO4dQUE9SWEcHRDB0yUXLkTjnl4dA,3332
88
+ nshtrainer/configs/trainer/plugin/base/__init__.py,sha256=GuubcKrbXt4VjJRT8VpNUQqBtyuutre_CfkS0EWZ5_E,368
89
+ nshtrainer/configs/trainer/plugin/environment/__init__.py,sha256=3o16x4qRAOvkJH9Vg4-QwsEODDC6aP_OXRnPPkm_xSo,1376
90
+ nshtrainer/configs/trainer/plugin/io/__init__.py,sha256=W6G67JnigB6d3MiwLrbSKgtIZLUccXznp-IXwkK1J4U,743
91
+ nshtrainer/configs/trainer/plugin/layer_sync/__init__.py,sha256=SYDZk2M6sgpt4sEuoURuS8EKYmaqGcvYxETE9jvTrEE,431
92
+ nshtrainer/configs/trainer/plugin/precision/__init__.py,sha256=szlqSfK2XuWdkf72LQzQFv3SlWfKFdRUpBEYIxQ3TPs,1507
93
+ nshtrainer/configs/trainer/strategy/__init__.py,sha256=50whNloJVBq_bdbLaPQnPBTeS1Rcs8MwxTCYBj1kKa4,273
94
+ nshtrainer/configs/trainer/trainer/__init__.py,sha256=QnuhMQNAa1nSVN2o50_WeKAQG_qkNlkeoq9zTjjwmTI,586
87
95
  nshtrainer/configs/util/__init__.py,sha256=qXittS7f7MyaqJnjvFLKnKsyb6bXTD3dEV16jXVDaH4,2104
88
96
  nshtrainer/configs/util/_environment_info/__init__.py,sha256=eB4E0Ck7XCeSC5gbUdA5thd7TXnjGCL0t8GZIFj7uCI,1644
89
97
  nshtrainer/configs/util/config/__init__.py,sha256=nEFiDG3-dvvTytYn1tEkPFzp7fgaGRp2j7toSN7yRGs,501
@@ -91,7 +99,7 @@ nshtrainer/configs/util/config/dtype/__init__.py,sha256=PmGF-O4r6SXqEaagVsQ5YxEq
91
99
  nshtrainer/configs/util/config/duration/__init__.py,sha256=44lS2irOIPVfgshMTfnZM2jC6l0Pjst9w2M_lJoS_MU,353
92
100
  nshtrainer/data/__init__.py,sha256=K4i3Tw4g9EOK2zlMMbidi99y0SyI4w8P7_XUf1n42Ts,260
93
101
  nshtrainer/data/balanced_batch_sampler.py,sha256=r1cBKRXKHD8E1Ax6tj-FUbE-z1qpbO58mQ9VrK9uLnc,5481
94
- nshtrainer/data/datamodule.py,sha256=lSOgH32nysJWa6Y7ba1QyOdUV0DVVdO98qokP8wigjk,4138
102
+ nshtrainer/data/datamodule.py,sha256=zov9GycH_kqHk-zp6S9gH5W-1lPYlRxx6zeX7jvartg,4204
95
103
  nshtrainer/data/transform.py,sha256=qd0lIocO59Fk_m90xyOHgFezbymd1mRwly8nbYIfHGc,2263
96
104
  nshtrainer/loggers/__init__.py,sha256=-y8B-9TF6vJdZUQewJNDcZ2aOv04FEUFtKwaiDobIO0,670
97
105
  nshtrainer/loggers/_base.py,sha256=nw4AZzJP3Z-fljgQlgq7FkuMkPmYKTsXj7OfJJSmtXI,811
@@ -106,7 +114,7 @@ nshtrainer/lr_scheduler/reduce_lr_on_plateau.py,sha256=vXH5S26ESHO_LPPqW8aDC3S5N
106
114
  nshtrainer/metrics/__init__.py,sha256=Nqkn_jsDf3n5WtfMcnaaEftYjIIT2b-S7rmsB1MOMkU,86
107
115
  nshtrainer/metrics/_config.py,sha256=XIRokFM8PHrhBa3w2R6BM6a4es3ncsoBqE_LqXQFsFE,1223
108
116
  nshtrainer/model/__init__.py,sha256=3G-bwPPSRStWdsdwG9-rn0bXcRpEiP1BiQpF_qavtls,97
109
- nshtrainer/model/base.py,sha256=JL3AmH17GQjQIoMrZl3O0vUI7dj5ZsO5iEJgoLPyzHw,10356
117
+ nshtrainer/model/base.py,sha256=M_EJ6nXuG0B2u3iHOHTDQ2iNYYm6tGsBJIZ76RmFLn0,10422
110
118
  nshtrainer/model/mixins/callback.py,sha256=0LPgve4VszHbLipid4mpI1qnnmdGS2spivs0dXLvqHw,3154
111
119
  nshtrainer/model/mixins/debug.py,sha256=1LX9KzeFX9JDPs_a6YCdYDZXLhEk_5rBO2aCqlfBy7w,2087
112
120
  nshtrainer/model/mixins/logger.py,sha256=27H99FuLaxc6_dDLG2pid4E_5E0-eLGnc2Ifpt0HYIM,6066
@@ -121,22 +129,31 @@ nshtrainer/profiler/_base.py,sha256=kFcSVn9gJuMwgDxbfyHh46CmEAIPZjxw3yjPbKgzvwA,
121
129
  nshtrainer/profiler/advanced.py,sha256=XrM3FX0ThCv5UwUrrH0l4Ow4LGAtpiBww2N8QAU5NOQ,1160
122
130
  nshtrainer/profiler/pytorch.py,sha256=8K37XvPnCApUpIK8tA2zNMFIaIiTLSoxKQoiyCPBm1Q,2757
123
131
  nshtrainer/profiler/simple.py,sha256=PimjqcU-JuS-8C0ZGHAdwCxgNLij4x0FH6WXsjBQzZs,1005
124
- nshtrainer/trainer/__init__.py,sha256=MmoydVS6aYeav7zgDAUHxAQrV_PMQsbnZTCuPnLH9Wk,128
125
- nshtrainer/trainer/_config.py,sha256=VD0DfdS-pyQ2nFG83c4u5AUkSAHODmXLX5s2qtvS_to,35400
132
+ nshtrainer/trainer/__init__.py,sha256=ggDHzIUbABezh4BjEwrxyWuXmuDBV-x4jv9gwXgVHU0,250
133
+ nshtrainer/trainer/_config.py,sha256=0GgofvaWf5Vo9REXNJpTvpVVRlFExGTOzcOt4jwJXNk,34129
126
134
  nshtrainer/trainer/_runtime_callback.py,sha256=6F2Gq27Q8OFfN3RtdNC6QRA8ac0LC1hh4DUE3V5WgbI,4217
135
+ nshtrainer/trainer/accelerator.py,sha256=Bqq-ry7DeCY4zw9_zBvTZiijpA-uUHrDjtbLV652m4M,2415
136
+ nshtrainer/trainer/plugin/__init__.py,sha256=UM8f70Ml3RGpsXeQr1Yh1yBcxxjFNGFGgJbniCn_rws,366
137
+ nshtrainer/trainer/plugin/base.py,sha256=9-qUHXGpll_yCylun0899sbmJDpyhD9IQcBtVrJx38I,919
138
+ nshtrainer/trainer/plugin/environment.py,sha256=NW0qbsbvDPe59JGOMgPLq1fj7szLucIV1WRTxCrcjF4,4367
139
+ nshtrainer/trainer/plugin/io.py,sha256=nm6YDCVZAhmPvLaLnw6q4BrK2Gj2wvD5ZLDhj1xneEE,2030
140
+ nshtrainer/trainer/plugin/layer_sync.py,sha256=h-ydZwXepnsw5-paLgiDatqPyQ_8C0QEv6DrYFIaXOo,735
141
+ nshtrainer/trainer/plugin/precision.py,sha256=I0QsB1bVxmsFmBOkgrAfGONsuYae_lD9Bz0PfJEQvH4,5598
127
142
  nshtrainer/trainer/signal_connector.py,sha256=GhfGcSzfaTNhnj2QFkBDq5aT7FqbLMA7eC8SYQs8_8w,10828
128
- nshtrainer/trainer/trainer.py,sha256=HHqT83zWtYY9g5yD6X9aWrVh5VSpILW8PhoE6fp4snE,20734
143
+ nshtrainer/trainer/strategy.py,sha256=VPTn5z3zvXTydY8IJchjhjcOfpvtoejnvUkq5E4WTus,1368
144
+ nshtrainer/trainer/trainer.py,sha256=l2kJs27v4IHZnzxExr0zX0sVex0wukgiD2Wn_0wiGJg,20836
129
145
  nshtrainer/util/_environment_info.py,sha256=MT8mBe6ZolRfKiwU-les1P-lPNPqXpHQcfADrh_A3uY,24629
130
146
  nshtrainer/util/bf16.py,sha256=9QhHZCkYSfYpIcxwAMoXyuh2yTSHBzT-EdLQB297jEs,762
131
147
  nshtrainer/util/config/__init__.py,sha256=Z39JJufSb61Lhn2GfVcv3eFW_eorOrN9-9llDWlnZZM,272
132
148
  nshtrainer/util/config/dtype.py,sha256=Fn_MhhQoHPyFAnFPSwvcvLiGR3yWFIszMba02CJiC4g,2213
133
149
  nshtrainer/util/config/duration.py,sha256=mM-UfU_HvhXwW33TYEDg0x58n80tnle2e6VaWtxZTjk,764
134
150
  nshtrainer/util/environment.py,sha256=s-B5nY0cKYXdFMdNYumvC_xxacMATiI4DvV2gUDu20k,4195
151
+ nshtrainer/util/hparams.py,sha256=G0v96OEFeKUgBWiGKpLA9_tDVlGOVRDBIIRVYgfea3g,449
135
152
  nshtrainer/util/path.py,sha256=L-Nh9tlXSUfoP19TFbQq8I0AfS5ugCfGYTYFeddDHcs,3516
136
153
  nshtrainer/util/seed.py,sha256=diMV8iwBKN7Xxt5pELmui-gyqyT80_CZzomrWhNss0k,316
137
154
  nshtrainer/util/slurm.py,sha256=HflkP5iI_r4UHMyPjw9R4dD5AHsJUpcfJw5PLvGYBRM,1603
138
155
  nshtrainer/util/typed.py,sha256=Xt5fUU6zwLKSTLUdenovnKK0N8qUq89Kddz2_XeykVQ,164
139
156
  nshtrainer/util/typing_utils.py,sha256=MjY-CUX9R5Tzat-BlFnQjwl1PQ_W2yZQoXhkYHlJ_VA,442
140
- nshtrainer-1.0.0b29.dist-info/METADATA,sha256=YRehZvU9svmmfAmwFrdmu-Tzxgi_EHbFwrn-ewD8W9c,988
141
- nshtrainer-1.0.0b29.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
142
- nshtrainer-1.0.0b29.dist-info/RECORD,,
157
+ nshtrainer-1.0.0b31.dist-info/METADATA,sha256=SUn7kI99-ZLTyFc_nzPDhg5PXH4qQXoJYyU11OfYTog,988
158
+ nshtrainer-1.0.0b31.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
159
+ nshtrainer-1.0.0b31.dist-info/RECORD,,