hypersweeper
Hydra sweeper integration of our favorite optimization packages, utilizing ask-and-tell interfaces.
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
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
Metadata Files
README.md
HyperSweeper
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
- Website: www.automl.org
- Repositories: 186
- Profile: https://github.com/automl
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
Top Committers
| Name | 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
Pull Request Labels
Dependencies
- actions/checkout v2 composite
- citation-file-format/cffconvert-github-action 2.0.0 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- 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 *