Oryx is a library for probabilistic programming and deep learning built on top of JAX.
import oryx import jax.numpy as jnp ppl = oryx.core.ppl tfd = oryx.distributions # Define sampling function def sample(key): x = ppl.random_variable(tfd.Normal(0., 1.))(key) return jnp.exp(x / 2.) + 2. # Transform sampling function into a log-density function ppl.log_prob(sample)(1.) # ==> -0.9189
Oryx's approach is to expose a set of function transformations that compose and integrate with JAX's existing transformations. To install Oryx, you can run:
pip install --upgrade oryx