Skip to main content

Bayesian Inference with JAX

Reason this release was yanked:

attribute handling was not fully refactored

Project description

Bayinx: Bayesian Inference with JAX

Bayinx is an embedded probabilistic programming language in Python, powered by JAX. It is heavily inspired by and aims to have feature parity with Stan, but extends the types of objects you can work with and focuses on normalizing flows variational inference for sampling.

Bayinx is highly interoperable with other libraries in the JAX ecosystem, and

Installation

Bayinx requires Python 3.12+, JAX, and a few extra libraries in the JAX ecosystem. The easiest way to get started is by installing from PyPi using your favourite python package manager. For example with uv:

# Ensure you are in your project environment
uv add bayinx

This installs the bare-bones version of Bayinx, however if you need additional functionality like GPU support, there are a couple of dependency groups:

# Ensure you are in your project environment
uv add 'bayinx[cuda]' # Installs Bayinx with CUDA support

Documentation

Documentation is available at: https://toddpocuca.github.io/bayinx.

Roadmap

  • Allow shape definitions to include expressions (e.g., shape = 'n_obs + 1' will evaluate to the correct specification)
  • Find a nice way to track the ELBO trajectory to implement early stopping (tolerance currently does nothing).
  • Nodes carry bounds for their support (i.e., node.obj ∈ [node._lb, node._ub]) which are used to check if inputs to distributions are valid (e.g., a node inputted as the scale of a normal dist must have node._lb >= 0)

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

bayinx-0.6.5.tar.gz (695.4 kB view details)

Uploaded Source

Built Distribution

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

bayinx-0.6.5-py3-none-any.whl (65.5 kB view details)

Uploaded Python 3

File details

Details for the file bayinx-0.6.5.tar.gz.

File metadata

  • Download URL: bayinx-0.6.5.tar.gz
  • Upload date:
  • Size: 695.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for bayinx-0.6.5.tar.gz
Algorithm Hash digest
SHA256 9c8d03e039512de679794660869ba87a25fe8e5e6d5d4c9341289ed77219f054
MD5 4f111d767723575d3e676b9d4daf4b6b
BLAKE2b-256 3c4bd183326e446992faa0d9c641206d686cc9a6e08f5ef6096eb88d7d5a3204

See more details on using hashes here.

File details

Details for the file bayinx-0.6.5-py3-none-any.whl.

File metadata

  • Download URL: bayinx-0.6.5-py3-none-any.whl
  • Upload date:
  • Size: 65.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for bayinx-0.6.5-py3-none-any.whl
Algorithm Hash digest
SHA256 13aeebbe1cf457e520c3fb46e393e3e98207ae87ded33bd58a9c5ddb3c70f5e7
MD5 cb73690d093b907ca6e19afd8ce50c27
BLAKE2b-256 2c290460d7b439f4aa1a91510ce390610792ef0af925f58573aefd9382f9eb3d

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