Skip to content

v1.3.0

Compare
Choose a tag to compare
@ashleve ashleve released this 19 Feb 21:51
· 179 commits to main since this release
fb7c206

The template has been significantly refactored.

List of changes:

  • Introduce multiple pipelines, to showcase example of how one can separate training from evaluation, run.py has been replaced by train.py and test.py
  • The mode group config has been removed since it was confusing, now every run is treated as an experiment, and debugging is moved to a separate config group
  • Introduce debug config group
  • Introduce log_dir config group
  • Move wandb callbacks to the branch wandb-callbacks to make template logger-agnostic
  • Refactor rich config printing, now all config groups are always printed instead of just the pre-selected ones, but you can still decide on the print order
  • Add nbstripout to pre-commit hooks, for automatic clearing of jupyter notebooks outputs before commit
  • Update packages in requirements.txt and pre-commit-config.yaml to newest versions
  • Remove some of the unimportant default optuna parameters in mnist_optuna.yaml and add more explanatory comments
  • Remove no longer needed utilities from utils.extras()
  • Add config flag for skipping training
  • Fix hydra package versions in requirements.txt for mac compatibility
  • Remove redundant parts in filenames: mnist_model.yaml -> mnist.yaml, mnist_datamodule.yaml -> datamodule.yaml
  • Change mnist_model.py -> mnist_module.py and MNISTLitModel -> MNISTLitModule
  • Rename folder modules/ to components/
  • Change accelerator="ddp" to strategy="ddp" since it was depracated by lightning
  • Remove trainer arguments depracated by lightning: weight summary and progress_bar_refresh_rate
  • Specify black profile for isort inside .pre-commit-config.yaml just in case someone deletes the setup.cfg
  • Specify testpath in setup.cfg so pytest knows all test files are placed only in tests/ folder
  • Allow for using relative checkpoint paths
  • Rename folder bash to scripts
  • Introduce vendor dir as a "best practice" for storing third party code
  • Introduce local config files in configs/local/, which can be used for storing machine/user specific configurations, e.g. configuration of slurm cluster
  • Unify logging directories structure
  • Add RichModelSummary to default callbacks
  • Fix missing parameter in "Accessing datamodule attributes" trick in README.md
  • General README.md improvements

Special thanks to: @nils-werner @charlesincharge @Steve-Tod
for their PRs.