{"id":31552647,"url":"https://github.com/petuum/tuun","last_synced_at":"2025-10-04T19:59:31.544Z","repository":{"id":45703154,"uuid":"274530028","full_name":"petuum/tuun","owner":"petuum","description":"Hyperparameter tuning via uncertainty modeling","archived":false,"fork":false,"pushed_at":"2024-05-03T19:39:07.000Z","size":63818,"stargazers_count":44,"open_issues_count":4,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-05-08T00:19:19.961Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/petuum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-06-23T23:33:29.000Z","updated_at":"2023-12-12T10:42:58.000Z","dependencies_parsed_at":"2022-09-11T01:01:29.281Z","dependency_job_id":null,"html_url":"https://github.com/petuum/tuun","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/petuum/tuun","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petuum%2Ftuun","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petuum%2Ftuun/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petuum%2Ftuun/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petuum%2Ftuun/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/petuum","download_url":"https://codeload.github.com/petuum/tuun/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/petuum%2Ftuun/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278366643,"owners_count":25975090,"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","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-10-04T19:59:25.678Z","updated_at":"2025-10-04T19:59:31.539Z","avatar_url":"https://github.com/petuum.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"docs/images/tuun_logo.svg\" width=280 /\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u0026emsp;\u0026emsp;\n    \u003ca href=\"https://petuum.github.io/tuun\"\u003eDocumentation\u003c/a\u003e and\n    \u003ca href=\"https://github.com/petuum/tuun/tree/master/examples\"\u003eExamples\u003c/a\u003e\n\u003c/p\u003e\n\n**Tuun** is a toolkit for efficient hyperparameter tuning via uncertainty\nmodeling, with a focus on flexible model choice, scalability, and use in\ndistributed settings.\n\n\n## Installation\n\nTuun requires Python 3.6+. To install all dependencies for development, clone and `cd`\ninto this repo, and run:\n```\n$ pip install -r requirements/requirements_dev.txt\n```\n\nFor the full functionality of Tuun, a [Stan](https://mc-stan.org/) model must also be\ncompiled (this takes roughly 1 minute) by running:\n```\n$ python tuun/probo/models/stan/compile_models.py -m gp_distmat_fixedsig\n```\n\n\n## Quick Start\n\n**Note:** Tuun is still in the early stages and the following API and functionality may\nundergo changes.\n\n[Here](examples/quick_start/minimize_01.py) is a minimal working example, which uses\nTuun to optimize a function over a one-dimensional Euclidean search space with bounds\n[-5, 5].\n\n```python\nfrom tuun.main import Tuun\n\n# instantiate Tuun\ntu = Tuun()\n\n# set search space\nsearch_space = ('real', [-5, 5])\ntu.set_config_from_list(search_space)\n\n# define function to optimize\nf = lambda x: x[0] ** 4 - x[0] ** 2 + 0.1 * x[0]\n\n# minimize function over search space\nresult = tu.minimize_function(f, 20)\n```\nThis should find a minima at roughly: 𝑥\\*=[−0.73], where 𝑓(𝑥\\*)=−0.32.  See [this docs\npage](https://petuum.github.io/tuun/search_space.html) for more details on defining\ndifferent search spaces for Tuun.\n\nTuun also allows for fine-grained configuration of individual components and search\nspaces, as shown in the [example](examples/quick_start/minimize_11.py) below.\n\n```python\nfrom tuun.main import Tuun\n\nconfig = {\n    # configure tuning backend\n    'backend': 'probo',\n\n    # configure model\n    'model_config': {'name': 'simplegp', 'ls': 3.0, 'alpha': 1.5, 'sigma': 1e-5},\n\n    # configure acquisition function\n    'acqfunction_config': {'name': 'default', 'acq_str': 'ei'},\n\n    # configure acquisition optimizer\n    'acqoptimizer_config': {'name': 'default', 'max_iter': 200},\n\n    # configure domain\n    'domain_config': ('real', [-5, 5]),\n}\ntu = Tuun(config)\n\nf = lambda x: x[0] ** 4 - x[0] ** 2 + 0.1 * x[0]\nresult = tu.minimize_function(f, 20)\n```\nThis should also find a minima at roughly: 𝑥\\*=[−0.73], where 𝑓(𝑥\\*)=−0.32. See [this\ndocs page](https://petuum.github.io/tuun/configure.html) for more details on possible\nconfigurations.\n\n[See here](examples/quick_start/) for a larger set of quick start examples for Tuun.\n\n\n## Use in NNI\n\nTuun can be used as a custom tuner in [NNI (neural network\nintelligence)](https://github.com/microsoft/nni), which allows for visualization and\nexperiment management. See [this docs page](https://petuum.github.io/tuun/nni.html) for\nmore details, and [this directory](examples/nni_simple_2d) for a minimal example.\n\n\n## Examples\n\nSee a few examples of Tuun [here](examples/), including the setup for various benchmark\nfunctions, different types of search spaces, and use within NNI.\n\nThe plots below show a couple examples of Tuun, along with other tuning algorithms, on\nbenchmark functions.\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"docs/images/hartmann6.svg\" alt=\"Hartmann 6 Dimensions\" width=\"48%\"\u003e\n    \u0026nbsp; \u0026nbsp;\n    \u003cimg src=\"docs/images/branin40.svg\" alt=\"Branin 40 Dimensions\" width=\"48%\"\u003e\n\u003c/p\u003e\n\n\n## Affiliations\n\nTuun is part of the [CASL project](http://casl-project.ai/).\n\u003cp align=\"left\"\u003e\u003cimg src=\"docs/images/casl_logo.svg\" width=280\u003e\u003c/p\u003e\n\nCompanies and universities using and developing Tuun.\n\u003cp align=\"top\"\u003e\n    \u003cimg src=\"docs/images/cmu_logo.png\" width=\"15%\"\u003e\n    \u0026nbsp; \u0026nbsp; \u0026nbsp; \u0026nbsp;\n    \u003cimg src=\"docs/images/petuum_logo.svg\" width=\"24%\"\u003e\n    \u0026nbsp; \u0026nbsp;\n    \u003cimg src=\"docs/images/stanford_logo.png\" width=\"20%\"\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetuum%2Ftuun","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpetuum%2Ftuun","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetuum%2Ftuun/lists"}