https://github.com/jaanli/gmm_cpp
Gaussian mixture model implementation in C++ with black box variational inference and control variates
https://github.com/jaanli/gmm_cpp
Last synced: 6 months ago
JSON representation
Gaussian mixture model implementation in C++ with black box variational inference and control variates
- Host: GitHub
- URL: https://github.com/jaanli/gmm_cpp
- Owner: jaanli
- License: mit
- Created: 2017-07-03T19:14:33.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-10-18T15:35:28.000Z (over 7 years ago)
- Last Synced: 2024-11-07T09:24:45.418Z (8 months ago)
- Language: C++
- Size: 101 KB
- Stars: 3
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gmm_cpp
Gaussian mixture model implementation in C++ with black box variational inference and control variates
This is heavily based on the deep exponential families repo, a beautiful piece of software: https://github.com/blei-lab/deep-exponential-families
## Requirements
On a mac:
```
# install developer tools
xcode-select --install
# install libraries
brew install gcc --without-multilib
brew install gsl
brew install homebrew/science/armadillo
brew install boost
```For developing C++ on a Mac with waf as your build system, you need to be careful with your `wscript` waf configuration.
If you have installed libraries with homebrew, they are installed in `/usr/local/include` by default, whereas waf only searches for library headers in `/usr/include` by default. To fix this, you need to add `conf.env.INCLUDES_MYLIB = ['/usr/local/include']` to the waf configuration to be able to use libraries installed using homebrew.
On ubuntu: see my docker file [here](https://github.com/altosaar/dotfiles/blob/master/.docker/Dockerfile).
# Running
```
./waf configure
./waf build
./build/my_main
```This runs black box variational inference to fit a gaussian mixture model to toy data.