Jets + ML integration
Project description
For developing and reproducing ML + HEP projects.
JetNet • Installation • Quickstart • Docs • Citation • References
JetNet
JetNet is an effort to increase accessibility and reproducibility in jet-based machine learning.
Currently we provide:
- Easy-to-access and standardised interfaces for the following datasets:
- Standard implementations of generative evaluation metrics (Ref. [1]):
- Fréchet ParticleNet Distance (FPND)
- Wasserstein-1 (W1)
- coverage and minimum matching distance (MMD)
- Loss functions:
- Differentiable implementation of the energy mover's distance [2]
- And more general jet utilities.
Additional functionality is under development, and please reach out if you're interested in contributing!
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 downloaded and accessed quickly, for example:
from jetnet.datasets import JetNet, TopTagging
# as numpy arrays:
particle_data, jet_data = JetNet.getData(jet_type=["g", "q"], data_dir="./datasets/jetnet/")
# or as a PyTorch dataset:
dataset = TopTagging(jet_type="all", , data_dir="./datasets/toptagging/", split="train")
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
The 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.