From 3f3f6a12de3cb518c61a87ffe693e158663fd457 Mon Sep 17 00:00:00 2001 From: Alex Shmakov Date: Tue, 20 Dec 2022 17:43:25 -0800 Subject: [PATCH 01/13] Fix bug where you couldn't feed in batch size 1. --- spanet/network/layers/branch_decoder.py | 7 ++++--- spanet/network/layers/linear_block/masking.py | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/spanet/network/layers/branch_decoder.py b/spanet/network/layers/branch_decoder.py index e00fa98..68000f7 100644 --- a/spanet/network/layers/branch_decoder.py +++ b/spanet/network/layers/branch_decoder.py @@ -75,8 +75,9 @@ def create_output_mask(self, output: Tensor, sequence_mask: Tensor) -> Tensor: # ========================================================================================= # Padding mask # ========================================================================================= - padding_mask_operands = [batch_sequence_mask.squeeze() * 1] * self.degree + padding_mask_operands = [batch_sequence_mask.squeeze(-1) * 1] * self.degree padding_mask = torch.einsum(self.padding_mask_operation, *padding_mask_operands) + padding_mask = padding_mask.bool() # ========================================================================================= # Diagonal mask @@ -92,7 +93,7 @@ def create_output_mask(self, output: Tensor, sequence_mask: Tensor) -> Tensor: diagonal_mask = diagonal_mask.unsqueeze(0) < (num_jets + 1 - self.degree) self.diagonal_masks[(num_jets, output.device)] = diagonal_mask - return (padding_mask * diagonal_mask).bool() + return (padding_mask & diagonal_mask).bool() def forward( self, @@ -130,7 +131,7 @@ def forward( # Run the encoded vectors through the classifier. # detection: [B, 1] # ----------------------------------------------- - detection = self.detection_classifier(particle_vector).squeeze() + detection = self.detection_classifier(particle_vector).squeeze(-1) # -------------------------------------------------------- # Extract sequential vectors only for the assignment step. diff --git a/spanet/network/layers/linear_block/masking.py b/spanet/network/layers/linear_block/masking.py index f108f2e..fd65152 100644 --- a/spanet/network/layers/linear_block/masking.py +++ b/spanet/network/layers/linear_block/masking.py @@ -11,7 +11,7 @@ def forward(self, values, sequence_mask): # noinspection PyMethodMayBeStatic class MultiplicativeMasking(nn.Module): def forward(self, values, sequence_mask): - return values * sequence_mask + return values * sequence_mask.to(values.dtype) # noinspection PyMethodMayBeStatic From d718daa6dee6b637cddd6c2eb4d6c41a7235fd8e Mon Sep 17 00:00:00 2001 From: Alex Shmakov Date: Tue, 20 Dec 2022 17:44:06 -0800 Subject: [PATCH 02/13] Added export script to create onnx file from trained model for offline inference. --- spanet/evaluation.py | 33 ++-- spanet/export.py | 155 ++++++++++++++++++ .../network/layers/linear_block/__init__.py | 10 +- spanet/network/layers/transformer/__init__.py | 14 +- 4 files changed, 186 insertions(+), 26 deletions(-) create mode 100644 spanet/export.py diff --git a/spanet/evaluation.py b/spanet/evaluation.py index 710caf3..e71492a 100644 --- a/spanet/evaluation.py +++ b/spanet/evaluation.py @@ -5,6 +5,9 @@ import torch from tqdm import tqdm +import rich +from rich import progress + from spanet import JetReconstructionModel, Options from spanet.dataset.types import Evaluation from spanet.network.jet_reconstruction.jet_reconstruction_network import extract_predictions @@ -23,13 +26,19 @@ def tree_concatenate(tree): return output -def load_model(log_directory: str, - testing_file: Optional[str] = None, - event_info_file: Optional[str] = None, - batch_size: Optional[int] = None, - cuda: bool = False) -> JetReconstructionModel: +def load_model( + log_directory: str, + testing_file: Optional[str] = None, + event_info_file: Optional[str] = None, + batch_size: Optional[int] = None, + cuda: bool = False, + checkpoint: Optional[str] = None +) -> JetReconstructionModel: # Load the best-performing checkpoint on validation data - checkpoint = sorted(glob(f"{log_directory}/checkpoints/epoch*"))[-1] + if checkpoint is None: + checkpoint = sorted(glob(f"{log_directory}/checkpoints/epoch*"))[-1] + print(f"Loading: {checkpoint}") + checkpoint = torch.load(checkpoint, map_location='cpu') checkpoint = checkpoint["state_dict"] @@ -46,10 +55,6 @@ def load_model(log_directory: str, if batch_size is not None: options.batch_size = batch_size - # We need a testing file defined somewhere to continue - if options.testing_file is None or options.testing_file == "": - raise ValueError("No testing file found in model options or provided to test.py.") - # Create model and disable all training operations for speed model = JetReconstructionModel(options) model.load_state_dict(checkpoint) @@ -63,7 +68,7 @@ def load_model(log_directory: str, return model -def evaluate_on_test_dataset(model: JetReconstructionModel) -> Evaluation: +def evaluate_on_test_dataset(model: JetReconstructionModel, progress=progress) -> Evaluation: full_assignments = defaultdict(list) full_assignment_probabilities = defaultdict(list) full_detection_probabilities = defaultdict(list) @@ -71,7 +76,11 @@ def evaluate_on_test_dataset(model: JetReconstructionModel) -> Evaluation: full_classifications = defaultdict(list) full_regressions = defaultdict(list) - for batch in tqdm(model.test_dataloader(), desc="Evaluating Model"): + dataloader = model.test_dataloader() + if progress: + dataloader = progress.track(model.test_dataloader(), description="Evaluating Model") + + for batch in dataloader: sources = [[x[0].to(model.device), x[1].to(model.device)] for x in batch.sources] outputs = model.forward(sources) diff --git a/spanet/export.py b/spanet/export.py new file mode 100644 index 0000000..9978c9b --- /dev/null +++ b/spanet/export.py @@ -0,0 +1,155 @@ +from argparse import ArgumentParser +from typing import List + +import torch +from torch.nn import functional as F +from torch.utils._pytree import tree_map + +import pytorch_lightning as pl + +from spanet import JetReconstructionModel +from spanet.dataset.types import Source +from spanet.evaluation import load_model + + +class WrappedModel(pl.LightningModule): + def __init__( + self, + model: JetReconstructionModel, + input_log_transform: bool = False, + output_log_transform: bool = False + ): + super(WrappedModel, self).__init__() + + self.model = model + self.input_log_transform = input_log_transform + self.output_log_transform = output_log_transform + + def apply_input_log_transform(self, sources): + new_sources = [] + for (data, mask), name in zip(sources, self.self.model.event_info.input_names): + data = torch.clone(data) + + for i, log_transformer in enumerate(self.self.model.event_info.log_features(name)): + if log_transformer: + data[:, :, i].log_() + + new_sources.append(Source(data, mask)) + return new_sources + + def forward(self, sources: List[Source]): + if self.input_log_transform: + sources = self.apply_input_log_transform(sources) + + outputs = self.model(sources) + + if self.output_log_transform: + assignments = [assignment for assignment in outputs.assignments] + detections = [F.logsigmoid(detection) for detection in outputs.detections] + else: + assignments = [assignment.exp() for assignment in outputs.assignments] + detections = [torch.sigmoid(detection) for detection in outputs.detections] + + regressions = [ + outputs.regressions[key] + for key in self.model.training_dataset.regressions.keys() + ] + + classifications = [ + outputs.classifications[key] + for key in self.model.training_dataset.classifications.keys() + ] + + return *assignments, *detections, *regressions, *classifications + + +def onnx_specification(model, output_log_transform: bool = False): + input_names = [] + output_names = [] + + dynamic_axes = {} + + for input_name in model.event_info.input_names: + for input_type in ["data", "mask"]: + current_input = f"{input_name}_{input_type}" + input_names.append(current_input) + dynamic_axes[current_input] = { + 0: 'batch_size', + 1: f'num_{input_name}' + } + + if output_log_transform: + output_names.append(f"{input_name}_assignment_log_probability") + else: + output_names.append(f"{input_name}_assignment_probability") + + for input_name in model.event_info.input_names: + if output_log_transform: + output_names.append(f"{input_name}_detection_log_probability") + else: + output_names.append(f"{input_name}_detection_probability") + + for regression in model.training_dataset.regressions.keys(): + output_names.append(regression) + + for classification in model.training_dataset.classifications.keys(): + output_names.append(classification) + + return input_names, output_names, dynamic_axes + + +def main( + log_directory: str, + output_file: str, + input_log_transform: bool, + output_log_transform: bool, + gpu: bool +): + model = load_model(log_directory, cuda=gpu) + + # Create wrapped model with flat inputs and outputs + wrapped_model = WrappedModel(model, input_log_transform, output_log_transform) + wrapped_model.to(model.device) + wrapped_model.eval() + for parameter in wrapped_model.parameters(): + parameter.requires_grad_(False) + + input_names, output_names, dynamic_axes = onnx_specification(model, output_log_transform) + + batch = next(iter(model.train_dataloader())) + sources = batch.sources + if gpu: + sources = tree_map(lambda x: x.cuda(), batch.sources) + sources = tree_map(lambda x: x[:1], sources) + + print("-" * 60) + print(f"Compiling network to ONNX model: {output_file}") + print("-" * 60) + wrapped_model.to_onnx( + output_file, + sources, + input_names=input_names, + output_names=output_names, + dynamic_axes=dynamic_axes + ) + + +if __name__ == '__main__': + parser = ArgumentParser() + parser.add_argument("log_directory", type=str, + help="Pytorch Lightning Log directory containing the checkpoint and options file.") + + parser.add_argument("output_file", type=str, + help="Name to output the ONNX model to.") + + parser.add_argument("-g", "--gpu", action="store_true", + help="Trace the network on a gpu.") + + parser.add_argument("--input-log-transform", action="store_true", + help="Exported model will apply log transformations to input features automatically.") + + parser.add_argument("--output-log-transform", action="store_true", + help="Exported model will output log probabilities. This is more numerically stable.") + + arguments = parser.parse_args() + main(**arguments.__dict__) diff --git a/spanet/network/layers/linear_block/__init__.py b/spanet/network/layers/linear_block/__init__.py index 38806fa..20ee1a9 100644 --- a/spanet/network/layers/linear_block/__init__.py +++ b/spanet/network/layers/linear_block/__init__.py @@ -1,5 +1,3 @@ -from torch import jit - from spanet.options import Options from spanet.network.layers.linear_block.gru_block import GRUBlock from spanet.network.layers.linear_block.basic_block import BasicBlock @@ -17,10 +15,10 @@ def create_linear_block( linear_block_type = linear_block_type.lower().replace("_", "").replace(" ", "") if linear_block_type == "resnet": - return jit.script(ResNetBlock(options, input_dim, output_dim, skip_connection)) + return ResNetBlock(options, input_dim, output_dim, skip_connection) elif linear_block_type == 'gated': - return jit.script(GatedBlock(options, input_dim, output_dim, skip_connection)) + return GatedBlock(options, input_dim, output_dim, skip_connection) elif linear_block_type == 'gru': - return jit.script(GRUBlock(options, input_dim, output_dim, skip_connection)) + return GRUBlock(options, input_dim, output_dim, skip_connection) else: - return jit.script(BasicBlock(options, input_dim, output_dim, skip_connection)) + return BasicBlock(options, input_dim, output_dim, skip_connection) diff --git a/spanet/network/layers/transformer/__init__.py b/spanet/network/layers/transformer/__init__.py index 6b08e42..dbe31c1 100644 --- a/spanet/network/layers/transformer/__init__.py +++ b/spanet/network/layers/transformer/__init__.py @@ -1,5 +1,3 @@ -from torch import jit - from spanet.options import Options from spanet.network.layers.transformer.transformer_base import TransformerBase @@ -16,15 +14,15 @@ def create_transformer( transformer_type = transformer_type.lower().replace("_", "").replace(" ", "") if num_layers <= 0: - return jit.script(TransformerBase(options, num_layers)) + return TransformerBase(options, num_layers) if transformer_type == "standard": - return jit.script(StandardTransformer(options, num_layers)) + return StandardTransformer(options, num_layers) elif transformer_type == 'normfirst': - return jit.script(NormFirstTransformer(options, num_layers)) + return NormFirstTransformer(options, num_layers) elif transformer_type == 'gated': - return jit.script(GatedTransformer(options, num_layers)) + return GatedTransformer(options, num_layers) elif transformer_type == 'gtrxl': - return jit.script(GatedTransformer(options, num_layers)) + return GatedTransformer(options, num_layers) else: - return jit.script(TransformerBase(options, num_layers)) + return TransformerBase(options, num_layers) From f2aaea03a8ba4aa18f3ef06e4796e6c2e3f5a5bf Mon Sep 17 00:00:00 2001 From: Alex Shmakov Date: Wed, 21 Dec 2022 10:42:59 -0800 Subject: [PATCH 03/13] Allow for more precise dataset split --- spanet/train.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spanet/train.py b/spanet/train.py index 22b8075..fef39e8 100644 --- a/spanet/train.py +++ b/spanet/train.py @@ -46,7 +46,7 @@ def main( gpus: Optional[int], epochs: Optional[int], batch_size: Optional[int], - limit_dataset: Optional[int], + limit_dataset: Optional[float], random_seed: int, ): @@ -244,7 +244,7 @@ def main( parser.add_argument("-f", "--full_events", action='store_true', help="Limit training to only full events.") - parser.add_argument("-p", "--limit_dataset", type=int, default=None, + parser.add_argument("-p", "--limit_dataset", type=float, default=None, help="Limit dataset to only the first L percent of the data (0 - 100).") parser.add_argument("-r", "--random_seed", type=int, default=0, From 2e019e61cf37cb7df2865d2d751073886c289a9a Mon Sep 17 00:00:00 2001 From: Alex Shmakov Date: Wed, 21 Dec 2022 11:01:34 -0800 Subject: [PATCH 04/13] Fix exported model output names. --- spanet/export.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/spanet/export.py b/spanet/export.py index 9978c9b..8d14a83 100644 --- a/spanet/export.py +++ b/spanet/export.py @@ -78,16 +78,17 @@ def onnx_specification(model, output_log_transform: bool = False): 1: f'num_{input_name}' } + for output_name in model.event_info.event_particles.names: if output_log_transform: - output_names.append(f"{input_name}_assignment_log_probability") + output_names.append(f"{output_name}_assignment_log_probability") else: - output_names.append(f"{input_name}_assignment_probability") + output_names.append(f"{output_name}_assignment_probability") - for input_name in model.event_info.input_names: + for output_name in model.event_info.event_particles.names: if output_log_transform: - output_names.append(f"{input_name}_detection_log_probability") + output_names.append(f"{output_name}_detection_log_probability") else: - output_names.append(f"{input_name}_detection_probability") + output_names.append(f"{output_name}_detection_probability") for regression in model.training_dataset.regressions.keys(): output_names.append(regression) From 72a1b0ede698666383ba1a5c7e3909684ff7b258 Mon Sep 17 00:00:00 2001 From: Alex Shmakov Date: Wed, 21 Dec 2022 11:01:43 -0800 Subject: [PATCH 05/13] Added documentation for export feature. --- README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/README.md b/README.md index 55ab9a2..d7bbd45 100644 --- a/README.md +++ b/README.md @@ -98,6 +98,29 @@ you can evaluate the network again on the example dataset by running. Note that the included example file is very small and you will likely not see very good performance on it. +### Exporting + +Once you are happy with your model, you can export it to an [ONNX](https://onnxruntime.ai/) file to use in external applications. This can be done by running `spanet.export` with the log directory and the desired output file. For example: `python -m spanet.export ./spanet_output/version_0 spanet.onnx`. + +Note that only the neural network is able to be exported, and this network outputs the full reconstruction distributions for every event. Unfortunately, the reconstruction algorithm defined [here](spanet/network/prediction_selection.py) cannot be exported as part of the ONNX graph. If your target application uses python, then you can simply use SPANet's selection algorithm, but non-python applications must define their own selection algorithm. + +The resulting ONNX model will have `2n` inputs, where `n` is the number of sources defined in the event info file. The network requires both the data and mask for all of these inputs to allow for batched inputs with varying jet multiplicities. You may optinally specify `--input-log-transform` in `spanet.export` in order to automatically apply any log transforms to your input features. Otherwise, the user is expected to pre-process the data with the log transform beforehand. Features normalization is stored as part of the network weights and therefore does not need to be applied. + +The data inputs must have shapes: `(batch_size, jet_count, feature_count)` and the masks must have shapes `(batch_size, jet_count)` with data type `bool`. + +You may examine all of the inputs and outputs with the following snippet: +```python +import onnxruntime # to inference ONNX models, we use the ONNX Runtime + +session = onnxruntime.InferenceSession( + "./spanet.onnx", + providers=['CUDAExecutionProvider', 'CPUExecutionProvider'] +) + +print("Inputs:", [input.name for input in session.get_inputs()]) +print("Outputs:", [output.name for output in session.get_outputs()]) +``` + ## Citation If you use this software for a publication, please cite the following:\ ```bibtex From 221f7069152cc070bf20be6e1f56fa2fe95bece5 Mon Sep 17 00:00:00 2001 From: Alex Shmakov Date: Fri, 3 Feb 2023 10:11:20 -0800 Subject: [PATCH 06/13] Added explicit onnx version for backwards compatibility. --- spanet/export.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spanet/export.py b/spanet/export.py index 8d14a83..b4c1802 100644 --- a/spanet/export.py +++ b/spanet/export.py @@ -131,7 +131,8 @@ def main( sources, input_names=input_names, output_names=output_names, - dynamic_axes=dynamic_axes + dynamic_axes=dynamic_axes, + opset_version=13 ) From 1334bf2431bb7a8c74d359508688bd63ca0068bc Mon Sep 17 00:00:00 2001 From: Alex Shmakov Date: Fri, 3 Feb 2023 10:50:42 -0800 Subject: [PATCH 07/13] Bumped dependency versions --- environment.yaml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/environment.yaml b/environment.yaml index 3ce87f7..ad0b9a3 100644 --- a/environment.yaml +++ b/environment.yaml @@ -1,9 +1,12 @@ +name: spanet channels: - pytorch + - nvidia - conda-forge + - nodefaults dependencies: - - python=3.9.* + - python=3.10.* - conda - pip @@ -15,12 +18,13 @@ dependencies: - h5py - cytoolz - - pytorch + - pytorch=1.13.1 + - pytorch-lightning=1.9.0 + - pytorch-cuda=11.7 + - cudatoolkit=11.7 + - cuda-nvcc - torchvision - torchaudio - - cudatoolkit=11.3 - - cuda-nvcc - - pytorch-lightning - jupyterlab - seaborn From cf7761e6a0fbc8e1c16ec489a8cdde13ad1d183d Mon Sep 17 00:00:00 2001 From: Alex Shmakov Date: Fri, 3 Feb 2023 10:56:19 -0800 Subject: [PATCH 08/13] Added missing dependency --- environment.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/environment.yaml b/environment.yaml index ad0b9a3..b55ceae 100644 --- a/environment.yaml +++ b/environment.yaml @@ -26,6 +26,9 @@ dependencies: - torchvision - torchaudio + - tensorboard + - tensorboardx + - jupyterlab - seaborn - rich \ No newline at end of file From 921a1a5ce3f162d3c923fa77b29b48a422f1f03d Mon Sep 17 00:00:00 2001 From: Alex Shmakov Date: Fri, 3 Feb 2023 10:58:29 -0800 Subject: [PATCH 09/13] Added semi-leptonic tth example with new outputs enabled. --- data/full_hadronic_ttbar/example.txt | 22 ++++++ data/semi_leptonic_ttH/example.h5 | Bin 0 -> 825184 bytes data/semi_leptonic_ttH/example.txt | 43 ++++++++++++ event_files/semi_leptonic_ttH.yaml | 66 ++++++++++++++++++ options_files/semi_leptonic_ttH/example.json | 68 +++++++++++++++++++ 5 files changed, 199 insertions(+) create mode 100644 data/full_hadronic_ttbar/example.txt create mode 100644 data/semi_leptonic_ttH/example.h5 create mode 100644 data/semi_leptonic_ttH/example.txt create mode 100644 event_files/semi_leptonic_ttH.yaml create mode 100644 options_files/semi_leptonic_ttH/example.json diff --git a/data/full_hadronic_ttbar/example.txt b/data/full_hadronic_ttbar/example.txt new file mode 100644 index 0000000..7e9d519 --- /dev/null +++ b/data/full_hadronic_ttbar/example.txt @@ -0,0 +1,22 @@ +============================================================ +| Structure for data/full_hadronic_ttbar/example.h5 +============================================================ + +|-INPUTS +|---Source +|-----MASK :: bool : (10000, 10) +|-----btag :: float32 : (10000, 10) +|-----eta :: float32 : (10000, 10) +|-----mass :: float32 : (10000, 10) +|-----phi :: float32 : (10000, 10) +|-----pt :: float32 : (10000, 10) +|-TARGETS +|---t1 +|-----b :: int64 : (10000,) +|-----q1 :: int64 : (10000,) +|-----q2 :: int64 : (10000,) +|---t2 +|-----b :: int64 : (10000,) +|-----q1 :: int64 : (10000,) +|-----q2 :: int64 : (10000,) + diff --git a/data/semi_leptonic_ttH/example.h5 b/data/semi_leptonic_ttH/example.h5 new file mode 100644 index 0000000000000000000000000000000000000000..e5ac81d02ae2d03a8bd1449d680436d08f42a55c GIT binary patch literal 825184 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 BKm`B* literal 0 HcmV?d00001 diff --git a/data/semi_leptonic_ttH/example.txt b/data/semi_leptonic_ttH/example.txt new file mode 100644 index 0000000..f81b875 --- /dev/null +++ b/data/semi_leptonic_ttH/example.txt @@ -0,0 +1,43 @@ +============================================================ +| Structure for data/semi_leptonic_ttH/example.h5 +============================================================ + +|-CLASSIFICATIONS +|---EVENT +|-----signal :: int64 : (1000,) +|-INPUTS +|---Met +|-----met :: float32 : (1000,) +|-----sumet :: float32 : (1000,) +|-----cos_phi :: float32 : (1000,) +|-----sin_phi :: float32 : (1000,) +|---Momenta +|-----MASK :: bool : (1000, 19) +|-----cos_phi :: float32 : (1000, 19) +|-----sin_phi :: float32 : (1000, 19) +|-----eta :: float32 : (1000, 19) +|-----mass :: float32 : (1000, 19) +|-----pt :: float32 : (1000, 19) +|-----btag :: float32 : (1000, 19) +|-----qtag :: float32 : (1000, 19) +|-----etag :: float32 : (1000, 19) +|-----utag :: float32 : (1000, 19) +|-REGRESSIONS +|---EVENT +|-----log_invariant_mass :: float32 : (1000,) +|-----neutrino_eta :: float32 : (1000,) +|-----neutrino_px :: float32 : (1000,) +|-----neutrino_py :: float32 : (1000,) +|-----neutrino_pz :: float32 : (1000,) +|-TARGETS +|---h +|-----b1 :: int64 : (1000,) +|-----b2 :: int64 : (1000,) +|---ht +|-----b :: int64 : (1000,) +|-----q1 :: int64 : (1000,) +|-----q2 :: int64 : (1000,) +|---lt +|-----b :: int64 : (1000,) +|-----l :: int64 : (1000,) + diff --git a/event_files/semi_leptonic_ttH.yaml b/event_files/semi_leptonic_ttH.yaml new file mode 100644 index 0000000..c6f5b90 --- /dev/null +++ b/event_files/semi_leptonic_ttH.yaml @@ -0,0 +1,66 @@ +INPUTS: + SEQUENTIAL: + Momenta: + mass: log_normalize + pt: log_normalize + eta: normalize + + sin_phi: normalize + cos_phi: normalize + + qtag: none + btag: none + etag: none + utag: none + + # --------------------------------------------------------------------- + # REQUIRED - GLOBAL - inputs which will have a single vector per event. + # --------------------------------------------------------------------- + GLOBAL: + Met: + met: log_normalize + sin_phi: normalize + cos_phi: normalize + + +# ---------------------------------------------------------------------- +# REQUIRED - EVENT - Complete list of resonance particles and daughters. +# ---------------------------------------------------------------------- +EVENT: + lt: + - b + + ht: + - b + - q1 + - q2 + h: + - b1 + - b2 + +# --------------------------------------------------------- +# REQUIRED KEY - PERMUTATIONS - List of valid permutations. +# --------------------------------------------------------- +PERMUTATIONS: + ht: + - [ q1, q2 ] + h: + - [ b1, b2 ] + +# ------------------------------------------------------------------------------ +# REQUIRED - REGRESSIONS - List of desired features to regress from observables. +# ------------------------------------------------------------------------------ +REGRESSIONS: + EVENT: + - neutrino_eta + - neutrino_px + - neutrino_py + - neutrino_pz + - log_invariant_mass + +# ------------------------------------------------------------------------------ +# REQUIRED - CLASSIFICATIONS - List of desired features to regress from observables. +# ------------------------------------------------------------------------------ +CLASSIFICATIONS: + EVENT: + - signal diff --git a/options_files/semi_leptonic_ttH/example.json b/options_files/semi_leptonic_ttH/example.json new file mode 100644 index 0000000..7edc535 --- /dev/null +++ b/options_files/semi_leptonic_ttH/example.json @@ -0,0 +1,68 @@ +{ + "hidden_dim": 64, + "transformer_dim": 64, + "initial_embedding_dim": 16, + "position_embedding_dim": 32, + + "num_embedding_layers": 10, + "num_encoder_layers": 6, + + "num_branch_embedding_layers": 5, + "num_branch_encoder_layers": 3, + + "num_jet_embedding_layers": 0, + "num_jet_encoder_layers": 1, + + "num_detector_layers": 2, + "num_regression_layers": 3, + "num_classification_layers": 3, + + "split_symmetric_attention": true, + "num_attention_heads": 4, + "transformer_activation": "gelu", + + "linear_block_type": "GRU", + "transformer_type": "Gated", + "linear_activation": "gelu", + "normalization": "LayerNorm", + "masking": "Filling", + + "skip_connections": true, + "initial_embedding_skip_connections": true, + + "event_info_file": "./event_files/semi_leptonic_ttH.yaml", + "training_file": "./data/semi_leptonic_ttH/example.h5", + + "normalize_features": true, + "limit_to_num_jets": 0, + "balance_jets": false, + "partial_events": true, + "balance_particles": true, + + "dataset_limit": 1.0, + "train_validation_split": 0.95, + "batch_size": 32, + "num_dataloader_workers": 16, + + "mask_sequence_vectors": true, + "combine_pair_loss": "min", + "optimizer": "AdamW", + "focal_gamma": 0.0, + "learning_rate": 0.0015, + "learning_rate_cycles": 5, + "learning_rate_warmup_epochs": 1.0, + + "assignment_loss_scale": 1.0, + "detection_loss_scale": 1.0, + "kl_loss_scale": 0.0, + "regression_loss_scale": 1.0, + "classification_loss_scale": 1.0, + + "l2_penalty": 0.0002, + "gradient_clip": 0.0, + "dropout": 0.0, + + "epochs": 500, + "num_gpu": 1, + "verbose_output": true +} \ No newline at end of file From 51597685bc7b303fb579b7e6b5a659f3d4a37b0f Mon Sep 17 00:00:00 2001 From: Alex Shmakov Date: Fri, 3 Feb 2023 11:22:58 -0800 Subject: [PATCH 10/13] Added new example to documentation. --- README.md | 7 ++- docs/TTH.md | 159 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 docs/TTH.md diff --git a/README.md b/README.md index d7bbd45..1996868 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,8 @@ We recently pushed an updated version 2 of this library which adds several new f 3. New Regression and Classification output heads for performing per-event or per-particle predictions. 4. Gated transformers and linear layers for more robust networks. Less hyperparameter optimization. +An example demonstrating these new features may be found here: [docs/TTH.md](docs/TTH.md). + ## Installation You can install this package to use it outside of the repository after cloning. @@ -64,6 +66,9 @@ for the `ttbar` example](docs/TTBar.md). The full `ttbar` dataset may be downloaded here: http://mlphysics.ics.uci.edu/data/2021_ttbar/. +We also have a more advanced example demonstrating some of the additinoal inputs and outputs available on a semi-leptonic `ttH` event. [Refer to this page for a detailed walk-through +for the `ttH` example](docs/TTH.md). + ## Usage Using this library requires setting up several components. Refer to the following documentation pages in order to learn about the @@ -122,7 +127,7 @@ print("Outputs:", [output.name for output in session.get_outputs()]) ``` ## Citation -If you use this software for a publication, please cite the following:\ +If you use this software for a publication, please cite the following: ```bibtex @Article{10.21468/SciPostPhys.12.5.178, title={{SPANet: Generalized permutationless set assignment for particle physics using symmetry preserving attention}}, diff --git a/docs/TTH.md b/docs/TTH.md new file mode 100644 index 0000000..5d8a6e2 --- /dev/null +++ b/docs/TTH.md @@ -0,0 +1,159 @@ +# Semi-Leptonic `ttH` Example Guide + +Semi-leptonic `ttH` presents an opportunity to display a more complicated event topology, with multiple types of inputs and outputs. This is guide builds upon the `ttbar` example by displaying some more complex features. + +## Event `.yaml` File + +The yaml file describing the event may be found at [`event_files/semi_leptonic_ttH.yaml`](../event_files/semi_leptonic_ttH.yaml). We recreate it here. + +```yaml +INPUTS: + SEQUENTIAL: + Momenta: + mass: log_normalize + pt: log_normalize + eta: normalize + + sin_phi: normalize + cos_phi: normalize + + qtag: none + btag: none + etag: none + utag: none + + GLOBAL: + Met: + met: log_normalize + sin_phi: normalize + cos_phi: normalize + + +EVENT: + lt: + - b + + ht: + - b + - q1 + - q2 + h: + - b1 + - b2 + +PERMUTATIONS: + ht: + - [ q1, q2 ] + h: + - [ b1, b2 ] + +REGRESSIONS: + EVENT: + - neutrino_eta + - neutrino_px + - neutrino_py + - neutrino_pz + - log_invariant_mass + +CLASSIFICATIONS: + EVENT: + - signal +``` + +### Global MET +Notice that we now have several additional sections when compared to `ttbar`. We define a new input which will keep track of the missing neutrino energy. This behaves similarly to our sequential inputs, except that there is exactly one value present for every event. This presents a way of adding extra event-level information that is not assigned to any particular jet or lepton. + +```yaml +GLOBAL: + Met: + met: log_normalize + sin_phi: normalize + cos_phi: normalize +``` + +### Neutrino Regression Reconstruction +We additionally want to estimate some of the lost information about the neutrino which the detector was not able to capture. We extract these values from the simulator and store them. SPANet is able to include additional real-valued regression outputs to estimate these measurements. + +```yaml +REGRESSIONS: + EVENT: + - neutrino_eta + - neutrino_px + - neutrino_py + - neutrino_pz + - log_invariant_mass +``` + +### Signal-Background Separation +We additionally include some 4 bjet `ttbar` events as background to the `ttH` signal. We may train SPANet to distinguish between the signal and background events by including an additional classification output. Each of these outputs is a multi-class classification output, although in this case we only have two classes. +```yaml +CLASSIFICATIONS: + EVENT: + - signal +``` + +## Combined Training +If you specify multiple outputs for SPANet, then all of the outputs will be trained simultaneously. You can control the strength of each target using the following hyperparameters. +```json +// From `options_files/semi_leptonic_ttH/example.json` +"assignment_loss_scale": 1.0, +"detection_loss_scale": 1.0, +"kl_loss_scale": 0.0, +"regression_loss_scale": 1.0, +"classification_loss_scale": 1.0, +``` + +These will control the absolute weight assigned to every loss term in the total loss function. Note that masking out one of the losses for an event will still allow other objectives to be trained. For example, in our `ttH` example, notice that all of the background events lack a reconstruction target. Therefore, the reconstruction heads will ignore background events and the background will only be used to train the regression and classification outputs. Although note that we will still ignore these events and losses if `"partial_events": false` since this depends only on the reconstruction targets. + +## Dataset +We mirror the structure defined in the event info file in the dataset. We include a small example datasets with the correct strcuture to assist in making your own complex events. The HDF5 structure for this dataset is copied below. + +Notice a couple of details: +- `Met` inputs are one-dimensional compared to `Momenta` because we defined the MET to be a global variable in the event info. Note that we also don't need to include a `MASK` for the event variables. +- `CLASSIFICATIONS` inputs are one-dimensional `int64` arrays which will define the class of every event. The total number of classes is inferred from this array. A value of `-1` may be used to indicate no class for a given event, although we do not have such instances in the example. +- `REGRESSIONS` inputs are simple one-dimensional `float32` arrays storing the regression target for every event. A value of float `NaN` may be used to indicate no value for the event, although we do not have such instances in the example. + +``` +============================================================ +| Structure for data/semi_leptonic_ttH/example.h5 +============================================================ + +|-CLASSIFICATIONS +|---EVENT +|-----signal :: int64 : (1000,) +|-INPUTS +|---Met +|-----met :: float32 : (1000,) +|-----sumet :: float32 : (1000,) +|-----cos_phi :: float32 : (1000,) +|-----sin_phi :: float32 : (1000,) +|---Momenta +|-----MASK :: bool : (1000, 19) +|-----cos_phi :: float32 : (1000, 19) +|-----sin_phi :: float32 : (1000, 19) +|-----eta :: float32 : (1000, 19) +|-----mass :: float32 : (1000, 19) +|-----pt :: float32 : (1000, 19) +|-----btag :: float32 : (1000, 19) +|-----qtag :: float32 : (1000, 19) +|-----etag :: float32 : (1000, 19) +|-----utag :: float32 : (1000, 19) +|-REGRESSIONS +|---EVENT +|-----log_invariant_mass :: float32 : (1000,) +|-----neutrino_eta :: float32 : (1000,) +|-----neutrino_px :: float32 : (1000,) +|-----neutrino_py :: float32 : (1000,) +|-----neutrino_pz :: float32 : (1000,) +|-TARGETS +|---h +|-----b1 :: int64 : (1000,) +|-----b2 :: int64 : (1000,) +|---ht +|-----b :: int64 : (1000,) +|-----q1 :: int64 : (1000,) +|-----q2 :: int64 : (1000,) +|---lt +|-----b :: int64 : (1000,) +|-----l :: int64 : (1000,) +``` \ No newline at end of file From 3d28412dae07363a9a6faa0e8e14720d4ca07c94 Mon Sep 17 00:00:00 2001 From: Alex Shmakov Date: Fri, 3 Feb 2023 18:01:43 -0800 Subject: [PATCH 11/13] Fix included log transform --- spanet/export.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/spanet/export.py b/spanet/export.py index b4c1802..09eb925 100644 --- a/spanet/export.py +++ b/spanet/export.py @@ -27,14 +27,13 @@ def __init__( def apply_input_log_transform(self, sources): new_sources = [] - for (data, mask), name in zip(sources, self.self.model.event_info.input_names): - data = torch.clone(data) + for (data, mask), name in zip(sources, self.model.event_info.input_names): + new_data = torch.stack([ + mask * torch.log(data[:, :, i] + 1) if log_transformer else data[:, :, i] + for i, log_transformer in enumerate(self.model.event_info.log_features(name)) + ], -1) - for i, log_transformer in enumerate(self.self.model.event_info.log_features(name)): - if log_transformer: - data[:, :, i].log_() - - new_sources.append(Source(data, mask)) + new_sources.append(Source(new_data, mask)) return new_sources def forward(self, sources: List[Source]): From a7dd2f9b86c879578baa7a41c2dea7888348c3a9 Mon Sep 17 00:00:00 2001 From: Alex Shmakov Date: Tue, 7 Feb 2023 16:12:30 -0800 Subject: [PATCH 12/13] Added more export documentation. --- README.md | 39 +++++++++++++++++++++++++++++++++++---- spanet/export.py | 16 +++++++++++----- 2 files changed, 46 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 1996868..8b22bb8 100644 --- a/README.md +++ b/README.md @@ -109,10 +109,6 @@ Once you are happy with your model, you can export it to an [ONNX](https://onnxr Note that only the neural network is able to be exported, and this network outputs the full reconstruction distributions for every event. Unfortunately, the reconstruction algorithm defined [here](spanet/network/prediction_selection.py) cannot be exported as part of the ONNX graph. If your target application uses python, then you can simply use SPANet's selection algorithm, but non-python applications must define their own selection algorithm. -The resulting ONNX model will have `2n` inputs, where `n` is the number of sources defined in the event info file. The network requires both the data and mask for all of these inputs to allow for batched inputs with varying jet multiplicities. You may optinally specify `--input-log-transform` in `spanet.export` in order to automatically apply any log transforms to your input features. Otherwise, the user is expected to pre-process the data with the log transform beforehand. Features normalization is stored as part of the network weights and therefore does not need to be applied. - -The data inputs must have shapes: `(batch_size, jet_count, feature_count)` and the masks must have shapes `(batch_size, jet_count)` with data type `bool`. - You may examine all of the inputs and outputs with the following snippet: ```python import onnxruntime # to inference ONNX models, we use the ONNX Runtime @@ -126,6 +122,41 @@ print("Inputs:", [input.name for input in session.get_inputs()]) print("Outputs:", [output.name for output in session.get_outputs()]) ``` +#### Inputs + +| Input | Shape | DType | +|---------------------------|-------------|-------| +| {sequential_input_1}_data | (B, N1, D1) | float | +| {sequential_input_1}_mask | (B, N1) | bool | +| {sequential_input_2}_data | (B, N2, D2) | float | +| {sequential_input_2}_mask | (B, N2) | bool | +| {global_input_1}_data | (B, 1, D1) | float | +| {global_input_1}_mask | (B, 1) | bool | +| {global_input_2}_data | (B, 1, D2) | float | +| {global_input_2}_mask | (B, 1) | bool | + +The ONNX model expects two inputs for every `INPUT` defined in the event file. Replace the values in the braces with their appropriate names. The data contains the features for each input. The features must be provided in the **exact order** that they are defined in the event file. Notice that global inputs require a dummy axis to be added to match the overall shape of the sequential inputs. + +**Log Features:** Any features marked either `log` or `log_normalize` must have the following preprocessing transformation applied `f(x) -> log(x + 1)`. You can skip this log preprocessing and have it performed by the network if you specify `--input-log-transform`. However, this operation is expensive to perform by the graph, so we recommend you apply it during your data pipeline for maximum efficiency. + +#### Outputs +| Output | Shape | DType | +|-------------------------------------------|----------------|-------| +| {event_particle_1}_assignment_probability | (B, N, N, ...) | float | +| {event_particle_2}_assignment_probability | (B, N, N, ...) | float | +| {event_particle_1}_detection_probability | (B) | float | +| {event_particle_2}_detection_probability | (B) | float | +| {regression_target_1} | (B) | float | +| {regression_target_2} | (B) | float | +| {classification_target_1} | (B, C) | float | +| {classification_target_2} | (B, C) | float | + +The ONNX model may produce any of the valid output heads. Each event partile defined produces an assignment distribution for its reconstruction. This distribution with be a singlet/doublet/triplet/etc. joint distribution depending on the number of decay products defined for each particle. The shape will reflect this number of products. For example, if a particle has two decay products, then its `assignment_log_probability` will have a shape of `(B, N, N)`. Each particle also has associated with it a `detection probability` which indicates how likely the particle is to be reconstructable. + +The additional outputs will only be present if you define any `REGRESSION` or `CLASSIFICATION` outputs in the event file. Each of the definitions will be add an extra output. The regression outputs simply contain the predicted value for each regression target. The classification outputs contain a distribution over possible classes for each target. + +**Log Probability vs. Probability** For additional numerical stability, you may choose to output the log distributions, `log P(x)`, for all probability outputs instead. If you specify `--output-log-transform` in the export script, then the `*_assignment_probability` and `*_detection_probability` outputs will be replaced with `*_assignment_log_probability` and `*_detection_log_probability`. The classification outputs will also be represented as log-probabilities, although the name will not change. + ## Citation If you use this software for a publication, please cite the following: ```bibtex diff --git a/spanet/export.py b/spanet/export.py index 09eb925..bfcd3d1 100644 --- a/spanet/export.py +++ b/spanet/export.py @@ -45,20 +45,26 @@ def forward(self, sources: List[Source]): if self.output_log_transform: assignments = [assignment for assignment in outputs.assignments] detections = [F.logsigmoid(detection) for detection in outputs.detections] + + classifications = [ + F.log_softmax(outputs.classifications[key], dim=-1) + for key in self.model.training_dataset.classifications.keys() + ] + else: assignments = [assignment.exp() for assignment in outputs.assignments] detections = [torch.sigmoid(detection) for detection in outputs.detections] + classifications = [ + F.softmax(outputs.classifications[key], dim=-1) + for key in self.model.training_dataset.classifications.keys() + ] + regressions = [ outputs.regressions[key] for key in self.model.training_dataset.regressions.keys() ] - classifications = [ - outputs.classifications[key] - for key in self.model.training_dataset.classifications.keys() - ] - return *assignments, *detections, *regressions, *classifications From 3980549d567ca3c5c75f56364df20b2a8b3c9594 Mon Sep 17 00:00:00 2001 From: Alex Shmakov Date: Thu, 16 Feb 2023 14:24:30 -0800 Subject: [PATCH 13/13] Added ability to output embedding vectors --- spanet/dataset/types.py | 1 + spanet/evaluation.py | 51 ++++++++++++++----- spanet/export.py | 27 ++++++++-- .../jet_reconstruction_network.py | 13 ++--- 4 files changed, 67 insertions(+), 25 deletions(-) diff --git a/spanet/dataset/types.py b/spanet/dataset/types.py index 4480f77..8d57432 100644 --- a/spanet/dataset/types.py +++ b/spanet/dataset/types.py @@ -158,6 +158,7 @@ class Batch(NamedTuple): class Outputs(NamedTuple): assignments: List[Tensor] detections: List[Tensor] + vectors: Dict[str, Tensor] regressions: Dict[str, Tensor] classifications: Dict[str, Tensor] diff --git a/spanet/evaluation.py b/spanet/evaluation.py index e71492a..a83c65c 100644 --- a/spanet/evaluation.py +++ b/spanet/evaluation.py @@ -1,31 +1,40 @@ from glob import glob -from typing import Optional +from typing import Optional, Union, Tuple import numpy as np import torch -from tqdm import tqdm +from torch.utils._pytree import tree_flatten, tree_unflatten, tree_map -import rich from rich import progress from spanet import JetReconstructionModel, Options -from spanet.dataset.types import Evaluation +from spanet.dataset.types import Evaluation, Outputs, Source from spanet.network.jet_reconstruction.jet_reconstruction_network import extract_predictions from collections import defaultdict -def tree_concatenate(tree): +def dict_concatenate(tree): output = {} for key, value in tree.items(): if isinstance(value, dict): - output[key] = tree_concatenate(value) + output[key] = dict_concatenate(value) else: output[key] = np.concatenate(value) return output +def tree_concatenate(trees): + leaves = [] + for tree in trees: + data, tree_spec = tree_flatten(tree) + leaves.append(data) + + results = [np.concatenate(l) for l in zip(*leaves)] + return tree_unflatten(results, tree_spec) + + def load_model( log_directory: str, testing_file: Optional[str] = None, @@ -68,7 +77,11 @@ def load_model( return model -def evaluate_on_test_dataset(model: JetReconstructionModel, progress=progress) -> Evaluation: +def evaluate_on_test_dataset( + model: JetReconstructionModel, + progress=progress, + return_full_output: bool = True +) -> Union[Evaluation, Tuple[Evaluation, Outputs]]: full_assignments = defaultdict(list) full_assignment_probabilities = defaultdict(list) full_detection_probabilities = defaultdict(list) @@ -76,12 +89,14 @@ def evaluate_on_test_dataset(model: JetReconstructionModel, progress=progress) - full_classifications = defaultdict(list) full_regressions = defaultdict(list) + full_outputs = [] + dataloader = model.test_dataloader() if progress: dataloader = progress.track(model.test_dataloader(), description="Evaluating Model") for batch in dataloader: - sources = [[x[0].to(model.device), x[1].to(model.device)] for x in batch.sources] + sources = tuple(Source(x[0].to(model.device), x[1].to(model.device)) for x in batch.sources) outputs = model.forward(sources) assignment_indices = extract_predictions([ @@ -135,11 +150,19 @@ def evaluate_on_test_dataset(model: JetReconstructionModel, progress=progress) - for key, classification in classifications.items(): full_classifications[key].append(classification) - return Evaluation( - tree_concatenate(full_assignments), - tree_concatenate(full_assignment_probabilities), - tree_concatenate(full_detection_probabilities), - tree_concatenate(full_regressions), - tree_concatenate(full_classifications) + if return_full_output: + full_outputs.append(tree_map(lambda x: x.cpu().numpy(), outputs)) + + evaluation = Evaluation( + dict_concatenate(full_assignments), + dict_concatenate(full_assignment_probabilities), + dict_concatenate(full_detection_probabilities), + dict_concatenate(full_regressions), + dict_concatenate(full_classifications) ) + if return_full_output: + return evaluation, tree_concatenate(full_outputs) + + return evaluation + diff --git a/spanet/export.py b/spanet/export.py index bfcd3d1..345fd76 100644 --- a/spanet/export.py +++ b/spanet/export.py @@ -17,13 +17,15 @@ def __init__( self, model: JetReconstructionModel, input_log_transform: bool = False, - output_log_transform: bool = False + output_log_transform: bool = False, + output_embeddings: bool = False ): super(WrappedModel, self).__init__() self.model = model self.input_log_transform = input_log_transform self.output_log_transform = output_log_transform + self.output_embeddings = output_embeddings def apply_input_log_transform(self, sources): new_sources = [] @@ -65,10 +67,12 @@ def forward(self, sources: List[Source]): for key in self.model.training_dataset.regressions.keys() ] - return *assignments, *detections, *regressions, *classifications + embedding_vectors = list(outputs.vectors.values()) if self.output_embeddings else [] + return *assignments, *detections, *regressions, *classifications, *embedding_vectors -def onnx_specification(model, output_log_transform: bool = False): + +def onnx_specification(model, output_log_transform: bool = False, output_embeddings: bool = False): input_names = [] output_names = [] @@ -101,6 +105,15 @@ def onnx_specification(model, output_log_transform: bool = False): for classification in model.training_dataset.classifications.keys(): output_names.append(classification) + if output_embeddings: + output_names.append("EVENT/embedding_vector") + + for particle, products in model.event_info.product_particles.items(): + output_names.append(f"{particle}/PARTICLE/embedding_vector") + + for product in products: + output_names.append(f"{particle}/{product}/embedding_vector") + return input_names, output_names, dynamic_axes @@ -109,18 +122,19 @@ def main( output_file: str, input_log_transform: bool, output_log_transform: bool, + output_embeddings: bool, gpu: bool ): model = load_model(log_directory, cuda=gpu) # Create wrapped model with flat inputs and outputs - wrapped_model = WrappedModel(model, input_log_transform, output_log_transform) + wrapped_model = WrappedModel(model, input_log_transform, output_log_transform, output_embeddings) wrapped_model.to(model.device) wrapped_model.eval() for parameter in wrapped_model.parameters(): parameter.requires_grad_(False) - input_names, output_names, dynamic_axes = onnx_specification(model, output_log_transform) + input_names, output_names, dynamic_axes = onnx_specification(model, output_log_transform, output_embeddings) batch = next(iter(model.train_dataloader())) sources = batch.sources @@ -158,5 +172,8 @@ def main( parser.add_argument("--output-log-transform", action="store_true", help="Exported model will output log probabilities. This is more numerically stable.") + parser.add_argument("--output-embeddings", action="store_true", + help="Exported model will also output the embeddings for every part of the event.") + arguments = parser.parse_args() main(**arguments.__dict__) diff --git a/spanet/network/jet_reconstruction/jet_reconstruction_network.py b/spanet/network/jet_reconstruction/jet_reconstruction_network.py index 0f08d14..de9a9de 100644 --- a/spanet/network/jet_reconstruction/jet_reconstruction_network.py +++ b/spanet/network/jet_reconstruction/jet_reconstruction_network.py @@ -113,35 +113,36 @@ def forward(self, sources: Tuple[Source, ...]) -> Outputs: return Outputs( assignments, detections, + encoded_vectors, regressions, classifications ) def predict(self, sources: Tuple[Source, ...]) -> Predictions: with torch.no_grad(): - assignments, detections, regressions, classifications = self.forward(sources) + outputs = self.forward(sources) # Extract assignment probabilities and find the least conflicting assignment. assignments = extract_predictions([ np.nan_to_num(assignment.detach().cpu().numpy(), -np.inf) - for assignment in assignments + for assignment in outputs.assignments ]) # Convert detection logits into probabilities and move to CPU. detections = np.stack([ torch.sigmoid(detection).cpu().numpy() - for detection in detections + for detection in outputs.detections ]) # Move regressions to CPU and away from torch. regressions = { key: value.cpu().numpy() - for key, value in regressions.items() + for key, value in outputs.regressions.items() } classifications = { key: value.cpu().argmax(1).numpy() - for key, value in classifications.items() + for key, value in outputs.classifications.items() } return Predictions( @@ -156,7 +157,7 @@ def predict_assignments(self, sources: Tuple[Source, ...]) -> np.ndarray: with torch.no_grad(): assignments = [ np.nan_to_num(assignment.detach().cpu().numpy(), -np.inf) - for assignment in self.forward(sources)[0] + for assignment in self.forward(sources).assignments ] # Find the optimal selection of jets from the output distributions.