Skip to content

Hydra sweeper integration of our favorite optimization packages, utilizing ask-and-tell interfaces.

License

Notifications You must be signed in to change notification settings

automl/hypersweeper

Repository files navigation

HyperSweeper

PyPI Version Test Doc Status Ruff

Hydra sweeper integration of our favorite optimization packages, utilizing ask-and-tell interfaces.

Installation

We recommend installing hypersweeper via a uv virtual environment:

pip install uv
uv venv --python 3.10
source .venv/bin/activate
make install

For extra dependencies, add them like this:

uv sync --extra dev --extra carps

Basic Usage

To use the sweeper, you need to specify a target function with a hydra interface (see our examples). Then you can add one of the Hypersweeper variations as a sweeper and run with the '-m' flag to start the optimization. This will start a sequential run of your selected optimizer. If you want to use Hypersweeper on a cluster, you should additionally add a launcher, e.g. the submitit launcher for slurm.

As an example, take black-box optimization for Branin using SMAC. Simply run:

python examples/branin.py -m

You should see the launched configurations in the terminal. The results are located in 'tmp', including a record of each run, the final config and a full runhistory. For more information, see our example ReadMe.

Current Sweeper Integrations

  • Random Search
  • SMAC
  • HEBO
  • PBT
  • CARP-S (which contains many different optimizers in itself)

Cite Us

If you use Hypersweeper in your project, please cite us:

@misc{eimer24,
  author    = {T. Eimer},
  title     = {Hypersweeper},
  year      = {2024},
  url = {https://github.com/automl/hypersweeper},

About

Hydra sweeper integration of our favorite optimization packages, utilizing ask-and-tell interfaces.

Resources

License

Stars

Watchers

Forks

Packages

No packages published