Skip to content

Commit b2e0a65

Browse files
René Sassdengdifanfilipbartekthomashlvtbenjamc
authored
Version 1.1 [Docs]
* Documentation was updated thoroughly. A new theme with a new structure is provided and all pages have been updated. Also, the examples revised and up-to-date. * Option to use an own stopping strategy using `IncorporateRunResultCallback`. * Changed `scripts/smac` to `scripts/smac.py`. * `README.md` updated. * `CITATION.cff` added. * Made `smac-validate.py` consistent with runhistory and tae. (#762) * `minR`, `maxR` and `use_ta_time` can now be initialized by the scenario. (#775) * `ConfigSpace.util.get_one_exchange_neighborhood`'s invalid configurations are ignored. (#773) * Fixed an incorrect adaptive capping behaviour. (#749) * Avoid the potential `ValueError` raised by `LocalSearch._do_search`. (#773) Co-authored-by: dengdifan <[email protected]> Co-authored-by: Filip Bártek <[email protected]> Co-authored-by: Thomas Holvoet <[email protected]> Co-authored-by: benjamc <[email protected]> Co-authored-by: Carolin Benjamins <[email protected]> Co-authored-by: Marius Lindauer <[email protected]> Co-authored-by: eddiebergman <[email protected]> Co-authored-by: Difan Deng <[email protected]> Co-authored-by: dengdifan <[email protected]> Co-authored-by: Tim Ruhkopf <[email protected]>
1 parent a0c8950 commit b2e0a65

File tree

214 files changed

+12673
-5157
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

214 files changed

+12673
-5157
lines changed

.github/workflows/terminal_examples.yml renamed to .github/unused_workflows/terminal_examples.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
runs-on: ubuntu-18.04
99
strategy:
1010
matrix:
11-
python-version: [3.8]
11+
python-version: [3.9]
1212
fail-fast: false
1313

1414
steps:
@@ -28,26 +28,26 @@ jobs:
2828
run: |
2929
# Activate anaconda so default python is from conda
3030
export PATH="$CONDA/envs/testenv/bin:$PATH"
31-
cd examples/quickstart/spear_qcp
31+
cd examples/commandline
3232
bash run_SMAC.sh
3333
- name: Spear QCP ROAR
3434
timeout-minutes: 20
3535
run: |
3636
# Activate anaconda so default python is from conda
3737
export PATH="$CONDA/envs/testenv/bin:$PATH"
38-
cd examples/quickstart/spear_qcp
38+
cd examples/commandline
3939
bash run_ROAR.sh
4040
- name: Spear QCP Successive halving
4141
timeout-minutes: 20
4242
run: |
4343
# Activate anaconda so default python is from conda
4444
export PATH="$CONDA/envs/testenv/bin:$PATH"
45-
cd examples/quickstart/spear_qcp
46-
python SMAC4AC_SH_spear_qcp.py
45+
cd examples/python
46+
python spear_mf_instances.py
4747
- name: Branin from the command line
4848
timeout-minutes: 20
4949
run: |
5050
# Activate anaconda so default python is from conda
5151
export PATH="$CONDA/envs/testenv/bin:$PATH"
52-
cd examples/quickstart/branin
53-
python ../../../scripts/smac --scenario scenario.txt
52+
cd examples/commandline
53+
python ../../scripts/smac.py --scenario branin/scenario.txt

.github/workflows/dist.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,28 @@ jobs:
77
runs-on: ubuntu-latest
88
steps:
99
- uses: actions/checkout@v2
10+
1011
- name: Setup Python
1112
uses: actions/setup-python@v2
1213
with:
13-
python-version: 3.8
14+
python-version: 3.9
15+
1416
- name: Build dist
1517
run: |
1618
python setup.py sdist
19+
1720
- name: Twine check
1821
run: |
1922
pip install twine
2023
last_dist=$(ls -t dist/smac-*.tar.gz | head -n 1)
2124
twine_output=`twine check "$last_dist"`
2225
if [[ "$twine_output" != "Checking $last_dist: PASSED" ]]; then echo $twine_output && exit 1;fi
26+
2327
- name: Install dist
2428
run: |
2529
last_dist=$(ls -t dist/smac-*.tar.gz | head -n 1)
2630
pip install $last_dist
31+
2732
- name: PEP 561 Compliance
2833
run: |
2934
pip install mypy

.github/workflows/docs.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,36 @@ jobs:
66
runs-on: ubuntu-latest
77
steps:
88
- uses: actions/checkout@v2
9+
910
- name: Setup Python
1011
uses: actions/setup-python@v2
1112
with:
12-
python-version: 3.8
13+
python-version: 3.9
14+
1315
- name: Install dependencies
1416
run: |
1517
pip install -e .[all]
18+
1619
- name: Make docs
1720
run: |
18-
cd doc
21+
cd docs
1922
make buildapi
2023
make html
24+
2125
- name: Pull latest gh-pages
2226
if: (contains(github.ref, 'develop') || contains(github.ref, 'master')) && github.event_name == 'push'
2327
run: |
2428
cd ..
2529
git clone https://github.com/automl/SMAC3.git --branch gh-pages --single-branch gh-pages
26-
- name: Copy new doc into gh-pages
30+
31+
- name: Copy new docs into gh-pages
2732
if: (contains(github.ref, 'develop') || contains(github.ref, 'master')) && github.event_name == 'push'
2833
run: |
2934
branch_name=${GITHUB_REF##*/}
3035
cd ../gh-pages
3136
rm -rf $branch_name
32-
cp -r ../SMAC3/doc/build/html $branch_name
37+
cp -r ../SMAC3/docs/html $branch_name
38+
3339
- name: Push to gh-pages
3440
if: (contains(github.ref, 'develop') || contains(github.ref, 'master')) && github.event_name == 'push'
3541
run: |

.github/workflows/examples.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Examples
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
ubuntu:
7+
8+
runs-on: ubuntu-18.04
9+
strategy:
10+
matrix:
11+
python-version: [3.9]
12+
fail-fast: false
13+
14+
steps:
15+
- uses: actions/checkout@v2
16+
- name: Setup Python ${{ matrix.python-version }}
17+
uses: actions/setup-python@v2
18+
with:
19+
python-version: ${{ matrix.python-version }}
20+
- name: Conda Install test dependencies
21+
run: |
22+
# Miniconda is available in $CONDA env var
23+
$CONDA/bin/conda create -n testenv --yes pip wheel gxx_linux-64 gcc_linux-64 swig python=${{ matrix.python-version }}
24+
$CONDA/envs/testenv/bin/python3 -m pip install --upgrade pip
25+
$CONDA/envs/testenv/bin/pip3 install -e .[all]

.github/workflows/pre-commit.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,17 @@ jobs:
77
runs-on: ubuntu-latest
88
steps:
99
- uses: actions/checkout@v2
10+
1011
- name: Setup Python 3.7
1112
uses: actions/setup-python@v2
1213
with:
1314
python-version: 3.7
15+
1416
- name: Install pre-commit
1517
run: |
1618
pip install pre-commit
1719
pre-commit install
20+
1821
- name: Run pre-commit
1922
run: |
2023
pre-commit run --all-files

.gitignore

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ dist
1515
runhistory.json
1616
target_algo_runs.json
1717

18+
# Example outputs
19+
examples/*restored
20+
examples/*restore_me
21+
1822
# Other
1923
.tox
2024
.pypirc
@@ -23,18 +27,20 @@ target_algo_runs.json
2327
*~
2428
.html/
2529
.mypy_cache/
30+
.DS_Store
31+
docs/html
2632

2733
#eclipse files
2834
.pydevproject
2935
.project
3036

3137
# generated by doc
32-
doc/main_options.rst
33-
doc/scenario_options.rst
34-
doc/smac_options.rst
35-
doc/apidoc
36-
doc/examples
37-
doc/quickstart
38+
docs/main_options*
39+
docs/scenario_options*
40+
docs/smac_options*
41+
docs/html
42+
docs/apidoc
43+
docs/pages/examples
3844

3945
# Generated from running Sphinx-Gallery
4046
*smac3-output_*

.pre-commit-config.yaml

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,10 @@ repos:
33
rev: v0.761
44
hooks:
55
- id: mypy
6-
# We would like to have the following options set,
7-
# but for now we have to use the ones above to get started
8-
# --ignore-missing-imports --strict"
9-
# --disallow-any-unimported"
10-
# --disallow-any-expr"
11-
# --disallow-any-decorated"
12-
# --disallow-any-explicit"
13-
# --disallow-any-generics"
14-
# Add the following once the scenario is removed from the main code or typed
15-
# https://mypy.readthedocs.io/en/stable/command_line.html#configuring-warnings
16-
# --warn-unused-ignores"
176
args: [--show-error-codes, --ignore-missing-imports, --disallow-untyped-decorators, --disallow-incomplete-defs, --disallow-untyped-defs, --follow-imports, skip]
187
name: mypy SMAC
198
files: smac/.*
9+
2010
- repo: https://gitlab.com/pycqa/flake8
2111
rev: 3.8.3
2212
hooks:

CITATION.cff

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
---
2+
cff-version: 1.2.0
3+
4+
message: "If you used SMAC in one of your research projects, please cite us:"
5+
6+
title: "SMAC3"
7+
date-released: "2016-08-17"
8+
9+
url: "https://automl.github.io/SMAC3/master/index.html"
10+
repository-code: "https://github.com/automl/SMAC3"
11+
12+
version: "1.0.1"
13+
14+
type: "software"
15+
keywords:
16+
- "blackbox optimization"
17+
- "optimization"
18+
- "bayesian optimization"
19+
- "algorithm configuration"
20+
- "machine learning"
21+
- "algorithms"
22+
23+
license: "BSD-3-Clause"
24+
25+
authors:
26+
- family-names: "Lindauer"
27+
given-names: "Marius"
28+
affiliation: "Leibniz Universität Hannover"
29+
30+
- family-names: "Eggensperger"
31+
given-names: "Katharina"
32+
orcid: "https://orcid.org/0000-0002-0309-401X"
33+
affiliation: "University of Freiburg, Germany"
34+
35+
- family-names: "Feurer"
36+
given-names: "Matthias"
37+
orcid: "https://orcid.org/0000-0001-9611-8588"
38+
affiliation: "University of Freiburg, Germany"
39+
40+
- family-names: "Biedenkapp"
41+
given-names: "André"
42+
orcid: "https://orcid.org/0000-0002-8703-8559"
43+
affiliation: "University of Freiburg, Germany"
44+
45+
- family-names: "Deng"
46+
given-names: "Difan"
47+
affiliation: "Leibniz Universität Hannover"
48+
49+
- family-names: "Benjamins"
50+
given-names: "Carolin"
51+
affiliation: "Leibniz Universität Hannover"
52+
53+
- family-names: "Sass"
54+
given-names: "René"
55+
affiliation: "Leibniz Universität Hannover"
56+
57+
- family-names: "Hutter"
58+
given-names: "Frank"
59+
affiliation: "University of Freiburg, Germany"
60+
61+
- family-names: "Falkner"
62+
given-names: "Stefan"
63+
orcid: "https://orcid.org/0000-0002-6303-9418"
64+
affiliation: "Bosch Center for Artificial Intelligence, Rennigen, Germany"
65+
66+
preferred-citation:
67+
type: "article"
68+
title: "SMAC3: A Versatile Bayesian Optimization Package for Hyperparameter Optimization"
69+
month: "9"
70+
year: "2021"
71+
url: "https://arxiv.org/abs/2109.09831"
72+
73+
authors:
74+
- family-names: "Lindauer"
75+
given-names: "Marius"
76+
affiliation: "Leibniz Universität Hannover"
77+
78+
- family-names: "Eggensperger"
79+
given-names: "Katharina"
80+
orcid: "https://orcid.org/0000-0002-0309-401X"
81+
affiliation: "University of Freiburg, Germany"
82+
83+
- family-names: "Feurer"
84+
given-names: "Matthias"
85+
orcid: "https://orcid.org/0000-0001-9611-8588"
86+
affiliation: "University of Freiburg, Germany"
87+
88+
- family-names: "Biedenkapp"
89+
given-names: "André "
90+
orcid: "https://orcid.org/0000-0002-8703-8559"
91+
affiliation: "University of Freiburg, Germany"
92+
93+
- family-names: "Deng"
94+
given-names: "Difan"
95+
affiliation: "Leibniz Universität Hannover"
96+
97+
- family-names: "Benjamins"
98+
given-names: "Carolin"
99+
affiliation: "Leibniz Universität Hannover"
100+
101+
- family-names: "Sass"
102+
given-names: "René"
103+
affiliation: "Leibniz Universität Hannover"
104+
105+
- family-names: "Hutter"
106+
given-names: "Frank"
107+
affiliation: "University of Freiburg, Germany"
108+
...

.github/CONTRIBUTING.md renamed to CONTRIBUTING.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
### Contributing to SMAC3
1+
# Contributing to SMAC3
22

33
You are interested in developing a new feature or have found a bug? Awesome, feel welcome and read this guide in order to find out how to best report your ideas so that we can include them as quickly as possible.
44

5-
### General Notes
5+
## General Notes
66
We are always happy to read about your experiences and ideas on how to improve SMAC3. We use the issue tracker as our main communication platform, so please open an issue to
77

88
* report bugs (label as `bug`)
@@ -12,7 +12,7 @@ We are always happy to read about your experiences and ideas on how to improve S
1212

1313
NOTE: Before working on a new feature please first create an issue. If the relevant issue already exists, please comment that issue to let us know that you are going to work on it. Through that, we can ensure that there is no duplicated effort.
1414

15-
### New Features
15+
## New Features
1616

1717
If you are looking for feature that does not yet exist in SMAC3, we are happy to hear about it. Open an issue on our [issues list on GitHub](https://github.com/automl/SMAC3/issues), and describe
1818
- the feature you would like to see
@@ -21,7 +21,7 @@ If you are looking for feature that does not yet exist in SMAC3, we are happy to
2121

2222
If you already know how to implement the feature, please create a pull request. Please see the [Pull request](#pull-requests) section, to read further details on pull requests.
2323

24-
### <a name="report-bugs"></a> Report Bugs
24+
## <a name="report-bugs"></a> Report Bugs
2525

2626
Open an issue in our [issue list on GitHub](https://github.com/automl/SMAC3/issues).
2727

@@ -37,12 +37,12 @@ If you found a bug, please provide us the following information:
3737
- Any information about your setup that could be helpful to resolve the bug (such as installed python packages)
3838
- Feel free, to add a screenshot showing the issue, if it helps.
3939

40-
### Work on New Features
40+
## Work on New Features
4141

4242
To work on new features, create a fork of the original repository and implement the feature there. When you are happy with the final result you can create a pull request which we will review.
4343
A good tutorial on how to do this is in the Github Guide: [Fork a repo](https://help.github.com/articles/fork-a-repo/).
4444

45-
### <a name="pull-requests"></a> Pull Requests
45+
## <a name="pull-requests"></a> Pull Requests
4646

4747
The target branch for your pull request has to be the development branch. If you have not worked with pull requests, please take a look at [how to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github) or read more about it in the official github documentation <https://help.github.com/articles/about-pull-requests/>
4848

@@ -56,6 +56,6 @@ If you know how to fix a bug or implement your own feature, follow this small gu
5656

5757
We try to react as fast as possible to your pull request.
5858

59-
### Reporting Security Issues
59+
## Reporting Security Issues
6060

6161
If you find security related issues, vulnerabilities or bugs including sensitive information, please do *not* report this to the issue tracker, or elsewhere public. Instead, please let us know via [email protected]

0 commit comments

Comments
 (0)