bnpy requires Python 3.6+ (or 2.7+) and the following packages:
numpy >= 1.11
scipy >= 0.18
pandas >= 0.18
Cython >= 0.25
joblib >= 0.10
memory_profiler >= 0.41
munkres >= 1.0
numexpr >= 2.6
psutil >= 5.0
scikit_learn >= 0.18
For interactivity and visualization, we also recommend:
ipython >= 5.1
matplotlib >= 1.5
First, make sure you have a working local install of the Anaconda python distribution, which makes managing common Python packages within userspace a breeze.
Then, you can just clone the latest stable version of bnpy via:
git clone https://github.com/bnpy/bnpy.git
And then install from the cloned source via:
cd bnpy/
pip install -e .
Within a terminal, you can first verify basic installation with:
python -m bnpy.Run --help
You can further train a very simple model:
python -m bnpy.Run \
DATASET_PATH/faithful/faithful.csv \
FiniteMixtureModel Gauss VB --nLap 1 --K 3
To further verify matplotlib installation, enter:
from matplotlib import pylab
pylab.plot([1,2,3])
pylab.show()
Some of bnpy’s advanced features require compiling custom C++ source code for fast algorithms. These aren’t needed for basic usage, but do come in handy.
The Eigen C++ Matrix template library (>=3.0) is used for:
fast local step updates for hidden Markov models
fast local step updates for L-sparse mixtures
If you want these features, go download and install Eigen from http://www.eigen.tuxfamily.org.
To install bnpy with Eigen support, you need to set the following environment variable:
export EIGENPATH=/path/to/eigen/
You can verify the right location by verifying the following directory exists:
ls $EIGENPATH/Eigen/
If the $EIGENPATH env variable is set when you perform pip install, the required C++ libraries should be built and useful automatically.
The Boost C++ math library (>= 1.52) is used for the following features:
fast local step updates for L-sparse topic models
If you want these features, go download and install boost from http://www.boost.org.
To install bnpy with Boost C++ support, you need to set the following environment variable:
export BOOSTMATHPATH=/path/to/boost/include/
You can verify the right location by verifying the following directory exists:
ls $BOOSTMATHPATH/math/
If the $BOOSTMATHPATH env variable is set when you perform pip install, the required C++ libraries should be built and useful automatically.
If you try the above and get errors about not having “wx” or “wxpython” or “qt” installed, you need to configure your Matplotlib_backend.
I recommend setting your matplotlibrc file to have backend: TkAgg for Linux, and backend: MacOSX for Mac.