nshtrainer 0.6.2__tar.gz → 0.8.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 (78) hide show
  1. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/PKG-INFO +4 -7
  2. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/pyproject.toml +4 -7
  3. nshtrainer-0.8.0/src/nshtrainer/ll/__init__.py +58 -0
  4. nshtrainer-0.8.0/src/nshtrainer/ll/actsave.py +3 -0
  5. nshtrainer-0.8.0/src/nshtrainer/ll/callbacks.py +1 -0
  6. nshtrainer-0.8.0/src/nshtrainer/ll/config.py +4 -0
  7. nshtrainer-0.8.0/src/nshtrainer/ll/data.py +1 -0
  8. nshtrainer-0.8.0/src/nshtrainer/ll/log.py +3 -0
  9. nshtrainer-0.8.0/src/nshtrainer/ll/lr_scheduler.py +1 -0
  10. nshtrainer-0.8.0/src/nshtrainer/ll/model.py +1 -0
  11. nshtrainer-0.8.0/src/nshtrainer/ll/nn.py +1 -0
  12. nshtrainer-0.8.0/src/nshtrainer/ll/optimizer.py +1 -0
  13. nshtrainer-0.8.0/src/nshtrainer/ll/runner.py +3 -0
  14. nshtrainer-0.8.0/src/nshtrainer/ll/snoop.py +1 -0
  15. nshtrainer-0.8.0/src/nshtrainer/ll/trainer.py +1 -0
  16. nshtrainer-0.8.0/src/nshtrainer/ll/util.py +1 -0
  17. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/lr_scheduler/reduce_lr_on_plateau.py +1 -1
  18. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/model/base.py +1 -1
  19. nshtrainer-0.6.2/src/nshtrainer/ll/__init__.py +0 -46
  20. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/README.md +0 -0
  21. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/__init__.py +0 -0
  22. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/_experimental/__init__.py +0 -0
  23. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/_experimental/flops/__init__.py +0 -0
  24. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/_experimental/flops/flop_counter.py +0 -0
  25. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/_experimental/flops/module_tracker.py +0 -0
  26. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/_snoop.py +0 -0
  27. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/actsave/__init__.py +0 -0
  28. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/actsave/_callback.py +0 -0
  29. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/__init__.py +0 -0
  30. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/_throughput_monitor_callback.py +0 -0
  31. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/base.py +0 -0
  32. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/early_stopping.py +0 -0
  33. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/ema.py +0 -0
  34. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/finite_checks.py +0 -0
  35. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/gradient_skipping.py +0 -0
  36. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/interval.py +0 -0
  37. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/latest_epoch_checkpoint.py +0 -0
  38. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/log_epoch.py +0 -0
  39. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/norm_logging.py +0 -0
  40. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/on_exception_checkpoint.py +0 -0
  41. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/print_table.py +0 -0
  42. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/throughput_monitor.py +0 -0
  43. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/timer.py +0 -0
  44. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/callbacks/wandb_watch.py +0 -0
  45. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/config.py +0 -0
  46. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/data/__init__.py +0 -0
  47. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/data/balanced_batch_sampler.py +0 -0
  48. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/data/transform.py +0 -0
  49. {nshtrainer-0.6.2/src/nshtrainer → nshtrainer-0.8.0/src/nshtrainer/ll}/typecheck.py +0 -0
  50. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/lr_scheduler/__init__.py +0 -0
  51. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/lr_scheduler/_base.py +0 -0
  52. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/lr_scheduler/linear_warmup_cosine.py +0 -0
  53. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/model/__init__.py +0 -0
  54. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/model/config.py +0 -0
  55. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/model/modules/callback.py +0 -0
  56. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/model/modules/debug.py +0 -0
  57. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/model/modules/distributed.py +0 -0
  58. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/model/modules/logger.py +0 -0
  59. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/model/modules/profiler.py +0 -0
  60. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/model/modules/rlp_sanity_checks.py +0 -0
  61. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/model/modules/shared_parameters.py +0 -0
  62. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/nn/__init__.py +0 -0
  63. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/nn/mlp.py +0 -0
  64. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/nn/module_dict.py +0 -0
  65. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/nn/module_list.py +0 -0
  66. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/nn/nonlinearity.py +0 -0
  67. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/optimizer.py +0 -0
  68. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/runner.py +0 -0
  69. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/scripts/check_env.py +0 -0
  70. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/scripts/find_packages.py +0 -0
  71. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/trainer/__init__.py +0 -0
  72. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/trainer/signal_connector.py +0 -0
  73. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/trainer/trainer.py +0 -0
  74. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/util/environment.py +0 -0
  75. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/util/seed.py +0 -0
  76. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/util/slurm.py +0 -0
  77. {nshtrainer-0.6.2 → nshtrainer-0.8.0}/src/nshtrainer/util/typed.py +0 -0
  78. {nshtrainer-0.6.2 → nshtrainer-0.8.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.6.2
3
+ Version: 0.8.0
4
4
  Summary:
5
5
  Author: Nima Shoghi
6
6
  Author-email: nimashoghi@gmail.com
@@ -10,14 +10,11 @@ Classifier: Programming Language :: Python :: 3.10
10
10
  Classifier: Programming Language :: Python :: 3.11
11
11
  Classifier: Programming Language :: Python :: 3.12
12
12
  Requires-Dist: lightning
13
- Requires-Dist: lovely-numpy (>=0.2.13,<0.3.0)
14
- Requires-Dist: lovely-tensors (>=0.1.16,<0.2.0)
15
- Requires-Dist: nshconfig (>=0,<1)
16
- Requires-Dist: nshrunner (>=0,<1)
17
- Requires-Dist: nshutils (>=0,<1)
13
+ Requires-Dist: nshconfig
14
+ Requires-Dist: nshrunner
15
+ Requires-Dist: nshutils
18
16
  Requires-Dist: numpy
19
17
  Requires-Dist: pytorch-lightning
20
- Requires-Dist: rich
21
18
  Requires-Dist: torch
22
19
  Requires-Dist: torchmetrics
23
20
  Requires-Dist: typing-extensions
@@ -1,25 +1,22 @@
1
1
  [tool.poetry]
2
2
  name = "nshtrainer"
3
- version = "0.6.2"
3
+ version = "0.8.0"
4
4
  description = ""
5
5
  authors = ["Nima Shoghi <nimashoghi@gmail.com>"]
6
6
  readme = "README.md"
7
7
 
8
8
  [tool.poetry.dependencies]
9
9
  python = "^3.10"
10
- nshrunner = "^0"
11
- nshconfig = "^0"
12
- nshutils = "^0"
10
+ nshrunner = "*"
11
+ nshconfig = "*"
12
+ nshutils = "*"
13
13
  torch = "*"
14
14
  typing-extensions = "*"
15
15
  lightning = "*"
16
16
  pytorch-lightning = "*"
17
17
  torchmetrics = "*"
18
18
  numpy = "*"
19
- lovely-numpy = "^0.2.13"
20
- lovely-tensors = "^0.1.16"
21
19
  wrapt = "*"
22
- rich = "*"
23
20
 
24
21
 
25
22
  [tool.poetry.group.dev.dependencies]
@@ -0,0 +1,58 @@
1
+ from . import _experimental as _experimental
2
+ from . import actsave as actsave
3
+ from . import callbacks as callbacks
4
+ from . import lr_scheduler as lr_scheduler
5
+ from . import model as model
6
+ from . import nn as nn
7
+ from . import optimizer as optimizer
8
+ from . import snapshot as snapshot
9
+ from . import typecheck as typecheck
10
+ from .actsave import ActLoad as ActLoad
11
+ from .actsave import ActSave as ActSave
12
+ from .config import MISSING as MISSING
13
+ from .config import AllowMissing as AllowMissing
14
+ from .config import Field as Field
15
+ from .config import MissingField as MissingField
16
+ from .config import PrivateAttr as PrivateAttr
17
+ from .config import TypedConfig as TypedConfig
18
+ from .data import dataset_transform as dataset_transform
19
+ from .log import init_python_logging as init_python_logging
20
+ from .log import lovely as lovely
21
+ from .log import pretty as pretty
22
+ from .lr_scheduler import LRSchedulerConfig as LRSchedulerConfig
23
+ from .model import ActSaveConfig as ActSaveConfig
24
+ from .model import Base as Base
25
+ from .model import BaseConfig as BaseConfig
26
+ from .model import BaseLoggerConfig as BaseLoggerConfig
27
+ from .model import BaseProfilerConfig as BaseProfilerConfig
28
+ from .model import CheckpointLoadingConfig as CheckpointLoadingConfig
29
+ from .model import CheckpointSavingConfig as CheckpointSavingConfig
30
+ from .model import ConfigList as ConfigList
31
+ from .model import DirectoryConfig as DirectoryConfig
32
+ from .model import (
33
+ EnvironmentClassInformationConfig as EnvironmentClassInformationConfig,
34
+ )
35
+ from .model import EnvironmentConfig as EnvironmentConfig
36
+ from .model import (
37
+ EnvironmentLinuxEnvironmentConfig as EnvironmentLinuxEnvironmentConfig,
38
+ )
39
+ from .model import (
40
+ EnvironmentSLURMInformationConfig as EnvironmentSLURMInformationConfig,
41
+ )
42
+ from .model import GradientClippingConfig as GradientClippingConfig
43
+ from .model import LightningModuleBase as LightningModuleBase
44
+ from .model import LoggingConfig as LoggingConfig
45
+ from .model import MetricConfig as MetricConfig
46
+ from .model import OptimizationConfig as OptimizationConfig
47
+ from .model import PrimaryMetricConfig as PrimaryMetricConfig
48
+ from .model import ReproducibilityConfig as ReproducibilityConfig
49
+ from .model import SanityCheckingConfig as SanityCheckingConfig
50
+ from .model import TrainerConfig as TrainerConfig
51
+ from .model import WandbWatchConfig as WandbWatchConfig
52
+ from .nn import TypedModuleDict as TypedModuleDict
53
+ from .nn import TypedModuleList as TypedModuleList
54
+ from .optimizer import OptimizerConfig as OptimizerConfig
55
+ from .runner import Runner as Runner
56
+ from .runner import SnapshotConfig as SnapshotConfig
57
+ from .snoop import snoop as snoop
58
+ from .trainer import Trainer as Trainer
@@ -0,0 +1,3 @@
1
+ from nshutils.actsave import * # type: ignore # noqa: F403
2
+
3
+ from nshtrainer.actsave import * # type: ignore # noqa: F403
@@ -0,0 +1 @@
1
+ from nshtrainer.callbacks import * # noqa: F403
@@ -0,0 +1,4 @@
1
+ from nshconfig import * # type: ignore # noqa: F403
2
+ from nshconfig import Config as TypedConfig # type: ignore # noqa: F401
3
+
4
+ _ = TypedConfig
@@ -0,0 +1 @@
1
+ from nshtrainer.data import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ from nshutils import init_python_logging as init_python_logging
2
+ from nshutils import lovely as lovely
3
+ from nshutils import pretty as pretty
@@ -0,0 +1 @@
1
+ from nshtrainer.lr_scheduler import * # noqa: F403
@@ -0,0 +1 @@
1
+ from nshtrainer.model import * # noqa: F403
@@ -0,0 +1 @@
1
+ from nshtrainer.nn import * # noqa: F403
@@ -0,0 +1 @@
1
+ from nshtrainer.optimizer import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ from nshrunner import SnapshotConfig as SnapshotConfig
2
+
3
+ from nshtrainer.runner import * # type: ignore # noqa: F403
@@ -0,0 +1 @@
1
+ from nshutils import snoop as snoop
@@ -0,0 +1 @@
1
+ from nshtrainer.trainer import * # noqa: F403
@@ -0,0 +1 @@
1
+ from nshtrainer.util import * # noqa: F403
@@ -38,7 +38,7 @@ class ReduceLROnPlateauConfig(LRSchedulerConfigBase):
38
38
  threshold: float = 1.0e-4
39
39
  r"""Threshold for measuring the new optimum, to only focus on significant changes."""
40
40
 
41
- threshold_mode: str = "rel"
41
+ threshold_mode: Literal["rel", "abs"] = "rel"
42
42
  r"""One of `rel`, `abs`. In `rel` mode, dynamic_threshold = best * (1 + threshold) in 'max' mode or best * (1 - threshold) in `min` mode. In `abs` mode, dynamic_threshold = best + threshold in `max` mode or best - threshold in `min` mode. Default: 'rel'."""
43
43
 
44
44
  @override
@@ -133,7 +133,7 @@ def _psutil():
133
133
  return psutil
134
134
 
135
135
 
136
- def _try_get(fn: Callable[[], T]) -> T | None:
136
+ def _try_get(fn: Callable[[], T | None]) -> T | None:
137
137
  try:
138
138
  return fn()
139
139
  except Exception as e:
@@ -1,46 +0,0 @@
1
- import importlib
2
- import sys
3
- from types import ModuleType
4
- from typing import TYPE_CHECKING
5
-
6
- # The name of your new package
7
- NEW_PACKAGE = "nshtrainer"
8
-
9
- # Import the new package
10
- new_package = importlib.import_module(NEW_PACKAGE)
11
-
12
-
13
- # Create a custom module class that inherits from ModuleType
14
- class ProxyModule(ModuleType):
15
- def __getattr__(self, name):
16
- return getattr(new_package, name)
17
-
18
- def __dir__(self):
19
- return dir(new_package)
20
-
21
-
22
- # Create a new module instance
23
- old_module = ProxyModule(__name__)
24
-
25
- # Copy attributes from new_package to old_module
26
- for attr in dir(new_package):
27
- if not attr.startswith("__"):
28
- setattr(old_module, attr, getattr(new_package, attr))
29
-
30
- # Replace the module in sys.modules
31
- sys.modules[__name__] = old_module
32
-
33
-
34
- # Handle submodule imports
35
- class SubmoduleProxy:
36
- def __getattr__(self, name):
37
- return importlib.import_module(f"{NEW_PACKAGE}.{name}")
38
-
39
-
40
- # Add submodule handling to the proxy module
41
- old_module.__class__ = type(
42
- "ProxyModuleWithSubmodules", (ProxyModule, SubmoduleProxy), {}
43
- )
44
-
45
- if TYPE_CHECKING:
46
- from nshtrainer import * # noqa: F401, F403
File without changes