nshtrainer 0.40.2__tar.gz → 0.40.4__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 (105) hide show
  1. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/PKG-INFO +1 -1
  2. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/pyproject.toml +1 -1
  3. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/_hf_hub.py +29 -2
  4. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/model/config.py +1 -1
  5. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/README.md +0 -0
  6. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/__init__.py +0 -0
  7. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/_callback.py +0 -0
  8. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/_checkpoint/loader.py +0 -0
  9. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/_checkpoint/metadata.py +0 -0
  10. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/_checkpoint/saver.py +0 -0
  11. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/_directory.py +0 -0
  12. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/_experimental/__init__.py +0 -0
  13. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/__init__.py +0 -0
  14. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/_throughput_monitor_callback.py +0 -0
  15. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/actsave.py +0 -0
  16. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/base.py +0 -0
  17. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/checkpoint/__init__.py +0 -0
  18. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/checkpoint/_base.py +0 -0
  19. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/checkpoint/best_checkpoint.py +0 -0
  20. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/checkpoint/last_checkpoint.py +0 -0
  21. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/checkpoint/on_exception_checkpoint.py +0 -0
  22. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/debug_flag.py +0 -0
  23. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/directory_setup.py +0 -0
  24. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/early_stopping.py +0 -0
  25. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/ema.py +0 -0
  26. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/finite_checks.py +0 -0
  27. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/gradient_skipping.py +0 -0
  28. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/interval.py +0 -0
  29. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/log_epoch.py +0 -0
  30. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/norm_logging.py +0 -0
  31. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/print_table.py +0 -0
  32. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/rlp_sanity_checks.py +0 -0
  33. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/shared_parameters.py +0 -0
  34. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/throughput_monitor.py +0 -0
  35. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/timer.py +0 -0
  36. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/wandb_upload_code.py +0 -0
  37. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/wandb_watch.py +0 -0
  38. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/config.py +0 -0
  39. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/data/__init__.py +0 -0
  40. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/data/balanced_batch_sampler.py +0 -0
  41. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/data/datamodule.py +0 -0
  42. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/data/transform.py +0 -0
  43. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/__init__.py +0 -0
  44. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/_experimental.py +0 -0
  45. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/actsave.py +0 -0
  46. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/callbacks.py +0 -0
  47. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/config.py +0 -0
  48. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/data.py +0 -0
  49. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/log.py +0 -0
  50. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/lr_scheduler.py +0 -0
  51. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/model.py +0 -0
  52. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/nn.py +0 -0
  53. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/optimizer.py +0 -0
  54. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/runner.py +0 -0
  55. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/snapshot.py +0 -0
  56. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/snoop.py +0 -0
  57. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/trainer.py +0 -0
  58. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/typecheck.py +0 -0
  59. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/util.py +0 -0
  60. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/loggers/__init__.py +0 -0
  61. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/loggers/_base.py +0 -0
  62. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/loggers/csv.py +0 -0
  63. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/loggers/tensorboard.py +0 -0
  64. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/loggers/wandb.py +0 -0
  65. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/lr_scheduler/__init__.py +0 -0
  66. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/lr_scheduler/_base.py +0 -0
  67. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/lr_scheduler/linear_warmup_cosine.py +0 -0
  68. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/lr_scheduler/reduce_lr_on_plateau.py +0 -0
  69. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/metrics/__init__.py +0 -0
  70. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/metrics/_config.py +0 -0
  71. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/model/__init__.py +0 -0
  72. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/model/base.py +0 -0
  73. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/model/mixins/callback.py +0 -0
  74. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/model/mixins/logger.py +0 -0
  75. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/nn/__init__.py +0 -0
  76. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/nn/mlp.py +0 -0
  77. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/nn/module_dict.py +0 -0
  78. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/nn/module_list.py +0 -0
  79. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/nn/nonlinearity.py +0 -0
  80. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/optimizer.py +0 -0
  81. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/profiler/__init__.py +0 -0
  82. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/profiler/_base.py +0 -0
  83. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/profiler/advanced.py +0 -0
  84. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/profiler/pytorch.py +0 -0
  85. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/profiler/simple.py +0 -0
  86. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/runner.py +0 -0
  87. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/scripts/find_packages.py +0 -0
  88. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/trainer/__init__.py +0 -0
  89. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/trainer/_config.py +0 -0
  90. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/trainer/_runtime_callback.py +0 -0
  91. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/trainer/checkpoint_connector.py +0 -0
  92. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/trainer/signal_connector.py +0 -0
  93. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/trainer/trainer.py +0 -0
  94. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/_environment_info.py +0 -0
  95. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/_useful_types.py +0 -0
  96. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/bf16.py +0 -0
  97. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/config/__init__.py +0 -0
  98. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/config/dtype.py +0 -0
  99. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/config/duration.py +0 -0
  100. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/environment.py +0 -0
  101. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/path.py +0 -0
  102. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/seed.py +0 -0
  103. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/slurm.py +0 -0
  104. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/typed.py +0 -0
  105. {nshtrainer-0.40.2 → nshtrainer-0.40.4}/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.40.2
3
+ Version: 0.40.4
4
4
  Summary:
5
5
  Author: Nima Shoghi
6
6
  Author-email: nimashoghi@gmail.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "nshtrainer"
3
- version = "0.40.2"
3
+ version = "0.40.4"
4
4
  description = ""
5
5
  authors = ["Nima Shoghi <nimashoghi@gmail.com>"]
6
6
  readme = "README.md"
@@ -5,11 +5,11 @@ import re
5
5
  from dataclasses import dataclass
6
6
  from functools import cached_property
7
7
  from pathlib import Path
8
- from typing import TYPE_CHECKING, Any, cast
8
+ from typing import TYPE_CHECKING, Any, Literal, cast
9
9
 
10
10
  import nshconfig as C
11
11
  from nshrunner._env import SNAPSHOT_DIR
12
- from typing_extensions import override
12
+ from typing_extensions import assert_never, override
13
13
 
14
14
  from ._callback import NTCallbackBase
15
15
  from .callbacks.base import CallbackConfigBase
@@ -65,6 +65,9 @@ class HuggingFaceHubConfig(CallbackConfigBase):
65
65
  """Whether to save to the Hugging Face Hub in the background.
66
66
  This corresponds to setting `run_as_future=True` in the HFApi upload methods."""
67
67
 
68
+ on_login_error: Literal["warn", "error", "ignore"] = "warn"
69
+ """What to do when an error occurs during login."""
70
+
68
71
  def enable_(self):
69
72
  self.enabled = True
70
73
  return self
@@ -78,6 +81,30 @@ class HuggingFaceHubConfig(CallbackConfigBase):
78
81
 
79
82
  @override
80
83
  def create_callbacks(self, root_config):
84
+ # Attempt to login. If it fails, we'll log a warning or error based on the configuration.
85
+ try:
86
+ api = _api(self.token)
87
+ if api is None:
88
+ raise ValueError("Failed to create Hugging Face Hub API instance.")
89
+ except Exception as e:
90
+ match self.on_login_error:
91
+ case "warn":
92
+ log.warning(
93
+ "Failed to create Hugging Face Hub API instance. Disabling Hugging Face Hub integration.",
94
+ exc_info=e,
95
+ )
96
+ return
97
+ case "error":
98
+ raise
99
+ case "ignore":
100
+ log.debug(
101
+ "Failed to create Hugging Face Hub API instance. Disabling Hugging Face Hub integration.",
102
+ exc_info=e,
103
+ )
104
+ return
105
+ case _:
106
+ assert_never(self.on_login_error)
107
+
81
108
  yield self.with_metadata(HFHubCallback(self), ignore_if_exists=True)
82
109
 
83
110
 
@@ -77,7 +77,7 @@ class BaseConfig(C.Config):
77
77
  return self.directory.resolve_subdirectory(self.id, subdirectory)
78
78
 
79
79
  # region Helper methods
80
- def fast_dev_run(self, value: int | bool, /):
80
+ def fast_dev_run(self, value: int | bool = True, /):
81
81
  """
82
82
  Enables fast_dev_run mode for the trainer.
83
83
  This will run the training loop for a specified number of batches,
File without changes