Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/facebookresearch/beanmachine
A library that allows for inference on probabilistic models
https://github.com/facebookresearch/beanmachine
Last synced: 3 months ago
JSON representation
A library that allows for inference on probabilistic models
- Host: GitHub
- URL: https://github.com/facebookresearch/beanmachine
- Owner: facebookresearch
- License: mit
- Archived: true
- Created: 2019-08-07T18:06:50.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-10-18T18:11:54.000Z (about 1 year ago)
- Last Synced: 2024-07-13T13:23:33.372Z (4 months ago)
- Language: Python
- Homepage: https://beanmachine.org/
- Size: 489 MB
- Stars: 264
- Watchers: 30
- Forks: 48
- Open Issues: 81
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Bean Machine
[![Lint](https://github.com/facebookresearch/beanmachine/actions/workflows/lint.yml/badge.svg)](https://github.com/facebookresearch/beanmachine/actions/workflows/lint.yml)
[![Tests](https://github.com/facebookresearch/beanmachine/actions/workflows/test.yml/badge.svg)](https://github.com/facebookresearch/beanmachine/actions/workflows/test.yml)
[![PyPI](https://img.shields.io/pypi/v/beanmachine)](https://pypi.org/project/beanmachine)## Overview
Bean Machine is a probabilistic programming language for inference over statistical models written in the Python language using a declarative syntax. Bean Machine is built on top of PyTorch and Bean Machine Graph, a custom C++ backend.
Check out our [tutorials](https://beanmachine.org/docs/overview/tutorials/Coin_flipping/CoinFlipping/) and [Quick Start](https://beanmachine.org/docs/overview/quick_start/) to get started!## Installation
Bean Machine supports Python 3.7-3.10 and PyTorch 1.12.### Install the Latest Release with Pip
```bash
pip install beanmachine
```### Install from Source
To download the latest Bean Machine source code from GitHub:
```bash
git clone https://github.com/facebookresearch/beanmachine.git
cd beanmachine
```Then, you can choose from any of the following installation options.
#### Package Managers (Conda)
Installing Bean Machine from source requires three external dependencies: [Boost](https://www.boost.org/), [Eigen](https://eigen.tuxfamily.org/index.php?title=Main_Page), and [`range-v3`](https://github.com/ericniebler/range-v3).
We recommend using [conda](https://docs.conda.io/en/latest/) to manage the virtual environment and install the necessary build dependencies.```bash
conda create -n {env name} python=3.8; conda activate {env name}
conda install -c conda-forge boost-cpp eigen range-v3
```Once dependencies are installed, install Bean Machine by running Pip:
```
pip install .
```#### Docker
```bash
docker build -t beanmachine .
docker run -it beanmachine:latest bash
```#### Validate Installation
If you would like to run the builtin unit tests:
```bash
pip install "beanmachine[test]"
pytest .
```## License
Bean Machine is MIT licensed, as found in the [LICENSE](LICENSE) file.