Dingo
Dingo (Deep Inference for Gravitational-wave Observations) is a Python program for analyzing gravitational wave data using neural posterior estimation. It dramatically speeds up inference of astrophysical source parameters from data measured at gravitational-wave observatories. Dingo aims to enable the routine use of the most advanced theoretical models in analyzing data, to make rapid predictions for multi-messenger counterparts, and to do so in the context of sensitive detectors with high event rates.
The basic approach of Dingo is to train a neural network to represent the Bayesian posterior conditioned on data. This enables amortized inference: when new data are observed, they can be plugged in and results obtained in a small amount of time. Tasks handled by Dingo include
- building training datasets;
- training normalizing flows to estimate the posterior density;
- performing inference on real or simulated data; and
- verifying and correcting model results using importance sampling.
Installation
Pip
To install using pip, run the following within a suitable virtual environment:
pip install dingo-gw
This installs Dingo and its runtime dependencies, as specified in
pyproject.toml.
Optional functionality can be enabled via extras, for example:
pip install "dingo-gw[wandb,pyseobnr]"
Conda
Dingo is also available from the conda-forge repository.
To install using conda, first activate a conda environment, then run:
conda install -c conda-forge dingo-gw
Development install
If you would like to make changes to Dingo or contribute to its development, install it from source.
First clone the repository:
git clone git@github.com:dingo-gw/dingo.git
cd dingo-gw
Recommended (using uv)
We recommend using uv for development installs, as it
provides fast, reproducible dependency resolution.
Create a virtual environment and install all development dependencies:
uv sync
This installs Dingo in editable mode along with development, documentation, and typing dependencies. To also install optional dependencies, use
uv sync --extra wandb --extra pyseobnr
Alternative (pip)
If you prefer pip, create and activate a virtual environment:
python3 -m venv dingo-venv
source dingo-venv/bin/activate
Install Dingo in editable mode with development tools:
pip install -e ".[dev]"
Optional user-facing features can be enabled via extras, for example:
pip install -e ".[dev,wandb]"
Usage
For instructions on using Dingo, please refer to the documentation.
References
Dingo is based on the following series of papers:
- https://arxiv.org/abs/2002.07656: 5D toy model
- https://arxiv.org/abs/2008.03312: 15D binary black hole inference
- https://arxiv.org/abs/2106.12594: Amortized inference and group-equivariant neural posterior estimation
- https://arxiv.org/abs/2111.13139: Group-equivariant neural posterior estimation
- https://arxiv.org/abs/2210.05686: Importance sampling
- https://arxiv.org/abs/2211.08801: Noise forecasting
- https://arxiv.org/abs/2407.09602: Binary neutron star inference
Dingo was used also in https://arxiv.org/abs/2404.14286 to find evidence for eccentric binaries.
If you use Dingo in your work, we ask that you please cite at least https://arxiv.org/abs/2106.12594.
Contributors to the code are listed in AUTHORS.md. We thank Charlie Hoy, Vivien Raymond, and Rory Smith for acting as LIGO-Virgo-KAGRA (LVK) review chairs. Dingo makes use of many LVK software tools, including Bilby, bilby_pipe, and LALSimulation, as well as third party tools such as PyTorch and nflows.
Contact
For questions or comments please contact Maximilian Dax or Stephen Green.
Release files for dingo-gw 0.9.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dingo_gw-0.9.9.tar.gz | 631.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dingo_gw-0.9.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 913.4 kB
Release files / dingo_gw-0.9.9.tar.gz
| Download URL | dingo_gw-0.9.9.tar.gz |
|---|---|
| Size | 631.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
337c1729e1f93029adb8846d39fda3e5f645fe614970bdea412d30a166546e89
|
|
BLAKE2b-256 checksum How to use checksums |
6c1b6c08946159986dc2acbe8457e17f7ae036ee1da16a2a3c497dbcc25ad553
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / dingo_gw-0.9.9-py3-none-any.whl
| Download URL | dingo_gw-0.9.9-py3-none-any.whl |
|---|---|
| Size | 282.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
01da9994599994174dd9620ecc187af284593fa7c53cd69acedc758626040c3e
|
|
BLAKE2b-256 checksum How to use checksums |
19893437b9cbc75cb32d77fcaa80f94fad25b453f50cbbbed0dbd264ca5cd889
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|