/dgp-aepmcm

Code for the paper: "Deep Gaussian Processes using Expectation Propagation and Monte Carlo Methods"

Primary LanguagePythonApache License 2.0Apache-2.0

DGP-AEPMCM

Code for the paper: "Deep Gaussian Processes using Expectation Propagation and Monte Carlo Methods"

Requirements

  • Python>=3.6
  • Tensorflow>=1.11.0 (Although it may work with older versions). (UPDATE: Using tensorflow 1.13 triggers some warnings.)

Installation

pip install --user .

Experiments

Datasets and splits for reproducing the experiments can be downloaded from here:

Docs

Code is partially documented, I'm working on it. Other documentation can be found here:

Known issues

  • Sometimes the cholesky decomposition fails:
    • Increasing the jitter higher helps but at the cost of losing some accuracy in the network predictions (as it is noise added to the diagonal of the kernel between the inputs in each node).
    • Using float64 is also known to help. In future versions it will be possible to specify the precision of the floats used inside the network.

Running tests

pytest -v dgp_aepmcm/tests/

Show warnings too:

pytest -r dgp_aepmcm/tests/