xax 0.2.9__py3-none-any.whl → 0.2.11__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.
- xax/__init__.py +1 -1
- xax/task/loggers/tensorboard.py +4 -1
- xax/task/mixins/train.py +5 -6
- {xax-0.2.9.dist-info → xax-0.2.11.dist-info}/METADATA +1 -1
- {xax-0.2.9.dist-info → xax-0.2.11.dist-info}/RECORD +8 -8
- {xax-0.2.9.dist-info → xax-0.2.11.dist-info}/WHEEL +0 -0
- {xax-0.2.9.dist-info → xax-0.2.11.dist-info}/licenses/LICENSE +0 -0
- {xax-0.2.9.dist-info → xax-0.2.11.dist-info}/top_level.txt +0 -0
xax/__init__.py
CHANGED
xax/task/loggers/tensorboard.py
CHANGED
@@ -32,7 +32,7 @@ class TensorboardLogger(LoggerImpl):
|
|
32
32
|
flush_seconds: float = 10.0,
|
33
33
|
wait_seconds: float = 0.0,
|
34
34
|
start_in_subprocess: bool = True,
|
35
|
-
use_localhost: bool =
|
35
|
+
use_localhost: bool | None = None,
|
36
36
|
log_interval_seconds: float = 10.0,
|
37
37
|
) -> None:
|
38
38
|
"""Defines a logger which writes to Tensorboard.
|
@@ -49,6 +49,9 @@ class TensorboardLogger(LoggerImpl):
|
|
49
49
|
"""
|
50
50
|
super().__init__(log_interval_seconds)
|
51
51
|
|
52
|
+
if use_localhost is None:
|
53
|
+
use_localhost = os.environ.get("USE_TENSORBOARD_LOCALHOST", "0") == "1"
|
54
|
+
|
52
55
|
self.log_directory = Path(run_directory).expanduser().resolve() / subdirectory
|
53
56
|
self.wait_seconds = wait_seconds
|
54
57
|
self.start_in_subprocess = start_in_subprocess
|
xax/task/mixins/train.py
CHANGED
@@ -121,7 +121,7 @@ class ValidStepTimer:
|
|
121
121
|
self.last_valid_step = state.num_steps.item()
|
122
122
|
|
123
123
|
def is_valid_step(self, state: State) -> bool:
|
124
|
-
if state.num_steps < self.valid_first_n_steps:
|
124
|
+
if state.num_steps < self.valid_first_n_steps and state.num_valid_steps < self.valid_first_n_steps:
|
125
125
|
return True
|
126
126
|
|
127
127
|
if self.last_valid_time is None or self.last_valid_step is None:
|
@@ -272,7 +272,7 @@ class TrainMixin(
|
|
272
272
|
v, secondary = v
|
273
273
|
else:
|
274
274
|
secondary = False
|
275
|
-
self.logger.log_scalar(k, v, namespace="
|
275
|
+
self.logger.log_scalar(k, v, namespace="🕒 timers", secondary=secondary)
|
276
276
|
|
277
277
|
def log_step(
|
278
278
|
self,
|
@@ -361,7 +361,6 @@ class TrainMixin(
|
|
361
361
|
model = self.get_model(key)
|
362
362
|
state = State.init_state()
|
363
363
|
|
364
|
-
self.log_model_size(model)
|
365
364
|
if not load_optimizer:
|
366
365
|
return model, state
|
367
366
|
|
@@ -684,9 +683,6 @@ class TrainMixin(
|
|
684
683
|
self.logger.log_file("config.yaml", self.config_str(self.config, use_cli=False))
|
685
684
|
self.logger.log_file("info.json", get_info_json())
|
686
685
|
|
687
|
-
def log_model_size(self, model: PyTree) -> None:
|
688
|
-
logger.info("Model size: %s", f"{get_pytree_param_count(model):,}")
|
689
|
-
|
690
686
|
def model_partition_fn(self, item: Any) -> bool: # noqa: ANN401
|
691
687
|
return eqx.is_inexact_array(item)
|
692
688
|
|
@@ -832,6 +828,9 @@ class TrainMixin(
|
|
832
828
|
|
833
829
|
key, model_key = jax.random.split(key)
|
834
830
|
model, optimizer, opt_state, state = self.load_initial_state(model_key, load_optimizer=True)
|
831
|
+
logger.info("Model size: %s", f"{get_pytree_param_count(model):,}")
|
832
|
+
logger.info("Optimizer size: %s", f"{get_pytree_param_count(optimizer):,}")
|
833
|
+
|
835
834
|
state = self.on_training_start(state)
|
836
835
|
|
837
836
|
def on_exit() -> None:
|
@@ -1,4 +1,4 @@
|
|
1
|
-
xax/__init__.py,sha256=
|
1
|
+
xax/__init__.py,sha256=S4p0bL4JmuLyhFkGHlXlugXk-ckbnWtSw1_6r9E0qrI,15510
|
2
2
|
xax/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
3
|
xax/requirements-dev.txt,sha256=qkscNkFzWd1S5fump-AKH53rR65v2x5FmboFdy_kKvs,128
|
4
4
|
xax/requirements.txt,sha256=6qY-84e-sTmlfJNrSjwONQKqzAn5h8G_oGIhnhmfSr4,302
|
@@ -29,7 +29,7 @@ xax/task/loggers/callback.py,sha256=zQuV1xCvz47Q3UQqP1D5mBhbVzptvmPR_7hX25vqSk0,
|
|
29
29
|
xax/task/loggers/json.py,sha256=6A5wL7kspsXnpPhI_vu0scgd2Z2-WLhw4gbBFm7eZMM,4377
|
30
30
|
xax/task/loggers/state.py,sha256=0Jy0NYnY4c0qt0LvNlaTaCKOSqk5SCKln5VdyuQGnIc,1407
|
31
31
|
xax/task/loggers/stdout.py,sha256=giKSW2R83YkgRefm3BLkE7t8Pbj5Dux4AgsdJxYIbGo,6619
|
32
|
-
xax/task/loggers/tensorboard.py,sha256=
|
32
|
+
xax/task/loggers/tensorboard.py,sha256=sdsA8GjZG5JQpoAxNDRr_bGvqN8Olgj_almZBb2K5F8,8850
|
33
33
|
xax/task/mixins/__init__.py,sha256=D3oU31rB9FeOr9MPLleLt5JFbftUr4sBTwgnwQdc2qA,809
|
34
34
|
xax/task/mixins/artifacts.py,sha256=Ma7fwsp-SA1w6GcuBSskszj5TB83yxYJm4Ns_EnqkI4,3018
|
35
35
|
xax/task/mixins/checkpointing.py,sha256=zqospBFnTbGt_iriiduVfXazINPbzWpwmIs91KAniMY,10147
|
@@ -41,7 +41,7 @@ xax/task/mixins/logger.py,sha256=6oXsJJyNUx6YT3q58FVXMZBUpMgjVkGre6BXFN20cVI,280
|
|
41
41
|
xax/task/mixins/process.py,sha256=hqDEsMp_SL6ee97iq26-G0g49OcWZZaX82JD4F22eJU,1781
|
42
42
|
xax/task/mixins/runnable.py,sha256=IYIsLd2k09g-_y6o44EhJqT7E6BpsyEMmsyLSuzqjtc,1979
|
43
43
|
xax/task/mixins/step_wrapper.py,sha256=-Yu5Nft2CRw1JvZt6J_94SM1vqX8fk08IDK95Pmd2ew,1648
|
44
|
-
xax/task/mixins/train.py,sha256=
|
44
|
+
xax/task/mixins/train.py,sha256=PUVN2OsJpQppIzb4yaULT-C-0ocr1aGbPY-LrNJ2AVY,31322
|
45
45
|
xax/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
46
46
|
xax/utils/debugging.py,sha256=OtUdu-3tQsQtik0Q9UM-SNV46IbPjwrAfZcywzoB5d4,1940
|
47
47
|
xax/utils/experiments.py,sha256=bj8BftSHT3fFzfiJ0Co0WvqWo0rUS8kQnQYpVvH8FTM,29942
|
@@ -58,8 +58,8 @@ xax/utils/data/collate.py,sha256=Rd9vMomr_S_zCa_Hi4dO-8ntzAfVwndIUtuXFA3iNcc,706
|
|
58
58
|
xax/utils/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
59
59
|
xax/utils/types/frozen_dict.py,sha256=ebtHENhyUzSjyJTlbMaLtcckQIJ7EtgJiok_40TJZpo,4689
|
60
60
|
xax/utils/types/hashable_array.py,sha256=l5iIcFmkYzfGeaZmcSoeFkthFASqM8xJYK3AXhZQYwc,992
|
61
|
-
xax-0.2.
|
62
|
-
xax-0.2.
|
63
|
-
xax-0.2.
|
64
|
-
xax-0.2.
|
65
|
-
xax-0.2.
|
61
|
+
xax-0.2.11.dist-info/licenses/LICENSE,sha256=HCN2bImAzUOXldAZZI7JZ9PYq6OwMlDAP_PpX1HnuN0,1071
|
62
|
+
xax-0.2.11.dist-info/METADATA,sha256=MLwHl-vblIYvbpUZ5ylMDjwejKLNOnJK_55JwVNPVH8,1880
|
63
|
+
xax-0.2.11.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
|
64
|
+
xax-0.2.11.dist-info/top_level.txt,sha256=g4Au_r2XhvZ-lTybviH-Fh9g0zF4DAYHYxPue1-xbs8,4
|
65
|
+
xax-0.2.11.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|