Skip to main content

Inference Combinators in JAX

Project description

coix

Unittests Documentation Status PyPI version

Coix (COmbinators In jaX) is a flexible and backend-agnostic implementation of inference combinators (Stites and Zimmermann et al., 2021), a set of program transformations for compositional inference with probabilistic programs. Coix ships with backends for numpyro and oryx, and a set of pre-implemented losses and utility functions that allows to implement and run a wide variety of inference algorithms out-of-the-box.

Coix is a lightweight framework which includes the following main components:

  • coix.api: Implementation of the program combinators.
  • coix.core: Basic program transformations which are used to modify behavior of a stochastic program.
  • coix.loss: Common objectives for variational inference.
  • coix.algo: Example inference algorithms.

Currently, we support numpyro and oryx backends. But other backends can be easily added via the coix.register_backend utility.

This is not an officially supported Google product.

Installation

To install Coix, you can use pip:

pip install coix

or you can clone the repository:

git clone https://github.com/jax-ml/coix.git
cd coix
pip install -e .[dev,doc]

Many examples would run faster on accelerators. You can follow the JAX installation instruction for how to install JAX with GPU or TPU support.

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

coix-0.1.0.tar.gz (26.3 kB view details)

Uploaded Source

Built Distribution

coix-0.1.0-py3-none-any.whl (34.7 kB view details)

Uploaded Python 3

File details

Details for the file coix-0.1.0.tar.gz.

File metadata

  • Download URL: coix-0.1.0.tar.gz
  • Upload date:
  • Size: 26.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for coix-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4a0478ec8dfb955639f0e5268612093dc2fa1c9f736189f3555971fa15df1288
MD5 a6a218db69f96dee96af22966b6e2bab
BLAKE2b-256 1b9b4e1c05745af80f8a1586903aa308eda4e59e57c5b75b70e1b65a078707f7

See more details on using hashes here.

File details

Details for the file coix-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: coix-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 34.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.9

File hashes

Hashes for coix-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c8b2b4d0cc2c1defbe3f6771e2fdab42302d65bd64decf7e9e903eb7c43f718f
MD5 d47f9dca0d73334d3bdc755e06284a2e
BLAKE2b-256 2cb45e86ddf2d18a9f658451cd3ebdb421418e8ef1bbc7cd79727b716e93d50c

See more details on using hashes here.

Supported by

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