Skip to main content

Likelihood inference with neural network acceleration

Project description

LINNA

https://img.shields.io/pypi/v/linna.svg https://github.com/chto/linna/actions/workflows/check.yml/badge.svg Documentation Status https://img.shields.io/badge/arXiv-<INDEX>-<COLOR>.svg

Linna (Likelihood Inference Neural Network Accelerator) is a tool to accelerate Bayesian posterior inferences using artificial neural networks.

  • Linna automatically builds training data, trains the neural network, and produces a Markov chain that samples the posterior.

  • Reduces the runtime of survey cosmological analyses of the Dark Energy Survey by a factor 8-50.

  • Linna is verified to enable accurate and efficicient sampling for Vera Rubin Observatory’s Legacy Survey of Space and Time (LSST) year 10 multi-probe analyses.

  • Linna is explicity verified for the following three multi-probe analysese:
    • 3x2pt, a joint analysis of galaxy clustering, galaxy–galaxy lensing, and cosmic shear.

    • 4x2pt+N, a joint analysis of cluster–galaxy cross correlations, cluster lensing, cluster clustering, and cluster abundances.

    • 6x2pt+N, a joint analysis of data vectors in 3x2pt and 4x2pt+N.

Documentation

Read the docs at https://linna.readthedocs.io/en/latest/readme.html#documentation

Installation

git clone https://github.com/chto/linna.git
cd linna
python setup.py install

Example

For example, if you want to sample a 33 dimensional gaussian spaces, you can do

import numpy as np
import matplotlib.pyplot as plt
from linna.main import ml_sampler
from linna.util import *
#Define gaussian
ndim = 33
init =  np.random.uniform(size=ndim)
means = np.random.uniform(size=ndim)
cov = np.diag(0.1*np.random.uniform(size=ndim))
priors = []
for i in range(ndim):
    priors.append({
        'param': 'test_{0}'.format(i),
        'dist': 'flat',
        'arg1': -5.,
        'arg2': 5.
    })
def theory(x, outdirs):
    x_new = deepcopy(x[1])
    return x_new
#LINNA
nwalkers = 4 #Number of mcmc walker
pool = None
outdir = os.path.abspath(os.getcwd())+"/out/2dgaussian/"
chain, logprob = ml_sampler(outdir, theory, priors, means, cov, init, pool, nwalkers, gpunode=None, nepoch=101)

History

0.0.1 (2022-01-18)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

linna-0.0.3.tar.gz (980.6 kB view details)

Uploaded Source

File details

Details for the file linna-0.0.3.tar.gz.

File metadata

  • Download URL: linna-0.0.3.tar.gz
  • Upload date:
  • Size: 980.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.2 importlib-metadata/4.8.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.7

File hashes

Hashes for linna-0.0.3.tar.gz
Algorithm Hash digest
SHA256 be00314ba9b4009ba65c112233f3bfd3982f5e7ad50bbab7e51fa3310506783c
MD5 76d21bd302a03a3132f19173ecfbc25a
BLAKE2b-256 e26ce3861cbe57a1b9c48ca69cae313ce85b75c16d48282e6aed36b2bc7caa68

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page