Skip to main content

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

Project description

continuous-integration

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

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

pgmax-0.0.1.tar.gz (30.4 kB view hashes)

Uploaded Source

Built Distribution

pgmax-0.0.1-py3-none-any.whl (52.3 kB view hashes)

Uploaded Python 3

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