Skip to content

v2.0.0

Latest
Compare
Choose a tag to compare
@m-kurz m-kurz released this 27 Jul 17:47
· 11 commits to main since this release

The new major release of Relexi comes with a substantial improvements in terms of ease-of-use and code quality and adds several new features. The most important ones include:

Features:

  • Implemented beta distribution for PPO policy to accelerate training. Selection of normal or beta distribution is done via the config.yaml file.
  • Separate runtime subpackage that implements handling of HPC resources and their distribution. Is implemented TF- and RL-agnostic and can also be used outside of Relexi for other applications.
  • Added support for SLURM and the srun launcher.
  • Added automatic detection of HPC environment by setting it to auto through SmartSim utilities (auto-detects pbs, slurm, local).
  • Cleaned commandline interface of Relexi main script relexi.py
  • Relexi main script is installed with package installation to path as relexi and thus provides a direct CLI tool.

Code Quality:

  • Published release as Python package on PyPI.
  • Restructured folder tree to comply with Python packaging standards.
  • Modularized functionality into separate subpackages.
  • Adapted codebase to conform to PEP8 standard.
  • Automated documentation of public API using pdoc, which is published via GitHub pages.
  • Implemented UnitTests via pytest and automated integration testing via Gitlab CI/CD.
  • Added CFF conform citation file.
  • Updated references and citations.
  • More robust validation of user input and overall increased robustness as well as more helpful warning and error messages for users.

Dependencies:

  • Bump SmartSim and SmartRedis dependencies to up-to-date versions.
  • Fixed issues and now support for OpenMPI 5.X
  • Correct and automated handling of Python dependencies via pip and pyproject.toml file.
  • Streamlined and updated installation process