Giter Club home page Giter Club logo

gpflow-slim's Introduction

GPflow-Slim

GPflow-Slim is a package for building Gaussian process models in python, using TensorFlow. It is adapted from GPflow and now contributed by Shengyang Sun and Guodong Zhang.

Compared to GPflow, GPflow-Slim enables simpler Tensorflow-style programming. User can define variables arbitrarily anywhere in the program and apply standard Tensorflow optimizer to optimize the objective.

Install

After cloning the package, you can install GPflow-Slim by

python setup.py install

For modifying the source code of GPflow-Slim, it's better to run

python setup.py develop

Examples

Below we show a simple example to use GPflow-Slim and additionally defined variables.

X = tf.constant(np.random.normal(size=[20, 4]))
y = tf.sin(X)

var_ = tf.get_variable('var', initializer=1.)
kern = gpf.kernels.RBF(13, ARD=True) + tf.exp(var_)
m = gpf.models.GPR(X, y, kern=kern)

objective = m.objective
optimizer = tf.train.AdamOptimizer(1e-3)
infer = optimizer.minimize(objective)
with tf.Session() as sess:
    sess.run(infer) 

For more examples, please refer examples as well as Neural Kernel Network.

Citation

To cite this work, please use

@article{sun2018differentiable,
  title={Differentiable Compositional Kernel Learning for Gaussian Processes},
  author={Sun, Shengyang and Zhang, Guodong and Wang, Chaoqi and Zeng, Wenyuan and Li, Jiaman and Grosse, Roger},
  journal={arXiv preprint arXiv:1806.04326},
  year={2018}
}

as well as

@ARTICLE{GPflow2017,
   author = {Matthews, Alexander G. de G. and {van der Wilk}, Mark and Nickson, Tom and
	Fujii, Keisuke. and {Boukouvalas}, Alexis and {Le{\'o}n-Villagr{\'a}}, Pablo and
	Ghahramani, Zoubin and Hensman, James},
    title = "{{GP}flow: A {G}aussian process library using {T}ensor{F}low}",
  journal = {Journal of Machine Learning Research},
  year    = {2017},
  month = {apr},
  volume  = {18},
  number  = {40},
  pages   = {1-6},
  url     = {http://jmlr.org/papers/v18/16-537.html}
}

Acknowledgement

GPflow-Slim is adapted from GPflow.

gpflow-slim's People

Contributors

ssydasheng avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.