From ce7927d46e753df55bee1ad2e134235175bbb134 Mon Sep 17 00:00:00 2001 From: "C. Benjamins" <75323339+benjamc@users.noreply.github.com> Date: Thu, 23 Jan 2025 12:18:44 +0100 Subject: [PATCH] v2.3.1 (#1199) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * First steps new intensifier * Make it work again * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * Test issues * FIX formatting * Link to old documentation * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * FIX formatting * Fix unit tests * Add annotation * corrected log prob for tophat prior * Removed configurations from callback * Fixed tests * Fix mypy * Save docs as latest version too * Enabled all tests again * Make version an env * Added last version to docs * Global variable fix * Added v before version number * New Intensifier Implementation (#888) - Completely reimplemented the intensifiers (including Successive Halving and Hyperband): All intensifiers support multi-fidelity, multi-objective and multi-threading by nature now. - Expected behaviour for ask-and-tell interface ensured (also for Successive Halving). - Continuing a run is now fully supported. - Added more examples. - Updated documentation based on new implementation. * First benchmark steps * Added a warning * Set xi to 0.01 * Incorporated walltime in trajectory * Working version of benchmark * Changed requirements * Changed xi back to 0.0 again * No duplicate budgets * Fixed bug which updated tracker wrongly * Bugfix: Delete correct bracket+stage * Fixed tests * Added costs to the trajectory * Changed initial design max ratio to 0.25 * Make format * Added more details to intensifier * Finished benchmark * Added benchmark source files * Fixed tests because of initial design changes * Improved runhistory API * Fixed typo (#894) * Merge doc fixes * Doc fixes (#893) Co-authored-by: timruhkopf Co-authored-by: Carolin Benjamins Co-authored-by: dengdifan Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs * Make format * Satisfied mypy * Enabled more tests * Increased version * Mypy * Mypy * Mypy * Fixed critical bug when using highest budget for inc selection * Added SH+HB comparison * Stuff * Updated report * Fixed docstring * Fixed image path * Removed vscode folder * Bugfixes * Doc fixes * Updated changelog * Make isort * Fix typos * Removed new line * Added alpha2 to docs selection * update description * Fix 531 correctly create integers in initial design This PR fixes a bug in which integer hyperparameters would not be created correctly in the initial design. This went unnoticed, except in the case where it was part of a condition and the function deactivate_inactive_hyperparameters was called. This PR fixes this bug by mapping the random float that was sampled by, for example and LHD or Sobol sequence, to the float representation of an integer by calling _transform and _inverse_transform of the integer hyperparameter. * Add contact paragraph to README. * Increase days until stale issues are closed by stalebot (#904) * Edit changelog * Add issue number * Closes #907 * Clarify origin of configurations (#908) * Random forest speed up (#903) Co-authored-by: René Sass * Add: workflow to update pre-commit versions (#874) Co-authored-by: René Sass * Add Git-Flow Workflow Specification * [DOC] acquisition function maximizers * Add stale reminder email action * Increase version number of ConfigSpace * Add guideline for updating copyright notice years to CONTRIBUTING.md * Update requirement for pyrfr (#920) * Update pre-commit: isort,flake8 version numbers * Format black * Fix mypy * Ac bench (#929) * Add Branin AC Task * Add ac optimization type * Nicer plotting * Add ac mode * Update ac task * Make new smac env name adjustable * Increase python version for smac 1.4 * Update benchmark * Update plotting * Goodby comments * Fix path * Fix 1.4 wrapper * Update benchmark results --------- Co-authored-by: Carolin Benjamins * [DOC] added documentation on the incumbent update * Feature/add version to make publish (#931) * Add version, correct package name and use bash in makefile * Increase version * Increase version in makefile, add places with versions to make publish * Fix typo * Transform integer feature names to strings (#930) * Transform int features to str * Fix pre-commit * Update version to 2.0.0 * Update version to 2.0.0 * Update CHANGELOG.md * Add information on deepcave to the readme * Correct doc version * fix(runhistory): set id of the sampled config (#951) * fix: Set config_id of config in runhistory * ci: Set dependabot to target development branch (#963) * feat: Option preventing SMAC setting up logging (#947) * Version 2.0.0 (#898) * Update runhistory2epm.py * pre_commit * Updated changelog * Fixed comment * Updated changelog * Some small improvements * Removed trailing space * Updated changelog * Restricted pynisher * Updated changelog * Link JMLR paper * Update bibtex entry Before: arxiv paper, now journal article. * Fixed citation in docs * Fixed callback typos * BOinG for mixed hyperparameter search space * fix format * maint * maint documentation * maint pre-commit * fix workflow * maint * Add dependabot for workflow files * Bump actions/setup-python from 2 to 4 (#849) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/checkout from 2 to 3 (#850) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * maint * Updated stale bot * Updated stale options again * Fixed typing * Increased version * rename check_point_in_ss to check_subspace_point * Make format * Uncomment test procedure * docstrings for boing facade * avoid typing namespace everywhere in epm_configuration_chooser * fix docstring in rh2epm_boing * Limit on dask * Trying to fix tests * Replaced typing in all files * docstring for boing subspace * Changed feature requests to feature * allow acq_optimizer_local_kwargs to be passed to boing subspace without acq_optimizer_local * fix pre-commit * Added any * Update facade * Fix typing * Match arguments from pSMAC with SMAC4AC signature * Add description of pSMAC to docstring * Add option to pass facade class to pSMAC * Add example for pSMAC * Removed docstring in readme's example * Corrected text * move construct_gp_kernels to smac.epm_gpytorch.boing_kernels * maint * fix wrongly imported func name in tests * Add reference for pSMAC #609 * Rename example file * Added roadmap to readme * Prettification * Add result merger * Reformat with black * Delete unnecessary import * Fix typing * Inject first trajectory entry from file from first rundir * Add test for ResultMerger * Fix docstring * Get runhistory and trajectory from pSMAC run Via the result merger. Searchers rundirs and merges found runhistories and calculates a new trajectory. * Get trajectory * Add regex to requirements * Fixed MO cache problem * Fix MO tests * Fixing MO in AbstractRacer * Accepting ints * Hacking in the sum cost for MO * Fix mypi * Bugfix * Make mypi happy * Fix tests * Make format * Remove num_obj in MO optimizer * A lot of restructuring * Solve importings * Solve importings * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Updated changelog * Still fixing :) * fix docstrings * Change directory of tests * Fix ambiguous variable * Del newlines * fix mypy * mypy and doc fix * Removed int type checking * fix tests * Always return List of incs * fix path issue in example * maint boing facade * Better docstring * Return values if no bounds passed * Removed import * Return only one incumbent * Rename n_optimizers -> n_workers * Update example * Update docstring * Remove legacy function * Update to new signature * Update changelog.md * Format black * Update test * Please pre-commit * Merge development * Fix tests * Fix typos * Format black * Updated text * Increased version * Improved readme * SMAC logo 50% * SMAC logo 50% * Removed dev-2.0 * Added doc workflow for latest tag * Fixing docs latest tag * Fixing docs latest tag * First steps new intensifier * Make it work again * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * Test issues * FIX formatting * Link to old documentation * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * FIX formatting * Fix unit tests * Add annotation * corrected log prob for tophat prior * Removed configurations from callback * Fixed tests * Fix mypy * Save docs as latest version too * Enabled all tests again * Make version an env * Added last version to docs * Global variable fix * Added v before version number * New Intensifier Implementation (#888) - Completely reimplemented the intensifiers (including Successive Halving and Hyperband): All intensifiers support multi-fidelity, multi-objective and multi-threading by nature now. - Expected behaviour for ask-and-tell interface ensured (also for Successive Halving). - Continuing a run is now fully supported. - Added more examples. - Updated documentation based on new implementation. * First benchmark steps * Added a warning * Set xi to 0.01 * Incorporated walltime in trajectory * Working version of benchmark * Changed requirements * Changed xi back to 0.0 again * No duplicate budgets * Fixed bug which updated tracker wrongly * Bugfix: Delete correct bracket+stage * Fixed tests * Added costs to the trajectory * Changed initial design max ratio to 0.25 * Make format * Added more details to intensifier * Finished benchmark * Added benchmark source files * Fixed tests because of initial design changes * Improved runhistory API * Fixed typo (#894) * Merge doc fixes * Doc fixes (#893) Co-authored-by: timruhkopf Co-authored-by: Carolin Benjamins Co-authored-by: dengdifan Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs * Make format * Satisfied mypy * Enabled more tests * Increased version * Mypy * Mypy * Mypy * Fixed critical bug when using highest budget for inc selection * Added SH+HB comparison * Stuff * Updated report * Fixed docstring * Fixed image path * Removed vscode folder * Bugfixes * Doc fixes * Updated changelog * Make isort * Fix typos * Removed new line * Added alpha2 to docs selection * update description * Fix 531 correctly create integers in initial design This PR fixes a bug in which integer hyperparameters would not be created correctly in the initial design. This went unnoticed, except in the case where it was part of a condition and the function deactivate_inactive_hyperparameters was called. This PR fixes this bug by mapping the random float that was sampled by, for example and LHD or Sobol sequence, to the float representation of an integer by calling _transform and _inverse_transform of the integer hyperparameter. * Add contact paragraph to README. * Increase days until stale issues are closed by stalebot (#904) * Edit changelog * Add issue number * Closes #907 * Clarify origin of configurations (#908) * Random forest speed up (#903) Co-authored-by: René Sass * Add: workflow to update pre-commit versions (#874) Co-authored-by: René Sass * Add Git-Flow Workflow Specification * [DOC] acquisition function maximizers * Add stale reminder email action * Increase version number of ConfigSpace * Add guideline for updating copyright notice years to CONTRIBUTING.md * Update requirement for pyrfr (#920) * Update pre-commit: isort,flake8 version numbers * Format black * Fix mypy * Ac bench (#929) * Add Branin AC Task * Add ac optimization type * Nicer plotting * Add ac mode * Update ac task * Make new smac env name adjustable * Increase python version for smac 1.4 * Update benchmark * Update plotting * Goodby comments * Fix path * Fix 1.4 wrapper * Update benchmark results --------- Co-authored-by: Carolin Benjamins * [DOC] added documentation on the incumbent update * Feature/add version to make publish (#931) * Add version, correct package name and use bash in makefile * Increase version * Increase version in makefile, add places with versions to make publish * Fix typo * Transform integer feature names to strings (#930) * Transform int features to str * Fix pre-commit * Update version to 2.0.0 * Update version to 2.0.0 * Update CHANGELOG.md * Add information on deepcave to the readme * Correct doc version --------- Co-authored-by: dengdifan <33290713+dengdifan@users.noreply.github.com> Co-authored-by: dengdifan Co-authored-by: Matthias Feurer Co-authored-by: Carolin Benjamins Co-authored-by: eddiebergman Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Tim Ruhkopf * feat: Option preventing SMAC setting up logging * fix: Run isort * Bump peter-evans/create-pull-request from 3 to 5 (#958) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3 to 5. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3...v5) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-python from 2 to 4 (#945) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: Option preventing SMAC setting up logging * fix: Run isort * fix: Add to changelog * feat: Option preventing SMAC setting up logging * fix: Run isort --------- Signed-off-by: dependabot[bot] Co-authored-by: René Sass Co-authored-by: dengdifan <33290713+dengdifan@users.noreply.github.com> Co-authored-by: dengdifan Co-authored-by: Matthias Feurer Co-authored-by: Carolin Benjamins Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Tim Ruhkopf * Citation update (#961) * update CITATION.cff * update order in CITATION.cff * fix citation date * fix citation * maint * Adjust hyperband configuration distribution across brackets * Compute the actual differences between the isb keys. (#957) * Compute the actual differences between the isb keys. * Added change to CHANGELOG.md * Adjust schedule for stale reminder * fix(logging): Prevent automatic logging setup at init (#970) * fix(logging): Prevent automatic logging setup at init * fix(logging): Rely on `setup_logging` to handle arg * Fix validate method of smbo, update docstring. * Allow callbacks to be added to a specific index, make callback registering public * Update CHANGELOG.md * Fix broken references (#988) * Adapt developer install instructions to include pre-commit installation (#994) * [Feature] Initial Design now supports executing the default config provided by the user by means of the configspace he generated. (and is no longer ignored) * Pipe dask_client through facade for exec on hpc (#983) * Pipe dask_client through facade for exec on hpc * Handle pynisher's memory arg Before: Could only pass int via SMAC with the default unit B, but now tuple/list is possible * Update CHANGELOG.md * Make format * No printi --------- Co-authored-by: Carolin Benjamins * [Bug-fix] Pr was failing due to mutable additional configs default * [doc-fix] the count of initial design configs is computed slightly differently * Feature/metadata callback (#999) * Add example for using a callback to log run metadata to a file * Add issue number in changelog * Changelog formatting * Simplify metadata example * Simplify metadata example * Put callback in smac directory to allow importing it in custom repos * Move callback files to callback directory * Edit changelog * Correct metadata callback argument types * Additional metadata arguments in example * Set metadata default values in callback * Edit comment to fix PR * Documentation/dask client example (#1001) * Update requirements (dask_jobqueue) * Fix broken link * Ignore parallel example * Add parallelization example * Remove imports, add comment abt dask client * Add E's information * Update docs * Add comment about n_workers --------- Co-authored-by: Carolin Benjamins * Documentation/dask client example (#1001) * Update requirements (dask_jobqueue) * Fix broken link * Ignore parallel example * Add parallelization example * Remove imports, add comment abt dask client * Add E's information * Update docs * Add comment about n_workers --------- Co-authored-by: Carolin Benjamins * Feature/dask client (#1002) * Add info message that scenario.n_workers is ignored When passing a dask client, directly set n_workers in client. * Change info to warning --------- Co-authored-by: Carolin Benjamins * Update smac version (#1003) * Update smac version * Add hint on github release in make publish * Update copyright year * check if config in rh when storing state (#997) * check if config in rh when storing state * maint * remove unnecessary changes * Adapt developer install instructions to include pre-commit installation (#994) * Pipe dask_client through facade for exec on hpc (#983) * Pipe dask_client through facade for exec on hpc * Handle pynisher's memory arg Before: Could only pass int via SMAC with the default unit B, but now tuple/list is possible * Update CHANGELOG.md * Make format * No printi --------- Co-authored-by: Carolin Benjamins * update changelog * Increase tolerance for runhistory restoration test --------- Co-authored-by: Sarah Segel <30651149+sarah-segel@users.noreply.github.com> Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: Helena Graf * Add a workaround to be able to pass a dataset via dask.scatter (#993) * [feat] Support dask.scatter * [fix] Add shared_data arg in abstract_facade * Address the comments by Eddie * [fix] Fix errors raised by Eddie * [format] Apply black locally * [fix] Get retries back to 16 as it was a mistake * [doc] Update CHANGELOG --------- Co-authored-by: helegraf Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> * Adding Binder links for example (#976) * binder * maint * fix dependencies * maint docs * Revert "maint docs" This reverts commit 4fa1a0fae8dfa0b646e43273d50f72ddd76bf191. * add requirement --------- Co-authored-by: Difan Deng * Remove commit message from dependabot PRs (#1009) * Bugfix/fix broken link (#1012) * Remove commit message from dependabot PRs (#1010) * rename check_point_in_ss to check_subspace_point * Make format * Uncomment test procedure * docstrings for boing facade * avoid typing namespace everywhere in epm_configuration_chooser * fix docstring in rh2epm_boing * Limit on dask * Trying to fix tests * Replaced typing in all files * docstring for boing subspace * Changed feature requests to feature * allow acq_optimizer_local_kwargs to be passed to boing subspace without acq_optimizer_local * fix pre-commit * Added any * Update facade * Fix typing * Match arguments from pSMAC with SMAC4AC signature * Add description of pSMAC to docstring * Add option to pass facade class to pSMAC * Add example for pSMAC * Removed docstring in readme's example * Corrected text * move construct_gp_kernels to smac.epm_gpytorch.boing_kernels * maint * fix wrongly imported func name in tests * Add reference for pSMAC #609 * Rename example file * Added roadmap to readme * Prettification * Add result merger * Reformat with black * Delete unnecessary import * Fix typing * Inject first trajectory entry from file from first rundir * Add test for ResultMerger * Fix docstring * Get runhistory and trajectory from pSMAC run Via the result merger. Searchers rundirs and merges found runhistories and calculates a new trajectory. * Get trajectory * Add regex to requirements * Fixed MO cache problem * Fix MO tests * Fixing MO in AbstractRacer * Accepting ints * Hacking in the sum cost for MO * Fix mypi * Bugfix * Make mypi happy * Fix tests * Make format * Remove num_obj in MO optimizer * A lot of restructuring * Solve importings * Solve importings * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Updated changelog * Still fixing :) * fix docstrings * Change directory of tests * Fix ambiguous variable * Del newlines * fix mypy * mypy and doc fix * Removed int type checking * fix tests * Always return List of incs * fix path issue in example * maint boing facade * Better docstring * Return values if no bounds passed * Removed import * Return only one incumbent * Rename n_optimizers -> n_workers * Update example * Update docstring * Remove legacy function * Update to new signature * Update changelog.md * Format black * Update test * Please pre-commit * Merge development * Fix tests * Fix typos * Format black * Updated text * Increased version * Improved readme * SMAC logo 50% * SMAC logo 50% * Removed dev-2.0 * Added doc workflow for latest tag * Fixing docs latest tag * Fixing docs latest tag * First steps new intensifier * Make it work again * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * Test issues * FIX formatting * Link to old documentation * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * FIX formatting * Fix unit tests * Add annotation * corrected log prob for tophat prior * Removed configurations from callback * Fixed tests * Fix mypy * Save docs as latest version too * Enabled all tests again * Make version an env * Added last version to docs * Global variable fix * Added v before version number * New Intensifier Implementation (#888) - Completely reimplemented the intensifiers (including Successive Halving and Hyperband): All intensifiers support multi-fidelity, multi-objective and multi-threading by nature now. - Expected behaviour for ask-and-tell interface ensured (also for Successive Halving). - Continuing a run is now fully supported. - Added more examples. - Updated documentation based on new implementation. * First benchmark steps * Added a warning * Set xi to 0.01 * Incorporated walltime in trajectory * Working version of benchmark * Changed requirements * Changed xi back to 0.0 again * No duplicate budgets * Fixed bug which updated tracker wrongly * Bugfix: Delete correct bracket+stage * Fixed tests * Added costs to the trajectory * Changed initial design max ratio to 0.25 * Make format * Added more details to intensifier * Finished benchmark * Added benchmark source files * Fixed tests because of initial design changes * Improved runhistory API * Fixed typo (#894) * Merge doc fixes * Doc fixes (#893) Co-authored-by: timruhkopf Co-authored-by: Carolin Benjamins Co-authored-by: dengdifan Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs * Make format * Satisfied mypy * Enabled more tests * Increased version * Mypy * Mypy * Mypy * Fixed critical bug when using highest budget for inc selection * Added SH+HB comparison * Stuff * Updated report * Fixed docstring * Fixed image path * Removed vscode folder * Bugfixes * Doc fixes * Updated changelog * Make isort * Fix typos * Removed new line * Added alpha2 to docs selection * update description * Fix 531 correctly create integers in initial design This PR fixes a bug in which integer hyperparameters would not be created correctly in the initial design. This went unnoticed, except in the case where it was part of a condition and the function deactivate_inactive_hyperparameters was called. This PR fixes this bug by mapping the random float that was sampled by, for example and LHD or Sobol sequence, to the float representation of an integer by calling _transform and _inverse_transform of the integer hyperparameter. * Add contact paragraph to README. * Increase days until stale issues are closed by stalebot (#904) * Edit changelog * Add issue number * Closes #907 * Clarify origin of configurations (#908) * Random forest speed up (#903) Co-authored-by: René Sass * Add: workflow to update pre-commit versions (#874) Co-authored-by: René Sass * Add Git-Flow Workflow Specification * [DOC] acquisition function maximizers * Add stale reminder email action * Increase version number of ConfigSpace * Add guideline for updating copyright notice years to CONTRIBUTING.md * Update requirement for pyrfr (#920) * Update pre-commit: isort,flake8 version numbers * Format black * Fix mypy * Ac bench (#929) * Add Branin AC Task * Add ac optimization type * Nicer plotting * Add ac mode * Update ac task * Make new smac env name adjustable * Increase python version for smac 1.4 * Update benchmark * Update plotting * Goodby comments * Fix path * Fix 1.4 wrapper * Update benchmark results --------- Co-authored-by: Carolin Benjamins * [DOC] added documentation on the incumbent update * Feature/add version to make publish (#931) * Add version, correct package name and use bash in makefile * Increase version * Increase version in makefile, add places with versions to make publish * Fix typo * Transform integer feature names to strings (#930) * Transform int features to str * Fix pre-commit * Update version to 2.0.0 * Update version to 2.0.0 * Update CHANGELOG.md * Add information on deepcave to the readme * Correct doc version * fix(runhistory): set id of the sampled config (#951) * fix: Set config_id of config in runhistory * ci: Set dependabot to target development branch (#963) * feat: Option preventing SMAC setting up logging (#947) * Version 2.0.0 (#898) * Update runhistory2epm.py * pre_commit * Updated changelog * Fixed comment * Updated changelog * Some small improvements * Removed trailing space * Updated changelog * Restricted pynisher * Updated changelog * Link JMLR paper * Update bibtex entry Before: arxiv paper, now journal article. * Fixed citation in docs * Fixed callback typos * BOinG for mixed hyperparameter search space * fix format * maint * maint documentation * maint pre-commit * fix workflow * maint * Add dependabot for workflow files * Bump actions/setup-python from 2 to 4 (#849) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/checkout from 2 to 3 (#850) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * maint * Updated stale bot * Updated stale options again * Fixed typing * Increased version * rename check_point_in_ss to check_subspace_point * Make format * Uncomment test procedure * docstrings for boing facade * avoid typing namespace everywhere in epm_configuration_chooser * fix docstring in rh2epm_boing * Limit on dask * Trying to fix tests * Replaced typing in all files * docstring for boing subspace * Changed feature requests to feature * allow acq_optimizer_local_kwargs to be passed to boing subspace without acq_optimizer_local * fix pre-commit * Added any * Update facade * Fix typing * Match arguments from pSMAC with SMAC4AC signature * Add description of pSMAC to docstring * Add option to pass facade class to pSMAC * Add example for pSMAC * Removed docstring in readme's example * Corrected text * move construct_gp_kernels to smac.epm_gpytorch.boing_kernels * maint * fix wrongly imported func name in tests * Add reference for pSMAC #609 * Rename example file * Added roadmap to readme * Prettification * Add result merger * Reformat with black * Delete unnecessary import * Fix typing * Inject first trajectory entry from file from first rundir * Add test for ResultMerger * Fix docstring * Get runhistory and trajectory from pSMAC run Via the result merger. Searchers rundirs and merges found runhistories and calculates a new trajectory. * Get trajectory * Add regex to requirements * Fixed MO cache problem * Fix MO tests * Fixing MO in AbstractRacer * Accepting ints * Hacking in the sum cost for MO * Fix mypi * Bugfix * Make mypi happy * Fix tests * Make format * Remove num_obj in MO optimizer * A lot of restructuring * Solve importings * Solve importings * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Updated changelog * Still fixing :) * fix docstrings * Change directory of tests * Fix ambiguous variable * Del newlines * fix mypy * mypy and doc fix * Removed int type checking * fix tests * Always return List of incs * fix path issue in example * maint boing facade * Better docstring * Return values if no bounds passed * Removed import * Return only one incumbent * Rename n_optimizers -> n_workers * Update example * Update docstring * Remove legacy function * Update to new signature * Update changelog.md * Format black * Update test * Please pre-commit * Merge development * Fix tests * Fix typos * Format black * Updated text * Increased version * Improved readme * SMAC logo 50% * SMAC logo 50% * Removed dev-2.0 * Added doc workflow for latest tag * Fixing docs latest tag * Fixing docs latest tag * First steps new intensifier * Make it work again * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * Test issues * FIX formatting * Link to old documentation * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * FIX formatting * Fix unit tests * Add annotation * corrected log prob for tophat prior * Removed configurations from callback * Fixed tests * Fix mypy * Save docs as latest version too * Enabled all tests again * Make version an env * Added last version to docs * Global variable fix * Added v before version number * New Intensifier Implementation (#888) - Completely reimplemented the intensifiers (including Successive Halving and Hyperband): All intensifiers support multi-fidelity, multi-objective and multi-threading by nature now. - Expected behaviour for ask-and-tell interface ensured (also for Successive Halving). - Continuing a run is now fully supported. - Added more examples. - Updated documentation based on new implementation. * First benchmark steps * Added a warning * Set xi to 0.01 * Incorporated walltime in trajectory * Working version of benchmark * Changed requirements * Changed xi back to 0.0 again * No duplicate budgets * Fixed bug which updated tracker wrongly * Bugfix: Delete correct bracket+stage * Fixed tests * Added costs to the trajectory * Changed initial design max ratio to 0.25 * Make format * Added more details to intensifier * Finished benchmark * Added benchmark source files * Fixed tests because of initial design changes * Improved runhistory API * Fixed typo (#894) * Merge doc fixes * Doc fixes (#893) Co-authored-by: timruhkopf Co-authored-by: Carolin Benjamins Co-authored-by: dengdifan Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs * Make format * Satisfied mypy * Enabled more tests * Increased version * Mypy * Mypy * Mypy * Fixed critical bug when using highest budget for inc selection * Added SH+HB comparison * Stuff * Updated report * Fixed docstring * Fixed image path * Removed vscode folder * Bugfixes * Doc fixes * Updated changelog * Make isort * Fix typos * Removed new line * Added alpha2 to docs selection * update description * Fix 531 correctly create integers in initial design This PR fixes a bug in which integer hyperparameters would not be created correctly in the initial design. This went unnoticed, except in the case where it was part of a condition and the function deactivate_inactive_hyperparameters was called. This PR fixes this bug by mapping the random float that was sampled by, for example and LHD or Sobol sequence, to the float representation of an integer by calling _transform and _inverse_transform of the integer hyperparameter. * Add contact paragraph to README. * Increase days until stale issues are closed by stalebot (#904) * Edit changelog * Add issue number * Closes #907 * Clarify origin of configurations (#908) * Random forest speed up (#903) Co-authored-by: René Sass * Add: workflow to update pre-commit versions (#874) Co-authored-by: René Sass * Add Git-Flow Workflow Specification * [DOC] acquisition function maximizers * Add stale reminder email action * Increase version number of ConfigSpace * Add guideline for updating copyright notice years to CONTRIBUTING.md * Update requirement for pyrfr (#920) * Update pre-commit: isort,flake8 version numbers * Format black * Fix mypy * Ac bench (#929) * Add Branin AC Task * Add ac optimization type * Nicer plotting * Add ac mode * Update ac task * Make new smac env name adjustable * Increase python version for smac 1.4 * Update benchmark * Update plotting * Goodby comments * Fix path * Fix 1.4 wrapper * Update benchmark results --------- Co-authored-by: Carolin Benjamins * [DOC] added documentation on the incumbent update * Feature/add version to make publish (#931) * Add version, correct package name and use bash in makefile * Increase version * Increase version in makefile, add places with versions to make publish * Fix typo * Transform integer feature names to strings (#930) * Transform int features to str * Fix pre-commit * Update version to 2.0.0 * Update version to 2.0.0 * Update CHANGELOG.md * Add information on deepcave to the readme * Correct doc version --------- Co-authored-by: dengdifan <33290713+dengdifan@users.noreply.github.com> Co-authored-by: dengdifan Co-authored-by: Matthias Feurer Co-authored-by: Carolin Benjamins Co-authored-by: eddiebergman Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Tim Ruhkopf * feat: Option preventing SMAC setting up logging * fix: Run isort * Bump peter-evans/create-pull-request from 3 to 5 (#958) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3 to 5. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3...v5) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-python from 2 to 4 (#945) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: Option preventing SMAC setting up logging * fix: Run isort * fix: Add to changelog * feat: Option preventing SMAC setting up logging * fix: Run isort --------- Signed-off-by: dependabot[bot] Co-authored-by: René Sass Co-authored-by: dengdifan <33290713+dengdifan@users.noreply.github.com> Co-authored-by: dengdifan Co-authored-by: Matthias Feurer Co-authored-by: Carolin Benjamins Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Tim Ruhkopf * Citation update (#961) * update CITATION.cff * update order in CITATION.cff * fix citation date * fix citation * maint * Adjust hyperband configuration distribution across brackets * Compute the actual differences between the isb keys. (#957) * Compute the actual differences between the isb keys. * Added change to CHANGELOG.md * Adjust schedule for stale reminder * fix(logging): Prevent automatic logging setup at init (#970) * fix(logging): Prevent automatic logging setup at init * fix(logging): Rely on `setup_logging` to handle arg * Fix validate method of smbo, update docstring. * Allow callbacks to be added to a specific index, make callback registering public * Update CHANGELOG.md * Fix broken references (#988) * Adapt developer install instructions to include pre-commit installation (#994) * [Feature] Initial Design now supports executing the default config provided by the user by means of the configspace he generated. (and is no longer ignored) * Pipe dask_client through facade for exec on hpc (#983) * Pipe dask_client through facade for exec on hpc * Handle pynisher's memory arg Before: Could only pass int via SMAC with the default unit B, but now tuple/list is possible * Update CHANGELOG.md * Make format * No printi --------- Co-authored-by: Carolin Benjamins * [Bug-fix] Pr was failing due to mutable additional configs default * [doc-fix] the count of initial design configs is computed slightly differently * Feature/metadata callback (#999) * Add example for using a callback to log run metadata to a file * Add issue number in changelog * Changelog formatting * Simplify metadata example * Simplify metadata example * Put callback in smac directory to allow importing it in custom repos * Move callback files to callback directory * Edit changelog * Correct metadata callback argument types * Additional metadata arguments in example * Set metadata default values in callback * Edit comment to fix PR * Documentation/dask client example (#1001) * Update requirements (dask_jobqueue) * Fix broken link * Ignore parallel example * Add parallelization example * Remove imports, add comment abt dask client * Add E's information * Update docs * Add comment about n_workers --------- Co-authored-by: Carolin Benjamins * Documentation/dask client example (#1001) * Update requirements (dask_jobqueue) * Fix broken link * Ignore parallel example * Add parallelization example * Remove imports, add comment abt dask client * Add E's information * Update docs * Add comment about n_workers --------- Co-authored-by: Carolin Benjamins * Feature/dask client (#1002) * Add info message that scenario.n_workers is ignored When passing a dask client, directly set n_workers in client. * Change info to warning --------- Co-authored-by: Carolin Benjamins * Update smac version (#1003) * Update smac version * Add hint on github release in make publish * Update copyright year * check if config in rh when storing state (#997) * check if config in rh when storing state * maint * remove unnecessary changes * Adapt developer install instructions to include pre-commit installation (#994) * Pipe dask_client through facade for exec on hpc (#983) * Pipe dask_client through facade for exec on hpc * Handle pynisher's memory arg Before: Could only pass int via SMAC with the default unit B, but now tuple/list is possible * Update CHANGELOG.md * Make format * No printi --------- Co-authored-by: Carolin Benjamins * update changelog * Increase tolerance for runhistory restoration test --------- Co-authored-by: Sarah Segel <30651149+sarah-segel@users.noreply.github.com> Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: Helena Graf * Add a workaround to be able to pass a dataset via dask.scatter (#993) * [feat] Support dask.scatter * [fix] Add shared_data arg in abstract_facade * Address the comments by Eddie * [fix] Fix errors raised by Eddie * [format] Apply black locally * [fix] Get retries back to 16 as it was a mistake * [doc] Update CHANGELOG --------- Co-authored-by: helegraf Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> * Adding Binder links for example (#976) * binder * maint * fix dependencies * maint docs * Revert "maint docs" This reverts commit 4fa1a0fae8dfa0b646e43273d50f72ddd76bf191. * add requirement --------- Co-authored-by: Difan Deng * Remove commit message from dependabot PRs (#1009) --------- Signed-off-by: dependabot[bot] Co-authored-by: dengdifan Co-authored-by: René Sass Co-authored-by: Carolin Benjamins Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Matthias Feurer Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Eddie Bergman Co-authored-by: Tim Ruhkopf Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> Co-authored-by: Aron Bahram Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Shuhei Watanabe <47781922+nabenabe0928@users.noreply.github.com> Co-authored-by: Difan Deng * Fix broken link --------- Signed-off-by: dependabot[bot] Co-authored-by: dengdifan Co-authored-by: René Sass Co-authored-by: Carolin Benjamins Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Matthias Feurer Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Eddie Bergman Co-authored-by: Tim Ruhkopf Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> Co-authored-by: Aron Bahram Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Shuhei Watanabe <47781922+nabenabe0928@users.noreply.github.com> Co-authored-by: Difan Deng * Drop torch requirements (#1015) * Remove torch requirements * Fix format --------- Co-authored-by: Carolin Benjamins * Remove leftover CLI entry points (#1014) * Fix incumbent selection in case of SH+MO * Update CHANGELOG.md * Feature/GitHub actions pr draft (#1008) Update the workflows only to trigger extensive tests for PRs that are not in the draft stage --------- Co-authored-by: timruhkopf Co-authored-by: Helena Graf * Update stale report to include issues with recent interactions (#1025) * Add recently updated issues to list of reminders. * Add recently updated issues to list of reminders. * Add recently updated issues to list of reminders. * Raise error if resource limitation and parallelization is requested (#1023) * Add warnings for parallelism doc * Check for parallelization + pynisher Does not work together, throw error. Does not work bc Dask pickles jobs and pynisher runs the target function in a process. * Fix whitespaces --------- Co-authored-by: Carolin Benjamins * Raise an error for invalid scatter data (#1018) * [enhance] Add an error for scatter data * Update ChangeLog --------- Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> * fix(configspace): shows all keys in print (#1043) * Fix callback order (#1040) Co-authored-by: Carolin Benjamins * fix: dtypes (#1044) * Fix(config_selector): Budget checking (#1039) * Fix: target runner with partial func (#1045) * Feature/improve documentation (#1028) * Experimental instruction for installing SMAC in windows via WSL * More detailed documentation regarding continuing runs * Fixes * Fixes * Fixes * Update docs/10_experimental.rst Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> * Fixes from PR * Fixes from PR * Fixes from PR * Fixes from PR * Fixes from PR --------- Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> * Handle configspace as dictionary in mlp example (#1057) * Handle configspace as dictionary in mlp example * Adapt sgd loss to newest scikit-learn version * Add change to changelog * Handle configspace as dictionary in parego example * Correct get usage * Raise version number * Add missing period in docs. * allow rf to impute OrdinalHyperparameter (#1065) * allow rf to impute OrdinalHyperparameter * Add missing period in docs. * Add issue number in changelog. --------- Co-authored-by: Sarah Krebs * fix dask_scheduler_file path (#1055) * fix dask_scheduler_file path * update change log --------- Co-authored-by: dengdifan * Fix config rejection for #1068 (#1069) * racing: make sure config only deleted from rejected configs if among incumbents upon update * test case for incumbent rejection * update code comments * added missing newline ahead of new test case * update change log --------- Co-authored-by: dengdifan Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> * fix(RandomForest): Always cast `seed` to `int` (#1084) * fix(RandomForest): Always cast `seed` to `int` In cases where seeds were generated from some numpy objects, sometimes you'd get back an `np.integer`, which causes the program to crash when communicating with `pyrfr` through `swig`. It seems that swig doesn't know that it's an _int-like_ and so we explicitly cast it to `int`. * Update CHANGELOG.md --------- Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> * Bump actions/checkout from 3 to 4 (#1072) * Bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * Update CHANGELOG.md --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: benjamc * chore: log warn on condition when custom dask client is provided (#1071) * Bump conda-incubator/setup-miniconda from 2 to 3 (#1087) Bumps [conda-incubator/setup-miniconda](https://github.com/conda-incubator/setup-miniconda) from 2 to 3. - [Release notes](https://github.com/conda-incubator/setup-miniconda/releases) - [Changelog](https://github.com/conda-incubator/setup-miniconda/blob/main/CHANGELOG.md) - [Commits](https://github.com/conda-incubator/setup-miniconda/compare/v2...v3) --- updated-dependencies: - dependency-name: conda-incubator/setup-miniconda dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Propagate the Scenario random seed to get_random_design (#1066) * Propagate the Scenario's random seed to get_random_design * add changelog line --------- Co-authored-by: Sarah Segel <30651149+sarah-segel@users.noreply.github.com> * [#1056] Add example on intensify for cross-validation. (#1061) * Add example on intensify for cross-validation. * Improve example * Address Difan's comment * Update CHANGELOG.md * Change stale-reminder to recent-reminder (#1096) * Change stale-reminder to recent-reminder (#1095) (#1099) * Dont use mutable lists as default args (#1097) * Don't use mutable default argument. If this isn't respected, then additional_configs can be built up overtime when multiple optimizers are created in a single process. This can occur when the use_default_config option is set True and/or when additional_configs are provided. When different ConfigSpaces are provided this can result in an error due to mismatched defaults, for instance. In other cases it can result in non-deterministic behavior due to the random ordering of the configs that get added (e.g., with different parallel pytest runs). - [ ] Cleanup other sources of this error as well elsewhere in the code. - [ ] Add pylint checks for this issue. * fixup some others mutable defaults * add pylint checks * fix more related pylint issues * add changelog line * Update pre-commit config * Update pre-commit config * Remove TODO formulation as an issue already exists for this --------- Co-authored-by: Brian Kroth * Bump actions/setup-python from 4 to 5 (#1089) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump peter-evans/create-pull-request from 5 to 6 (#1093) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5 to 6. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v5...v6) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * test: Fix upper bounds for `test_transformer()` and no random in `test_transformer_conditional()` (#1102) * test: Don't rely on randomization for the test * test: Include import * test: Fix boundaries for catgoricals in test * test: Missing import * doc: Make todo not more clear about when to upgrade * Change stale-reminder to recent-reminder (#1095) (#1107) * Fix typo in docstring for `MultiFideltyFacade.get_initial_design` (#1104) * Fix typo in docstring for `MultiFideltyFacade.get_initial_design` The docstring specifies 0.1 is used as a default value for max_ratio, however in code 0.25 is used. * Bug/acquisition maximizer sampling (#1106) * Adapt how n_points works in the config_selector.py Also remove LocalAndSortedPriorRandomSearch by integrating it into LocalAndSortedRandomSearch * Change retrain_after to 1 for BlackBOx Facade * Fix bugs in local_and_random_search.py * Edit CHANGELOG.md * fix acq maximizer docstring * call get config selector from super class * Update random and local search to new functionality * Update CHANGELOG.md * Fix sampling of initial points for local search when less previous configs than n_points * Re-format blackbox_facade.py --------- Co-authored-by: Helena Graf Co-authored-by: dengdifan * Update version number to 2.1.0 * Add version 2.1.0 to docs drop-down * Fix dependencies (numpy + ConfigSpace) and docs (#1122) * fix(dependency): np.NaN -> np.nan New(er) numpy does not support np.NaN anymore * Update CHANGELOG.md * fix(build): restrict package versions Numpy and ConfigSpace's API have changed. Do not incorporate changes yet. * Update CHANGELOG.md * Fix broken link in docs * chore: fix URLs (#1114) * Change stale-reminder to recent-reminder (#1095) * Version 2.1.0 (#1108) * Hacking in the sum cost for MO * Fix mypi * Bugfix * Make mypi happy * Fix tests * Make format * Remove num_obj in MO optimizer * A lot of restructuring * Solve importings * Solve importings * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Updated changelog * Still fixing :) * fix docstrings * Change directory of tests * Fix ambiguous variable * Del newlines * fix mypy * mypy and doc fix * Removed int type checking * fix tests * Always return List of incs * fix path issue in example * maint boing facade * Better docstring * Return values if no bounds passed * Removed import * Return only one incumbent * Rename n_optimizers -> n_workers * Update example * Update docstring * Remove legacy function * Update to new signature * Update changelog.md * Format black * Update test * Please pre-commit * Merge development * Fix tests * Fix typos * Format black * Updated text * Increased version * Improved readme * SMAC logo 50% * SMAC logo 50% * Removed dev-2.0 * Added doc workflow for latest tag * Fixing docs latest tag * Fixing docs latest tag * First steps new intensifier * Make it work again * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * Test issues * FIX formatting * Link to old documentation * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * FIX formatting * Fix unit tests * Add annotation * corrected log prob for tophat prior * Removed configurations from callback * Fixed tests * Fix mypy * Save docs as latest version too * Enabled all tests again * Make version an env * Added last version to docs * Global variable fix * Added v before version number * New Intensifier Implementation (#888) - Completely reimplemented the intensifiers (including Successive Halving and Hyperband): All intensifiers support multi-fidelity, multi-objective and multi-threading by nature now. - Expected behaviour for ask-and-tell interface ensured (also for Successive Halving). - Continuing a run is now fully supported. - Added more examples. - Updated documentation based on new implementation. * First benchmark steps * Added a warning * Set xi to 0.01 * Incorporated walltime in trajectory * Working version of benchmark * Changed requirements * Changed xi back to 0.0 again * No duplicate budgets * Fixed bug which updated tracker wrongly * Bugfix: Delete correct bracket+stage * Fixed tests * Added costs to the trajectory * Changed initial design max ratio to 0.25 * Make format * Added more details to intensifier * Finished benchmark * Added benchmark source files * Fixed tests because of initial design changes * Improved runhistory API * Fixed typo (#894) * Merge doc fixes * Doc fixes (#893) Co-authored-by: timruhkopf Co-authored-by: Carolin Benjamins Co-authored-by: dengdifan Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs * Make format * Satisfied mypy * Enabled more tests * Increased version * Mypy * Mypy * Mypy * Fixed critical bug when using highest budget for inc selection * Added SH+HB comparison * Stuff * Updated report * Fixed docstring * Fixed image path * Removed vscode folder * Bugfixes * Doc fixes * Updated changelog * Make isort * Fix typos * Removed new line * Added alpha2 to docs selection * update description * Fix 531 correctly create integers in initial design This PR fixes a bug in which integer hyperparameters would not be created correctly in the initial design. This went unnoticed, except in the case where it was part of a condition and the function deactivate_inactive_hyperparameters was called. This PR fixes this bug by mapping the random float that was sampled by, for example and LHD or Sobol sequence, to the float representation of an integer by calling _transform and _inverse_transform of the integer hyperparameter. * Add contact paragraph to README. * Increase days until stale issues are closed by stalebot (#904) * Edit changelog * Add issue number * Closes #907 * Clarify origin of configurations (#908) * Random forest speed up (#903) Co-authored-by: René Sass * Add: workflow to update pre-commit versions (#874) Co-authored-by: René Sass * Add Git-Flow Workflow Specification * [DOC] acquisition function maximizers * Add stale reminder email action * Increase version number of ConfigSpace * Add guideline for updating copyright notice years to CONTRIBUTING.md * Update requirement for pyrfr (#920) * Update pre-commit: isort,flake8 version numbers * Format black * Fix mypy * Ac bench (#929) * Add Branin AC Task * Add ac optimization type * Nicer plotting * Add ac mode * Update ac task * Make new smac env name adjustable * Increase python version for smac 1.4 * Update benchmark * Update plotting * Goodby comments * Fix path * Fix 1.4 wrapper * Update benchmark results --------- Co-authored-by: Carolin Benjamins * [DOC] added documentation on the incumbent update * Feature/add version to make publish (#931) * Add version, correct package name and use bash in makefile * Increase version * Increase version in makefile, add places with versions to make publish * Fix typo * Transform integer feature names to strings (#930) * Transform int features to str * Fix pre-commit * Update version to 2.0.0 * Update version to 2.0.0 * Update CHANGELOG.md * Add information on deepcave to the readme * Correct doc version * fix(runhistory): set id of the sampled config (#951) * fix: Set config_id of config in runhistory * ci: Set dependabot to target development branch (#963) * feat: Option preventing SMAC setting up logging (#947) * Version 2.0.0 (#898) * Update runhistory2epm.py * pre_commit * Updated changelog * Fixed comment * Updated changelog * Some small improvements * Removed trailing space * Updated changelog * Restricted pynisher * Updated changelog * Link JMLR paper * Update bibtex entry Before: arxiv paper, now journal article. * Fixed citation in docs * Fixed callback typos * BOinG for mixed hyperparameter search space * fix format * maint * maint documentation * maint pre-commit * fix workflow * maint * Add dependabot for workflow files * Bump actions/setup-python from 2 to 4 (#849) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/checkout from 2 to 3 (#850) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * maint * Updated stale bot * Updated stale options again * Fixed typing * Increased version * rename check_point_in_ss to check_subspace_point * Make format * Uncomment test procedure * docstrings for boing facade * avoid typing namespace everywhere in epm_configuration_chooser * fix docstring in rh2epm_boing * Limit on dask * Trying to fix tests * Replaced typing in all files * docstring for boing subspace * Changed feature requests to feature * allow acq_optimizer_local_kwargs to be passed to boing subspace without acq_optimizer_local * fix pre-commit * Added any * Update facade * Fix typing * Match arguments from pSMAC with SMAC4AC signature * Add description of pSMAC to docstring * Add option to pass facade class to pSMAC * Add example for pSMAC * Removed docstring in readme's example * Corrected text * move construct_gp_kernels to smac.epm_gpytorch.boing_kernels * maint * fix wrongly imported func name in tests * Add reference for pSMAC #609 * Rename example file * Added roadmap to readme * Prettification * Add result merger * Reformat with black * Delete unnecessary import * Fix typing * Inject first trajectory entry from file from first rundir * Add test for ResultMerger * Fix docstring * Get runhistory and trajectory from pSMAC run Via the result merger. Searchers rundirs and merges found runhistories and calculates a new trajectory. * Get trajectory * Add regex to requirements * Fixed MO cache problem * Fix MO tests * Fixing MO in AbstractRacer * Accepting ints * Hacking in the sum cost for MO * Fix mypi * Bugfix * Make mypi happy * Fix tests * Make format * Remove num_obj in MO optimizer * A lot of restructuring * Solve importings * Solve importings * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Updated changelog * Still fixing :) * fix docstrings * Change directory of tests * Fix ambiguous variable * Del newlines * fix mypy * mypy and doc fix * Removed int type checking * fix tests * Always return List of incs * fix path issue in example * maint boing facade * Better docstring * Return values if no bounds passed * Removed import * Return only one incumbent * Rename n_optimizers -> n_workers * Update example * Update docstring * Remove legacy function * Update to new signature * Update changelog.md * Format black * Update test * Please pre-commit * Merge development * Fix tests * Fix typos * Format black * Updated text * Increased version * Improved readme * SMAC logo 50% * SMAC logo 50% * Removed dev-2.0 * Added doc workflow for latest tag * Fixing docs latest tag * Fixing docs latest tag * First steps new intensifier * Make it work again * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * Test issues * FIX formatting * Link to old documentation * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * FIX formatting * Fix unit tests * Add annotation * corrected log prob for tophat prior * Removed configurations from callback * Fixed tests * Fix mypy * Save docs as latest version too * Enabled all tests again * Make version an env * Added last version to docs * Global variable fix * Added v before version number * New Intensifier Implementation (#888) - Completely reimplemented the intensifiers (including Successive Halving and Hyperband): All intensifiers support multi-fidelity, multi-objective and multi-threading by nature now. - Expected behaviour for ask-and-tell interface ensured (also for Successive Halving). - Continuing a run is now fully supported. - Added more examples. - Updated documentation based on new implementation. * First benchmark steps * Added a warning * Set xi to 0.01 * Incorporated walltime in trajectory * Working version of benchmark * Changed requirements * Changed xi back to 0.0 again * No duplicate budgets * Fixed bug which updated tracker wrongly * Bugfix: Delete correct bracket+stage * Fixed tests * Added costs to the trajectory * Changed initial design max ratio to 0.25 * Make format * Added more details to intensifier * Finished benchmark * Added benchmark source files * Fixed tests because of initial design changes * Improved runhistory API * Fixed typo (#894) * Merge doc fixes * Doc fixes (#893) Co-authored-by: timruhkopf Co-authored-by: Carolin Benjamins Co-authored-by: dengdifan Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs * Make format * Satisfied mypy * Enabled more tests * Increased version * Mypy * Mypy * Mypy * Fixed critical bug when using highest budget for inc selection * Added SH+HB comparison * Stuff * Updated report * Fixed docstring * Fixed image path * Removed vscode folder * Bugfixes * Doc fixes * Updated changelog * Make isort * Fix typos * Removed new line * Added alpha2 to docs selection * update description * Fix 531 correctly create integers in initial design This PR fixes a bug in which integer hyperparameters would not be created correctly in the initial design. This went unnoticed, except in the case where it was part of a condition and the function deactivate_inactive_hyperparameters was called. This PR fixes this bug by mapping the random float that was sampled by, for example and LHD or Sobol sequence, to the float representation of an integer by calling _transform and _inverse_transform of the integer hyperparameter. * Add contact paragraph to README. * Increase days until stale issues are closed by stalebot (#904) * Edit changelog * Add issue number * Closes #907 * Clarify origin of configurations (#908) * Random forest speed up (#903) Co-authored-by: René Sass * Add: workflow to update pre-commit versions (#874) Co-authored-by: René Sass * Add Git-Flow Workflow Specification * [DOC] acquisition function maximizers * Add stale reminder email action * Increase version number of ConfigSpace * Add guideline for updating copyright notice years to CONTRIBUTING.md * Update requirement for pyrfr (#920) * Update pre-commit: isort,flake8 version numbers * Format black * Fix mypy * Ac bench (#929) * Add Branin AC Task * Add ac optimization type * Nicer plotting * Add ac mode * Update ac task * Make new smac env name adjustable * Increase python version for smac 1.4 * Update benchmark * Update plotting * Goodby comments * Fix path * Fix 1.4 wrapper * Update benchmark results --------- Co-authored-by: Carolin Benjamins * [DOC] added documentation on the incumbent update * Feature/add version to make publish (#931) * Add version, correct package name and use bash in makefile * Increase version * Increase version in makefile, add places with versions to make publish * Fix typo * Transform integer feature names to strings (#930) * Transform int features to str * Fix pre-commit * Update version to 2.0.0 * Update version to 2.0.0 * Update CHANGELOG.md * Add information on deepcave to the readme * Correct doc version --------- Co-authored-by: dengdifan <33290713+dengdifan@users.noreply.github.com> Co-authored-by: dengdifan Co-authored-by: Matthias Feurer Co-authored-by: Carolin Benjamins Co-authored-by: eddiebergman Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Tim Ruhkopf * feat: Option preventing SMAC setting up logging * fix: Run isort * Bump peter-evans/create-pull-request from 3 to 5 (#958) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3 to 5. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3...v5) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-python from 2 to 4 (#945) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: Option preventing SMAC setting up logging * fix: Run isort * fix: Add to changelog * feat: Option preventing SMAC setting up logging * fix: Run isort --------- Signed-off-by: dependabot[bot] Co-authored-by: René Sass Co-authored-by: dengdifan <33290713+dengdifan@users.noreply.github.com> Co-authored-by: dengdifan Co-authored-by: Matthias Feurer Co-authored-by: Carolin Benjamins Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Tim Ruhkopf * Citation update (#961) * update CITATION.cff * update order in CITATION.cff * fix citation date * fix citation * maint * Adjust hyperband configuration distribution across brackets * Compute the actual differences between the isb keys. (#957) * Compute the actual differences between the isb keys. * Added change to CHANGELOG.md * Adjust schedule for stale reminder * fix(logging): Prevent automatic logging setup at init (#970) * fix(logging): Prevent automatic logging setup at init * fix(logging): Rely on `setup_logging` to handle arg * Fix validate method of smbo, update docstring. * Allow callbacks to be added to a specific index, make callback registering public * Update CHANGELOG.md * Fix broken references (#988) * Adapt developer install instructions to include pre-commit installation (#994) * [Feature] Initial Design now supports executing the default config provided by the user by means of the configspace he generated. (and is no longer ignored) * Pipe dask_client through facade for exec on hpc (#983) * Pipe dask_client through facade for exec on hpc * Handle pynisher's memory arg Before: Could only pass int via SMAC with the default unit B, but now tuple/list is possible * Update CHANGELOG.md * Make format * No printi --------- Co-authored-by: Carolin Benjamins * [Bug-fix] Pr was failing due to mutable additional configs default * [doc-fix] the count of initial design configs is computed slightly differently * Feature/metadata callback (#999) * Add example for using a callback to log run metadata to a file * Add issue number in changelog * Changelog formatting * Simplify metadata example * Simplify metadata example * Put callback in smac directory to allow importing it in custom repos * Move callback files to callback directory * Edit changelog * Correct metadata callback argument types * Additional metadata arguments in example * Set metadata default values in callback * Edit comment to fix PR * Documentation/dask client example (#1001) * Update requirements (dask_jobqueue) * Fix broken link * Ignore parallel example * Add parallelization example * Remove imports, add comment abt dask client * Add E's information * Update docs * Add comment about n_workers --------- Co-authored-by: Carolin Benjamins * Documentation/dask client example (#1001) * Update requirements (dask_jobqueue) * Fix broken link * Ignore parallel example * Add parallelization example * Remove imports, add comment abt dask client * Add E's information * Update docs * Add comment about n_workers --------- Co-authored-by: Carolin Benjamins * Feature/dask client (#1002) * Add info message that scenario.n_workers is ignored When passing a dask client, directly set n_workers in client. * Change info to warning --------- Co-authored-by: Carolin Benjamins * Update smac version (#1003) * Update smac version * Add hint on github release in make publish * Update copyright year * check if config in rh when storing state (#997) * check if config in rh when storing state * maint * remove unnecessary changes * Adapt developer install instructions to include pre-commit installation (#994) * Pipe dask_client through facade for exec on hpc (#983) * Pipe dask_client through facade for exec on hpc * Handle pynisher's memory arg Before: Could only pass int via SMAC with the default unit B, but now tuple/list is possible * Update CHANGELOG.md * Make format * No printi --------- Co-authored-by: Carolin Benjamins * update changelog * Increase tolerance for runhistory restoration test --------- Co-authored-by: Sarah Segel <30651149+sarah-segel@users.noreply.github.com> Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: Helena Graf * Add a workaround to be able to pass a dataset via dask.scatter (#993) * [feat] Support dask.scatter * [fix] Add shared_data arg in abstract_facade * Address the comments by Eddie * [fix] Fix errors raised by Eddie * [format] Apply black locally * [fix] Get retries back to 16 as it was a mistake * [doc] Update CHANGELOG --------- Co-authored-by: helegraf Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> * Adding Binder links for example (#976) * binder * maint * fix dependencies * maint docs * Revert "maint docs" This reverts commit 4fa1a0fae8dfa0b646e43273d50f72ddd76bf191. * add requirement --------- Co-authored-by: Difan Deng * Remove commit message from dependabot PRs (#1009) * Bugfix/fix broken link (#1012) * Remove commit message from dependabot PRs (#1010) * rename check_point_in_ss to check_subspace_point * Make format * Uncomment test procedure * docstrings for boing facade * avoid typing namespace everywhere in epm_configuration_chooser * fix docstring in rh2epm_boing * Limit on dask * Trying to fix tests * Replaced typing in all files * docstring for boing subspace * Changed feature requests to feature * allow acq_optimizer_local_kwargs to be passed to boing subspace without acq_optimizer_local * fix pre-commit * Added any * Update facade * Fix typing * Match arguments from pSMAC with SMAC4AC signature * Add description of pSMAC to docstring * Add option to pass facade class to pSMAC * Add example for pSMAC * Removed docstring in readme's example * Corrected text * move construct_gp_kernels to smac.epm_gpytorch.boing_kernels * maint * fix wrongly imported func name in tests * Add reference for pSMAC #609 * Rename example file * Added roadmap to readme * Prettification * Add result merger * Reformat with black * Delete unnecessary import * Fix typing * Inject first trajectory entry from file from first rundir * Add test for ResultMerger * Fix docstring * Get runhistory and trajectory from pSMAC run Via the result merger. Searchers rundirs and merges found runhistories and calculates a new trajectory. * Get trajectory * Add regex to requirements * Fixed MO cache problem * Fix MO tests * Fixing MO in AbstractRacer * Accepting ints * Hacking in the sum cost for MO * Fix mypi * Bugfix * Make mypi happy * Fix tests * Make format * Remove num_obj in MO optimizer * A lot of restructuring * Solve importings * Solve importings * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Updated changelog * Still fixing :) * fix docstrings * Change directory of tests * Fix ambiguous variable * Del newlines * fix mypy * mypy and doc fix * Removed int type checking * fix tests * Always return List of incs * fix path issue in example * maint boing facade * Better docstring * Return values if no bounds passed * Removed import * Return only one incumbent * Rename n_optimizers -> n_workers * Update example * Update docstring * Remove legacy function * Update to new signature * Update changelog.md * Format black * Update test * Please pre-commit * Merge development * Fix tests * Fix typos * Format black * Updated text * Increased version * Improved readme * SMAC logo 50% * SMAC logo 50% * Removed dev-2.0 * Added doc workflow for latest tag * Fixing docs latest tag * Fixing docs latest tag * First steps new intensifier * Make it work again * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * Test issues * FIX formatting * Link to old documentation * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * FIX formatting * Fix unit tests * Add annotation * corrected log prob for tophat prior * Removed configurations from callback * Fixed tests * Fix mypy * Save docs as latest version too * Enabled all tests again * Make version an env * Added last version to docs * Global variable fix * Added v before version number * New Intensifier Implementation (#888) - Completely reimplemented the intensifiers (including Successive Halving and Hyperband): All intensifiers support multi-fidelity, multi-objective and multi-threading by nature now. - Expected behaviour for ask-and-tell interface ensured (also for Successive Halving). - Continuing a run is now fully supported. - Added more examples. - Updated documentation based on new implementation. * First benchmark steps * Added a warning * Set xi to 0.01 * Incorporated walltime in trajectory * Working version of benchmark * Changed requirements * Changed xi back to 0.0 again * No duplicate budgets * Fixed bug which updated tracker wrongly * Bugfix: Delete correct bracket+stage * Fixed tests * Added costs to the trajectory * Changed initial design max ratio to 0.25 * Make format * Added more details to intensifier * Finished benchmark * Added benchmark source files * Fixed tests because of initial design changes * Improved runhistory API * Fixed typo (#894) * Merge doc fixes * Doc fixes (#893) Co-authored-by: timruhkopf Co-authored-by: Carolin Benjamins Co-authored-by: dengdifan Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs * Make format * Satisfied mypy * Enabled more tests * Increased version * Mypy * Mypy * Mypy * Fixed critical bug when using highest budget for inc selection * Added SH+HB comparison * Stuff * Updated report * Fixed docstring * Fixed image path * Removed vscode folder * Bugfixes * Doc fixes * Updated changelog * Make isort * Fix typos * Removed new line * Added alpha2 to docs selection * update description * Fix 531 correctly create integers in initial design This PR fixes a bug in which integer hyperparameters would not be created correctly in the initial design. This went unnoticed, except in the case where it was part of a condition and the function deactivate_inactive_hyperparameters was called. This PR fixes this bug by mapping the random float that was sampled by, for example and LHD or Sobol sequence, to the float representation of an integer by calling _transform and _inverse_transform of the integer hyperparameter. * Add contact paragraph to README. * Increase days until stale issues are closed by stalebot (#904) * Edit changelog * Add issue number * Closes #907 * Clarify origin of configurations (#908) * Random forest speed up (#903) Co-authored-by: René Sass * Add: workflow to update pre-commit versions (#874) Co-authored-by: René Sass * Add Git-Flow Workflow Specification * [DOC] acquisition function maximizers * Add stale reminder email action * Increase version number of ConfigSpace * Add guideline for updating copyright notice years to CONTRIBUTING.md * Update requirement for pyrfr (#920) * Update pre-commit: isort,flake8 version numbers * Format black * Fix mypy * Ac bench (#929) * Add Branin AC Task * Add ac optimization type * Nicer plotting * Add ac mode * Update ac task * Make new smac env name adjustable * Increase python version for smac 1.4 * Update benchmark * Update plotting * Goodby comments * Fix path * Fix 1.4 wrapper * Update benchmark results --------- Co-authored-by: Carolin Benjamins * [DOC] added documentation on the incumbent update * Feature/add version to make publish (#931) * Add version, correct package name and use bash in makefile * Increase version * Increase version in makefile, add places with versions to make publish * Fix typo * Transform integer feature names to strings (#930) * Transform int features to str * Fix pre-commit * Update version to 2.0.0 * Update version to 2.0.0 * Update CHANGELOG.md * Add information on deepcave to the readme * Correct doc version * fix(runhistory): set id of the sampled config (#951) * fix: Set config_id of config in runhistory * ci: Set dependabot to target development branch (#963) * feat: Option preventing SMAC setting up logging (#947) * Version 2.0.0 (#898) * Update runhistory2epm.py * pre_commit * Updated changelog * Fixed comment * Updated changelog * Some small improvements * Removed trailing space * Updated changelog * Restricted pynisher * Updated changelog * Link JMLR paper * Update bibtex entry Before: arxiv paper, now journal article. * Fixed citation in docs * Fixed callback typos * BOinG for mixed hyperparameter search space * fix format * maint * maint documentation * maint pre-commit * fix workflow * maint * Add dependabot for workflow files * Bump actions/setup-python from 2 to 4 (#849) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/checkout from 2 to 3 (#850) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * maint * Updated stale bot * Updated stale options again * Fixed typing * Increased version * rename check_point_in_ss to check_subspace_point * Make format * Uncomment test procedure * docstrings for boing facade * avoid typing namespace everywhere in epm_configuration_chooser * fix docstring in rh2epm_boing * Limit on dask * Trying to fix tests * Replaced typing in all files * docstring for boing subspace * Changed feature requests to feature * allow acq_optimizer_local_kwargs to be passed to boing subspace without acq_optimizer_local * fix pre-commit * Added any * Update facade * Fix typing * Match arguments from pSMAC with SMAC4AC signature * Add description of pSMAC to docstring * Add option to pass facade class to pSMAC * Add example for pSMAC * Removed docstring in readme's example * Corrected text * move construct_gp_kernels to smac.epm_gpytorch.boing_kernels * maint * fix wrongly imported func name in tests * Add reference for pSMAC #609 * Rename example file * Added roadmap to readme * Prettification * Add result merger * Reformat with black * Delete unnecessary import * Fix typing * Inject first trajectory entry from file from first rundir * Add test for ResultMerger * Fix docstring * Get runhistory and trajectory from pSMAC run Via the result merger. Searchers rundirs and merges found runhistories and calculates a new trajectory. * Get trajectory * Add regex to requirements * Fixed MO cache problem * Fix MO tests * Fixing MO in AbstractRacer * Accepting ints * Hacking in the sum cost for MO * Fix mypi * Bugfix * Make mypi happy * Fix tests * Make format * Remove num_obj in MO optimizer * A lot of restructuring * Solve importings * Solve importings * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Updated changelog * Still fixing :) * fix docstrings * Change directory of tests * Fix ambiguous variable * Del newlines * fix mypy * mypy and doc fix * Removed int type checking * fix tests * Always return List of incs * fix path issue in example * maint boing facade * Better docstring * Return values if no bounds passed * Removed import * Return only one incumbent * Rename n_optimizers -> n_workers * Update example * Update docstring * Remove legacy function * Update to new signature * Update changelog.md * Format black * Update test * Please pre-commit * Merge development * Fix tests * Fix typos * Format black * Updated text * Increased version * Improved readme * SMAC logo 50% * SMAC logo 50% * Removed dev-2.0 * Added doc workflow for latest tag * Fixing docs latest tag * Fixing docs latest tag * First steps new intensifier * Make it work again * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * Test issues * FIX formatting * Link to old documentation * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * FIX formatting * Fix unit tests * Add annotation * corrected log prob for tophat prior * Removed configurations from callback * Fixed tests * Fix mypy * Save docs as latest version too * Enabled all tests again * Make version an env * Added last version to docs * Global variable fix * Added v before version number * New Intensifier Implementation (#888) - Completely reimplemented the intensifiers (including Successive Halving and Hyperband): All intensifiers support multi-fidelity, multi-objective and multi-threading by nature now. - Expected behaviour for ask-and-tell interface ensured (also for Successive Halving). - Continuing a run is now fully supported. - Added more examples. - Updated documentation based on new implementation. * First benchmark steps * Added a warning * Set xi to 0.01 * Incorporated walltime in trajectory * Working version of benchmark * Changed requirements * Changed xi back to 0.0 again * No duplicate budgets * Fixed bug which updated tracker wrongly * Bugfix: Delete correct bracket+stage * Fixed tests * Added costs to the trajectory * Changed initial design max ratio to 0.25 * Make format * Added more details to intensifier * Finished benchmark * Added benchmark source files * Fixed tests because of initial design changes * Improved runhistory API * Fixed typo (#894) * Merge doc fixes * Doc fixes (#893) Co-authored-by: timruhkopf Co-authored-by: Carolin Benjamins Co-authored-by: dengdifan Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs * Make format * Satisfied mypy * Enabled more tests * Increased version * Mypy * Mypy * Mypy * Fixed critical bug when using highest budget for inc selection * Added SH+HB comparison * Stuff * Updated report * Fixed docstring * Fixed image path * Removed vscode folder * Bugfixes * Doc fixes * Updated changelog * Make isort * Fix typos * Removed new line * Added alpha2 to docs selection * update description * Fix 531 correctly create integers in initial design This PR fixes a bug in which integer hyperparameters would not be created correctly in the initial design. This went unnoticed, except in the case where it was part of a condition and the function deactivate_inactive_hyperparameters was called. This PR fixes this bug by mapping the random float that was sampled by, for example and LHD or Sobol sequence, to the float representation of an integer by calling _transform and _inverse_transform of the integer hyperparameter. * Add contact paragraph to README. * Increase days until stale issues are closed by stalebot (#904) * Edit changelog * Add issue number * Closes #907 * Clarify origin of configurations (#908) * Random forest speed up (#903) Co-authored-by: René Sass * Add: workflow to update pre-commit versions (#874) Co-authored-by: René Sass * Add Git-Flow Workflow Specification * [DOC] acquisition function maximizers * Add stale reminder email action * Increase version number of ConfigSpace * Add guideline for updating copyright notice years to CONTRIBUTING.md * Update requirement for pyrfr (#920) * Update pre-commit: isort,flake8 version numbers * Format black * Fix mypy * Ac bench (#929) * Add Branin AC Task * Add ac optimization type * Nicer plotting * Add ac mode * Update ac task * Make new smac env name adjustable * Increase python version for smac 1.4 * Update benchmark * Update plotting * Goodby comments * Fix path * Fix 1.4 wrapper * Update benchmark results --------- Co-authored-by: Carolin Benjamins * [DOC] added documentation on the incumbent update * Feature/add version to make publish (#931) * Add version, correct package name and use bash in makefile * Increase version * Increase version in makefile, add places with versions to make publish * Fix typo * Transform integer feature names to strings (#930) * Transform int features to str * Fix pre-commit * Update version to 2.0.0 * Update version to 2.0.0 * Update CHANGELOG.md * Add information on deepcave to the readme * Correct doc version --------- Co-authored-by: dengdifan <33290713+dengdifan@users.noreply.github.com> Co-authored-by: dengdifan Co-authored-by: Matthias Feurer Co-authored-by: Carolin Benjamins Co-authored-by: eddiebergman Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Tim Ruhkopf * feat: Option preventing SMAC setting up logging * fix: Run isort * Bump peter-evans/create-pull-request from 3 to 5 (#958) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3 to 5. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3...v5) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-python from 2 to 4 (#945) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: Option preventing SMAC setting up logging * fix: Run isort * fix: Add to changelog * feat: Option preventing SMAC setting up logging * fix: Run isort --------- Signed-off-by: dependabot[bot] Co-authored-by: René Sass Co-authored-by: dengdifan <33290713+dengdifan@users.noreply.github.com> Co-authored-by: dengdifan Co-authored-by: Matthias Feurer Co-authored-by: Carolin Benjamins Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Tim Ruhkopf * Citation update (#961) * update CITATION.cff * update order in CITATION.cff * fix citation date * fix citation * maint * Adjust hyperband configuration distribution across brackets * Compute the actual differences between the isb keys. (#957) * Compute the actual differences between the isb keys. * Added change to CHANGELOG.md * Adjust schedule for stale reminder * fix(logging): Prevent automatic logging setup at init (#970) * fix(logging): Prevent automatic logging setup at init * fix(logging): Rely on `setup_logging` to handle arg * Fix validate method of smbo, update docstring. * Allow callbacks to be added to a specific index, make callback registering public * Update CHANGELOG.md * Fix broken references (#988) * Adapt developer install instructions to include pre-commit installation (#994) * [Feature] Initial Design now supports executing the default config provided by the user by means of the configspace he generated. (and is no longer ignored) * Pipe dask_client through facade for exec on hpc (#983) * Pipe dask_client through facade for exec on hpc * Handle pynisher's memory arg Before: Could only pass int via SMAC with the default unit B, but now tuple/list is possible * Update CHANGELOG.md * Make format * No printi --------- Co-authored-by: Carolin Benjamins * [Bug-fix] Pr was failing due to mutable additional configs default * [doc-fix] the count of initial design configs is computed slightly differently * Feature/metadata callback (#999) * Add example for using a callback to log run metadata to a file * Add issue number in changelog * Changelog formatting * Simplify metadata example * Simplify metadata example * Put callback in smac directory to allow importing it in custom repos * Move callback files to callback directory * Edit changelog * Correct metadata callback argument types * Additional metadata arguments in example * Set metadata default values in callback * Edit comment to fix PR * Documentation/dask client example (#1001) * Update requirements (dask_jobqueue) * Fix broken link * Ignore parallel example * Add parallelization example * Remove imports, add comment abt dask client * Add E's information * Update docs * Add comment about n_workers --------- Co-authored-by: Carolin Benjamins * Documentation/dask client example (#1001) * Update requirements (dask_jobqueue) * Fix broken link * Ignore parallel example * Add parallelization example * Remove imports, add comment abt dask client * Add E's information * Update docs * Add comment about n_workers --------- Co-authored-by: Carolin Benjamins * Feature/dask client (#1002) * Add info message that scenario.n_workers is ignored When passing a dask client, directly set n_workers in client. * Change info to warning --------- Co-authored-by: Carolin Benjamins * Update smac version (#1003) * Update smac version * Add hint on github release in make publish * Update copyright year * check if config in rh when storing state (#997) * check if config in rh when storing state * maint * remove unnecessary changes * Adapt developer install instructions to include pre-commit installation (#994) * Pipe dask_client through facade for exec on hpc (#983) * Pipe dask_client through facade for exec on hpc * Handle pynisher's memory arg Before: Could only pass int via SMAC with the default unit B, but now tuple/list is possible * Update CHANGELOG.md * Make format * No printi --------- Co-authored-by: Carolin Benjamins * update changelog * Increase tolerance for runhistory restoration test --------- Co-authored-by: Sarah Segel <30651149+sarah-segel@users.noreply.github.com> Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: Helena Graf * Add a workaround to be able to pass a dataset via dask.scatter (#993) * [feat] Support dask.scatter * [fix] Add shared_data arg in abstract_facade * Address the comments by Eddie * [fix] Fix errors raised by Eddie * [format] Apply black locally * [fix] Get retries back to 16 as it was a mistake * [doc] Update CHANGELOG --------- Co-authored-by: helegraf Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> * Adding Binder links for example (#976) * binder * maint * fix dependencies * maint docs * Revert "maint docs" This reverts commit 4fa1a0fae8dfa0b646e43273d50f72ddd76bf191. * add requirement --------- Co-authored-by: Difan Deng * Remove commit message from dependabot PRs (#1009) --------- Signed-off-by: dependabot[bot] Co-authored-by: dengdifan Co-authored-by: René Sass Co-authored-by: Carolin Benjamins Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Matthias Feurer Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Eddie Bergman Co-authored-by: Tim Ruhkopf Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> Co-authored-by: Aron Bahram Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Shuhei Watanabe <47781922+nabenabe0928@users.noreply.github.com> Co-authored-by: Difan Deng * Fix broken link --------- Signed-off-by: dependabot[bot] Co-authored-by: dengdifan Co-authored-by: René Sass Co-authored-by: Carolin Benjamins Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Matthias Feurer Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Eddie Bergman Co-authored-by: Tim Ruhkopf Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> Co-authored-by: Aron Bahram Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Shuhei Watanabe <47781922+nabenabe0928@users.noreply.github.com> Co-authored-by: Difan Deng * Drop torch requirements (#1015) * Remove torch requirements * Fix format --------- Co-authored-by: Carolin Benjamins * Remove leftover CLI entry points (#1014) * Fix incumbent selection in case of SH+MO * Update CHANGELOG.md * Feature/GitHub actions pr draft (#1008) Update the workflows only to trigger extensive tests for PRs that are not in the draft stage --------- Co-authored-by: timruhkopf Co-authored-by: Helena Graf * Update stale report to include issues with recent interactions (#1025) * Add recently updated issues to list of reminders. * Add recently updated issues to list of reminders. * Add recently updated issues to list of reminders. * Raise error if resource limitation and parallelization is requested (#1023) * Add warnings for parallelism doc * Check for parallelization + pynisher Does not work together, throw error. Does not work bc Dask pickles jobs and pynisher runs the target function in a process. * Fix whitespaces --------- Co-authored-by: Carolin Benjamins * Raise an error for invalid scatter data (#1018) * [enhance] Add an error for scatter data * Update ChangeLog --------- Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> * fix(configspace): shows all keys in print (#1043) * Fix callback order (#1040) Co-authored-by: Carolin Benjamins * fix: dtypes (#1044) * Fix(config_selector): Budget checking (#1039) * Fix: target runner with partial func (#1045) * Feature/improve documentation (#1028) * Experimental instruction for installing SMAC in windows via WSL * More detailed documentation regarding continuing runs * Fixes * Fixes * Fixes * Update docs/10_experimental.rst Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> * Fixes from PR * Fixes from PR * Fixes from PR * Fixes from PR * Fixes from PR --------- Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> * Handle configspace as dictionary in mlp example (#1057) * Handle configspace as dictionary in mlp example * Adapt sgd loss to newest scikit-learn version * Add change to changelog * Handle configspace as dictionary in parego example * Correct get usage * Raise version number * Add missing period in docs. * allow rf to impute OrdinalHyperparameter (#1065) * allow rf to impute OrdinalHyperparameter * Add missing period in docs. * Add issue number in changelog. --------- Co-authored-by: Sarah Krebs * fix dask_scheduler_file path (#1055) * fix dask_scheduler_file path * update change log --------- Co-authored-by: dengdifan * Fix config rejection for #1068 (#1069) * racing: make sure config only deleted from rejected configs if among incumbents upon update * test case for incumbent rejection * update code comments * added missing newline ahead of new test case * update change log --------- Co-authored-by: dengdifan Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> * fix(RandomForest): Always cast `seed` to `int` (#1084) * fix(RandomForest): Always cast `seed` to `int` In cases where seeds were generated from some numpy objects, sometimes you'd get back an `np.integer`, which causes the program to crash when communicating with `pyrfr` through `swig`. It seems that swig doesn't know that it's an _int-like_ and so we explicitly cast it to `int`. * Update CHANGELOG.md --------- Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> * Bump actions/checkout from 3 to 4 (#1072) * Bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * Update CHANGELOG.md --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: benjamc * chore: log warn on condition when custom dask client is provided (#1071) * Bump conda-incubator/setup-miniconda from 2 to 3 (#1087) Bumps [conda-incubator/setup-miniconda](https://github.com/conda-incubator/setup-miniconda) from 2 to 3. - [Release notes](https://github.com/conda-incubator/setup-miniconda/releases) - [Changelog](https://github.com/conda-incubator/setup-miniconda/blob/main/CHANGELOG.md) - [Commits](https://github.com/conda-incubator/setup-miniconda/compare/v2...v3) --- updated-dependencies: - dependency-name: conda-incubator/setup-miniconda dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Propagate the Scenario random seed to get_random_design (#1066) * Propagate the Scenario's random seed to get_random_design * add changelog line --------- Co-authored-by: Sarah Segel <30651149+sarah-segel@users.noreply.github.com> * [#1056] Add example on intensify for cross-validation. (#1061) * Add example on intensify for cross-validation. * Improve example * Address Difan's comment * Update CHANGELOG.md * Change stale-reminder to recent-reminder (#1096) * Change stale-reminder to recent-reminder (#1095) (#1099) * Dont use mutable lists as default args (#1097) * Don't use mutable default argument. If this isn't respected, then additional_configs can be built up overtime when multiple optimizers are created in a single process. This can occur when the use_default_config option is set True and/or when additional_configs are provided. When different ConfigSpaces are provided this can result in an error due to mismatched defaults, for instance. In other cases it can result in non-deterministic behavior due to the random ordering of the configs that get added (e.g., with different parallel pytest runs). - [ ] Cleanup other sources of this error as well elsewhere in the code. - [ ] Add pylint checks for this issue. * fixup some others mutable defaults * add pylint checks * fix more related pylint issues * add changelog line * Update pre-commit config * Update pre-commit config * Remove TODO formulation as an issue already exists for this --------- Co-authored-by: Brian Kroth * Bump actions/setup-python from 4 to 5 (#1089) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump peter-evans/create-pull-request from 5 to 6 (#1093) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5 to 6. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v5...v6) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * test: Fix upper bounds for `test_transformer()` and no random in `test_transformer_conditional()` (#1102) * test: Don't rely on randomization for the test * test: Include import * test: Fix boundaries for catgoricals in test * test: Missing import * doc: Make todo not more clear about when to upgrade * Change stale-reminder to recent-reminder (#1095) (#1107) * Fix typo in docstring for `MultiFideltyFacade.get_initial_design` (#1104) * Fix typo in docstring for `MultiFideltyFacade.get_initial_design` The docstring specifies 0.1 is used as a default value for max_ratio, however in code 0.25 is used. * Bug/acquisition maximizer sampling (#1106) * Adapt how n_points works in the config_selector.py Also remove LocalAndSortedPriorRandomSearch by integrating it into LocalAndSortedRandomSearch * Change retrain_after to 1 for BlackBOx Facade * Fix bugs in local_and_random_search.py * Edit CHANGELOG.md * fix acq maximizer docstring * call get config selector from super class * Update random and local search to new functionality * Update CHANGELOG.md * Fix sampling of initial poin… * [MF] Determine number of trials for a total optimization budget (#1121) * Change stale-reminder to recent-reminder (#1095) * Version 2.1.0 (#1108) * Hacking in the sum cost for MO * Fix mypi * Bugfix * Make mypi happy * Fix tests * Make format * Remove num_obj in MO optimizer * A lot of restructuring * Solve importings * Solve importings * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Updated changelog * Still fixing :) * fix docstrings * Change directory of tests * Fix ambiguous variable * Del newlines * fix mypy * mypy and doc fix * Removed int type checking * fix tests * Always return List of incs * fix path issue in example * maint boing facade * Better docstring * Return values if no bounds passed * Removed import * Return only one incumbent * Rename n_optimizers -> n_workers * Update example * Update docstring * Remove legacy function * Update to new signature * Update changelog.md * Format black * Update test * Please pre-commit * Merge development * Fix tests * Fix typos * Format black * Updated text * Increased version * Improved readme * SMAC logo 50% * SMAC logo 50% * Removed dev-2.0 * Added doc workflow for latest tag * Fixing docs latest tag * Fixing docs latest tag * First steps new intensifier * Make it work again * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * Test issues * FIX formatting * Link to old documentation * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * FIX formatting * Fix unit tests * Add annotation * corrected log prob for tophat prior * Removed configurations from callback * Fixed tests * Fix mypy * Save docs as latest version too * Enabled all tests again * Make version an env * Added last version to docs * Global variable fix * Added v before version number * New Intensifier Implementation (#888) - Completely reimplemented the intensifiers (including Successive Halving and Hyperband): All intensifiers support multi-fidelity, multi-objective and multi-threading by nature now. - Expected behaviour for ask-and-tell interface ensured (also for Successive Halving). - Continuing a run is now fully supported. - Added more examples. - Updated documentation based on new implementation. * First benchmark steps * Added a warning * Set xi to 0.01 * Incorporated walltime in trajectory * Working version of benchmark * Changed requirements * Changed xi back to 0.0 again * No duplicate budgets * Fixed bug which updated tracker wrongly * Bugfix: Delete correct bracket+stage * Fixed tests * Added costs to the trajectory * Changed initial design max ratio to 0.25 * Make format * Added more details to intensifier * Finished benchmark * Added benchmark source files * Fixed tests because of initial design changes * Improved runhistory API * Fixed typo (#894) * Merge doc fixes * Doc fixes (#893) Co-authored-by: timruhkopf Co-authored-by: Carolin Benjamins Co-authored-by: dengdifan Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs * Make format * Satisfied mypy * Enabled more tests * Increased version * Mypy * Mypy * Mypy * Fixed critical bug when using highest budget for inc selection * Added SH+HB comparison * Stuff * Updated report * Fixed docstring * Fixed image path * Removed vscode folder * Bugfixes * Doc fixes * Updated changelog * Make isort * Fix typos * Removed new line * Added alpha2 to docs selection * update description * Fix 531 correctly create integers in initial design This PR fixes a bug in which integer hyperparameters would not be created correctly in the initial design. This went unnoticed, except in the case where it was part of a condition and the function deactivate_inactive_hyperparameters was called. This PR fixes this bug by mapping the random float that was sampled by, for example and LHD or Sobol sequence, to the float representation of an integer by calling _transform and _inverse_transform of the integer hyperparameter. * Add contact paragraph to README. * Increase days until stale issues are closed by stalebot (#904) * Edit changelog * Add issue number * Closes #907 * Clarify origin of configurations (#908) * Random forest speed up (#903) Co-authored-by: René Sass * Add: workflow to update pre-commit versions (#874) Co-authored-by: René Sass * Add Git-Flow Workflow Specification * [DOC] acquisition function maximizers * Add stale reminder email action * Increase version number of ConfigSpace * Add guideline for updating copyright notice years to CONTRIBUTING.md * Update requirement for pyrfr (#920) * Update pre-commit: isort,flake8 version numbers * Format black * Fix mypy * Ac bench (#929) * Add Branin AC Task * Add ac optimization type * Nicer plotting * Add ac mode * Update ac task * Make new smac env name adjustable * Increase python version for smac 1.4 * Update benchmark * Update plotting * Goodby comments * Fix path * Fix 1.4 wrapper * Update benchmark results --------- Co-authored-by: Carolin Benjamins * [DOC] added documentation on the incumbent update * Feature/add version to make publish (#931) * Add version, correct package name and use bash in makefile * Increase version * Increase version in makefile, add places with versions to make publish * Fix typo * Transform integer feature names to strings (#930) * Transform int features to str * Fix pre-commit * Update version to 2.0.0 * Update version to 2.0.0 * Update CHANGELOG.md * Add information on deepcave to the readme * Correct doc version * fix(runhistory): set id of the sampled config (#951) * fix: Set config_id of config in runhistory * ci: Set dependabot to target development branch (#963) * feat: Option preventing SMAC setting up logging (#947) * Version 2.0.0 (#898) * Update runhistory2epm.py * pre_commit * Updated changelog * Fixed comment * Updated changelog * Some small improvements * Removed trailing space * Updated changelog * Restricted pynisher * Updated changelog * Link JMLR paper * Update bibtex entry Before: arxiv paper, now journal article. * Fixed citation in docs * Fixed callback typos * BOinG for mixed hyperparameter search space * fix format * maint * maint documentation * maint pre-commit * fix workflow * maint * Add dependabot for workflow files * Bump actions/setup-python from 2 to 4 (#849) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/checkout from 2 to 3 (#850) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * maint * Updated stale bot * Updated stale options again * Fixed typing * Increased version * rename check_point_in_ss to check_subspace_point * Make format * Uncomment test procedure * docstrings for boing facade * avoid typing namespace everywhere in epm_configuration_chooser * fix docstring in rh2epm_boing * Limit on dask * Trying to fix tests * Replaced typing in all files * docstring for boing subspace * Changed feature requests to feature * allow acq_optimizer_local_kwargs to be passed to boing subspace without acq_optimizer_local * fix pre-commit * Added any * Update facade * Fix typing * Match arguments from pSMAC with SMAC4AC signature * Add description of pSMAC to docstring * Add option to pass facade class to pSMAC * Add example for pSMAC * Removed docstring in readme's example * Corrected text * move construct_gp_kernels to smac.epm_gpytorch.boing_kernels * maint * fix wrongly imported func name in tests * Add reference for pSMAC #609 * Rename example file * Added roadmap to readme * Prettification * Add result merger * Reformat with black * Delete unnecessary import * Fix typing * Inject first trajectory entry from file from first rundir * Add test for ResultMerger * Fix docstring * Get runhistory and trajectory from pSMAC run Via the result merger. Searchers rundirs and merges found runhistories and calculates a new trajectory. * Get trajectory * Add regex to requirements * Fixed MO cache problem * Fix MO tests * Fixing MO in AbstractRacer * Accepting ints * Hacking in the sum cost for MO * Fix mypi * Bugfix * Make mypi happy * Fix tests * Make format * Remove num_obj in MO optimizer * A lot of restructuring * Solve importings * Solve importings * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Updated changelog * Still fixing :) * fix docstrings * Change directory of tests * Fix ambiguous variable * Del newlines * fix mypy * mypy and doc fix * Removed int type checking * fix tests * Always return List of incs * fix path issue in example * maint boing facade * Better docstring * Return values if no bounds passed * Removed import * Return only one incumbent * Rename n_optimizers -> n_workers * Update example * Update docstring * Remove legacy function * Update to new signature * Update changelog.md * Format black * Update test * Please pre-commit * Merge development * Fix tests * Fix typos * Format black * Updated text * Increased version * Improved readme * SMAC logo 50% * SMAC logo 50% * Removed dev-2.0 * Added doc workflow for latest tag * Fixing docs latest tag * Fixing docs latest tag * First steps new intensifier * Make it work again * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * Test issues * FIX formatting * Link to old documentation * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * FIX formatting * Fix unit tests * Add annotation * corrected log prob for tophat prior * Removed configurations from callback * Fixed tests * Fix mypy * Save docs as latest version too * Enabled all tests again * Make version an env * Added last version to docs * Global variable fix * Added v before version number * New Intensifier Implementation (#888) - Completely reimplemented the intensifiers (including Successive Halving and Hyperband): All intensifiers support multi-fidelity, multi-objective and multi-threading by nature now. - Expected behaviour for ask-and-tell interface ensured (also for Successive Halving). - Continuing a run is now fully supported. - Added more examples. - Updated documentation based on new implementation. * First benchmark steps * Added a warning * Set xi to 0.01 * Incorporated walltime in trajectory * Working version of benchmark * Changed requirements * Changed xi back to 0.0 again * No duplicate budgets * Fixed bug which updated tracker wrongly * Bugfix: Delete correct bracket+stage * Fixed tests * Added costs to the trajectory * Changed initial design max ratio to 0.25 * Make format * Added more details to intensifier * Finished benchmark * Added benchmark source files * Fixed tests because of initial design changes * Improved runhistory API * Fixed typo (#894) * Merge doc fixes * Doc fixes (#893) Co-authored-by: timruhkopf Co-authored-by: Carolin Benjamins Co-authored-by: dengdifan Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs * Make format * Satisfied mypy * Enabled more tests * Increased version * Mypy * Mypy * Mypy * Fixed critical bug when using highest budget for inc selection * Added SH+HB comparison * Stuff * Updated report * Fixed docstring * Fixed image path * Removed vscode folder * Bugfixes * Doc fixes * Updated changelog * Make isort * Fix typos * Removed new line * Added alpha2 to docs selection * update description * Fix 531 correctly create integers in initial design This PR fixes a bug in which integer hyperparameters would not be created correctly in the initial design. This went unnoticed, except in the case where it was part of a condition and the function deactivate_inactive_hyperparameters was called. This PR fixes this bug by mapping the random float that was sampled by, for example and LHD or Sobol sequence, to the float representation of an integer by calling _transform and _inverse_transform of the integer hyperparameter. * Add contact paragraph to README. * Increase days until stale issues are closed by stalebot (#904) * Edit changelog * Add issue number * Closes #907 * Clarify origin of configurations (#908) * Random forest speed up (#903) Co-authored-by: René Sass * Add: workflow to update pre-commit versions (#874) Co-authored-by: René Sass * Add Git-Flow Workflow Specification * [DOC] acquisition function maximizers * Add stale reminder email action * Increase version number of ConfigSpace * Add guideline for updating copyright notice years to CONTRIBUTING.md * Update requirement for pyrfr (#920) * Update pre-commit: isort,flake8 version numbers * Format black * Fix mypy * Ac bench (#929) * Add Branin AC Task * Add ac optimization type * Nicer plotting * Add ac mode * Update ac task * Make new smac env name adjustable * Increase python version for smac 1.4 * Update benchmark * Update plotting * Goodby comments * Fix path * Fix 1.4 wrapper * Update benchmark results --------- Co-authored-by: Carolin Benjamins * [DOC] added documentation on the incumbent update * Feature/add version to make publish (#931) * Add version, correct package name and use bash in makefile * Increase version * Increase version in makefile, add places with versions to make publish * Fix typo * Transform integer feature names to strings (#930) * Transform int features to str * Fix pre-commit * Update version to 2.0.0 * Update version to 2.0.0 * Update CHANGELOG.md * Add information on deepcave to the readme * Correct doc version --------- Co-authored-by: dengdifan <33290713+dengdifan@users.noreply.github.com> Co-authored-by: dengdifan Co-authored-by: Matthias Feurer Co-authored-by: Carolin Benjamins Co-authored-by: eddiebergman Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Tim Ruhkopf * feat: Option preventing SMAC setting up logging * fix: Run isort * Bump peter-evans/create-pull-request from 3 to 5 (#958) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3 to 5. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3...v5) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-python from 2 to 4 (#945) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: Option preventing SMAC setting up logging * fix: Run isort * fix: Add to changelog * feat: Option preventing SMAC setting up logging * fix: Run isort --------- Signed-off-by: dependabot[bot] Co-authored-by: René Sass Co-authored-by: dengdifan <33290713+dengdifan@users.noreply.github.com> Co-authored-by: dengdifan Co-authored-by: Matthias Feurer Co-authored-by: Carolin Benjamins Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Tim Ruhkopf * Citation update (#961) * update CITATION.cff * update order in CITATION.cff * fix citation date * fix citation * maint * Adjust hyperband configuration distribution across brackets * Compute the actual differences between the isb keys. (#957) * Compute the actual differences between the isb keys. * Added change to CHANGELOG.md * Adjust schedule for stale reminder * fix(logging): Prevent automatic logging setup at init (#970) * fix(logging): Prevent automatic logging setup at init * fix(logging): Rely on `setup_logging` to handle arg * Fix validate method of smbo, update docstring. * Allow callbacks to be added to a specific index, make callback registering public * Update CHANGELOG.md * Fix broken references (#988) * Adapt developer install instructions to include pre-commit installation (#994) * [Feature] Initial Design now supports executing the default config provided by the user by means of the configspace he generated. (and is no longer ignored) * Pipe dask_client through facade for exec on hpc (#983) * Pipe dask_client through facade for exec on hpc * Handle pynisher's memory arg Before: Could only pass int via SMAC with the default unit B, but now tuple/list is possible * Update CHANGELOG.md * Make format * No printi --------- Co-authored-by: Carolin Benjamins * [Bug-fix] Pr was failing due to mutable additional configs default * [doc-fix] the count of initial design configs is computed slightly differently * Feature/metadata callback (#999) * Add example for using a callback to log run metadata to a file * Add issue number in changelog * Changelog formatting * Simplify metadata example * Simplify metadata example * Put callback in smac directory to allow importing it in custom repos * Move callback files to callback directory * Edit changelog * Correct metadata callback argument types * Additional metadata arguments in example * Set metadata default values in callback * Edit comment to fix PR * Documentation/dask client example (#1001) * Update requirements (dask_jobqueue) * Fix broken link * Ignore parallel example * Add parallelization example * Remove imports, add comment abt dask client * Add E's information * Update docs * Add comment about n_workers --------- Co-authored-by: Carolin Benjamins * Documentation/dask client example (#1001) * Update requirements (dask_jobqueue) * Fix broken link * Ignore parallel example * Add parallelization example * Remove imports, add comment abt dask client * Add E's information * Update docs * Add comment about n_workers --------- Co-authored-by: Carolin Benjamins * Feature/dask client (#1002) * Add info message that scenario.n_workers is ignored When passing a dask client, directly set n_workers in client. * Change info to warning --------- Co-authored-by: Carolin Benjamins * Update smac version (#1003) * Update smac version * Add hint on github release in make publish * Update copyright year * check if config in rh when storing state (#997) * check if config in rh when storing state * maint * remove unnecessary changes * Adapt developer install instructions to include pre-commit installation (#994) * Pipe dask_client through facade for exec on hpc (#983) * Pipe dask_client through facade for exec on hpc * Handle pynisher's memory arg Before: Could only pass int via SMAC with the default unit B, but now tuple/list is possible * Update CHANGELOG.md * Make format * No printi --------- Co-authored-by: Carolin Benjamins * update changelog * Increase tolerance for runhistory restoration test --------- Co-authored-by: Sarah Segel <30651149+sarah-segel@users.noreply.github.com> Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: Helena Graf * Add a workaround to be able to pass a dataset via dask.scatter (#993) * [feat] Support dask.scatter * [fix] Add shared_data arg in abstract_facade * Address the comments by Eddie * [fix] Fix errors raised by Eddie * [format] Apply black locally * [fix] Get retries back to 16 as it was a mistake * [doc] Update CHANGELOG --------- Co-authored-by: helegraf Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> * Adding Binder links for example (#976) * binder * maint * fix dependencies * maint docs * Revert "maint docs" This reverts commit 4fa1a0fae8dfa0b646e43273d50f72ddd76bf191. * add requirement --------- Co-authored-by: Difan Deng * Remove commit message from dependabot PRs (#1009) * Bugfix/fix broken link (#1012) * Remove commit message from dependabot PRs (#1010) * rename check_point_in_ss to check_subspace_point * Make format * Uncomment test procedure * docstrings for boing facade * avoid typing namespace everywhere in epm_configuration_chooser * fix docstring in rh2epm_boing * Limit on dask * Trying to fix tests * Replaced typing in all files * docstring for boing subspace * Changed feature requests to feature * allow acq_optimizer_local_kwargs to be passed to boing subspace without acq_optimizer_local * fix pre-commit * Added any * Update facade * Fix typing * Match arguments from pSMAC with SMAC4AC signature * Add description of pSMAC to docstring * Add option to pass facade class to pSMAC * Add example for pSMAC * Removed docstring in readme's example * Corrected text * move construct_gp_kernels to smac.epm_gpytorch.boing_kernels * maint * fix wrongly imported func name in tests * Add reference for pSMAC #609 * Rename example file * Added roadmap to readme * Prettification * Add result merger * Reformat with black * Delete unnecessary import * Fix typing * Inject first trajectory entry from file from first rundir * Add test for ResultMerger * Fix docstring * Get runhistory and trajectory from pSMAC run Via the result merger. Searchers rundirs and merges found runhistories and calculates a new trajectory. * Get trajectory * Add regex to requirements * Fixed MO cache problem * Fix MO tests * Fixing MO in AbstractRacer * Accepting ints * Hacking in the sum cost for MO * Fix mypi * Bugfix * Make mypi happy * Fix tests * Make format * Remove num_obj in MO optimizer * A lot of restructuring * Solve importings * Solve importings * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Updated changelog * Still fixing :) * fix docstrings * Change directory of tests * Fix ambiguous variable * Del newlines * fix mypy * mypy and doc fix * Removed int type checking * fix tests * Always return List of incs * fix path issue in example * maint boing facade * Better docstring * Return values if no bounds passed * Removed import * Return only one incumbent * Rename n_optimizers -> n_workers * Update example * Update docstring * Remove legacy function * Update to new signature * Update changelog.md * Format black * Update test * Please pre-commit * Merge development * Fix tests * Fix typos * Format black * Updated text * Increased version * Improved readme * SMAC logo 50% * SMAC logo 50% * Removed dev-2.0 * Added doc workflow for latest tag * Fixing docs latest tag * Fixing docs latest tag * First steps new intensifier * Make it work again * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * Test issues * FIX formatting * Link to old documentation * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * FIX formatting * Fix unit tests * Add annotation * corrected log prob for tophat prior * Removed configurations from callback * Fixed tests * Fix mypy * Save docs as latest version too * Enabled all tests again * Make version an env * Added last version to docs * Global variable fix * Added v before version number * New Intensifier Implementation (#888) - Completely reimplemented the intensifiers (including Successive Halving and Hyperband): All intensifiers support multi-fidelity, multi-objective and multi-threading by nature now. - Expected behaviour for ask-and-tell interface ensured (also for Successive Halving). - Continuing a run is now fully supported. - Added more examples. - Updated documentation based on new implementation. * First benchmark steps * Added a warning * Set xi to 0.01 * Incorporated walltime in trajectory * Working version of benchmark * Changed requirements * Changed xi back to 0.0 again * No duplicate budgets * Fixed bug which updated tracker wrongly * Bugfix: Delete correct bracket+stage * Fixed tests * Added costs to the trajectory * Changed initial design max ratio to 0.25 * Make format * Added more details to intensifier * Finished benchmark * Added benchmark source files * Fixed tests because of initial design changes * Improved runhistory API * Fixed typo (#894) * Merge doc fixes * Doc fixes (#893) Co-authored-by: timruhkopf Co-authored-by: Carolin Benjamins Co-authored-by: dengdifan Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs * Make format * Satisfied mypy * Enabled more tests * Increased version * Mypy * Mypy * Mypy * Fixed critical bug when using highest budget for inc selection * Added SH+HB comparison * Stuff * Updated report * Fixed docstring * Fixed image path * Removed vscode folder * Bugfixes * Doc fixes * Updated changelog * Make isort * Fix typos * Removed new line * Added alpha2 to docs selection * update description * Fix 531 correctly create integers in initial design This PR fixes a bug in which integer hyperparameters would not be created correctly in the initial design. This went unnoticed, except in the case where it was part of a condition and the function deactivate_inactive_hyperparameters was called. This PR fixes this bug by mapping the random float that was sampled by, for example and LHD or Sobol sequence, to the float representation of an integer by calling _transform and _inverse_transform of the integer hyperparameter. * Add contact paragraph to README. * Increase days until stale issues are closed by stalebot (#904) * Edit changelog * Add issue number * Closes #907 * Clarify origin of configurations (#908) * Random forest speed up (#903) Co-authored-by: René Sass * Add: workflow to update pre-commit versions (#874) Co-authored-by: René Sass * Add Git-Flow Workflow Specification * [DOC] acquisition function maximizers * Add stale reminder email action * Increase version number of ConfigSpace * Add guideline for updating copyright notice years to CONTRIBUTING.md * Update requirement for pyrfr (#920) * Update pre-commit: isort,flake8 version numbers * Format black * Fix mypy * Ac bench (#929) * Add Branin AC Task * Add ac optimization type * Nicer plotting * Add ac mode * Update ac task * Make new smac env name adjustable * Increase python version for smac 1.4 * Update benchmark * Update plotting * Goodby comments * Fix path * Fix 1.4 wrapper * Update benchmark results --------- Co-authored-by: Carolin Benjamins * [DOC] added documentation on the incumbent update * Feature/add version to make publish (#931) * Add version, correct package name and use bash in makefile * Increase version * Increase version in makefile, add places with versions to make publish * Fix typo * Transform integer feature names to strings (#930) * Transform int features to str * Fix pre-commit * Update version to 2.0.0 * Update version to 2.0.0 * Update CHANGELOG.md * Add information on deepcave to the readme * Correct doc version * fix(runhistory): set id of the sampled config (#951) * fix: Set config_id of config in runhistory * ci: Set dependabot to target development branch (#963) * feat: Option preventing SMAC setting up logging (#947) * Version 2.0.0 (#898) * Update runhistory2epm.py * pre_commit * Updated changelog * Fixed comment * Updated changelog * Some small improvements * Removed trailing space * Updated changelog * Restricted pynisher * Updated changelog * Link JMLR paper * Update bibtex entry Before: arxiv paper, now journal article. * Fixed citation in docs * Fixed callback typos * BOinG for mixed hyperparameter search space * fix format * maint * maint documentation * maint pre-commit * fix workflow * maint * Add dependabot for workflow files * Bump actions/setup-python from 2 to 4 (#849) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/checkout from 2 to 3 (#850) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * maint * Updated stale bot * Updated stale options again * Fixed typing * Increased version * rename check_point_in_ss to check_subspace_point * Make format * Uncomment test procedure * docstrings for boing facade * avoid typing namespace everywhere in epm_configuration_chooser * fix docstring in rh2epm_boing * Limit on dask * Trying to fix tests * Replaced typing in all files * docstring for boing subspace * Changed feature requests to feature * allow acq_optimizer_local_kwargs to be passed to boing subspace without acq_optimizer_local * fix pre-commit * Added any * Update facade * Fix typing * Match arguments from pSMAC with SMAC4AC signature * Add description of pSMAC to docstring * Add option to pass facade class to pSMAC * Add example for pSMAC * Removed docstring in readme's example * Corrected text * move construct_gp_kernels to smac.epm_gpytorch.boing_kernels * maint * fix wrongly imported func name in tests * Add reference for pSMAC #609 * Rename example file * Added roadmap to readme * Prettification * Add result merger * Reformat with black * Delete unnecessary import * Fix typing * Inject first trajectory entry from file from first rundir * Add test for ResultMerger * Fix docstring * Get runhistory and trajectory from pSMAC run Via the result merger. Searchers rundirs and merges found runhistories and calculates a new trajectory. * Get trajectory * Add regex to requirements * Fixed MO cache problem * Fix MO tests * Fixing MO in AbstractRacer * Accepting ints * Hacking in the sum cost for MO * Fix mypi * Bugfix * Make mypi happy * Fix tests * Make format * Remove num_obj in MO optimizer * A lot of restructuring * Solve importings * Solve importings * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Fixing, fixing, fixing, ... * Updated changelog * Still fixing :) * fix docstrings * Change directory of tests * Fix ambiguous variable * Del newlines * fix mypy * mypy and doc fix * Removed int type checking * fix tests * Always return List of incs * fix path issue in example * maint boing facade * Better docstring * Return values if no bounds passed * Removed import * Return only one incumbent * Rename n_optimizers -> n_workers * Update example * Update docstring * Remove legacy function * Update to new signature * Update changelog.md * Format black * Update test * Please pre-commit * Merge development * Fix tests * Fix typos * Format black * Updated text * Increased version * Improved readme * SMAC logo 50% * SMAC logo 50% * Removed dev-2.0 * Added doc workflow for latest tag * Fixing docs latest tag * Fixing docs latest tag * First steps new intensifier * Make it work again * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * Test issues * FIX formatting * Link to old documentation * MOVE random weight initialization to smbo ask method * ADD enable parego in unittests * FIX formatting * Fix unit tests * Add annotation * corrected log prob for tophat prior * Removed configurations from callback * Fixed tests * Fix mypy * Save docs as latest version too * Enabled all tests again * Make version an env * Added last version to docs * Global variable fix * Added v before version number * New Intensifier Implementation (#888) - Completely reimplemented the intensifiers (including Successive Halving and Hyperband): All intensifiers support multi-fidelity, multi-objective and multi-threading by nature now. - Expected behaviour for ask-and-tell interface ensured (also for Successive Halving). - Continuing a run is now fully supported. - Added more examples. - Updated documentation based on new implementation. * First benchmark steps * Added a warning * Set xi to 0.01 * Incorporated walltime in trajectory * Working version of benchmark * Changed requirements * Changed xi back to 0.0 again * No duplicate budgets * Fixed bug which updated tracker wrongly * Bugfix: Delete correct bracket+stage * Fixed tests * Added costs to the trajectory * Changed initial design max ratio to 0.25 * Make format * Added more details to intensifier * Finished benchmark * Added benchmark source files * Fixed tests because of initial design changes * Improved runhistory API * Fixed typo (#894) * Merge doc fixes * Doc fixes (#893) Co-authored-by: timruhkopf Co-authored-by: Carolin Benjamins Co-authored-by: dengdifan Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs * Make format * Satisfied mypy * Enabled more tests * Increased version * Mypy * Mypy * Mypy * Fixed critical bug when using highest budget for inc selection * Added SH+HB comparison * Stuff * Updated report * Fixed docstring * Fixed image path * Removed vscode folder * Bugfixes * Doc fixes * Updated changelog * Make isort * Fix typos * Removed new line * Added alpha2 to docs selection * update description * Fix 531 correctly create integers in initial design This PR fixes a bug in which integer hyperparameters would not be created correctly in the initial design. This went unnoticed, except in the case where it was part of a condition and the function deactivate_inactive_hyperparameters was called. This PR fixes this bug by mapping the random float that was sampled by, for example and LHD or Sobol sequence, to the float representation of an integer by calling _transform and _inverse_transform of the integer hyperparameter. * Add contact paragraph to README. * Increase days until stale issues are closed by stalebot (#904) * Edit changelog * Add issue number * Closes #907 * Clarify origin of configurations (#908) * Random forest speed up (#903) Co-authored-by: René Sass * Add: workflow to update pre-commit versions (#874) Co-authored-by: René Sass * Add Git-Flow Workflow Specification * [DOC] acquisition function maximizers * Add stale reminder email action * Increase version number of ConfigSpace * Add guideline for updating copyright notice years to CONTRIBUTING.md * Update requirement for pyrfr (#920) * Update pre-commit: isort,flake8 version numbers * Format black * Fix mypy * Ac bench (#929) * Add Branin AC Task * Add ac optimization type * Nicer plotting * Add ac mode * Update ac task * Make new smac env name adjustable * Increase python version for smac 1.4 * Update benchmark * Update plotting * Goodby comments * Fix path * Fix 1.4 wrapper * Update benchmark results --------- Co-authored-by: Carolin Benjamins * [DOC] added documentation on the incumbent update * Feature/add version to make publish (#931) * Add version, correct package name and use bash in makefile * Increase version * Increase version in makefile, add places with versions to make publish * Fix typo * Transform integer feature names to strings (#930) * Transform int features to str * Fix pre-commit * Update version to 2.0.0 * Update version to 2.0.0 * Update CHANGELOG.md * Add information on deepcave to the readme * Correct doc version --------- Co-authored-by: dengdifan <33290713+dengdifan@users.noreply.github.com> Co-authored-by: dengdifan Co-authored-by: Matthias Feurer Co-authored-by: Carolin Benjamins Co-authored-by: eddiebergman Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Tim Ruhkopf * feat: Option preventing SMAC setting up logging * fix: Run isort * Bump peter-evans/create-pull-request from 3 to 5 (#958) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3 to 5. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v3...v5) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump actions/setup-python from 2 to 4 (#945) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: Option preventing SMAC setting up logging * fix: Run isort * fix: Add to changelog * feat: Option preventing SMAC setting up logging * fix: Run isort --------- Signed-off-by: dependabot[bot] Co-authored-by: René Sass Co-authored-by: dengdifan <33290713+dengdifan@users.noreply.github.com> Co-authored-by: dengdifan Co-authored-by: Matthias Feurer Co-authored-by: Carolin Benjamins Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Tim Ruhkopf * Citation update (#961) * update CITATION.cff * update order in CITATION.cff * fix citation date * fix citation * maint * Adjust hyperband configuration distribution across brackets * Compute the actual differences between the isb keys. (#957) * Compute the actual differences between the isb keys. * Added change to CHANGELOG.md * Adjust schedule for stale reminder * fix(logging): Prevent automatic logging setup at init (#970) * fix(logging): Prevent automatic logging setup at init * fix(logging): Rely on `setup_logging` to handle arg * Fix validate method of smbo, update docstring. * Allow callbacks to be added to a specific index, make callback registering public * Update CHANGELOG.md * Fix broken references (#988) * Adapt developer install instructions to include pre-commit installation (#994) * [Feature] Initial Design now supports executing the default config provided by the user by means of the configspace he generated. (and is no longer ignored) * Pipe dask_client through facade for exec on hpc (#983) * Pipe dask_client through facade for exec on hpc * Handle pynisher's memory arg Before: Could only pass int via SMAC with the default unit B, but now tuple/list is possible * Update CHANGELOG.md * Make format * No printi --------- Co-authored-by: Carolin Benjamins * [Bug-fix] Pr was failing due to mutable additional configs default * [doc-fix] the count of initial design configs is computed slightly differently * Feature/metadata callback (#999) * Add example for using a callback to log run metadata to a file * Add issue number in changelog * Changelog formatting * Simplify metadata example * Simplify metadata example * Put callback in smac directory to allow importing it in custom repos * Move callback files to callback directory * Edit changelog * Correct metadata callback argument types * Additional metadata arguments in example * Set metadata default values in callback * Edit comment to fix PR * Documentation/dask client example (#1001) * Update requirements (dask_jobqueue) * Fix broken link * Ignore parallel example * Add parallelization example * Remove imports, add comment abt dask client * Add E's information * Update docs * Add comment about n_workers --------- Co-authored-by: Carolin Benjamins * Documentation/dask client example (#1001) * Update requirements (dask_jobqueue) * Fix broken link * Ignore parallel example * Add parallelization example * Remove imports, add comment abt dask client * Add E's information * Update docs * Add comment about n_workers --------- Co-authored-by: Carolin Benjamins * Feature/dask client (#1002) * Add info message that scenario.n_workers is ignored When passing a dask client, directly set n_workers in client. * Change info to warning --------- Co-authored-by: Carolin Benjamins * Update smac version (#1003) * Update smac version * Add hint on github release in make publish * Update copyright year * check if config in rh when storing state (#997) * check if config in rh when storing state * maint * remove unnecessary changes * Adapt developer install instructions to include pre-commit installation (#994) * Pipe dask_client through facade for exec on hpc (#983) * Pipe dask_client through facade for exec on hpc * Handle pynisher's memory arg Before: Could only pass int via SMAC with the default unit B, but now tuple/list is possible * Update CHANGELOG.md * Make format * No printi --------- Co-authored-by: Carolin Benjamins * update changelog * Increase tolerance for runhistory restoration test --------- Co-authored-by: Sarah Segel <30651149+sarah-segel@users.noreply.github.com> Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Carolin Benjamins Co-authored-by: Helena Graf * Add a workaround to be able to pass a dataset via dask.scatter (#993) * [feat] Support dask.scatter * [fix] Add shared_data arg in abstract_facade * Address the comments by Eddie * [fix] Fix errors raised by Eddie * [format] Apply black locally * [fix] Get retries back to 16 as it was a mistake * [doc] Update CHANGELOG --------- Co-authored-by: helegraf Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> * Adding Binder links for example (#976) * binder * maint * fix dependencies * maint docs * Revert "maint docs" This reverts commit 4fa1a0fae8dfa0b646e43273d50f72ddd76bf191. * add requirement --------- Co-authored-by: Difan Deng * Remove commit message from dependabot PRs (#1009) --------- Signed-off-by: dependabot[bot] Co-authored-by: dengdifan Co-authored-by: René Sass Co-authored-by: Carolin Benjamins Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Matthias Feurer Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Eddie Bergman Co-authored-by: Tim Ruhkopf Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> Co-authored-by: Aron Bahram Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Shuhei Watanabe <47781922+nabenabe0928@users.noreply.github.com> Co-authored-by: Difan Deng * Fix broken link --------- Signed-off-by: dependabot[bot] Co-authored-by: dengdifan Co-authored-by: René Sass Co-authored-by: Carolin Benjamins Co-authored-by: Carolin Benjamins Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> Co-authored-by: Katharina Eggensperger Co-authored-by: Matthias Feurer Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Eddie Bergman Co-authored-by: Tim Ruhkopf Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> Co-authored-by: Aron Bahram Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Shuhei Watanabe <47781922+nabenabe0928@users.noreply.github.com> Co-authored-by: Difan Deng * Drop torch requirements (#1015) * Remove torch requirements * Fix format --------- Co-authored-by: Carolin Benjamins * Remove leftover CLI entry points (#1014) * Fix incumbent selection in case of SH+MO * Update CHANGELOG.md * Feature/GitHub actions pr draft (#1008) Update the workflows only to trigger extensive tests for PRs that are not in the draft stage --------- Co-authored-by: timruhkopf Co-authored-by: Helena Graf * Update stale report to include issues with recent interactions (#1025) * Add recently updated issues to list of reminders. * Add recently updated issues to list of reminders. * Add recently updated issues to list of reminders. * Raise error if resource limitation and parallelization is requested (#1023) * Add warnings for parallelism doc * Check for parallelization + pynisher Does not work together, throw error. Does not work bc Dask pickles jobs and pynisher runs the target function in a process. * Fix whitespaces --------- Co-authored-by: Carolin Benjamins * Raise an error for invalid scatter data (#1018) * [enhance] Add an error for scatter data * Update ChangeLog --------- Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> * fix(configspace): shows all keys in print (#1043) * Fix callback order (#1040) Co-authored-by: Carolin Benjamins * fix: dtypes (#1044) * Fix(config_selector): Budget checking (#1039) * Fix: target runner with partial func (#1045) * Feature/improve documentation (#1028) * Experimental instruction for installing SMAC in windows via WSL * More detailed documentation regarding continuing runs * Fixes * Fixes * Fixes * Update docs/10_experimental.rst Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> * Fixes from PR * Fixes from PR * Fixes from PR * Fixes from PR * Fixes from PR --------- Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> * Handle configspace as dictionary in mlp example (#1057) * Handle configspace as dictionary in mlp example * Adapt sgd loss to newest scikit-learn version * Add change to changelog * Handle configspace as dictionary in parego example * Correct get usage * Raise version number * Add missing period in docs. * allow rf to impute OrdinalHyperparameter (#1065) * allow rf to impute OrdinalHyperparameter * Add missing period in docs. * Add issue number in changelog. --------- Co-authored-by: Sarah Krebs * fix dask_scheduler_file path (#1055) * fix dask_scheduler_file path * update change log --------- Co-authored-by: dengdifan * Fix config rejection for #1068 (#1069) * racing: make sure config only deleted from rejected configs if among incumbents upon update * test case for incumbent rejection * update code comments * added missing newline ahead of new test case * update change log --------- Co-authored-by: dengdifan Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> * fix(RandomForest): Always cast `seed` to `int` (#1084) * fix(RandomForest): Always cast `seed` to `int` In cases where seeds were generated from some numpy objects, sometimes you'd get back an `np.integer`, which causes the program to crash when communicating with `pyrfr` through `swig`. It seems that swig doesn't know that it's an _int-like_ and so we explicitly cast it to `int`. * Update CHANGELOG.md --------- Co-authored-by: C. Benjamins <75323339+benjamc@users.noreply.github.com> * Bump actions/checkout from 3 to 4 (#1072) * Bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * Update CHANGELOG.md --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: benjamc * chore: log warn on condition when custom dask client is provided (#1071) * Bump conda-incubator/setup-miniconda from 2 to 3 (#1087) Bumps [conda-incubator/setup-miniconda](https://github.com/conda-incubator/setup-miniconda) from 2 to 3. - [Release notes](https://github.com/conda-incubator/setup-miniconda/releases) - [Changelog](https://github.com/conda-incubator/setup-miniconda/blob/main/CHANGELOG.md) - [Commits](https://github.com/conda-incubator/setup-miniconda/compare/v2...v3) --- updated-dependencies: - dependency-name: conda-incubator/setup-miniconda dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Propagate the Scenario random seed to get_random_design (#1066) * Propagate the Scenario's random seed to get_random_design * add changelog line --------- Co-authored-by: Sarah Segel <30651149+sarah-segel@users.noreply.github.com> * [#1056] Add example on intensify for cross-validation. (#1061) * Add example on intensify for cross-validation. * Improve example * Address Difan's comment * Update CHANGELOG.md * Change stale-reminder to recent-reminder (#1096) * Change stale-reminder to recent-reminder (#1095) (#1099) * Dont use mutable lists as default args (#1097) * Don't use mutable default argument. If this isn't respected, then additional_configs can be built up overtime when multiple optimizers are created in a single process. This can occur when the use_default_config option is set True and/or when additional_configs are provided. When different ConfigSpaces are provided this can result in an error due to mismatched defaults, for instance. In other cases it can result in non-deterministic behavior due to the random ordering of the configs that get added (e.g., with different parallel pytest runs). - [ ] Cleanup other sources of this error as well elsewhere in the code. - [ ] Add pylint checks for this issue. * fixup some others mutable defaults * add pylint checks * fix more related pylint issues * add changelog line * Update pre-commit config * Update pre-commit config * Remove TODO formulation as an issue already exists for this --------- Co-authored-by: Brian Kroth * Bump actions/setup-python from 4 to 5 (#1089) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump peter-evans/create-pull-request from 5 to 6 (#1093) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5 to 6. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v5...v6) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * test: Fix upper bounds for `test_transformer()` and no random in `test_transformer_conditional()` (#1102) * test: Don't rely on randomization for the test * test: Include import * test: Fix boundaries for catgoricals in test * test: Missing import * doc: Make todo not more clear about when to upgrade * Change stale-reminder to recent-reminder (#1095) (#1107) * Fix typo in docstring for `MultiFideltyFacade.get_initial_design` (#1104) * Fix typo in docstring for `MultiFideltyFacade.get_initial_design` The docstring specifies 0.1 is used as a default value for max_ratio, however in code 0.25 is used. * Bug/acquisition maximizer sampling (#1106) * Adapt how n_points works in the config_selector.py Also remove LocalAndSortedPriorRandomSearch by integrating it into LocalAndSortedRandomSearch * Change retrain_after to 1 for BlackBOx Facade * Fix bugs in local_and_random_search.py * Edit CHANGELOG.md * fix acq maximizer docstring * call get config selector from super class * Update random and local search to new functionality * Updat… * Update CHANGELOG.md * Revert 1023 (#1123) * Revert "Raise error if resource limitation and parallelization is requested (#1023)" This reverts commit cb1cd2f6436bc1dd5e963d6a4fe3f9efed4fcf35. * update examples * update daks_queue version * Upgrade to ConfigSpace 1.x (#1124) * Upgrad to ConfigSpace 1.x * refactor: ConfigSpace API * fix(jsondump): add numpy encoder ConfigSpace integer hyperparameters do not return python int type but numpy int64, which is not json serializable * fix(jsondump): add numpy encoder * fix(ConfigSpace): parameter API * Fix example (ConfigSpace API) * Make format * Fix pre-commit * isort * Update CHANGELOG.md * Update version * Adapt to new ConfigSpace API * Fix merge errors * refactor: remove notebook * Fix merge errors * Make format * Add test case for numpy encoder * Make format * Fix calculation * Add test for Hyperband calculation * Update comment * Update docstring * Fix pre-commit * Fix pre-commit * Add information on handling of stopIteration error (#1130) * Bump peter-evans/create-pull-request from 6 to 7 (#1142) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 7. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v7) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update numpy dependency (#1146) * fix: numpy migration * build: increase numpy version * Bugfix/replace deprecated configpsace methods (#1141) * Replace deprecated configpsace methods * Update changelog --------- Co-authored-by: Sarah Krebs * Update CHANGELOG.md * Update CHANGELOG.md * [doc] #1038, #987 added warm starting using ask and tell (#1120) * [doc] #1038, #987 added warm starting using ask and tell as a doc example (didn't warrant its own advanced_usage example) * [doc] addendum: initial design, warm start and n_trial explanation. * Format * Format and fix ConfigSpace deprecation * Fix typos * Fix merge * Update warmstarting example * Update index * Update CHANGELOG.md --------- Co-authored-by: timruhkopf Co-authored-by: benjamc * Migrate docs (#1155) * docs(installation): add install instructs for windows to be precise: point to the github issue bc there are probably many ways to Rome but not able to test it * docs(links): fix redirection * docs(installation): rst -> md * docs(package_overview): rst -> md * docs(getting_started): rst -> md * docs(minimal_example): rst -> md * docs(references): rst -> md * docs(glossary): rst -> md but links do not work yet * docs(faq): rst -> md * docs(license): rst -> md * docs(experimental): rst -> md * Rename file * renaem old files * docs: add hooks * docs: add mkdocs config * docs(components): rst -> md API links not yet working * refactor(acquisition_maximizer): fix typo * docs(component): fix links * docs(2_multi_fidelity): rst -> md * docs(1_components): fix links * docs(api_generator): fix link generation * docs(3_multi_objective): rst -> md * docs(4_instances): rst -> md * docs(5.1_warmstarting): rst -> md * Fix link * docs(5_ask_and_tell): rst -> md * docs(6_commandline): rst -> md * docs(7_stopping_criteria): rst -> md * docs(8_logging): rst -> md * docs(9_parallelism): rst -> md * docs(10_continue): rst -> md * docs(11_reproducibility): rst -> md * docs(12_optimzations): rst -> md * docs(examples): hide turbo and boing * docs(examples): rst -> md * docs(examples): fix tiny * docs(examples): fix navigation sections * docs(examples): fix navigation sections * fix typo * Update * ignore more * docs(docstring): fix refs * docs(docstring): fix refs * docs(home): add sections * build(setup): add requirements for mkdocs * refactor(abstract_intensifier): track param max_config_calls * refactor(docs): remove old files * refactor(acquisition): fix 'acqusition' typo * Update CHANGELOG.md * docs(examples): flags to run when building (does not work yet) * Update Makefile * Update CHANGELOG.md * Fix links * Update github workflow for doc building * docs(3_getting_started): fix links * Minor modifications * docs(constants): add docstring * docs(multi_objective): fix broken link * docs(ask_and_tell): fix broken link * docs(parallelism.md): fix broken link * docs(continue): fix broken link * delete .rst * Fix sidebar navigatoon * update CHANGELOG.md --------- Co-authored-by: benjamc Co-authored-by: Lukas Fehring * Bump dawidd6/action-send-mail from 3 to 4 (#1171) Bumps [dawidd6/action-send-mail](https://github.com/dawidd6/action-send-mail) from 3 to 4. - [Release notes](https://github.com/dawidd6/action-send-mail/releases) - [Commits](https://github.com/dawidd6/action-send-mail/compare/v3...v4) --- updated-dependencies: - dependency-name: dawidd6/action-send-mail dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Adding in CPU time to wherever time is defined as variable "cpu_time" (#1173) * Adding in CPU time to wherever time is defined as variable "cpu_time" * Fix changelog * Updating comments as requested in PR * Forgot to update comment * Adding in CPU time tests * 1085 runhistory documentation (#1175) * Content draft of the documentation. * Fix typos * Fix typos * Add important info to Facade and Scenario Documentation * adapt syntax * Update runhistory describtion * refactor(8_logging): add . --------- Co-authored-by: Lukas Fehring * fix incorrect facade description in docs (#1166) * fix facade descritpions for facades * fix formatting? * fix formatting * Fix differential evolution (#1150) * Fix differential evolution * Update CHANGELOG.md * Vectorize diff evo * Add test for categorical search space * Formatting * Remove unused imports * Another formatting fix * Fix/1176 (#1177) * fix(target_function_runner): correctly query attr (underscore missing) * Update CHANGELOG.md --------- Co-authored-by: benjamc * fix(differential_evolution): update kwarg to new API * fix(differential_evolution): update scipy dependency * Fix kwargs for DifferentialEvolution (#1187) * fix(differential_evolution): kwargs * Update CHANGELOG.md * Revert "fix(differential_evolution): update scipy dependency" This reverts commit 43a975dda1a2211f34412a8b17d71cded036a8b7. * 1164 docs add source of logei formula (#1188) * Update expected_improvement.py * Added equations and refernces for EI * Added equations and refernces for EI * Fix PriorAcquisitionFunction (#1185) * Dummy commit to create Draft MR * First preliminary fix for the iteration_number. * Update iteration_number counter * Update priors and examples * Fix typo * Remove doubled priro floor * Update tests * Add changelog.md * Update format * 1174 replace hard coded indices in runhistory (#1180) * First version to update load and save * Update logging docs * Remove config_id duplication * Update RunHistory * Update docstyle * Fix example * Update docs * Add chagnes to changelog * Adapt docs * Updatre CodeStyle * 1182 update license (#1190) * Update LICENSE.txt * Update README.md * Update README.md * Clean CHANGELOG.md * Update version number * Update license (#1192) * Update LICENSE.txt * Update README.md * Fix trailing whitespace * docs(conf): add version * Add LocalSearch Fix (#1194) * Add fix * Update Changelog.md * Add check for None * Update copyright from 2022 to 2025, update institution name (#1196) * Update README.md * fix(docs): site build dir + links * Update README.md * Update CHANGELOG.md * Update logo * Update version * Update logos * Update README.md * Update README.md --------- Signed-off-by: dependabot[bot] Co-authored-by: René Sass Co-authored-by: Katharina Eggensperger Co-authored-by: Matthias Feurer Co-authored-by: Eric Kalosa-Kenyon Co-authored-by: Pascal <66594767+PascalIversen@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: timruhkopf Co-authored-by: Carolin Benjamins Co-authored-by: dengdifan Co-authored-by: Alexander Tornede Co-authored-by: Sarah Krebs Co-authored-by: Alexander Tornede Co-authored-by: Alexander Tornede <44395781+alexandertornede@users.noreply.github.com> Co-authored-by: Sarah Krebs <30651149+sarah-krebs@users.noreply.github.com> Co-authored-by: helegraf Co-authored-by: Jeroen Rook Co-authored-by: Eddie Bergman Co-authored-by: Tim Ruhkopf Co-authored-by: Difan Deng <33290713+dengdifan@users.noreply.github.com> Co-authored-by: Aron Bahram Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sarah Segel <30651149+sarah-segel@users.noreply.github.com> Co-authored-by: Shuhei Watanabe <47781922+nabenabe0928@users.noreply.github.com> Co-authored-by: Difan Deng Co-authored-by: Bastian Zimmermann <10774221+BastianZim@users.noreply.github.com> Co-authored-by: Weihuang Wen Co-authored-by: PhilippBordne <71140732+PhilippBordne@users.noreply.github.com> Co-authored-by: SimonThormeyer <49559340+SimonThormeyer@users.noreply.github.com> Co-authored-by: Brian Kroth Co-authored-by: Brian Kroth Co-authored-by: fleance Co-authored-by: Eisuke Kawashima Co-authored-by: Marius Lindauer Co-authored-by: Eisuke Kawashima Co-authored-by: Lukas Fehring Co-authored-by: Thijs Snelleman <32924404+thijssnelleman@users.noreply.github.com> Co-authored-by: Hadar Shavit Co-authored-by: benjamc Co-authored-by: Daphne Theodorakopoulos <56087728+daphne12345@users.noreply.github.com> Co-authored-by: LukasFehring <72503857+LukasFehring@users.noreply.github.com> Co-authored-by: lhennig0103 <144096938+lhennig0103@users.noreply.github.com> --- CHANGELOG.md | 6 ++++++ CITATION.cff | 2 +- Makefile | 2 +- README.md | 6 +++--- docs/conf.py | 1 + docs/images/logo.png | Bin 32271 -> 232583 bytes docs/images/logo_old.png | Bin 0 -> 32271 bytes docs/images/smac_icon.png | Bin 0 -> 97486 bytes docs/index.md | 2 ++ mkdocs.yaml | 2 +- smac/__init__.py | 2 +- 11 files changed, 16 insertions(+), 7 deletions(-) create mode 100644 docs/images/logo_old.png create mode 100644 docs/images/smac_icon.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c2ce0534..36b2d614d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# 2.3.1 + +## Misc +- New SMAC logo +- Fix doc link in README + # 2.3.0 ## Documentation diff --git a/CITATION.cff b/CITATION.cff index 949c6bbe9..35d457a01 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -9,7 +9,7 @@ date-released: "2016-08-17" url: "https://automl.github.io/SMAC3/master/index.html" repository-code: "https://github.com/automl/SMAC3" -version: "2.3.0" +version: "2.3.1" type: "software" keywords: diff --git a/Makefile b/Makefile index c1b56afd5..85283f60d 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ SHELL := /bin/bash NAME := SMAC3 PACKAGE_NAME := smac -VERSION := 2.3.0 +VERSION := 2.3.1 DIR := "${CURDIR}" SOURCE_DIR := ${PACKAGE_NAME} diff --git a/README.md b/README.md index 65d2a8ed5..17e980ea6 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ consists of Bayesian Optimization in combination with an aggressive racing mecha SMAC3 is written in Python3 and continuously tested with Python 3.8, 3.9, and 3.10 (and works with newer python versions). Its Random Forest is written in C++. In further texts, SMAC is representatively mentioned for SMAC3. -> [Documentation](https://automl.github.io/SMAC3) +> [Documentation](https://automl.github.io/SMAC3/latest/) > [Roadmap](https://github.com/orgs/automl/projects/5/views/2) @@ -36,7 +36,7 @@ We hope you enjoy this new user experience as much as we do. 🚀 ## Installation -This instruction is for the installation on a Linux system, for Windows and Mac and further information see the [documentation](https://automl.github.io/SMAC3/main/1_installation.html). +This instruction is for the installation on a Linux system, for Windows and Mac and further information see the [documentation](https://automl.github.io/SMAC3/latest/1_installation/). Create a new environment with python 3.10 and make sure swig is installed either on your system or inside the environment. We demonstrate the installation via anaconda in the following: @@ -94,7 +94,7 @@ smac = HyperparameterOptimizationFacade(scenario, train) incumbent = smac.optimize() ``` -More examples can be found in the [documentation](https://automl.github.io/SMAC3/main/examples/). +More examples can be found in the [documentation](https://automl.github.io/SMAC3/latest/examples/1%20Basics/1_quadratic_function/). ## Visualization via DeepCAVE diff --git a/docs/conf.py b/docs/conf.py index 7166d1df3..f929abc2e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -12,6 +12,7 @@ "version": version, "versions": { f"v{version}": "#", + "v2.3.1": "https://automl.github.io/SMAC3/v2.3.1/", "v2.3.0": "https://automl.github.io/SMAC3/v2.3.0/", "v2.2.0": "https://automl.github.io/SMAC3/v2.2.0/", "v2.1.0": "https://automl.github.io/SMAC3/v2.1.0/", diff --git a/docs/images/logo.png b/docs/images/logo.png index e5519c7394f1f0bb0a9cb4e1d6e3c362360718ac..0c84a2971c9bc228b534f298fe23174f7e093ce6 100644 GIT binary patch literal 232583 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 z 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 diff --git a/docs/images/logo_old.png b/docs/images/logo_old.png new file mode 100644 index 0000000000000000000000000000000000000000..e5519c7394f1f0bb0a9cb4e1d6e3c362360718ac GIT binary patch literal 32271 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 literal 0 HcmV?d00001 diff --git a/docs/images/smac_icon.png b/docs/images/smac_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4f6d46a9b9636012e68a6bff76f15b0eaacd4b33 GIT binary patch literal 97486 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 z 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 TZSV=9Q#zq>O8u#tRq+1<-AG4Z literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md index 3d9427335..46d572189 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,6 +1,8 @@ Home # SMAC3 Documentation +SMAC3 Logo + ## Introduction SMAC is a tool for algorithm configuration to optimize the parameters of arbitrary algorithms, including hyperparameter optimization of Machine Learning algorithms. The main core consists of Bayesian Optimization in combination with an aggressive racing mechanism to efficiently decide which of two configurations performs better. diff --git a/mkdocs.yaml b/mkdocs.yaml index 067518fd0..1cd2ff26c 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -19,7 +19,7 @@ repo_name: automl/SMAC3 theme: name: material logo: images/logo.png - favicon: images/logo.png + favicon: images/smac_icon.png icon: repo: fontawesome/brands/github features: diff --git a/smac/__init__.py b/smac/__init__.py index 162eccc73..881b8ea9d 100644 --- a/smac/__init__.py +++ b/smac/__init__.py @@ -20,7 +20,7 @@ "Matthias Feurer, André Biedenkapp, Difan Deng, Carolin Benjamins, Tim Ruhkopf, René Sass " "and Frank Hutter" ) -version = "2.3.0" +version = "2.3.1" try: