hagabbar / vitamin_c

This will be the first official public release of the VItamin code base. VItamin is a python package for producing fast gravitational wave posterior samples.
GNU General Public License v3.0
21 stars 7 forks source link
black-hole conditional-variational-autoencoder data-science gravitational-waves gravity ligo machine-learning neutron-star open-science physics signal-processing virgo vitamin

PyPI version License GitHub Stars Twitter

VItamin_C: A Machine Learning Library for Fast Gravitational Wave Posterior Generation

:star: Star us on GitHub it helps!

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

This repository is the official implementation of Bayesian Parameter Estimation using Conditional Variational Autoencoders for Gravitational Wave Astronomy.

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

Official Documentation can be found at https://hagabbar.github.io/vitamin_c.

Check out our Blog (to be made), Paper and Interactive Demo.

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

Optionally, install basemap and geos in order to produce sky plots of results.

For installing basemap:

Install VItamin using pip:

pip install vitamin-b

Training

To train an example model from the paper, try out the demo.

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:

We track the performance of the model during training via loss curves:

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

Posterior example:

KL-Divergence between posteriors:

PP Tests: