Modular Probabilistic Programming on MXNet
MXFusion is a modular deep probabilistic programming library.
With MXFusion Modules you can use state-of-the-art inference techniques for specialized probabilistic models without needing to implement those techniques yourself. MXFusion helps you rapidly build and test new methods at scale, by focusing on the modularity of probabilistic models and their integration with modern deep learning techniques.
MXFusion uses MXNet as its computational platform to bring the power of distributed, heterogenous computation to probabilistic modeling.
Dependencies / Prerequisites
MXFusion's primary dependencies are MXNet >= 1.3 and Networkx >= 2.1. See requirements.
Supported Architectures / Versions
MXFusion is tested on Python 3.4+ on MacOS and Linux.
Installation of MXNet
There are multiple PyPi packages of MXNet. A straight-forward installation with only CPU support can be done by:
pip install mxnet
For an installation with GPU or MKL, detailed instructions can be found on MXNet site.
If you just want to use MXFusion and not modify the source, you can install through pip:
pip install mxfusion
To install MXFusion from source, after cloning the repository run the following from the top-level directory:
pip install .
Where to go from here?
We welcome your contributions and questions and are working to build a responsive community around MXFusion. Feel free to file an Github issue if you find a bug or want to request a new feature.
Have a look at our contributing guide, thanks for the interest!
Points of contact for MXFusion are:
- Eric Meissner (@meissnereric)
- Zhenwen Dai (@zhenwendai)
MXFusion is licensed under Apache 2.0. See LICENSE.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.