Skip to main content

A framework for composing Neural Processes in Python

Project description

Neural Processes

CI Coverage Status Latest Docs Code style: black

A framework for composing Neural Processes in Python.

Installation

pip install neuralprocesses tensorflow tensorflow-probability  # For use with TensorFlow
pip install neuralprocesses torch                              # For use with PyTorch

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


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.7.tar.gz (72.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neuralprocesses-0.2.7-py3-none-any.whl (110.6 kB view details)

Uploaded Python 3

File details

Details for the file neuralprocesses-0.2.7.tar.gz.

File metadata

  • Download URL: neuralprocesses-0.2.7.tar.gz
  • Upload date:
  • Size: 72.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for neuralprocesses-0.2.7.tar.gz
Algorithm Hash digest
SHA256 1eaa1f41cb6e6c42935714be71d2f453f72682c3fb9cc7b1aecf58d67dd8b0eb
MD5 9d619b6baab5e5e53915125f4b60bdf3
BLAKE2b-256 4c72310b21cb06e37944df32803606678dd7376db00d0b8189e2f5bc6150d510

See more details on using hashes here.

File details

Details for the file neuralprocesses-0.2.7-py3-none-any.whl.

File metadata

File hashes

Hashes for neuralprocesses-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1434ec42600e50812b4c935e416c27723e27b40b7f4ca3e7b5102f3f07cef946
MD5 8de140a3ffd22b517f6a1e14379db471
BLAKE2b-256 ce09d86315d1cd7db6647541a7d2d2cd54d0c37110b3d2e8483dc88336dede9d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page