Normalizing-flow enhanced sampling package for probabilistic inference
FlowMC is a Jax-based python package for normalizing-flow enhanced Markov chain Monte Carlo (MCMC) sampling. The code is open source under MIT license, and it is under active development.
- Just-in-time compilation is supported.
- Native support for GPU acceleration.
- Suit for problems with multi-modality.
- Minimal tuning.
Our package is still in development stage, so it has not reached the official PyPi index yet. To install our package, run the following command:
pip install flowMC
Here is a list of packages we use in the main library
* Python 3.8+
* Jax
* Jaxlib
* Flax
To visualize the inference results in the examples, we requrie the following packages in addtion to the above:
* matplotlib
* corner
* arviz
A Jax implementation of methods described in:
Efficient Bayesian Sampling Using Normalizing Flows to Assist Markov Chain Monte Carlo Methods Gabrié M., Rotskoff G. M., Vanden-Eijnden E. - ICML INNF+ workshop 2021 - pdf
Adaptive Monte Carlo augmented with normalizing flows. Gabrié M., Rotskoff G. M., Vanden-Eijnden E. - PNAS 2022 - doi, arxiv