Skip to content

Loopy belief propagation for factor graphs on discrete variables, in JAX!

License

Notifications You must be signed in to change notification settings

vicariousinc/PGMax

Repository files navigation

continuous-integration PyPI version

PGMax

PGMax is a library for working with Factor Graphs in JAX. It currently provides an interface for specifying factor graphs of any type, as well as an efficient implementation of max-product belief propagation and inference on these graphs.

Installation Instructions

User

  1. Install the library using pip via: pip install pgmax
  2. By default this installs JAX for CPU. If you'd like to use JAX with a GPU and specific CUDA version (highly recommended), follow the official instructions here.

Developer

  1. Clone this project's GitHub Repository
  2. Install Poetry by following these instructions. Note: you may need to logout and log back in after running the install command for the poetry --version command to work in your shell environment.
  3. Navigate to this project's directory and activate a poetry shell via the command poetry shell. This creates and activates a virtual environment for you to use with this project.
  4. Install the project's dependencies into your virtual environment with the command poetry install. Your environment will now contain both developer and user dependencies!
    1. By default this installs JAX for CPU. If you'd like to use JAX with a GPU and specific CUDA version (highly recommended), follow the official instructions here.
  5. Do pre-commit install to initialize pre-commit hooks

About

Loopy belief propagation for factor graphs on discrete variables, in JAX!

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages