Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Spearmint is a package to perform Bayesian optimization according to the algorithms outlined in the paper: Practical Bayesian Optimization of Machine Learning Algorithms. Jasper Snoek, Hugo Larochelle and Ryan P. Adams. Advances in Neural Information Processing Systems, 2012
| Date | Stars |
|---|---|
| 2026-07-31 | 1393 |
| 2026-08-05 | 1392 |
| 2026-08-06 | 1392 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
New code repository! As you might have noticed, the development of this repository has been limited to maintenance and bug fixes for some time now. The reason is that there has been a collaborative effort to overhaul Spearmint into a new codebase. This includes both algorithmic/theoretical and engineering improvements. Check it out at https://github.com/HIPS/Spearmint. Note that the new repository is under a non-commercial license with a contributor license agreement. If you prefer not to agree to the license, you can freely use code here (though it is a bit older). Spearmint --------- Spearmint is a package to perform Bayesian optimization according to the algorithms outlined in the paper: **Practical Bayesian Optimization of Machine Learning Algorithms** Jasper Snoek, Hugo Larochelle and Ryan P. Adams *Advances in Neural Information Processing Systems*, 2012 This code 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. Spearmint is the result of a collaboration primarily between machine learning researchers at [Harvard University](https://hips.seas.harvard.edu/) and the [University of Toronto](http://learning.cs.toronto.edu/). Dependencies ------------ This package requires: * Python 2.7 * [Numpy](http://www.numpy.org/) version 1.6.1+ On Ubuntu linux you can install this package using the command: apt-get install python-numpy * [Scipy](http://www.scipy.org/) version 0.9.0+ On Ubuntu linux you can install this package using the command: apt-get install python-scipy * [Google Protocol Buffers](https://developers.google.com/protocol-buffers/) (for the fully automated code). Note that you should be able to install protocol-buffers from source without requiring administrator privileges. Otherwise, on Ubuntu linux you can install this package using the command: apt-get install python-protobuf and on Mac (if you use homebrew) with: brew install protobuf Then from within the spearmint sub-directory run the command: bin/make_protobufs This package has been tested on Ubuntu linux (versions 11.0+) and Mac-OSX. The code consists of several parts. It is designed to be modular to allow swapping out various 'driver' and 'chooser' modules. The 'chooser' modules are implementations of acquisition functions such as expected improvement, UCB or random. The drivers determine how experiments are distributed and run on the system. As the code is designed to run experiments in parallel (spawning a new experiment as soon a result comes in), this requires some engineering. The current implementations of these are in the 'spearmint' and 'spearmint-lite' subdirectories: **Spearmint** is designed to automatically manage the launching and associated bookkeeping of experiments in either a single machine or cluster environment. This requires that you provide a 'wrapper' in a supported language (currently Python or Matlab) and a configuration file detailing parameters to be tuned and their respective bounds. The wrapper must accept parameter values and then return simply a value which you wish to minimize with respect to the parameters. Spearmint will then iteratively call the wrapper with different parameter settings in an order that seeks to find the minimum value in as few evaluations (or cost) as possible. **Spearmint-lite** is the 'bare-bones' stripped version of the code. This version is simply driven by a flat-file and does not automatically run experiments. Instead, it proposes new experiments (potentially multiple at a time) and requires that the user fill in the result. This is well suited to the case where writing a wrapper around the code doesn't make sense (e.g. if the experiments don't involve code at all) or if the user desires full control of the process. Also, the dependency on Google protocol buffers is replaced with JSON. Running
Excerpt of 15,241 characters
Read on GitHubJasper Snoek
100
17
2
Yannis Assael · Google DeepMind · United Kingdom
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:16a280c7465a9b65, llm:Description: 'Spearmint is a package to perform Bayesian optimization ... Practical Bayesian Optimization of Machine Learning Algorithms.' Language: Python. No topics listed.
matched fp:16a280c7465a9b65, llm:Description: 'Spearmint is a package to perform Bayesian optimization ... Practical Bayesian Optimization of Machine Learning Algorithms.' Language: Python. No topics listed.