Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

aspire: Accelerated Sequential Posterior Inference via REuse

DOI PyPI Documentation Status tests

aspire is a framework for reusing existing posterior samples to obtain new results at a reduced cost.

Installation

aspire can be installed from PyPI using pip. By default, you need to install one of the backends for the normalizing flows, either torch or jax. We also recommend installing minipcn if using the smc sampler:

Torch

We recommend installing torch manually to ensure correct CPU/CUDA versions are installed. See the PyTorch installation instructions for more details.

pip install aspire-inference[torch,minipcn]

Jax:

We recommend install jax manually to ensure the correct GPU/CUDA versions are installed. See the jax documentation for details

pip install aspire-inference[jax,minipcn]

Important: the name of aspire on PyPI is aspire-inference but once installed the package can be imported and used as aspire.

Quickstart

import numpy as np
from aspire import Aspire, Samples

# Define a log-likelihood and log-prior
def log_likelihood(samples):
    x = samples.x
    return -0.5 * np.sum(x**2, axis=-1)

def log_prior(samples):
    return -0.5 * np.sum(samples.x**2, axis=-1)

# Create the initial samples
init = Samples(np.random.normal(size=(2_000, 4)))

# Define the aspire object
aspire = Aspire(
    log_likelihood=log_likelihood,
    log_prior=log_prior,
    dims=4,
    parameters=[f"x{i}" for i in range(4)],
)

# Fit the normalizing flow
aspire.fit(init, n_epochs=20)

# Sample the posterior
posterior = aspire.sample_posterior(
    sampler="smc",
    n_samples=500,
    sampler_kwargs=dict(n_steps=100),
)

# Plot the posterior distribution
posterior.plot_corner()

Documentation

See the documentation on ReadTheDocs.

Citation

If you use aspire in your work please cite the DOI and paper.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aspire_inference-0.1.0a21.tar.gz (88.9 kB view details)

Uploaded Source

Built Distribution

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

aspire_inference-0.1.0a21-py3-none-any.whl (68.9 kB view details)

Uploaded Python 3

File details

Details for the file aspire_inference-0.1.0a21.tar.gz.

File metadata

  • Download URL: aspire_inference-0.1.0a21.tar.gz
  • Upload date:
  • Size: 88.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aspire_inference-0.1.0a21.tar.gz
Algorithm Hash digest
SHA256 f7c7a6a40d73585da7c54a6f0627a0198d0c6e56f892f3f3836fc06c51f0af52
MD5 84967a3388c1a3c3d7638df9157b8d73
BLAKE2b-256 bdae31688e95563df187954da1ca7e131e3df391cdbd58be9b4793cd1a3a30df

See more details on using hashes here.

Provenance

The following attestation bundles were made for aspire_inference-0.1.0a21.tar.gz:

Publisher: publish.yml on mj-will/aspire

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aspire_inference-0.1.0a21-py3-none-any.whl.

File metadata

File hashes

Hashes for aspire_inference-0.1.0a21-py3-none-any.whl
Algorithm Hash digest
SHA256 1ad7c1cce8282b837bbce863968f9ff7b30122c405a0131ebcdd80a6653ddddd
MD5 922df977a984a9a240ec7022d143b53e
BLAKE2b-256 17cbdd6c97909a7a14d8c26c0cdf6b7b40d9e2bafa9639b082dc29ecd6aaa065

See more details on using hashes here.

Provenance

The following attestation bundles were made for aspire_inference-0.1.0a21-py3-none-any.whl:

Publisher: publish.yml on mj-will/aspire

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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