Skip to main content

A user-friendly machine learning Bayesian inference library

Project description

![Downloads tags](https://img.shields.io/github/downloads-pre/hagabbar/vitamin_b/0.1.0/total) ![Commits](https://img.shields.io/github/commit-activity/m/hagabbar/vitamin_b) ![License](https://img.shields.io/github/license/hagabbar/vitamin_b) ![GitHub Stars](https://img.shields.io/github/stars/hagabbar/vitamin_b?style=social) ![Twitter](https://img.shields.io/twitter/follow/gw_hunter?style=social) [![Build Status](https://travis-ci.org/hagabbar/vitamin_b.svg?branch=master)](https://travis-ci.org/hagabbar/vitamin_b)

# [VItamin_B: A Machine Learning Library for Fast Gravitational Wave Posterior Generation](https://arxiv.org/abs/1909.06296) :star: Star us on GitHub — it helps!

Welcome to VItamin_B, a python toolkit for producing fast gravitational wave posterior samples.

This [repository](https://github.com/hagabbar/vitamin_b) is the official implementation of [Bayesian Parameter Estimation using Conditional Variational Autoencoders for Gravitational Wave Astronomy](https://arxiv.org/abs/1909.06296).

Hunter Gabbard, Chris Messenger, Ik Siong Heng, Francesco Tonlini, Roderick Murray-Smith

Official Documentation can be found at [https://hagabbar.github.io/vitamin_b](https://hagabbar.github.io/vitamin_b).

Check out our Blog (to be made), [Paper](https://arxiv.org/abs/1909.06296) and [Interactive Demo](https://colab.research.google.com/github/hagabbar/OzGrav_demo/blob/master/OzGrav_VItamin_demo.ipynb).

Note: This repository is a work in progress. No official release of code just yet.

## Requirements

VItamin requires python3.6. You may use python3.6 by initializing a virtual environment.

` virtualenv -p python3.6 myenv source myenv/bin/activate pip install --upgrade pip `

Make sure to install basemap prior to installing all other packages.

For installing basemap: - Install geos-3.3.3 from source - Once geos is installed, install basemap using pip install git+https://github.com/matplotlib/basemap.git

For other required packages: ` pip install -r requirements.txt `

Install VItamin using pip: ` pip install vitamin-b `

## Training

To train an example model from the paper, try out the [demo](https://colab.research.google.com/github/hagabbar/OzGrav_demo/blob/master/OzGrav_VItamin_demo.ipynb).

Full model definitions are given in models directory. Data is generated from gen_benchmark_pe.py.

## Results

We train using a network derived from first principals: ![](images/network_setup.png)

We track the performance of the model during training via loss curves: ![](images/inv_losses_log.png)

Finally, we produce posteriors after training and other diagnostic tests comparing our approach with 4 other independent methods:

Posterior example: ![](images/corner_testcase0.png)

KL-Divergence between posteriors: ![](images/hist-kl.png)

PP Tests: ![](images/latest_pp_plot.png)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vitamin_b-0.2.1.tar.gz (58.5 kB view details)

Uploaded Source

Built Distribution

vitamin_b-0.2.1-py2.py3-none-any.whl (68.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file vitamin_b-0.2.1.tar.gz.

File metadata

  • Download URL: vitamin_b-0.2.1.tar.gz
  • Upload date:
  • Size: 58.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.8

File hashes

Hashes for vitamin_b-0.2.1.tar.gz
Algorithm Hash digest
SHA256 42b76f7723e0730418a14e349a52736000b8383e99b5c2af224cb656973e1ea7
MD5 1dbd90bdb70adc6ad4ec09521c461071
BLAKE2b-256 13973ef9e56900cffe6fd0c32675e51c6a0a090f3d8d476e7a7a13e0254603fc

See more details on using hashes here.

File details

Details for the file vitamin_b-0.2.1-py2.py3-none-any.whl.

File metadata

  • Download URL: vitamin_b-0.2.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 68.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.6.8

File hashes

Hashes for vitamin_b-0.2.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 61af4542f066efc0234d5b8bea53c79518e134e216d9a32962d88bfd3f569948
MD5 e3a15d719d3cd102a91b8a5faadb2596
BLAKE2b-256 0698fa63ef764bbfda1a6b087b48aa59a6cd2553206e7f7f6adea6cd2232d62e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page