Smac

Latest version: v2.1.0

Safety actively analyzes 628924 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 8

1.3

Features
* [PiBO](https://openreview.net/forum?id=MMAeCXIa89): 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
* SMAC uses [automl_sphinx_theme](https://github.com/automl/automl_sphinx_theme) now and therefore
the API is displayed nicer.

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` 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.

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.

1.1

Features
* Option to use an own stopping strategy using `IncorporateRunResultCallback`.


Major Changes
* 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)

1.0.1

Minor Changes
* Added license information to every file.
* Fixed a display bug inside usage recommendation.

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](https://sphinx-gallery.github.io/stable/index.html).
* 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.

Page 3 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.