Skip to content

Code to define and train a GPDBN model (Gaussian Process Deep Belief Network).

Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit



6 Commits

Repository files navigation

Status: Archive (code is provided as-is, no updates expected).


This library contains code to define and train a GPDBN model (Gaussian Process Deep Belief Network: as well as other models including deep belief networks and GPLVMs.


Requirements: Python 3.5 and TensorFlow 1.8 (see for a full list of requirements).

To install TensorFlow refer to:

Install deepbelief via pip:

cd <deepbelief_folder>
pip install -e .

The above commands will install deepbelief in editable mode, in this way pip will make links pointing to the source code (so that the code can be modified and tested easily).

Experiment Examples

Some model examples with related experiments can be found in the folder examples.

Some example datasets are contained in the subfolder _datasets. These are binary files in HDF5 format:

  • weizmann_horses_training_328x1024_binary.h5: 328 32x32 training binary images from the Weizmann horses dataset.
  • weizmann_horses_eslami_test_14x1024_binary.h5: 14 32x32 test binary images of horses from the Shape Boltzmann Machine paper of Eslami et al.
  • mnist_training_5000x728_equal_classes_binary.h5: 5000 28x28 training binary imaged from the MNIST dataset.
  • mnist_test_30x728_equal_classes_binary.h5: 30 28x28 test binary imaged from the MNIST dataset.

Mini-batched GPDBN

The mini-batch branch contains a version of the GPDBN model that uses mini-batching at training and test time. This was developed in collaboration with Erik Bodin (@bodin-e).

Unit Tests

python -m unittest -v


Code to define and train a GPDBN model (Gaussian Process Deep Belief Network).






No releases published


No packages published