nshtrainer 1.0.0b56__tar.gz → 1.1.1b1__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 (162) hide show
  1. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/PKG-INFO +2 -3
  2. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/pyproject.toml +25 -31
  3. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/__init__.py +0 -3
  4. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/__init__.py +3 -3
  5. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/data/datamodule.py +2 -2
  6. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/model/base.py +2 -9
  7. nshtrainer-1.1.1b1/src/nshtrainer/trainer/_log_hparams.py +85 -0
  8. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/trainer/trainer.py +4 -0
  9. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/README.md +0 -0
  10. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/.nshconfig.generated.json +0 -0
  11. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/_callback.py +0 -0
  12. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/_checkpoint/metadata.py +0 -0
  13. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/_checkpoint/saver.py +0 -0
  14. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/_directory.py +0 -0
  15. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/_experimental/__init__.py +0 -0
  16. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/_hf_hub.py +0 -0
  17. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/__init__.py +0 -0
  18. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/actsave.py +0 -0
  19. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/base.py +0 -0
  20. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/checkpoint/__init__.py +0 -0
  21. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/checkpoint/_base.py +0 -0
  22. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/checkpoint/best_checkpoint.py +0 -0
  23. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/checkpoint/last_checkpoint.py +0 -0
  24. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/checkpoint/on_exception_checkpoint.py +0 -0
  25. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/debug_flag.py +0 -0
  26. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/directory_setup.py +0 -0
  27. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/early_stopping.py +0 -0
  28. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/ema.py +0 -0
  29. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/finite_checks.py +0 -0
  30. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/gradient_skipping.py +0 -0
  31. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/interval.py +0 -0
  32. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/log_epoch.py +0 -0
  33. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/lr_monitor.py +0 -0
  34. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/metric_validation.py +0 -0
  35. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/norm_logging.py +0 -0
  36. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/print_table.py +0 -0
  37. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/rlp_sanity_checks.py +0 -0
  38. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/shared_parameters.py +0 -0
  39. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/timer.py +0 -0
  40. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/wandb_upload_code.py +0 -0
  41. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/callbacks/wandb_watch.py +0 -0
  42. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/.gitattributes +0 -0
  43. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/_checkpoint/__init__.py +0 -0
  44. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/_checkpoint/metadata/__init__.py +0 -0
  45. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/_directory/__init__.py +0 -0
  46. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/_hf_hub/__init__.py +0 -0
  47. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/__init__.py +0 -0
  48. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/actsave/__init__.py +0 -0
  49. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/base/__init__.py +0 -0
  50. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/checkpoint/__init__.py +0 -0
  51. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/checkpoint/_base/__init__.py +0 -0
  52. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/checkpoint/best_checkpoint/__init__.py +0 -0
  53. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/checkpoint/last_checkpoint/__init__.py +0 -0
  54. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/checkpoint/on_exception_checkpoint/__init__.py +0 -0
  55. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/debug_flag/__init__.py +0 -0
  56. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/directory_setup/__init__.py +0 -0
  57. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/early_stopping/__init__.py +0 -0
  58. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/ema/__init__.py +0 -0
  59. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/finite_checks/__init__.py +0 -0
  60. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/gradient_skipping/__init__.py +0 -0
  61. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/log_epoch/__init__.py +0 -0
  62. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/lr_monitor/__init__.py +0 -0
  63. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/metric_validation/__init__.py +0 -0
  64. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/norm_logging/__init__.py +0 -0
  65. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/print_table/__init__.py +0 -0
  66. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/rlp_sanity_checks/__init__.py +0 -0
  67. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/shared_parameters/__init__.py +0 -0
  68. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/timer/__init__.py +0 -0
  69. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/wandb_upload_code/__init__.py +0 -0
  70. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/callbacks/wandb_watch/__init__.py +0 -0
  71. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/loggers/__init__.py +0 -0
  72. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/loggers/actsave/__init__.py +0 -0
  73. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/loggers/base/__init__.py +0 -0
  74. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/loggers/csv/__init__.py +0 -0
  75. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/loggers/tensorboard/__init__.py +0 -0
  76. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/loggers/wandb/__init__.py +0 -0
  77. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/lr_scheduler/__init__.py +0 -0
  78. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/lr_scheduler/base/__init__.py +0 -0
  79. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/lr_scheduler/linear_warmup_cosine/__init__.py +0 -0
  80. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/lr_scheduler/reduce_lr_on_plateau/__init__.py +0 -0
  81. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/metrics/__init__.py +0 -0
  82. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/metrics/_config/__init__.py +0 -0
  83. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/nn/__init__.py +0 -0
  84. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/nn/mlp/__init__.py +0 -0
  85. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/nn/nonlinearity/__init__.py +0 -0
  86. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/nn/rng/__init__.py +0 -0
  87. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/optimizer/__init__.py +0 -0
  88. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/profiler/__init__.py +0 -0
  89. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/profiler/_base/__init__.py +0 -0
  90. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/profiler/advanced/__init__.py +0 -0
  91. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/profiler/pytorch/__init__.py +0 -0
  92. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/profiler/simple/__init__.py +0 -0
  93. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/trainer/__init__.py +0 -0
  94. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/trainer/_config/__init__.py +0 -0
  95. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/trainer/accelerator/__init__.py +0 -0
  96. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/trainer/plugin/__init__.py +0 -0
  97. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/trainer/plugin/base/__init__.py +0 -0
  98. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/trainer/plugin/environment/__init__.py +0 -0
  99. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/trainer/plugin/io/__init__.py +0 -0
  100. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/trainer/plugin/layer_sync/__init__.py +0 -0
  101. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/trainer/plugin/precision/__init__.py +0 -0
  102. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/trainer/strategy/__init__.py +0 -0
  103. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/trainer/trainer/__init__.py +0 -0
  104. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/util/__init__.py +0 -0
  105. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/util/_environment_info/__init__.py +0 -0
  106. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/util/config/__init__.py +0 -0
  107. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/util/config/dtype/__init__.py +0 -0
  108. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/configs/util/config/duration/__init__.py +0 -0
  109. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/data/__init__.py +0 -0
  110. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/data/balanced_batch_sampler.py +0 -0
  111. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/data/transform.py +0 -0
  112. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/loggers/__init__.py +0 -0
  113. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/loggers/actsave.py +0 -0
  114. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/loggers/base.py +0 -0
  115. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/loggers/csv.py +0 -0
  116. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/loggers/tensorboard.py +0 -0
  117. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/loggers/wandb.py +0 -0
  118. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/lr_scheduler/__init__.py +0 -0
  119. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/lr_scheduler/base.py +0 -0
  120. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/lr_scheduler/linear_warmup_cosine.py +0 -0
  121. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/lr_scheduler/reduce_lr_on_plateau.py +0 -0
  122. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/metrics/__init__.py +0 -0
  123. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/metrics/_config.py +0 -0
  124. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/model/__init__.py +0 -0
  125. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/model/mixins/callback.py +0 -0
  126. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/model/mixins/debug.py +0 -0
  127. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/model/mixins/logger.py +0 -0
  128. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/nn/__init__.py +0 -0
  129. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/nn/mlp.py +0 -0
  130. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/nn/module_dict.py +0 -0
  131. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/nn/module_list.py +0 -0
  132. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/nn/nonlinearity.py +0 -0
  133. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/nn/rng.py +0 -0
  134. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/optimizer.py +0 -0
  135. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/profiler/__init__.py +0 -0
  136. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/profiler/_base.py +0 -0
  137. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/profiler/advanced.py +0 -0
  138. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/profiler/pytorch.py +0 -0
  139. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/profiler/simple.py +0 -0
  140. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/trainer/__init__.py +0 -0
  141. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/trainer/_config.py +0 -0
  142. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/trainer/_runtime_callback.py +0 -0
  143. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/trainer/accelerator.py +0 -0
  144. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/trainer/plugin/__init__.py +0 -0
  145. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/trainer/plugin/base.py +0 -0
  146. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/trainer/plugin/environment.py +0 -0
  147. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/trainer/plugin/io.py +0 -0
  148. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/trainer/plugin/layer_sync.py +0 -0
  149. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/trainer/plugin/precision.py +0 -0
  150. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/trainer/signal_connector.py +0 -0
  151. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/trainer/strategy.py +0 -0
  152. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/util/_environment_info.py +0 -0
  153. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/util/bf16.py +0 -0
  154. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/util/config/__init__.py +0 -0
  155. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/util/config/dtype.py +0 -0
  156. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/util/config/duration.py +0 -0
  157. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/util/environment.py +0 -0
  158. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/util/path.py +0 -0
  159. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/util/seed.py +0 -0
  160. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/util/slurm.py +0 -0
  161. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/src/nshtrainer/util/typed.py +0 -0
  162. {nshtrainer-1.0.0b56 → nshtrainer-1.1.1b1}/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.0.0b56
3
+ Version: 1.1.1b1
4
4
  Summary:
5
5
  Author: Nima Shoghi
6
6
  Author-email: nimashoghi@gmail.com
@@ -14,13 +14,12 @@ Provides-Extra: extra
14
14
  Requires-Dist: GitPython ; extra == "extra"
15
15
  Requires-Dist: huggingface-hub ; extra == "extra"
16
16
  Requires-Dist: lightning
17
- Requires-Dist: nshconfig
17
+ Requires-Dist: nshconfig (>0.39)
18
18
  Requires-Dist: nshrunner
19
19
  Requires-Dist: nshutils ; extra == "extra"
20
20
  Requires-Dist: numpy
21
21
  Requires-Dist: packaging
22
22
  Requires-Dist: psutil
23
- Requires-Dist: pytorch-lightning
24
23
  Requires-Dist: tensorboard ; extra == "extra"
25
24
  Requires-Dist: torch
26
25
  Requires-Dist: torchmetrics
@@ -1,28 +1,32 @@
1
- [tool.poetry]
1
+ [project]
2
2
  name = "nshtrainer"
3
- version = "1.0.0-beta56"
3
+ version = "1.1.1-beta.1"
4
4
  description = ""
5
- authors = ["Nima Shoghi <nimashoghi@gmail.com>"]
5
+ authors = [{ name = "Nima Shoghi", email = "nimashoghi@gmail.com" }]
6
+ requires-python = ">=3.10,<4.0"
6
7
  readme = "README.md"
7
8
 
8
- [tool.poetry.dependencies]
9
- python = "^3.10"
10
- nshrunner = { version = "*" }
11
- nshconfig = "*"
12
- nshutils = { version = "*", optional = true }
13
- psutil = "*"
14
- numpy = "*"
15
- torch = "*"
16
- typing-extensions = "*"
17
- packaging = "*"
18
- lightning = "*"
19
- pytorch-lightning = "*"
20
- torchmetrics = "*"
21
- wrapt = { version = "*", optional = true }
22
- GitPython = { version = "*", optional = true }
23
- wandb = { version = "*", optional = true }
24
- tensorboard = { version = "*", optional = true }
25
- huggingface-hub = { version = "*", optional = true }
9
+ dependencies = [
10
+ "nshconfig>0.39",
11
+ "nshrunner",
12
+ "psutil",
13
+ "numpy",
14
+ "torch",
15
+ "typing-extensions",
16
+ "packaging",
17
+ "lightning",
18
+ "torchmetrics",
19
+ ]
20
+
21
+ [project.optional-dependencies]
22
+ extra = [
23
+ "wrapt",
24
+ "GitPython",
25
+ "wandb",
26
+ "tensorboard",
27
+ "huggingface-hub",
28
+ "nshutils",
29
+ ]
26
30
 
27
31
  [tool.poetry.group.dev.dependencies]
28
32
  basedpyright = "*"
@@ -51,16 +55,6 @@ ignore = ["F722", "F821", "E731", "E741"]
51
55
  [tool.ruff.lint.isort]
52
56
  required-imports = ["from __future__ import annotations"]
53
57
 
54
- [tool.poetry.extras]
55
- extra = [
56
- "wrapt",
57
- "GitPython",
58
- "wandb",
59
- "tensorboard",
60
- "huggingface-hub",
61
- "nshutils",
62
- ]
63
-
64
58
  [tool.pytest]
65
59
  testpaths = ["tests"]
66
60
  python_files = "test_*.py"
@@ -14,9 +14,6 @@ from .metrics import MetricConfig as MetricConfig
14
14
  from .model import LightningModuleBase as LightningModuleBase
15
15
  from .trainer import Trainer as Trainer
16
16
  from .trainer import TrainerConfig as TrainerConfig
17
- from .trainer import accelerator_registry as accelerator_registry
18
- from .trainer import callback_registry as callback_registry
19
- from .trainer import plugin_registry as plugin_registry
20
17
 
21
18
  try:
22
19
  from . import configs as configs
@@ -4,9 +4,6 @@ __codegen__ = True
4
4
 
5
5
  from nshtrainer import MetricConfig as MetricConfig
6
6
  from nshtrainer import TrainerConfig as TrainerConfig
7
- from nshtrainer import accelerator_registry as accelerator_registry
8
- from nshtrainer import callback_registry as callback_registry
9
- from nshtrainer import plugin_registry as plugin_registry
10
7
  from nshtrainer._checkpoint.metadata import CheckpointMetadata as CheckpointMetadata
11
8
  from nshtrainer._directory import DirectoryConfig as DirectoryConfig
12
9
  from nshtrainer._hf_hub import CallbackConfigBase as CallbackConfigBase
@@ -14,6 +11,7 @@ from nshtrainer._hf_hub import (
14
11
  HuggingFaceHubAutoCreateConfig as HuggingFaceHubAutoCreateConfig,
15
12
  )
16
13
  from nshtrainer._hf_hub import HuggingFaceHubConfig as HuggingFaceHubConfig
14
+ from nshtrainer._hf_hub import callback_registry as callback_registry
17
15
  from nshtrainer.callbacks import ActSaveConfig as ActSaveConfig
18
16
  from nshtrainer.callbacks import (
19
17
  BestCheckpointCallbackConfig as BestCheckpointCallbackConfig,
@@ -106,6 +104,8 @@ from nshtrainer.profiler import BaseProfilerConfig as BaseProfilerConfig
106
104
  from nshtrainer.profiler import ProfilerConfig as ProfilerConfig
107
105
  from nshtrainer.profiler import PyTorchProfilerConfig as PyTorchProfilerConfig
108
106
  from nshtrainer.profiler import SimpleProfilerConfig as SimpleProfilerConfig
107
+ from nshtrainer.trainer import accelerator_registry as accelerator_registry
108
+ from nshtrainer.trainer import plugin_registry as plugin_registry
109
109
  from nshtrainer.trainer._config import AcceleratorConfig as AcceleratorConfig
110
110
  from nshtrainer.trainer._config import (
111
111
  CheckpointCallbackConfig as CheckpointCallbackConfig,
@@ -30,9 +30,9 @@ class LightningDataModuleBase(
30
30
 
31
31
  @property
32
32
  @override
33
- def hparams_initial(self): # pyright: ignore[reportIncompatibleMethodOverride]
33
+ def hparams_initial(self) -> THparams: # pyright: ignore[reportIncompatibleMethodOverride]
34
34
  hparams = cast(THparams, super().hparams_initial)
35
- return cast(Never, {"datamodule": hparams.model_dump(mode="json")})
35
+ return hparams
36
36
 
37
37
  @property
38
38
  @deprecated("Use `hparams` instead")
@@ -134,16 +134,9 @@ class LightningModuleBase(
134
134
 
135
135
  @property
136
136
  @override
137
- def hparams_initial(self): # pyright: ignore[reportIncompatibleMethodOverride]
137
+ def hparams_initial(self) -> THparams: # pyright: ignore[reportIncompatibleMethodOverride]
138
138
  hparams = cast(THparams, super().hparams_initial)
139
- hparams_dict = {"model": hparams.model_dump(mode="json")}
140
- if (trainer := self._trainer) is not None:
141
- from ..trainer import Trainer
142
-
143
- if isinstance(trainer, Trainer):
144
- hparams_dict["trainer"] = trainer.hparams.model_dump(mode="json")
145
-
146
- return cast(Never, hparams_dict)
139
+ return hparams
147
140
 
148
141
  @property
149
142
  @deprecated("Use `hparams` instead")
@@ -0,0 +1,85 @@
1
+ from __future__ import annotations
2
+
3
+ import json
4
+ import logging
5
+ from typing import Any, cast
6
+
7
+ import nshconfig as C
8
+ from lightning.pytorch import LightningDataModule, Trainer
9
+
10
+ log = logging.getLogger(__name__)
11
+
12
+
13
+ def _dict(obj: Any):
14
+ if isinstance(obj, C.Config):
15
+ return obj.model_dump(mode="json")
16
+
17
+ try:
18
+ return dict(obj)
19
+ except Exception:
20
+ return json.loads(
21
+ json.dumps(obj, default=lambda o: str(o), indent=4, sort_keys=True)
22
+ )
23
+
24
+
25
+ def _dict_and_clean(obj: Any):
26
+ d = _dict(obj)
27
+
28
+ # Remove LightningCLI's internal hparam
29
+ d = {k: v for k, v in d.items() if k != "_class_path"}
30
+ return d
31
+
32
+
33
+ def _log_hyperparams(trainer: Trainer) -> None:
34
+ if not trainer.loggers:
35
+ return
36
+
37
+ hparams_to_log: dict[str, Any] = {}
38
+
39
+ from .trainer import Trainer
40
+
41
+ if isinstance(trainer, Trainer):
42
+ hparams_to_log["trainer"] = _dict_and_clean(trainer.hparams)
43
+
44
+ if (
45
+ pl_module := trainer.lightning_module
46
+ ) is not None and pl_module._log_hyperparams:
47
+ hparams_to_log["model"] = _dict_and_clean(pl_module.hparams_initial)
48
+
49
+ if (
50
+ datamodule := cast(
51
+ LightningDataModule | None, getattr(trainer, "datamodule", None)
52
+ )
53
+ ) is not None and (datamodule._log_hyperparams):
54
+ hparams_to_log["datamodule"] = _dict_and_clean(datamodule.hparams_initial)
55
+
56
+ for logger in trainer.loggers:
57
+ logger.log_hyperparams(hparams_to_log)
58
+ logger.log_graph(pl_module)
59
+ logger.save()
60
+
61
+
62
+ def patch_log_hparams_function():
63
+ try:
64
+ import lightning.pytorch.loggers.utilities
65
+ import lightning.pytorch.trainer.trainer
66
+
67
+ lightning.pytorch.loggers.utilities._log_hyperparams = _log_hyperparams
68
+ lightning.pytorch.trainer.trainer._log_hyperparams = _log_hyperparams
69
+ log.info(
70
+ "Patched lightning.pytorch's _log_hyperparams to use nshtrainer's version"
71
+ )
72
+ except ImportError:
73
+ pass
74
+
75
+ try:
76
+ import pytorch_lightning.loggers.utilities
77
+ import pytorch_lightning.trainer.trainer
78
+
79
+ pytorch_lightning.loggers.utilities._log_hyperparams = _log_hyperparams
80
+ pytorch_lightning.trainer.trainer._log_hyperparams = _log_hyperparams
81
+ log.info(
82
+ "Patched pytorch_lightning's _log_hyperparams to use nshtrainer's version"
83
+ )
84
+ except ImportError:
85
+ pass
@@ -23,6 +23,7 @@ from ..callbacks.base import resolve_all_callbacks
23
23
  from ..util._environment_info import EnvironmentConfig
24
24
  from ..util.bf16 import is_bf16_supported_no_emulation
25
25
  from ._config import LightningTrainerKwargs, TrainerConfig
26
+ from ._log_hparams import patch_log_hparams_function
26
27
  from ._runtime_callback import RuntimeTrackerCallback, Stage
27
28
  from .accelerator import AcceleratorConfigBase
28
29
  from .signal_connector import _SignalConnector
@@ -31,6 +32,9 @@ from .strategy import StrategyConfigBase
31
32
  log = logging.getLogger(__name__)
32
33
 
33
34
 
35
+ patch_log_hparams_function()
36
+
37
+
34
38
  class Trainer(LightningTrainer):
35
39
  CHECKPOINT_HYPER_PARAMS_KEY = "trainer_hyper_parameters"
36
40
 
File without changes