Skip to content

Commit 5dc1c4b

Browse files
authored
Version 0.3 (#20)
## General - Updated tools. - Cleaned up (removed docker files). ## Installation - Checks if redis-server is installed. Otherwise, aborts to start the server. - Added swig to anaconda environment. - Increased version of numpy and matplotlib. - Improved requirements. Fixed only crucical things. ## Run - Added model support. ## Plugins - Added button to receive raw data. - Added new plugin: Pareto Front. - Added new plugin: Budget Correlation. - Changed `load_outputs` and `load_mlp_outputs` to class method. Moreover, if `activate_run_selection` is true, only the the run and runs information in `outputs` is passed. - Cost Over Time displays maximized objectives correctly now. - Pre-selecting highest budget and hyperparameters (#18). - Replaced normalized costs with all costs in configurations. ## Examples - Added MLP recorder example. - Added MLP logs for better example visualization. ## Bugfixes - Fixed path bug for SMAC and BOHB. - Included `start.sh`. - pytest no longer needed in main code. - Included logging.yml (before it was loggin.yml). - Recorder works again. ## Docs - Added documentation with most basic information.
1 parent 86c323c commit 5dc1c4b

File tree

157 files changed

+34898
-439
lines changed

Some content is hidden

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

157 files changed

+34898
-439
lines changed

.flake8

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,5 @@ extend-exclude =
66
.venv
77
build
88
extend-ignore =
9-
# No whitespace before ':' in [x : y]
10-
E203
11-
# No lambdas — too strict
12-
E731
9+
E203 # No whitespace before ':' in [x : y]
10+
E731 # No lambdas — too strict

.github/workflows/docs.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: docs
2+
3+
on:
4+
# Trigger manually
5+
workflow_dispatch:
6+
7+
# Trigger on any push to the master
8+
push:
9+
branches:
10+
- main
11+
12+
# Trigger on any push to a PR that targets master
13+
pull_request:
14+
branches:
15+
- main
16+
17+
env:
18+
name: DeepCAVE
19+
20+
jobs:
21+
build-and-deploy:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- name: Checkout
25+
uses: actions/checkout@v2
26+
27+
- name: Setup Python
28+
uses: actions/setup-python@v2
29+
with:
30+
python-version: 3.8
31+
32+
- name: Install dependencies
33+
run: |
34+
pip install -e ".[dev]"
35+
36+
- name: Make docs
37+
run: |
38+
make docs
39+
40+
- name: Make Examples
41+
run: |
42+
make examples
43+
44+
- name: Pull latest gh-pages
45+
if: (contains(github.ref, 'main'))
46+
run: |
47+
cd ..
48+
git clone https://github.com/automl/${{ env.name }}.git --branch gh-pages --single-branch gh-pages
49+
50+
- name: Copy new docs into gh-pages
51+
if: (contains(github.ref, 'development') || contains(github.ref, 'main'))
52+
run: |
53+
branch_name=${GITHUB_REF##*/}
54+
cd ../gh-pages
55+
rm -rf $branch_name
56+
cp -r ../${{ env.name }}/docs/build/html $branch_name
57+
58+
- name: Push to gh-pages
59+
if: (contains(github.ref, 'main'))
60+
run: |
61+
last_commit=$(git log --pretty=format:"%an: %s")
62+
cd ../gh-pages
63+
branch_name=${GITHUB_REF##*/}
64+
git add $branch_name/
65+
git config --global user.name 'Github Actions'
66+
git config --global user.email '[email protected]'
67+
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}
68+
git commit -am "$last_commit"
69+
git push

.github/workflows/pre-commit.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: pre-commit
2+
3+
on:
4+
# Manually triggerable in github
5+
workflow_dispatch:
6+
7+
# When a push occurs on either of these branches
8+
push:
9+
branches:
10+
- main
11+
- development
12+
13+
# When a push occurs on a PR that targets these branches
14+
pull_request:
15+
branches:
16+
- main
17+
- development
18+
19+
jobs:
20+
run-all-files:
21+
runs-on: ubuntu-latest
22+
23+
steps:
24+
- uses: actions/checkout@v2
25+
with:
26+
submodules: recursive
27+
28+
- name: Setup Python 3.8
29+
uses: actions/setup-python@v2
30+
with:
31+
python-version: 3.8
32+
33+
- name: Install pre-commit
34+
run: |
35+
pip install pre-commit
36+
pre-commit install
37+
- name: Run pre-commit
38+
run: |
39+
pre-commit run --all-files

.github/workflows/pytest.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,17 @@ jobs:
1010
run: |
1111
# $CONDA is an environment variable pointing to the root of the miniconda directory
1212
echo $CONDA/bin >> $GITHUB_PATH
13-
- name: Setup Python 3.9
13+
14+
- name: Setup Python 3.8
1415
uses: actions/setup-python@v2
1516
with:
16-
python-version: 3.9
17+
python-version: 3.8
18+
1719
- name: Install dependencies
1820
run: |
1921
conda env update --file environment.yml --name base
2022
pip install .
2123
pip install .[dev]
24+
2225
- name: Run pytest
2326
run: pytest tests

.gitignore

Lines changed: 168 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,170 @@
1-
build/*
2-
*cache*
3-
!*cache.py
4-
!*caches.py
5-
__pycache__
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
wheels/
23+
share/python-wheels/
24+
*.egg-info/
25+
.installed.cfg
26+
*.egg
27+
MANIFEST
28+
29+
# PyInstaller
30+
# Usually these files are written by a python script from a template
31+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
32+
*.manifest
33+
*.spec
34+
35+
# Installer logs
36+
pip-log.txt
37+
pip-delete-this-directory.txt
38+
39+
# Unit test / coverage reports
40+
htmlcov/
41+
.tox/
42+
.nox/
43+
.coverage
44+
.coverage.*
45+
.cache
46+
nosetests.xml
47+
coverage.xml
48+
*.cover
49+
*.py,cover
50+
.hypothesis/
51+
.pytest_cache/
52+
cover/
53+
54+
# Translations
55+
*.mo
56+
*.pot
57+
58+
# Django stuff:
59+
*.log
60+
local_settings.py
61+
db.sqlite3
62+
db.sqlite3-journal
63+
64+
# Flask stuff:
65+
instance/
66+
.webassets-cache
67+
68+
# Scrapy stuff:
69+
.scrapy
70+
71+
# Sphinx documentation
72+
docs/_build/
73+
docs/api
74+
docs/examples
75+
76+
# PyBuilder
77+
.pybuilder/
78+
target/
79+
80+
# Jupyter Notebook
81+
.ipynb_checkpoints
82+
83+
# IPython
84+
profile_default/
85+
ipython_config.py
86+
87+
# pyenv
88+
# For a library or package, you might want to ignore these files since the code is
89+
# intended to run in multiple environments; otherwise, check them in:
90+
# .python-version
91+
92+
# pipenv
93+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
94+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
95+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
96+
# install all needed dependencies.
97+
#Pipfile.lock
98+
99+
# poetry
100+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
101+
# This is especially recommended for binary packages to ensure reproducibility, and is more
102+
# commonly ignored for libraries.
103+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
104+
#poetry.lock
105+
106+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
107+
__pypackages__/
108+
109+
# Celery stuff
110+
celerybeat-schedule
111+
celerybeat.pid
112+
113+
# SageMath parsed files
114+
*.sage.py
115+
116+
# Environments
117+
.env
118+
.venv
119+
env/
120+
venv/
121+
ENV/
122+
env.bak/
123+
venv.bak/
124+
125+
# Spyder project settings
126+
.spyderproject
127+
.spyproject
128+
129+
# Rope project settings
130+
.ropeproject
131+
132+
# mkdocs documentation
133+
/site
134+
135+
# mypy
136+
.mypy_cache/
137+
.dmypy.json
138+
dmypy.json
139+
140+
# Pyre type checker
141+
.pyre/
142+
143+
# pytype static type analyzer
144+
.pytype/
145+
146+
# Cython debug symbols
147+
cython_debug/
148+
149+
# PyCharm
150+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
151+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
152+
# and can be added to the global gitignore or merged into this file. For a more nuclear
153+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
154+
.idea/
155+
.vscode
156+
157+
# Additional
158+
.DS_Store
6159
*.rdb
7-
examples/logs/SMAC
8-
examples/logs/BOHB
160+
*.pth
161+
162+
# SMAC
9163
smac3-output*
10-
.DS_Store
11-
__init__.pyc
12-
examples/logs*
13-
examples/*
14-
!examples/logs/DeepCAVE
15-
!examples/record
16-
examples/record/_*.py
17-
*.sh
18-
!run.sh
19-
.vscode
20-
*.egg-info
21-
docs/apidoc
22-
docs/html
23-
docs/pages/examples
164+
165+
# DeepCAVE
166+
cache
167+
examples/others
168+
examples/record/_*
169+
datasets
170+
lightning_logs

0 commit comments

Comments
 (0)