hypersweeper

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

https://github.com/automl/hypersweeper

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 4 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.5%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

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

Basic Info
  • Host: GitHub
  • Owner: automl
  • License: other
  • Language: Python
  • Default Branch: main
  • Size: 2.22 MB
Statistics
  • Stars: 12
  • Watchers: 6
  • Forks: 5
  • Open Issues: 8
  • Releases: 5
Created about 2 years ago · Last pushed 9 months ago
Metadata Files
Readme Changelog Contributing License Citation Authors

README.md

HyperSweeper

PyPI Version Test Doc Status Ruff

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

  • Free software: BSD license
  • Documentation: https://automl.github.io/hypersweeper

Installation

We recommend installing hypersweeper via a uv virtual environment:

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

For extra dependencies, add them like this: bash uv sync --extra dev --extra carps

Note that CARP-S requires you to install benchmarks and optimizers on your own, e.g. by running: bash python -m carps.build.make optimizer_smac The full optimizer options are: bash optimizer_smac optimizer_dehb optimizer_nevergrad optimizer_optuna optimizer_ax optimizer_skopt optimizer_synetune

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: bash 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

Hypersweeper currently interfaces the following optimizers: - SMAC - HEBO - Nevergrad - CARP-S (which contains many different optimizers in itself)

We also implement sweepers from scratch for: - Random Search - Grid Search (for collecting analysis data) - PBT, PB2 and BGPBT as adaptations of the original code - Local parameter importance (LPI) - Ablation Paths

We also have an interface for NePS, but due to them using an old configspace version, this sweeper is not usable out of the box and requires at least a change to the configspace version, possibly even some smaller changes to the config parsing.

Cite Us

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

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

Owner

  • Name: AutoML-Freiburg-Hannover
  • Login: automl
  • Kind: organization
  • Location: Freiburg and Hannover, Germany

Citation (CITATION.cff)

---
cff-version: 1.2.0

message: "This is the message displayed when viewing the citation on github"

title: "HyperSweeper"
date-released: "<<date>>"

url: "https://automl.github.io/HyperSweeper/main/"

# Replace automl here with your own github name if you need
repository-code: "https://github.com/automl/HyperSweeper"

version: "0.1.0"

type: "template"
keywords:
  - "template"

<<requires::license license: "BSD license" endrequires::license>>

authors:
  - family-names: ""
    given-names: ""
    affiliation: "Leibniz University Hannover, Germany"
...

GitHub Events

Total
  • Create event: 3
  • Issues event: 8
  • Release event: 2
  • Watch event: 3
  • Issue comment event: 3
  • Push event: 28
  • Pull request event: 6
  • Fork event: 3
Last Year
  • Create event: 3
  • Issues event: 8
  • Release event: 2
  • Watch event: 3
  • Issue comment event: 3
  • Push event: 28
  • Pull request event: 6
  • Fork event: 3

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 145
  • Total Committers: 4
  • Avg Commits per committer: 36.25
  • Development Distribution Score (DDS): 0.352
Past Year
  • Commits: 75
  • Committers: 3
  • Avg Commits per committer: 25.0
  • Development Distribution Score (DDS): 0.507
Top Committers
Name Email Commits
Theresa Eimer t****r@a****e 94
Jannis Becktepe j****s@b****e 26
dierkes-j d****n@w****e 14
benjamc c****s@a****e 11
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 23
  • Total pull requests: 10
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 6
  • Total pull request authors: 2
  • Average comments per issue: 0.7
  • Average comments per pull request: 1.1
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 10
  • Pull requests: 9
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 2 months
  • Issue authors: 5
  • Pull request authors: 2
  • Average comments per issue: 0.2
  • Average comments per pull request: 1.22
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • TheEimer (11)
  • LukasFehring (5)
  • becktepe (3)
  • LabChameleon (2)
  • RichieZou (1)
  • timruhkopf (1)
Pull Request Authors
  • becktepe (8)
  • LabChameleon (6)
Top Labels
Issue Labels
enhancement (5) bug (3) question (2) documentation (1)
Pull Request Labels

Dependencies

.github/workflows/citation_cff.yml actions
  • actions/checkout v2 composite
  • citation-file-format/cffconvert-github-action 2.0.0 composite
.github/workflows/docs.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/pre-commit.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/pytest.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
pyproject.toml pypi
  • bump-my-version *
  • configspace *
  • coverage *
  • hydra-core *
  • hydra-submitit-launcher *
  • hydra_colorlog *
  • mypy *
  • numpy *
  • pre-commit *
  • pytest >=7.0
  • ruff *
  • smac *
  • tomli *
  • tox ==3.14.0
  • twine *
  • typing_extensions *
  • wandb *
setup.py pypi