Releases: automl/SMAC3
Releases · automl/SMAC3
Version 1.3.3
- Hotfix: Since multi-objective implementation depends on normalized costs, it now is ensured that the
cached costs are updated everytime a new entry is added. - Removed mac-specific files.
- Added entry point for cli.
- Added
ConfigSpace
to third known parties s.t. sorting should be the same across different
operating systems. - Fixed bugs in makefile in which tools were specified incorrectly.
- Executed isort/black on examples and tests.
- Updated README.
- Fixed a problem, which incremented time twice before taking log (#833).
- New wrapper for multi-objective models (base_uncorrelated_mo_model). Makes it easier for
developing new multi-objective models. - Raise error if acquisition function is incompatible with the epm models.
- Restricting pynisher.
Version 1.3.2
- Added stale bot support.
- If package version 0.0.0 via
get_distribution
is found, the version of the module is used
instead. - Removed
tox.ini
. - Moved
requirements.txt
tosetup.py
. - Added multi-objective support for ROAR.
- Added notes in documentation that
SMAC4MF
is the closest implementation to BOHB/HpBandSter.
Version 1.3.1
- Added Python 3.7 support again.
Version 1.3
Features
- PiBO: Augment the acquisition function by multiplying by a pdf given by the user.
The prior then decays over time, allowing for the optimization to carry on as per default. - The
RunHistory
can now act as aMapping
in that you can use the usual methods you can use on dicts, i.e.len(rh)
,rh.items()
,rh[key]
. Previously this was usually done by accessingrh.data
which is still possible.
Minor Changes
- Updated the signature of the
ROAR
facade to match with it's parent classSMAC4AC
. Anyone relying on the output directory without specifying an explicitrun_id
to aROAR
facade should now expect to see the output directory atrun_0
instead ofrun_1
. See #827.
Code-Quality
- Updated and integrated flake8, mypy, black, and isort.
Documentation
- SMAC uses automl_sphinx_theme now and therefore the API is displayed nicer.
Version 1.2
Features
- Added multi-objective optimization via Mean-Aggregation or Par-EGO (#817, #818). Both approaches normalize
the costs objective-wise based on all data in the history.
Major Changes
- Results are instantly saved by default now. That means, runhistory.json is saved every time
a trial is added. - Determinstic behaviour (defined in scenario) is default now. Calling a function/TAE with the same
seed and configuration is expected to be the same. - Limit resources behaviour is by default false now. This is particually important because pynisher
does not work on all machines (e.g. Colab, Mac, Windows, ...) properly. - Renamed scenario object
save_results_instantly
tosave_instantly
. - Added
multi_objectives
as scenario argument. - Expanded
cost_for_crash
for multi-objective support.
Examples
- Integrated spear_qcp example for commandline.
- Python examples are now executed so that the output in the documentation is shown.
- Added multi-objective example.
Documentation
- Added runhistory page.
Workflow Clean-up
- Adds PEP 561 compliance (exports types so other packages can be aware of them).
- Allow manual workflow_dispatch on actions that might require it (can manually trigger them from github UI).
- Prevent the double trigger of actions by making push and pull_request and more strict.
- A push to a pull request should no longer cause double the amount of tests to run (along with the other workflows that had on: [push, pull_request].
- Some general cleanup, giving names to some actions, adding some linebreaks to break up things, ...
- Command-line examples are tested again.
- pytest.yaml:
- Now scheduled to auto run everyday instead of every week.
- Clean up the body of the steps and move some things to env var.
- Scaffold for matrix that includes windows and mac testing (currently excluded, see comments).
- Includes tests for Python 3.10.
- Changed the boolean flags in the matrix to just be a categorical, easier to read.
Minor Changes
- Specified that dask should not cache functions/results (#803) .
- Handles invalid configuration vectors gracefully (#776).
- Specified scenario docs that also SMAC options can be used.
- Docs display init methods now.
- Parameters in the docs are shown first now.
- Successive Halving only warns you once if one worker is used only.
- Statistics are better readable now.
- Sobol sequence does not print warnings anymore.
Release 1.1.1
Minor Changes
- Added comparison between SMAC and similar tools.
- Updated installation guide.
- Added a warning that CLI is only available when installing from GitHub.
Release 1.1.0
Major Changes
- Option to use an own stopping strategy using
IncorporateRunResultCallback
. - 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. - Changed
scripts/smac
toscripts/smac.py
.
Minor Changes
README.md
updated.CITATION.cff
added.- Made
smac-validate.py
consistent with runhistory and tae. (#762) minR
,maxR
anduse_ta_time
can now be initialized by the scenario. (#775)ConfigSpace.util.get_one_exchange_neighborhood
's invalid configurations are ignored. (#773)
Bug Fixes
Release 1.0.1
1.0.1
Minor Changes
- Added license information to every file.
- Fixed a display bug inside usage recommendation.
Release 1.0.0
1.0.0
The main purpose of this release is to be synchronized with our upcoming paper.
Since many urgent features were already taken care of in 0.14.0, this release mainly focuses on better documentation and examples.
Features
- Examples and quickstart guide can now be generated by sphinx-gallry.
- Added make command
make doc
andmake doc-with-examples
.
Major changes
- Examples are separated into categories.
- Renamed facade SMAC4BO to SMAC4BB (black-box).
- Add thompson sampling as a new acquisition function.
Minor Changes
- Included linkcheck and buildapi to the
make doc
command. quickstart.rst
was converted toquickstart_example.py
to be processed by sphinx-gallery.- Examples renamed from
*.py
to*_example.py
, unless file name was*_func.py
, in which case it was unchanged. - Flake8 fixes for spear_qcp as there were a lot of complaints running
pre-commit
. - Fixes pydoc issues.
- Fixed links in the README.
- Fixed warnings given during the doc build.
- Fixed inconsistent output shape described in
smac.epm.gaussian_process.GaussianProcess.sample_functions
- Examples are wrapped inside
if __name__ == "__main__"
, fixing problems on mac.
Release 0.14.0
Breaking Changes
BOHB4HPO
facade has been renamed toSMAC4MF
facade (#738)- Require
scipy
>= 1.7 (#729) - Require
emcee
>= 3.0.0 (#723)
Major Changes
Minor Changes
- Added gradient boosting example, removed random forest example (#722)
lazy_import
dependency dropped (#741)- Replaced
pyDOE
requirement withscipy
for LHD design (#735) - Uses scrambled Sobol Sequence (#733)
- Moved to Github actions (#715)
- Improved testing (#720, #723, #739, #743)
- Added option
save_results_instantly
in scenario object to save results instantly (#728) - Changed level of intensification messages to debug (#724)