ZhaoyuTina / JetNet

ML + Jets Integration.

Home Page:https://jetnet.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JetNet

DOI PyPI Version Documentation Status PyPI Downloads Codestyle

A library for developing and reproducing jet-based machine learning (ML) projects.

JetNet provides common standardized PyTorch-based datasets, evaluation metrics, and loss functions for working with jets using ML. Currently supports the flagship JetNet dataset, and the Fréchet ParticleNet Distance (FPND), Wasserstein-1 (W1), coverage and minimum matching distance (MMD) metrics all introduced in Ref. [1], as well as jet utilities and differentiable implementation of the energy mover's distance [2] for use as a loss function. Additional functionality is currently under development.

Installation

JetNet can be installed with pip:

pip install jetnet

To use the differentiable EMD loss jetnet.losses.EMDLoss, additional libraries must be installed via

pip install "jetnet[emdloss]"

Finally, PyTorch Geometric must be installed independently for the Fréchet ParticleNet Distance metric jetnet.evaluation.fpnd (Installation instructions).

Quickstart

Datasets can be loaded quickly with, for example:

dataset = jetnet.datasets.JetNet(jet_type='g')

Evaluation metrics can be used as such:

generated_jets = np.random.rand(50000, 30, 3)
fpnd_score = jetnet.evaluation.fpnd(generated_jets, jet_type='g')

Loss functions can be initialized and used similarly to standard PyTorch in-built losses such as MSE:

emd_loss = jetnet.losses.EMDLoss(num_particles=30)
loss = emd_loss(real_jets, generated_jets)
loss.backward()

Documentation

Full API reference is available at jetnet.readthedocs.io.

More detailed information about each dataset can (or will) be found at jet-net.github.io.

Tutorials for datasets and functions are coming soon.

Citation

If you find this library useful for your research, please consider citing our original paper which introduces it [1].

Additionally, if you use our EMD loss implementation, please cite the respective qpth or cvxpy libraries, depending on the method used (qpth by default).

References

[1] R. Kansal et al. Particle Cloud Generation with Message Passing Generative Adversarial Networks (NeurIPS 2021) [2106.11535]

[2] P. T. Komiske, E. M. Metodiev, and J. Thaler, The Metric Space of Collider Events, Phys. Rev. Lett. 123 (2019) 041801 [1902.02346].

About

ML + Jets Integration.

https://jetnet.readthedocs.io

License:MIT License


Languages

Language:Python 100.0%