A framework for composing Neural Processes in Python
Project description
Neural Processes
A framework for composing Neural Processes in Python.
Installation
pip install neuralprocesses
If something is not working or unclear, please feel free to open an issue.
Documentation
See here.
TL;DR! Just Get me Started!
Here you go:
import torch
import neuralprocesses.torch as nps
# Construct a ConvCNP.
convcnp = nps.construct_convgnp(dim_x=1, dim_y=2, likelihood="het")
# Construct optimiser.
opt = torch.optim.Adam(convcnp.parameters(), 1e-3)
# Training: optimise the model for 32 batches.
for _ in range(32):
# Sample a batch of new context and target sets. Replace this with your data. The
# shapes are `(batch_size, dimensionality, num_data)`.
xc = torch.randn(16, 1, 10) # Context inputs
yc = torch.randn(16, 2, 10) # Context outputs
xt = torch.randn(16, 1, 15) # Target inputs
yt = torch.randn(16, 2, 15) # Target output
# Compute the loss and update the model parameters.
loss = -torch.mean(nps.loglik(convcnp, xc, yc, xt, yt, normalise=True))
opt.zero_grad(set_to_none=True)
loss.backward()
opt.step()
# Testing: make some predictions.
mean, var, noiseless_samples, noisy_samples = nps.predict(
convcnp,
torch.randn(16, 1, 10), # Context inputs
torch.randn(16, 2, 10), # Context outputs
torch.randn(16, 1, 15), # Target inputs
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
neuralprocesses-0.2.2.tar.gz
(134.0 kB
view hashes)
Built Distribution
Close
Hashes for neuralprocesses-0.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e3cb57af71a5d56359bdfcf96bfb1083facacc89d4ec2e398568f287cd8f45c |
|
MD5 | 81d918772beedb0183f6de6c8722cd4e |
|
BLAKE2b-256 | ff6aaabea2f7ba77ef24ca5bf2df8f39c27030e9174b394d175cdc51f24ee194 |