makora9143 / pytorch-convcnp

A PyTorch Implementation of Convolutional Conditional Neural Process.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ConvCNP: Convolutional Conditional Neural Process, in PyTorch

A PyTorch implementation of Convolutional Conditional Neural Process from the 2019 paper (arXiv, ICLR2020) by Jonathan Gordon, Wessel P. Bruinsma, Andrew Y. K. Foong, James Requeima, Yann Dubois, and Richard E. Turner.

(The original code is not published as of 2019/12/28)

Table of Contents

Dependencies

  1. Python 3.7+
  2. PyTorch 1.3
  3. GPyTorch 1.0
  4. Numpy 1.16+
  5. Scikit-learn 0.21
  6. Fastprogress 0.1.21

Datasets

1D Regression

We provide several kernels to generate datasets for syntethic 1D regression:

  • EQ Kernel
  • Matern-5/2 Kernel
  • Periodic Kernel

2D Regression

  • MNIST
  • CIFAR10

Train

1D Regression

$ python main1d.py --kernel [eq | matern | periodic]

2D Regression

$ python main2d.py --dataset [mnist | cifar10] # Highly recommend to run this code in your GPU environment!

Demonstration

CIFAR10 Prediction

If you want some more demo (1D reg.), please see our jupyter notebooks.

Reference

  • Jonathan Gordon et al. "Convolutional Conditional Neural Processes" ICLR2020 (accepted)

About

A PyTorch Implementation of Convolutional Conditional Neural Process.


Languages

Language:Jupyter Notebook 96.9%Language:Python 3.1%