Bayesian Inference with JAX
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bayinx-0.6.7.tar.gz.
File metadata
- Download URL: bayinx-0.6.7.tar.gz
- Upload date:
- Size: 695.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
63c53a95c9b1f76655cff356752196e456899f5bae5920b6326c5ef303c3fb39
|
|
| MD5 |
ed91c5bbe567349ecec84811d4f1b853
|
|
| BLAKE2b-256 |
668ba39254e690923638b787f6d0964c671b7dfcabd6258cd0505542eea83358
|
File details
Details for the file bayinx-0.6.7-py3-none-any.whl.
File metadata
- Download URL: bayinx-0.6.7-py3-none-any.whl
- Upload date:
- Size: 65.7 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7fa969955eee4c23eb71005a01e198118ce4f68266df404627449ba65c7b0a0
|
|
| MD5 |
489441766c81b8b29a4832bd5dc1c543
|
|
| BLAKE2b-256 |
009909989be4740255ada257d9a2a1b4f59104873c8d869e0e5f604b824566d0
|