Skip to content

rkansal47/JetNet-Old

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JetNet

This project has moved to the Jet-Net organization's repository.

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