Software Open Access
Robert T. McGibbon; Carlos Hernández; Matthew Harrigan; Steven Kearnes; Mohammad M. Sultan; Stanislaw Jastrzebski; Brooke Husic
Osprey is a tool for hyperparameter optimization of machine learning algorithms in Python. Hyperparameter optimization can often be an onerous process for researchers, due to time-consuming experimental replicates, non-convex objective functions, and constant tension between exploration of global parameter space and local optimization. We've designed Osprey to provide scientists with a practical, easy-to-use way of finding optimal model parameters. The software works seamlessly with scikit-learn estimators and supports many different search strategies for choosing the next set of parameters with which to evaluate a given model, including gaussian processes, tree-structured Parzen estimators, as well as random and grid search. As hyperparameter optimization is an embarrassingly parallel problem, Osprey can easily scale to hundreds of concurrent processes by executing a simple command-line program multiple times. This makes it easy to exploit large resources available in high-performance computing environments.
Osprey is actively maintained by researchers at Stanford University and other institutions around the world. While originally developed to analyze computational protein dynamics, it is applicable to any scikit-learn-compatible pipeline. The source code for Osprey is hosted on GitHub and has been archived to Zenodo. Full documentation can be found at http://msmbuilder.org/osprey.