Module: oryx.core

Contains Oryx's core transformations and functionality.

Modules

interpreters module: Contains function transformations implemented using JAX tracing machinery.

ppl module: Module for probabilistic programming features.

primitive module: Module for higher order primitives.

pytree module: Contains the Pytree class.

serialize module: Contains logic for serializing and deserializing PytreeTypes.

state module: Module for stateful functions.

trace_util module: Module for JAX tracing utility functions.

Classes

class FlatPrimitive: Contains default implementations of transformations.

class HigherOrderPrimitive: A primitive that appears in traces through transformations.

class NonInvertibleError: Raised by a custom inverse definition when values are unknown.

class Pytree: Class that registers objects as Jax pytree_nodes.

Functions

call_bind(...): Binds a primitive to a function call.

custom_inverse(...): Decorates a function to enable defining a custom inverse.

harvest(...): Transforms a function into a "functionalized" version.

ildj(...)

inverse(...)

inverse_and_ildj(...): Inverse and ILDJ function transformation.

log_prob(...): LogProb function transformation.

nest(...): Wraps a function to create a new scope for harvested values.

plant(...): Injects tagged values into a function.

reap(...): Collects tagged values from a function.

sow(...): Marks a value with a name and a tag.

tie_all(...): An identity function that ties arguments together in a JAX trace.

tie_in(...): A reimplementation of jax.tie_in that handles pytrees.

unzip(...): Unzip function transformation.

ildj_registry

log_prob_registry

unzip_registry