{"id":13576140,"url":"https://github.com/automl/SMAC3","last_synced_at":"2025-04-05T05:30:56.703Z","repository":{"id":38359850,"uuid":"65900469","full_name":"automl/SMAC3","owner":"automl","description":"SMAC3: A Versatile Bayesian Optimization Package for Hyperparameter Optimization","archived":false,"fork":false,"pushed_at":"2025-03-28T15:48:56.000Z","size":162312,"stargazers_count":1141,"open_issues_count":111,"forks_count":233,"subscribers_count":40,"default_branch":"main","last_synced_at":"2025-04-03T12:54:21.244Z","etag":null,"topics":["algorithm-configuration","automated-machine-learning","automl","bayesian-optimisation","bayesian-optimization","configuration","gaussian-process","hyperparameter-optimization","hyperparameter-search","hyperparameter-tuning","random-forest"],"latest_commit_sha":null,"homepage":"https://automl.github.io/SMAC3/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/automl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"automl"}},"created_at":"2016-08-17T10:58:05.000Z","updated_at":"2025-04-03T06:35:36.000Z","dependencies_parsed_at":"2023-02-16T05:46:03.366Z","dependency_job_id":"974123fe-7735-42bf-b318-45eb672af9c2","html_url":"https://github.com/automl/SMAC3","commit_stats":{"total_commits":1645,"total_committers":45,"mean_commits":36.55555555555556,"dds":0.7945288753799392,"last_synced_commit":"8ccd7339dac63ad079deb305ddd3127bd5b66d40"},"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/automl%2FSMAC3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/automl%2FSMAC3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/automl%2FSMAC3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/automl%2FSMAC3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/automl","download_url":"https://codeload.github.com/automl/SMAC3/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294126,"owners_count":20915330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm-configuration","automated-machine-learning","automl","bayesian-optimisation","bayesian-optimization","configuration","gaussian-process","hyperparameter-optimization","hyperparameter-search","hyperparameter-tuning","random-forest"],"created_at":"2024-08-01T15:01:07.313Z","updated_at":"2025-04-05T05:30:51.686Z","avatar_url":"https://github.com/automl.png","language":"Python","readme":"# SMAC3: A Versatile Bayesian Optimization Package for Hyperparameter Optimization\n\n\n[![Tests](https://github.com/automl/SMAC3/actions/workflows/pytest.yml/badge.svg?branch=main)](https://github.com/automl/SMAC3/actions/workflows/pytest.yml)\n[![Documentation](https://github.com/automl/SMAC3/actions/workflows/docs.yml/badge.svg?branch=main)](https://github.com/automl/SMAC3/actions/workflows/docs.yml)\n[![codecov\nStatus](https://codecov.io/gh/automl/SMAC3/branch/master/graph/badge.svg)](https://codecov.io/gh/automl/SMAC3)\n\n\u003cimg src=\"docs/images/logo.png\" style=\"width: 50%;\" /\u003e\n\nSMAC offers a robust and flexible framework for Bayesian Optimization to support users in determining well-performing \nhyperparameter configurations for their (Machine Learning) algorithms, datasets and applications at hand. The main core \nconsists of Bayesian Optimization in combination with an aggressive racing mechanism to efficiently decide which of two configurations performs better.\n\nSMAC3 is written in Python3 and continuously tested with Python 3.8, 3.9, and 3.10. Its Random\nForest is written in C++. In further texts, SMAC is representatively mentioned for SMAC3.\n\n\u003e [Documentation](https://automl.github.io/SMAC3)\n\n\u003e [Roadmap](https://github.com/orgs/automl/projects/5/views/2)\n\n\n## Important: Changes in v2.0\n\nWith the next big major release of SMAC, we drastically boosted the user experience by improving the APIs and how the \npipelining is done (see [changelog](CHANGELOG.md)). All facades/intensifiers support multi-objective, multi-fidelity, \nand multi-threading natively now! That includes having an ask-and-tell interface and continuing a run\nwherever you left off. pSMAC is removed because when specifying the number of workers, SMAC automatically uses \nmulti-threading for evaluating trials. When cleaning the code base, however, we removed the command-line \ninterface (calling a target function from a script is still supported), and runtime optimization. Also,\npython 3.7 is not supported anymore. If you depend on those functionalities, please keep using v1.4.\n\nWe are excited to introduce the new major release and look forward to developing new features on the new code base. \nWe hope you enjoy this new user experience as much as we do. 🚀\n\n\n## Installation\n\nThis 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).\n\nCreate a new environment with python 3.10 and make sure swig is installed either on your system or\ninside the environment. We demonstrate the installation via anaconda in the following:\n\nCreate and activate environment:\n```\nconda create -n SMAC python=3.10\nconda activate SMAC\n```\n\nInstall swig:\n```\nconda install gxx_linux-64 gcc_linux-64 swig\n```\n\nInstall SMAC via PyPI:\n```\npip install smac\n```\n\nIf you want to contribute to SMAC, use the following steps instead:\n```\ngit clone https://github.com/automl/SMAC3.git \u0026\u0026 cd SMAC3\nmake install-dev\n```\n\n\n## Minimal Example\n\n```py\nfrom ConfigSpace import Configuration, ConfigurationSpace\n\nimport numpy as np\nfrom smac import HyperparameterOptimizationFacade, Scenario\nfrom sklearn import datasets\nfrom sklearn.svm import SVC\nfrom sklearn.model_selection import cross_val_score\n\niris = datasets.load_iris()\n\n\ndef train(config: Configuration, seed: int = 0) -\u003e float:\n    classifier = SVC(C=config[\"C\"], random_state=seed)\n    scores = cross_val_score(classifier, iris.data, iris.target, cv=5)\n    return 1 - np.mean(scores)\n\n\nconfigspace = ConfigurationSpace({\"C\": (0.100, 1000.0)})\n\n# Scenario object specifying the optimization environment\nscenario = Scenario(configspace, deterministic=True, n_trials=200)\n\n# Use SMAC to find the best configuration/hyperparameters\nsmac = HyperparameterOptimizationFacade(scenario, train)\nincumbent = smac.optimize()\n```\n\nMore examples can be found in the [documentation](https://automl.github.io/SMAC3/main/examples/).\n\n## Visualization via DeepCAVE\n\nWith DeepCAVE ([Repo](https://github.com/automl/DeepCAVE), [Paper](https://arxiv.org/abs/2206.03493)) you can visualize your SMAC runs. It is a visualization and analysis tool for AutoML (especially for the sub-problem\nhyperparameter optimization) runs.\n\n## License\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the 3-clause BSD license (please see the LICENSE file).\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\nYou should have received a copy of the 3-clause BSD license\nalong with this program (see LICENSE file).\nIf not, see [here](https://opensource.org/licenses/BSD-3-Clause).\n\n## Contacting us\n\nIf you have trouble using SMAC, a concrete question or found a bug, please create an [issue](https://github.com/automl/SMAC3/issues). This is the easiest way to communicate about these things with us. \n\nFor all other inquiries, please write an email to smac[at]ai[dot]uni[dash]hannover[dot]de.\n\n## Miscellaneous\n\nSMAC3 is developed by the [AutoML Groups of the Universities of Hannover and\nFreiburg](http://www.automl.org/).\n\nIf you have found a bug, please report to [issues](https://github.com/automl/SMAC3/issues). Moreover, we are \nappreciating any kind of help. Find our guidelines for contributing to this package \n[here](CONTRIBUTING.md).\n\nIf you use SMAC in one of your research projects, please cite our \n[JMLR paper](https://jmlr.org/papers/v23/21-0888.html):\n```\n@article{JMLR:v23:21-0888,\n  author  = {Marius Lindauer and Katharina Eggensperger and Matthias Feurer and André Biedenkapp and Difan Deng and Carolin Benjamins and Tim Ruhkopf and René Sass and Frank Hutter},\n  title   = {SMAC3: A Versatile Bayesian Optimization Package for Hyperparameter Optimization},\n  journal = {Journal of Machine Learning Research},\n  year    = {2022},\n  volume  = {23},\n  number  = {54},\n  pages   = {1--9},\n  url     = {http://jmlr.org/papers/v23/21-0888.html}\n}\n```\n\nCopyright (C) 2016-2022  [AutoML Group](http://www.automl.org).\n","funding_links":["https://github.com/sponsors/automl"],"categories":["Python","Optimization","Supplementary tools","参数优化","超参数优化和AutoML","AutoML","Other Software and Libraries","Libraries","Tools and projects"],"sub_categories":["Others","Python","NLP","Configuration of Solvers","LLM"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautoml%2FSMAC3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautoml%2FSMAC3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautoml%2FSMAC3/lists"}