Skip to content

Releases: automl/SMAC3

Version 1.3.3

19 May 17:47
fc2fc14
Compare
Choose a tag to compare
  • 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

05 May 08:44
2935561
Compare
Choose a tag to compare
  • 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 to setup.py.
  • Added multi-objective support for ROAR.
  • Added notes in documentation that SMAC4MF is the closest implementation to BOHB/HpBandSter.

Version 1.3.1

22 Apr 09:42
9d8f511
Compare
Choose a tag to compare
  • Added Python 3.7 support again.

Version 1.3

19 Apr 07:26
9d0d107
Compare
Choose a tag to compare

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 a Mapping 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 accessing rh.data which is still possible.

Minor Changes

  • Updated the signature of the ROAR facade to match with it's parent class SMAC4AC. Anyone relying on the output directory without specifying an explicit run_id to a ROAR facade should now expect to see the output directory at run_0 instead of run_1. See #827.

Code-Quality

  • Updated and integrated flake8, mypy, black, and isort.

Documentation

Version 1.2

17 Feb 16:01
863e429
Compare
Choose a tag to compare

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 to save_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

27 Jan 08:26
d4cb7ed
Compare
Choose a tag to compare

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

21 Oct 07:38
b2e0a65
Compare
Choose a tag to compare

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 to scripts/smac.py.

Minor Changes

  • 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)

Bug Fixes

  • Fixed an incorrect adaptive capping behaviour. (#749)
  • Avoid the potential ValueError raised by LocalSearch._do_search. (#773)

Release 1.0.1

06 Aug 16:03
407b7c9
Compare
Choose a tag to compare

1.0.1

Minor Changes

  • Added license information to every file.
  • Fixed a display bug inside usage recommendation.

Release 1.0.0

06 Aug 12:09
3db542c
Compare
Choose a tag to compare

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 and make 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 to quickstart_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

05 Aug 12:10
3df3a74
Compare
Choose a tag to compare

Breaking Changes

  • BOHB4HPO facade has been renamed to SMAC4MF facade (#738)
  • Require scipy >= 1.7 (#729)
  • Require emcee >= 3.0.0 (#723)

Major Changes

  • Drop support for Python 3.6 (#726)
  • Added Colab to try SMAC in your browser! (#697)

Minor Changes

  • Added gradient boosting example, removed random forest example (#722)
  • lazy_import dependency dropped (#741)
  • Replaced pyDOE requirement with scipy 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)

Bug Fixes

  • Github badges updated (#732)
  • Fixed memory limit issue for pynisher (#717)
  • More robust multiprocessing (#709, #712)
  • Fixed serialization with runhistory entries (#706)
  • Separated evaluation from get next challengers in intensification (#734)
  • Doc fixes (#727, #714)