Skip to main content

Jets + ML integration

Project description

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].

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

jetnet-0.1.1.tar.gz (3.7 MB view hashes)

Uploaded Source

Built Distribution

jetnet-0.1.1-py3-none-any.whl (3.7 MB view hashes)

Uploaded Python 3

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