nshtrainer 1.0.0b14__py3-none-any.whl → 1.0.0b16__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.
- nshtrainer/configs/__init__.py +134 -405
- nshtrainer/configs/_checkpoint/__init__.py +2 -25
- nshtrainer/configs/_checkpoint/metadata/__init__.py +2 -25
- nshtrainer/configs/_directory/__init__.py +5 -28
- nshtrainer/configs/_hf_hub/__init__.py +5 -28
- nshtrainer/configs/callbacks/__init__.py +52 -161
- nshtrainer/configs/callbacks/actsave/__init__.py +2 -23
- nshtrainer/configs/callbacks/base/__init__.py +1 -20
- nshtrainer/configs/callbacks/checkpoint/__init__.py +19 -64
- nshtrainer/configs/callbacks/checkpoint/_base/__init__.py +9 -36
- nshtrainer/configs/callbacks/checkpoint/best_checkpoint/__init__.py +10 -43
- nshtrainer/configs/callbacks/checkpoint/last_checkpoint/__init__.py +9 -36
- nshtrainer/configs/callbacks/checkpoint/on_exception_checkpoint/__init__.py +6 -29
- nshtrainer/configs/callbacks/debug_flag/__init__.py +4 -27
- nshtrainer/configs/callbacks/directory_setup/__init__.py +6 -29
- nshtrainer/configs/callbacks/early_stopping/__init__.py +5 -34
- nshtrainer/configs/callbacks/ema/__init__.py +2 -23
- nshtrainer/configs/callbacks/finite_checks/__init__.py +4 -29
- nshtrainer/configs/callbacks/gradient_skipping/__init__.py +6 -29
- nshtrainer/configs/callbacks/log_epoch/__init__.py +4 -27
- nshtrainer/configs/callbacks/lr_monitor/__init__.py +4 -27
- nshtrainer/configs/callbacks/norm_logging/__init__.py +4 -29
- nshtrainer/configs/callbacks/print_table/__init__.py +4 -29
- nshtrainer/configs/callbacks/rlp_sanity_checks/__init__.py +6 -29
- nshtrainer/configs/callbacks/shared_parameters/__init__.py +6 -29
- nshtrainer/configs/callbacks/timer/__init__.py +4 -27
- nshtrainer/configs/callbacks/wandb_upload_code/__init__.py +6 -29
- nshtrainer/configs/callbacks/wandb_watch/__init__.py +4 -29
- nshtrainer/configs/loggers/__init__.py +13 -52
- nshtrainer/configs/loggers/_base/__init__.py +1 -18
- nshtrainer/configs/loggers/actsave/__init__.py +2 -25
- nshtrainer/configs/loggers/csv/__init__.py +2 -21
- nshtrainer/configs/loggers/tensorboard/__init__.py +4 -27
- nshtrainer/configs/loggers/wandb/__init__.py +9 -40
- nshtrainer/configs/lr_scheduler/__init__.py +10 -51
- nshtrainer/configs/lr_scheduler/_base/__init__.py +1 -22
- nshtrainer/configs/lr_scheduler/linear_warmup_cosine/__init__.py +9 -36
- nshtrainer/configs/lr_scheduler/reduce_lr_on_plateau/__init__.py +7 -36
- nshtrainer/configs/metrics/__init__.py +1 -18
- nshtrainer/configs/metrics/_config/__init__.py +1 -18
- nshtrainer/configs/nn/__init__.py +19 -70
- nshtrainer/configs/nn/mlp/__init__.py +3 -24
- nshtrainer/configs/nn/nonlinearity/__init__.py +30 -121
- nshtrainer/configs/optimizer/__init__.py +3 -24
- nshtrainer/configs/profiler/__init__.py +5 -30
- nshtrainer/configs/profiler/_base/__init__.py +1 -20
- nshtrainer/configs/profiler/advanced/__init__.py +4 -27
- nshtrainer/configs/profiler/pytorch/__init__.py +2 -27
- nshtrainer/configs/profiler/simple/__init__.py +2 -25
- nshtrainer/configs/trainer/__init__.py +50 -169
- nshtrainer/configs/trainer/_config/__init__.py +50 -169
- nshtrainer/configs/trainer/trainer/__init__.py +2 -23
- nshtrainer/configs/util/__init__.py +33 -102
- nshtrainer/configs/util/_environment_info/__init__.py +29 -90
- nshtrainer/configs/util/config/__init__.py +4 -27
- nshtrainer/configs/util/config/dtype/__init__.py +1 -18
- nshtrainer/configs/util/config/duration/__init__.py +3 -30
- nshtrainer/trainer/_config.py +42 -10
- {nshtrainer-1.0.0b14.dist-info → nshtrainer-1.0.0b16.dist-info}/METADATA +1 -1
- {nshtrainer-1.0.0b14.dist-info → nshtrainer-1.0.0b16.dist-info}/RECORD +61 -61
- {nshtrainer-1.0.0b14.dist-info → nshtrainer-1.0.0b16.dist-info}/WHEEL +0 -0
@@ -2,108 +2,39 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
__codegen__ = True
|
4
4
|
|
5
|
-
from
|
5
|
+
from nshtrainer.util._environment_info import (
|
6
|
+
EnvironmentClassInformationConfig as EnvironmentClassInformationConfig,
|
7
|
+
)
|
8
|
+
from nshtrainer.util._environment_info import EnvironmentConfig as EnvironmentConfig
|
9
|
+
from nshtrainer.util._environment_info import (
|
10
|
+
EnvironmentCUDAConfig as EnvironmentCUDAConfig,
|
11
|
+
)
|
12
|
+
from nshtrainer.util._environment_info import (
|
13
|
+
EnvironmentGPUConfig as EnvironmentGPUConfig,
|
14
|
+
)
|
15
|
+
from nshtrainer.util._environment_info import (
|
16
|
+
EnvironmentHardwareConfig as EnvironmentHardwareConfig,
|
17
|
+
)
|
18
|
+
from nshtrainer.util._environment_info import (
|
19
|
+
EnvironmentLinuxEnvironmentConfig as EnvironmentLinuxEnvironmentConfig,
|
20
|
+
)
|
21
|
+
from nshtrainer.util._environment_info import (
|
22
|
+
EnvironmentLSFInformationConfig as EnvironmentLSFInformationConfig,
|
23
|
+
)
|
24
|
+
from nshtrainer.util._environment_info import (
|
25
|
+
EnvironmentPackageConfig as EnvironmentPackageConfig,
|
26
|
+
)
|
27
|
+
from nshtrainer.util._environment_info import (
|
28
|
+
EnvironmentSLURMInformationConfig as EnvironmentSLURMInformationConfig,
|
29
|
+
)
|
30
|
+
from nshtrainer.util._environment_info import (
|
31
|
+
EnvironmentSnapshotConfig as EnvironmentSnapshotConfig,
|
32
|
+
)
|
33
|
+
from nshtrainer.util._environment_info import GitRepositoryConfig as GitRepositoryConfig
|
34
|
+
from nshtrainer.util.config import DTypeConfig as DTypeConfig
|
35
|
+
from nshtrainer.util.config import DurationConfig as DurationConfig
|
36
|
+
from nshtrainer.util.config import EpochsConfig as EpochsConfig
|
37
|
+
from nshtrainer.util.config import StepsConfig as StepsConfig
|
6
38
|
|
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
|
-
from nshtrainer.util.config import DTypeConfig as DTypeConfig
|
42
|
-
from nshtrainer.util.config import DurationConfig as DurationConfig
|
43
|
-
from nshtrainer.util.config import EpochsConfig as EpochsConfig
|
44
|
-
from nshtrainer.util.config import StepsConfig as StepsConfig
|
45
|
-
else:
|
46
|
-
|
47
|
-
def __getattr__(name):
|
48
|
-
import importlib
|
49
|
-
|
50
|
-
if name in globals():
|
51
|
-
return globals()[name]
|
52
|
-
if name == "DTypeConfig":
|
53
|
-
return importlib.import_module("nshtrainer.util.config").DTypeConfig
|
54
|
-
if name == "EnvironmentCUDAConfig":
|
55
|
-
return importlib.import_module(
|
56
|
-
"nshtrainer.util._environment_info"
|
57
|
-
).EnvironmentCUDAConfig
|
58
|
-
if name == "EnvironmentClassInformationConfig":
|
59
|
-
return importlib.import_module(
|
60
|
-
"nshtrainer.util._environment_info"
|
61
|
-
).EnvironmentClassInformationConfig
|
62
|
-
if name == "EnvironmentConfig":
|
63
|
-
return importlib.import_module(
|
64
|
-
"nshtrainer.util._environment_info"
|
65
|
-
).EnvironmentConfig
|
66
|
-
if name == "EnvironmentGPUConfig":
|
67
|
-
return importlib.import_module(
|
68
|
-
"nshtrainer.util._environment_info"
|
69
|
-
).EnvironmentGPUConfig
|
70
|
-
if name == "EnvironmentHardwareConfig":
|
71
|
-
return importlib.import_module(
|
72
|
-
"nshtrainer.util._environment_info"
|
73
|
-
).EnvironmentHardwareConfig
|
74
|
-
if name == "EnvironmentLSFInformationConfig":
|
75
|
-
return importlib.import_module(
|
76
|
-
"nshtrainer.util._environment_info"
|
77
|
-
).EnvironmentLSFInformationConfig
|
78
|
-
if name == "EnvironmentLinuxEnvironmentConfig":
|
79
|
-
return importlib.import_module(
|
80
|
-
"nshtrainer.util._environment_info"
|
81
|
-
).EnvironmentLinuxEnvironmentConfig
|
82
|
-
if name == "EnvironmentPackageConfig":
|
83
|
-
return importlib.import_module(
|
84
|
-
"nshtrainer.util._environment_info"
|
85
|
-
).EnvironmentPackageConfig
|
86
|
-
if name == "EnvironmentSLURMInformationConfig":
|
87
|
-
return importlib.import_module(
|
88
|
-
"nshtrainer.util._environment_info"
|
89
|
-
).EnvironmentSLURMInformationConfig
|
90
|
-
if name == "EnvironmentSnapshotConfig":
|
91
|
-
return importlib.import_module(
|
92
|
-
"nshtrainer.util._environment_info"
|
93
|
-
).EnvironmentSnapshotConfig
|
94
|
-
if name == "EpochsConfig":
|
95
|
-
return importlib.import_module("nshtrainer.util.config").EpochsConfig
|
96
|
-
if name == "GitRepositoryConfig":
|
97
|
-
return importlib.import_module(
|
98
|
-
"nshtrainer.util._environment_info"
|
99
|
-
).GitRepositoryConfig
|
100
|
-
if name == "StepsConfig":
|
101
|
-
return importlib.import_module("nshtrainer.util.config").StepsConfig
|
102
|
-
if name == "DurationConfig":
|
103
|
-
return importlib.import_module("nshtrainer.util.config").DurationConfig
|
104
|
-
raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
|
105
|
-
|
106
|
-
|
107
|
-
# Submodule exports
|
108
39
|
from . import _environment_info as _environment_info
|
109
40
|
from . import config as config
|
@@ -2,93 +2,32 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
__codegen__ = True
|
4
4
|
|
5
|
-
from
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
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 == "EnvironmentCUDAConfig":
|
49
|
-
return importlib.import_module(
|
50
|
-
"nshtrainer.util._environment_info"
|
51
|
-
).EnvironmentCUDAConfig
|
52
|
-
if name == "EnvironmentClassInformationConfig":
|
53
|
-
return importlib.import_module(
|
54
|
-
"nshtrainer.util._environment_info"
|
55
|
-
).EnvironmentClassInformationConfig
|
56
|
-
if name == "EnvironmentConfig":
|
57
|
-
return importlib.import_module(
|
58
|
-
"nshtrainer.util._environment_info"
|
59
|
-
).EnvironmentConfig
|
60
|
-
if name == "EnvironmentGPUConfig":
|
61
|
-
return importlib.import_module(
|
62
|
-
"nshtrainer.util._environment_info"
|
63
|
-
).EnvironmentGPUConfig
|
64
|
-
if name == "EnvironmentHardwareConfig":
|
65
|
-
return importlib.import_module(
|
66
|
-
"nshtrainer.util._environment_info"
|
67
|
-
).EnvironmentHardwareConfig
|
68
|
-
if name == "EnvironmentLSFInformationConfig":
|
69
|
-
return importlib.import_module(
|
70
|
-
"nshtrainer.util._environment_info"
|
71
|
-
).EnvironmentLSFInformationConfig
|
72
|
-
if name == "EnvironmentLinuxEnvironmentConfig":
|
73
|
-
return importlib.import_module(
|
74
|
-
"nshtrainer.util._environment_info"
|
75
|
-
).EnvironmentLinuxEnvironmentConfig
|
76
|
-
if name == "EnvironmentPackageConfig":
|
77
|
-
return importlib.import_module(
|
78
|
-
"nshtrainer.util._environment_info"
|
79
|
-
).EnvironmentPackageConfig
|
80
|
-
if name == "EnvironmentSLURMInformationConfig":
|
81
|
-
return importlib.import_module(
|
82
|
-
"nshtrainer.util._environment_info"
|
83
|
-
).EnvironmentSLURMInformationConfig
|
84
|
-
if name == "EnvironmentSnapshotConfig":
|
85
|
-
return importlib.import_module(
|
86
|
-
"nshtrainer.util._environment_info"
|
87
|
-
).EnvironmentSnapshotConfig
|
88
|
-
if name == "GitRepositoryConfig":
|
89
|
-
return importlib.import_module(
|
90
|
-
"nshtrainer.util._environment_info"
|
91
|
-
).GitRepositoryConfig
|
92
|
-
raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
|
93
|
-
|
94
|
-
# Submodule exports
|
5
|
+
from nshtrainer.util._environment_info import (
|
6
|
+
EnvironmentClassInformationConfig as EnvironmentClassInformationConfig,
|
7
|
+
)
|
8
|
+
from nshtrainer.util._environment_info import EnvironmentConfig as EnvironmentConfig
|
9
|
+
from nshtrainer.util._environment_info import (
|
10
|
+
EnvironmentCUDAConfig as EnvironmentCUDAConfig,
|
11
|
+
)
|
12
|
+
from nshtrainer.util._environment_info import (
|
13
|
+
EnvironmentGPUConfig as EnvironmentGPUConfig,
|
14
|
+
)
|
15
|
+
from nshtrainer.util._environment_info import (
|
16
|
+
EnvironmentHardwareConfig as EnvironmentHardwareConfig,
|
17
|
+
)
|
18
|
+
from nshtrainer.util._environment_info import (
|
19
|
+
EnvironmentLinuxEnvironmentConfig as EnvironmentLinuxEnvironmentConfig,
|
20
|
+
)
|
21
|
+
from nshtrainer.util._environment_info import (
|
22
|
+
EnvironmentLSFInformationConfig as EnvironmentLSFInformationConfig,
|
23
|
+
)
|
24
|
+
from nshtrainer.util._environment_info import (
|
25
|
+
EnvironmentPackageConfig as EnvironmentPackageConfig,
|
26
|
+
)
|
27
|
+
from nshtrainer.util._environment_info import (
|
28
|
+
EnvironmentSLURMInformationConfig as EnvironmentSLURMInformationConfig,
|
29
|
+
)
|
30
|
+
from nshtrainer.util._environment_info import (
|
31
|
+
EnvironmentSnapshotConfig as EnvironmentSnapshotConfig,
|
32
|
+
)
|
33
|
+
from nshtrainer.util._environment_info import GitRepositoryConfig as GitRepositoryConfig
|
@@ -2,33 +2,10 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
__codegen__ = True
|
4
4
|
|
5
|
-
from
|
5
|
+
from nshtrainer.util.config import DTypeConfig as DTypeConfig
|
6
|
+
from nshtrainer.util.config import DurationConfig as DurationConfig
|
7
|
+
from nshtrainer.util.config import EpochsConfig as EpochsConfig
|
8
|
+
from nshtrainer.util.config import StepsConfig as StepsConfig
|
6
9
|
|
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 == "DTypeConfig":
|
22
|
-
return importlib.import_module("nshtrainer.util.config").DTypeConfig
|
23
|
-
if name == "EpochsConfig":
|
24
|
-
return importlib.import_module("nshtrainer.util.config").EpochsConfig
|
25
|
-
if name == "StepsConfig":
|
26
|
-
return importlib.import_module("nshtrainer.util.config").StepsConfig
|
27
|
-
if name == "DurationConfig":
|
28
|
-
return importlib.import_module("nshtrainer.util.config").DurationConfig
|
29
|
-
raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
|
30
|
-
|
31
|
-
|
32
|
-
# Submodule exports
|
33
10
|
from . import dtype as dtype
|
34
11
|
from . import duration as duration
|
@@ -2,21 +2,4 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
__codegen__ = True
|
4
4
|
|
5
|
-
from
|
6
|
-
|
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}'")
|
21
|
-
|
22
|
-
# Submodule exports
|
5
|
+
from nshtrainer.util.config.dtype import DTypeConfig as DTypeConfig
|
@@ -2,33 +2,6 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
__codegen__ = True
|
4
4
|
|
5
|
-
from
|
6
|
-
|
7
|
-
|
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}'")
|
33
|
-
|
34
|
-
# Submodule exports
|
5
|
+
from nshtrainer.util.config.duration import DurationConfig as DurationConfig
|
6
|
+
from nshtrainer.util.config.duration import EpochsConfig as EpochsConfig
|
7
|
+
from nshtrainer.util.config.duration import StepsConfig as StepsConfig
|
nshtrainer/trainer/_config.py
CHANGED
@@ -498,13 +498,24 @@ class TrainerConfig(C.Config):
|
|
498
498
|
hf_hub: HuggingFaceHubConfig = HuggingFaceHubConfig()
|
499
499
|
"""Hugging Face Hub configuration options."""
|
500
500
|
|
501
|
-
loggers: Sequence[LoggerConfig] =
|
502
|
-
WandbLoggerConfig(),
|
503
|
-
CSVLoggerConfig(),
|
504
|
-
TensorboardLoggerConfig(),
|
505
|
-
]
|
501
|
+
loggers: Sequence[LoggerConfig] | None = None
|
506
502
|
"""Loggers to use for experiment tracking."""
|
507
503
|
|
504
|
+
def enabled_loggers(self) -> Sequence[LoggerConfig]:
|
505
|
+
# Default loggers
|
506
|
+
if (loggers := self.loggers) is None:
|
507
|
+
loggers = [
|
508
|
+
WandbLoggerConfig(),
|
509
|
+
CSVLoggerConfig(),
|
510
|
+
TensorboardLoggerConfig(),
|
511
|
+
]
|
512
|
+
|
513
|
+
# In barebones mode, disable all loggers
|
514
|
+
if self.barebones:
|
515
|
+
loggers = []
|
516
|
+
|
517
|
+
return loggers
|
518
|
+
|
508
519
|
actsave_logger: ActSaveLoggerConfig | None = None
|
509
520
|
"""If enabled, will automatically save logged metrics using ActSave (if nshutils is installed)."""
|
510
521
|
|
@@ -574,6 +585,23 @@ class TrainerConfig(C.Config):
|
|
574
585
|
Default: ``False``.
|
575
586
|
"""
|
576
587
|
|
588
|
+
barebones: bool
|
589
|
+
"""Whether to run in "barebones mode", where all features that may impact raw speed are
|
590
|
+
disabled. This is meant for analyzing the Trainer overhead and is discouraged during regular training
|
591
|
+
runs. The following features are deactivated:
|
592
|
+
:paramref:`~lightning.pytorch.trainer.trainer.Trainer.enable_checkpointing`,
|
593
|
+
:paramref:`~lightning.pytorch.trainer.trainer.Trainer.logger`,
|
594
|
+
:paramref:`~lightning.pytorch.trainer.trainer.Trainer.enable_progress_bar`,
|
595
|
+
:paramref:`~lightning.pytorch.trainer.trainer.Trainer.log_every_n_steps`,
|
596
|
+
:paramref:`~lightning.pytorch.trainer.trainer.Trainer.enable_model_summary`,
|
597
|
+
:paramref:`~lightning.pytorch.trainer.trainer.Trainer.num_sanity_val_steps`,
|
598
|
+
:paramref:`~lightning.pytorch.trainer.trainer.Trainer.fast_dev_run`,
|
599
|
+
:paramref:`~lightning.pytorch.trainer.trainer.Trainer.detect_anomaly`,
|
600
|
+
:paramref:`~lightning.pytorch.trainer.trainer.Trainer.profiler`,
|
601
|
+
:meth:`~lightning.pytorch.core.LightningModule.log`,
|
602
|
+
:meth:`~lightning.pytorch.core.LightningModule.log_dict`.
|
603
|
+
"""
|
604
|
+
|
577
605
|
precision: (
|
578
606
|
Literal[
|
579
607
|
"64-true",
|
@@ -745,7 +773,7 @@ class TrainerConfig(C.Config):
|
|
745
773
|
return next(
|
746
774
|
(
|
747
775
|
logger
|
748
|
-
for logger in self.
|
776
|
+
for logger in self.enabled_loggers()
|
749
777
|
if isinstance(logger, WandbLoggerConfig)
|
750
778
|
),
|
751
779
|
None,
|
@@ -754,7 +782,11 @@ class TrainerConfig(C.Config):
|
|
754
782
|
@property
|
755
783
|
def csv_logger(self):
|
756
784
|
return next(
|
757
|
-
(
|
785
|
+
(
|
786
|
+
logger
|
787
|
+
for logger in self.enabled_loggers()
|
788
|
+
if isinstance(logger, CSVLoggerConfig)
|
789
|
+
),
|
758
790
|
None,
|
759
791
|
)
|
760
792
|
|
@@ -763,7 +795,7 @@ class TrainerConfig(C.Config):
|
|
763
795
|
return next(
|
764
796
|
(
|
765
797
|
logger
|
766
|
-
for logger in self.
|
798
|
+
for logger in self.enabled_loggers()
|
767
799
|
if isinstance(logger, TensorboardLoggerConfig)
|
768
800
|
),
|
769
801
|
None,
|
@@ -775,7 +807,7 @@ class TrainerConfig(C.Config):
|
|
775
807
|
yield self.lr_monitor
|
776
808
|
yield from (
|
777
809
|
logger_config
|
778
|
-
for logger_config in self.
|
810
|
+
for logger_config in self.enabled_loggers()
|
779
811
|
if logger_config is not None
|
780
812
|
and isinstance(logger_config, CallbackConfigBase)
|
781
813
|
)
|
@@ -788,7 +820,7 @@ class TrainerConfig(C.Config):
|
|
788
820
|
yield from self.callbacks
|
789
821
|
|
790
822
|
def _nshtrainer_all_logger_configs(self) -> Iterable[BaseLoggerConfig | None]:
|
791
|
-
yield from self.
|
823
|
+
yield from self.enabled_loggers()
|
792
824
|
yield self.actsave_logger
|
793
825
|
|
794
826
|
# region Helper Methods
|
@@ -29,63 +29,63 @@ nshtrainer/callbacks/shared_parameters.py,sha256=33eRzifNj6reKbvmGuam1hUofo3sD4J
|
|
29
29
|
nshtrainer/callbacks/timer.py,sha256=BB-M7tV4QNYOwY_Su6j9P7IILxVRae_upmDq4qsxiao,4670
|
30
30
|
nshtrainer/callbacks/wandb_upload_code.py,sha256=PTqNE1QB5U8NR5zhbiQZrmQuugX2UV7B12UdMpo9aV0,2353
|
31
31
|
nshtrainer/callbacks/wandb_watch.py,sha256=tTTcFzxd2Ia9xu8tCogQ5CLJZBq1ne5JlpGVE75vKYs,2976
|
32
|
-
nshtrainer/configs/__init__.py,sha256=
|
33
|
-
nshtrainer/configs/_checkpoint/__init__.py,sha256=
|
34
|
-
nshtrainer/configs/_checkpoint/metadata/__init__.py,sha256=
|
35
|
-
nshtrainer/configs/_directory/__init__.py,sha256=
|
36
|
-
nshtrainer/configs/_hf_hub/__init__.py,sha256=
|
37
|
-
nshtrainer/configs/callbacks/__init__.py,sha256=
|
38
|
-
nshtrainer/configs/callbacks/actsave/__init__.py,sha256=
|
39
|
-
nshtrainer/configs/callbacks/base/__init__.py,sha256=
|
40
|
-
nshtrainer/configs/callbacks/checkpoint/__init__.py,sha256=
|
41
|
-
nshtrainer/configs/callbacks/checkpoint/_base/__init__.py,sha256=
|
42
|
-
nshtrainer/configs/callbacks/checkpoint/best_checkpoint/__init__.py,sha256=
|
43
|
-
nshtrainer/configs/callbacks/checkpoint/last_checkpoint/__init__.py,sha256=
|
44
|
-
nshtrainer/configs/callbacks/checkpoint/on_exception_checkpoint/__init__.py,sha256=
|
45
|
-
nshtrainer/configs/callbacks/debug_flag/__init__.py,sha256=
|
46
|
-
nshtrainer/configs/callbacks/directory_setup/__init__.py,sha256=
|
47
|
-
nshtrainer/configs/callbacks/early_stopping/__init__.py,sha256=
|
48
|
-
nshtrainer/configs/callbacks/ema/__init__.py,sha256=
|
49
|
-
nshtrainer/configs/callbacks/finite_checks/__init__.py,sha256=
|
50
|
-
nshtrainer/configs/callbacks/gradient_skipping/__init__.py,sha256=
|
51
|
-
nshtrainer/configs/callbacks/log_epoch/__init__.py,sha256=
|
52
|
-
nshtrainer/configs/callbacks/lr_monitor/__init__.py,sha256=
|
53
|
-
nshtrainer/configs/callbacks/norm_logging/__init__.py,sha256=
|
54
|
-
nshtrainer/configs/callbacks/print_table/__init__.py,sha256=
|
55
|
-
nshtrainer/configs/callbacks/rlp_sanity_checks/__init__.py,sha256=
|
56
|
-
nshtrainer/configs/callbacks/shared_parameters/__init__.py,sha256=
|
57
|
-
nshtrainer/configs/callbacks/timer/__init__.py,sha256=
|
58
|
-
nshtrainer/configs/callbacks/wandb_upload_code/__init__.py,sha256=
|
59
|
-
nshtrainer/configs/callbacks/wandb_watch/__init__.py,sha256=
|
60
|
-
nshtrainer/configs/loggers/__init__.py,sha256=
|
61
|
-
nshtrainer/configs/loggers/_base/__init__.py,sha256=
|
62
|
-
nshtrainer/configs/loggers/actsave/__init__.py,sha256=
|
63
|
-
nshtrainer/configs/loggers/csv/__init__.py,sha256=
|
64
|
-
nshtrainer/configs/loggers/tensorboard/__init__.py,sha256=
|
65
|
-
nshtrainer/configs/loggers/wandb/__init__.py,sha256=
|
66
|
-
nshtrainer/configs/lr_scheduler/__init__.py,sha256=
|
67
|
-
nshtrainer/configs/lr_scheduler/_base/__init__.py,sha256=
|
68
|
-
nshtrainer/configs/lr_scheduler/linear_warmup_cosine/__init__.py,sha256=
|
69
|
-
nshtrainer/configs/lr_scheduler/reduce_lr_on_plateau/__init__.py,sha256=
|
70
|
-
nshtrainer/configs/metrics/__init__.py,sha256=
|
71
|
-
nshtrainer/configs/metrics/_config/__init__.py,sha256=
|
72
|
-
nshtrainer/configs/nn/__init__.py,sha256=
|
73
|
-
nshtrainer/configs/nn/mlp/__init__.py,sha256=
|
74
|
-
nshtrainer/configs/nn/nonlinearity/__init__.py,sha256=
|
75
|
-
nshtrainer/configs/optimizer/__init__.py,sha256=
|
76
|
-
nshtrainer/configs/profiler/__init__.py,sha256=
|
77
|
-
nshtrainer/configs/profiler/_base/__init__.py,sha256=
|
78
|
-
nshtrainer/configs/profiler/advanced/__init__.py,sha256=
|
79
|
-
nshtrainer/configs/profiler/pytorch/__init__.py,sha256=
|
80
|
-
nshtrainer/configs/profiler/simple/__init__.py,sha256=
|
81
|
-
nshtrainer/configs/trainer/__init__.py,sha256=
|
82
|
-
nshtrainer/configs/trainer/_config/__init__.py,sha256=
|
83
|
-
nshtrainer/configs/trainer/trainer/__init__.py,sha256=
|
84
|
-
nshtrainer/configs/util/__init__.py,sha256=
|
85
|
-
nshtrainer/configs/util/_environment_info/__init__.py,sha256=
|
86
|
-
nshtrainer/configs/util/config/__init__.py,sha256=
|
87
|
-
nshtrainer/configs/util/config/dtype/__init__.py,sha256=
|
88
|
-
nshtrainer/configs/util/config/duration/__init__.py,sha256=
|
32
|
+
nshtrainer/configs/__init__.py,sha256=_6JQhtNpjjmIi7nb78Rt_x4JNJk19oMXD19-MsJRbc8,7473
|
33
|
+
nshtrainer/configs/_checkpoint/__init__.py,sha256=T5RnSr-S-H6lUApXAqsG03Uk_F_hqfzW7IU7riBxlT0,260
|
34
|
+
nshtrainer/configs/_checkpoint/metadata/__init__.py,sha256=amR5ph9N3qVa-aIIAvzfNbMvg_0RiDHM6EwrowiPUW8,224
|
35
|
+
nshtrainer/configs/_directory/__init__.py,sha256=hkBrI-OHUARCooP1cF5iChqRXTH5Y1HehThX_9q3qqM,292
|
36
|
+
nshtrainer/configs/_hf_hub/__init__.py,sha256=8IhyO2J3Y_0Z7L39nVPQuVgY4zXLGghBzsHpnFt4KxU,309
|
37
|
+
nshtrainer/configs/callbacks/__init__.py,sha256=afoWd7ocxAuh_u91tjQ28N-NX9fVCPXQvVD5z88qXuU,3077
|
38
|
+
nshtrainer/configs/callbacks/actsave/__init__.py,sha256=SCJXAoaLqfWSTPAVUMBfC9vPFM5DpeBzWIa4Pj_Krlg,210
|
39
|
+
nshtrainer/configs/callbacks/base/__init__.py,sha256=SB-xlJlgjuPzZ0xfMWEXT-OLpJPXrq6rdY-f1roU9ug,135
|
40
|
+
nshtrainer/configs/callbacks/checkpoint/__init__.py,sha256=w1CtoBHdW9pstp33LYnj4mDsl2R0s-S13WQIoRMl5y8,1014
|
41
|
+
nshtrainer/configs/callbacks/checkpoint/_base/__init__.py,sha256=8YGa3n9-q1a9CYXjfJv-WJFl7J27av6UdI5taBtGh0c,376
|
42
|
+
nshtrainer/configs/callbacks/checkpoint/best_checkpoint/__init__.py,sha256=bucvZk5bkOKe27aQ13kNYWflvOKxyhWVj8j0xvAzkF4,515
|
43
|
+
nshtrainer/configs/callbacks/checkpoint/last_checkpoint/__init__.py,sha256=hx-QGl8_UGWlH01hWBEgT_PPd0kfphgdXZTb_SiwlMw,426
|
44
|
+
nshtrainer/configs/callbacks/checkpoint/on_exception_checkpoint/__init__.py,sha256=4t2xQf29hDID-3jkVZfeyL2HVP1D7ZmJAKnM0ZllPAo,326
|
45
|
+
nshtrainer/configs/callbacks/debug_flag/__init__.py,sha256=A4PP8xEL5m4v5YckB9I7LzhMqfGeyF5140-sXNOWNmE,245
|
46
|
+
nshtrainer/configs/callbacks/directory_setup/__init__.py,sha256=URMIR6qUkRiXrIrqJ0kxyVVVq86cMNhz5Ps6DwIrrBo,274
|
47
|
+
nshtrainer/configs/callbacks/early_stopping/__init__.py,sha256=8SzOG8aWdDap3E2EqmrfHtdCYpCD6Pnfbc_U0L7Fy9M,338
|
48
|
+
nshtrainer/configs/callbacks/ema/__init__.py,sha256=t1lWbcO8zl_1e1vppQwsKP9nJMnTSv8kT2w1w41Lrrk,210
|
49
|
+
nshtrainer/configs/callbacks/finite_checks/__init__.py,sha256=HMPfNK37liVhGadc35P8SxZ-cclMnIEqJtyQnxNC93o,257
|
50
|
+
nshtrainer/configs/callbacks/gradient_skipping/__init__.py,sha256=GekHXgBSIhkkqB7MZp-ioFtJA7PEToWyOUh2a67jlck,282
|
51
|
+
nshtrainer/configs/callbacks/log_epoch/__init__.py,sha256=Og2KAVYHeRqVPvOOVkBA7_lyhHM0RS2oJkoRdkzT-1U,241
|
52
|
+
nshtrainer/configs/callbacks/lr_monitor/__init__.py,sha256=II7aV6NB0a_7TIqQnIrnTKcRmfktd_EXb-ffNvIPWi0,249
|
53
|
+
nshtrainer/configs/callbacks/norm_logging/__init__.py,sha256=RktQ29_dP_JY3yHnCaZQkUTk91d4_lZBJBfo4osVlWM,253
|
54
|
+
nshtrainer/configs/callbacks/print_table/__init__.py,sha256=Jad_35_z-m_vWXE0jhv4uBmDyqhATRRBin4FEJ93opQ,263
|
55
|
+
nshtrainer/configs/callbacks/rlp_sanity_checks/__init__.py,sha256=IlTi2ZxFmrRAfSIttjtavt_ZdgRb-P-vYg9-vG6ryRY,280
|
56
|
+
nshtrainer/configs/callbacks/shared_parameters/__init__.py,sha256=LCA9MqCeBEUW-RNB-mowXdsl2FGIzyIZ2SJHhbWHFWM,282
|
57
|
+
nshtrainer/configs/callbacks/timer/__init__.py,sha256=ZBDcTPdxYJZV4au5zcWC96q2WshnCQQXw62A1TJQTCE,237
|
58
|
+
nshtrainer/configs/callbacks/wandb_upload_code/__init__.py,sha256=NWJKDGpfSD84l-3gkqRVxzhL3MRpISAC50zhdeMMFE8,280
|
59
|
+
nshtrainer/configs/callbacks/wandb_watch/__init__.py,sha256=3yKnI14haGJAY_BtjE-Yh2QX-N3axJZO5Ced6WKiaG4,249
|
60
|
+
nshtrainer/configs/loggers/__init__.py,sha256=oRwUQ5_XHRzVplemoZaCY7LOmYZQx_1YxtNeKqDe7EA,920
|
61
|
+
nshtrainer/configs/loggers/_base/__init__.py,sha256=Z3e-CD2fvLGZHFFoc0XDnHa6F40cpmbVN3MllAxckKE,130
|
62
|
+
nshtrainer/configs/loggers/actsave/__init__.py,sha256=QqQOG1IXqQ1hG_dqptBNlYAkwi8qR5s3GOKJvTr8jhI,214
|
63
|
+
nshtrainer/configs/loggers/csv/__init__.py,sha256=nqa2Y-fw-Nym7P_FwgWaZrhzuf0BfmA89-5Kp0M-ZME,198
|
64
|
+
nshtrainer/configs/loggers/tensorboard/__init__.py,sha256=_TZjPfmkhGHhOzziWhcPbvtlaqg0A7NJ3J-PDdFsV2k,239
|
65
|
+
nshtrainer/configs/loggers/wandb/__init__.py,sha256=rYpaPhqBqv4ARPJQchxffp2igY4pFzKkqtCTwssTHAs,492
|
66
|
+
nshtrainer/configs/lr_scheduler/__init__.py,sha256=GYU4q2F7x8qTmv6J23WFbbNc9VDFICbSahTFwW0I4K4,764
|
67
|
+
nshtrainer/configs/lr_scheduler/_base/__init__.py,sha256=K27qJ-bxJCxHjndzN3Uw1L65VSoo82CiTruMP7jYaFs,145
|
68
|
+
nshtrainer/configs/lr_scheduler/linear_warmup_cosine/__init__.py,sha256=nIARlprx-UWCoDcSmUd7-9AeIX_Fb6GINv_jG6IUbMk,419
|
69
|
+
nshtrainer/configs/lr_scheduler/reduce_lr_on_plateau/__init__.py,sha256=b0CEv2pOswUR48gEVjcYc4C2FB22L8PjbGnUeJVlr1A,372
|
70
|
+
nshtrainer/configs/metrics/__init__.py,sha256=QGLalWruUhl4iSXaGtqDHHTZdGWsxe9wPYXpBos7z1g,150
|
71
|
+
nshtrainer/configs/metrics/_config/__init__.py,sha256=NvYfuS5uGd-HIFBrmRMAEB6RmXV9l-E-v1E-OvOvE5s,124
|
72
|
+
nshtrainer/configs/nn/__init__.py,sha256=tke0m-_SDwWvrLZWrqpM5WGZ2ps4Du8Zm8r9Shzg9GI,1408
|
73
|
+
nshtrainer/configs/nn/mlp/__init__.py,sha256=bFzswckgbxl_1qaUGmqmA-X6hn1q7oejp6qfkhHnoMY,259
|
74
|
+
nshtrainer/configs/nn/nonlinearity/__init__.py,sha256=ITHtH1llvF4h-S-nZJSDCNxfkXyM-R4yAT5fLQSVhjE,1539
|
75
|
+
nshtrainer/configs/optimizer/__init__.py,sha256=9dT71tEmzgUE2IEpDCRUhEs9EDQBDfRj05GUw2GQqFg,260
|
76
|
+
nshtrainer/configs/profiler/__init__.py,sha256=aMeIOC1ob1Oy0Ynx0_jmCT6socgb56UUGv_Do0hoBI4,560
|
77
|
+
nshtrainer/configs/profiler/_base/__init__.py,sha256=IvvhrjjTHm7RI2pTES8U7BEhCL4tqsuA8mA6FM_mnME,135
|
78
|
+
nshtrainer/configs/profiler/advanced/__init__.py,sha256=9d17b1tyDzjA4nVs1olzoMjIGxp8hisi9lCNFVaClP4,237
|
79
|
+
nshtrainer/configs/profiler/pytorch/__init__.py,sha256=qD8UZl4NtWnqir-4ukNOIOXLNEAk2E8mcwfaKxyD_YY,224
|
80
|
+
nshtrainer/configs/profiler/simple/__init__.py,sha256=KC0jvmnNahBZD9LskbtJ9_cGW8VFcsR5A8JsmGxdwFE,220
|
81
|
+
nshtrainer/configs/trainer/__init__.py,sha256=CaJEac6XWaxVDT7U3c1BMzvTDMKzzkQgxunjHukEcw0,2616
|
82
|
+
nshtrainer/configs/trainer/_config/__init__.py,sha256=_TVCPGhK-HeUphs6Zuk30xnQ4hyzi0oMQqtobnsxDwA,2557
|
83
|
+
nshtrainer/configs/trainer/trainer/__init__.py,sha256=qXDdZou5etO4XCCk9z72ykYt9aylV2iV-g1uX7WFaGs,204
|
84
|
+
nshtrainer/configs/util/__init__.py,sha256=50yw6zY9nh-IujctV8uaHyP4ch2KjBQMWHUpfur-NjM,1601
|
85
|
+
nshtrainer/configs/util/_environment_info/__init__.py,sha256=mM7S-MAgHqtNsjMPaxwOKSzE_suoh_uSAofY4wWOqVQ,1260
|
86
|
+
nshtrainer/configs/util/config/__init__.py,sha256=G0omcYIY3xNrh4M2_TNu6VpMSueftQimqhdrv0KzXf0,377
|
87
|
+
nshtrainer/configs/util/config/dtype/__init__.py,sha256=uLsJigEWaw4lNol9a_gp16cT6CbVIf07Tdt3Xe3yr9s,124
|
88
|
+
nshtrainer/configs/util/config/duration/__init__.py,sha256=LSl-MfNWwIItghHLo5j5WWlNSYlzDc-8EshVGAG7WoE,277
|
89
89
|
nshtrainer/data/__init__.py,sha256=K4i3Tw4g9EOK2zlMMbidi99y0SyI4w8P7_XUf1n42Ts,260
|
90
90
|
nshtrainer/data/balanced_batch_sampler.py,sha256=r1cBKRXKHD8E1Ax6tj-FUbE-z1qpbO58mQ9VrK9uLnc,5481
|
91
91
|
nshtrainer/data/datamodule.py,sha256=lSOgH32nysJWa6Y7ba1QyOdUV0DVVdO98qokP8wigjk,4138
|
@@ -119,7 +119,7 @@ nshtrainer/profiler/advanced.py,sha256=XrM3FX0ThCv5UwUrrH0l4Ow4LGAtpiBww2N8QAU5N
|
|
119
119
|
nshtrainer/profiler/pytorch.py,sha256=8K37XvPnCApUpIK8tA2zNMFIaIiTLSoxKQoiyCPBm1Q,2757
|
120
120
|
nshtrainer/profiler/simple.py,sha256=PimjqcU-JuS-8C0ZGHAdwCxgNLij4x0FH6WXsjBQzZs,1005
|
121
121
|
nshtrainer/trainer/__init__.py,sha256=MmoydVS6aYeav7zgDAUHxAQrV_PMQsbnZTCuPnLH9Wk,128
|
122
|
-
nshtrainer/trainer/_config.py,sha256=
|
122
|
+
nshtrainer/trainer/_config.py,sha256=1xplxV7kpxXXa3qNDi-LdQ81XsrOFTMTh7IztO0hCdY,33478
|
123
123
|
nshtrainer/trainer/_runtime_callback.py,sha256=T3epaj1YeIN0R8CS2cg5HNJIB21TyaD_PVNNOPJ6nJs,4200
|
124
124
|
nshtrainer/trainer/signal_connector.py,sha256=YMJf6vTnW0JcnBkuYikm9x_9XscaokrCEzCn4THOGao,10776
|
125
125
|
nshtrainer/trainer/trainer.py,sha256=vfQAr5H5HkDlIxjdEP8yhLDKplodxIws3sx3u_8qbkc,19381
|
@@ -135,6 +135,6 @@ nshtrainer/util/seed.py,sha256=diMV8iwBKN7Xxt5pELmui-gyqyT80_CZzomrWhNss0k,316
|
|
135
135
|
nshtrainer/util/slurm.py,sha256=HflkP5iI_r4UHMyPjw9R4dD5AHsJUpcfJw5PLvGYBRM,1603
|
136
136
|
nshtrainer/util/typed.py,sha256=Xt5fUU6zwLKSTLUdenovnKK0N8qUq89Kddz2_XeykVQ,164
|
137
137
|
nshtrainer/util/typing_utils.py,sha256=MjY-CUX9R5Tzat-BlFnQjwl1PQ_W2yZQoXhkYHlJ_VA,442
|
138
|
-
nshtrainer-1.0.
|
139
|
-
nshtrainer-1.0.
|
140
|
-
nshtrainer-1.0.
|
138
|
+
nshtrainer-1.0.0b16.dist-info/METADATA,sha256=M3QemEKsQNWrv6Edyu7rteM2rtYHufpREdTGz2_iV2g,937
|
139
|
+
nshtrainer-1.0.0b16.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
140
|
+
nshtrainer-1.0.0b16.dist-info/RECORD,,
|
File without changes
|