Skip to main content

PyTorch Implementation of INFERNO

Project description

Title

pypi pytorch_inferno version pytorch_inferno python compatibility pytorch_inferno license CI DOI

PyTorch INFERNO

Documentation: https://gilesstrong.github.io/pytorch_inferno/

This package provides a PyTorch implementation of INFERNO (de Castro and Dorigo, 2018), along with a minimal high-level wrapper for training and applying PyTorch models, and running statistical inference of parameters of interest in the presence of nuisance parameters. INFERNO is implemented in the form of a callback, allowing it to be dropped in and swapped out with heavy rewriting of code.

For an overview of the package, a breakdown of the INFERNO algorithm, and an introduction to parameter inference in HEP, I have written a 5-post blog series: https://gilesstrong.github.io/website/statistics/hep/inferno/2020/12/04/inferno-1.html

The authors' Tensorflow 1 code may be found here: https://github.com/pablodecm/paper-inferno And Lukas Layer's Tenforflow 2 version may be found here: https://github.com/llayer/inferno

User install

pip install pytorch_inferno

Developer install

[install torch>=1.7 according to CUDA version]
pip install nbdev fastcore numpy pandas fastprogress matplotlib>=3.0.0 seaborn scipy
git clone git@github.com:GilesStrong/pytorch_inferno.git
cd pytorch_inferno
pip install -e .
nbdev_install_git_hooks

Overview

Library developed and testing in nbs directory.

Experiments run in experiments directory.

Use nbdev_build_lib to export code to library located in pytorch_inferno. This overwrites any changes in pytorch_inferno, i.e. only edit the notebooks.

Results

This package has been tested against the paper problem and reproduces its results within uncertainty title

Reference

If you have used this implementation of INFERNO in your analysis work and wish to cite it, the preferred reference is: Giles C. Strong, pytorch_inferno, Zenodo (Mar. 2021), http://doi.org/10.5281/zenodo.4597140, Note: Please check https://github.com/GilesStrong/pytorch_inferno/graphs/contributors for the full list of contributors

@misc{giles_chatham_strong_2021_4597140,  
  author       = {Giles Chatham Strong},  
  title        = {LUMIN},  
  month        = mar,  
  year         = 2021,  
  note         = {{Please check https://github.com/GilesStrong/pytorch_inferno/graphs/contributors for the full list of contributors}},  
  doi          = {10.5281/zenodo.4597140},  
  url          = {https://doi.org/10.5281/zenodo.4597140}  
}

The INFERNO algorithm should also be cited:

@article{DECASTRO2019170,
    title = {INFERNO: Inference-Aware Neural Optimisation},
    journal = {Computer Physics Communications},
    volume = {244},
    pages = {170-179},
    year = {2019},
    issn = {0010-4655},
    doi = {https://doi.org/10.1016/j.cpc.2019.06.007},
    url = {https://www.sciencedirect.com/science/article/pii/S0010465519301948},
    author = {Pablo {de Castro} and Tommaso Dorigo},
}

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

pytorch_inferno-0.2.2.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

pytorch_inferno-0.2.2-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file pytorch_inferno-0.2.2.tar.gz.

File metadata

  • Download URL: pytorch_inferno-0.2.2.tar.gz
  • Upload date:
  • Size: 21.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.4.2 requests/2.24.0 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for pytorch_inferno-0.2.2.tar.gz
Algorithm Hash digest
SHA256 a4ca0d35b115c23e77a9da17c76d938bce03e9c1e8c0256f3baf6b491fad81db
MD5 827093e4c97b4fd2f582775310a073ff
BLAKE2b-256 24498b99e968a8750666322903c1b94d237f6e70968e31c4043e4bba3d76cb92

See more details on using hashes here.

File details

Details for the file pytorch_inferno-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: pytorch_inferno-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 21.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.4.2 requests/2.24.0 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for pytorch_inferno-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 94ac1501a1d143e6117663f05c81e6076df3a58e78ff7d1f3cd0a1302984990b
MD5 de318a99da44415c43fea45894d5aa78
BLAKE2b-256 f1230d418bbbe3521ef83a313c8c04a151920aceabe92f9154ad9567d434d496

See more details on using hashes here.

Supported by

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