Skip to content

customized GPflow with simple Tensorflow API

License

Notifications You must be signed in to change notification settings

krunolp/GPflow-Slim

 
 

Repository files navigation

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

For installing, please 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.

About

customized GPflow with simple Tensorflow API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%