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.
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/PKG-INFO +1 -1
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/pyproject.toml +1 -1
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/_hf_hub.py +29 -2
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/model/config.py +1 -1
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/README.md +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/__init__.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/_callback.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/_checkpoint/loader.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/_checkpoint/metadata.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/_checkpoint/saver.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/_directory.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/_experimental/__init__.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/__init__.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/_throughput_monitor_callback.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/actsave.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/base.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/checkpoint/__init__.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/checkpoint/_base.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/checkpoint/best_checkpoint.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/checkpoint/last_checkpoint.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/checkpoint/on_exception_checkpoint.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/debug_flag.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/directory_setup.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/early_stopping.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/ema.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/finite_checks.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/gradient_skipping.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/interval.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/log_epoch.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/norm_logging.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/print_table.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/rlp_sanity_checks.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/shared_parameters.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/throughput_monitor.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/timer.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/wandb_upload_code.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/wandb_watch.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/config.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/data/__init__.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/data/balanced_batch_sampler.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/data/datamodule.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/data/transform.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/__init__.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/_experimental.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/actsave.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/callbacks.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/config.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/data.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/log.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/lr_scheduler.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/model.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/nn.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/optimizer.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/runner.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/snapshot.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/snoop.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/trainer.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/typecheck.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/ll/util.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/loggers/__init__.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/loggers/_base.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/loggers/csv.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/loggers/tensorboard.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/loggers/wandb.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/lr_scheduler/__init__.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/lr_scheduler/_base.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/lr_scheduler/linear_warmup_cosine.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/lr_scheduler/reduce_lr_on_plateau.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/metrics/__init__.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/metrics/_config.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/model/__init__.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/model/base.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/model/mixins/callback.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/model/mixins/logger.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/nn/__init__.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/nn/mlp.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/nn/module_dict.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/nn/module_list.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/nn/nonlinearity.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/optimizer.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/profiler/__init__.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/profiler/_base.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/profiler/advanced.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/profiler/pytorch.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/profiler/simple.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/runner.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/scripts/find_packages.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/trainer/__init__.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/trainer/_config.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/trainer/_runtime_callback.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/trainer/checkpoint_connector.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/trainer/signal_connector.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/trainer/trainer.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/_environment_info.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/_useful_types.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/bf16.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/config/__init__.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/config/dtype.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/config/duration.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/environment.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/path.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/seed.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/slurm.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/typed.py +0 -0
- {nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/util/typing_utils.py +0 -0
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/_throughput_monitor_callback.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/checkpoint/best_checkpoint.py
RENAMED
|
File without changes
|
{nshtrainer-0.40.2 → nshtrainer-0.40.4}/src/nshtrainer/callbacks/checkpoint/last_checkpoint.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|