Git Product home page Git Product logo

decoupled_gaussian_process's Introduction

Decoupled Gaussian process model.

This is not an officially supported Google product.

This repository contains an implementation of the Decoupled Gaussian Process model that decouples the representation of mean and covariance in reproducing kernel Hilbert space.

The details of the model is in the paper: Cheng, Ching-An, and Byron Boots. "Variational Inference for Gaussian Process Models with Linear Complexity." Advances in Neural Information Processing Systems. 2017.

Link to the paper: http://papers.nips.cc/paper/7103-variational-inference-for-gaussian-process-models-with-linear-complexity

How to use the model

This model can be used mainly in two ways:

  • through session.run() (detailed in decoupled_gaussian_process_example.py), and
  • through tf.estimator.Estimator with model_fn() (defined in decoupled_gaussian_process_model.py).

Through session.run()

File decoupled_gaussian_process_example.py provides detailed steps to train and evaluate the model by first building the graph, and then iteratively minimizing the objective function by session.run(train_step). In order to use the model as a layer, you may want to embed the logic of adding bases online and hyperparameters initialization in the graph, so that no initial values for hyperparameters are needed and no need to call model.bases.add_bases() in the train loop anymore.

Through model_fn()

model_fn() is defined in decoupled_gaussian_process_model.py. We can use the following code to create an tf.estimator.Estimator:

estimator = tf.estimator.Estimator(
    model_fn=decoupled_gaussian_process_model.model_fn,
    model_dir=run_config.model_dir,
    params=hparams,
    config=run_config)

Then the tf.estimator.Estimator can be used with tf.contrib.learn.Experiment, to quickly carry out experiments to compare against other models.

decoupled_gaussian_process's People

Contributors

sandraorion avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  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.