ltu-ili

Robust ML in Astro

https://github.com/maho3/ltu-ili

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.1%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Robust ML in Astro

Basic Info
Statistics
  • Stars: 63
  • Watchers: 7
  • Forks: 12
  • Open Issues: 20
  • Releases: 2
Created over 3 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog Contributing Citation

README.md

LtU-ILI

All Contributors unittest codecov docs

The Learning the Universe Implicit Likelihood Inference (LtU-ILI) pipeline is an all-in-one framework for performing machine learning parameter inference in astrophysics and cosmology. Given labeled training data ${(xi,\thetai)}_{i=1}^N$ or a stochastic simulator $x(\theta)$, LtU-ILI is designed to automatically train state-of-the-art neural networks to learn the data-parameter relationship and produce robust, well-calibrated posterior inference.

The pipeline is quick and easy to set up; here's an example of training a Masked Autoregressive Flow (MAF) network to predict a posterior over parameters $y$, given input data $x$:

```python ... # Imports

X, Y = load_data() # Load training data and parameters loader = ili.data.NumpyLoader(X, Y) # Create a data loader

trainer = ili.inference.InferenceRunner.load( backend = 'sbi', engine='NPE', # Choose a backend and inference engine (here, Neural Posterior Estimation) prior = ili.utils.Uniform(low=-1, high=1), # Define a prior # Define a neural network architecture (here, MAF) nets = [ili.utils.loadndesbi(engine='NPE', model='maf')]
)

posterior, _ = trainer(loader) # Run training to map data -> parameters

samples = posterior.sample( # Generate 1000 samples from the posterior for input x[0] x=X[0], sample_shape=(1000,) ) ``` Beyond this simple example, LtU-ILI comes with a wide range of customizable complexity, including: * Posterior-, Likelihood-, and Ratio-Estimation methods for ILI, including Sequential learning analogs * Various neural density estimators (Mixture Density Networks, Conditional Normalizing Flows, ResNet-like ratio classifiers) * Fully-customizable, exotic embedding networks (including CNNs and Graph Neural Networks) * A unified interface for multiple ILI backends (sbi, pydelfi, and lampe) * Multiple marginal and multivariate posterior coverage metrics * Jupyter and command-line interfaces * A parallelizable configuration framework for efficient hyperparameter tuning and production runs

For more details on the motivation, design, and theoretical background of this project, see the software release paper.

Getting Started

To install LtU-ILI, follow the instructions in INSTALL.md.

To get started, try out the tutorial for the Jupyter notebook interface in notebooks/tutorial.ipynb or the command line interface in examples/.

API Documentation

The documentation for this project can be found at this link.

References

We keep an updated repository of relevant interesting papers and resources at this link.

Contributing

Before contributing, please familiarize yourself with the contribution workflow described in CONTRIBUTING.md.

Recent Changes

We keep a record of recent changes in the project in the CHANGELOG.md file. If you are interested in the latest features, bug fixes, and improvements, you can find them there.

Contact

If you have comments, questions, or feedback, please write us an issue. The current leads of the Learning the Universe ILI working group are Benjamin Wandelt (benwandelt@gmail.com) and Matthew Ho (matthew.annam.ho@gmail.com).

Contributors

Matt Ho
Matt Ho

💻 🎨 💡 📖 👀 🚇 🖋 🔬
Deaglan Bartlett
Deaglan Bartlett

💻 🎨 💡 📖 👀 🚇 🖋 🔬
Nicolas Chartier
Nicolas Chartier

💡 📖 🔬 💻 🎨 👀 🖋
Carolina Cuesta
Carolina Cuesta

💻 🎨 💡 📖 👀 🔬
Simon
Simon

💻 💡
Axel Lapel
Axel Lapel

💻 🔬 💡
Pablo Lemos
Pablo Lemos

🎨 💻
Chris Lovell
Chris Lovell

🔬 💡 🔣 🖋
T. Lucas Makinen
T. Lucas Makinen

💻 🔬
Chirag Modi
Chirag Modi

🎨 💻
Shivam Pandey
Shivam Pandey

🔬 💡
L.A. Perez
L.A. Perez

🔬 🖋

Acknowledgements

This work is supported by the Simons Foundation through the Simons Collaboration on Learning the Universe.

Owner

  • Name: Matt Ho
  • Login: maho3
  • Kind: user
  • Location: Pittsburgh, PA

Physics PhD at Carnegie Mellon University. Interested in applying data science and machine learning to solve problems in cosmology.

Citation (CITATION.bib)

@article{Ho2024LtU-ILI:,
	journal={The Open Journal of Astrophysics},
	doi={10.33232/001c.120559},
	publisher={Maynooth Academic Publishing},
	title={LtU-ILI: An All-in-One Framework for Implicit Inference in Astrophysics and Cosmology},
	volume=7,
	author={Ho, Matthew and Bartlett, Deaglan J. and Chartier, Nicolas and Cuesta-Lazaro, Carolina and Ding, Simon and Lapel, Axel and Lemos, Pablo and Lovell, Christopher C. and Makinen, T. Lucas and Modi, Chirag and Pandya, Viraj and Pandey, Shivam and Perez, Lucia A. and Wandelt, Benjamin and Bryan, Greg L.},
	date={2024-07-03},
	year=2024,
	month=7,
	day=3,
}

GitHub Events

Total
  • Create event: 15
  • Issues event: 15
  • Release event: 2
  • Watch event: 12
  • Delete event: 11
  • Issue comment event: 31
  • Push event: 111
  • Pull request review comment event: 43
  • Pull request review event: 33
  • Pull request event: 25
  • Fork event: 2
Last Year
  • Create event: 15
  • Issues event: 15
  • Release event: 2
  • Watch event: 12
  • Delete event: 11
  • Issue comment event: 31
  • Push event: 111
  • Pull request review comment event: 43
  • Pull request review event: 33
  • Pull request event: 25
  • Fork event: 2

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 10
  • Total pull requests: 8
  • Average time to close issues: 4 months
  • Average time to close pull requests: 1 day
  • Total issue authors: 4
  • Total pull request authors: 4
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.63
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 9
  • Pull requests: 8
  • Average time to close issues: 4 days
  • Average time to close pull requests: 1 day
  • Issue authors: 3
  • Pull request authors: 4
  • Average comments per issue: 0.56
  • Average comments per pull request: 0.63
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • maho3 (28)
  • DeaglanBartlett (4)
  • CompiledAtBirth (2)
  • zengjice1991 (1)
  • tlmakinen (1)
  • christopherlovell (1)
  • jwuphysics (1)
  • oscar-macias (1)
Pull Request Authors
  • maho3 (28)
  • DeaglanBartlett (5)
  • tlmakinen (2)
  • christopherlovell (2)
  • eltociear (1)
  • AsianTaco (1)
Top Labels
Issue Labels
enhancement (2) bug (1) priority: high (1) difficulty: easy (1)
Pull Request Labels

Dependencies

docs/requirements.txt pypi
  • myst-parser *
setup.py pypi