{"data":{"slug":"hips-spearmint","name":"Spearmint","tagline":"Spearmint Bayesian optimization codebase","github_url":"https://github.com/HIPS/Spearmint","owner":"HIPS","repo":"Spearmint","owner_avatar_url":"https://avatars.githubusercontent.com/u/7935606?v=4","primary_language":"Python","stars":1570,"forks":328,"topics":[],"archived":false,"github_pushed_at":"2019-12-27T21:30:17+00:00","maintenance_label":"Dormant","url":"https://www.graphcanon.com/tools/hips-spearmint","markdown_url":"https://www.graphcanon.com/tools/hips-spearmint.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/hips-spearmint","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=hips-spearmint","description":"Spearmint Bayesian optimization codebase","homepage_url":null,"license":"Other","open_issues":77,"watchers":75,"ai_summary":null,"readme_excerpt":"Spearmint\n=========================================\n\nSpearmint is a software package to perform Bayesian optimization. The Software is designed to automatically run experiments (thus the code name spearmint) in a manner that iteratively adjusts a number of parameters so as to minimize some objective in as few runs as possible.\n\n**IMPORTANT:** Spearmint is under an **Academic and Non-Commercial Research Use License**.  Before using spearmint please be aware of the [license](LICENSE.md).  If you do not qualify to use spearmint you can ask to obtain a license as detailed in the [license](LICENSE.md) or you can use the older open source code version (which is somewhat outdated) at https://github.com/JasperSnoek/spearmint.  \n\n### Relevant Publications\n\nSpearmint implements a combination of the algorithms detailed in the following publications:\n\n    Practical Bayesian Optimization of Machine Learning Algorithms  \n    Jasper Snoek, Hugo Larochelle and Ryan Prescott Adams  \n    Advances in Neural Information Processing Systems, 2012  \n\n    Multi-Task Bayesian Optimization  \n    Kevin Swersky, Jasper Snoek and Ryan Prescott Adams  \n    Advances in Neural Information Processing Systems, 2013  \n\n    Input Warping for Bayesian Optimization of Non-stationary Functions  \n    Jasper Snoek, Kevin Swersky, Richard Zemel and Ryan Prescott Adams  \n    International Conference on Machine Learning, 2014  \n\n    Bayesian Optimization and Semiparametric Models with Applications to Assistive Technology  \n    Jasper Snoek, PhD Thesis, University of Toronto, 2013  \n  \n    Bayesian Optimization with Unknown Constraints\n    Michael Gelbart, Jasper Snoek and Ryan Prescott Adams\n    Uncertainty in Artificial Intelligence, 2014\n\n### Setting up Spearmint\n\n**STEP 1: Installation**  \n\n1. Install [python](https://www.python.org/), [numpy](http://www.numpy.org/), [scipy](http://www.numpy.org/), [pymongo](https://api.mongodb.org/python/current/). For academic users, the [anaconda](http://continuum.io/downloads) distribution is great. Use numpy 1.8 or higher. We use python 2.7.\n2. Download/clone the spearmint code  \n3. Install the spearmint package using pip: `pip install -e \\</path/to/spearmint/root\\>` (the -e means changes will be reflected automatically)  \n4. Download and install MongoDB: https://www.mongodb.org/   \n5. Install the pymongo package using e.g., pip `pip install pymongo` or anaconda `conda install pymongo`  \n\n**STEP 2: Setting up your experiment**  \n1. Create a callable objective function. See `./examples/simple/branin.py` as an example  \n2. Create a config file. There are 3 example config files in the ../examples directory. Note 1: There are more parameters that can be set in the config files than what is shown in the examples, but these parameters all have default values. Note 2: By default Spearmint assumes your function is noisy (non-deterministic). If it is noise-free, you should set this explicitly as in the ../examples/simple/config.json file.\n\n**STEP 3: Running spearmint**  \n1. Start up a MongoDB daemon instance:  \n`mongod --fork --logpath <path/to/logfile\\> --dbpath <path/to/dbfolder\\>`  \n2. Run spearmint: `python main.py \\</path/to/experiment/directory\\>`\n\n**STEP 4: Looking at your results**  \nSpearmint will output results to standard out / standard err. You can also load the results from the database and manipulate them directly.","github_created_at":"2014-08-05T18:13:16+00:00","created_at":"2026-07-11T23:36:42.624513+00:00","updated_at":"2026-07-11T23:36:51.032227+00:00","categories":[{"slug":"vector-databases","name":"Vector Databases","url":"https://www.graphcanon.com/categories/vector-databases","markdown_url":"https://www.graphcanon.com/categories/vector-databases.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/vector-databases"},{"slug":"model-training","name":"Model Training","url":"https://www.graphcanon.com/categories/model-training","markdown_url":"https://www.graphcanon.com/categories/model-training.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/model-training"}],"tags":[{"slug":"python","name":"python"}],"trust":{"provenance":{"is_fork":false,"github_id":22654179,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-07-11T23:36:46.762Z","maintenance":{"label":"Dormant","score":18,"methodology":"github_public_v1","releases_90d":0,"days_since_push":2388,"last_release_at":null},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T23:36:47.284Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-07-11T23:36:46.528Z"},"languages":{"value":["python"],"source":"github.language","observed_at":"2026-07-11T23:36:46.528Z"},"license_spdx":{"value":"Other","source":"github.license","observed_at":"2026-07-11T23:36:46.528Z"}}}}