Readme#

https://user-images.githubusercontent.com/13602468/207724747-2f86dc4d-0c09-4d8f-9e7f-37614a0dab9d.pnglogo

https://readthedocs.org/projects/ray-tune-stoppers-contrib/badge/?version=latestDocumentation Status https://results.pre-commit.ci/badge/github/klieret/ray-tune-stoppers-contrib/main.svgpre-commit.ci status https://github.com/klieret/ray-tune-stoppers-contrib/actions/workflows/test.yaml/badge.svgPython package https://github.com/klieret/ray-tune-stoppers-contrib/actions/workflows/check-links.yaml/badge.svgCheck Markdown links https://codecov.io/github/klieret/ray-tune-stoppers-contrib/branch/main/graph/badge.svg?token=6MQZ4LODE5codecov https://img.shields.io/badge/gitmoji-%20%F0%9F%98%9C%20%F0%9F%98%8D-FFDD67.svggitmoji https://img.shields.io/badge/code%20style-black-000000.svgBlack https://img.shields.io/badge/PR-Welcome-%23FF8300.svgPR welcome

📝 Description#

Ray tune is a tool for scalable hyperparameter tuning for machine learning applications. For intelligent hyperperameter optimization, trials that are performing inadequately should be stopped early. Part of this can be done by schedulers such as ASHA, but additional explicit stopping criteria are useful as well.

For example, a trial that has converged and is no longer producing better results, but is still outperforming all other running trials, will not be stopped by ASHA. Ray tune currently only provides three different stoppers: a plateau stopper, a maximum iterations stopper, and a timeout stopper.

This module aims to foster a greater variety of community maintained contributed stopping mechanisms.

📦 Installation#

pip3 install rt_stoppers_contrib

🔥 Using it#

For a full list of the stoppers offered, see the the documentation.

Using any of the stoppers is as easy as

from rt_stoppers_contrib import NoImprovementTrialStopper

tuner = tune.Tuner(
    tune.Trainable,
    tune_config=...,
    run_config=air.RunConfig(stop=NoImprovementTrialStopper("my_metric"))
)

For more information, refer to the documentation.

🧰 Development setup#

pip3 install pre-commit
cd <this repository>
pre-commit install
gitmoji -i

💖 Contributing#

Your help is greatly appreciated! Suggestions, bug reports and feature requests are best opened as github issues. You are also very welcome to submit a pull request!

Bug reports and pull requests are credited with the help of the allcontributors bot.

⚖️ License#

See LICENSE for more information. The logo is built from the official ray-tune logo together with this stop sign (CC 4.0).