Gaussian Process Optimization using GPy
Switch branches/tags
Clone or download


Gaussian process optimization using GPy. Performs global optimization with different acquisition functions. Among other functionalities, it is possible to use GPyOpt to optimize physical experiments (sequentially or in batches) and tune the parameters of Machine Learning algorithms. It is able to handle large data sets via sparse Gaussian process models.

licence develstat covdevel Research software impact


  author =   {The GPyOpt authors},
  title =    {{GPyOpt}: A Bayesian Optimization framework in python},
  howpublished = {\url{}},
  year = {2016}

Getting started

Installing with pip

The simplest way to install GPyOpt is using pip. ubuntu users can do:

    sudo apt-get install python-pip
    pip install gpyopt

If you'd like to install from source, or want to contribute to the project (e.g. by sending pull requests via github), read on. Clone the repository in GitHub and add it to your $PYTHONPATH.

    git clone
    cd GPyOpt
    python develop


  • GPy
  • paramz
  • numpy
  • scipy
  • matplotlib
  • DIRECT (optional)
  • cma (optional)
  • pyDOE (optional)
  • sobol_seq (optional)

You can install dependencies by running:

pip install -r requirements.txt

Funding Acknowledgements

  • BBSRC Project No BB/K011197/1 "Linking recombinant gene sequence to protein product manufacturability using CHO cell genomic resources"

  • See GPy funding Acknowledgements