Skip to content

femtomc/genjax

Repository files navigation

codecov

Note: This is the research version of GenJAX. A (more stable) community version can be found here.

What is GenJAX?

Probabilistic Programming Language

GenJAX is a probabilistic programming language (PPL): a system which provides automation for writing programs which perform computations on probability distributions, including sampling, variational approximation, gradient estimation for expected values, and more.

With Programmable Inference

The design of GenJAX is centered on programmable inference: automation which allows users to express and customize Bayesian inference algorithms (algorithms for computing with posterior distributions: "x affects y, and I observe y, what are my new beliefs about x?"). Programmable inference includes advanced forms of Monte Carlo and variational inference methods.

Core Concepts

GenJAX's automation is based on two key concepts:

  • Generative functions – GenJAX's version of probabilistic programs
  • Traces – samples from probabilistic programs

GenJAX provides:

Fully Vectorized & Compatible with JAX

All of GenJAX's automation is fully compatible with JAX, implying that any program written in GenJAX can be vmap'd and jit compiled.

🤖 Using Claude Code with GenJAX

This repository is optimized for development with Claude Code, Anthropic's AI coding assistant. The codebase includes comprehensive CLAUDE.md files that provide context and guidance for Claude Code to work effectively with GenJAX.

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages