nshtrainer 1.3.4__tar.gz → 1.3.6__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 (166) hide show
  1. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/PKG-INFO +2 -2
  2. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/pyproject.toml +2 -2
  3. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/__init__.py +14 -0
  4. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/_hf_hub.py +3 -11
  5. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/wandb_upload_code.py +5 -17
  6. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/__init__.py +1 -5
  7. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/trainer/__init__.py +4 -2
  8. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/trainer/_config/__init__.py +4 -2
  9. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/_config.py +517 -71
  10. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/signal_connector.py +12 -7
  11. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/trainer.py +1 -0
  12. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/util/_environment_info.py +14 -6
  13. nshtrainer-1.3.6/src/nshtrainer/util/code_upload.py +40 -0
  14. nshtrainer-1.3.4/src/nshtrainer/_directory.py +0 -72
  15. nshtrainer-1.3.4/src/nshtrainer/configs/_directory/__init__.py +0 -15
  16. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/README.md +0 -0
  17. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/.nshconfig.generated.json +0 -0
  18. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/_callback.py +0 -0
  19. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/_checkpoint/metadata.py +0 -0
  20. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/_checkpoint/saver.py +0 -0
  21. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/_experimental/__init__.py +0 -0
  22. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/__init__.py +0 -0
  23. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/actsave.py +0 -0
  24. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/base.py +0 -0
  25. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/checkpoint/__init__.py +0 -0
  26. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/checkpoint/_base.py +0 -0
  27. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/checkpoint/best_checkpoint.py +0 -0
  28. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/checkpoint/last_checkpoint.py +0 -0
  29. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/checkpoint/on_exception_checkpoint.py +0 -0
  30. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/debug_flag.py +0 -0
  31. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/directory_setup.py +0 -0
  32. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/distributed_prediction_writer.py +0 -0
  33. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/early_stopping.py +0 -0
  34. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/ema.py +0 -0
  35. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/finite_checks.py +0 -0
  36. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/gradient_skipping.py +0 -0
  37. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/interval.py +0 -0
  38. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/log_epoch.py +0 -0
  39. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/lr_monitor.py +0 -0
  40. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/metric_validation.py +0 -0
  41. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/norm_logging.py +0 -0
  42. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/print_table.py +0 -0
  43. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/rlp_sanity_checks.py +0 -0
  44. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/shared_parameters.py +0 -0
  45. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/timer.py +0 -0
  46. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/callbacks/wandb_watch.py +0 -0
  47. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/.gitattributes +0 -0
  48. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/_checkpoint/__init__.py +0 -0
  49. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/_checkpoint/metadata/__init__.py +0 -0
  50. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/_hf_hub/__init__.py +0 -0
  51. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/__init__.py +0 -0
  52. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/actsave/__init__.py +0 -0
  53. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/base/__init__.py +0 -0
  54. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/checkpoint/__init__.py +0 -0
  55. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/checkpoint/_base/__init__.py +0 -0
  56. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/checkpoint/best_checkpoint/__init__.py +0 -0
  57. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/checkpoint/last_checkpoint/__init__.py +0 -0
  58. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/checkpoint/on_exception_checkpoint/__init__.py +0 -0
  59. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/debug_flag/__init__.py +0 -0
  60. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/directory_setup/__init__.py +0 -0
  61. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/distributed_prediction_writer/__init__.py +0 -0
  62. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/early_stopping/__init__.py +0 -0
  63. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/ema/__init__.py +0 -0
  64. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/finite_checks/__init__.py +0 -0
  65. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/gradient_skipping/__init__.py +0 -0
  66. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/log_epoch/__init__.py +0 -0
  67. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/lr_monitor/__init__.py +0 -0
  68. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/metric_validation/__init__.py +0 -0
  69. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/norm_logging/__init__.py +0 -0
  70. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/print_table/__init__.py +0 -0
  71. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/rlp_sanity_checks/__init__.py +0 -0
  72. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/shared_parameters/__init__.py +0 -0
  73. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/timer/__init__.py +0 -0
  74. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/wandb_upload_code/__init__.py +0 -0
  75. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/callbacks/wandb_watch/__init__.py +0 -0
  76. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/loggers/__init__.py +0 -0
  77. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/loggers/actsave/__init__.py +0 -0
  78. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/loggers/base/__init__.py +0 -0
  79. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/loggers/csv/__init__.py +0 -0
  80. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/loggers/tensorboard/__init__.py +0 -0
  81. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/loggers/wandb/__init__.py +0 -0
  82. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/lr_scheduler/__init__.py +0 -0
  83. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/lr_scheduler/base/__init__.py +0 -0
  84. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/lr_scheduler/linear_warmup_cosine/__init__.py +0 -0
  85. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/lr_scheduler/reduce_lr_on_plateau/__init__.py +0 -0
  86. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/metrics/__init__.py +0 -0
  87. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/metrics/_config/__init__.py +0 -0
  88. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/nn/__init__.py +0 -0
  89. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/nn/mlp/__init__.py +0 -0
  90. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/nn/nonlinearity/__init__.py +0 -0
  91. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/nn/rng/__init__.py +0 -0
  92. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/optimizer/__init__.py +0 -0
  93. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/profiler/__init__.py +0 -0
  94. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/profiler/_base/__init__.py +0 -0
  95. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/profiler/advanced/__init__.py +0 -0
  96. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/profiler/pytorch/__init__.py +0 -0
  97. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/profiler/simple/__init__.py +0 -0
  98. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/trainer/accelerator/__init__.py +0 -0
  99. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/trainer/plugin/__init__.py +0 -0
  100. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/trainer/plugin/base/__init__.py +0 -0
  101. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/trainer/plugin/environment/__init__.py +0 -0
  102. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/trainer/plugin/io/__init__.py +0 -0
  103. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/trainer/plugin/layer_sync/__init__.py +0 -0
  104. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/trainer/plugin/precision/__init__.py +0 -0
  105. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/trainer/strategy/__init__.py +0 -0
  106. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/trainer/trainer/__init__.py +0 -0
  107. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/util/__init__.py +0 -0
  108. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/util/_environment_info/__init__.py +0 -0
  109. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/util/config/__init__.py +0 -0
  110. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/util/config/dtype/__init__.py +0 -0
  111. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/configs/util/config/duration/__init__.py +0 -0
  112. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/data/__init__.py +0 -0
  113. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/data/balanced_batch_sampler.py +0 -0
  114. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/data/datamodule.py +0 -0
  115. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/data/transform.py +0 -0
  116. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/loggers/__init__.py +0 -0
  117. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/loggers/actsave.py +0 -0
  118. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/loggers/base.py +0 -0
  119. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/loggers/csv.py +0 -0
  120. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/loggers/tensorboard.py +0 -0
  121. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/loggers/wandb.py +0 -0
  122. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/lr_scheduler/__init__.py +0 -0
  123. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/lr_scheduler/base.py +0 -0
  124. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/lr_scheduler/linear_warmup_cosine.py +0 -0
  125. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/lr_scheduler/reduce_lr_on_plateau.py +0 -0
  126. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/metrics/__init__.py +0 -0
  127. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/metrics/_config.py +0 -0
  128. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/model/__init__.py +0 -0
  129. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/model/base.py +0 -0
  130. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/model/mixins/callback.py +0 -0
  131. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/model/mixins/debug.py +0 -0
  132. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/model/mixins/logger.py +0 -0
  133. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/nn/__init__.py +0 -0
  134. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/nn/mlp.py +0 -0
  135. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/nn/module_dict.py +0 -0
  136. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/nn/module_list.py +0 -0
  137. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/nn/nonlinearity.py +0 -0
  138. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/nn/rng.py +0 -0
  139. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/optimizer.py +0 -0
  140. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/profiler/__init__.py +0 -0
  141. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/profiler/_base.py +0 -0
  142. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/profiler/advanced.py +0 -0
  143. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/profiler/pytorch.py +0 -0
  144. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/profiler/simple.py +0 -0
  145. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/__init__.py +0 -0
  146. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/_distributed_prediction_result.py +0 -0
  147. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/_log_hparams.py +0 -0
  148. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/_runtime_callback.py +0 -0
  149. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/accelerator.py +0 -0
  150. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/plugin/__init__.py +0 -0
  151. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/plugin/base.py +0 -0
  152. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/plugin/environment.py +0 -0
  153. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/plugin/io.py +0 -0
  154. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/plugin/layer_sync.py +0 -0
  155. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/plugin/precision.py +0 -0
  156. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/trainer/strategy.py +0 -0
  157. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/util/bf16.py +0 -0
  158. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/util/config/__init__.py +0 -0
  159. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/util/config/dtype.py +0 -0
  160. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/util/config/duration.py +0 -0
  161. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/util/environment.py +0 -0
  162. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/util/path.py +0 -0
  163. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/util/seed.py +0 -0
  164. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/util/slurm.py +0 -0
  165. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/util/typed.py +0 -0
  166. {nshtrainer-1.3.4 → nshtrainer-1.3.6}/src/nshtrainer/util/typing_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: nshtrainer
3
- Version: 1.3.4
3
+ Version: 1.3.6
4
4
  Summary:
5
5
  Author: Nima Shoghi
6
6
  Author-email: nimashoghi@gmail.com
@@ -15,7 +15,7 @@ Requires-Dist: GitPython ; extra == "extra"
15
15
  Requires-Dist: huggingface-hub ; extra == "extra"
16
16
  Requires-Dist: lightning
17
17
  Requires-Dist: nshconfig (>0.39)
18
- Requires-Dist: nshrunner
18
+ Requires-Dist: nshrunner ; extra == "extra"
19
19
  Requires-Dist: nshutils ; extra == "extra"
20
20
  Requires-Dist: numpy
21
21
  Requires-Dist: packaging
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "nshtrainer"
3
- version = "1.3.4"
3
+ version = "1.3.6"
4
4
  description = ""
5
5
  authors = [{ name = "Nima Shoghi", email = "nimashoghi@gmail.com" }]
6
6
  requires-python = ">=3.10,<4.0"
@@ -8,7 +8,6 @@ readme = "README.md"
8
8
 
9
9
  dependencies = [
10
10
  "nshconfig>0.39",
11
- "nshrunner",
12
11
  "psutil",
13
12
  "numpy",
14
13
  "torch",
@@ -20,6 +19,7 @@ dependencies = [
20
19
 
21
20
  [project.optional-dependencies]
22
21
  extra = [
22
+ "nshrunner",
23
23
  "wrapt",
24
24
  "GitPython",
25
25
  "wandb",
@@ -19,3 +19,17 @@ try:
19
19
  from . import configs as configs
20
20
  except BaseException:
21
21
  pass
22
+
23
+ try:
24
+ from importlib.metadata import PackageNotFoundError, version
25
+ except ImportError:
26
+ # For Python <3.8
27
+ from importlib_metadata import ( # pyright: ignore[reportMissingImports]
28
+ PackageNotFoundError,
29
+ version,
30
+ )
31
+
32
+ try:
33
+ __version__ = version(__name__)
34
+ except PackageNotFoundError:
35
+ __version__ = "unknown"
@@ -2,7 +2,6 @@ from __future__ import annotations
2
2
 
3
3
  import contextlib
4
4
  import logging
5
- import os
6
5
  import re
7
6
  from dataclasses import dataclass
8
7
  from functools import cached_property
@@ -10,7 +9,6 @@ from pathlib import Path
10
9
  from typing import TYPE_CHECKING, Any, ClassVar, Literal, cast
11
10
 
12
11
  import nshconfig as C
13
- from nshrunner._env import SNAPSHOT_DIR
14
12
  from typing_extensions import assert_never, override
15
13
 
16
14
  from ._callback import NTCallbackBase
@@ -19,6 +17,7 @@ from .callbacks.base import (
19
17
  CallbackMetadataConfig,
20
18
  callback_registry,
21
19
  )
20
+ from .util.code_upload import get_code_dir
22
21
 
23
22
  if TYPE_CHECKING:
24
23
  from huggingface_hub import HfApi # noqa: F401
@@ -319,20 +318,13 @@ class HFHubCallback(NTCallbackBase):
319
318
  def _save_code(self):
320
319
  # If a snapshot has been taken (which can be detected using the SNAPSHOT_DIR env),
321
320
  # then upload all contents within the snapshot directory to the repository.
322
- if not (snapshot_dir := os.environ.get(SNAPSHOT_DIR)):
321
+ if (snapshot_dir := get_code_dir()) is None:
323
322
  log.debug("No snapshot directory found. Skipping upload.")
324
323
  return
325
324
 
326
325
  with self._with_error_handling("save code"):
327
- snapshot_dir = Path(snapshot_dir)
328
- if not snapshot_dir.exists() or not snapshot_dir.is_dir():
329
- log.warning(
330
- f"Snapshot directory '{snapshot_dir}' does not exist or is not a directory."
331
- )
332
- return
333
-
334
326
  self.api.upload_folder(
335
- folder_path=str(snapshot_dir),
327
+ folder_path=str(snapshot_dir.absolute()),
336
328
  repo_id=self.repo_id,
337
329
  repo_type="model",
338
330
  path_in_repo="code", # Prefix with "code" folder
@@ -1,16 +1,14 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import logging
4
- import os
5
- from pathlib import Path
6
4
  from typing import Literal, cast
7
5
 
8
6
  from lightning.pytorch import LightningModule, Trainer
9
7
  from lightning.pytorch.callbacks.callback import Callback
10
8
  from lightning.pytorch.loggers import WandbLogger
11
- from nshrunner._env import SNAPSHOT_DIR
12
9
  from typing_extensions import final, override
13
10
 
11
+ from ..util.code_upload import get_code_dir
14
12
  from .base import CallbackConfigBase, callback_registry
15
13
 
16
14
  log = logging.getLogger(__name__)
@@ -62,22 +60,12 @@ class WandbUploadCodeCallback(Callback):
62
60
  log.warning("Wandb logger not found. Skipping code upload.")
63
61
  return
64
62
 
65
- from wandb.wandb_run import Run
66
-
67
- run = cast(Run, logger.experiment)
68
-
69
- # If a snapshot has been taken (which can be detected using the SNAPSHOT_DIR env),
70
- # then upload all contents within the snapshot directory to the repository.
71
- if not (snapshot_dir := os.environ.get(SNAPSHOT_DIR)):
72
- log.debug("No snapshot directory found. Skipping upload.")
63
+ if (snapshot_dir := get_code_dir()) is None:
64
+ log.info("No nshrunner snapshot found. Skipping code upload.")
73
65
  return
74
66
 
75
- snapshot_dir = Path(snapshot_dir)
76
- if not snapshot_dir.exists() or not snapshot_dir.is_dir():
77
- log.warning(
78
- f"Snapshot directory '{snapshot_dir}' does not exist or is not a directory."
79
- )
80
- return
67
+ from wandb.wandb_run import Run
81
68
 
69
+ run = cast(Run, logger.experiment)
82
70
  log.info(f"Uploading code from snapshot directory '{snapshot_dir}'")
83
71
  run.log_code(str(snapshot_dir.absolute()))
@@ -5,7 +5,6 @@ __codegen__ = True
5
5
  from nshtrainer import MetricConfig as MetricConfig
6
6
  from nshtrainer import TrainerConfig as TrainerConfig
7
7
  from nshtrainer._checkpoint.metadata import CheckpointMetadata as CheckpointMetadata
8
- from nshtrainer._directory import DirectoryConfig as DirectoryConfig
9
8
  from nshtrainer._hf_hub import CallbackConfigBase as CallbackConfigBase
10
9
  from nshtrainer._hf_hub import (
11
10
  HuggingFaceHubAutoCreateConfig as HuggingFaceHubAutoCreateConfig,
@@ -126,9 +125,9 @@ from nshtrainer.trainer._config import (
126
125
  CheckpointCallbackConfig as CheckpointCallbackConfig,
127
126
  )
128
127
  from nshtrainer.trainer._config import CheckpointSavingConfig as CheckpointSavingConfig
128
+ from nshtrainer.trainer._config import DirectoryConfig as DirectoryConfig
129
129
  from nshtrainer.trainer._config import EnvironmentConfig as EnvironmentConfig
130
130
  from nshtrainer.trainer._config import GradientClippingConfig as GradientClippingConfig
131
- from nshtrainer.trainer._config import SanityCheckingConfig as SanityCheckingConfig
132
131
  from nshtrainer.trainer._config import StrategyConfig as StrategyConfig
133
132
  from nshtrainer.trainer.accelerator import CPUAcceleratorConfig as CPUAcceleratorConfig
134
133
  from nshtrainer.trainer.accelerator import (
@@ -227,7 +226,6 @@ from nshtrainer.util.config import EpochsConfig as EpochsConfig
227
226
  from nshtrainer.util.config import StepsConfig as StepsConfig
228
227
 
229
228
  from . import _checkpoint as _checkpoint
230
- from . import _directory as _directory
231
229
  from . import _hf_hub as _hf_hub
232
230
  from . import callbacks as callbacks
233
231
  from . import loggers as loggers
@@ -338,7 +336,6 @@ __all__ = [
338
336
  "RpropConfig",
339
337
  "SGDConfig",
340
338
  "SLURMEnvironmentPlugin",
341
- "SanityCheckingConfig",
342
339
  "SharedParametersCallbackConfig",
343
340
  "SiLUNonlinearityConfig",
344
341
  "SigmoidNonlinearityConfig",
@@ -367,7 +364,6 @@ __all__ = [
367
364
  "XLAEnvironmentPlugin",
368
365
  "XLAPluginConfig",
369
366
  "_checkpoint",
370
- "_directory",
371
367
  "_hf_hub",
372
368
  "accelerator_registry",
373
369
  "callback_registry",
@@ -22,6 +22,9 @@ from nshtrainer.trainer._config import (
22
22
  DebugFlagCallbackConfig as DebugFlagCallbackConfig,
23
23
  )
24
24
  from nshtrainer.trainer._config import DirectoryConfig as DirectoryConfig
25
+ from nshtrainer.trainer._config import (
26
+ DirectorySetupCallbackConfig as DirectorySetupCallbackConfig,
27
+ )
25
28
  from nshtrainer.trainer._config import (
26
29
  EarlyStoppingCallbackConfig as EarlyStoppingCallbackConfig,
27
30
  )
@@ -51,7 +54,6 @@ from nshtrainer.trainer._config import ProfilerConfig as ProfilerConfig
51
54
  from nshtrainer.trainer._config import (
52
55
  RLPSanityChecksCallbackConfig as RLPSanityChecksCallbackConfig,
53
56
  )
54
- from nshtrainer.trainer._config import SanityCheckingConfig as SanityCheckingConfig
55
57
  from nshtrainer.trainer._config import (
56
58
  SharedParametersCallbackConfig as SharedParametersCallbackConfig,
57
59
  )
@@ -152,6 +154,7 @@ __all__ = [
152
154
  "DebugFlagCallbackConfig",
153
155
  "DeepSpeedPluginConfig",
154
156
  "DirectoryConfig",
157
+ "DirectorySetupCallbackConfig",
155
158
  "DistributedPredictionWriterConfig",
156
159
  "DoublePrecisionPluginConfig",
157
160
  "EarlyStoppingCallbackConfig",
@@ -180,7 +183,6 @@ __all__ = [
180
183
  "ProfilerConfig",
181
184
  "RLPSanityChecksCallbackConfig",
182
185
  "SLURMEnvironmentPlugin",
183
- "SanityCheckingConfig",
184
186
  "SharedParametersCallbackConfig",
185
187
  "StrategyConfig",
186
188
  "StrategyConfigBase",
@@ -18,6 +18,9 @@ from nshtrainer.trainer._config import (
18
18
  DebugFlagCallbackConfig as DebugFlagCallbackConfig,
19
19
  )
20
20
  from nshtrainer.trainer._config import DirectoryConfig as DirectoryConfig
21
+ from nshtrainer.trainer._config import (
22
+ DirectorySetupCallbackConfig as DirectorySetupCallbackConfig,
23
+ )
21
24
  from nshtrainer.trainer._config import (
22
25
  EarlyStoppingCallbackConfig as EarlyStoppingCallbackConfig,
23
26
  )
@@ -48,7 +51,6 @@ from nshtrainer.trainer._config import ProfilerConfig as ProfilerConfig
48
51
  from nshtrainer.trainer._config import (
49
52
  RLPSanityChecksCallbackConfig as RLPSanityChecksCallbackConfig,
50
53
  )
51
- from nshtrainer.trainer._config import SanityCheckingConfig as SanityCheckingConfig
52
54
  from nshtrainer.trainer._config import (
53
55
  SharedParametersCallbackConfig as SharedParametersCallbackConfig,
54
56
  )
@@ -70,6 +72,7 @@ __all__ = [
70
72
  "CheckpointSavingConfig",
71
73
  "DebugFlagCallbackConfig",
72
74
  "DirectoryConfig",
75
+ "DirectorySetupCallbackConfig",
73
76
  "EarlyStoppingCallbackConfig",
74
77
  "EnvironmentConfig",
75
78
  "GradientClippingConfig",
@@ -86,7 +89,6 @@ __all__ = [
86
89
  "PluginConfig",
87
90
  "ProfilerConfig",
88
91
  "RLPSanityChecksCallbackConfig",
89
- "SanityCheckingConfig",
90
92
  "SharedParametersCallbackConfig",
91
93
  "StrategyConfig",
92
94
  "TensorboardLoggerConfig",