Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Keras + Gaussian Processes: Learning scalable deep and recurrent kernels.
| Date | Stars |
|---|---|
| 2026-07-24 | 251 |
| 2026-07-25 | 251 |
| 2026-07-28 | 251 |
| 2026-07-30 | 251 |
| 2026-08-10 | 250 |
| 2026-09-20 | 250 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
Gaussian Processes for Keras
----------------------------
[](https://travis-ci.org/alshedivat/keras-gp)
[](https://coveralls.io/github/alshedivat/keras-gp)
[](https://github.com/alshedivat/keras-gp/blob/master/LICENSE)
KGP extends [Keras](https://github.com/fchollet/keras/) with Gaussian Process (GP) layers.
It allows one to build flexible GP models with kernels structured with [deep](http://jmlr.org/proceedings/papers/v51/wilson16.pdf) and [recurrent](https://arxiv.org/abs/1610.08936) networks built with Keras.
The structured part of the model (the neural net) runs on [Theano](http://deeplearning.net/software/theano/) or [Tensorflow](https://www.tensorflow.org/).
The GP layers use a custom backend based on [GPML 4.0](http://www.gaussianprocess.org/gpml/code/matlab/doc/) library, and builds on [KISS-GP](http://www.jmlr.org/proceedings/papers/v37/wilson15.pdf) and [extensions](https://arxiv.org/abs/1511.01870).
The models can be trained in stages or jointly, using full-batch or semi-stochastic optimization approaches (see [our paper](https://arxiv.org/abs/1610.08936)).
For additional resources and tutorials on Deep Kernel Learning and KISS-GP see
[https://people.orie.cornell.edu/andrew/code/](https://people.orie.cornell.edu/andrew/code/)
KGP is compatible with: Python **2.7-3.5**.
In particular, this package implements the method described in our paper: <br>
**Learning Scalable Deep Kernels with Recurrent Structure** <br>
Maruan Al-Shedivat, Andrew Gordon Wilson, Yunus Saatchi, Zhiting Hu, Eric P. Xing <br>
[Journal of Machine Learning Research](https://arxiv.org/abs/1610.08936), 2017.
## Getting started
KGP allows to build models in the same fashion as Keras, using the [functional API](https://keras.io/getting-started/functional-api-guide/).
For example, a simple GP-RNN model can be built and compiled in just a few lines of code:
```python
from keras.layers import Input, SimpleRNN
from keras.optimizers import Adam
from kgp.layers import GP
from kgp.models import Model
from kgp.losses import gen_gp_loss
input_shape = (10, 2) # 10 time steps, 2 dimensions
batch_size = 32
nb_train_samples = 512
gp_hypers = {'lik': -2.0, 'cov': [[-0.7], [0.0]]}
# Build the model
inputs = Input(shape=input_shape)
rnn = SimpleRNN(32)(inputs)
gp = GP(gp_hypers,
batch_size=batch_size,
nb_train_samples=nb_train_samples)
outputs = [gp(rnn)]
model = Model(inputs=inputs, outputs=outputs)
# Compile the model
loss = [gen_gp_loss(gp) for gp in model.output_layers]
model.compile(optimizer=Adam(1e-2), loss=loss)
```
Note that KGP models support arbitrary off-the-shelf optimizers from Keras.
**Further resources:**
- A [quick tutorial](https://github.com/alshedivat/keras-gp/tree/master/tutorials) that walks you through the key components of the library.
- A few more [examples](https://github.com/alshedivat/kgp/tree/master/examples).
## Installation
KGP depends on [Keras](https://github.com/fchollet/keras/) and requires either [Theano](http://deeplearning.net/software/theano/) or [TensorFlow](http://tensorflow.org/) being installed.
The GPML backend requires either MATLAB or Octave and a corresponding Python interface package: [Oct2Py](https://blink1073.github.io/oct2py/) for Octave or the [MATLAB engine for Python](https://www.mathworks.com/help/matlab/matlab-engine-for-python.html).
Generally, MATLAB backend seems to provide faster runtime.
However, if you compile the latest version of Octave with JIT and OpenBLAS support, the overhead gets reduced to minimum.
If you are using Octave, you will need the `statistics` package.
You can install the package using Octave-Forge:
```bash
$ octave --eval "pkg install -forge -verbose io"
$ octave --eval "pkg install -forge -verbose statistics"
```
The requireExcerpt of 5,231 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:9b5ae43d3e3e3dd5, topic:tensorflow