nessai: Nested Sampling with Artificial Intelligence
nessai (/ˈnɛsi/): Nested Sampling with Artificial Intelligence
nessai is a nested sampling algorithm for Bayesian Inference that incorporates normalising flows. It is designed for applications where the Bayesian likelihood is computationally expensive.
Installation
nessai can be installed using pip:
pip install nessai
or via conda
conda install -c conda-forge -c pytorch nessai
PyTorch
By default the version of PyTorch will not necessarily match the drivers on your system, to install a different version with the correct CUDA support see the PyTorch homepage for instructions: https://pytorch.org/.
Using bilby
As of bilby version 2.3.0, the recommended way to use nessai is via the nessai-bilby sampler plugin.
This can be installed via either conda or pip and provides the most
up-to-date interface for nessai.
This includes support for the importance nested sampler (inessai).
It can be installed using either
pip install nessai-bilby
or
conda install -c conda-forge nessai-bilby
See the examples included with nessai for how to run nessai via bilby.
Documentation
Documentation is available at: nessai.readthedocs.io
Help
For questions and other support, please either use our gitter room or open an issue.
Contributing
Please see the guidelines here.
Acknowledgements
The core nested sampling code, model design and code for computing the posterior in nessai was based on cpnest with permission from the authors.
The normalising flows implemented in nessai are all either directly imported from nflows or heavily based on it.
Other code snippets that draw on existing code reference the source in their corresponding doc-strings.
The authors also thank Christian Chapman-Bird, Laurence Datrier, Fergus Hayes, Jethro Linley and Simon Tait for their feedback and help finding bugs in nessai.
Citing
If you find nessai useful in your work please cite the DOI for this code and our papers:
@software{nessai,
author = {Michael J. Williams},
title = {nessai: Nested Sampling with Artificial Intelligence},
month = feb,
year = 2021,
publisher = {Zenodo},
version = {latest},
doi = {10.5281/zenodo.4550693},
url = {https://doi.org/10.5281/zenodo.4550693}
}
@article{Williams:2021qyt,
author = "Williams, Michael J. and Veitch, John and Messenger, Chris",
title = "{Nested sampling with normalizing flows for gravitational-wave inference}",
eprint = "2102.11056",
archivePrefix = "arXiv",
primaryClass = "gr-qc",
doi = "10.1103/PhysRevD.103.103006",
journal = "Phys. Rev. D",
volume = "103",
number = "10",
pages = "103006",
year = "2021"
}
@article{Williams:2023ppp,
author = "Williams, Michael J. and Veitch, John and Messenger, Chris",
title = "{Importance nested sampling with normalising flows}",
eprint = "2302.08526",
archivePrefix = "arXiv",
primaryClass = "astro-ph.IM",
reportNumber = "LIGO-P2200283",
month = "2",
year = "2023"
}
Release files for nessai 0.15.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nessai-0.15.2.tar.gz | 333.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nessai-0.15.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 517.8 kB
Release files / nessai-0.15.2.tar.gz
| Download URL | nessai-0.15.2.tar.gz |
|---|---|
| Size | 333.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
71d41d72f4597bbaf1277605ae6e9c1ffc5b8dde8ef4e39fb72c16437f98817a
|
|
BLAKE2b-256 checksum How to use checksums |
636dc5e66855085447119391acb878803412cfe4bc0a2a9a082d3949c6af22bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / nessai-0.15.2-py3-none-any.whl
| Download URL | nessai-0.15.2-py3-none-any.whl |
|---|---|
| Size | 184.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eb33d25e4241c114cc7965a558b3c483faee136d1667fff43af2819fd9e0d13c
|
|
BLAKE2b-256 checksum How to use checksums |
34c8ea1a1084e0e6d92915bbe46da30940da4e231b3af440f348f7e144384b7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|