NOTE: currently only works with tensorflow <= 1.15; tensorflow 2 update coming soon.
Density Estimation Likelihood-Free Inference with neural density estimators and adaptive acquisition of simulations. The implemented methods are described in detail in Alsing, Charnock, Feeney and Wandelt 2019, and are based closely on Papamakarios, Sterratt and Murray 2018, Lueckmann et al 2018 and Alsing, Wandelt and Feeney, 2018. Please cite these papers if you use this code!
Installation:
The code is in python3 and has the following dependencies:
tensorflow (<=1.15)
getdist
emcee
tqdm
mpi4py (if MPI is required)
You can install the requirements and this package with,
pip install git+https://github.com/justinalsing/pydelfi.git
or alternatively, pip install the requirements and then clone the repo and run python setup.py install
Documentation and tutorials:
Once everything is installed, try out either cosmic_shear.ipynb
or jla_sne.ipynb
as example templates for how to use the code; plugging in your own simulator and letting pydelfi do it's thing.
If you have a set of pre-run simulations you'd like to throw in rather than allowing pydelfi to run simulations on-the-fly, look at cosmic_shear_prerun_sims.ipynb
as a template for how to do this.
If you are interested in using pydelfi with nuisance hardened data compression to project out nuisances (Alsing & Wandelt 2019), take a look at jla_sne_marginalized.ipynb
.
Documentation can be found here (work in progress).
If you are interested in applying pydelfi to your problem but need some help getting started, or have an application that requires adaptations of the code, don't hesitate to get in touch with us (at justin.alsing@fysik.su.se) or open an issue - we welcome collaboration!