From 8041c5b62ef251f97487b05dca2d4b00bd84757e Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Sat, 10 Jun 2023 19:15:42 +0200 Subject: [PATCH 01/33] Correct typehint, bug when size 0 and restore train loss --- LHCb_Pipeline/GNN/gnn_base.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/LHCb_Pipeline/GNN/gnn_base.py b/LHCb_Pipeline/GNN/gnn_base.py index 6b167b12..c70a977d 100644 --- a/LHCb_Pipeline/GNN/gnn_base.py +++ b/LHCb_Pipeline/GNN/gnn_base.py @@ -116,11 +116,13 @@ class GNNBase(ModelBase): if ("weight" in self.hparams) else (~truth).sum() / truth.sum() ) + + if not output.shape: + output = output.reshape((-1,)) # Compute weighted loss if self.hparams.get("focal_loss", False): from torchvision.ops import sigmoid_focal_loss - loss = sigmoid_focal_loss( inputs=output, targets=truth.float(), @@ -157,7 +159,7 @@ class GNNBase(ModelBase): def common_training_validation_step( self, batch: Data - ) -> typing.Tuple[torch.Tensor, torch.Tensor, float]: + ) -> typing.Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: """Perform the inference and loss computation step that is common to the training and validation step. @@ -183,7 +185,6 @@ class GNNBase(ModelBase): "train_loss", loss, on_epoch=True, - on_step=False, batch_size=output.shape[0], prog_bar=True, ) -- GitLab From ad3e722b180e2c83772a6d48a4f7e367fd54043c Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Sat, 10 Jun 2023 19:15:53 +0200 Subject: [PATCH 02/33] Change cut for focal-loss-pid-fixed --- LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed.yaml b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed.yaml index 20cdef02..cae5f652 100644 --- a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed.yaml +++ b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed.yaml @@ -95,7 +95,7 @@ triplet_building: output_subdirectory: "triplet_building" track_building: - score_cut: 0.73 + score_cut: 0.45 # input_subdirectory: "gnn_processed" input_subdirectory: "gnn_processed" output_subdirectory: "track_building_processed" -- GitLab From 6c21f5928dedb5b6c31631f2e2ccb2c182b2f1f6 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Sat, 10 Jun 2023 19:16:11 +0200 Subject: [PATCH 03/33] Fix bug in build track candidates when no edges --- .../Scripts/Step_5_Build_Track_Candidates.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/LHCb_Pipeline/Scripts/Step_5_Build_Track_Candidates.py b/LHCb_Pipeline/Scripts/Step_5_Build_Track_Candidates.py index 7874c7a2..47d348a9 100644 --- a/LHCb_Pipeline/Scripts/Step_5_Build_Track_Candidates.py +++ b/LHCb_Pipeline/Scripts/Step_5_Build_Track_Candidates.py @@ -47,13 +47,16 @@ class TrackBuilder(BuilderBase): ] else: double_edge_indices = edge_indices - - labels = torch.from_numpy( - get_track_ids( - edge_indices=double_edge_indices, - n_hits=batch.x.shape[0], - ) - ).long() + + if double_edge_indices.nelement(): + labels = torch.from_numpy( + get_track_ids( + edge_indices=double_edge_indices, + n_hits=batch.x.shape[0], + ) + ).long() + else: + labels = torch.arange(batch.x.shape[0]) batch.labels = labels return batch -- GitLab From 19651869bbb7276c62a62e0e4951d44c1d3d8e27 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Sat, 10 Jun 2023 19:16:28 +0200 Subject: [PATCH 04/33] Update full pipeline of focal-loss-pid-fixed --- .../full_pipeline-focal-loss-pid-fixed.ipynb | 1116 ++++++++++++++++- 1 file changed, 1081 insertions(+), 35 deletions(-) diff --git a/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed.ipynb b/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed.ipynb index b10c97ba..f6b9c764 100644 --- a/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed.ipynb +++ b/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed.ipynb @@ -1398,15 +1398,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "gnn_metric_path='artifacts/gnn/focal-loss-pid-fixed/version_0/metrics.csv'\n", + "gnn_artifact_path='artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt'\n" + ] + } + ], "source": [ "from utils.modelutils.checkpoint_utils import (\n", " get_last_version_dir_from_config,\n", " get_last_artifact,\n", ")\n", - "from GNN.interaction_gnn import InteractionGNN\n", + "from GNN.models.interaction_gnn import InteractionGNN\n", "\n", "gnn_version_dir = get_last_version_dir_from_config(step=\"gnn\", path_or_config=CONFIG)\n", "gnn_metric_path = os.path.join(gnn_version_dir, \"metrics.csv\")\n", @@ -1419,7 +1428,106 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (cuda), used: True\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "INFO:Load 10000 files located in /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/train\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2747499bb69f42a8a87909adef66ed4d", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/10000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Load 500 files located in /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/val\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "0c51a3ca679d4ddfaadf95511315b9ea", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/500 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Restoring states from the checkpoint path at artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt\n", + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/pytorch_lightning/callbacks/model_checkpoint.py:337: UserWarning: The dirpath has changed from '/home/acorreia/Documents/tracking/etx4velo/LHCb_Pipeline/artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints' to '/home/acorreia/Documents/tracking/etx4velo/LHCb_Pipeline/artifacts/gnn/focal-loss-pid-fixed/version_1/checkpoints', therefore `best_model_score`, `kth_best_model_path`, `kth_value`, `last_model_path` and `best_k_models` won't be reloaded. Only `best_model_path` will be reloaded.\n", + " warnings.warn(\n", + "LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n", + "\n", + " | Name | Type | Params\n", + "------------------------------------------------------\n", + "0 | node_encoder | Sequential | 332 K \n", + "1 | edge_encoder | Sequential | 462 K \n", + "2 | edge_network | Sequential | 793 K \n", + "3 | node_network | Sequential | 659 K \n", + "4 | output_edge_classifier | Sequential | 529 K \n", + "------------------------------------------------------\n", + "2.8 M Trainable params\n", + "0 Non-trainable params\n", + "2.8 M Total params\n", + "11.111 Total estimated model params size (MB)\n", + "Restored all states from the checkpoint at artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "bd3024d08c454e788331f547c130c5e5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "from pytorch_lightning import Trainer\n", "from pytorch_lightning.loggers import CSVLogger\n", @@ -1443,7 +1551,7 @@ " gnn_trainer = Trainer(\n", " accelerator=\"gpu\" if torch.cuda.is_available() else \"cpu\",\n", " devices=1,\n", - " max_epochs=50, # you may increase the number of epochs\n", + " max_epochs=100, # you may increase the number of epochs\n", " logger=logger,\n", " # callbacks=[EarlyStopping(monitor=\"val_loss\", mode=\"min\")]\n", " )\n", @@ -1455,12 +1563,12 @@ " gnn_trainer.fit(gnn_model, ckpt_path=gnn_artifact_path)\n", " return gnn_trainer, gnn_model\n", "\n", - "# gnn_trainer, gnn_model = continue_gnn_training(CONFIG)\n" + "gnn_trainer, gnn_model = continue_gnn_training(CONFIG)\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -1480,9 +1588,552 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>epoch</th>\n", + " <th>train_loss</th>\n", + " <th>val_loss</th>\n", + " <th>eff</th>\n", + " <th>pur</th>\n", + " <th>current_lr</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>0</td>\n", + " <td>0.015745</td>\n", + " <td>0.009409</td>\n", + " <td>0.882107</td>\n", + " <td>0.979640</td>\n", + " <td>0.000020</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>1</td>\n", + " <td>0.007946</td>\n", + " <td>0.006557</td>\n", + " <td>0.922102</td>\n", + " <td>0.986181</td>\n", + " <td>0.000040</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>2</td>\n", + " <td>0.006280</td>\n", + " <td>0.005664</td>\n", + " <td>0.927634</td>\n", + " <td>0.990096</td>\n", + " <td>0.000060</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>3</td>\n", + " <td>0.005555</td>\n", + " <td>0.005122</td>\n", + " <td>0.937812</td>\n", + " <td>0.990240</td>\n", + " <td>0.000080</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>4</td>\n", + " <td>0.005132</td>\n", + " <td>0.005172</td>\n", + " <td>0.932919</td>\n", + " <td>0.991395</td>\n", + " <td>0.000100</td>\n", + " </tr>\n", + " <tr>\n", + " <th>5</th>\n", + " <td>5</td>\n", + " <td>0.004851</td>\n", + " <td>0.005073</td>\n", + " <td>0.937282</td>\n", + " <td>0.990720</td>\n", + " <td>0.000120</td>\n", + " </tr>\n", + " <tr>\n", + " <th>6</th>\n", + " <td>6</td>\n", + " <td>0.004646</td>\n", + " <td>0.005248</td>\n", + " <td>0.930109</td>\n", + " <td>0.991742</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>7</th>\n", + " <td>7</td>\n", + " <td>0.004510</td>\n", + " <td>0.004563</td>\n", + " <td>0.940789</td>\n", + " <td>0.992526</td>\n", + " <td>0.000112</td>\n", + " </tr>\n", + " <tr>\n", + " <th>8</th>\n", + " <td>8</td>\n", + " <td>0.004373</td>\n", + " <td>0.004509</td>\n", + " <td>0.946273</td>\n", + " <td>0.991391</td>\n", + " <td>0.000180</td>\n", + " </tr>\n", + " <tr>\n", + " <th>9</th>\n", + " <td>9</td>\n", + " <td>0.004298</td>\n", + " <td>0.004374</td>\n", + " <td>0.947959</td>\n", + " <td>0.991694</td>\n", + " <td>0.000200</td>\n", + " </tr>\n", + " <tr>\n", + " <th>10</th>\n", + " <td>10</td>\n", + " <td>0.004109</td>\n", + " <td>0.004050</td>\n", + " <td>0.953197</td>\n", + " <td>0.992015</td>\n", + " <td>0.000200</td>\n", + " </tr>\n", + " <tr>\n", + " <th>11</th>\n", + " <td>11</td>\n", + " <td>0.003983</td>\n", + " <td>0.004233</td>\n", + " <td>0.954432</td>\n", + " <td>0.990489</td>\n", + " <td>0.000200</td>\n", + " </tr>\n", + " <tr>\n", + " <th>12</th>\n", + " <td>12</td>\n", + " <td>0.003879</td>\n", + " <td>0.003788</td>\n", + " <td>0.958103</td>\n", + " <td>0.991964</td>\n", + " <td>0.000200</td>\n", + " </tr>\n", + " <tr>\n", + " <th>13</th>\n", + " <td>13</td>\n", + " <td>0.003778</td>\n", + " <td>0.003780</td>\n", + " <td>0.960245</td>\n", + " <td>0.991730</td>\n", + " <td>0.000200</td>\n", + " </tr>\n", + " <tr>\n", + " <th>14</th>\n", + " <td>14</td>\n", + " <td>0.003703</td>\n", + " <td>0.003744</td>\n", + " <td>0.959127</td>\n", + " <td>0.992023</td>\n", + " <td>0.000200</td>\n", + " </tr>\n", + " <tr>\n", + " <th>15</th>\n", + " <td>15</td>\n", + " <td>0.003641</td>\n", + " <td>0.003704</td>\n", + " <td>0.959411</td>\n", + " <td>0.992099</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>16</th>\n", + " <td>16</td>\n", + " <td>0.003305</td>\n", + " <td>0.003534</td>\n", + " <td>0.961065</td>\n", + " <td>0.992371</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>17</th>\n", + " <td>17</td>\n", + " <td>0.003253</td>\n", + " <td>0.003618</td>\n", + " <td>0.963001</td>\n", + " <td>0.991412</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>18</th>\n", + " <td>18</td>\n", + " <td>0.003225</td>\n", + " <td>0.003503</td>\n", + " <td>0.963811</td>\n", + " <td>0.991958</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>19</th>\n", + " <td>19</td>\n", + " <td>0.003224</td>\n", + " <td>0.003467</td>\n", + " <td>0.964852</td>\n", + " <td>0.991678</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>20</th>\n", + " <td>20</td>\n", + " <td>0.003200</td>\n", + " <td>0.003380</td>\n", + " <td>0.964631</td>\n", + " <td>0.992555</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>21</th>\n", + " <td>21</td>\n", + " <td>0.003180</td>\n", + " <td>0.003469</td>\n", + " <td>0.965098</td>\n", + " <td>0.992115</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>22</th>\n", + " <td>22</td>\n", + " <td>0.003160</td>\n", + " <td>0.003374</td>\n", + " <td>0.964880</td>\n", + " <td>0.992387</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>23</th>\n", + " <td>23</td>\n", + " <td>0.003152</td>\n", + " <td>0.003522</td>\n", + " <td>0.965240</td>\n", + " <td>0.991543</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>24</th>\n", + " <td>24</td>\n", + " <td>0.002912</td>\n", + " <td>0.003308</td>\n", + " <td>0.968241</td>\n", + " <td>0.992033</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>25</th>\n", + " <td>25</td>\n", + " <td>0.002879</td>\n", + " <td>0.003358</td>\n", + " <td>0.968242</td>\n", + " <td>0.991781</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>26</th>\n", + " <td>26</td>\n", + " <td>0.002879</td>\n", + " <td>0.003365</td>\n", + " <td>0.968507</td>\n", + " <td>0.991775</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>27</th>\n", + " <td>27</td>\n", + " <td>0.002853</td>\n", + " <td>0.003240</td>\n", + " <td>0.969288</td>\n", + " <td>0.992256</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>28</th>\n", + " <td>28</td>\n", + " <td>0.002858</td>\n", + " <td>0.003385</td>\n", + " <td>0.968127</td>\n", + " <td>0.991958</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>29</th>\n", + " <td>29</td>\n", + " <td>0.002849</td>\n", + " <td>0.003389</td>\n", + " <td>0.969099</td>\n", + " <td>0.991858</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>30</th>\n", + " <td>30</td>\n", + " <td>0.002855</td>\n", + " <td>0.003413</td>\n", + " <td>0.966039</td>\n", + " <td>0.992158</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>31</th>\n", + " <td>31</td>\n", + " <td>0.002830</td>\n", + " <td>0.003342</td>\n", + " <td>0.969118</td>\n", + " <td>0.991828</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>32</th>\n", + " <td>32</td>\n", + " <td>0.002659</td>\n", + " <td>0.003288</td>\n", + " <td>0.969825</td>\n", + " <td>0.992203</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>33</th>\n", + " <td>33</td>\n", + " <td>0.002611</td>\n", + " <td>0.002948</td>\n", + " <td>0.972177</td>\n", + " <td>0.993180</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>34</th>\n", + " <td>34</td>\n", + " <td>0.002425</td>\n", + " <td>0.002649</td>\n", + " <td>0.974883</td>\n", + " <td>0.994110</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>35</th>\n", + " <td>35</td>\n", + " <td>0.002253</td>\n", + " <td>0.002432</td>\n", + " <td>0.977438</td>\n", + " <td>0.994554</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>36</th>\n", + " <td>36</td>\n", + " <td>0.002139</td>\n", + " <td>0.002351</td>\n", + " <td>0.977666</td>\n", + " <td>0.994845</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>37</th>\n", + " <td>37</td>\n", + " <td>0.002048</td>\n", + " <td>0.002227</td>\n", + " <td>0.978469</td>\n", + " <td>0.995250</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>38</th>\n", + " <td>38</td>\n", + " <td>0.001969</td>\n", + " <td>0.002170</td>\n", + " <td>0.979098</td>\n", + " <td>0.995544</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>39</th>\n", + " <td>39</td>\n", + " <td>0.001897</td>\n", + " <td>0.001969</td>\n", + " <td>0.981175</td>\n", + " <td>0.995911</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>40</th>\n", + " <td>40</td>\n", + " <td>0.001624</td>\n", + " <td>0.001698</td>\n", + " <td>0.982833</td>\n", + " <td>0.996831</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>41</th>\n", + " <td>41</td>\n", + " <td>0.001523</td>\n", + " <td>0.001631</td>\n", + " <td>0.983602</td>\n", + " <td>0.996945</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>42</th>\n", + " <td>42</td>\n", + " <td>0.001450</td>\n", + " <td>0.001593</td>\n", + " <td>0.984215</td>\n", + " <td>0.997049</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>43</th>\n", + " <td>43</td>\n", + " <td>0.001411</td>\n", + " <td>0.001537</td>\n", + " <td>0.984988</td>\n", + " <td>0.997071</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>44</th>\n", + " <td>44</td>\n", + " <td>0.001374</td>\n", + " <td>0.001585</td>\n", + " <td>0.984472</td>\n", + " <td>0.997054</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>45</th>\n", + " <td>45</td>\n", + " <td>0.001344</td>\n", + " <td>0.001564</td>\n", + " <td>0.984906</td>\n", + " <td>0.997020</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>46</th>\n", + " <td>46</td>\n", + " <td>0.001334</td>\n", + " <td>0.001556</td>\n", + " <td>0.984871</td>\n", + " <td>0.996946</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>47</th>\n", + " <td>47</td>\n", + " <td>0.001305</td>\n", + " <td>0.001551</td>\n", + " <td>0.984850</td>\n", + " <td>0.997180</td>\n", + " <td>0.000034</td>\n", + " </tr>\n", + " <tr>\n", + " <th>48</th>\n", + " <td>48</td>\n", + " <td>0.001215</td>\n", + " <td>0.001518</td>\n", + " <td>0.985659</td>\n", + " <td>0.997226</td>\n", + " <td>0.000034</td>\n", + " </tr>\n", + " <tr>\n", + " <th>49</th>\n", + " <td>49</td>\n", + " <td>0.001197</td>\n", + " <td>0.001530</td>\n", + " <td>0.985763</td>\n", + " <td>0.997204</td>\n", + " <td>0.000034</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " epoch train_loss val_loss eff pur current_lr\n", + "0 0 0.015745 0.009409 0.882107 0.979640 0.000020\n", + "1 1 0.007946 0.006557 0.922102 0.986181 0.000040\n", + "2 2 0.006280 0.005664 0.927634 0.990096 0.000060\n", + "3 3 0.005555 0.005122 0.937812 0.990240 0.000080\n", + "4 4 0.005132 0.005172 0.932919 0.991395 0.000100\n", + "5 5 0.004851 0.005073 0.937282 0.990720 0.000120\n", + "6 6 0.004646 0.005248 0.930109 0.991742 0.000140\n", + "7 7 0.004510 0.004563 0.940789 0.992526 0.000112\n", + "8 8 0.004373 0.004509 0.946273 0.991391 0.000180\n", + "9 9 0.004298 0.004374 0.947959 0.991694 0.000200\n", + "10 10 0.004109 0.004050 0.953197 0.992015 0.000200\n", + "11 11 0.003983 0.004233 0.954432 0.990489 0.000200\n", + "12 12 0.003879 0.003788 0.958103 0.991964 0.000200\n", + "13 13 0.003778 0.003780 0.960245 0.991730 0.000200\n", + "14 14 0.003703 0.003744 0.959127 0.992023 0.000200\n", + "15 15 0.003641 0.003704 0.959411 0.992099 0.000140\n", + "16 16 0.003305 0.003534 0.961065 0.992371 0.000140\n", + "17 17 0.003253 0.003618 0.963001 0.991412 0.000140\n", + "18 18 0.003225 0.003503 0.963811 0.991958 0.000140\n", + "19 19 0.003224 0.003467 0.964852 0.991678 0.000140\n", + "20 20 0.003200 0.003380 0.964631 0.992555 0.000140\n", + "21 21 0.003180 0.003469 0.965098 0.992115 0.000140\n", + "22 22 0.003160 0.003374 0.964880 0.992387 0.000140\n", + "23 23 0.003152 0.003522 0.965240 0.991543 0.000098\n", + "24 24 0.002912 0.003308 0.968241 0.992033 0.000098\n", + "25 25 0.002879 0.003358 0.968242 0.991781 0.000098\n", + "26 26 0.002879 0.003365 0.968507 0.991775 0.000098\n", + "27 27 0.002853 0.003240 0.969288 0.992256 0.000098\n", + "28 28 0.002858 0.003385 0.968127 0.991958 0.000098\n", + "29 29 0.002849 0.003389 0.969099 0.991858 0.000098\n", + "30 30 0.002855 0.003413 0.966039 0.992158 0.000098\n", + "31 31 0.002830 0.003342 0.969118 0.991828 0.000069\n", + "32 32 0.002659 0.003288 0.969825 0.992203 0.000069\n", + "33 33 0.002611 0.002948 0.972177 0.993180 0.000069\n", + "34 34 0.002425 0.002649 0.974883 0.994110 0.000069\n", + "35 35 0.002253 0.002432 0.977438 0.994554 0.000069\n", + "36 36 0.002139 0.002351 0.977666 0.994845 0.000069\n", + "37 37 0.002048 0.002227 0.978469 0.995250 0.000069\n", + "38 38 0.001969 0.002170 0.979098 0.995544 0.000069\n", + "39 39 0.001897 0.001969 0.981175 0.995911 0.000048\n", + "40 40 0.001624 0.001698 0.982833 0.996831 0.000048\n", + "41 41 0.001523 0.001631 0.983602 0.996945 0.000048\n", + "42 42 0.001450 0.001593 0.984215 0.997049 0.000048\n", + "43 43 0.001411 0.001537 0.984988 0.997071 0.000048\n", + "44 44 0.001374 0.001585 0.984472 0.997054 0.000048\n", + "45 45 0.001344 0.001564 0.984906 0.997020 0.000048\n", + "46 46 0.001334 0.001556 0.984871 0.996946 0.000048\n", + "47 47 0.001305 0.001551 0.984850 0.997180 0.000034\n", + "48 48 0.001215 0.001518 0.985659 0.997226 0.000034\n", + "49 49 0.001197 0.001530 0.985763 0.997204 0.000034" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# gnn_metrics = checkpoint_utils.get_training_metrics(gnn_trainer)\n", "\n", @@ -1493,18 +2144,89 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Figure was saved in output/focal-loss-pid-fixed/loss_gnn.pdf\n", + "Figure was saved in output/focal-loss-pid-fixed/loss_gnn.png\n" + ] + }, + { + "data": { + "text/plain": [ + "(<Figure size 800x600 with 1 Axes>, <Axes: xlabel='Epoch', ylabel='Loss'>)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "<Figure size 800x600 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "perfplot_mpl.plot_loss(gnn_metrics, CONFIG, \"gnn\")\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Figure was saved in output/focal-loss-pid-fixed/eff_gnn.pdf\n", + "Figure was saved in output/focal-loss-pid-fixed/eff_gnn.png\n", + "Figure was saved in output/focal-loss-pid-fixed/pur_gnn.pdf\n", + "Figure was saved in output/focal-loss-pid-fixed/pur_gnn.png\n" + ] + }, + { + "data": { + "text/plain": [ + "(<Figure size 800x600 with 1 Axes>,\n", + " <Axes: xlabel='Epoch', ylabel='Edge Purity'>)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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Z8PGxqbMdjdu3MC7776r0zUzMjL0LUMnFy9exKuvvooHDx6gb9++mDhxInJycrB161ZMnToVW7ZsQXBwMJo2bVrue6xYsQKffPIJCgoKMGjQIIwfPx5mZma4ePEigoKCEBQUhHnz5mHx4sWlXicqKgr+/v64c+cOOnfujEWLFsHIyAi7d+/G/PnzsWnTJhw4cABt27Ytd61VKTctFwCn6BARERFVNb0D/s8//1xmG0EQcP/+fWzdurVcRUkhPj4e/v7+SElJwbRp0/D111+rjk2ePBkDBw7EyZMnMXjwYJw9exZmZvpvxrR69WrMmjULALB27VpMnDhRdSwgIABjx45Fnz59sGTJEtjb22PatGkar/PkyRMMGjQIEREReO2117B7927IZDJVre+88w527NiBQYMG4fLly2jQoIHetVY1zsEnIiIiMgy9p+iIoljmlz5ti7eX0syZM5GSkgIXFxd8+eWXasfMzMywYcMGyGQyXLlyBd9++63e109KSsLcuXMBAN7e3mrhvkjPnj0xefJkAMD8+fORmJio8Vqff/45IiIiYG1tje+//14V7oHCD0tr1qxBvXr1cPfuXXz22Wd612oIRVN0LBwY8ImIiIiqkl4B39jYGK6urmV+ubi4wMXFRae2Re2NjSXbVBeRkZHYu3cvAGDUqFEaR+ebN28OPz8/AEBgYCAUCoVe99i1axeyswtD7Ntvv6213ciRIwEUzq9ft25dieMZGRlYs2YNAODVV1+Fo6NjiTb169fH66+/DgBYv349Hj16pFethsARfCIiIiLD0CtVu7q6IiIiolIKad26tWTX3rdvn+ovA3369NHarm/fvjh27BhSUlIQEhJSatv/unDhguq1p6en1nZt27aFsbExFAoF9uzZgyVLlqgdDw4ORk5Ojk61bty4Efn5+fj111/x3nvv6VyrITDgExERERlGrVxF58SJE6rX7du319quQ4cOGs/RRWpqquq1ra2t1nYymQx2dnYAgIiICDx+/LjKa61q+Tn5UOQU/kWEq+gQERERVa1qE/ClnIsfHh4OALCxsVGFa02cnZ1Vr2/evKnXPSwt/w2uubm5pbYtvhznrVu3NNb633r+qyK1VrWi0XtBJsDUxtTA1RARERHVLTpP0YmNjYWJiUmlFXLixAnk5+dX+Dp5eXlISkoCADRq1KjUtsWPx8XF6XWf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", + "text/plain": [ + "<Figure size 800x600 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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unXreP78OQC9e/fWW69v374APHv2jCVLlmQpP3XqlPa6UaNGett56623AHjy5AmXLl3KUt64cWPq1q1rsM+KorB8+XJA8wmD0JD190IIIYSwJLkS4CcnJ/PVV19RoUIFGjduzOjRo/nmm29YtmxZpnpz5szB1dWVUaNGER0dbbbnb9q0CUVRAGjdurXeem3atAEgKiqK4OBgk55x4sQJ7bW3t7feerVq1cLGRrMSasOGDVnKM270NTSj7uCQvnTk2bNnWcrXrVunc9NsRnv37uXatWs0bdrUYJ9fN5IDXwghhBCWxOwBfmRkJG+99RaTJ0/mzp072kA77X9flJCQwOLFi6lbty5nz541Sx+CgoK014ZmtdOWvbx4jzEyviFxdNQfGFpbW+PkpJkZDg0N5fHjx5nK69Spo73WNTP/YplKpcLT09Okvqb56aefALJ8kpKd+Ph4EhMTc/TMguDJLZnBF0IIIYTlMGuAHxcXR/v27Tl37hyKomQb3M+aNYtZs2bh6urK7du3ad++Pffv33/pfpw/fx6AYsWKaYNrXdzd3bXXFy5cMOkZGWfUExISDNbNOEt/8eLFTGU1atSgc+fOAKxevZrIyMgs958+fVq7Cdff3x9XV1eT+gpw//59duzYQfHixenevXu29QMDA2nbti2urq44ODhgb2+Pi4sL3bp148CBAyY/Pz+LvRkLSIAvhBBCCMtg1gB/zpw5XLx4EUVRaNy4MQEBAVy5coW4uDjatWuXpb6Hhweff/45ly5domXLljx48ICJEye+VB8SExO5d+8ekH0ayIzlERERJj3Hy8tLex0eHq63XkxMDHFxcdrvdS1F+uWXX+jTpw/Pnj2jcePGrFq1itDQUC5cuMDixYtp3bo1arWaVq1aaWfhTRUQEEBycjL9+vUzuBQozahRo0hJSWHGjBn89ttvrFq1Ch8fHzZv3kyrVq0YPHiw3s2+BY2swRdCCCGEJTFbgJ+amsp3332HSqVi2rRpHD16lP79+1O1alWKFCli8N7ixYuzbds2ypUrx/r164mNjc1xPzIG0/b29gbrZgx0M95nDD8/P+3177//rrfe7t279fYvTbFixVizZg379u3DxcWF/v37U61aNby9vRkxYgS1a9dm7dq17N27l5IlS5rUT9B8gpK2/8HYzbVz584lKCiIoUOH0rFjRz788EM2b96s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Aw0bNsTYsWMLqZf5z9zcHCtWrIC1tTWioqKkvYnV/f7771i7di0AYOLEiRrziU3FkiVLMGPGDLi4uGDGjBm4cOECTpw4ofNLzkqXLi39vjx69Ajjx4/XelOoUCgwZswYaVHllClTNBYVFhVXr16VFshOmTIFCoVC779pVlMuijOFQoHPPvtM5zUqFApMnDgR58+fBwD07dsXTZs21ahTrlw5ae7xd999J9VV+d///odFixYBABYsWIDKlSvnx2UYRV5j0ahRI+mZIQsWLNCYo69qY9y4cXjx4gVsbGywevXqIvlphjHwnqlUnO+ZZiKrSUVERdS5c+fQvXt3PHr0CB06dEDXrl2RnJyMDRs24PLly6hXrx727dtXpOZI5pedO3di4MCBSEhIQLt27dC1a1fY2trizJkzCA8PR0ZGBr744gssWbJE7y4ARZ36lIlff/1VGkWbOXOm9KCV8uXLo3379hqv27lzJ7p3756jcw0aNAjr16/PW4fzUW5jAShHMadNm4YlS5ZACIG6deuid+/eqFChAh4/foyIiAhpXcfYsWMRGhpapBYSAsrRsmrVquU4cc/qz93OnTuRmJgIAFi9ejX++OMPAMrEV/UHu0WLFllO7ykon3zyCXbv3g0AsLe3R58+fVCrVi04Ozvj3r17+Pnnn3Ht2jUAynUHq1ev1rvzybx58zB//nzY2dlh2LBhqF27Nv7991+sWbMGCQkJmDJlisYixKLGWLHIyMjAsGHDsH79etjb22PIkCGoV68eXr16ha1bt+LChQsoXbo0IiIidP5+FUVRUVGIiooCoPyUQ7XVY/fu3dGjRw8AmvcLOd4zVXIaC6AY3zMLbst9IuN79uyZmDVrlvD09BQODg6iVKlSokmTJmLp0qUiNTW1sLtXoO7fvy+mTJkiPD09haOjo7CzsxPVq1cXgwcPFpGRkYXdvTyD2kO99H35+vpqve67777L1mvVvwYNGlTg15cTuY2FukuXLokxY8aIunXrihIlSggLCwtRokQJUadOHTFq1Chx/vz5grmYXIiLi8vxv2l2/ty5ubll2ca6devy/wJz4PLly2L+/Pmiffv2okqVKsLOzk5YWlqK0qVLiwYNGoixY8dm+/f/zJkzonfv3uK9994T1tbWolKlSuI///mPOHbsWD5fhXEYMxaHDh0SPXv2FJUrVxbW1taiZMmS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", + "text/plain": [ + "<Figure size 800x600 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "perfplot_mpl.plot_metric_epochs(\n", " \"eff\",\n", @@ -1535,9 +2257,50 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Load 1000 files located in /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/test/velo-sim10b-nospillover\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b2afb274ca374f40830bc58a69e1bf07", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n", + "WARNING:Unable to obtain driver using Selenium Manager: /scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/selenium/webdriver/common/linux/selenium-manager is missing. Please open an issue on https://github.com/SeleniumHQ/selenium/issues\n" + ] + }, + { + "data": { + "image/png": "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GrROWnIycso6FPGA+nntr3STBJYQQgjxQJEElhBCCCHuWEWaRijuL/FXE0mJS6Vhu3plHYoQQggh/kWSwBJCCCHEHatI0wjF/eXntfvoNvDRsg5DCCGEEP8ySWAJIYQQ4o5JAkuUhZhLcexa8ytdB8n0QSGEEOJBI0XchRDi/9u79zA7y/Je/N81kzUzIeScjCQC0ViOKohEJaAUzxu9dNsq1L1bCxW2pVXRIhux8HMyitQKRqUg4mkLHja624qn1hbQFoIIKPWAQtQIhiSEkIQcycysmVm/PyBjDjPJZDJrvWsmn891rcusyTsrd56EeF/f97mfF9hnRgipt4v/22V56L6Hs/nxLZl96MyiywEA6qzuAdayZcuyePHibNq0KQsXLsx5552XpqadN4KtXLkyV1xxRVavXp329vZceOGFOfzww+tdKgAwhGntU7JhzfgJsO67775hXfec5zynxpWMzHD6q9/97nf52Mc+lsceeyyHH354LrrookyfPr2givdN5xuvzI///acD79/+wovzqXuvKLAiAGBvRru/qnuAdeWVV+Ztb3tbjj/++Fx66aVZsmRJTj311J2uufbaa3Pqqafmj//4j/Ptb38711xzTf7+7/++3qUCAEOYNntq1jy8tugyRk2jBlPDNZz+6kMf+lDe+MY35tWvfnVuuummfPKTn8wll1xSUMX75pEHH93p/ZbHt2bzhq2ZPG1SQRUBAHsz2v1VXc/AevTRR7Ny5cqccMIJaWpqyumnn57bb79996KamtLW1pYkOeigg1IqlepZJgCwF87AahzD6a+2bduWhx9+OK94xSuSJC9/+ctz5513FlHuiLz2f70izROakyTN5eac9LoThVcAcICp6w6stWvXZt68eQPv29vbs27dut2ue8c73pFzzjknN9xwQzZv3pzPfOYz9SwTANgLZ2A1juH0VxMnTsyMGTNyxx135CUveUm+973vpbu7O1u3bs2kSTsHQZ2dnVm0aNGgv1apVMp73vOeXHDBBaP++1i1atWQP3fif39u/sfjb8iX/r9/ykvOfGH++OLT93g9+856Fsv6F8v6F8v6F2sk61/UJqO6BljVanW332h/f/9u1y1evDhvfvObc/rpp+eWW27JFVdckY997GO7XdeIDRa1Z/2LZf2LZf2LZf1/ryfdWbtqXV3XZCw1WPU03P7qkksu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17VOhj7E8l//9V/z7ne/O29961sH7qawf4az/rfccksmTZqUF77whfUs7YAwnPXv7u7Oxo0bc+211+YTn/hErr/++jz44IP1LHPcGs6/9V/72tcyd+7cXHPNNbnsssvy6U9/Ohs2bKhzpTA+6K/qR39VLP1VsfRXxdJfMVoc4j4MpVIp06dPz4oVK/KsZz0rW7ZsSVtbm0S4RmbOnJnly5dnwYIFSZ68YzJr1qydrunv78/ll1+e/v7+/MM//EOmTZtWQKXj03DW/z/+4z/y29/+Nj/+8Y+zdevW9Pb2ZuvWrbnwwguLKHlcGc76T58+PQsXLszEiRMzceLEPPvZz87vfve7PPOZzyyi5HFjuP/W/+AHP8jb3va2tLe3p729Pc961rPy85//PC95yUsKqhzGJv1VfemviqW/Kpb+qjj6K0aTHVjDdMopp+See+5J8uTdkZNPPrngisavHdf6t7/9bSqVSg4//PBUq9WsWrUq/f39uf3227Nt27a8//3v11yNsqHWv6urK2vWrEmSXHbZZfnKV76S66+/PmeffXZe/epXa65GyXDWf+HChfmP//iP9Pf355FHHskvfvGLHHXUUUWWPW4M9W/9jus/b9683Hbbbent7c3q1atz//337zSWAAyf/qp+9FfF0l8VS39VLP0Vo6VUrVarRRcxFmzZsiUf/vCHs3bt2sycOTPvfe97M2XKlKLLGpeq1Wo+/elP5957782ECRPy7ne/O0cccUS6urryute9Ll/72tfyla98Jd/5znfS0tIy8H2ve93rcs455xRY+fgw1Prfddddue666/L5z39+p+u//e1v5+GHH/aY51EynPXv7+/Pddddl7vvvjt9fX05++yz87KXvazo0seFof6t33H9N27cmI997GNZunRpJkyYkD/7sz/Lq1/96qJLH9cefvjhfOhDH8qnPvWpokthlOmv6kd/VSz9VbH0V8XSXzWmsdhfCbAAAAAAaGhGCAEAAABoaAIsAAAAABqaAAsAAACAhibAAgAAAKChCbAAAAAAaGgCLAAAAAAamgALAAAAgIYmwAIAAACgoQmwAAAAAGhoAiwAAAAAGpoACwAAAICGJsAC2A//9m//lmuvvbboMgAAxg39FTAYARYwLlUqlbr8Ovfee29mzZpVl18LAKBI+iugSBOKLgA4cH3961/PTTfdlE2bNuX444/PO9/5zsycOTOVSiVf+MIXcuedd2bdunU57bTT8jd/8zdJkgcffDCf/exn88tf/jJTpkzJX/7lX+bkk09Okpx//vn5b//tv+Vf//Vfc+KJJ+bNb35zPvvZz+auu+7KE088kdNPPz3nnHNOSqXSbrWsW7cun/rUp/Kzn/0s/f39+Yu/+Iu85jWvyR133JGvfvWrueqqq5IkfX19ef3rX58vfOELufbaa3P77bfnpz/9aWbOnJmXvexl9Vs8AIBB6K+A8coOLKAQt956a77zne/kwx/+cD772c/mkUceyfe///0kyaWXXppVq1blgx/8YD7xiU9kyZIluffee7Ns2bJceOGF+cM//MN87nOfy2tf+9r83d/9XbZu3Zq+vr4sW7Ysd9xxRy6++OK85S1vyQUXXJBqtZpPfOITufTSS/ONb3wjt9122261bNiwIW9/+9szb968XHvttTn//PNz7bXXZsuWLXnggQdyzDHHDFz70EMPZdKkSZk9e3be/e53p7m5Oddff73mCgAonP4KGM/swAIKsXTp0kybNi3VajUzZ87MNddck6amptx1111ZsWJFbrjhhjQ3NydJ3ve+92XGjBn53Oc+lz/90z/Nq171qiTJG9/4xlx//fVZvXp1kqRareaiiy7K1KlT8+///u9pbW3NO9/5ziTJjBkzcuKJJ2bFihW71fK1r30txx9/fP7sz/4sSfKSl7wkTzzxRKrVau6///689rWv3anuo446KknywAMPZP78+Wltba3dQgEADJP+ChjP7MACCvGmN70phxxySM4777z8+Z//eb797W8PNFgve9nLBpqrJFmwYEHmzp2bu+++e6C5SpLu7u709vbm6U9/epYuXZrjjz8+U6dOTZL853/+Z37zm9/kDW94w8DrJz/5SebMmbNbLXfddVde+cpX7vS1V7/61Zk0aVKWLl260x3CHRus+++/P0cfffSorgsAwEjpr4DxzA4soO7WrVuXzZs358ILL8zf/M3f5Ic//GEWLVqUl73sZVm1alVe+MIXDly7fPny3HPPPXn+85+f5ubmtLW1DfzcLbfckuc///lpa2vLr371qxx77LE7fd8ll1ySk046KUnS1dWVVatWZf78+bvVs2rVqkyfPn3g/V133ZW+vr4ccsghaW1tzSGHHJIk2bx5c26//fa8733vS/LkHUJb2wGARqC/AsY7O7CAurvjjjvyv//3/87y5cuzYcOG/OY3v8khhxySyZMnZ968ebn11luzatWq/OpXv8pll12WUqmU9vb2lEql/NM//VM2btyY733ve7nhhhtyzjnnJHnyzt2RRx458GscccQR+fa3v51HH300v/vd7/K+970vN99886D1zJs3LzfddFMef/zx/OAHP8iHPvShzJ49OytWrEilUsn69evzxBNP5BOf+EQ2b9488OssXbp00IYNAKDe9FfAeFeqVqvVoosADiybN2/O3//93+enP/1pyuVynv3sZ+dtb3tbDjvssGzevDkf+chH8pOf/CSzZ8/O6aefnje96U0plUq54447ct1112Xz5s05+uij87/+1//K/PnzU6lU8rrXvS433nhjpk2bliR5/PHHc8UVV+RnP/tZpk+fnte+9rU588wz09S0e26/bNmyXHHFFVm5cmUOP/zw/MVf/EUWLFiQDRs25O/+7u+ydOnSHHrooXnVq16V//f//l+++MUvJkne//7352c/+1k+//nPZ8aMGfVcQgCAneivgPFOgAUAAABAQzNCCAAAAEBDE2ABAAAA0NAEWAAAAAA0NAEWAAAAAA3t/wf7D+CJuv1ygwAAAABJRU5ErkJggg==", + "text/plain": [ + "<IPython.core.display.Image object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "gnn_model.load_partition(\"velo-sim10b-nospillover\")\n", "perfplot.plot_edge_performance(gnn_model, CONFIG)\n" @@ -1545,25 +2308,28 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "performances_for_various_score_cuts" - ] - }, - { - "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'gnn_model' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[6], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mGNN\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mgnn_plots\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m plot_best_performances_score_cut\n\u001b[1;32m 2\u001b[0m _, _, performances_for_various_score_cuts \u001b[38;5;241m=\u001b[39m plot_best_performances_score_cut(\n\u001b[0;32m----> 3\u001b[0m model\u001b[38;5;241m=\u001b[39m\u001b[43mgnn_model\u001b[49m,\n\u001b[1;32m 4\u001b[0m path_or_config\u001b[38;5;241m=\u001b[39mCONFIG,\n\u001b[1;32m 5\u001b[0m partition\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mvelo-sim10b-nospillover\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 6\u001b[0m score_cuts\u001b[38;5;241m=\u001b[39m[\u001b[38;5;241m0.1\u001b[39m, \u001b[38;5;241m0.2\u001b[39m, \u001b[38;5;241m0.3\u001b[39m, \u001b[38;5;241m0.4\u001b[39m, \u001b[38;5;241m0.41\u001b[39m, \u001b[38;5;241m0.42\u001b[39m, \u001b[38;5;241m0.43\u001b[39m, \u001b[38;5;241m0.44\u001b[39m, \u001b[38;5;241m0.45\u001b[39m, \u001b[38;5;241m0.46\u001b[39m, \u001b[38;5;241m0.47\u001b[39m, \u001b[38;5;241m0.48\u001b[39m, \u001b[38;5;241m0.49\u001b[39m, \u001b[38;5;241m0.5\u001b[39m, \u001b[38;5;241m0.55\u001b[39m, \u001b[38;5;241m0.6\u001b[39m, \u001b[38;5;241m0.7\u001b[39m, \u001b[38;5;241m0.8\u001b[39m, \u001b[38;5;241m0.9\u001b[39m],\n\u001b[1;32m 7\u001b[0m n_events\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m200\u001b[39m,\n\u001b[1;32m 8\u001b[0m seed\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m,\n\u001b[1;32m 9\u001b[0m )\n", + "\u001b[0;31mNameError\u001b[0m: name 'gnn_model' is not defined" + ] + } + ], "source": [ "from GNN.gnn_plots import plot_best_performances_score_cut\n", "_, _, performances_for_various_score_cuts = plot_best_performances_score_cut(\n", " model=gnn_model,\n", " path_or_config=CONFIG,\n", " partition=\"velo-sim10b-nospillover\",\n", - " score_cuts=[0.4, 0.5, 0.6, 0.65, 0.7, 0.71, 0.72, 0.73, 0.74, 0.75, 0.76, 0.77, 0.78, 0.79, 0.8, 0.85, 0.9, 0.95],\n", + " score_cuts=[0.1, 0.2, 0.3, 0.4, 0.41, 0.42, 0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49, 0.5, 0.55, 0.6, 0.7, 0.8, 0.9],\n", " n_events=200,\n", " seed=0,\n", ")\n" @@ -1578,11 +2344,55 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:--------------------- Step 4: Scoring graph edges using GNN ---------------------\n", + "INFO:---------------------------- a) Loading trained model ----------------------------\n", + "INFO:Load model from artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt.\n", + "INFO:Load model from artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt.\n", + "INFO:----------------------------- b) Running inferencing -----------------------------\n", + "INFO:Remove directory `/scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover-only-long-electrons`.\n", + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/test/velo-sim10b-nospillover-only-long-electrons to /scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover-only-long-electrons\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "53b782bbd20549638098ef6fae64f4a5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "output: tensor([-1.2801], device='cuda:0')\n", + "truth: tensor([True], device='cuda:0')\n" + ] + } + ], "source": [ - "run_gnn_inference(CONFIG, checkpoint=gnn_model)" + "run_gnn_inference(CONFIG, partitions=[\"test\"], checkpoint=gnn_artifact_path)" ] }, { @@ -1594,11 +2404,58 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:----------- Step 5: Building track candidates from the scored graph -----------\n", + "INFO:Score cut: 0.45\n", + "INFO:Remove directory `/scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover`.\n", + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover to /scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "99c522065acd4b3ea0eeb7e66feee2c7", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Remove directory `/scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover-only-long-electrons`.\n", + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover-only-long-electrons to /scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover-only-long-electrons\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "80401649c2d54bc897aa411db921fad9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "build_track_candidates(CONFIG)" + "build_track_candidates(CONFIG, partitions=[\"test\"])" ] }, { @@ -1648,9 +2505,198 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:---------------------------- velo-sim10b-nospillover ----------------------------\n", + "INFO:--------------------- Evaluation for velo-sim10b-nospillover ---------------------\n", + "INFO:1) Load dataframe of tracks, hits-particles and particles\n", + "INFO:Load tracks in /scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a92d3f5d11b9478b8b5528d3d15db5b0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Load pre-processed test datasets in /scratch/acorreia/data/__test__/velo-sim10b-nospillover.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a0b7fe8aa58d44f18255a18ec1626aee", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ee5ebcd7810d4429b145fd1dc2255934", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Compute plat stats\n", + "INFO:2) Matching\n", + "INFO:3) Evaluation\n", + "INFO:Report was saved in output/focal-loss-pid-fixed/report-2023.06.10-18.17.01-velo-sim10b-nospillover.txt\n", + "INFO:------------------ velo-sim10b-nospillover-only-long-electrons ------------------\n", + "INFO:----------- Evaluation for velo-sim10b-nospillover-only-long-electrons -----------\n", + "INFO:1) Load dataframe of tracks, hits-particles and particles\n", + "INFO:Load tracks in /scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover-only-long-electrons.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "TrackChecker output : 2020/ 243242 0.83% ghosts\n", + "01_velo : 101318/ 104345 97.10% ( 97.24%), 837 ( 0.82%) clones, pur 99.86%, hit eff 97.73%\n", + "02_long : 58330/ 59167 98.59% ( 98.62%), 457 ( 0.78%) clones, pur 99.93%, hit eff 98.31%\n", + "03_long_P>5GeV : 37865/ 38150 99.25% ( 99.26%), 231 ( 0.61%) clones, pur 99.93%, hit eff 98.85%\n", + "04_long_strange : 2971/ 3142 94.56% ( 94.88%), 38 ( 1.26%) clones, pur 99.64%, hit eff 95.25%\n", + "05_long_strange_P>5GeV : 1443/ 1521 94.87% ( 94.91%), 7 ( 0.48%) clones, pur 99.58%, hit eff 97.68%\n", + "06_long_fromB : 120/ 120 100.00% (100.00%), 2 ( 1.64%) clones, pur 99.80%, hit eff 98.13%\n", + "07_long_fromB_P>5GeV : 87/ 87 100.00% (100.00%), 0 ( 0.00%) clones, pur 100.00%, hit eff 99.81%\n", + "08_long_electrons : 3459/ 4198 82.40% ( 82.85%), 74 ( 2.09%) clones, pur 98.84%, hit eff 87.95%\n", + "09_long_fromB_electrons : 10/ 10 100.00% (100.00%), 0 ( 0.00%) clones, pur 100.00%, hit eff 93.33%\n", + "10_long_fromB_electrons_P>5GeV : 7/ 7 100.00% (100.00%), 0 ( 0.00%) clones, pur 100.00%, hit eff 96.43%\n", + "\n", + "| Categories | Efficiency | Average efficiency | % clones | Average hit purity | Average hit efficiency |\n", + "|:---------------------|:-------------|:---------------------|:-----------|:---------------------|:-------------------------|\n", + "| Velo | 93.82% | 94.10% | 1.06% | 99.75% | 96.26% |\n", + "| Long | 97.51% | 97.58% | 0.85% | 99.87% | 97.72% |\n", + "| Velo, no electrons | 97.10% | 97.24% | 0.82% | 99.86% | 97.73% |\n", + "| Velo, only electrons | 76.99% | 77.37% | 2.57% | 99.03% | 86.85% |\n", + "| Long, only electrons | 82.40% | 82.85% | 2.09% | 98.84% | 87.95% |\n", + "| Categories | # ghosts | # tracks | % ghosts |\n", + "|:-------------|:-----------|:-----------|:-----------|\n", + "| Everything | 2,020 | 243,242 | 0.83% |\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "34dd25e5bee94a77a1929b090407145e", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Load pre-processed test datasets in /scratch/acorreia/data/__test__/velo-sim10b-nospillover-only-long-electrons.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "43f2ebe143524dbfbac177c36fa6fb12", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "fdffd3ff7ada4a00844294b6644837d9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Compute plat stats\n", + "INFO:2) Matching\n", + "INFO:3) Evaluation\n", + "INFO:Report was saved in output/focal-loss-pid-fixed/report-2023.06.10-18.17.19-velo-sim10b-nospillover-only-long-electrons.txt\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "TrackChecker output : 79/ 4432 1.78% ghosts\n", + "01_velo : 0/ 0 nan% ( nan%), 0 ( nan%) clones, pur nan%, hit eff nan%\n", + "02_long : 0/ 0 nan% ( nan%), 0 ( nan%) clones, pur nan%, hit eff nan%\n", + "03_long_P>5GeV : 0/ 0 nan% ( nan%), 0 ( nan%) clones, pur nan%, hit eff nan%\n", + "04_long_strange : 0/ 0 nan% ( nan%), 0 ( nan%) clones, pur nan%, hit eff nan%\n", + "05_long_strange_P>5GeV : 0/ 0 nan% ( nan%), 0 ( nan%) clones, pur nan%, hit eff nan%\n", + "06_long_fromB : 0/ 0 nan% ( nan%), 0 ( nan%) clones, pur nan%, hit eff nan%\n", + "07_long_fromB_P>5GeV : 0/ 0 nan% ( nan%), 0 ( nan%) clones, pur nan%, hit eff nan%\n", + "08_long_electrons : 4286/ 4670 91.78% ( 93.18%), 37 ( 0.86%) clones, pur 99.29%, hit eff 95.56%\n", + "09_long_fromB_electrons : 10/ 10 100.00% (100.00%), 0 ( 0.00%) clones, pur 100.00%, hit eff 97.50%\n", + "10_long_fromB_electrons_P>5GeV : 7/ 7 100.00% (100.00%), 0 ( 0.00%) clones, pur 100.00%, hit eff 96.43%\n", + "\n", + "| Categories | Efficiency | Average efficiency | % clones | Average hit purity | Average hit efficiency |\n", + "|:---------------------|:-------------|:---------------------|:-----------|:---------------------|:-------------------------|\n", + "| Velo | 91.78% | 93.18% | 0.86% | 99.29% | 95.56% |\n", + "| Long | 91.78% | 93.18% | 0.86% | 99.29% | 95.56% |\n", + "| Velo, no electrons | nan% | nan% | nan% | nan% | nan% |\n", + "| Velo, only electrons | 91.78% | 93.18% | 0.86% | 99.29% | 95.56% |\n", + "| Long, only electrons | 91.78% | 93.18% | 0.86% | 99.29% | 95.56% |\n", + "| Categories | # ghosts | # tracks | % ghosts |\n", + "|:-------------|-----------:|:-----------|:-----------|\n", + "| Everything | 79 | 4,432 | 1.78% |\n" + ] + } + ], "source": [ "for test_dataset_name in get_required_test_dataset_names(CONFIG):\n", " logging.info(headline(test_dataset_name))\n", -- GitLab From 1ec5e0a0e815e33d03c231570a0b3d0a90761ae9 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Sun, 11 Jun 2023 00:49:44 +0200 Subject: [PATCH 05/33] Correct typehint in load_partition --- LHCb_Pipeline/utils/modelutils/basemodel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LHCb_Pipeline/utils/modelutils/basemodel.py b/LHCb_Pipeline/utils/modelutils/basemodel.py index 027e39ac..706f1193 100644 --- a/LHCb_Pipeline/utils/modelutils/basemodel.py +++ b/LHCb_Pipeline/utils/modelutils/basemodel.py @@ -180,7 +180,7 @@ class ModelBase(LightningModule): n_events: int | None = None, shuffle: bool = False, seed: int | None = None, - ) -> typing.List[Data]: + ): """Load datasets of a partition. Args: -- GitLab From 01052d51ecd91c7eba0e7e9d5c862a058b8bb3d2 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Sun, 11 Jun 2023 00:50:08 +0200 Subject: [PATCH 06/33] Fix learning rate bug when training from artifact --- LHCb_Pipeline/GNN/gnn_base.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/LHCb_Pipeline/GNN/gnn_base.py b/LHCb_Pipeline/GNN/gnn_base.py index c70a977d..71c8d115 100644 --- a/LHCb_Pipeline/GNN/gnn_base.py +++ b/LHCb_Pipeline/GNN/gnn_base.py @@ -185,6 +185,7 @@ class GNNBase(ModelBase): "train_loss", loss, on_epoch=True, + on_step=False, batch_size=output.shape[0], prog_bar=True, ) @@ -224,7 +225,7 @@ class GNNBase(ModelBase): def shared_evaluation( self, batch: Data, batch_idx: int, log: bool = False - ) -> typing.Dict[str, float]: + ) -> typing.Dict[str, torch.Tensor]: output, truth, loss = self.common_training_validation_step(batch=batch) # Edge filter performance score = torch.sigmoid(output) @@ -256,7 +257,7 @@ class GNNBase(ModelBase): batch_idx, optimizer, optimizer_closure, - ): + ): # warm up lr if (self.hparams["warmup"] is not None) and ( self.current_epoch < self.hparams["warmup"] @@ -264,7 +265,11 @@ class GNNBase(ModelBase): lr_scale = min(1.0, float(self.current_epoch + 1) / self.hparams["warmup"]) for pg in optimizer.param_groups: pg["lr"] = lr_scale * self.hparams["lr"] + else: + for pg in optimizer.param_groups: + pg["lr"] = self.lr_schedulers().get_last_lr()[0] # update params optimizer.step(closure=optimizer_closure) optimizer.zero_grad(set_to_none=False) + -- GitLab From ff61aa837434099ac10ff80e449150bbf3638548 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Sun, 11 Jun 2023 11:56:29 +0200 Subject: [PATCH 07/33] Push focal-loss-pid-fixed pipeline --- .../full_pipeline-focal-loss-pid-fixed.ipynb | 244 ++++++------------ 1 file changed, 80 insertions(+), 164 deletions(-) diff --git a/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed.ipynb b/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed.ipynb index f6b9c764..e7090397 100644 --- a/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed.ipynb +++ b/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed.ipynb @@ -759,9 +759,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Output directory /scratch/acorreia/data/__test__/velo-sim10b-nospillover exists and is not empty. Thus, the preprocessing was not run. Please use `reproduce=True` if you need to run the preprocessing again.\n", + "INFO:Output directory /scratch/acorreia/data/__test__/velo-sim10b-nospillover-only-long-electrons exists and is not empty. Thus, the preprocessing was not run. Please use `reproduce=True` if you need to run the preprocessing again.\n" + ] + } + ], "source": [ "for required_test_dataset_name in get_required_test_dataset_names(CONFIG):\n", " run_preprocessing_test_dataset(\n", @@ -1202,6 +1211,58 @@ "We have a set of graphs constructed. We now train a GNN to classify edges as either \"true\" (belonging to the same track) or \"false\" (not belonging to the same track). We train for 30 epochs, which should take around 10 minutes on a V100 GPU. Your mileage may vary." ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "if run_training:\n", + " send_telegram_message('Started GNN training.', chat_id, api_key)\n", + " with warnings.catch_warnings():\n", + " warnings.filterwarnings(\n", + " \"ignore\", message=\"None of the inputs have requires_grad=True.\"\n", + " )\n", + " gnn_trainer, gnn_model = train_gnn(CONFIG)\n", + "\n", + " send_telegram_message('Finished GNN training.', chat_id, api_key)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### From checkpoint" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "gnn_metric_path='artifacts/gnn/focal-loss-pid-fixed/version_0/metrics.csv'\n", + "gnn_artifact_path='artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt'\n" + ] + } + ], + "source": [ + "from utils.modelutils.checkpoint_utils import (\n", + " get_last_version_dir_from_config,\n", + " get_last_artifact,\n", + ")\n", + "from GNN.models.interaction_gnn import InteractionGNN\n", + "\n", + "gnn_version_dir = get_last_version_dir_from_config(step=\"gnn\", path_or_config=CONFIG)\n", + "gnn_metric_path = os.path.join(gnn_version_dir, \"metrics.csv\")\n", + "gnn_artifact_path = get_last_artifact(version_dir=gnn_version_dir)\n", + "print(f\"{gnn_metric_path=}\")\n", + "print(f\"{gnn_artifact_path=}\")" + ] + }, { "cell_type": "code", "execution_count": null, @@ -1211,11 +1272,6 @@ "name": "stderr", "output_type": "stream", "text": [ - "INFO:------------------------- Step 3: Running GNN training -------------------------\n", - "INFO:----------------------------- a) Initialising model -----------------------------\n", - "INFO:------------------------------ b) Running training ------------------------------\n", - "Missing logger folder: /home/acorreia/Documents/tracking/etx4velo/LHCb_Pipeline/artifacts/gnn/focal-loss-pid-fixed\n", - "INFO:Save hyperparameters, metrics and artifacts in /home/acorreia/Documents/tracking/etx4velo/LHCb_Pipeline/artifacts/gnn/focal-loss-pid-fixed/version_0\n", "GPU available: True (cuda), used: True\n", "TPU available: False, using: 0 TPU cores\n", "IPU available: False, using: 0 IPUs\n", @@ -1226,7 +1282,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bbbe40dfdf7143e085e7a813d5787d6d", + "model_id": "9c247db76bde42d281971f8b63147f5a", "version_major": 2, "version_minor": 0 }, @@ -1247,7 +1303,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9edd7c25454547c6a782b3302caa67ad", + "model_id": "1c0930728bd14b369102a20d9bd9b3f3", "version_major": 2, "version_minor": 0 }, @@ -1262,6 +1318,9 @@ "name": "stderr", "output_type": "stream", "text": [ + "Restoring states from the checkpoint path at artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt\n", + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/pytorch_lightning/callbacks/model_checkpoint.py:337: UserWarning: The dirpath has changed from '/home/acorreia/Documents/tracking/etx4velo/LHCb_Pipeline/artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints' to '/home/acorreia/Documents/tracking/etx4velo/LHCb_Pipeline/artifacts/gnn/focal-loss-pid-fixed/version_1/checkpoints', therefore `best_model_score`, `kth_best_model_path`, `kth_value`, `last_model_path` and `best_k_models` won't be reloaded. Only `best_model_path` will be reloaded.\n", + " warnings.warn(\n", "LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n", "\n", " | Name | Type | Params\n", @@ -1275,7 +1334,15 @@ "2.8 M Trainable params\n", "0 Non-trainable params\n", "2.8 M Total params\n", - "11.111 Total estimated model params size (MB)\n" + "11.111 Total estimated model params size (MB)\n", + "Restored all states from the checkpoint at artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "scheduler: [{'scheduler': <torch.optim.lr_scheduler.StepLR object at 0x7f685862bf70>, 'interval': 'epoch', 'frequency': 1}]\n" ] }, { @@ -1295,7 +1362,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5ee6357167424736846d37949bf55de0", + "model_id": "7dd89bb40cfd4d0dae7ddbf6b51dcd29", "version_major": 2, "version_minor": 0 }, @@ -1377,157 +1444,6 @@ "output_type": "display_data" } ], - "source": [ - "if run_training:\n", - " send_telegram_message('Started GNN training.', chat_id, api_key)\n", - " with warnings.catch_warnings():\n", - " warnings.filterwarnings(\n", - " \"ignore\", message=\"None of the inputs have requires_grad=True.\"\n", - " )\n", - " gnn_trainer, gnn_model = train_gnn(CONFIG)\n", - "\n", - " send_telegram_message('Finished GNN training.', chat_id, api_key)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### From checkpoint" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "gnn_metric_path='artifacts/gnn/focal-loss-pid-fixed/version_0/metrics.csv'\n", - "gnn_artifact_path='artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt'\n" - ] - } - ], - "source": [ - "from utils.modelutils.checkpoint_utils import (\n", - " get_last_version_dir_from_config,\n", - " get_last_artifact,\n", - ")\n", - "from GNN.models.interaction_gnn import InteractionGNN\n", - "\n", - "gnn_version_dir = get_last_version_dir_from_config(step=\"gnn\", path_or_config=CONFIG)\n", - "gnn_metric_path = os.path.join(gnn_version_dir, \"metrics.csv\")\n", - "gnn_artifact_path = get_last_artifact(version_dir=gnn_version_dir)\n", - "print(f\"{gnn_metric_path=}\")\n", - "print(f\"{gnn_artifact_path=}\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (cuda), used: True\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "INFO:Load 10000 files located in /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/train\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2747499bb69f42a8a87909adef66ed4d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/10000 [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "INFO:Load 500 files located in /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/val\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "0c51a3ca679d4ddfaadf95511315b9ea", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/500 [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Restoring states from the checkpoint path at artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt\n", - "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/pytorch_lightning/callbacks/model_checkpoint.py:337: UserWarning: The dirpath has changed from '/home/acorreia/Documents/tracking/etx4velo/LHCb_Pipeline/artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints' to '/home/acorreia/Documents/tracking/etx4velo/LHCb_Pipeline/artifacts/gnn/focal-loss-pid-fixed/version_1/checkpoints', therefore `best_model_score`, `kth_best_model_path`, `kth_value`, `last_model_path` and `best_k_models` won't be reloaded. Only `best_model_path` will be reloaded.\n", - " warnings.warn(\n", - "LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n", - "\n", - " | Name | Type | Params\n", - "------------------------------------------------------\n", - "0 | node_encoder | Sequential | 332 K \n", - "1 | edge_encoder | Sequential | 462 K \n", - "2 | edge_network | Sequential | 793 K \n", - "3 | node_network | Sequential | 659 K \n", - "4 | output_edge_classifier | Sequential | 529 K \n", - "------------------------------------------------------\n", - "2.8 M Trainable params\n", - "0 Non-trainable params\n", - "2.8 M Total params\n", - "11.111 Total estimated model params size (MB)\n", - "Restored all states from the checkpoint at artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "bd3024d08c454e788331f547c130c5e5", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], "source": [ "from pytorch_lightning import Trainer\n", "from pytorch_lightning.loggers import CSVLogger\n", @@ -1539,7 +1455,7 @@ " config = load_config(path_or_config=path_or_config)\n", "\n", " gnn_model = InteractionGNN.load_from_checkpoint(\n", - " gnn_artifact_path, **config[\"gnn\"]\n", + " gnn_artifact_path, hparams=config[\"gnn\"]\n", " ) # you may change `gnn_model`\n", "\n", " save_directory = os.path.abspath(\n", @@ -1551,7 +1467,7 @@ " gnn_trainer = Trainer(\n", " accelerator=\"gpu\" if torch.cuda.is_available() else \"cpu\",\n", " devices=1,\n", - " max_epochs=100, # you may increase the number of epochs\n", + " max_epochs=150, # you may increase the number of epochs\n", " logger=logger,\n", " # callbacks=[EarlyStopping(monitor=\"val_loss\", mode=\"min\")]\n", " )\n", -- GitLab From 45d3460615db0b84a6a3eca30ede229abb3b1091 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Sun, 11 Jun 2023 12:06:36 +0200 Subject: [PATCH 08/33] Set up new training with 20,000 events --- .../focal-loss-pid-fixed-20000.yaml | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml diff --git a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml new file mode 100644 index 00000000..5b20b288 --- /dev/null +++ b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml @@ -0,0 +1,101 @@ +common: + experiment_name: focal-loss-pid-fixed-20000 + data_directory: /scratch/acorreia/data + artifact_directory: artifacts + performance_directory: output # plots and reports + gpus: 1 + test_dataset_names: + - velo-sim10b-nospillover + - velo-sim10b-nospillover-only-long-electrons + # - bu2kstee-sim10aU1-xdigi + +preprocessing: + input_dir: /scratch/acorreia/minbias-sim10b-xdigi-nospillover + subdirs: {"start": 10, "stop": 20} + output_subdirectory: "preprocessed" + selection: triplets_first_selection + n_events: 21000 # if `null`, default to `n_train_events + n_test_events` + num_true_hits_threshold: 500 + hits_particles_columns: ["x", "y", "z", "plane"] + particles_columns: null + +processing: + input_subdirectory: "preprocessed" + output_subdirectory: "processed" + n_workers: 32 + features: ["r", "phi", "z", "plane"] + feature_means: [18., 0.0, 281.0, 7.5] + feature_scales: [9.75, 1.82, 287.0, 12.5] + kept_hits_columns: ["plane", {"un_x": "x"}, {"un_y": "y"}, {"un_z": "z"}] + kept_particles_columns: ["n_unique_planes", "nhits_velo"] + n_train_events: 20000 + n_val_events: 1000 + split_seed: 0 + true_edges_column: planewise + +metric_learning: + # Dataset parameters + input_subdirectory: "processed" + output_subdirectory: "metric_learning_processed" + + # Model parameters + feature_indices: 4 + emb_hidden: 256 + nb_layer: 6 + emb_dim: 4 + activation: Tanh + weight: 2 + randomisation: 2 + points_per_batch: 100000 + r: 0.015 + r_inference: 0.020 + knn: 50 + warmup: 8 + margin: 0.1 + lr: 0.001 + factor: 0.7 + patience: 10 + regime: [rp, hnm, norm] + bidir: False + max_epochs: 20 + + +gnn: + # Dataset parameters + input_subdirectory: "metric_learning_processed" + output_subdirectory: "gnn_processed" + edge_cut: 0.5 + noise: True + bidir: False + + # Model parameters + feature_indices: 4 # mmh I'm actually using the plane number, which is not deliberate + hidden: 256 + n_graph_iters: 8 + nb_node_layers: 6 + nb_node_encoder_layers: 6 + nb_edge_layers: 10 + nb_edge_encoder_layers: 6 + nb_edge_classifier_layers: 6 + layernorm: True + aggregation: sum_max + hidden_activation: SiLU + weight: 0.25 + warmup: 10 + lr: 0.0002 + factor: 0.7 + patience: 8 + regime: ["pid"] + max_epochs: 50 + gradient_clip_val: 0.5 + focal_loss: true + +triplet_building: + input_subdirectory: "gnn_processed" + output_subdirectory: "triplet_building" + +track_building: + score_cut: 0.45 + # input_subdirectory: "gnn_processed" + input_subdirectory: "gnn_processed" + output_subdirectory: "track_building_processed" -- GitLab From bc607109cc09d86e39d04c3768abd25fdc521cfe Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Sun, 11 Jun 2023 14:22:22 +0200 Subject: [PATCH 09/33] Be able to run embedding inference on CPU It is faster than on GPU.... --- LHCb_Pipeline/Embedding/build_embedding.py | 54 ------------------- LHCb_Pipeline/Embedding/embedding_base.py | 19 +++++-- LHCb_Pipeline/Embedding/graphutils.py | 31 ++++++++--- .../Scripts/Step_2_Run_Metric_Learning.py | 4 +- 4 files changed, 43 insertions(+), 65 deletions(-) diff --git a/LHCb_Pipeline/Embedding/build_embedding.py b/LHCb_Pipeline/Embedding/build_embedding.py index ac295857..0fde8a1d 100644 --- a/LHCb_Pipeline/Embedding/build_embedding.py +++ b/LHCb_Pipeline/Embedding/build_embedding.py @@ -10,8 +10,6 @@ from utils.graphutils.edgeutils import sort_edge_nodes from . import building_custom -device = "cuda" if torch.cuda.is_available() else "cpu" - def get_radius_from_config(path_or_config: str | dict) -> float: """Get the value of ``r_inference``, or fall back to ``r`` if ``r_inference`` @@ -90,8 +88,6 @@ class EmbeddingInferenceBuilder(ModelBuilderBase): unique_indices = torch.unique(unique_inverse) y_cluster = y_cluster[unique_indices] - assert e_spatial.shape[1] == torch.unique(e_spatial, dim=1).shape[1] - batch["edge_index"] = e_spatial batch["y"] = y_cluster return batch @@ -99,56 +95,6 @@ class EmbeddingInferenceBuilder(ModelBuilderBase): def _get_building_custom_module(self) -> ModuleType: return building_custom - # def filter_batch(self, batch: Data) -> Data: - # # at least 3 hits to be classified as valid edges - # # not_reconstructible_mask = batch.n_unique_planes < 3 - # not_reconstructible_mask = batch.nhits_velo < 3 - - # # Apply this transformation to `y` as well - # not_reconstructible_edge_mask = ( - # not_reconstructible_mask[batch.edge_index].min(dim=0).values - # ) - - # batch.y[not_reconstructible_edge_mask] = False - - # # Classify the hits as fake (so that the edges are also classified like so) - # batch.particle_id[not_reconstructible_mask] = 0 - - # # Remove edges in same `plane` and `z` - # edge_index_plane = batch.plane[batch.edge_index] - # no_self_edge_mask = edge_index_plane[0] != edge_index_plane[1] - # batch.edge_index = batch.edge_index[:, no_self_edge_mask] - # batch.y = batch.y[no_self_edge_mask] - - # return batch - - # def build_features(self, batch: Data) -> Data: - # # norm_x = batch.un_x / 14.5 - # # norm_y = batch.un_y / 14.5 - # # xe = batch.un_x[batch.edge_index] - # # ye = batch.un_y[batch.edge_index] - # # ze = batch.un_z[batch.edge_index] - - # # slopes_yz = (ye[1] - ye[0]) / (ze[1] - ze[0]) / 0.17 - # # slopes_xz = (xe[1] - xe[0]) / (ze[1] - ze[0]) / 0.17 - - # # assert not torch.isnan(slopes_yz).any() - # # assert not torch.isnan(slopes_xz).any() - # # # Modify batch definition - # # batch.x = torch.stack((norm_x, norm_y, batch["x"][:, 2]), dim=1).float() - # # batch.edge_features = torch.stack((slopes_xz, slopes_yz), dim=1).float() - # return batch - - # def build_weights(self, batch: Data) -> Data: - # node_weights = 7.0 / batch.n_unique_planes - # node_weights = torch.nan_to_num(node_weights, nan=1.0) - # edge_weights = torch.mean(node_weights[batch.edge_index], dim=0) - # batch.edge_weights = ( - # edge_weights * batch.edge_index.shape[1] / edge_weights.sum() - # ) - # assert not torch.isnan(batch.edge_weights).any(), str(batch.edge_weights) - # return batch - def get_performance(self, batch: Data, r_max: float, k_max: int): with torch.no_grad(): results = self.model.shared_evaluation(batch, 0, r_max, k_max) diff --git a/LHCb_Pipeline/Embedding/embedding_base.py b/LHCb_Pipeline/Embedding/embedding_base.py index 27d4ecdc..05be38b3 100644 --- a/LHCb_Pipeline/Embedding/embedding_base.py +++ b/LHCb_Pipeline/Embedding/embedding_base.py @@ -64,7 +64,12 @@ class EmbeddingBase(ModelBase): def append_hnm_pairs(self, e_spatial, query, query_indices, spatial): if "low_purity" in self.hparams["regime"]: knn_edges = build_edges( - query, spatial, query_indices, self.hparams["r"], 500 + query, + spatial, + query_indices, + self.hparams["r"], + 500, + device=self.device, ) knn_edges = knn_edges[ :, @@ -80,6 +85,7 @@ class EmbeddingBase(ModelBase): query_indices, self.hparams["r"], self.hparams["knn"], + device=self.device, ) e_spatial = torch.cat( @@ -137,7 +143,9 @@ class EmbeddingBase(ModelBase): return hinge, d def get_truth(self, batch, e_spatial, e_bidir): - e_spatial, y_cluster = graph_intersection(e_spatial, e_bidir) + e_spatial, y_cluster = graph_intersection( + e_spatial, e_bidir, device=self.device, + ) return e_spatial, y_cluster @@ -238,7 +246,12 @@ class EmbeddingBase(ModelBase): # Build whole KNN graph e_spatial = build_edges( - spatial, spatial, indices=None, r_max=knn_radius, k_max=knn_num + spatial, + spatial, + indices=None, + r_max=knn_radius, + k_max=knn_num, + device=self.device, ) if not self.bidir: sort_edge_nodes(e_spatial, batch.un_z) diff --git a/LHCb_Pipeline/Embedding/graphutils.py b/LHCb_Pipeline/Embedding/graphutils.py index aaa6d897..b3bcd00a 100644 --- a/LHCb_Pipeline/Embedding/graphutils.py +++ b/LHCb_Pipeline/Embedding/graphutils.py @@ -1,8 +1,8 @@ +from __future__ import annotations import torch import scipy as sp import numpy as np - # Ideally, we would be using FRNN and the GPU. # But in the case of a user not having a GPU, or not having FRNN, we import FAISS as the # nearest neighbor library @@ -17,9 +17,9 @@ except ImportError: FRNN_AVAILABLE = False if torch.cuda.is_available(): - device = "cuda" + default_device = "cuda" else: - device = "cpu" + default_device = "cpu" FRNN_AVAILABLE = False FRNN_AVAILABLE = False @@ -34,8 +34,15 @@ def get_edge_subset(edges, mask_where, inverse_mask): def graph_intersection( - pred_graph, truth_graph, using_weights=False, weights_bidir=None + pred_graph, + truth_graph, + using_weights=False, + weights_bidir=None, + device: str | torch.device | None = None, ): + if device is None: + device = default_device + if pred_graph.numel() > 0: pred_graph_max = pred_graph.max().item() else: @@ -110,13 +117,21 @@ def graph_intersection_pytorch(pred_graph, truth_graph): def build_edges( - query, database, indices=None, r_max=1.0, k_max=10, return_indices=False + query, + database, + indices=None, + r_max=1.0, + k_max=10, + return_indices=False, + device: str | torch.device | None = None, ): """ NOTE: These KNN/FRNN algorithms return the distances**2. Therefore we need to be careful when comparing them to the target distances (r_val, r_test), and to the margin parameter (which is L1 distance) """ + if device is None: + device = default_device if FRNN_AVAILABLE: Dsq, I, nn, grid = frnn.frnn_grid_points( @@ -139,13 +154,15 @@ def build_edges( edge_list = torch.stack([ind[positive_idxs], I[positive_idxs]]).long() else: - if device == "cuda": + if str(device) == "cuda": res = faiss.StandardGpuResources() Dsq, I = faiss.knn_gpu(res=res, xq=query, xb=database, k=k_max) - elif device == "cpu": + elif str(device) == "cpu": index = faiss.IndexFlatL2(database.shape[1]) index.add(database) Dsq, I = index.search(query, k_max) + else: + raise ValueError(f"Device {device} is not recognised.") ind = torch.Tensor.repeat( torch.arange(I.shape[0], device=device), (I.shape[1], 1), 1 diff --git a/LHCb_Pipeline/Scripts/Step_2_Run_Metric_Learning.py b/LHCb_Pipeline/Scripts/Step_2_Run_Metric_Learning.py index 67f8d9a3..8667a0c9 100644 --- a/LHCb_Pipeline/Scripts/Step_2_Run_Metric_Learning.py +++ b/LHCb_Pipeline/Scripts/Step_2_Run_Metric_Learning.py @@ -24,6 +24,7 @@ def train( checkpoint: LayerlessEmbedding | str | None = None, reproduce: bool = True, override_hparams: bool = False, + use_gpu: bool = True, **kwargs, ): """Run the inference of the metric learning stage. @@ -44,6 +45,7 @@ def train( reproduce: whether to delete an existing folder override_hparams: whether to override the hyparameters of the model that is loaded, with the ones in the YAML configuration + use_gpu: whether to use the GPU (if available) **kwargs: Other keyword arguments passed to the :py:func:`PyTorch.LightingModel.load_from_checkpoint` class method """ @@ -55,7 +57,7 @@ def train( logging.info(headline("a) Loading trained model")) - device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + device = torch.device("cuda" if use_gpu and torch.cuda.is_available() else "cpu") if override_hparams: kwargs = {"hparams": metric_learning_configs, **kwargs} -- GitLab From a9ae756f873d25a51822eb7e3035d499c1696fdb Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Sun, 11 Jun 2023 14:23:04 +0200 Subject: [PATCH 10/33] Update pipelines --- ..._pipeline-focal-loss-pid-fixed-20000.ipynb | 3305 +++++++++++++++++ .../full_pipeline-focal-loss-pid-fixed.ipynb | 1656 ++++----- .../focal-loss-pid-fixed-20000.yaml | 4 + 3 files changed, 3975 insertions(+), 990 deletions(-) create mode 100644 LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed-20000.ipynb diff --git a/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed-20000.ipynb b/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed-20000.ipynb new file mode 100644 index 00000000..72b86373 --- /dev/null +++ b/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed-20000.ipynb @@ -0,0 +1,3305 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 0. Setup" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Imports" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "<div class=\"bk-root\">\n", + " <a href=\"https://bokeh.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n", + " <span id=\"1002\">Loading BokehJS ...</span>\n", + " </div>\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "(function(root) {\n", + " function now() {\n", + " return new Date();\n", + " }\n", + "\n", + " const force = true;\n", + "\n", + " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", + " root._bokeh_onload_callbacks = [];\n", + " root._bokeh_is_loading = undefined;\n", + " }\n", + "\n", + "const JS_MIME_TYPE = 'application/javascript';\n", + " const HTML_MIME_TYPE = 'text/html';\n", + " const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", + " const CLASS_NAME = 'output_bokeh rendered_html';\n", + "\n", + " /**\n", + " * Render data to the DOM node\n", + " */\n", + " function render(props, node) {\n", + " const script = document.createElement(\"script\");\n", + " node.appendChild(script);\n", + " }\n", + "\n", + " /**\n", + " * Handle when an output is cleared or removed\n", + " */\n", + " function handleClearOutput(event, handle) {\n", + " const cell = handle.cell;\n", + "\n", + " const id = cell.output_area._bokeh_element_id;\n", + " const server_id = cell.output_area._bokeh_server_id;\n", + " // Clean up Bokeh references\n", + " if (id != null && id in Bokeh.index) {\n", + " Bokeh.index[id].model.document.clear();\n", + " delete Bokeh.index[id];\n", + " }\n", + "\n", + " if (server_id !== undefined) {\n", + " // Clean up Bokeh references\n", + " const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", + " cell.notebook.kernel.execute(cmd_clean, {\n", + " iopub: {\n", + " output: function(msg) {\n", + " const id = msg.content.text.trim();\n", + " if (id in Bokeh.index) {\n", + " Bokeh.index[id].model.document.clear();\n", + " delete Bokeh.index[id];\n", + " }\n", + " }\n", + " }\n", + " });\n", + " // Destroy server and session\n", + " const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", + " cell.notebook.kernel.execute(cmd_destroy);\n", + " }\n", + " }\n", + "\n", + " /**\n", + " * Handle when a new output is added\n", + " */\n", + " function handleAddOutput(event, handle) {\n", + " const output_area = handle.output_area;\n", + " const output = handle.output;\n", + "\n", + " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", + " if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n", + " return\n", + " }\n", + "\n", + " const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", + "\n", + " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", + " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", + " // store reference to embed id on output_area\n", + " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", + " }\n", + " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", + " const bk_div = document.createElement(\"div\");\n", + " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", + " const script_attrs = bk_div.children[0].attributes;\n", + " for (let i = 0; i < script_attrs.length; i++) {\n", + " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", + " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n", + " }\n", + " // store reference to server id on output_area\n", + " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", + " }\n", + " }\n", + "\n", + " function register_renderer(events, OutputArea) {\n", + "\n", + " function append_mime(data, metadata, element) {\n", + " // create a DOM node to render to\n", + " const toinsert = this.create_output_subarea(\n", + " metadata,\n", + " CLASS_NAME,\n", + " EXEC_MIME_TYPE\n", + " );\n", + " this.keyboard_manager.register_events(toinsert);\n", + " // Render to node\n", + " const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", + " render(props, toinsert[toinsert.length - 1]);\n", + " element.append(toinsert);\n", + " return toinsert\n", + " }\n", + "\n", + " /* Handle when an output is cleared or removed */\n", + " events.on('clear_output.CodeCell', handleClearOutput);\n", + " events.on('delete.Cell', handleClearOutput);\n", + "\n", + " /* Handle when a new output is added */\n", + " events.on('output_added.OutputArea', handleAddOutput);\n", + "\n", + " /**\n", + " * Register the mime type and append_mime function with output_area\n", + " */\n", + " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", + " /* Is output safe? */\n", + " safe: true,\n", + " /* Index of renderer in `output_area.display_order` */\n", + " index: 0\n", + " });\n", + " }\n", + "\n", + " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", + " if (root.Jupyter !== undefined) {\n", + " const events = require('base/js/events');\n", + " const OutputArea = require('notebook/js/outputarea').OutputArea;\n", + "\n", + " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", + " register_renderer(events, OutputArea);\n", + " }\n", + " }\n", + " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_failed_load = false;\n", + " }\n", + "\n", + " const NB_LOAD_WARNING = {'data': {'text/html':\n", + " \"<div style='background-color: #fdd'>\\n\"+\n", + " \"<p>\\n\"+\n", + " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", + " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", + " \"</p>\\n\"+\n", + " \"<ul>\\n\"+\n", + " \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n", + " \"<li>use INLINE resources instead, as so:</li>\\n\"+\n", + " \"</ul>\\n\"+\n", + " \"<code>\\n\"+\n", + " \"from bokeh.resources import INLINE\\n\"+\n", + " \"output_notebook(resources=INLINE)\\n\"+\n", + " \"</code>\\n\"+\n", + " \"</div>\"}};\n", + "\n", + " function display_loaded() {\n", + " const el = document.getElementById(\"1002\");\n", + " if (el != null) {\n", + " el.textContent = \"BokehJS is loading...\";\n", + " }\n", + " if (root.Bokeh !== undefined) {\n", + " if (el != null) {\n", + " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", + " }\n", + " } else if (Date.now() < root._bokeh_timeout) {\n", + " setTimeout(display_loaded, 100)\n", + " }\n", + " }\n", + "\n", + " function run_callbacks() {\n", + " try {\n", + " root._bokeh_onload_callbacks.forEach(function(callback) {\n", + " if (callback != null)\n", + " callback();\n", + " });\n", + " } finally {\n", + " delete root._bokeh_onload_callbacks\n", + " }\n", + " console.debug(\"Bokeh: all callbacks have finished\");\n", + " }\n", + "\n", + " function load_libs(css_urls, js_urls, callback) {\n", + " if (css_urls == null) css_urls = [];\n", + " if (js_urls == null) js_urls = [];\n", + "\n", + " root._bokeh_onload_callbacks.push(callback);\n", + " if (root._bokeh_is_loading > 0) {\n", + " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", + " return null;\n", + " }\n", + " if (js_urls == null || js_urls.length === 0) {\n", + " run_callbacks();\n", + " return null;\n", + " }\n", + " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", + " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", + "\n", + " function on_load() {\n", + " root._bokeh_is_loading--;\n", + " if (root._bokeh_is_loading === 0) {\n", + " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", + " run_callbacks()\n", + " }\n", + " }\n", + "\n", + " function on_error(url) {\n", + " console.error(\"failed to load \" + url);\n", + " }\n", + "\n", + " for (let i = 0; i < css_urls.length; i++) {\n", + " const url = css_urls[i];\n", + " const element = document.createElement(\"link\");\n", + " element.onload = on_load;\n", + " element.onerror = on_error.bind(null, url);\n", + " element.rel = \"stylesheet\";\n", + " element.type = \"text/css\";\n", + " element.href = url;\n", + " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", + " document.body.appendChild(element);\n", + " }\n", + "\n", + " for (let i = 0; i < js_urls.length; i++) {\n", + " const url = js_urls[i];\n", + " const element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error.bind(null, url);\n", + " element.async = false;\n", + " element.src = url;\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " };\n", + "\n", + " function inject_raw_css(css) {\n", + " const element = document.createElement(\"style\");\n", + " element.appendChild(document.createTextNode(css));\n", + " document.body.appendChild(element);\n", + " }\n", + "\n", + " const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n", + " const css_urls = [];\n", + "\n", + " const inline_js = [ function(Bokeh) {\n", + " Bokeh.set_log_level(\"info\");\n", + " },\n", + "function(Bokeh) {\n", + " }\n", + " ];\n", + "\n", + " function run_inline_js() {\n", + " if (root.Bokeh !== undefined || force === true) {\n", + " for (let i = 0; i < inline_js.length; i++) {\n", + " inline_js[i].call(root, root.Bokeh);\n", + " }\n", + "if (force === true) {\n", + " display_loaded();\n", + " }} else if (Date.now() < root._bokeh_timeout) {\n", + " setTimeout(run_inline_js, 100);\n", + " } else if (!root._bokeh_failed_load) {\n", + " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", + " root._bokeh_failed_load = true;\n", + " } else if (force !== true) {\n", + " const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n", + " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", + " }\n", + " }\n", + "\n", + " if (root._bokeh_is_loading === 0) {\n", + " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", + " run_inline_js();\n", + " } else {\n", + " load_libs(css_urls, js_urls, function() {\n", + " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", + " run_inline_js();\n", + " });\n", + " }\n", + "}(window));" + ], + "application/vnd.bokehjs_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"<div style='background-color: #fdd'>\\n\"+\n \"<p>\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"</p>\\n\"+\n \"<ul>\\n\"+\n \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n \"<li>use INLINE resources instead, as so:</li>\\n\"+\n \"</ul>\\n\"+\n \"<code>\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"</code>\\n\"+\n \"</div>\"}};\n\n function display_loaded() {\n const el = document.getElementById(\"1002\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\nif (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<div class=\"bk-root\">\n", + " <a href=\"https://bokeh.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n", + " <span id=\"1003\">Loading BokehJS ...</span>\n", + " </div>\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/javascript": [ + "(function(root) {\n", + " function now() {\n", + " return new Date();\n", + " }\n", + "\n", + " const force = true;\n", + "\n", + " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", + " root._bokeh_onload_callbacks = [];\n", + " root._bokeh_is_loading = undefined;\n", + " }\n", + "\n", + "const JS_MIME_TYPE = 'application/javascript';\n", + " const HTML_MIME_TYPE = 'text/html';\n", + " const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", + " const CLASS_NAME = 'output_bokeh rendered_html';\n", + "\n", + " /**\n", + " * Render data to the DOM node\n", + " */\n", + " function render(props, node) {\n", + " const script = document.createElement(\"script\");\n", + " node.appendChild(script);\n", + " }\n", + "\n", + " /**\n", + " * Handle when an output is cleared or removed\n", + " */\n", + " function handleClearOutput(event, handle) {\n", + " const cell = handle.cell;\n", + "\n", + " const id = cell.output_area._bokeh_element_id;\n", + " const server_id = cell.output_area._bokeh_server_id;\n", + " // Clean up Bokeh references\n", + " if (id != null && id in Bokeh.index) {\n", + " Bokeh.index[id].model.document.clear();\n", + " delete Bokeh.index[id];\n", + " }\n", + "\n", + " if (server_id !== undefined) {\n", + " // Clean up Bokeh references\n", + " const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", + " cell.notebook.kernel.execute(cmd_clean, {\n", + " iopub: {\n", + " output: function(msg) {\n", + " const id = msg.content.text.trim();\n", + " if (id in Bokeh.index) {\n", + " Bokeh.index[id].model.document.clear();\n", + " delete Bokeh.index[id];\n", + " }\n", + " }\n", + " }\n", + " });\n", + " // Destroy server and session\n", + " const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", + " cell.notebook.kernel.execute(cmd_destroy);\n", + " }\n", + " }\n", + "\n", + " /**\n", + " * Handle when a new output is added\n", + " */\n", + " function handleAddOutput(event, handle) {\n", + " const output_area = handle.output_area;\n", + " const output = handle.output;\n", + "\n", + " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", + " if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n", + " return\n", + " }\n", + "\n", + " const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", + "\n", + " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", + " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", + " // store reference to embed id on output_area\n", + " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", + " }\n", + " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", + " const bk_div = document.createElement(\"div\");\n", + " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", + " const script_attrs = bk_div.children[0].attributes;\n", + " for (let i = 0; i < script_attrs.length; i++) {\n", + " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", + " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n", + " }\n", + " // store reference to server id on output_area\n", + " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", + " }\n", + " }\n", + "\n", + " function register_renderer(events, OutputArea) {\n", + "\n", + " function append_mime(data, metadata, element) {\n", + " // create a DOM node to render to\n", + " const toinsert = this.create_output_subarea(\n", + " metadata,\n", + " CLASS_NAME,\n", + " EXEC_MIME_TYPE\n", + " );\n", + " this.keyboard_manager.register_events(toinsert);\n", + " // Render to node\n", + " const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", + " render(props, toinsert[toinsert.length - 1]);\n", + " element.append(toinsert);\n", + " return toinsert\n", + " }\n", + "\n", + " /* Handle when an output is cleared or removed */\n", + " events.on('clear_output.CodeCell', handleClearOutput);\n", + " events.on('delete.Cell', handleClearOutput);\n", + "\n", + " /* Handle when a new output is added */\n", + " events.on('output_added.OutputArea', handleAddOutput);\n", + "\n", + " /**\n", + " * Register the mime type and append_mime function with output_area\n", + " */\n", + " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", + " /* Is output safe? */\n", + " safe: true,\n", + " /* Index of renderer in `output_area.display_order` */\n", + " index: 0\n", + " });\n", + " }\n", + "\n", + " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", + " if (root.Jupyter !== undefined) {\n", + " const events = require('base/js/events');\n", + " const OutputArea = require('notebook/js/outputarea').OutputArea;\n", + "\n", + " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", + " register_renderer(events, OutputArea);\n", + " }\n", + " }\n", + " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", + " root._bokeh_timeout = Date.now() + 5000;\n", + " root._bokeh_failed_load = false;\n", + " }\n", + "\n", + " const NB_LOAD_WARNING = {'data': {'text/html':\n", + " \"<div style='background-color: #fdd'>\\n\"+\n", + " \"<p>\\n\"+\n", + " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", + " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", + " \"</p>\\n\"+\n", + " \"<ul>\\n\"+\n", + " \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n", + " \"<li>use INLINE resources instead, as so:</li>\\n\"+\n", + " \"</ul>\\n\"+\n", + " \"<code>\\n\"+\n", + " \"from bokeh.resources import INLINE\\n\"+\n", + " \"output_notebook(resources=INLINE)\\n\"+\n", + " \"</code>\\n\"+\n", + " \"</div>\"}};\n", + "\n", + " function display_loaded() {\n", + " const el = document.getElementById(\"1003\");\n", + " if (el != null) {\n", + " el.textContent = \"BokehJS is loading...\";\n", + " }\n", + " if (root.Bokeh !== undefined) {\n", + " if (el != null) {\n", + " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", + " }\n", + " } else if (Date.now() < root._bokeh_timeout) {\n", + " setTimeout(display_loaded, 100)\n", + " }\n", + " }\n", + "\n", + " function run_callbacks() {\n", + " try {\n", + " root._bokeh_onload_callbacks.forEach(function(callback) {\n", + " if (callback != null)\n", + " callback();\n", + " });\n", + " } finally {\n", + " delete root._bokeh_onload_callbacks\n", + " }\n", + " console.debug(\"Bokeh: all callbacks have finished\");\n", + " }\n", + "\n", + " function load_libs(css_urls, js_urls, callback) {\n", + " if (css_urls == null) css_urls = [];\n", + " if (js_urls == null) js_urls = [];\n", + "\n", + " root._bokeh_onload_callbacks.push(callback);\n", + " if (root._bokeh_is_loading > 0) {\n", + " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", + " return null;\n", + " }\n", + " if (js_urls == null || js_urls.length === 0) {\n", + " run_callbacks();\n", + " return null;\n", + " }\n", + " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", + " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", + "\n", + " function on_load() {\n", + " root._bokeh_is_loading--;\n", + " if (root._bokeh_is_loading === 0) {\n", + " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", + " run_callbacks()\n", + " }\n", + " }\n", + "\n", + " function on_error(url) {\n", + " console.error(\"failed to load \" + url);\n", + " }\n", + "\n", + " for (let i = 0; i < css_urls.length; i++) {\n", + " const url = css_urls[i];\n", + " const element = document.createElement(\"link\");\n", + " element.onload = on_load;\n", + " element.onerror = on_error.bind(null, url);\n", + " element.rel = \"stylesheet\";\n", + " element.type = \"text/css\";\n", + " element.href = url;\n", + " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", + " document.body.appendChild(element);\n", + " }\n", + "\n", + " for (let i = 0; i < js_urls.length; i++) {\n", + " const url = js_urls[i];\n", + " const element = document.createElement('script');\n", + " element.onload = on_load;\n", + " element.onerror = on_error.bind(null, url);\n", + " element.async = false;\n", + " element.src = url;\n", + " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", + " document.head.appendChild(element);\n", + " }\n", + " };\n", + "\n", + " function inject_raw_css(css) {\n", + " const element = document.createElement(\"style\");\n", + " element.appendChild(document.createTextNode(css));\n", + " document.body.appendChild(element);\n", + " }\n", + "\n", + " const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n", + " const css_urls = [];\n", + "\n", + " const inline_js = [ function(Bokeh) {\n", + " Bokeh.set_log_level(\"info\");\n", + " },\n", + "function(Bokeh) {\n", + " }\n", + " ];\n", + "\n", + " function run_inline_js() {\n", + " if (root.Bokeh !== undefined || force === true) {\n", + " for (let i = 0; i < inline_js.length; i++) {\n", + " inline_js[i].call(root, root.Bokeh);\n", + " }\n", + "if (force === true) {\n", + " display_loaded();\n", + " }} else if (Date.now() < root._bokeh_timeout) {\n", + " setTimeout(run_inline_js, 100);\n", + " } else if (!root._bokeh_failed_load) {\n", + " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", + " root._bokeh_failed_load = true;\n", + " } else if (force !== true) {\n", + " const cell = $(document.getElementById(\"1003\")).parents('.cell').data().cell;\n", + " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", + " }\n", + " }\n", + "\n", + " if (root._bokeh_is_loading === 0) {\n", + " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", + " run_inline_js();\n", + " } else {\n", + " load_libs(css_urls, js_urls, function() {\n", + " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", + " run_inline_js();\n", + " });\n", + " }\n", + "}(window));" + ], + "application/vnd.bokehjs_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"<div style='background-color: #fdd'>\\n\"+\n \"<p>\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"</p>\\n\"+\n \"<ul>\\n\"+\n \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n \"<li>use INLINE resources instead, as so:</li>\\n\"+\n \"</ul>\\n\"+\n \"<code>\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"</code>\\n\"+\n \"</div>\"}};\n\n function display_loaded() {\n const el = document.getElementById(\"1003\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\nif (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"1003\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%load_ext autoreload\n", + "%autoreload 2\n", + "\n", + "from __future__ import annotations\n", + "import typing\n", + "import logging\n", + "import os\n", + "import sys\n", + "import warnings\n", + "\n", + "sys.path.append('../montetracko')\n", + "# os.environ[\"CUDA_VISIBLE_DEVICES\"] = \"\"\n", + "\n", + "import yaml\n", + "import numpy as np\n", + "import torch\n", + "\n", + "from Preprocessing.run_preprocessing import run_preprocessing_test_dataset\n", + "from Preprocessing.run_preprocessing import run_preprocessing\n", + "from Processing.run_processing import run_processing_from_config\n", + "\n", + "from Scripts.Step_1_Train_Metric_Learning import train as train_metric_learning\n", + "from Scripts.Step_2_Run_Metric_Learning import train as run_metric_learning_inference\n", + "from Scripts.Step_3_Train_GNN import train as train_gnn\n", + "from Scripts.Step_4_Run_GNN import train as run_gnn_inference\n", + "from Scripts.Step_5_Build_Track_Candidates import train as build_track_candidates\n", + "from Scripts.Step_6_Evaluate_Reconstruction_MonteTracko import (\n", + " evaluate as evaluate_candidates_montetracko\n", + ")\n", + "\n", + "from utils.plotutils import graph as graphplot\n", + "from utils.plotutils import performance as perfplot\n", + "from utils.plotutils import performance_mpl as perfplot_mpl\n", + "from utils.commonutils.ctests import get_required_test_dataset_names\n", + "from utils.commonutils.config import load_config\n", + "from utils.modelutils import checkpoint_utils\n", + "from utils.scriptutils.loghandler import headline\n", + "\n", + "from utils.plotutils.plotconfig import configure_matplotlib\n", + "\n", + "configure_matplotlib()\n", + "\n", + "warnings.filterwarnings(\n", + " \"ignore\", message=(\n", + " \"TypedStorage is deprecated. It will be removed in the future and \"\n", + " \"UntypedStorage will be the only storage class. This should only matter to you \"\n", + " \"if you are using storages directly.\"\n", + " )\n", + ")\n", + "\n", + "CONFIG = 'pipeline_configs/focal-loss-pid-fixed-20000.yaml'\n", + "\n", + "run_training: bool = True\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Pipeline configurations\n", + "\n", + "The configurations for the entire pipeline are defined under pipeline_config.yml." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Download data\n", + "Uncomment if you do not already have the data" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# path = 'data/input/0'\n", + "# os.makedirs(path, exist_ok=True)\n", + "# ! xrdcp -r root://eoslhcb.cern.ch//eos/lhcb/user/a/anthonyc/tracking/data/csv/v2/minbias-sim10b-xdigi/0 data/input --parallel 4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Telegram notification bot" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "import requests\n", + "import json\n", + "\n", + "# from datetime import datetime\n", + "\n", + "# def send_telegram_message(message: str,\n", + "# chat_id: str,\n", + "# api_key: str,\n", + "# ):\n", + "# responses = {}\n", + "\n", + "# url = f'https://api.telegram.org/bot{api_key}/sendMessage?chat_id={chat_id}&text={message}'\n", + " \n", + "# response = requests.post(url)\n", + " \n", + "# return response\n", + "\n", + "def send_telegram_message(*args, **kwargs):\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "chat_id = \"5027012918\"\n", + "api_key = \"6268687426:AAE1P7WQofCBuQPiYZlYaKU-p1GNn6OvAxM\"\n", + "\n", + "send_telegram_message(\"======================\", chat_id, api_key)\n", + "\n", + "send_telegram_message(\"Starting.\", chat_id, api_key)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Preprocess the test samples" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "for required_test_dataset_name in get_required_test_dataset_names(CONFIG):\n", + " run_preprocessing_test_dataset(\n", + " test_dataset_name=required_test_dataset_name,\n", + " path_or_config=CONFIG,\n", + " path_or_config_test=\"test_samples.yaml\",\n", + " reproduce=False,\n", + " )\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Preprocessing" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Preprocessing: output will be written in /scratch/acorreia/data/focal-loss-pid-fixed-20000/preprocessed\n", + "INFO:Input directories:\n", + "INFO:- /scratch/acorreia/minbias-sim10b-xdigi-nospillover/10\n", + "INFO:- /scratch/acorreia/minbias-sim10b-xdigi-nospillover/11\n", + "INFO:- /scratch/acorreia/minbias-sim10b-xdigi-nospillover/12\n", + "INFO:- /scratch/acorreia/minbias-sim10b-xdigi-nospillover/13\n", + "INFO:- /scratch/acorreia/minbias-sim10b-xdigi-nospillover/14\n", + "INFO:- /scratch/acorreia/minbias-sim10b-xdigi-nospillover/15\n", + "INFO:- /scratch/acorreia/minbias-sim10b-xdigi-nospillover/16\n", + "INFO:- /scratch/acorreia/minbias-sim10b-xdigi-nospillover/17\n", + "INFO:- /scratch/acorreia/minbias-sim10b-xdigi-nospillover/18\n", + "INFO:- /scratch/acorreia/minbias-sim10b-xdigi-nospillover/19\n", + "INFO:- /scratch/acorreia/minbias-sim10b-xdigi-nospillover/20\n", + "INFO:Number of events to produce: 21000\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "75e456dbc8714b0ab3c97d39c060575f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/21000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Load dataframes in /scratch/acorreia/minbias-sim10b-xdigi-nospillover/10\n", + "INFO:Apply selection `triplets_first_selection`\n", + "INFO:Compute distance to line (that might take some time)\n", + "INFO:Load dataframes in /scratch/acorreia/minbias-sim10b-xdigi-nospillover/11\n", + "INFO:Apply selection `triplets_first_selection`\n", + "INFO:Compute distance to line (that might take some time)\n", + "INFO:Load dataframes in /scratch/acorreia/minbias-sim10b-xdigi-nospillover/12\n", + "INFO:Apply selection `triplets_first_selection`\n", + "INFO:Compute distance to line (that might take some time)\n", + "INFO:Load dataframes in /scratch/acorreia/minbias-sim10b-xdigi-nospillover/13\n", + "INFO:Apply selection `triplets_first_selection`\n", + "INFO:Compute distance to line (that might take some time)\n" + ] + } + ], + "source": [ + "run_preprocessing(CONFIG, reproduce=False)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Processing" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Input directory: /scratch/acorreia/data/focal-loss-pid-fixed-20000/preprocessed\n", + "INFO:Writing outputs to /scratch/acorreia/data/focal-loss-pid-fixed-20000/processed/train\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "394333f02c3445edb109e9ca67311228", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/20000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Writing outputs to /scratch/acorreia/data/focal-loss-pid-fixed-20000/processed/val\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b659e22a7a074332821bbeccca00d09a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Splitting was saved in /scratch/acorreia/data/focal-loss-pid-fixed-20000/processed/splitting.json.\n" + ] + } + ], + "source": [ + "run_processing_from_config(CONFIG, reproduce=False)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Input directory: /scratch/acorreia/data/__test__/velo-sim10b-nospillover\n", + "INFO:Writing outputs to /scratch/acorreia/data/focal-loss-pid-fixed-20000/processed/test/velo-sim10b-nospillover\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ec290d5663144d78b18046d15351fa6c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Input directory: /scratch/acorreia/data/__test__/velo-sim10b-nospillover-only-long-electrons\n", + "INFO:Writing outputs to /scratch/acorreia/data/focal-loss-pid-fixed-20000/processed/test/velo-sim10b-nospillover-only-long-electrons\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "74507c79e2d3448a95da1edac7c462e4", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for required_test_dataset_name in get_required_test_dataset_names(CONFIG):\n", + " run_processing_from_config(\n", + " test_dataset_name=required_test_dataset_name,\n", + " path_or_config=CONFIG,\n", + " reproduce=False,\n", + " )\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1. Train Metric Learning" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## What it does\n", + "Broadly speaking, the first stage of our pipeline is embedding the space points on to graphs, in a way that is efficient, i.e. we miss as few points on a graph as possible. We train a MLP to transform the input feature vector of each space point $\\mathbf{u}_i$ into an N-dimensional latent space $\\mathbf{v}_i$. The graph is then constructed by connecting the space points whose Euclidean distance between the latent space points $$d_{ij} = \\left| \\mathbf{v}_i - \\mathbf{v}_j \\right| < r_{embedding}$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Training data\n", + "Let us take a look at the data before training. In this example pipeline, we have preprocessed the TrackML data into a more convenient form. We calculated directional information and summary statistics from the charge deposited in each spacepoints, and append them to its cyclidrical coordinates. Let us load an example data file and inspect the content." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from Embedding.embedding_base import get_example_data\n", + "example_data_df, example_data_pyg = get_example_data(CONFIG)\n", + "example_data_df\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "graphplot.plot_true_graph(example_data_pyg, CONFIG, num_tracks=50)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Train metric learning model\n", + "\n", + "Finally we come to model training. By default, we train the MLP for 30 epochs, which takes approximately 15 minutes on an NVidia V100. Feel free to adjust the epoch number in pipeline_config.yml" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "! nvcc --version" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "! nvidia-smi" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "if run_training:\n", + " send_telegram_message('Started metric learning training.', chat_id, api_key)\n", + "\n", + " metric_learning_trainer, metric_learning_model = train_metric_learning(CONFIG)\n", + "\n", + " send_telegram_message('Finished metric learning training.', chat_id, api_key)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the case you want to continue the training of a certain network, you may\n", + "use the code below." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### From checkpoint" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "embedding_metric_path='artifacts/metric_learning/focal-loss-pid-fixed-20000/version_0/metrics.csv'\n", + "embedding_artifact_path='artifacts/metric_learning/focal-loss-pid-fixed-20000/version_0/checkpoints/epoch=16-step=170000.ckpt'\n" + ] + } + ], + "source": [ + "from Embedding.models.layerless_embedding import LayerlessEmbedding\n", + "\n", + "embedding_version_dir = checkpoint_utils.get_last_version_dir_from_config(\n", + " step=\"metric_learning\", path_or_config=CONFIG\n", + ")\n", + "embedding_metric_path = os.path.join(embedding_version_dir, \"metrics.csv\")\n", + "embedding_artifact_path = checkpoint_utils.get_last_artifact(\n", + " version_dir=embedding_version_dir\n", + ")\n", + "print(f\"{embedding_metric_path=}\")\n", + "print(f\"{embedding_artifact_path=}\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To continue the training of the network, you may use the code below" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from pytorch_lightning.loggers import CSVLogger\n", + "from pytorch_lightning import Trainer\n", + "\n", + "\n", + "def continue_embedding_training(\n", + " path_or_config: str | dict,\n", + ") -> typing.Tuple[Trainer, LayerlessEmbedding]:\n", + " config = load_config(path_or_config=path_or_config)\n", + "\n", + " metric_learning_model = LayerlessEmbedding.load_from_checkpoint(\n", + " embedding_artifact_path\n", + " ) # you may change `metric_learning_model`\n", + "\n", + " save_directory = os.path.abspath(\n", + " os.path.join(config[\"common\"][\"artifact_directory\"], \"metric_learning\")\n", + " )\n", + "\n", + " logger = CSVLogger(save_directory, name=config[\"common\"][\"experiment_name\"])\n", + "\n", + " metric_learning_trainer = Trainer(\n", + " accelerator=\"gpu\" if torch.cuda.is_available() else \"cpu\",\n", + " devices=1,\n", + " max_epochs=40, # you may increase the number of epochs\n", + " logger=logger,\n", + " # callbacks=[EarlyStopping(monitor=\"train_loss\", mode=\"min\")]\n", + " )\n", + "\n", + " metric_learning_trainer.fit(metric_learning_model)\n", + " return metric_learning_trainer, metric_learning_model\n", + "\n", + "\n", + "# metric_learning_trainer, metric_learning_model = continue_embedding_training(CONFIG)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "metric_learning_model = LayerlessEmbedding.load_from_checkpoint(\n", + " embedding_artifact_path,\n", + " # map_location=\"cpu\",\n", + " # If importing model from another experiment\n", + " hparams=load_config(CONFIG)[\"metric_learning\"],\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot training metrics" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can examine how the training went. This is stored in a simple dataframe:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# embedding_metrics = checkpoint_utils.get_training_metrics(metric_learning_trainer) \n", + "\n", + "embedding_metrics = checkpoint_utils.get_training_metrics(embedding_metric_path)\n", + "\n", + "embedding_metrics" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "perfplot_mpl.plot_loss(embedding_metrics, CONFIG, \"metric_learning\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "perfplot_mpl.plot_metric_epochs(\n", + " \"eff\",\n", + " embedding_metrics,\n", + " CONFIG,\n", + " \"metric_learning\",\n", + " \"Edge Efficiency\",\n", + " color=perfplot_mpl.partition_to_color[\"val\"],\n", + ")\n", + "perfplot_mpl.plot_metric_epochs(\n", + " \"pur\",\n", + " embedding_metrics,\n", + " CONFIG,\n", + " \"metric_learning\",\n", + " \"Edge Purity\",\n", + " color=perfplot_mpl.partition_to_color[\"val\"],\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Evaluate model performance on sample test data\n", + "\n", + "Here we evaluate the model performance on one sample test data. We look at how the efficiency and purity change with the embedding radius." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "from Embedding import embedding_plots\n", + "\n", + "embedding_plots.plot_embedding_performance_given_radius_knn_max(\n", + " model=metric_learning_model,\n", + " path_or_config=CONFIG,\n", + " radius=np.linspace(0.01, 0.05, 10),\n", + " n_events=20,\n", + " partitions=[\"train\", \"val\", \"velo-sim10b-nospillover\"],\n", + ");\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot example truth and predicted graphs" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "metric_learning_model.load_partition(\"velo-sim10b-nospillover\")\n", + "graphplot.plot_predicted_graph(metric_learning_model, CONFIG)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from Embedding.embedding_plots import plot_best_performances_radius\n", + "plot_best_performances_radius(\n", + " model=metric_learning_model,\n", + " path_or_config=CONFIG,\n", + " partition=\"velo-sim10b-nospillover\",\n", + " # list_radius=[0.015, 0.020],\n", + " list_radius=[0.015, 0.020, 0.025, 0.030, 0.035, 0.040],\n", + " n_events=200,\n", + " seed=0,\n", + ");\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Track lengths" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "metric_learning_model.load_partition(\"velo-sim10b-nospillover\")\n", + "perfplot.plot_track_lengths(metric_learning_model, CONFIG)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "metric_learning_model.setup(stage=\"fit\") # load train and val datasets\n", + "\n", + "perfplot.plot_graph_sizes(metric_learning_model)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2. Construct graphs from metric learning inference\n", + "\n", + "This step performs model inference on the entire input datasets (train, validation and test), to obtain input graphs to the graph neural network. Optionally, we also clear the directory." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:------------- Step 2: Constructing graphs from metric learning model -------------\n", + "INFO:---------------------------- a) Loading trained model ----------------------------\n", + "INFO:Load model from artifacts/metric_learning/focal-loss-pid-fixed-20000/version_0/checkpoints/epoch=16-step=170000.ckpt.\n", + "INFO:----------------------------- b) Running inferencing -----------------------------\n", + "INFO:Use radius 0.02\n", + "INFO:Use the following parameters for train: {'building': None, 'filtering': 'edges_at_least_3_hits'}\n", + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed-20000/processed/train to /scratch/acorreia/data/focal-loss-pid-fixed-20000/metric_learning_processed/train\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b65c3f994ca64de7adf2be3ac3bb3648", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/20000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Use the following parameters for val: {'building': None, 'filtering': 'edges_at_least_3_hits'}\n", + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed-20000/processed/val to /scratch/acorreia/data/focal-loss-pid-fixed-20000/metric_learning_processed/val\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "140c65ea95ec476097d211a1d699d119", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Use the following parameters for test: {'building': None}\n", + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed-20000/processed/test/velo-sim10b-nospillover to /scratch/acorreia/data/focal-loss-pid-fixed-20000/metric_learning_processed/test/velo-sim10b-nospillover\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a2b001a1fd1c48ea9a26195c66558502", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed-20000/processed/test/velo-sim10b-nospillover-only-long-electrons to /scratch/acorreia/data/focal-loss-pid-fixed-20000/metric_learning_processed/test/velo-sim10b-nospillover-only-long-electrons\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "54c0b8ab8880445d8284a5f95e281342", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "graph_builder = run_metric_learning_inference(\n", + " CONFIG,\n", + " checkpoint=embedding_artifact_path,\n", + " # checkpoint=metric_learning_model, # here directly use the model\n", + " reproduce=False,\n", + " use_gpu=False,\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3. Train graph neural networks" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We have a set of graphs constructed. We now train a GNN to classify edges as either \"true\" (belonging to the same track) or \"false\" (not belonging to the same track). We train for 30 epochs, which should take around 10 minutes on a V100 GPU. Your mileage may vary." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "if run_training:\n", + " send_telegram_message('Started GNN training.', chat_id, api_key)\n", + " with warnings.catch_warnings():\n", + " warnings.filterwarnings(\n", + " \"ignore\", message=\"None of the inputs have requires_grad=True.\"\n", + " )\n", + " gnn_trainer, gnn_model = train_gnn(CONFIG)\n", + "\n", + " send_telegram_message('Finished GNN training.', chat_id, api_key)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### From checkpoint" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "gnn_metric_path='artifacts/gnn/focal-loss-pid-fixed/version_0/metrics.csv'\n", + "gnn_artifact_path='artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt'\n" + ] + } + ], + "source": [ + "from utils.modelutils.checkpoint_utils import (\n", + " get_last_version_dir_from_config,\n", + " get_last_artifact,\n", + ")\n", + "from GNN.models.interaction_gnn import InteractionGNN\n", + "\n", + "gnn_version_dir = get_last_version_dir_from_config(step=\"gnn\", path_or_config=\"pipeline_configs/focal-loss-pid-fixed.yaml\")\n", + "gnn_metric_path = os.path.join(gnn_version_dir, \"metrics.csv\")\n", + "gnn_artifact_path = get_last_artifact(version_dir=gnn_version_dir)\n", + "print(f\"{gnn_metric_path=}\")\n", + "print(f\"{gnn_artifact_path=}\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "GPU available: True (cuda), used: True\n", + "TPU available: False, using: 0 TPU cores\n", + "IPU available: False, using: 0 IPUs\n", + "HPU available: False, using: 0 HPUs\n", + "Missing logger folder: /home/acorreia/Documents/tracking/etx4velo/LHCb_Pipeline/artifacts/gnn/focal-loss-pid-fixed-20000\n", + "INFO:Load 20000 files located in /scratch/acorreia/data/focal-loss-pid-fixed-20000/metric_learning_processed/train\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "79a91c643fde4cc68d866661047f98b1", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/20000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Load 1000 files located in /scratch/acorreia/data/focal-loss-pid-fixed-20000/metric_learning_processed/val\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5775ab029e5b461cb56baf1cee6dbcb9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Restoring states from the checkpoint path at artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt\n", + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/pytorch_lightning/callbacks/model_checkpoint.py:337: UserWarning: The dirpath has changed from '/home/acorreia/Documents/tracking/etx4velo/LHCb_Pipeline/artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints' to '/home/acorreia/Documents/tracking/etx4velo/LHCb_Pipeline/artifacts/gnn/focal-loss-pid-fixed-20000/version_0/checkpoints', therefore `best_model_score`, `kth_best_model_path`, `kth_value`, `last_model_path` and `best_k_models` won't be reloaded. Only `best_model_path` will be reloaded.\n", + " warnings.warn(\n", + "LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n", + "\n", + " | Name | Type | Params\n", + "------------------------------------------------------\n", + "0 | node_encoder | Sequential | 332 K \n", + "1 | edge_encoder | Sequential | 462 K \n", + "2 | edge_network | Sequential | 793 K \n", + "3 | node_network | Sequential | 659 K \n", + "4 | output_edge_classifier | Sequential | 529 K \n", + "------------------------------------------------------\n", + "2.8 M Trainable params\n", + "0 Non-trainable params\n", + "2.8 M Total params\n", + "11.111 Total estimated model params size (MB)\n", + "Restored all states from the checkpoint at artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Sanity Checking: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "035609d787c1434ea4acaa49bab5ec5a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Training: 0it [00:00, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from pytorch_lightning import Trainer\n", + "from pytorch_lightning.loggers import CSVLogger\n", + "\n", + "\n", + "def continue_gnn_training(\n", + " path_or_config: str | dict,\n", + ") -> typing.Tuple[Trainer, InteractionGNN]:\n", + " config = load_config(path_or_config=path_or_config)\n", + "\n", + " gnn_model = InteractionGNN.load_from_checkpoint(\n", + " gnn_artifact_path, hparams=config[\"gnn\"]\n", + " ) # you may change `gnn_model`\n", + "\n", + " save_directory = os.path.abspath(\n", + " os.path.join(config[\"common\"][\"artifact_directory\"], \"gnn\")\n", + " )\n", + "\n", + " logger = CSVLogger(save_directory, name=config[\"common\"][\"experiment_name\"])\n", + "\n", + " gnn_trainer = Trainer(\n", + " accelerator=\"gpu\" if torch.cuda.is_available() else \"cpu\",\n", + " devices=1,\n", + " max_epochs=150, # you may increase the number of epochs\n", + " logger=logger,\n", + " # callbacks=[EarlyStopping(monitor=\"val_loss\", mode=\"min\")]\n", + " )\n", + "\n", + " with warnings.catch_warnings():\n", + " warnings.filterwarnings(\n", + " \"ignore\", message=\"None of the inputs have requires_grad=True.\"\n", + " )\n", + " gnn_trainer.fit(gnn_model, ckpt_path=gnn_artifact_path)\n", + " return gnn_trainer, gnn_model\n", + "\n", + "gnn_trainer, gnn_model = continue_gnn_training(CONFIG)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "gnn_model = InteractionGNN.load_from_checkpoint(\n", + " gnn_artifact_path,\n", + " # map_location=\"cpu\",\n", + " # hparams=load_config(CONFIG)[\"gnn\"],\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot training metrics" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>epoch</th>\n", + " <th>train_loss</th>\n", + " <th>val_loss</th>\n", + " <th>eff</th>\n", + " <th>pur</th>\n", + " <th>current_lr</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>0</td>\n", + " <td>0.015745</td>\n", + " <td>0.009409</td>\n", + " <td>0.882107</td>\n", + " <td>0.979640</td>\n", + " <td>0.000020</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>1</td>\n", + " <td>0.007946</td>\n", + " <td>0.006557</td>\n", + " <td>0.922102</td>\n", + " <td>0.986181</td>\n", + " <td>0.000040</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>2</td>\n", + " <td>0.006280</td>\n", + " <td>0.005664</td>\n", + " <td>0.927634</td>\n", + " <td>0.990096</td>\n", + " <td>0.000060</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>3</td>\n", + " <td>0.005555</td>\n", + " <td>0.005122</td>\n", + " <td>0.937812</td>\n", + " <td>0.990240</td>\n", + " <td>0.000080</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>4</td>\n", + " <td>0.005132</td>\n", + " <td>0.005172</td>\n", + " <td>0.932919</td>\n", + " <td>0.991395</td>\n", + " <td>0.000100</td>\n", + " </tr>\n", + " <tr>\n", + " <th>5</th>\n", + " <td>5</td>\n", + " <td>0.004851</td>\n", + " <td>0.005073</td>\n", + " <td>0.937282</td>\n", + " <td>0.990720</td>\n", + " <td>0.000120</td>\n", + " </tr>\n", + " <tr>\n", + " <th>6</th>\n", + " <td>6</td>\n", + " <td>0.004646</td>\n", + " <td>0.005248</td>\n", + " <td>0.930109</td>\n", + " <td>0.991742</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>7</th>\n", + " <td>7</td>\n", + " <td>0.004510</td>\n", + " <td>0.004563</td>\n", + " <td>0.940789</td>\n", + " <td>0.992526</td>\n", + " <td>0.000112</td>\n", + " </tr>\n", + " <tr>\n", + " <th>8</th>\n", + " <td>8</td>\n", + " <td>0.004373</td>\n", + " <td>0.004509</td>\n", + " <td>0.946273</td>\n", + " <td>0.991391</td>\n", + " <td>0.000180</td>\n", + " </tr>\n", + " <tr>\n", + " <th>9</th>\n", + " <td>9</td>\n", + " <td>0.004298</td>\n", + " <td>0.004374</td>\n", + " <td>0.947959</td>\n", + " <td>0.991694</td>\n", + " <td>0.000200</td>\n", + " </tr>\n", + " <tr>\n", + " <th>10</th>\n", + " <td>10</td>\n", + " <td>0.004109</td>\n", + " <td>0.004050</td>\n", + " <td>0.953197</td>\n", + " <td>0.992015</td>\n", + " <td>0.000200</td>\n", + " </tr>\n", + " <tr>\n", + " <th>11</th>\n", + " <td>11</td>\n", + " <td>0.003983</td>\n", + " <td>0.004233</td>\n", + " <td>0.954432</td>\n", + " <td>0.990489</td>\n", + " <td>0.000200</td>\n", + " </tr>\n", + " <tr>\n", + " <th>12</th>\n", + " <td>12</td>\n", + " <td>0.003879</td>\n", + " <td>0.003788</td>\n", + " <td>0.958103</td>\n", + " <td>0.991964</td>\n", + " <td>0.000200</td>\n", + " </tr>\n", + " <tr>\n", + " <th>13</th>\n", + " <td>13</td>\n", + " <td>0.003778</td>\n", + " <td>0.003780</td>\n", + " <td>0.960245</td>\n", + " <td>0.991730</td>\n", + " <td>0.000200</td>\n", + " </tr>\n", + " <tr>\n", + " <th>14</th>\n", + " <td>14</td>\n", + " <td>0.003703</td>\n", + " <td>0.003744</td>\n", + " <td>0.959127</td>\n", + " <td>0.992023</td>\n", + " <td>0.000200</td>\n", + " </tr>\n", + " <tr>\n", + " <th>15</th>\n", + " <td>15</td>\n", + " <td>0.003641</td>\n", + " <td>0.003704</td>\n", + " <td>0.959411</td>\n", + " <td>0.992099</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>16</th>\n", + " <td>16</td>\n", + " <td>0.003305</td>\n", + " <td>0.003534</td>\n", + " <td>0.961065</td>\n", + " <td>0.992371</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>17</th>\n", + " <td>17</td>\n", + " <td>0.003253</td>\n", + " <td>0.003618</td>\n", + " <td>0.963001</td>\n", + " <td>0.991412</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>18</th>\n", + " <td>18</td>\n", + " <td>0.003225</td>\n", + " <td>0.003503</td>\n", + " <td>0.963811</td>\n", + " <td>0.991958</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>19</th>\n", + " <td>19</td>\n", + " <td>0.003224</td>\n", + " <td>0.003467</td>\n", + " <td>0.964852</td>\n", + " <td>0.991678</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>20</th>\n", + " <td>20</td>\n", + " <td>0.003200</td>\n", + " <td>0.003380</td>\n", + " <td>0.964631</td>\n", + " <td>0.992555</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>21</th>\n", + " <td>21</td>\n", + " <td>0.003180</td>\n", + " <td>0.003469</td>\n", + " <td>0.965098</td>\n", + " <td>0.992115</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>22</th>\n", + " <td>22</td>\n", + " <td>0.003160</td>\n", + " <td>0.003374</td>\n", + " <td>0.964880</td>\n", + " <td>0.992387</td>\n", + " <td>0.000140</td>\n", + " </tr>\n", + " <tr>\n", + " <th>23</th>\n", + " <td>23</td>\n", + " <td>0.003152</td>\n", + " <td>0.003522</td>\n", + " <td>0.965240</td>\n", + " <td>0.991543</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>24</th>\n", + " <td>24</td>\n", + " <td>0.002912</td>\n", + " <td>0.003308</td>\n", + " <td>0.968241</td>\n", + " <td>0.992033</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>25</th>\n", + " <td>25</td>\n", + " <td>0.002879</td>\n", + " <td>0.003358</td>\n", + " <td>0.968242</td>\n", + " <td>0.991781</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>26</th>\n", + " <td>26</td>\n", + " <td>0.002879</td>\n", + " <td>0.003365</td>\n", + " <td>0.968507</td>\n", + " <td>0.991775</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>27</th>\n", + " <td>27</td>\n", + " <td>0.002853</td>\n", + " <td>0.003240</td>\n", + " <td>0.969288</td>\n", + " <td>0.992256</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>28</th>\n", + " <td>28</td>\n", + " <td>0.002858</td>\n", + " <td>0.003385</td>\n", + " <td>0.968127</td>\n", + " <td>0.991958</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>29</th>\n", + " <td>29</td>\n", + " <td>0.002849</td>\n", + " <td>0.003389</td>\n", + " <td>0.969099</td>\n", + " <td>0.991858</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>30</th>\n", + " <td>30</td>\n", + " <td>0.002855</td>\n", + " <td>0.003413</td>\n", + " <td>0.966039</td>\n", + " <td>0.992158</td>\n", + " <td>0.000098</td>\n", + " </tr>\n", + " <tr>\n", + " <th>31</th>\n", + " <td>31</td>\n", + " <td>0.002830</td>\n", + " <td>0.003342</td>\n", + " <td>0.969118</td>\n", + " <td>0.991828</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>32</th>\n", + " <td>32</td>\n", + " <td>0.002659</td>\n", + " <td>0.003288</td>\n", + " <td>0.969825</td>\n", + " <td>0.992203</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>33</th>\n", + " <td>33</td>\n", + " <td>0.002611</td>\n", + " <td>0.002948</td>\n", + " <td>0.972177</td>\n", + " <td>0.993180</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>34</th>\n", + " <td>34</td>\n", + " <td>0.002425</td>\n", + " <td>0.002649</td>\n", + " <td>0.974883</td>\n", + " <td>0.994110</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>35</th>\n", + " <td>35</td>\n", + " <td>0.002253</td>\n", + " <td>0.002432</td>\n", + " <td>0.977438</td>\n", + " <td>0.994554</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>36</th>\n", + " <td>36</td>\n", + " <td>0.002139</td>\n", + " <td>0.002351</td>\n", + " <td>0.977666</td>\n", + " <td>0.994845</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>37</th>\n", + " <td>37</td>\n", + " <td>0.002048</td>\n", + " <td>0.002227</td>\n", + " <td>0.978469</td>\n", + " <td>0.995250</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>38</th>\n", + " <td>38</td>\n", + " <td>0.001969</td>\n", + " <td>0.002170</td>\n", + " <td>0.979098</td>\n", + " <td>0.995544</td>\n", + " <td>0.000069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>39</th>\n", + " <td>39</td>\n", + " <td>0.001897</td>\n", + " <td>0.001969</td>\n", + " <td>0.981175</td>\n", + " <td>0.995911</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>40</th>\n", + " <td>40</td>\n", + " <td>0.001624</td>\n", + " <td>0.001698</td>\n", + " <td>0.982833</td>\n", + " <td>0.996831</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>41</th>\n", + " <td>41</td>\n", + " <td>0.001523</td>\n", + " <td>0.001631</td>\n", + " <td>0.983602</td>\n", + " <td>0.996945</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>42</th>\n", + " <td>42</td>\n", + " <td>0.001450</td>\n", + " <td>0.001593</td>\n", + " <td>0.984215</td>\n", + " <td>0.997049</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>43</th>\n", + " <td>43</td>\n", + " <td>0.001411</td>\n", + " <td>0.001537</td>\n", + " <td>0.984988</td>\n", + " <td>0.997071</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>44</th>\n", + " <td>44</td>\n", + " <td>0.001374</td>\n", + " <td>0.001585</td>\n", + " <td>0.984472</td>\n", + " <td>0.997054</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>45</th>\n", + " <td>45</td>\n", + " <td>0.001344</td>\n", + " <td>0.001564</td>\n", + " <td>0.984906</td>\n", + " <td>0.997020</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>46</th>\n", + " <td>46</td>\n", + " <td>0.001334</td>\n", + " <td>0.001556</td>\n", + " <td>0.984871</td>\n", + " <td>0.996946</td>\n", + " <td>0.000048</td>\n", + " </tr>\n", + " <tr>\n", + " <th>47</th>\n", + " <td>47</td>\n", + " <td>0.001305</td>\n", + " <td>0.001551</td>\n", + " <td>0.984850</td>\n", + " <td>0.997180</td>\n", + " <td>0.000034</td>\n", + " </tr>\n", + " <tr>\n", + " <th>48</th>\n", + " <td>48</td>\n", + " <td>0.001215</td>\n", + " <td>0.001518</td>\n", + " <td>0.985659</td>\n", + " <td>0.997226</td>\n", + " <td>0.000034</td>\n", + " </tr>\n", + " <tr>\n", + " <th>49</th>\n", + " <td>49</td>\n", + " <td>0.001197</td>\n", + " <td>0.001530</td>\n", + " <td>0.985763</td>\n", + " <td>0.997204</td>\n", + " <td>0.000034</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " epoch train_loss val_loss eff pur current_lr\n", + "0 0 0.015745 0.009409 0.882107 0.979640 0.000020\n", + "1 1 0.007946 0.006557 0.922102 0.986181 0.000040\n", + "2 2 0.006280 0.005664 0.927634 0.990096 0.000060\n", + "3 3 0.005555 0.005122 0.937812 0.990240 0.000080\n", + "4 4 0.005132 0.005172 0.932919 0.991395 0.000100\n", + "5 5 0.004851 0.005073 0.937282 0.990720 0.000120\n", + "6 6 0.004646 0.005248 0.930109 0.991742 0.000140\n", + "7 7 0.004510 0.004563 0.940789 0.992526 0.000112\n", + "8 8 0.004373 0.004509 0.946273 0.991391 0.000180\n", + "9 9 0.004298 0.004374 0.947959 0.991694 0.000200\n", + "10 10 0.004109 0.004050 0.953197 0.992015 0.000200\n", + "11 11 0.003983 0.004233 0.954432 0.990489 0.000200\n", + "12 12 0.003879 0.003788 0.958103 0.991964 0.000200\n", + "13 13 0.003778 0.003780 0.960245 0.991730 0.000200\n", + "14 14 0.003703 0.003744 0.959127 0.992023 0.000200\n", + "15 15 0.003641 0.003704 0.959411 0.992099 0.000140\n", + "16 16 0.003305 0.003534 0.961065 0.992371 0.000140\n", + "17 17 0.003253 0.003618 0.963001 0.991412 0.000140\n", + "18 18 0.003225 0.003503 0.963811 0.991958 0.000140\n", + "19 19 0.003224 0.003467 0.964852 0.991678 0.000140\n", + "20 20 0.003200 0.003380 0.964631 0.992555 0.000140\n", + "21 21 0.003180 0.003469 0.965098 0.992115 0.000140\n", + "22 22 0.003160 0.003374 0.964880 0.992387 0.000140\n", + "23 23 0.003152 0.003522 0.965240 0.991543 0.000098\n", + "24 24 0.002912 0.003308 0.968241 0.992033 0.000098\n", + "25 25 0.002879 0.003358 0.968242 0.991781 0.000098\n", + "26 26 0.002879 0.003365 0.968507 0.991775 0.000098\n", + "27 27 0.002853 0.003240 0.969288 0.992256 0.000098\n", + "28 28 0.002858 0.003385 0.968127 0.991958 0.000098\n", + "29 29 0.002849 0.003389 0.969099 0.991858 0.000098\n", + "30 30 0.002855 0.003413 0.966039 0.992158 0.000098\n", + "31 31 0.002830 0.003342 0.969118 0.991828 0.000069\n", + "32 32 0.002659 0.003288 0.969825 0.992203 0.000069\n", + "33 33 0.002611 0.002948 0.972177 0.993180 0.000069\n", + "34 34 0.002425 0.002649 0.974883 0.994110 0.000069\n", + "35 35 0.002253 0.002432 0.977438 0.994554 0.000069\n", + "36 36 0.002139 0.002351 0.977666 0.994845 0.000069\n", + "37 37 0.002048 0.002227 0.978469 0.995250 0.000069\n", + "38 38 0.001969 0.002170 0.979098 0.995544 0.000069\n", + "39 39 0.001897 0.001969 0.981175 0.995911 0.000048\n", + "40 40 0.001624 0.001698 0.982833 0.996831 0.000048\n", + "41 41 0.001523 0.001631 0.983602 0.996945 0.000048\n", + "42 42 0.001450 0.001593 0.984215 0.997049 0.000048\n", + "43 43 0.001411 0.001537 0.984988 0.997071 0.000048\n", + "44 44 0.001374 0.001585 0.984472 0.997054 0.000048\n", + "45 45 0.001344 0.001564 0.984906 0.997020 0.000048\n", + "46 46 0.001334 0.001556 0.984871 0.996946 0.000048\n", + "47 47 0.001305 0.001551 0.984850 0.997180 0.000034\n", + "48 48 0.001215 0.001518 0.985659 0.997226 0.000034\n", + "49 49 0.001197 0.001530 0.985763 0.997204 0.000034" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# gnn_metrics = checkpoint_utils.get_training_metrics(gnn_trainer)\n", + "\n", + "gnn_metrics = checkpoint_utils.get_training_metrics(gnn_metric_path)\n", + "\n", + "gnn_metrics" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Figure was saved in output/focal-loss-pid-fixed/loss_gnn.pdf\n", + "Figure was saved in output/focal-loss-pid-fixed/loss_gnn.png\n" + ] + }, + { + "data": { + "text/plain": [ + "(<Figure size 800x600 with 1 Axes>, <Axes: xlabel='Epoch', ylabel='Loss'>)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "<Figure size 800x600 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "perfplot_mpl.plot_loss(gnn_metrics, CONFIG, \"gnn\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Figure was saved in output/focal-loss-pid-fixed/eff_gnn.pdf\n", + "Figure was saved in output/focal-loss-pid-fixed/eff_gnn.png\n", + "Figure was saved in output/focal-loss-pid-fixed/pur_gnn.pdf\n", + "Figure was saved in output/focal-loss-pid-fixed/pur_gnn.png\n" + ] + }, + { + "data": { + "text/plain": [ + "(<Figure size 800x600 with 1 Axes>,\n", + " <Axes: xlabel='Epoch', ylabel='Edge Purity'>)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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Z8PGxqbMdjdu3MC7776r0zUzMjL0LUMnFy9exKuvvooHDx6gb9++mDhxInJycrB161ZMnToVW7ZsQXBwMJo2bVrue6xYsQKffPIJCgoKMGjQIIwfPx5mZma4ePEigoKCEBQUhHnz5mHx4sWlXicqKgr+/v64c+cOOnfujEWLFsHIyAi7d+/G/PnzsWnTJhw4cABt27Ytd61VKTctFwCn6BARERFVNb0D/s8//1xmG0EQcP/+fWzdurVcRUkhPj4e/v7+SElJwbRp0/D111+rjk2ePBkDBw7EyZMnMXjwYJw9exZmZvpvxrR69WrMmjULALB27VpMnDhRdSwgIABjx45Fnz59sGTJEtjb22PatGkar/PkyRMMGjQIEREReO2117B7927IZDJVre+88w527NiBQYMG4fLly2jQoIHetVY1zsEnIiIiMgy9p+iIoljmlz5ti7eX0syZM5GSkgIXFxd8+eWXasfMzMywYcMGyGQyXLlyBd9++63e109KSsLcuXMBAN7e3mrhvkjPnj0xefJkAMD8+fORmJio8Vqff/45IiIiYG1tje+//14V7oHCD0tr1qxBvXr1cPfuXXz22Wd612oIRVN0LBwY8ImIiIiqkl4B39jYGK6urmV+ubi4wMXFRae2Re2NjSXbVBeRkZHYu3cvAGDUqFEaR+ebN28OPz8/AEBgYCAUCoVe99i1axeyswtD7Ntvv6213ciRIwEUzq9ft25dieMZGRlYs2YNAODVV1+Fo6NjiTb169fH66+/DgBYv349Hj16pFethsARfCIiIiLD0CtVu7q6IiIiolIKad26tWTX3rdvn+ovA3369NHarm/fvjh27BhSUlIQEhJSatv/unDhguq1p6en1nZt27aFsbExFAoF9uzZgyVLlqgdDw4ORk5Ojk61bty4Efn5+fj111/x3nvv6VyrITDgExERERlGrVxF58SJE6rX7du319quQ4cOGs/RRWpqquq1ra2t1nYymQx2dnYAgIiICDx+/LjKa61q+Tn5UOQU/kWEq+gQERERVa1qE/ClnIsfHh4OALCxsVGFa02cnZ1Vr2/evKnXPSwt/w2uubm5pbYtvhznrVu3NNb633r+qyK1VrWi0XtBJsDUxtTA1RARERHVLTpP0YmNjYWJiUmlFXLixAnk5+dX+Dp5eXlISkoCADRq1KjUtsWPx8XF6XWfli1bql5HR0eja9euGtulpaWpLQNafOS/+H2NjY1hb2+v9X7m5uawtbWFXC7Xu9aqVnx6jiAIBq6GiIiIqG7ReQTf1dW1QuvFl6Vp06ZwdXWt8HWKh2lz89J3UbWw+Hd+uL5r8fv7+6teHzx4UGu7w4cPa62v+Pdl1Qr8W29mZmalrT4kBc6/JyIiIjIc6ZauqSaKHlgFAFPT0qeHFD9etCKOrnx8fNCrVy+EhIRg9+7dmD59Ojp16qTWJiMjo8QGV/9dLaio3rJqLd5GqVQiLy+v1A8FaWlpaisDmZmZlWut/7IoFAoolUq1e2U+zARQGPD1XZ2oNtHUN8R+KQ37RjP2i3bsG83YL9qxbzSrCf2iT221LuAXH5UvPvddk+LHi8+p19XOnTvh5+eHO3fuoF+/fli8eDEGDBgAMzMzXLlyBQsWLEBiYiJ8fX1x6tQpACUfyLWwsEBWVlaZtRav18jIqMyw7u7urvb96NGjMWbMGD1+Ot0olUrEx8er6gKABxcfAACykY0zZ85Ifs+aQlPfEPulNOwbzdgv2rFvNGO/aMe+0awm9EtWVpbObWtdwLexsVG9Luvh1+Kj/cXP01WTJk1w4cIFLFmyBJs3b8akSZNUx0xMTDBw4EDs3r0bGzZsUAX8/65zb2Njg6ysrDJrLV6vtbV1mXPbY2Nj1T5MVOYIPgD06NFD9deJc+fPIQIReKb5M3jhhRckv2dNoalviP1SGvaNZuwX7dg3mrFftGPfaFYT+kUul+vctnr+BBVgZmaGxo0bIykpCcnJyaW2LX7czc2tXPezs7PDypUrsXz5cty5cwcpKSmwsrJCixYtVAE7PT0dQOGSmW3atFE7383NDUlJSVAoFEhLS9P6oG1ubq7qv1hdarW3ty91+U4pGRkZwdjYWPUPIje98MOKlaNVtf1HUlX+2zdUiP2iHftGM/aLduwbzdgv2rFvNKvu/aJPXdXzbxAVVLTxVEZGBp48eaK1XUJCgup127ZtK3RPIyMjtG7dGj4+PujUqZNauI6OjgYAtGnTRm0KUfFaAeDevXtVUmtl40O2RERERIZTKwN+7969Va+vXbumtV1oaKjGc6SUn5+Pq1evAgCGDRtW4nh1qlUquWmFI/gM+ERERERVr1YG/Ndff101R/348eNa2x07dgwA0KBBA/Tq1Uvv+1y6dAmHDh0qtc2xY8eQkZEBU1NTjBo1qsRxf39/1ai+LrWamJjglVde0bvWqqQawXdgwCciIiKqarUy4Ldo0QJvvPEGAGDbtm0aV6iJiYnBiRMnAACzZ88uMa8pPDwcLVu2hJOTE06fPq3xPoGBgXjppZfw4MEDjceVSiWWLVsGAPjoo4/g4uJSoo2NjQ0mT54MAPj1119LbIQFAE+ePMG+ffsAAAEBASUe1K1uslMLlxzlCD4RERFR1auVAR8AVqxYAUdHR8TFxWHu3Llqx/Ly8hAQEICCggJ06tRJbfWbIsuWLUNkZCQSExMxZ86cUu81Z86cEhtPKRQKTJo0CWfPnoWvry8WLFig9fy5c+eiZcuWyMjIwMSJE6FUKlXHRFHE5MmTkZ6eDldXVyxatEiHn96wOAefiIiIyHCq52PCEnBxccGBAwcwZMgQfPXVVwgPD8fgwYORk5ODrVu34saNG2jfvj1+//13jRtG/TdklyYoKAi3b9/G0KFD4ejoiLt372L37t2IiIjAsGHDsHHjxlI3pbKzs8Mff/yBQYMGYe/evYiPj8fbb78NQRCwZ88enD17Fu7u7jhw4AAaNGhQ/k6pIgz4RERERIZTawM+AHTt2hVhYWFYtWoVfvnlF8yaNQsmJiZo2bIlVq1ahYkTJ2rdQXbevHkIDQ1FTk4OAgMDNbZZtGgROnbsiJCQEERHR2Pp0qUACtfH9/b2xrp16+Dn56dTrR4eHggNDcW3336L3bt349NPPwUANGvWDEuWLMGUKVOqbNnLisjPyYcip3AtWUsH/TcPIyIiIqKKqdUBHyh8gHbp0qWq8K0rLy8vREZGltrG09MTnp6eJaYAlZeVlRVmz56N2bNnS3I9QygavRdkAkxtNH94IiIiIqLKU2vn4JNhFJ+eU9Zuu0REREQkPQZ8klROamHA5/QcIiIiIsNgwCdJ8QFbIiIiIsNiwCdJMeATERERGRYDPkmKu9gSERERGRYDPkmKu9gSERERGRYDPkmKU3SIiIiIDIsBnySVm5YLgAGfiIiIyFAY8ElSqik6nINPREREZBAM+CQpTtEhIiIiMiwGfJIUAz4RERGRYTHgk6S4ky0RERGRYTHgk2Tyc/KhyFUA4Ag+ERERkaEw4JNkiqbnGBkbwdTG1MDVEBEREdVNDPgkmeLz7wVBMHA1RERERHUTAz5Jpmj+PafnEBERERkOAz5JhivoEBERERkeAz5JhgGfiIiIyPAY8Eky3MWWiIiIyPAY8EkyHMEnIiIiMjwGfJIMAz4RERGR4THgk2RUq+hwig4RERGRwTDgk2Q4gk9ERERkeAz4JBkGfCIiIiLDY8AnyRQFfEsHSwNXQkRERFR3MeCTZLiTLREREZHhMeCTJPJz8qHIVQBgwCciIiIyJAZ8kkTR9BwjYyOY2pgauBoiIiKiuosBnyRRfHqOIAgGroaIiIio7mLAJ0nkpucC4PQcIiIiIkNjwCdJcIlMIiIiouqBAZ8kwV1siYiIiKoHBnySRE46R/CJiIiIqgMGfJJEbhrn4BMRERFVBwz4JIns1GwAnKJDREREZGgM+CQJrqJDREREVD0w4JMkuIoOERERUfXAgE+S4Bx8IiIiouqBAZ8kkZ1WOAff0sHSwJUQERER1W0M+CQJjuATERERVQ8M+FRhBXkFUOQqADDgExERERkaAz5VmEJeGO6NjI1gamNq4GqIiIiI6jYGfKqwfHk+gMLRe0EQDFwNERERUd3GgE8Vpsjg9BwiIiKi6oIBnyos/8n/j+BzF1siIiIig2PApwrjCD4RERFR9cGATxWWn/HvHHwiIiIiMiwGfKqwolV0GPCJiIiIDI8BnypMtYoO5+ATERERGRwDPlUY5+ATERERVR8M+FRhxdfBJyIiIiLDYsCnCiuag2/pYGngSoiIiIiIAZ8qjKvoEBEREVUfDPhUYVxFh4iIiKj6YMCnCsnPzofyqRIAV9EhIiIiqg4Y8KlCctJyAABGxkYwtTY1cDVERERExIBPFVIU8C3sLSAIgoGrISIiIiIGfKqQ3PRcAIC5vbmBKyEiIiIigAGfKign9d8RfCIiIiIyPAZ8qpC06DQAgLGFsYErISIiIiKgDgT8R48e4dNPP4Wnpyesra1hb2+P7t2745tvvsHTp08lucc///yDKVOmwMvLCzY2NjAxMUHDhg3x4osv4rvvvkNOTk6Z1xBFEfv378eQIUPg7OwMc3NzWFpaonnz5hg5ciROnTolSa1SCt0UipPzTgIA4o7HIXRTqIErIiIiIqJaHfAvXrwILy8vLF26FE2bNkVgYCDmzp2LzMxMTJ06Fd26dcP9+/crdI/vvvsOXl5eWLNmDWQyGT7++GOsWbMGb7/9Ni5duoRJkyahffv2iImJ0XqNzMxMDBgwAK+//jp+++03eHt7IzAwEIsXL0abNm2wY8cO9OrVCxMmTIBSqaxQvVKRJ8gRHBAMiP++FzwhGPIEueGKIiIiIiLU2nkV8fHx8Pf3R0pKCqZNm4avv/5adWzy5MkYOHAgTp48icGDB+Ps2bMwMzPT+x5HjhzBpEmTAADDhw/H1q1bYWz8b5fOmDEDnTt3RkREBPz9/XH9+nWYmJiUuM748eNx9OhRAEBwcDBeeukl1bGPP/4Y33//PT744AP88MMPcHZ2xvz58/WuVWqpkakQlaLae2KBiLSoNNg62RqoKiIiIiKqtSP4M2fOREpKClxcXPDll1+qHTMzM8OGDRsgk8lw5coVfPvtt+W6x/LlywEAJiYmWL16tVq4BwBXV1dVGL99+zZ+/fXXEte4d+8edu3aBQAYMmSIWrgvMnHiRHTo0AEAsHLlSuTn55erXik5tHCAYKS+LKYgE2DvYW+gioiIiIgIqKUBPzIyEnv37gUAjBo1SuPofPPmzeHn5wcACAwMhEKh0Ps+ly5dUl2rQYMGGtt06dJF9frcuXNarwEAXbt21Xqvous8efIEt2/f1rtWqdk62cL/B38IssKQL8gE+K/35+g9ERERkYHVyoC/b98+iGLh9JE+ffpobde3b18AQEpKCkJCQvS+T9FDuhYW2peItLS0VL3OysrSeo2KXscQOo7riElRk9Du63aYFDUJHcd1NHRJRERERHVerQz4J06cUL1u37691nZF017+e46u2rVrBwCIiorS+heA4qPtLVq00HqN/7bVdh1BENC8eXO9a60stk62qNe+HkfuiYiIiKqJWhnww8PDAQA2Njaws7PT2s7Z2Vn1+ubNm3rfZ9asWQCAjIwMrFmzpsTxgoICBAYGAgCsra0xYsSIEm1at26Nl19+GQCwbds2JCQklGhz5coV1UO4Q4YMQcOGDfWulYiIiIjqhloX8PPy8pCUlAQAaNSoUaltix+Pi4vT+16vvfYatm7dCmtra8ycORMff/wxLl68iLi4OBw+fBje3t64evUqGjRogJ9//hlNmjTReJ0dO3ZgxIgRyMrKQrdu3RAUFISIiAjcvHkTa9euRZ8+faBUKtG7d2/88MMPetdJRERERHVHrVsmMyMjQ/Xa3Ny81LbF57wXP08fo0aNQv/+/fHJJ59g1apV+Oqrr1THGjVqhKVLl+Ldd9/VGu6Bwr80bN++HWPHjsXHH3+M0aNHqx338fHB+++/jzfffBNGRrXuMxkRERERSajWBfziu8aampqW2rb48ezs7HLdLygoCLNmzUJycjJee+01vPrqq7C3t8fdu3fx448/YtWqVXj8+DHmz5+vdbqQXC7H9OnTERQUBBsbG8ydO1e1as6FCxfw/fffY8WKFRAEAW+99ZZOdaWlpak9F2BmZlautf7LolAooFQqy7UKUW3HvtGM/aId+0Yz9ot27BvN2C/asW80qwn9ok9ttS7gFx+VL75CjSbFjxdfpUZXq1atwvTp0wEAa9euxcSJE9WOBwQEYPjw4Vi5ciV+++03hISEoGnTpmpt8vLy0LdvX1y8eBGNGzfG33//DXd3d9XxV155BePGjUP37t3x9ttv48yZMzqt21/8GgAwevRojBkzRu+fsSxKpRLx8fEAwL8u/Af7RjP2i3bsG83YL9qxbzRjv2jHvtGsJvSLPqso1rqAb2Njo3qdm5tbatvio/3Fz9NFQkKC6iHbF154oUS4BwCZTIZ169bhjz/+QGRkJMaNG4dDhw6ptVm9ejUuXrwIAFi6dGmJYA4UrrO/dOlSTJgwAd999x28vb3x5ptvllpfbGwsbG3/XdmmMkfwAaBHjx4lNvqq69g3mrFftGPfaMZ+0Y59oxn7RTv2jWY1oV/k/9fefYdFdaV/AP9SpYkgoGgURKKxYsUSCyiymN3YNbZEjKKJJa6KRI0aIKJRCZtojBrEiGuLiTGW2AuWaAyuRsG1YMGuKIqiKCDM+f3Bj7szMBVmgBm+n+eZ57mX+86Zc1/gzJk7556Tmal1bMU8g1KoUqUK3N3d8eDBA6SlpamNlT9er149nV7n559/llaU7devn8o4Z2dn+Pv7Y+fOndizZw+uXbumMM3l+vXrpe2+ffuqLKd///746KOPAABLly7V2MGvXr26QgffkMzNzWFpaVlh/yHKE3OjHPOiGnOjHPOiGnOjHPOiGnOjXEXPiy71qpjfQZRSs2bNABTcOPvs2TOVcfJTUjZt2lSn10hJSZG2PT091cbKf3g4e/as0nIcHBzg4uKisgxXV1fY29srLYOIiIiIqJBJdvC7d+8ubavrDJ85c0bpc7QhPz6rcNVcVWQymbSdn5+vtBxNZciXU7QMIiIiIqJCJtnBHzhwIMzMzAAABw8eVBl34MABAAVXx/39/XV6jfr160vb165dUxsrf9zDw0NpOVlZWdL8/crcv39fumegaBlERERERIVMsoPfoEEDDBo0CEDB6rDKZtO5fv06Dh06BACYPn16sXFN58+fR8OGDVGnTh0cPXq02PP/8Y9/SB8ifv75Z5V1SUtLw5EjRwAANWrUgK+vr8LxwlVsNZWzadMmhdcmIiIiIlLGJDv4ABAdHQ03NzfcuHEDn332mcKxnJwcjB07Fvn5+WjTpg0mTpxY7Pnz5s3DlStXcPfuXcyYMaPY8UaNGmH06NEAgNOnT2PevHnFYnJycjBy5Ejk5ORIZVpYWCjEhIaGwt3dHQAQHh6O8+fPFysnKSkJERERAAAXFxeEhYVpkQEiIiIiqoxMtoPv4eGBHTt2oFatWoiJiUHPnj2xbNkyxMTEwNfXFwcPHkTLli2xfft2pSveyo+bVzU+/rvvvsPw4cMBALNnz0bXrl0RExOD1atXIyIiAk2aNMGePXtgaWmJL7/8EiEhIcXKcHFxwd69e+Ht7Y2MjAz4+voiJCQEsbGxiI2NRUhICNq1a4dnz57B09MTe/fulT4QVAQ5OTmIj4+XPsTQ/zA3yjEvqjE3yjEvqjE3yjEvqjE3yplaXsyENnd3GrH09HR88803+PXXX3Hz5k1YWVmhYcOGGDZsGMaNG6dytdukpCQMGDAAr169woYNG9C1a1eVr3Hs2DHEx8fjjz/+wO3bt/Hq1StUrVoV3t7e8Pf3x5gxY/DWW2+prefLly+xbt06bNu2DWfPnsXjx48BFEx36ePjg969e2PEiBFwcHBQW05mZiaqVauGZ8+elck0mU+ePIGLiwseP36M6tWrG/z1jAlzoxzzohpzoxzzohpzoxzzohpzo5wx5EWXPl7FnOhTj1xdXREVFYWoqCidnufj44MrV65oFdulSxd06dKlJNWT2NnZYezYsRg7dmypyiEiIiKiys1kh+gQEREREVVGJn8Fv7IpHHGly3LGpVH4OpmZmRV25bfywtwox7yoxtwox7yoxtwox7yoxtwoZwx5KayjNqPrTX4MfmVz584d1K1bt7yrQUREREQGcPv2bdSpU0dtDDv4JkYmk+HevXuoWrWqNE8/ERERERk3IQSeP3+O2rVrw9xc/Sh7dvCJiIiIiEwIb7IlIiIiIjIh7OBTiaWnp2POnDlo1qwZHBwcUL16dXTs2BFLlixBbm5ueVevXKWkpGDGjBlo2bIlXF1dYWtri3r16qFr166YOXMmDh48WN5V1DshBJYuXQoHBweYmZnh8OHDWj3vzJkzmDFjBjp37gxXV1dYWVnB2dkZbdq0wbRp07SerrYiK2lugIKxljNnzkTbtm1RrVo1WFlZwcXFBZ07d8aCBQvw9OlTg9XbUNLT07F8+XL07dsXnp6esLGxgZ2dHby8vDB48GDs2LFDq5vIisrKyoKXlxfMzMxgZmaGGzdu6L/yBvL06VOsX78eo0aNQqtWreDk5ARLS0s4OTnB19cXM2fOxK1bt7Qq68SJExg2bBg8PDxgY2ODunXr4r333tPp764i0WduAGD79u0YOnQovL29YWdnB2dnZzRu3Bj9+vXD4sWLkZqaasCzKRthYWHS/0FERITa2MrQBsvTJTeAEbfBgqgE/vzzT1GrVi0BQAQGBoqlS5eK6Oho0axZMwFAtGrVSty9e7e8q1ku5s6dK6ytrUWdOnVEaGio+P7778XixYvFsGHDhKWlpQAgXFxcyruaenX16lXRtWtXAUB6JCQkqH1Oamqq6Ny5sxTfqVMnER4eLuLi4kRUVJRo2rSpACCsrKxEdHR02ZyIAZQkN4V++eUX4eDgIAAIb29vMWvWLLFixQoRFhYmatasKQCIWrVqiVOnThn2JPQoNDRU2NjYCADCzc1NTJ48WXz33Xdi6dKlYsCAAcLc3FwAEN27dxePHz/WqezJkycr5Dk1NdUwJ6Fnx48fF1WqVBEAhJmZmejfv79YuHChWL58uQgNDRVubm4CgLCzsxObNm1SW1ZkZKQwNzcXdnZ2YtKkSSI2NlZMmTJF+jsKCwsro7PSD33m5t69e6J79+4CgOjatav48ssvRVxcnJg3b55o1aqV9HcTGhpaRmdnGKdPnxYWFhbS+YSHhyuNqyxtsDxtc1PImNtgdvBJZzdv3pQa1cmTJyscy87OFt26dRMARJs2bUR2dnY51bJ8fPrppwKAGDJkiMjKyip2fM+ePcLc3NxkOvgymUx8++23wt7eXjg6OooOHTpo3YndvXu3FPvNN98UO56XlyeGDRsmxaxYscJAZ2EYpcmNEEIkJycLKysrAUB069at2N9Tenq6aNy4sdRRfvLkiYHORL8K3xT9/PzE06dPix3fsWOH9Ab89ttvi/z8fK3KTUxMVHjjNqYOfuH/goWFhdi3b1+x4xkZGaJ58+YCgLC2thYXLlxQWs7y5csFAGFjYyNOnjypcOzMmTPC3t5eADCqzpq+cpOeni6aNGkiLC0tVX4QGD58uNF38F+/fq3wYUVdJ9bU2+CidMmNEMbfBrODTzp77733BADh4eGhtAN/9epV6Y32q6++Kocalo/CxrJp06YiNzdXZVxQUJBo2LBhGdbMcMLDwwUAERQUJG7duiXt69LBDwwMVBnz4sUL4eLiIgAIJycn8erVKz2fgeGUJjdCCDFq1Cgp/ty5c0pjtm3bJsUsWrRIz2dgGDVr1hSWlpbi5s2bKmM++ugj6bw2btyosczc3Fzh4+MjHBwcpCu0xtjBHz16tMqYPXv2SOc1derUYscfPnwoXWmcPn260jIK/wZtbGzE7du39VZ/Q9JHboQQYvDgwQKAmD9/vspyUlJShIuLi/j8889LXe/ysmDBAgFA9OnTR+sOvqm2wUXpkhshjL8N5hh80smVK1fw888/AwBGjBiBKlWqFIvx9vZGt27dAAALFy5EXl5emdaxPAghMHnyZADAjBkzYGVlpTJ2z549uHz5chnVzLCEEIiLi8OePXtKvP5Cnz59VB6zt7dHUFAQgIJxuMeOHSvRa5SH0ubm1KlTAABbW1s0b95caUy7du2k7T/++KNkFS0HLVu2hIeHh8rjAwYMkLZ37NihsbxFixYhKSkJ8+fPN8p1QJycnNC+fXsMHDhQZUybNm2k7YsXLxY7vnjxYrx48QIAEBISorSMkJAQmJmZITs7GzExMaWsddnQR25OnDiBTZs2oWrVqlI7rUyDBg2Qnp6OyMjIUtW5vFy7dg2RkZHw9fXFJ598ovXzTLUNlleS3Bh7G1wxl+qiCmvz5s3SzW89evRQGRcYGIgDBw7g0aNHOHz4sNpYU3D06FFcvnwZ5ubm6NWrV3lXp8xERESUeL2Ftm3bYvfu3fD19VUb5+npKW3rciNdeStNbgBIN6rb2NioLMfOzk7azsrKKvFrlaWNGzfCxcVFbYwuv/OUlBRERUWhXbt2mDBhAkaNGqWXepalDh064OTJk2pj5H/Xyi6sbN68GQBQr149vPnmm0rLqFOnDho1aoSLFy9i8+bN+Ne//lXh10vRR25WrlwJoOB9ydbWVr8VrEDGjh2L169fY+XKlcjIyNAYb+ptsDxdcwMYfxvMK/ikk0OHDknbLVu2VBnXqlUrpc8xVYVvrp6enqhWrZr0c/H/i1IIE11uojSdA1dXV/Ts2VNjZ09+hgJ7e/sSv15ZK23HqUWLFgCAjIwMpKWlKY2Rv1rZoEGDUr1eWenWrRt8fHzUxmj7OxdCYMyYMcjPz0dcXJzGhV+MWeHVRADo3r27wrG7d+9K3wqqa5eB/7XNd+7cMZnZUdTlRiaT4ddffwXwv/+pQjk5OXj58qXhK1gGVq1ahUOHDiE0NLTYeapi6m1woZLkBjD+Nth0W0MyiPPnzwMAqlatqtCRLUr+a/L//ve/Bq9XefvPf/4DAPDw8IBMJsOqVavQsWNHWFtbw9HREdbW1ujQoQOWLVuG169fl3NtjUvhlHVmZmbo1KlTOdem7EydOhWWlgVfss6fP19pTOHPLSwsVA7LMEby0xR27dpVZVxsbCyOHj2KsLAwlV+hm4Ls7Gx89tlnAIDmzZsX+10XtssANA5RMrW2WVNurly5gmfPngEoaJ/T0tIwZcoUaQpRe3t7VK9eHQMHDtT4TUFF9eDBA4SFhcHb2xvh4eF6L9+Y2+DS5MbY22B28ElrOTk5ePDgAQCgZs2aamPljxvTXNQllZycDKDgatHf/vY3jB07Fk2aNMHGjRuxbds2TJ06FUlJSZgwYQK6du2K9PT0cq6xcXj27Jk0d3evXr2Mcnx1SbVv3x47duxAjRo1sGTJEnz44Yc4fvw4bt26hYSEBPTq1Qvbt2+HnZ0d4uPjNV65NSaFV1xtbGwwcuRIpTH37t3D9OnT0aBBA8yZM6cMa2d4OTk5SEtLw4ULFxAXF4c2bdrgxIkTeO+993Ds2LFiw0zk21hTb5t1zU1h2wwAZ8+eRePGjfHTTz9hwoQJ2LFjB9auXYv27dvjl19+QceOHREVFVXWp1RqEydOREZGBr7//nu9D0Ey9ja4NLkx+ja4HG/wJSPz6NEj6W7xZs2aqY199eqVFOvl5VVGNSwfWVlZCtNuARA//fRTsbjExERp/u+AgAAhk8nKobaGpetMMZosXrxY4/R3xqKkuXn27JnC3PGFD0dHRzF9+nRx5coVw1W6HKSlpUnnOnv2bJVxffv2VZrL4OBgo5tFp6jVq1cr/K49PDzE+vXrVbYZ0dHRUqymmcsKp9IEICIjIw1RfYPSNTffffedQryXl5dIS0srFjd16lQpZs2aNYY+Db3ZunWrACBGjhyp8POEhAStZorRxJjbYH3lxljbYF7BJ629evVK2ra2tlYbK3/cVMY4qpKZmamw/84772DQoEHF4nx9fTF+/HgAwMGDB7WaHaQye/jwIebOnQsAmDdvHho3blzONSp7u3fvRqtWrRATE4POnTtj1apV2LVrF1atWgVfX18sW7YMixYtwv3798u7qnoTFhaG7OxstG7dGrNnz1Yas3nzZmzduhWjR4+Gv79/2VawDAQFBWH//v3YunUroqOj4eLiguHDh6Nhw4bYtWtXsfjK1Dbrmpui7fOCBQtQo0aNYnHz589HrVq1ABTMhJaTk2OYE9CjzMxMTJgwAW5ubgaZFcmY22B95cao2+Dy/oRBxoNX8JW7c+eOwqf6H374QWVsYmKiFDdo0KAyrGXZ0NcV/Ly8PBEUFCSAgkXDTOHbDl1zs3nzZmlV108//VRpTGhoqAAgatasKc6fP6/nGpe9tWvXCgCiRo0aKq++Z2RkCHd3d1GzZk2lC8uYwhX8omQymQgLCxNAwWqu8fHxCscr0xX8ojTlJioqSjpfa2trtfO4jx8/XorduXOnoateaoXrRWzYsKHYsdJewTf2NlgfuTH2NphX8ElrVatWlbazs7PVxspfUZJ/nikqen7qbvbz8fGRZldJTEw0aL2M2aRJk7B3714EBAQgPj6+wk/lp28vX77Exx9/DJlMBk9PT5U3eC1YsEC6cXDw4MGQyWRlXFP9OXr0KMaMGQNHR0fs2rUL9erVUxo3bdo0PHjwAIsXL4azs3PZVrKcmJmZYeHChWjdujWEEBg3bpx0PxRQudtmXXLToEED2NjYqCxLfoaVit4+Hzt2DLGxsejZsyeGDh2q9/KNuQ3WR25MoQ1mB5+0VqVKFbi7uwOAyimjCskfV/VGbSocHBwUvvZW1+moUqUKHBwcABR8/UnFzZw5E8uWLUO3bt2wbds2pfNam7q9e/dKN2L37t0bFhYWSuMsLS2ldRf++9//IiEhoczqqE+JiYno1asXrK2tsXfvXoWFi+QdOXIEP/zwA/z8/BAQEID09PRiD/mhFRkZGdLPtZ37uqIyMzPD8OHDARR00jdu3Cgdk29jK2PbrC438lNAavpA6OrqKm1X5PY5NzcXY8aMgbW1NebOnav0/6Bw5iCgoLMqf0zTTG7G3AbrKzem0AZzoSvSSbNmzfDgwQM8f/4cz549UzlV5p07d6Ttpk2bllX1yoW5uTkaN26Mc+fOAYDGxlP8/5z4pjxnd0nNmTMHCxYsgJ+fH3777TeFRUQqk5SUFGlbfpEZZeQ7aWfPnkVAQIChqmUQp0+fRlBQEIQQ2LdvHzp06KAyNiEhAUIIHDlyBG5ubhrLbt26tbTt6elplLPGyHvrrbekbfnZYZo1ayZt3759W20Zpto2q8qN/Dlq2zYDFbt9vnfvnrTugaZFqgAgOjoa0dHR0n5CQoLKe1eMvQ3WV25MoQ1mB5900r17dxw4cABAwR+yn5+f0rgzZ84oPMfUtWvXTurgP3jwAI0aNVIa9/LlS2m1u9q1a5dZ/YxBREQEoqKi0KVLF+zcudPo3lj0Sb5zITQskib/lXB+fr7B6mQIf/31FwIDA5GXl4e9e/eq7dwDwIgRI9C5c2e1MdHR0di3bx8AYN26ddK0kBV5BdPdu3fDzs5OZXtaSP4qYl5enrT9xhtvoGHDhkhJScHZs2fVllHYNtepU6fCLcyjTGlz06RJEzg4OODFixcKQ3eUefTokbRdkdtnd3d37N+/X23MuXPnMG3aNADABx98gBEjRkjHVC32ZAptsL5yYwptMDv4pJOBAwdi1qxZEELg4MGDKhvdwg8Brq6uJjnLRVEDBw6UlkM/deqUynP+66+/pMZC0xtWZTJv3jxERkaiU6dO2LVrl9LVEtu2bYtevXoZZCGXiqZ+/frS9rVr19TGyh/38PAwWJ30LSkpCYGBgcjNzcWePXvw9ttvF4uJjIzEjh07pIXk6tevr5AbZdatWydtd+rUySiGoYwbNw4ODg4KC1Ypc/XqVWm76O960KBBmDdvHm7cuIHr168rzdPdu3dx6dIlAAVtljGMqy5tbqytrdGrVy9s3LgRt27dwsOHD5XOogMUfJtUqCK3zzY2NujRo4famMIFmoCC/xtN8abSBusrN6bQBlfc76CoQmrQoIE0BeTatWuRm5tbLOb69es4dOgQAGD69OkK/0ymqkePHtIn/3Xr1qn8xL927Vppe9y4cWVSt4pu4cKFmD17Njp27Ijdu3dL9ygUdfr0aYUVTk1Z9+7dpatn27ZtUzllX3Z2NrZt2wag4P4OTW9sFcX58+cREBCAV69eYdeuXSqvyqempip0ukzZxYsX1Q4hEkLg3//+t7RfOO630KRJk6T/nbi4OKVlrFq1CkII2NjYIDQ0tPSVLiOlzc3UqVNhZmYGIYRCGyzvxYsX0gJrLVq0UPqB01SxDS7OFNpgdvBJZ9HR0XBzc8ONGzekJcIL5eTkYOzYscjPz0ebNm0wceLEcqpl2TI3N8eyZctgbW2NpKQkae5gefv27cOqVasAAFOmTFEYH1xZxcTEYMaMGXBzc8OMGTNw+vRpHD58WOmjMnF2dpb+t+7fv49JkyYV+9Aok8kwYcIE6abJadOmKdwkWFFduHBBukF22rRpkMlkKn/nmoZUmBKZTIYPPvhA6TnLZDJMmTIFp06dAgAMHToU7du3V4ipUaOGNJb466+/lmILnTt3DosWLQIAzJ07F3Xq1DHEaRhEaXPTtm1baQ2SuXPnKozRLyzjk08+wePHj1GlShXExsYaxbcb+sA2WDlTaIPNhKbBRURK/Pnnn+jXrx/u37+PoKAg9O7dG69evcKaNWuQnJyMli1bYufOnRV6HKMhbN26FSNGjMDz58/Ro0cP9O7dGzY2Njh+/DjWrVuH/Px8/POf/0RMTIzKu/KNjfyQiC1btkhXwT777DNpYZSaNWsiMDBQ4Xlbt25Fv379dHqt4OBgxMfHl67CZaikuQEKrkp++umniImJgRACLVq0wODBg+Hu7o4HDx5g06ZN0n0fEydOxOLFiyv0jYFAwdUuLy8vnTvumt6mtm7dihcvXgAAYmNjcezYMQAFHd3CN9y3335b4/Ce8tKnTx9s374dAGBnZ4chQ4agUaNGcHFxwa1bt/DTTz/h4sWLAAruQ4iNjVU5s0lkZCS++OIL2NraIiQkBE2bNsWlS5ewcuVKPH/+HNOmTVO4qbCi01du8vPzERISgvj4eNjZ2WHUqFFo2bIlnj59io0bN+L06dNwdnbGpk2blP4/GoOkpCQkJSUBKPjWo3Bqx379+qF///4AFNubytAGF9I1N4AJtMFlN+U+mZpHjx6JWbNmiSZNmgh7e3vh5OQk2rVrJ7755huRk5NT3tUrN7dv3xbTpk0TTZo0EQ4ODsLW1lbUr19fjBw5UiQmJpZ39fQOcot8qXr4+fkVe97XX3+t1XPlH8HBwWV+fqVR0tzIO3v2rJgwYYJo0aKFcHR0FBYWFsLR0VE0b95cjBs3Tpw6dapsTkYPMjIydP6da/M25enpqbGM1atXG/4ESyE5OVl88cUXIjAwUNStW1fY2toKS0tL4ezsLFq3bi0mTpyodftx/PhxMXjwYPHGG28Ia2trUbt2bTFgwABx6NAhA5+FYegzN3v37hUDBw4UderUEdbW1qJatWrC19dXREZGisePHxv4TAxLfjE9bdqbytAGF9I1N/KMtQ3mFXwiIiIiIhNSgb5LICIiIiKi0mIHn4iIiIjIhLCDT0RERERkQtjBJyIiIiIyIezgExERERGZEHbwiYiIiIhMCDv4REREREQmhB18IiIiIiITwg4+EREREZEJYQefiIiIiMiEsINPRERERGRC2MEnIiIqpb59+8LMzKzYIz4+vryrRkSVkGV5V4CIiMrGjRs34OXlpdcyExIS4O/vr9cyjVHr1q2RnZ0NAEhMTERGRkY514iIKjN28ImIKgkrKyt4e3tL+zdv3kReXl451sh0fP7559K2v78/jhw5Uo61IaLKjh18IqJK4o033sDVq1el/Xr16uHmzZsAgP79+2PhwoVal+Xv74+7d+/qvY5ERFR67OATERGqVq2KN998U+t4S0u+fRARVVS8yZaIiIiIyISwg09EREREZEL4HSsREenswoULkMlksLW1Le+qEBFREezgExGRzuzs7Er0vNzcXBw6dAipqal49uwZ3N3d0aVLF4XZfXRx/fp1/PHHH0hLS0NeXh5q1qyJ1q1bo3nz5iUqDwAuXbqEU6dOIS0tDfn5+XB2dkajRo3QqlUrVK1atcTlZmZm4sCBA7h+/TrMzc3h7e2Nbt26wdHRscRlEhEpww4+ERFpJD+HvhBCaczIkSOxZs2aYj8PDw9HREQEvv76a0RFReHJkyfFYgICArB8+XI0aNBAq/rs2rULs2bNwtmzZ5Ue9/LyQkREBN5//32Ym2sejSqEwKZNmxAeHo6UlBSlMZaWlujSpQuGDh2K4cOH6/QhZ9GiRZg3bx4yMzMVfu7o6Igvv/wS48eP17osIiJN2MEnIiK9aN68OYKCggAAycnJuHfvnnRs4sSJ+P777zFq1Ci88847cHZ2RmpqKlatWoXff/8dBw8eRNu2bXHgwAH4+vqqfA2ZTIYpU6ZgyZIlAAB3d3eMHz8evr6+sLS0RHJyMlasWIGUlBQEBwdj69atWL9+vdqhRDk5Ofjwww+xceNGAAUfDj7++GO0bNkS1tbWuH79On788Ufs378fCQkJSEhIwKpVq3Dy5Emt8jJ58mQsXrwY9evXh7+/P3Jzc/Hnn38iIyMDmZmZmDBhAmxsbDBq1CityiMi0kgQEVGl5OnpKQAIACI4OFhtbGpqqhSrjeDgYCm+VatWwtbWVhw9erRYnEwmExMnTpRiXV1dRVpamspyQ0NDpVgfHx/x6NGjYjEvX74UPXv2lOL69u2rtq6DBw+WYrt37y6eP3+uNO7bb7+V4lq0aKGyPD8/Pylu+PDhwtbWVmzatEkhJisrSwwcOFCKc3NzE7m5uWrrSUSkLXbwiYgqKfkOvi4Pbch38AGIhQsXqozNy8sTjRs3lmI/+OADpXEHDx4UZmZmAoCwsLAQFy9eVFnmkydPhJOTk1TmypUrlcatXr1ainF0dFT6gUHeu+++q1MHH4CIjY1VGvf48WNhY2Mjxe3bt0/taxMRaYvTZBIREWrXro2goCCVj65du5a47CpVquDjjz9WedzCwgKTJk2S9jdu3Ij79+8Xi/viiy+k8f99+vRBo0aNVJbp7OyMkJAQaX/evHnIz89XiJHJZIiKipL2Q0JC4OrqqvZcPvroI7XHi6pduzZGjx6t9Fj16tXRoUMHaf/MmTM6lU1EpArH4BMREQIDAxEfH6/yuPxNtrrq0KGDxpli/v73v0vbeXl52LJlCyZMmCD97ObNmzhy5Ii0/+6772p83V69euGrr74CUFD/w4cPIyAgQDp+7NgxXLt2Tacyu3TpAj8/P61X/Q0KClJ7k2+DBg1w+PBhAFC4Z4GIqDR4BZ+IiAxK3ZX2Qh4eHgpTUBa9gfXo0aMK+z4+PhrLLBpTtAz5DwzallmtWjUcPnwYcXFxGmMBoHHjxmqPV69eXdp+8eKFVmUSEWnCDj4RERmUs7OzVnF169aVtuWvrAPA5cuXFfY9PDw0lufk5KTwoaHo9JfyZdrb28PFxUWreurCyclJ7XEbGxtpu+gQIiKikmIHn4iIDKpKlSpaxdnb20vbGRkZCsceP36ssO/g4KBVmfJxRcuQn49f/rX1ycrKyiDlEhGpwzH4RESkUb169VQucGUKzMzMyrsKRER6wyv4RERkULm5uVrFZWVlSdtFh/UUHT6j7Xh1+biiZcjvc/w7EZkSdvCJiMigig63UeX27dvStre3t8Kxt956S2H/1q1bGst7+vQpnj9/Lu03bNhQZZlZWVkKQ3aIiIwZO/hERKSzxMRELF26FAcPHtQYe+nSJY0xN2/eVOiMd+zYUeF40Xn4k5KSNJZZNMbPz0/tvjZlZmRkYMWKFVixYkWxG4GJiCoKdvCJiEhnu3btwieffIK1a9dqjD158qRC512Z3bt3S9tWVlbo37+/wnFPT0/4+/tL+7/99pvG192xY4e0Xa9evWId+s6dOyvMZ79z506NZW7fvh3jxo3DuHHjOG6fiCosdvCJiMigsrOzERsbq/J4fn4+lixZIu0PGTIE7u7uxeI+//xzqVO9bdu2YlNnysvIyFCYq37WrFmwsLBQiDE3N8ecOXOk/bi4OLXDdGQyGb799lsAQPfu3VG/fn2VsURE5YkdfCIiwvPnz3H16lWtH7qMV/f29sbnn3+O48ePFzsmhMCUKVNw8eJFAICrqytiYmKUltOtWzdMnToVQMGHgkGDBiE9Pb1Y3KtXrzBs2DA8ffoUANC3b1+EhIQoLXPEiBEYPHgwgIIx+0OGDFG42Ve+nmFhYTh9+jQsLS2xcOFCzSdORFROOE0mEVElcffuXQQEBCjsF9qyZQu2bNlikNd9//33cenSJXTr1g2jRo3CO++8AycnJ9y4cQNxcXH4/fffAQCOjo7YuXMn3NzcVJa1aNEivH79GkuWLEFycjKaN2+O8ePHo127drC0tERycjKWL18uLWrVt29fbNiwQW391qxZAzMzM/z444/Yv38/fHx8MG7cOLRo0QJWVla4fPkyfvjhByQmJsLc3ByxsbFo27atQhnr1q3DunXrACiO5Y+JicGPP/4ovU7NmjWRlpaG4OBgAMDVq1el2P3796Nnz55Szt5//32t8ktEVIwgIqJKITU1VQDQ6yM4OFjpawUHB0sx4eHhIj8/X0RERAgHBwel5QQEBIiUlBStz+W3334TLVu2VFkvLy8vsXr1apGfn69VeTKZTGzYsEE0bNhQZZlt27YVR48eVfr88PBwjblKTU3V+vcQHh6udS6IiIoyE8KEVy4hIqJyMXLkSKxZswYAEB4ejoiICADAy5cvcejQIdy8eROZmZlwd3dHly5dFG521cX169dx4sQJPHjwADKZDDVq1EDr1q3h4+NT4rpfuHABp06dwsOHDyGTyeDu7o727dujUaNGJS6TiKgscYgOERGVGTs7O7z77rt6K69+/fp6v9m1SZMmaNKkiV7LJCIqS7zJloiIiIjIhLCDT0RERERkQtjBJyIiIiIyIbzJloiI9CImJgb79+8HACQnJ+PevXsACubBL7yJltM/EhEZHm+yJSIivUhOTsbevXuL/fzatWu4du0aAKBDhw5lXS0iokqHV/CJiIiIiEwIx+ATEREREZkQdvCJiIiIiEwIO/hERERERCaEHXwiIiIiIhPCDj4RERERkQlhB5+IiIiIyISwg09EREREZELYwSciIiIiMiHs4BMRERERmZD/AwHOlXznpajmAAAAAElFTkSuQmCC", + "text/plain": [ + "<Figure size 800x600 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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unXreP78OQC9e/fWW69v374APHv2jCVLlmQpP3XqlPa6UaNGett56623AHjy5AmXLl3KUt64cWPq1q1rsM+KorB8+XJA8wmD0JD190IIIYSwJLkS4CcnJ/PVV19RoUIFGjduzOjRo/nmm29YtmxZpnpz5szB1dWVUaNGER0dbbbnb9q0CUVRAGjdurXeem3atAEgKiqK4OBgk55x4sQJ7bW3t7feerVq1cLGRrMSasOGDVnKM270NTSj7uCQvnTk2bNnWcrXrVunc9NsRnv37uXatWs0bdrUYJ9fN5IDXwghhBCWxOwBfmRkJG+99RaTJ0/mzp072kA77X9flJCQwOLFi6lbty5nz541Sx+CgoK014ZmtdOWvbx4jzEyviFxdNQfGFpbW+PkpJkZDg0N5fHjx5nK69Spo73WNTP/YplKpcLT09Okvqb56aefALJ8kpKd+Ph4EhMTc/TMguDJLZnBF0IIIYTlMGuAHxcXR/v27Tl37hyKomQb3M+aNYtZs2bh6urK7du3ad++Pffv33/pfpw/fx6AYsWKaYNrXdzd3bXXFy5cMOkZGWfUExISDNbNOEt/8eLFTGU1atSgc+fOAKxevZrIyMgs958+fVq7Cdff3x9XV1eT+gpw//59duzYQfHixenevXu29QMDA2nbti2urq44ODhgb2+Pi4sL3bp148CBAyY/Pz+LvRkLSIAvhBBCCMtg1gB/zpw5XLx4EUVRaNy4MQEBAVy5coW4uDjatWuXpb6Hhweff/45ly5domXLljx48ICJEye+VB8SExO5d+8ekH0ayIzlERERJj3Hy8tLex0eHq63XkxMDHFxcdrvdS1F+uWXX+jTpw/Pnj2jcePGrFq1itDQUC5cuMDixYtp3bo1arWaVq1aaWfhTRUQEEBycjL9+vUzuBQozahRo0hJSWHGjBn89ttvrFq1Ch8fHzZv3kyrVq0YPHiw3s2+BY2swRdCCCGEJTFbgJ+amsp3332HSqVi2rRpHD16lP79+1O1alWKFCli8N7ixYuzbds2ypUrx/r164mNjc1xPzIG0/b29gbrZgx0M95nDD8/P+3177//rrfe7t279fYvTbFixVizZg379u3DxcWF/v37U61aNby9vRkxYgS1a9dm7dq17N27l5IlS5rUT9B8gpK2/8HYzbVz584lKCiIoUOH0rFjRz788EM2b96s3aS7bNkyxo4da3Jf8htFUSTAF0IIIYRFMVse/OPHjxMbG0uLFi2YNm2ayfcXK1aMwYMHM336dI4dO6Zzxt8Y8fHx2utChQoZrJuxPC0jjrF8fHxo0aIFwcHBrF+/nrFjx9KgQYNMdeLi4pg+fXqmn6VtuM0oNjaWsWPHsmrVKooVK8akSZO0WXNOnDjBDz/8wNy5c1GpVPTq1cukfgLs37+f8PBwmjVrRq1atQzW7datG++8806m5UsZffzxx2zdupXAwEAWL17MoEGDss3eExMTkylLkZ2dXY7OHTAkJSUFtVptcjak+EfxJD3VLKFyKONg8v35UU7HwtLIOKSTsdCQcUgnY5FOxkJDxiFdfh0LU/pjtgD/8uXLqFQqPvzwwxy30aRJExRFISwsLMcBfsZZ+Yxr33XJWJ5xTb2x1q5dS8uWLbly5Qpt27Zl+vTptG/fHjs7O06fPs3UqVO5ffs2vr6+HDx4EMi6ITcxMZE2bdpw8uRJypQpw9GjR6lUqZK2/N1332XgwIE0adKE3r17c/jwYZPz9qct6zFm9r5o0aIULVrUYJ2BAwcSGBiIoigEBASwYMECg/Uzvh6A/v3789FHH2XbF1Oo1Wpu3rwJgJWV8R9MPb2qSdNqW8KWE6dPZFO7YMjpWFgaGYd0MhYaMg7pZCzSyVhoyDiky69joSuLoj5mC/AfPnwIkOMML5AenJu6XCajjIcvZbf5NeNsf04ObSpbtiwnTpxgxowZBAQEMHLkSG2Zra0tHTp0YP369SxdulQb4Lu4uGRqY8GCBZw8eRKAmTNnZgmGQTOmM2fOZOjQoXz//fc0b96cnj17GtXHBw8esG3bNkqUKGHU5lpjvPnmm9rro0ePZlv/+vXrmd7Y5NYMPkDTpk11fkqiT+jjUE5zmlKVS/H222+btU95JadjYWlkHNLJWGjIOKSTsUgnY6Eh45Auv46FKUvYzdbrtPXuGYNmU6VlkHmZE1Lt7OwoU6YM9+7dyzYjT8byihUr5uh5Tk5OfPPNN8yZM4crV64QFRVFkSJFqFq1qjaoffToEaBJmVmzZs1M9//yyy/a665du+p9znvvvadNb7lo0SKjA3xTN9caI2MWn7QNzYY4OzsbTCVqLlZWVtjY2Jj0x/j0tmYG38nDKV/9Eb+snIyFJZJxSCdjoSHjkE7GIp2MhYaMQ7r8OBam9MVsnzuUK1cORVFMPjAqo23btqFSqfSu/zZW2iFOcXFxPHnyRG+9jCkps1ubnh0rKytq1KiBj48PDRo0yBTQpmXZqVmzZpYgOzQ0FNAsjTG0gbZUqVLazcrGnheQk821xlCr1dpra2trs7WbF2SDrRBCCCEsjdkCfF9fX1QqFd9//z1Xr141+f4//viDTZs2YW1tTYsWLV6qL61atdJeGwqGQ0JCdN5jTsnJyZw5cwaAHj16ZClPW9ul76yAjNIC69TUVKOeHRQUxNWrV3n77bezfHKgy40bN5g5c2a2byAyztqXLVvWqL7kV5IDXwghhBCWxmwBvqurK23btuXp06f4+PiwY8cOo+5LSUlhwYIF+Pv7A9ClSxeDh1MZo1u3bqhUKkCTQUafffv2AZrZ8Zy8qTh16hS7du0yWGffvn3ExcVRqFAh+vXrl6W8cuXKgGbjhKHlLnfv3tUuf/Lw8DCqf6ZsrgXNWvkpU6ZkSe35ouPHj2uvC/q6dZnBF0IIIYSlMevW4NmzZ2Nra8v9+/fx9/enWrVqfPLJJ6xatUq7CXfv3r1s2bKF+fPn079/f8qWLcsnn3xCQkICdnZ2/Pe//33pflStWlW7oXT16tU6s+lcu3aNoKAgACZMmJBlXdP58+fx8vLCzc2NQ4cO6X29HTt25O7duzrL1Wo1s2bNAmDcuHE6A/O0U2wBNm7cqPc1rV+/XnvdqVMnvfXSREVF5XhzbXZvWpYsWQJoPn0YOHCgSW3nNxLgCyGEEMLSmDXAr127Nj///LP2+6tXr7JgwQIGDBhASEgIiqLQvn17unfvzrhx41izZg3R0dEoioJKpWLVqlWZToh9GXPnzsXFxYWIiAgmTZqUqSwxMZEhQ4aQmppKgwYNMmW/STNr1izCwsK4fft2tqfrTpw4McsSm5SUFEaOHMmRI0fw9fVl6tSpOu8dN24cZcqUAWDatGmcP38+S51z587x5ZdfAlCyZEk+++wzg/0BWLFiBUlJSfTr1y/bA79edOjQIb2pL6dPn67NCDRhwgSqV69uUtv5SWpyKnF3NBmbJMAXQgghhKUw+9bgPn36UKxYMQYOHEh0dDSAdrmMSqXSBsIZr0uVKsXKlSvp0KGD2frh4eHBzp078ff3Z968eZw/f54uXboQHx/PypUr+eeff6hbty47duzQGQBn3Eia3fr4VatWcenSJd577z1cXFy4ceMG69evJzQ0lB49erBs2TK9QXbJkiX5448/eO+99wgPD6dhw4b06dNHe9DVyZMnWbNmDYmJiVSoUIHNmzdr3xAYkpPNta6urpQtW5a7d+8yZswYNm/ejJ+fH66urjx48IAtW7Zw4sQJVCoVEyZMYObMmUa3nR/F3YlDUStYF7KmiKvh05aFEEIIIQqKXMn906VLFy5fvsyiRYtYuXIlERERWeooikKlSpX46KOPGDlyJCVKlDB7Pxo1asS5c+eYP38+W7duZfz48dja2uLl5cX8+fMZPny43tNuv/jiC0JCQoiPj2f27Nk663z55ZfUr1+f4OBgwsPDtQFv2bJlad68OUuWLKFly5bZ9rN27dqcO3eONWvWsH37dnbt2sWaNWsATYrJFi1a0KVLF/r165ftIVQABw4cIDQ01OjNtWlq1qzJzZs32b17N4GBgZw6dYqvvvqKuLg4ihQpQoUKFRg1ahTDhg0zqd38Km15jqO7IyorVR73RgghhBDCPHItuWfJkiWZNm0a06ZNIzIyksuXLxMTE6Mtq1atGm5ubrn1eK1SpUoxc+ZMk2eba9euTVhYmME63t7eeHt7Z1kClBMODg4MGTLELOksW7ZsaVRWHl1sbGzw8/PDz8/vpfuR38n6eyGEEEJYoleSvd/Nze2VBPNCmEICfCGEEEJYIrNushWiIJEAXwghhBCWyKwBfuXKlfn444/N2aQQuUYOuRJCCCGEJTJrgB8REWHwsCYh8hOZwRdCCCGEJZIlOuK1JQG+EEIIISyR2TfZHjx4kMqVK+f4fhsbG0qUKEHFihXx9fWld+/euZJCU7zeEp4kkBibCGjSZAohhBBCWAqzB/gJCQlZ8t6nHXT1ohdTOWas99dff7Fp0yY+//xz/vOf/zBmzBhzd1W8xtJm7wuXLEyhIrrPQhBCCCGEKIjMvkQn40m1GX+m6ytNWl1ddeLi4hg3bhxjx441d1fFa0yW5wghhBDCUpl1Bv/AgQMkJCQwadIkzpw5Q+PGjWnbti01atSgePHi2NvbA5CYmMijR4+4fPkye/fu5dixY1SpUoV58+bh6OjI06dPuXPnDsePH2fz5s3ExsaycOFCWrZsSZcuXczZZfGakgBfCCGEEJbKrAH+W2+9RfPmzXn27BnHjx/nrbfeyvaeadOmcerUKfr168f48eM5fvw4Tk6aoGvw4MHMmTOHDz74gL179/Kf//xHAnxhFrG3JEWmEEIIISyTWZfojB49mlu3bnHo0CGjgvs0DRs2JDg4mJiYGP71r39lKitZsiRbt26lfPnynD17luvXr5uzy+I1JTP4QgghhLBUZgvwY2JiWLVqFSNHjsTV1dXk+0uXLs2IESPYuHEjUVFRmcocHBwYMGAAACdOnDBLf8XrTQJ8IYQQQlgqswX4Bw4cIDk5mUaNGuW4jSZNmpCSkkJwcHCWskaNGqEoCvfv33+JXgqhIQG+EEIIISyV2QL8yMhIAGxtbXPcho2NZkvA7du3s5Slrct/9uxZjtsXAkCdqiY2UrMGX3LgCyGEEMLSmC3AT0lJAeDcuXM5buPvv/8GQK1WZymLjo4GoHDhwjluXwiAp3efoqQqWNlYUbRM0bzujhBCCCGEWZktwHd3d0dRFL777rsczbI/ffqU7777DpVKhbu7e5byK1euoFKpKFOmjDm6K15jactzHN0csbI2+1EQQgghhBB5ymzRTZs2bbC1teX69eu0b99eu2THGLdu3aJ9+/Zcv34dW1tb2rRpk6k8NTWVn3/+GQAvLy9zdVm8pmT9vRBCCCEsmdkC/BIlSjBgwAAUReHo0aNUqVKFPn36sGbNGv7++29iYmJITEwkKSmJmJgY/v77b9asWUOfPn3w8vLi2LFjqFQqBg0aRPHixbXtRkVF0a1bN0JDQ3FwcKBOnTrm6rJ4TUmAL4QQQghLZtaDrubMmcPhw4e5ePEiSUlJrFu3jnXr1mV7n6IoANSuXZuvv/5a+/NffvmFAQMGkJqaikqlolWrVtqNuELkVNRFTRpWu+J2edwTIYQQQgjzM+sCZEdHR4KDg2nWrBmQHrgriqLzK2MdX19f9u/fT9Gi6Zsek5KSKF++PB4eHnh4eDBo0CBzdle8hkKWh/D3Ss1m7lPfnyJkeUge90gIIYQQwrzMvsOwVKlS/PnnnyxZsoSaNWtqA3hdFEWhVq1aLFu2jAMHDlCyZMlM5QMGDOD69evar86dO5u7u+I1EhsZS+CQwPQfKBA4NFCbMlMIIYQQwhLk2nqXIUOGMGTIEC5cuMDx48e5evUqjx8/BqB48eJUqVKFJk2aULNmzdzqghCZRIdFo6gzv+FUUhVirsbg6Cb58IUQQghhGXJ9QXutWrWoVatWbj9GiGyVrFoSlZUqU5CvslbhXMU5D3slhBBCCGFekgRcvDYc3RzpsKiD9nuVtQq/H/1k9l4IIYQQFiVfBfj/+9//+Pjjj/O6G8KCVetSTXNhBaOvj6b+wPp52yEhhBBCCDPLVwH+3r17WblyZV53Q1iw+Jh4ABxKOuDkLnnwhRBCCGF58lWAL0RuSwvwCzsXzuOeCCGEEELkDqM32b6KpTP//PNPrj9DvN4kwBdCCCGEpTM6wF+xYgUqlSo3+4KiKLn+DPF6S3iUAEiAL4QQQgjLZXKaTEMHV2WUFqhnV9/YekKYg8zgCyGEEMLSmRTge3p60qdPn2zrrVmzhvDwcOzs7GjUqBE1atSgePHi2NvbA5CYmMijR4+4fPkyJ06cICEhgQYNGuDn55ezVyGEkSTAF0IIIYSlMynAr1KlCtOmTdNbrigKffv25c6dO8yePZthw4ZRrFgxg20+ffqUJUuW8J///IcmTZqwcOFCU7okhEkkwBdCCCGEpTPrSbZfffUVmzZtIigoiGbNmhl1T9GiRfn0009p2rQpLVu2pFKlSowdO9ac3RJCSwJ8IYQQQlg6o9Nkzp07l0GDBuktT0xMZM6cOQwcONDo4D6jpk2b8vHHHzNz5kySk5NNvl8IY6QF+PYl7PO4J0IIIYQQucPoAH/cuHG89957esv3799PbGws7du3z3FnOnTowKNHj9i/f3+O2xDCEJnBF0IIIYSlM9tBVzdu3EClUlGiRIkct1G8eHEArl+/bqZeCZGZBPhCCCGEsHRmC/BjY2MBuHbtWo7biIiIACAuLs4cXRIiCwnwhRBCCGHpzBbglylTBkVRCAgIyHEby5YtQ6VSUbp0aXN1Swit1ORUkuKSAAnwhRBCCGG5zBbgN2/eHIA///yTsWPHmnRwlaIojBkzhsOHDwPg4+Njrm4JoZV2ii2AfXHZZCuEEEIIy2S2AL9y5cq0atUKRVFYuHAhb7zxBsuWLSMyMlLvPZGRkSxdupTatWvz3XffoVKpaN26NZUqVTJXt3j48CFTpkzB29ubokWL4uzsrM23n5SUZJZnhIWFMWbMGGrXro2TkxOFCxemUqVKDBgwgJMnTxrVhqIobN68GX9/f9zd3bG3t8fBwQFPT0/69u3LwYMHs21DpVIZ9WXsgWJr166ldevWlC5dGgcHB6pWrcqoUaO4evWqUffnN9oMOsXtsbI226++EEIIIUS+YtY8+IsXL6Zhw4Y8ffqUS5cuMXToUACcnJxwc3OjSJEiqFQqnj59yq1bt7Tr9kET4Do5ObF48WKz9efkyZN07dqVu3fv0qZNG4YPH058fDwrV65k9OjRrFixgsDAQMqVK5fjZ8ydO5fPP/+c1NRUOnXqxODBg7Gzs+PkyZOsWrWKVatW8cUXXzB9+nS9bTx9+pT333+fPXv2oFKp6NWrF40aNSI5OZmDBw/yyy+/8MsvvzBkyBB++OEHrKxyNzhNSEige/fuBAYG4ubmxogRI3B1deXQoUMsXryYgIAAAgIC6N69e672w9xk/b0QQgghXguKmR07dkwpWbKkolKpFCsrK0WlUmm/rKysdP5MpVIpLi4uysmTJ83Wjxs3biguLi4KoIwZMyZTWUJCgtKyZUsFUBo0aKAkJCTk6Bnz589XAAVQFi9enKX88OHDir29vQIo3377rd52evXqpW3nt99+y1K+ePFibfmMGTP0tgMoI0aMUC5dumTw69atWwZfV8+ePRVAqVq1qvLgwYNMZT/++KMCKIUKFVKOHDlisJ0nT54ogPLkyROD9cwhOTlZOXDggJKcnKy3zpXAK8qXfKn89OZPud6fvGTMWLwOZBzSyVhoyDikk7FIJ2OhIeOQLr+OhSlxldmnghs3bsyFCxfo1asX1tbW2da3tramb9++XLhwgYYNG5qtH5999hlRUVF4eHjw9ddfZyqzs7Nj6dKlWFtbc/r0aRYtWmRy+/fu3WPSpEmAZv/B8OHDs9Rp1qwZo0aNAmDy5Mncvn07S51bt26xbt06APz9/enYsWOWOsOHD6devXoAfPPNNwYPAitVqhTVq1c3+OXm5qb3/l27drF+/XoAFi5ciIuLS6byIUOG4OvrS1JSEsOHD0etVuttK7+RGXwhhBBCvA5yZa1H6dKlWbt2LTdu3OC7776jT58+NGrUCC8vL7y8vGjUqBF9+vRh0aJF3Lx5k1WrVmUJJF9GWFgYGzduBKBfv37Y2dllqePp6UnLli0BmD17NikpKSY9Y926dTx//hyA3r17663Xt29fAJ49e8aSJUuylJ86dUp73ahRI73tvPXWWwA8efKES5cumdRXU8yaNQsAd3d32rVrp7PO4MGDATh37hw7d+7Mtb6YmwT4QgghhHgdmHUN/ovKli3LiBEjGDFiRG4+JotNmzZps/i0bt1ab702bdqwb98+oqKiCA4ONlj3RSdOnNBee3t7661Xq1YtbGxsSElJYcOGDcyYMSNTecaNvoUL6w88HRwctNfPnj0zup+muHPnDkePHgXgnXfeQaVS6azXpk0b7fXGjRt59913c6U/5qbdZOssGXSEEEIIYbksMpVIUFCQ9rpu3bp666Ute3nxHmNER0drrx0dHfXWs7a2xsnJCYDQ0FAeP36cqbxOnTraa0Mz82llKpUKT09Po/qoVqt5+vSpUXUBDhw4oH1jZGjcXF1dtRuTTR23vCQz+EIIIYR4HVhkgH/+/HkAihUrpg2udXF3d9deX7hwwaRnZJxRT0hIMFAz8yz9xYsXM5XVqFGDzp07A7B69WqdaUVPnz7Nnj17AM06fVdXV73PunnzJkOHDqVy5crY29tTrFgx7OzsaNq0KQsWLCA+Pl7vvWnjBpnHRpe08rt37/Lo0SODdfOLhBjNv5ME+EIIIYSwZBYX4CcmJnLv3j2AbE/EzVgeERFh0nO8vLy01+Hh4XrrxcTEEBcXp/0+48x/ml9++YU+ffrw7NkzGjduzKpVqwgNDeXChQssXryY1q1bo1aradWqFT/99JPBfgUEBPDbb7/Rv39/NmzYwNatWxk3bhyXLl1izJgx1K1blytXrui8N+MY5ObY5RXtDH4JCfCFEEIIYblMWoN/6NAhnT9v3ry53vXahgQFBbFmzZpMP1OpVCxfvtzkttJkDKbt7Q2vtc645j3jfcbw8/Nj7ty5APz+++988MEHOuvt3r1bb//SFCtWjDVr1jBgwAA+/fRT+vfvn6ncx8fn/9q78/iYrv9/4K/suy1iKwlSKhGx7yKJpWhRfNRe1BK72ikllmgb4VNRRYnaYklLa19qV3wrSn1CqVhii52QRRJJ5vz+mN/czJgl22S783o+Hnk8bnLOnHvum9y858w552LkyJHo3bt3lnvgt2zZEvv27dP45KJbt24YMWIEWrVqhejoaHTo0AEXLlyAs7Oz3r4ZM3YvX77UWMRsY2Ojc+FzXqSnp0OhUBhcLP3mhXJRtHVJ6xwvqi5OshMLU8A4ZGIslBiHTIxFJsZCiXHIVFRjkZP+5CjB9/Pz00rkzczMEB8frzFlJbuuXbuG9evXa7WXlwRffQqKtbW1wbrq5aodcbKrdevW8PPzw4kTJxAREYGJEyeiYcOGGnUSEhK0HnBlaakd8vj4eEycOBEbN26Ek5MTZs6cKe2ac+7cOaxcuRIhISHSQ7D0iYmJQfny5XUu1nVzc8PSpUvRs2dP3L17F0FBQfjuu+806uRX7N59MvGgQYMwePBgg6/JKYVCgXv37gGA3jdBcQ+VU4luPLiBp6efGvX8RUl2YmEKGIdMjIUS45CJscjEWCgxDpmKaixysslKrnbRqVSpkkaimtuLb9KkCQIDAwEoR3m///77XLWjTj25VZ/7rot6eW7eoGzZsgX+/v64fv06PvzwQ8yfPx8dO3aEjY0NLly4gDlz5iA2Nha+vr44efIkAO0FuampqWjfvj0iIyNRoUIFnD17ViMh/uSTTzB06FA0b94cffv2xenTp/Xu21+1alWD/e3WrRucnZ3x4sULrF+/HkuWLNH4t8uv2MXExGhcd36N4ANAixYtdL6JAoDI5EgAQBPfJnDxNN62rEVNdmJhChiHTIyFEuOQibHIxFgoMQ6Zimos4uPjs103V70+efIkqlevnpuXamjcuLH0cKtbt24ZJcF3cnKSjrNa/Ko+Yq3+uuyqWLEizp07hwULFmDdunUYO3asVGZlZYVOnTohIiICa9askRL8d/f7Dw0NRWSkMvEMCgrSGu0GlHv2BwUFYcSIEfjhhx/g4+OD3r1757i/FhYWqFevHo4ePYpXr17h2rVrqF27tlSeX7ErU6aMwZ2GjMXc3ByWlpY6fxmFQiA5Ttlnp3JOReoXNj8YioUpYRwyMRZKjEMmxiITY6HEOGQqirHISV+M+rmDhYWFwa+CCJKNjQ0qVKgAAHjy5InBuurlWY1+61OyZEksXrwYz549w9WrV3Hy5En89ddfeP78OXbt2oVatWpJu8xYWFjA09NT4/WbN2+Wjrt166b3PD169JCOc/PkXRX1HXhUi5FV1GNQELErSCmvUwDlDqCwLc198ImIiEi+jJpxq/ZQz225sXh5eeHx48dISEjA69ev9W6Vqb4lpfpIdm6Ym5vDw8MDHh4eWmWqXXY8PT215sdHR0cDABwdHbUWvaorW7YsHBwckJSUhEuXLuW6nwqFQjq2sLDQKFN/YNf9+/cNtqOKXcWKFVG6dOlc96egqHbQsXKwgqVN0Xk3TkRERGRsRh3Bj4mJQUxMDG7fvg0A8PX1lX6m+ioIbdq0kY4NJcMXL17U+RpjSktLw99//w0A6NWrl1a5ag58dt78qJLzjIwMrbLly5dj48aNWbahPmpfsWJFjTJ/f39pEbWhuD19+hSxsbEA8i9uxpYSxz3wiYiIyDQYNcF3c3ODm5ubNGXDzs5O+pnqqyD07NlTSlSPHj2qt96RI0cAKEfH/fz8cnye8+fP48CBAwbrHDlyBAkJCbC2tsbAgQO1ylVrGZKSkrSmzKh79OiRNO/d1dVVq3zx4sX4+uuvDfYlNTVVerPh4uKisZc/oFw83aJFCwDKLUz1velQxQ0APv30U4PnLCr4FFsiIiIyFUVn7x8jqlGjhpR4btq0SeeOMLdv38axY8cAANOnT9daH3DlyhXUrFkTlStX1rv/f3BwMD766CM8evRIZ7lCocDChQsBAJMnT9aZmKueYgsAv/zyi95rioiIkI4//vhjnXWio6OlT0902bJli7QCe/jw4TqfXTBr1iwAyifiHj58WGc7YWFhAIA6depo9L8oY4JPREREpkKWCT4AhISEwMXFBXfu3MHMmTM1ylJTUxEQEICMjAw0bNhQY/cblYULF+LGjRuIjY3FjBkzDJ5rxowZWqPd6enpGDt2LM6cOQNfX1/MmTNH52snT54sLQoODAzElStXtOpERUVh7ty5AABnZ2dMnTpVZ1tCCHz++ec6Hzx16dIlTJkyBQBQq1YtTJ8+XWcbnTp1knboGT9+vNaTd8PCwnD8+HFYW1tj5cqVRWp/WEOY4BMREZGpkO1qQ1dXV+zZswfdu3fHkiVLcOXKFXTt2hXJycnYsGEDLl++jHr16mH37t06n9qqvhg1q/nxGzduxLVr19CjRw+4uLjg7t27iIiIQHR0NHr16oWwsDC9T4Z1dnbGoUOH0KNHD9y6dQuNGzdG//79pQddRUZGIjw8HKmpqXBzc8OOHTukNwTq6tati7t37+LUqVP44IMP0L9/f9SqVQtpaWn4888/sXXrVrx9+xaNGzfGjh07DG5buW7dOiQmJmLfvn2oX78+AgIC4OLiglOnTmHbtm1wcHDAunXr0LJlS4NxKUqY4BMREZGpkG2CDwBNmzZFVFQUli5dit9++w3Tpk2DlZUVatasiaVLl2LUqFF6n9g6a9YsXLx4EcnJyQgODtZZZ+7cuWjQoAFOnDiBW7duISgoCIBy8aqPjw9WrVoFf3//LPvp7e2NqKgohIeHY9euXThw4ADCw8MBKPeQ9/PzQ9euXTFw4EA4OjrqbGPXrl34559/8Ouvv+LkyZPYsmULnj9/DnNzc7i4uKBz587o06cPevToobV7zrvs7Oywd+9ebNmyBWvXrkVoaCgSExPx3nvvYeTIkZg4cSLef//9LK+rKGGCT0RERKZC1gk+oFxAGxQUJCXf2eXt7Y0bN24YrOPl5QUvLy+tKUC5YW9vj4CAAAQEBOS6jdq1a6N27dqYPXt2nvsDAP369UO/fv2M0lZhUyX43AOfiIiI5K54TKAmyiOO4BMREZGpyNUI/vTp0+Hk5JRlvcuXL2PIkCHZalPXwlAiY2GCT0RERKYiVwn+r7/+mmUdMzMzPHz4EBs2bMjNKYiMigk+ERERmYpcJfjZeeqqao/17NRVr0+UH5jgExERkanIcYJvaWmJSpUq5UdfEBsbi4yMjHxpm0yXEIIJPhEREZmMHCf4bm5uiI6Ozo++wMPDI9/aJtOVlpQGRZryuQZM8ImIiEjuuIsOyZ5q9N7C2gJW9laF3BsiIiKi/FWkEvzsztcnyonkuMzpOVzrQURERHKXoyk6MTExsLLKvxHQY8eOIS0tLd/aJ9PE+fdERERkSnKU4Lu5ueVXPwAg3xbvkmljgk9ERESmpEhN0SHKD0zwiYiIyJQwwSfZY4JPREREpoQJPsmeKsG3LW1byD0hIiIiyn9M8En2OIJPREREpoQJPsleyssUAEzwiYiIyDQwwSfZ4wg+ERERmRIm+CR7TPCJiIjIlDDBJ9ljgk9ERESmhAk+yR4TfCIiIjIlTPBJ1tJT05H2Jg0AE3wiIiIyDUzwSdZS4pQ76JiZm8GmhE0h94aIiIgo/zHBJ1lTf8iVmblZIfeGiIiIKP8xwSdZ4/x7IiIiMjVM8EnWmOATERGRqWGCT7LGBJ+IiIhMDRN8kjUpwS/NBJ+IiIhMAxN8kjVpkW0Z20LuCREREVHBYIJPssYpOkRERGRqmOCTrDHBJyIiIlPDBJ9kjQk+ERERmRom+CRrTPCJiIjI1DDBJ1ljgk9ERESmhgk+yRoTfCIiIjI1TPBJthQZCqS+TgXABJ+IiIhMBxN8kq2UVynSMR90RURERKaCCT7Jlmp6jk0JG5hb8r86ERERmQZmPSRbnH9PREREpogJPskWE3wiIiIyRUzwSbZUCb5tadtC7gkRERFRwZF9gv/8+XPMnj0bXl5ecHR0RJkyZdC8eXMsW7YMb9++Nco5bty4gQkTJsDb2xslS5aEnZ0dqlWrhs8//xyRkZHZakMIgR07dqB79+6oUqUKbG1tYW9vD3d3dwwYMAAnT57Mso3r169j/vz5aNu2LcqXLw9ra2uULFkSXl5eGDVqFC5evJhlG+vXr4eZmVm2vrZv356tayssHMEnIiIiUyTrBD8yMhLe3t4ICgpCpUqVEBwcjJkzZyIxMRFffPEFmjVrhocPH+bpHCEhIfDw8EBoaChcXV0RFBSE0NBQtG3bFps3b0bz5s0xZ84cg20kJiaiY8eO6NmzJ3bt2gUfHx8EBwdj/vz58PT0xObNm+Hn54cRI0ZAoVBovT4uLg6dO3dGrVq1EBgYiGfPnmHYsGFYsWIFvvrqKzg5OWHVqlVo1KgRJk2aBCFEnq65uGCCT0RERKbIsrA7kF/u3buHzp0749mzZ5gwYQK+++47qWzcuHHo1KkTjh8/jq5du+LMmTOwsbHJ8TlCQ0Mxbdo0AMCKFSswatQoqSwgIACff/452rVrhwULFqBMmTKYMGGCznaGDx+O33//HQCwd+9efPTRR1LZlClTsHLlSowePRqrV69GlSpV8NVXX2m8/smTJ9i3bx8AYNKkSVi0aBEsLCyk8qlTp2LGjBkIDg7Gd999BxsbG3zzzTcGr+3IkSN47733DNbJqrywMcEnIiIiUyTbEfypU6fi2bNncHV1xbfffqtRZmNjgzVr1sDCwgIXLlzA8uXLc9z+48ePMXPmTACAj4+PRnKv0rJlS4wbNw4A8NVXXyE2Nlarzv3797Ft2zYAQPfu3TWSe5VRo0ahfv36AIDFixcjLS1NZ588PDwQHByskdyrfP311/D09JTauH//vsHrc3d3R61atQx+OTk5GWyjsKW8VO6DzwSfiIiITIksE/wbN27gl19+AQAMHDhQ5+i8u7s7/P39AQDBwcFIT0/P0Tm2bduGN2/eAAD69u2rt96AAQMAAElJSVi1apVW+fnz56Xjpk2b6m2nSZMmAIDXr1/j2rVrOut8/PHHsLTU/aGMubk5unXrBgBIT0/HwYMH9Z5LLjiCT0RERKZIlgn+9u3bpXnm7dq101uvffv2AIBnz57hxIkTOTrHuXPnpGMvLy+99WrXri0l3T///LNWufpCXzs7/Ymovb29dJyUlKRRVqVKFRw4cABffPGFwT67ublJx/fu3TNYVw6Y4BMREZEpkmWCf+zYMem4Xr16euuppr28+5rsePHihXRcokQJvfUsLCxQsmRJAEB0dDRevXqlUV63bl3pWN/IvHqZmZkZ3N3dNcocHBzQsWNHVK5c2WCf1c/t4OBgsK665ORkpKamZrt+UcEEn4iIiEyRLBP8K1euAACcnJyk5FqXKlWqSMf//PNPjs6hPqKekpJisK76KP3Vq1c1yjw8PNClSxcAwKZNm/DgwQOt11+4cEFahNu9e3eUK1cuR31ViYmJkY5bt25tsO7evXvx4Ycfoly5crC3t4etrS1cXFzQs2dPHD9+PFfnL2hM8ImIiMgUyS7BT01NxePHjwEA5cuXN1hXvfzOnTs5Ok/NmjWl41u3bumt9/LlSyQkJEjfq4/8q2zevBn9+/dHUlISmjVrho0bNyI6Ohr//PMPVqxYgXbt2kGhUKBNmzZYvXp1jvqpolAosGfPHgCAt7c3WrRoYbD+uHHjkJ6ejgULFmDfvn3YuHEjWrdujR07dqBNmzYYPny43sW+RYEQAslxTPCJiIjI9Mhum0z1ZNrW1vATTNXnvKu/Ljs6d+6MkJAQAMD+/fvRr18/nfXeXcyq6zxOTk4IDw/H559/jilTpmDQoEEa5a1bt8bIkSPRu3dvmJvn7j3Z3r17pV18lixZkmX9kJAQTJkyReNnn332GX766ScMHToUYWFhsLGxydYORC9fvtRYxGxjY5OrbUkNSU9Ph0KhkM6TGp8KkaFch2HpZJnjRdTF2buxMFWMQybGQolxyMRYZGIslBiHTEU1Fjnpj+wS/OTkZOnY2traYF31ctWOONnVunVr+Pn54cSJE4iIiMDEiRPRsGFDjToJCQmYP3++xs907XITHx+PiRMnYuPGjXBycsLMmTOlXXPOnTuHlStXIiQkBGZmZujTp0+O+gkoY6Lar3/MmDEGFx737NkTbdu21Zi+pG7IkCH47bffsHfvXqxYsQLDhg0zuM4BAKpVq6bx/aBBgzB48OAcXUNWFAqFtHDY3NwcKY+V06bMbcxx7sI5Qy+VnXdjYaoYh0yMhRLjkImxyMRYKDEOmYpqLN7dZMUQ2SX46qPy6nPfdVEvV59Tn11btmyBv78/rl+/jg8//BDz589Hx44dYWNjgwsXLmDOnDmIjY2Fr68vTp48CUB7QW5qairat2+PyMhIVKhQAWfPntVIiD/55BMMHToUzZs3R9++fXH69Okc79s/fvx4XL9+HT4+Pvjvf/9rsK6joyMcHR0N1hk6dCj27t0LIQTWrVuH0NBQg/VjYmI0rju/RvABoEWLFrC0tMSji49wDufgUNYBrVq1Muq5irp3Y2GqGIdMjIUS45CJscjEWCgxDpmKaizi4+OzXbfo9NpI1B++lNXiV/XR/tw8tKlixYo4d+4cFixYgHXr1mHs2LFSmZWVFTp16oSIiAisWbNGSvBdXFw02ggNDUVkZCQAICgoSGu0G1Du2R8UFIQRI0bghx9+gI+PD3r37p2tPoaEhCAsLAx16tTBrl27svxUIzsaNWokHZ89ezbL+mXKlDG405CxmJubw9LSEpaWlkiLV64PsCtjV6R+OQuKeixMGeOQibFQYhwyMRaZGAslxiFTUYxFTvpSdD53MBIbGxtUqFABAPDkyRODddXLq1atmqvzlSxZEosXL8azZ89w9epVnDx5En/99ReeP3+OXbt2oVatWoiLiwOg3DJT9TRZlc2bN0vHqgdR6dKjRw/pOLsj+KtWrcK0adPg5eWFI0eOoHTp0jm4Mv3Ud/FRLWguaqQddEpzgS0RERGZlqLztsSIvLy88PjxYyQkJOD169d6t8pU35Kydu3aeTqnubk5PDw84OHhoVWm2mXH09NT62FW0dHRAJRTY5ydnfW2X7ZsWTg4OCApKQmXLl3Ksj9hYWEYPXo0ateujWPHjml9cpAXCoVCOrawsDBau8bELTKJiIjIVMluBB8A2rRpIx0bSoYvXryo8zXGlJaWhr///hsA0KtXL61y1eIN1ZN3DVEl1hkZGQbrrVu3DgEBAahVqxaOHj2a7eT+7t27CAoKyvINhPqofcWKFbPVdkFTJfi2ZQzvpEREREQkN7JM8Hv27AkzMzMAwNGjR/XWO3LkCADl6Lifn1+Oz3P+/HkcOHDAYJ0jR44gISEB1tbWGDhwoFZ59erVAShXRhua7vLo0SNpzYCrq6veeps2bcKwYcNQs2ZNHDt2TOezALp27YoRI0Zo/TwmJgazZ8/W2trzXX/++ad0XFQXsHIEn4iIiEyVLBP8GjVq4NNPPwWgTHh17aZz+/ZtHDt2DAAwffp0rYULV65cQc2aNVG5cmWcOnVK53mCg4Px0Ucf4dGjRzrLFQoFFi5cCACYPHmyzsRc9RRbAPjll1/0XlNERIR0/PHHH+uss2XLFgwePBju7u44duyYtBbhXVFRUbh+/brec2X1pmXVqlUAlJ8+DB061GDdwsIEn4iIiEyVLBN8QLl7jIuLC+7cuYOZM2dqlKWmpiIgIAAZGRlo2LChxu43KgsXLsSNGzcQGxuLGTNmGDzXjBkztKbYpKenY+zYsThz5gx8fX0xZ84cna+dPHmylIgHBgbiypUrWnWioqIwd+5cAICzszOmTp2qVSciIgIDBw6Era0tAgMDER0djRMnTuj8ymp3oVOnTund+nL+/PnSjkDTp09HrVq1DLZVWJjgExERkamS5SJbQDmNZc+ePejevTuWLFmCK1euoGvXrkhOTsaGDRtw+fJl1KtXD7t379b5xFv1haRZzY/fuHEjrl27hh49esDFxQV3795FREQEoqOj0atXL4SFhel9qq6zszMOHTqEHj164NatW2jcuDH69+8vPegqMjIS4eHhSE1NhZubG3bs2KE1Mv/XX39hwIAByMjIwJs3bzBgwIAs46MrMS9XrhwqVqyIR48eYcKECdixYwc6d+6McuXK4enTp/j1119x7tw5mJmZYfr06QgKCsryPIWFCT4RERGZKtkm+ADQtGlTREVFYenSpfjtt98wbdo0WFlZoWbNmli6dClGjRqld1/4WbNm4eLFi0hOTkZwcLDOOnPnzkWDBg1w4sQJ3Lp1S0p4K1asCB8fH6xatQr+/v5Z9tPb2xtRUVEIDw/Hrl27cODAAYSHhwNQ7iHv5+eHrl27YuDAgTofQvXgwQOjPE7Z09MT9+7dw8GDB7F3716cP38e33zzDRISEuDg4AA3NzeMGzcOI0eO1Nrus6hhgk9ERESmStYJPqBcQBsUFJTj0WZvb2/cuHHDYB0vLy94eXlpTQHKDXt7ewQEBCAgICDHr+3WrVu2duHJDktLS3Tu3BmdO3c2SnuFJSVOOQ2JCT4RERGZGtnOwSfTxhF8IiIiMlVM8El20pLTkJ6inLLEBJ+IiIhMDRN8kh3V6L25pTmsHXWvsSAiIiKSKyb4JDvq03NUDzwjIiIiMhVM8El2VAm+bWndW5MSERERyRkTfJIdLrAlIiIiU8YEn2SHCT4RERGZMib4JDtM8ImIiMiUMcEn2WGCT0RERKaMCT7JDhN8IiIiMmVM8El2Ul6mAGCCT0RERKaJCT7JDkfwiYiIyJQxwSfZSY5jgk9ERESmiwk+yQ5H8ImIiMiUMcEn2WGCT0RERKaMCT7JSkZaBt4mvAXABJ+IiIhMExN8kpWUOOUOOjADbEraFG5niIiIiAoBE3ySFdX0HNuStjC34H9vIiIiMj3MgEhWuAc+ERERmTom+CQr3CKTiIiITB0TfJIV7qBDREREpo4JPskKp+gQERGRqWOCT7KimqJjW8a2kHtCREREVDiY4JOscIoOERERmTom+CQrqn3wmeATERGRqWKCT7LCEXwiIiIydUzwSVY4gk9ERESmjgk+yQr3wSciIiJTxwSfZIXbZBIREZGpY4JPsiEUgiP4REREZPKY4JNspCelA0J5bFeaCT4RERGZJib4JBvp8ekAACsHK1hYWxRyb4iIiIgKBxN8ko20hDQAnJ5DREREpo0JPsmGagSfCT4RERGZMib4JBvpCUzwiYiIiJjgk2ykxXOKDhERERETfJINjuATERERMcEnGeEiWyIiIiITSPCfP3+O2bNnw8vLC46OjihTpgyaN2+OZcuW4e3bt0Y5x40bNzBhwgR4e3ujZMmSsLOzQ7Vq1fD5558jMjIyW20IIbBjxw50794dVapUga2tLezt7eHu7o4BAwbg5MmT2e7PlStXMHz4cFSvXh12dnaoWLEiPv74Y+zcuTNH17Vlyxa0a9cO5cuXh729PWrUqIFx48bh5s2bOWqnoHCRLREREZHME/zIyEh4e3sjKCgIlSpVQnBwMGbOnInExER88cUXaNasGR4+fJinc4SEhMDDwwOhoaFwdXVFUFAQQkND0bZtW2zevBnNmzfHnDlzDLaRmJiIjh07omfPnti1axd8fHwQHByM+fPnw9PTE5s3b4afnx9GjBgBhUJhsK21a9eiUaNGWL9+Pfz9/REaGoqhQ4fi/Pnz6N69O/r374/09HSDbaSkpKBLly7o378/rl+/jjFjxuC///0vGjdujBUrVqBevXr45Zdfchyr/JaeyASfiIiICEKm7t69K1xcXAQAMWHCBI2ylJQU4e/vLwCIhg0bipSUlFydY+nSpQLKZ6eKFStWaJWfPn1a2NraCgDiu+++09tOnz59pHb27dunVb5ixQqpfMGCBXrb2bt3rzA3NxcAxG+//aZRdufOHVGxYkUBQIwZM8bgdfXu3VsAEDVq1BBPnz7VKPvxxx8FAGFtbS3OnDljsJ3Xr18LAOL169cG6xlDWlqa+K/Xf8VczBVXd1zN9/MVZWlpaeL48eMiLS2tsLtSqBiHTIyFEuOQibHIxFgoMQ6ZimoscpJXyXYEf+rUqXj27BlcXV3x7bffapTZ2NhgzZo1sLCwwIULF7B8+fIct//48WPMnDkTAODj44NRo0Zp1WnZsiXGjRsHAPjqq68QGxurVef+/fvYtm0bAKB79+746KOPtOqMGjUK9evXBwAsXrwYaWlpWnVSU1MxevRoKBQK9O7dG926ddMod3Nzw9dffw0AWLFiBf766y+d13XgwAFEREQAAJYtWwYXFxeN8oCAAPj6+uLt27cYNWpUlp8oFCQusiUiIiKS6RSdGzduSFNIBg4cCBsbG6067u7u8Pf3BwAEBwdnOW3lXdu2bcObN28AAH379tVbb8CAAQCApKQkrFq1Sqv8/Pnz0nHTpk31ttOkSRMAwOvXr3Ht2jWt8k2bNuHevXsAgOHDh+tso0+fPnBycoIQAgsXLtRZR/XzKlWqoEOHDjrrqNqPiorCnj179Pa5oHGbTCIiIiKZJvjbt2+HEAIA0K5dO7312rdvDwB49uwZTpw4kaNznDt3Tjr28vLSW6927dqwtLQEAPz8889a5eoLfe3s9Cem9vb20nFSUpJWueoNjbW1NXx8fHS2YWtri1atWgEADh48iMTERI3yhw8f4uzZswCAtm3bwszMTGc7qripn7ewCSGkEXzb0raF3BsiIiKiwiPLBP/YsWPScb169fTWU017efc12fHixQvpuESJEnrrWVhYoGTJkgCA6OhovHr1SqO8bt260rGukfl3y8zMzODu7q5RlpGRgVOnTgEAPD09YW1trbcd1TWnpKRIybzK8ePHpTdGhuJWrlw5VKpUCUDO45Zf0pLSINKVfecIPhEREZkyWSb4V65cAQA4OTlJybUuVapUkY7/+eefHJ1DfUQ9JSXFYF31UfqrV69qlHl4eKBLly4AlNNsHjx4oPX6Cxcu4PfffwegnKdfrlw5jfKbN29KfVC/Jl0MXbMqbjlp59GjR4iLizNYtyAkv0wGAFhYW8DK3qqQe0NERERUeGSX4KempuLx48cAgPLlyxusq15+586dHJ2nZs2a0vGtW7f01nv58iUSEhKk79VH/lU2b96M/v37IykpCc2aNcPGjRsRHR2Nf/75BytWrEC7du2gUCjQpk0brF69Wuv16n3PyzUbq53CoErwbcvY6p1aRERERGQKZJfgqyfTtraG52Krz3lXf112dO7cWTrev3+/3noHDx7U2z8VJycnhIeH48iRI3BxccGgQYPwwQcfwMvLC2PGjIG3tze2bNmCw4cPw9nZWev1xrrmgopdfkiJU36Cwek5REREZOosC7sDxpacnCwdG5qL/m65akec7GrdujX8/Pxw4sQJREREYOLEiWjYsKFGnYSEBMyfP1/jZ6oFt+ri4+MxceJEbNy4EU5OTpg5c6a0a865c+ewcuVKhISEwMzMDH369NF6vbGuOb9i9/LlS41dimxsbHTubJQXic+UC4ZtS9nmeEckuUlPT4dCoWAcGAcJY6HEOGRiLDIxFkqMQ6aiGouc9Ed2Cb76yLL63Hdd1MvV59Rn15YtW+Dv74/r16/jww8/xPz589GxY0fY2NjgwoULmDNnDmJjY+Hr64uTJ08C0F6Qm5qaivbt2yMyMhIVKlTA2bNnUa1aNan8k08+wdChQ9G8eXP07dsXp0+f1tq331jXnF+xU78eABg0aBAGDx5s8DU5FfuX8hkDb/AGp0+fNmrbxY1CoZC2TDU3l92HdNnGOGRiLJQYh0yMRSbGQolxyFRUY6FrF0V9ZJfgOzk5ScdZLX5VH7FWf112VaxYEefOncOCBQuwbt06jB07ViqzsrJCp06dEBERgTVr1kgJ/rsPjgoNDUVkZCQAICgoSCsZBpR79gcFBWHEiBH44Ycf4OPjg969e+vse16uOb9iFxMTo/HGJj9G8E//cRo3cROV3CtJW4GaKtU7/BYtWuj8xMhUMA6ZGAslxiETY5GJsVBiHDIV1VjEx8dnu27R6bWR2NjYoEKFCnj8+DGePHlisK56edWqVXN1vpIlS2Lx4sVYtGgRrl+/jmfPnsHBwQE1atSQklrVLjMWFhbw9PTUeP3mzZul43efPquuR48eGDFiBABg+fLlGgm+et/zcs3GauddZcqUMbiVqDGkvk4FADg4OxSpX8bCYm5uDktLS5OPBeOQibFQYhwyMRaZGAslxiFTUYxFTvpSdHptRF5eXnj8+DESEhLw+vVrvVtlqm9JWbt27Tyd09zcHB4eHvDw8NAqU+2y4+npqfUwq+joaACAo6OjzgW0KmXLloWDgwOSkpJw6dIljbL3338ftra2SElJwf379w3209A1qz+wK7vtVKxYEaVLlzZYtyCoFtnaluFDroiIiMi0FZ2JRUbUpk0b6fjdZFjdxYsXdb7GmNLS0vD3338DAHr16qVVrprbpXrAlCEKhQKA8sFW6iwsLNC6dWsAyn32Dc2fV12zra0tWrRooVHm7+8vbTFpKG5Pnz5FbKxyznt+xS2nkuOUU4bsSnMXHSIiIjJtskzwe/bsKSWqR48e1VvvyJEjAJSj435+fjk+z/nz53HgwAGDdY4cOYKEhARYW1tj4MCBWuXVq1cHoFw4odq/X5dHjx5J895dXV21yj/99FMAysWv+haZpqSk4MyZMwCAjh07wtHRUaO8UqVKUtJ/7NgxvW86VHFTP29hS3yk3EUHWb9PIiIiIpI1WSb4NWrUkBLPTZs26RzRvn37No4dOwYAmD59uta8pitXrqBmzZqoXLkyTp06pfM8wcHB+Oijj/Do0SOd5QqFAgsXLgQATJ48WWdirnqKLQD88ssveq8pIiJCOv7444+1yj/77DOp/bCwMJ1t/Pzzz9ICjZkzZ+qsM2vWLADAvXv3cPjwYZ11VO3XqVNHo/+F5eLai4j9U/mJwsEvDuLi2otZvIKIiIhIvmSZ4ANASEgIXFxccOfOHa1kNjU1FQEBAcjIyEDDhg01dr9RWbhwIW7cuIHY2FjMmDHD4LlmzJihNdqdnp6OsWPH4syZM/D19cWcOXN0vnby5MmoUKECACAwMBBXrlzRqhMVFYW5c+cCAJydnTF16lStOjY2NlixYgXMzc2xbds27N69W6P83r17+PLLLwEAY8aMQePGjXX2p1OnTtIC3vHjx2s9eTcsLAzHjx+HtbU1Vq5cWejbR8U/iMfegL2ZPxDA3hF7Ef8g+yvNiYiIiORElotsAeU0lj179qB79+5YsmQJrly5gq5duyI5ORkbNmzA5cuXUa9ePezevVvnU1tV892BrOfHb9y4EdeuXUOPHj3g4uKCu3fvIiIiAtHR0ejVqxfCwsL0PhnW2dkZhw4dQo8ePXDr1i00btwY/fv3lx50FRkZifDwcKSmpsLNzQ07duyQ3hC86+OPP8aPP/6IMWPGoGfPnhg4cCCaNm2Ke/fu4ccff8SzZ8/Qt29fLF261OD1rFu3DomJidi3bx/q16+PgIAAuLi44NSpU9i2bRscHBywbt06tGzZ0mA7BeHFjRcQCs1/H5Eh8PLmS5SonL879xAREREVRbJN8AGgadOmiIqKwtKlS/Hbb79h2rRpsLKyQs2aNbF06VKMGjVK7xNbZ82ahYsXLyI5ORnBwcE668ydOxcNGjTAiRMncOvWLQQFBQFQ7izj4+ODVatWwd/fP8t+ent7IyoqCuHh4di1axcOHDiA8PBwAMotJv38/NC1a1cMHDhQa978u4YNG4ZmzZph6dKlOHr0KMLDw1GqVCk0bNgQAQEB6N69e5b9sbOzw969e7FlyxasXbsWoaGhSExMxHvvvYeRI0di4sSJeP/997NspyA413CGmbmZRpJvZmGGMu+XKcReERERERUeWSf4gHIBbVBQkJR8Z5e3tzdu3LhhsI6Xlxe8vLz0zmfPCXt7ewQEBCAgICDPbXl5eemdh58T/fr1Q79+/fLcTn4qUbkEOq/ujL0j9kJkCJhZmKHzj505ek9EREQmS/YJPslfg6ENULVtVZzaeQqtu7VGmaocvSciIiLTJdtFtmRaSlQugVL1SnHknoiIiEweE3wiIiIiIhlhgk9EREREJCNM8ImIiIiIZIQJPhERERGRjDDBJyIiIiKSESb4REREREQywgSfiIiIiEhGmOATEREREckIE3wiIiIiIhlhgk9EREREJCNM8ImIiIiIZIQJPhERERGRjDDBJ1lITU3F+vXrkZqaWthdKXSMhRLjkImxUGIcMjEWmRgLJcYhkxxiYSaEEIXdCZKn+Ph4lCxZEq9fv0aJEiXy9VwvX76Es7MzXrx4gTJlyuTruYo6xkKJccjEWCgxDpkYi0yMhRLjkKmoxiIneRVH8ImIiIiIZIQJPhERERGRjFgWdgdIvlSzv+Lj4/P9XKpzxMfHw9LStP9bMxZKjEMmxkKJccjEWGRiLJQYh0xFNRaqfmVndj3n4FO+efDgAapUqVLY3SAiIiKSjfv376Ny5coG6zDBp3yjUCjw8OFDODk5wczMrLC7Q0RERFRsCSGQkJCASpUqwdzc8Cx7JvhERERERDLCRbZERERERDLCBJ+KtefPn2P27Nnw8vKCo6MjypQpg+bNm2PZsmV4+/ZtYXevwEVHR2PGjBmoV68eypYtCzs7O1StWhWtW7fGl19+iaNHjxZ2F/NMCIHly5fD0dERZmZmOHHiRLZed/HiRcyYMQOtWrVC2bJlYWVlhdKlS6Nhw4aYMmUKbty4kb8dzwe5jQWgnMP55ZdfolGjRihZsiSsrKzg7OyMVq1a4dtvv8WrV6/yrd/G8vz5c6xcuRLdunWDm5sbbG1tYW9vj2rVqqF3797Ys2dPthajvSspKQnVqlWDmZkZzMzMcOfOHeN33khevXqFzZs3Y8iQIahfvz5KlSoFS0tLlCpVCo0bN8aXX36Je/fuZauts2fPol+/fnB1dYWtrS2qVKmCXr165ej/VWEyZiwAYPfu3ejbty/c3d1hb2+P0qVLw8PDA927d0doaChiYmLy8Wryx9SpU6X/13PnzjVYV473THU5iQVQDO+ZgqiYOnfunKhYsaIAINq3by+WL18uQkJChJeXlwAg6tevL2JjYwu7mwVmwYIFwtraWlSuXFlMnjxZ/PjjjyI0NFT069dPWFpaCgDC2dm5sLuZJzdv3hStW7cWAKSv48ePG3xNTEyMaNWqlVS/ZcuWIjAwUISFhYmgoCBRu3ZtAUBYWVmJkJCQgrkQI8hNLFR27NghHB0dBQDh7u4uZs2aJVatWiWmTp0qypcvLwCIihUrivPnz+fvReTB5MmTha2trQAgXFxcxIQJE8QPP/wgli9fLv7zn/8Ic3NzAUC0adNGvHjxIkdtT5gwQSOuMTEx+XMReXTmzBlhY2MjAAgzMzPRo0cPERwcLFauXCkmT54sXFxcBABhb28vIiIiDLY1b948YW5uLuzt7cX48ePF6tWrxcSJE6X/J1OnTi2gq8odY8bi4cOHok2bNgKAaN26tfjmm29EWFiYWLhwoahfv770/2Ly5MkFdHXGceHCBWFhYSH1PzAwUGc9ud4z1WU3FirF8Z7JBJ+Kpbt370o37AkTJmiUpaSkCH9/fwFANGzYUKSkpBRSLwvOtGnTBADRp08fkZSUpFV+8OBBYW5uXmwTfIVCIb7//nvh4OAgSpQoIZo1a5btpPbAgQNS3aVLl2qVp6eni379+kl1Vq1alU9XYRx5iYUQQly+fFlYWVkJAMLf31/r/8vz58+Fh4eHlDi/fPkyn64kb1R/VH19fcWrV6+0yvfs2SP9AW/RooXIyMjIVruRkZEaf/iLcoKv+r9tYWEhfv/9d63yuLg4UadOHQFAWFtbi6tXr+psZ+XKlQKAsLW1FX/++adG2cWLF4WDg4MAUKSTOWPF4vnz58LT01NYWlrqfSPQv3//Ypfgp6Wlabw5MZTUyu2e+a6cxEKI4nvPZIJPxVKvXr0EAOHq6qozgb9586b0R3rx4sWF0MOCo7oZ165dW7x9+1ZvvQ4dOoiaNWsWYM+MJzAwUAAQHTp0EPfu3ZO+z0mC3759e711EhMThbOzswAgSpUqJZKTk418BcaTl1gIIcSQIUOk+v/73/901tm1a5dUZ9GiRUa+AuMoX768sLS0FHfv3tVbZ8SIEdJ1bN26Ncs23759K7y9vYWjo6M0glscEvyhQ4fqrXPw4EHpOiZNmqRV/vTpU2lkcvr06TrbUP0fs7W1Fffv3zda/43JGLEQQojevXsLAOLrr7/W2050dLRwdnYWc+bMyXO/C8q3334rAIhPPvkk2wm+XO6Z78pJLIQovvdMzsGnYufGjRv45ZdfAAADBw6EjY2NVh13d3f4+/sDAIKDg5Genl6gfSwoQghMmDABADBjxgxYWVnprXvw4EFcv369gHpmXEIIhIWF4eDBg7l+tsInn3yit8zBwQEdOnQAoJzH+8cff+TqHAUhr7E4f/48AMDOzg516tTRWadJkybS8f/93//lrqMFoF69enB1ddVb/p///Ec63rNnT5btLVq0CFFRUfj666+LxTM8SpUqhaZNm6Jnz5566zRs2FA6vnbtmlZ5aGgoEhMTAQDDhg3T2cawYcNgZmaGlJQULFmyJI+9zh/GiMXZs2cREREBJycn6b6qS40aNfD8+XPMmzcvT30uKLdu3cK8efPQuHFjjBs3Ltuvk8s9U11uYlFc75lF5/FcRNm0fft2aeFcu3bt9NZr3749jhw5gmfPnuHEiRMG6xZXp06dwvXr12Fubo4uXboUdnfyzdy5c3P9LIVGjRrhwIEDaNy4scF6bm5u0nFOFuIVtLzEAoC0+NzW1lZvO/b29tJxUlJSrs+Vn7Zu3QpnZ2eDdXLybxodHY2goCA0adIEY8aMwZAhQ4zSz/zUrFkz/PnnnwbrqP9b6hoM2b59OwCgatWqeP/993W2UblyZdSqVQvXrl3D9u3b8d///rfIPdvEGLFYs2YNAOXfDjs7O+N2sBAFBAQgLS0Na9asQVxcXJb15XbPVJfTWADF957JEXwqdo4dOyYd16tXT2+9+vXr63yNnKj+OLu5uaFkyZLSz8X/fxiGkMljLvKSTJQtWxYdO3bMMhlU3wHBwcEh1+fLb3lNrOrWrQsAiIuLw5MnT3TWUR/drFGjRp7Ol1/8/f3h7e1tsE52/02FEBg+fDgyMjIQFhaW5QNkihPV6CMAtGnTRqMsNjZW+lTP0L0UyLyfPnjwoNjunmIoFgqFAr/99huAzN8RldTUVLx58yb/O5gP1q5di2PHjmHy5Mla16WP3O6ZKrmJBVB875nyuYuRybhy5QoAwMnJSSOpfZf6R+z//PNPvverMPz1118AAFdXVygUCqxduxbNmzeHtbU1SpQoAWtrazRr1gwrVqxAWlpaIfe2aFNteWdmZoaWLVsWcm/yz6RJk2Bpqfzw9uuvv9ZZR/VzCwsLvdM2igP1bQxbt26tt97q1atx6tQpTJ06Ve9H8MVRSkoKZs6cCQCoU6eO1r+l6l4KIMspScX9fppVLG7cuIHXr18DUN5Pnzx5gokTJ0pbhjo4OKBMmTLo2bNnlp8UFBWPHz/G1KlT4e7ujsDAQKO3X5zumXmJRXG9ZzLBp2IlNTUVjx8/BgCUL1/eYF318qK8j3VeXL58GYBy9OnDDz9EQEAAPD09sXXrVuzatQuTJk1CVFQUxowZg9atW+P58+eF3OOi6fXr19Je3126dCkW869zq2nTptizZw/KlSuHZcuW4fPPP8eZM2dw7949HD9+HF26dMHu3bthb2+P9evXZzmyW5SpRmRtbW0xePBgnXUePnyI6dOno0aNGpg9e3YB9s74UlNT8eTJE1y9ehVhYWFo2LAhzp49i169euGPP/7Qmnaifl+U2/00p7FQ3UsB4NKlS/Dw8MDPP/+MMWPGYM+ePdi0aROaNm2KHTt2oHnz5ggKCiroS8qxsWPHIi4uDj/++KPRpxwVt3tmXmJRbO+ZhbjAlyjHnj17Jq1U9/LyMlg3OTlZqlutWrUC6mHBSUpK0tjmC4D4+eeftepFRkZK+4W3bdtWKBSKQuitceV055ishIaGZrl9XlGV21i8fv1aYy951VeJEiXE9OnTxY0bN/Kv0wXgyZMn0rV99dVXeut169ZNZ+wGDRpU5HfRede6des0/i1dXV3F5s2b9f7Oh4SESHWz2m1MtZUmADFv3rz86L5R5TQWP/zwg0b9atWqiSdPnmjVmzRpklRnw4YN+X0ZubZz504BQAwePFjj58ePH8/WzjFZKU73TGPForjdMzmCT8VKcnKydGxtbW2wrnp5cZ0/aUh8fLzG9506dcKnn36qVa9x48YYPXo0AODo0aPZ2k3ElDx9+hQLFiwAACxcuBAeHh6F3KP8d+DAAdSvXx9LlixBq1atsHbtWuzfvx9r165F48aNsWLFCixatAiPHj0q7K7m2tSpU5GSkoIGDRrgq6++0lln+/bt2LlzJ4YOHQo/P7+C7WA+6NChAw4fPoydO3ciJCQEzs7O6N+/P2rWrIn9+/dr1Zfz/TSnsXj3fvrtt9+iXLlyWvW+/vprVKxYEYBy57LU1NT8uYA8iI+Px5gxY+Di4pIvux4Vp3umsWJRLO+Zhf0OgygnOIKf6cGDBxqjCD/99JPeupGRkVK9Tz/9tAB7mT+MNYKfnp4uOnToIADlQ8KK46cbOY3F9u3bpae8Tps2TWedyZMnCwCifPny4sqVK0bucf7btGmTACDKlSund/Q9Li5OVKhQQZQvX17ng2mK4wj+uxQKhZg6daoAlE93Xb9+vUa5nEfw35VVLIKCgqTrs7a2Nriv++jRo6W6+/bty++u55jq+Q9btmzRKsvrCH5xu2caIxbF9Z7JEXwqVpycnKTjlJQUg3XVR6fUXycX716TocWB3t7e0u4rkZGR+dqv4mT8+PE4dOgQ2rZti/Xr1xe5rf+M7c2bNxg5ciQUCgXc3Nz0Lhj79ttvpYWGvXv3hkKhKOCe5t6pU6cwfPhwlChRAvv370fVqlV11psyZQoeP36M0NBQlC5dumA7WUDMzMwQHByMBg0aQAiBUaNGSWuYANO6n+YkFjVq1ICtra3ettR3YClq99M//vgDq1evRseOHdG3b1+jt1+c7pnGiEVxvmcywadixcbGBhUqVAAAvdtVqaiX6/sjX5w5OjpqfGxuKEmxsbGBo6MjAOXHqwR8+eWXWLFiBfz9/bFr1y6d+2LLzaFDh6SF1l27doWFhYXOepaWltJzFf755x8cP368wPqYF5GRkejSpQusra1x6NAhjQcbqTt58iR++ukn+Pr6om3btnj+/LnWl/rUi7i4OOnn2d07u6gwMzND//79ASiT9K1bt0pl6vdFU7ifGoqF+paQWb3hK1u2rHRclO6nb9++xfDhw2FtbY0FCxbo/H+t2ikIUCav6mVZ7bRWnO6ZxopFcb5n8kFXVOx4eXnh8ePHSEhIwOvXr/VulfngwQPpuHbt2gXVvQJjbm4ODw8P/O9//wOALG/O4v/viS+nPb5za/bs2fj222/h6+uLvXv3ajykRM6io6OlY/WH1OiinsRdunQJbdu2za9uGcWFCxfQoUMHCCHw+++/o1mzZnrrHj9+HEIInDx5Ei4uLlm23aBBA+nYzc2tWOwio+6DDz6QjtV3i/Hy8pKO79+/b7ANudxP9cVC/Zqyey8Fitb99OHDh9JzDbJ6SBUAhISEICQkRPr++PHjeteiFLd7prFiUZzvmUzwqdhp06YNjhw5AkD5S+Tr66uz3sWLFzVeI0dNmjSREvzHjx+jVq1aOuu9efNGerpepUqVCqx/RdHcuXMRFBQEHx8f7Nu3r8j/oTIm9WREZPEQNPWPmDMyMvKtT8bw999/o3379khPT8ehQ4cMJvcAMHDgQLRq1cpgnZCQEPz+++8AgPDwcGmbyKL0hNMDBw7A3t5e7z1QRX3UMT09XTp+7733ULNmTURHR+PSpUsG21DdTytXrlxkHuSjLq+x8PT0hKOjIxITEzWm7ujy7Nkz6bgo3U8rVKiAw4cPG6zzv//9D1OmTAEAfPbZZxg4cKBUpu/hT8XxnmmsWBTneyYTfCp2evbsiVmzZkEIgaNHj+q9oaveBJQtW1YWO2To0rNnT+nx6ufPn9d7nX///bd0c8rqD6CcLVy4EPPmzUPLli2xf/9+nU9fbNSoEbp06ZIvD4YpbNWrV5eOb926ZbCuermrq2u+9SmvoqKi0L59e7x9+xYHDx5EixYttOrMmzcPe/bskR4MV716dY1Y6BIeHi4dt2zZskhOSxk1ahQcHR01Hlily82bN6Xjd/8tP/30UyxcuBB37tzB7du3dcYlNjYW//77LwDlPacozrvOayysra3RpUsXbN26Fffu3cPTp0917qIDKD8tUilK91NbW1u0a9fOYB3VA5sA5e9BVvWL6z3TWLEozvfMovPZElE21ahRQ9oOctOmTXj79q1Wndu3b+PYsWMAgOnTp2v8IstJu3btpJGG8PBwvSMMmzZtko5HjRpVIH0raoKDg/HVV1+hefPmOHDggLQm4V0XLlzQeAKqnLRp00Yafdu1a5feLf5SUlKwa9cuAMr1G1n9oSwsV65cQdu2bZGcnIz9+/frHZWPiYnRSMrk5Nq1awanDAkhsHHjRul71TxhlfHjx0u/C2FhYTrbWLt2LYQQsLW1xeTJk/Pe6XyS11hMmjQJZmZmEEJo3DPVJSYmSg9Qq1u3rs43lHLBe2bxvmcywadiKSQkBC4uLrhz5470+HGV1NRUBAQEICMjAw0bNsTYsWMLqZf5z9zcHCtWrIC1tTWioqKkvYnV/f7771i7di0AYOLEiRrziU3FkiVLMGPGDLi4uGDGjBm4cOECTpw4ofNLzkqXLi39vjx69Ajjx4/XelOoUCgwZswYaVHllClTNBYVFhVXr16VFshOmTIFCoVC779pVlMuijOFQoHPPvtM5zUqFApMnDgR58+fBwD07dsXTZs21ahTrlw5ae7xd999J9VV+d///odFixYBABYsWIDKlSvnx2UYRV5j0ahRI+mZIQsWLNCYo69qY9y4cXjx4gVsbGywevXqIvlphjHwnqlUnO+ZZiKrSUVERdS5c+fQvXt3PHr0CB06dEDXrl2RnJyMDRs24PLly6hXrx727dtXpOZI5pedO3di4MCBSEhIQLt27dC1a1fY2trizJkzCA8PR0ZGBr744gssWbJE7y4ARZ36lIlff/1VGkWbOXOm9KCV8uXLo3379hqv27lzJ7p3756jcw0aNAjr16/PW4fzUW5jAShHMadNm4YlS5ZACIG6deuid+/eqFChAh4/foyIiAhpXcfYsWMRGhpapBYSAsrRsmrVquU4cc/qz93OnTuRmJgIAFi9ejX++OMPAMrEV/UHu0WLFllO7ykon3zyCXbv3g0AsLe3R58+fVCrVi04Ozvj3r17+Pnnn3Ht2jUAynUHq1ev1rvzybx58zB//nzY2dlh2LBhqF27Nv7991+sWbMGCQkJmDJlisYixKLGWLHIyMjAsGHDsH79etjb22PIkCGoV68eXr16ha1bt+LChQsoXbo0IiIidP5+FUVRUVGIiooCoPyUQ7XVY/fu3dGjRw8AmvcLOd4zVXIaC6AY3zMLbst9IuN79uyZmDVrlvD09BQODg6iVKlSokmTJmLp0qUiNTW1sLtXoO7fvy+mTJkiPD09haOjo7CzsxPVq1cXgwcPFpGRkYXdvTyD2kO99H35+vpqve67777L1mvVvwYNGlTg15cTuY2FukuXLokxY8aIunXrihIlSggLCwtRokQJUadOHTFq1Chx/vz5grmYXIiLi8vxv2l2/ty5ubll2ca6devy/wJz4PLly2L+/Pmiffv2okqVKsLOzk5YWlqK0qVLiwYNGoixY8dm+/f/zJkzonfv3uK9994T1tbWolKlSuI///mPOHbsWD5fhXEYMxaHDh0SPXv2FJUrVxbW1taiZMmS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", + "text/plain": [ + "<Figure size 800x600 with 1 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "perfplot_mpl.plot_metric_epochs(\n", + " \"eff\",\n", + " gnn_metrics,\n", + " CONFIG,\n", + " \"gnn\",\n", + " \"Edge Efficiency\",\n", + " color=perfplot_mpl.partition_to_color[\"val\"],\n", + ")\n", + "perfplot_mpl.plot_metric_epochs(\n", + " \"pur\",\n", + " gnn_metrics,\n", + " CONFIG,\n", + " \"gnn\",\n", + " \"Edge Purity\",\n", + " color=perfplot_mpl.partition_to_color[\"val\"],\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Evaluate model performance on sample test data\n", + "\n", + "Here we evaluate the model performace on one sample test data. We look at how the efficiency and purity change with the embedding radius." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Load 1000 files located in /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/test/velo-sim10b-nospillover\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "0b5c1718765a4379b0a98e86f0baacde", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n", + "WARNING:Unable to obtain driver using Selenium Manager: /scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/selenium/webdriver/common/linux/selenium-manager is missing. Please open an issue on https://github.com/SeleniumHQ/selenium/issues\n" + ] + }, + { + "data": { + "image/png": "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jOZMLqTOJk9/FpXCwiub0thjMoCH9cPkZV0m3f+YwMTItwnzrERFfz9aBwaguTIqRYjbodVqefvtt+natSvffvstn3zyiW20EYC7uzuPPfbYXStglVUajabcFHYMBgNr1qyhXbt2zg5FCCFKXWnlV1LAEkIIIcR9yYKBXWcfITP/IArARaUmxdARXLRwZaRRXb9gfHIa8v6u4+B/CbQaanl783u71lR2dXXuDYh7XlRUFBMnTgQgLS2NlJQUfHx8CAgIQKVSOTk6cSeZzWaefPJJatas6exQhBCiVJVmfiWLuAshhBDivpSZ9zdZuoO2r/3cHqCKT03r4z0LvFrjEZ717cuBbD+oFASuLgCcyMpi5ukzTopalFf+/v5ERUURHBwsxatyyMXFRYpXQoj7QmnmV+ViBNa4ceMYO3ass8O4b/30008sWbKEhx9+mHfeeYejR48ydepUcnNz+emnn+7oe+Xk5PD111+zf/9+3N3dadeuHX379kWpLL4WazQaWbp0KVu3biU1NZWoqCj69+9vSyK+/fZblixZUuz5q1evxsPDg8zMTBYuXMi+ffvIz8+nVq1aDBgwgIiIiDt6j0IIIe6O5NwU8grAwwXMFvBxrYdK44HKouLbFkOopG7AY1t/By8XMJttTw0BzufmOjHyu0PyKyGEEELcqtLMr8pFAWvMmDGMGTPG9rVC1qW4awwGA19//TXdu3ene/fuAPzwww/4+PgwatSoO/5+o0ePJisri4EDB5Kdnc3ChQvJy8tjyJAhxZ7zySefsHv3bvr06UOVKlXYsmUL77zzDjNnzqRatWo89NBDRe6gsG3bNtLT03Fzc8NisTBu3DgSExPp168fnp6erFq1infeeYf58+dToUKFO36vQgghSpc5M5a4NKhVCRSARhNJh/DaTA9/mca+1UjTGzjxdBfOZGdzKjuL09nZHM/K5nh2Dq6q8j+IXfIrIYQQQtyq0syvykUBSziPXq/HbDbTokULgoODAevWyLVr1yYqKuqOvtfhw4c5deoUM2fOpHbt2gAolUoWLFhA37598fT0dDgnNjaWzZs3M2rUKNuimS1atGDkyJEsX76ckSNHUrNmTYch3cnJycybN49JkyahVCqJj4/nyJEjjBs3jpYtWwLQqFEjevTowc6dO+nWrdsdvVchhBCly5L0BzX3TeBS0MMcz/qTcB/QaiN5t9HVn+f+Wg3+Wg01PT1IzfDiYFIO3jkFBGXkcijJTEptAwGe5WOBaSGEEEKIf6u086vy//hQ/Cvp6elMmDCB559/nh49ejBx4kQuX74MwNmzZ21b4I4YMYIJEybQq1cvoqOj+fnnn+natesdjWXnzp0EBgbailcAbdq0QafTsW/fviLPOXPGOoe2YcOGdsebNWvGrl27in2vL7/8kscee4y6desC1pFmgF2RzN3dHa1Wi16vv70bEkII4RSW5N2YtvXGZMjikWwjTQLGklkA3q7FP3hpG+rCX/kGTiqgwNuDHFd3/vvHZbIM5rsYuRBCCCFE2XQ38ispYIli6XQ6XnvtNRISEhgyZAhDhgzh1KlTDBs2DJ1OR3h4ON988w1gndr35ptv8uWXX1KzZk06d+7Md999d0fjSUlJoWrVqnbH/P398fT0JDU1tchzfH19AeuIqmslJSWRl5eHTqdzOOfvv//mwIED9O3b13YsLCyMyMhIFi9eTFJSErm5uSxcuBCVSsWDDz74L+9MCCHE3WTaNQSLLhULYMw6yoPJyTSL/BWtumKx54R5qPnqscqgAIUKNO5qjuSaGLTz8t0LXAghhBCijLob+ZVMIRTFWr16NTqdjilTpthGHtWtW5eXXnqJbdu28fjjj+Pn5weAt7c3Hh4eAGg0GlxdXW3FozslPT3d9n7X8vLyIi0trchz6tSpQ3BwMLNmzWL48OEEBASwa9cu1q5dC0BWVhau123TuWjRIrp164aPj4/tmEKhYNKkSfTr149evXrZjo8fP96hqCaEEKUtJycHyzULXt4PtFot2dnZtq8VCkWRU8dLQhHQFEvWaQAsgOHcYiIrPwI+QcWeY8gzEL77BP9Xvzo/HEnDYrb2/z+pMgpXCCGEKA8kvyr7+ZUUsESxDh8+TP369TGbzWRlZQHWaXMhISEkJCTc9nVXrFjBvHnzin19/PjxtGjRwuG4xWIpcgFZi8WC0Wgs8lqurq6MGzeOiRMn0r9/fwCCgoJ46qmnWLlyJd7e3nbt9+/fz5kzZ/joo4/sjmdlZfHBBx8QGhrKiy++iJubG7///jvTpk3j448/tpvWKIQQpc1iseDl5eXsMO4qT09Pu98B1yZbt0r10BdYslMwx21AoVWAUoHhz5fQ+EeBX4Miz9FlF7Bk+G806FWXv9u25kR8Fu5KBZObySYeQgghRHkg+VXZz6+kgCWKlZSURGxsLH/++afDa9WrV7/t63bu3Jk2bdoU+3pxI7f8/PzILWJbzdzc3BvuAhgREcH8+fNJSEjAaDRStWpVfv75Z9zc3BxGX61Zs4YWLVo4xLBq1SouXLjADz/8YPuh1qhRI0aMGMHs2bOZOXNmse8vhBCijFG5oG73LQULHsGSl44yOASFtwfmuF9QFpNgpcemo3F15+DcPdS5mMWFTo8yvYkP7Su73eXghRBCCCHKoLuQX0kBSxTLx8eHrl278vrrr9/R63p4eNimG96KwMBAdu/ebXcsMzOT7OxsAgICijzHaDRy8eJFgoODqVKliu346dOnqVatml3bjIwM9u7dywcffOBwnaSkJCpWrOhQkY+KimLDhg23fC9CCCGczM0bi++zGP5YiSIjBFWlCJSWyqhMW1FWDEPh5YfC0w/zuctYftxKSlQUZrMJjwpBZK05wOgmVWlfubWz70KIUmM2m1myZAm///47ubm5NG7cmNdee81h9Pr1duzYwbJly4iLi6Nq1ap069aNjh072l43mUysWLGC9evXk5qaSkhICC+++GKxDzcPHDiATqez7QIthBCiDCvl/EoKWKJYUVFR7NmzB4PBgEZj3cYyOTmZ0aNH07dvXx5++OHbuu7tTiFs3bo1q1at4vz587bi0549e9BoNEW2LzR06FA6d+7M4MGDAWuhavfu3QwYMMCu3R9//IFSqaR58+YO1wgLC2P79u0O63AdPXqU8PDwG96vEEKIMsqYjzk7DbL3Yjq113pMqcBiNOD+zkwUyRHkDZyHpoqRy89b12+wWCz4+wYR7q51YuBClL758+ezevVqXnrpJXx9fVmyZAnDhw9nzpw5RS7pALB+/XpmzJhBz5496du3L8ePH+ezzz7DbDbz+OOPA/Ddd9+xfPly+vTpQ7Vq1dizZw8ff/xxkfmf2WxmwYIFNGzYUApYQghxryjF/EoKWKJYzz33HOvXr2fEiBF0794dnU7Hzz//TF5eHo0aNbrt697uFML69etTu3ZtJk2axKuvvkp2djZz5szhySeftI2Mys7OZubMmTz44IO0b98etVrN448/ztq1awkJCcHLy4tly5YRFBTEo48+anf9f/75h8jISLRax2+azp07s2rVKkaOHGm3BtbRo0eZPn36bfeFEEII51EGhFz94soHcrNR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cdra2vIP//APOeaYY7b7XKM1WNSH9S+W9S+W9S+W9R++vnG9efg3fxjRNRtNDVY9VavV7X6fgx3RsHDhwrzxjW/M6aefnttuuy1XXnll/vVf/3W7z3V0dKSjo2O7r5dKpVSr1ZErfAsrVqzIrFmzBv21iRN+n4mTJw756+y5Ha0/tWf9i2X9i2X9i7W7619UT1zXAGs4DVZ/f3+6uroybdq0fOELX8jdd9+dD33oQ/nKV76y3WGkjdZgUXvWv1jWv1jWv1jWf/i6u3py0we/nnWrNuTK//7JLPxB5x4HSaOtwaqn6dOnZ+nSpQPvV69enRkzZmz1ma6urvzqV7/KZZddlnHjxuX1r399vvjFL2bDhg2ZNGlSvUveJUYIAYCkzmdgDafBampqypQpU/Lyl788TU1NefGLX5yenp6sX7++nqUCALvp7190SVYvW5vent78+s7788EzPlJ0SWPazJkz097envvvvz9Jcvvtt+fEE09MkjzxxBN55pln0tbWlmnTpg2cPfrTn/40++yzTyZOnFhY3cNV6a6k3FouugwAoGB1DbCG02Alyfz58/P9738/SXLnnXdm0qRJmTp1aj1LBQB2w/o1G/LMpq6tvrby4VUFVbP3uOSSS3LttdfmbW97W6ZPn55TTz01SbJgwYLcddddSZIPfOAD+epXv5o3vvGN+eIXv5iOjo5RMWLpKYQAQFLnEcLk2QZr4cKFqVQqOeaYY7ZqsM4444yceuqpOe+883LFFVfkm9/8ZiZOnDjomCAA0HgmT5+UE1/zwnz9E99Jf281rRNa8tcXnF50WWPenDlzcs0112z39WuvvXbgvw877LBBP9PoKt29KbcKsABgb1f3bmA4DdakSZNy2WWX1bMsAGCE/N1H/za9lb5885P/nnd89C057eyXFl0So5gzsACApM4jhADA3uGCa89LU6kpp51zatGlMMpVeioptzgDCwD2dgIsAKAmWsa3pOeZnqLLYJRziDsAkAiwAIAaaWkrp6erUnQZjHIOcQcAEgEWAFAjreNb0m0HFnvIGVgAQCLAAgBqxAghI8FTCAGARIAFANSIEUJGghFCACARYAEANWKEkJFghBAASARYAECNtLS1pKdLgMWe8RRCACARYAEANeIMLEaCHVgAQCLAAgBqxAghI6Gnu5IWO7AAYK8nwAIAasIh7owEO7AAgESA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t37L9V+/fn3+9V//NYsXL864cePypje9Ka94xSuKLn1Me/TRR/NP//RP+eQnP1l0KYww/VX96K+Kpb8qlv6qWPqrxjQa+ysBFgAAAAANzQghAAAAAA1NgAUAAABAQxNgAQAAANDQBFgAAAAANDQBFgAAAAANTYAFAAAAQEMTYAEAAADQ0ARYAAAAADQ0ARYAAAAADU2ABQAAAEBDE2ABAAAA0NAEWAB74N///d9z3XXXFV0GAMCYob8CBiPAAsakSqVSl59z7733ZsaMGXX5WQAARdJfAUUaV3QBwN7ra1/7Wm655ZZs2LAhxx57bN75zndm+vTpqVQqueGGG/KTn/wka9asyamnnpp3v/vdSZKHH344n/nMZ/Lb3/42kyZNytve9raceOKJSZILLrgg/+W//Jd85zvfyfHHH583vvGN+cxnPpO77rorTz/9dE4//fSce+65KZVK29WyZs2afPKTn8x9992X/v7+/O3f/m1e+cpX5kc/+lG+8pWv5Oqrr06S9PX15TWveU1uuOGGXHfddbnzzjvzy1/+MtOnT8/LXvay+i0eAMAg9FfAWGUHFlCI22+/Pd/+9rfzz//8z/nMZz6Txx57LN///veTJJdeemlWrFiRD33oQ/nYxz6WRYsW5d57782SJUty0UUX5S/+4i/y2c9+Nq961avy4Q9/OE899VT6+vqyZMmS/OhHP8oll1ySs846KxdeeGGq1Wo+9rGP5dJLL83Xv/713HHHHdvVsm7durzjHe/I7Nmzc9111+WCCy7Iddddl02bNuWBBx7I3LlzBz77yCOPZMKECdlvv/3yrne9K83Nzbnxxhs1VwBA4fRXwFhmBxZQiMWLF2fKlCmpVquZPn16rr322jQ1NeWuu+7KsmXL8vnPfz7Nzc1Jkve9732ZNm1aPvvZz+Zv/uZvctpppyVJXve61+XGG2/MypUrkyTVajUXX3xxJk+enP/4j/9Ia2tr3vnOdyZJpk2bluOPPz7Lli3brpabb745xx57bN70pjclSV7ykpfk6aefTrVazf33359XvepVW9V9xBFHJEkeeOCBzJkzJ62trbVbKACAYdJfAWOZHVhAIV7/+tdn//33z/nnn583v/nN+da3vjXQYL3sZS8baK6SZN68eZk1a1buvvvugeYqSbq7u9Pb25sDDjggixcvzrHHHpvJkycnSX74wx/m97//fV772tcOvH7xi19k5syZ29Vy11135eUvf/lWX3vFK16RCRMmZPHixVvdIdyywbr//vtz5JFHjui6AADsLv0VMJbZgQXU3Zo1a7Jx48ZcdNFFefe7352f/vSnWbBgQV72spdlxYoVedGLXjTw2aVLl+aee+7JC17wgjQ3N6etrW3g12677ba84AUvSFtbWx588MEcddRRW33f+9///pxwwglJkq6urqxYsSJz5szZrp4VK1Zk6tSpA+/vuuuu9PX1Zf/9909ra2v233//JMnGjRtz55135n3ve1+SZ+8Q2toOADQC/RUw1tmBBdTdj370o/zP//k/s3Tp0qxbty6///3vs//++2fixImZPXt2br/99qxYsSIPPvhgLrvsspRKpbS3t6dUKuX//t//m/Xr1+d73/tePv/5z+fcc89N8uydu8MPP3zgZxx22GH51re+lccffzx/+MMf8r73vS+33nrroPXMnj07t9xyS5588sn8+Mc/zj/90z9lv/32y7Jly1KpVLJ27do8/fTT+djHPpaNGzcO/JzFixcP2rABANSb/goY60rVarVadBHA3mXjxo35l3/5l/zyl79MuVzO0Ucfnbe+9a056KCDsnHjxlxxxRX5xS9+kf322y+nn356Xv/616dUKuVHP/pRrr/++mzcuDFHHnlk/sf/+B+ZM2dOKpVKXv3qV+emm27KlClTkiRPPvlkrrzyytx3332ZOnVqXvWqV+XMM89MU9P2uf2SJUty5ZVXZvny5Tn44IPzt3/7t5k3b17WrVuXD3/4w1m8eHEOPPDAnHbaafk//+f/5Atf+EKS5AMf+EDuu+++fO5zn8u0adPquYQAAFvRXwFjnQALAAAAgIZmhBAAAACAhibAAgAAAKChCbAAAAAAaGgCLAAAAAAa2v8Pb9DZvSXlrwgAAAAASUVORK5CYII=", + "text/plain": [ + "<IPython.core.display.Image object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gnn_model.load_partition(\"velo-sim10b-nospillover\")\n", + "perfplot.plot_edge_performance(gnn_model, CONFIG)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Load 200 files located in /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/test/velo-sim10b-nospillover\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "91ddae17207d4b9a9e133df76e7887f6", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c737875249e04c03b5c38e3ec9955499", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ac377279aafc4b5180f4639ca6d039e9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f85018c85c654d548916880638dee82e", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/16 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "27babb13915a4937bb5ecb72296ee5eb", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7f6a4f1b645b4747b13c741e234ed7bc", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "fe292d18a81c464a97ed34ef443e2fa6", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4135aaeedd4c4ce3ab377fab149dba5a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8f2216787d9d4aeaa02b8b9bdfefaa40", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6992b033ce614752878da7593a75cfff", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ed9f3c809e7c4e51b44a358ec82b78b7", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "896ef3db87ee47f2a44d9737076232c2", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4b6e0862e10a4d3895142114ea69d609", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2c942e6fc1354e4e8c29448b4849bcb9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "81517adcee3f45f2aabf4180ccf00a19", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5f6e952c17a0420aac2e2e011bdfb016", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7aef953e9dd34c40b680254ae973cace", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "9bd250618ba44ce5a74a9776fb8580b2", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "47d644dc6dbf4c9cbcb40c56ada0ed92", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b4989466e64246258d9c54882fb24ba5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Figure was saved in output/focal-loss-pid-fixed/performance_given_score_cut.pdf\n", + "Figure was saved in output/focal-loss-pid-fixed/performance_given_score_cut.png\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAACTgAAAIwCAYAAACoB5bfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3RU1d7G8e+U9EoKEEroPQKCgKBURSmKgBULdpArCL72rqggIgpiBwvoRcWCFxAVARFFioJU6S2UgCmQXmfm/eMkk4T0kDApz2etWefM7H3O3pOMMpN5zm+bHA6HAxERERERERERERERERERERERkSrI7OoJiIiIiIiIiIiIiIiIiIiIiIiIFEUBJxERERERERERERERERERERERqbIUcBIRERERERERERERERERERERkSpLAScREREREREREREREREREREREamyFHASEREREREREREREREREREREZEqSwEnERERERERERERERERERERERGpshRwEhERERERERERERERERERERGRKksBJxERERERERERERERERERERERqbIUcBIRERERERERERERERERERERkSpLAScREREREan2YmJieOaZZ4iIiMDX15egoCB69uzJm2++SUZGRoWNs2zZMoYNG0bDhg3x9PSkWbNm3HnnnWzevLnEY1NSUvj222/5z3/+Q/fu3QkODsbNzY2AgAA6derEAw88wD///FPquezYsYN7772X5s2b4+XlRVhYGEOHDuW77747h2coIiIiIiIiIiIiIlL1mBwOh8PVkxARERERESmvjRs3Mnz4cKKiohg4cCDXXHMNqampzJs3jx07dnDhhReydOlSGjRoUO4x7HY79913H3PmzCEoKIgxY8bQrFkz/vrrL+bNm4fdbmfGjBk88MADhR5/5MgRIiIiSEpKAmDgwIH069eP0NBQDh06xOeff87hw4exWq1Mnz6dSZMmFTufDz/8kPvvvx+bzcbo0aPp0aMHkZGRfPDBB0RHR3PzzTczb948rFZruZ+ziIiIiIiIiIiIiEhVoYCTiIiIiIhUW5GRkVx00UVER0czadIk3njjDWdbeno6gwcP5pdffqFr166sXbsWDw+Pco3z+OOPM23aNEJCQli3bh0tW7Z0tv34448MHToUh8PBl19+yfXXX1/g+N27d9OuXTsAPvroI+6888587ampqVxzzTX8/PPPAKxYsYLLLrus0Ll8//33DBs2DLvdzqJFixg+fLiz7ciRI/Ts2ZOoqCjuv/9+3nrrrXI9XxERERERERERERGRqkQBJxERERERqbZuvPFGFi5cSHh4OHv37i0QYDpw4ABt2rTBZrPx2muv8dBDD5V5jJ07d9KxY0fsdjvvvvsu9913X4E+d9xxB/PmzaNevXocOHAAHx+ffO05AafLLruMFStWFDrOnj17aNu2LQAjR47km2++KdAnPT2d1q1bExkZyY033sgXX3xRoM8nn3zCnXfeiclkYuPGjVx00UVlfs4iIiIiIiIiIiIiIlWJ2dUTEBERERERKY99+/bx1VdfATB69OhCqzO1aNGC/v37AzBt2jSysrLKPM7UqVOx2+14eXlxyy23FNrn3nvvBeDUqVPMnTu3QLuXlxc9evQo8niANm3a4OvrC8CuXbsK7fPpp58SGRmZb8yz3XTTTfj5+eFwOHj55ZeLfmIiIiIiIiIiIiIiItWEAk4iIiIiIlItff311+QUpL388suL7Ddw4EAAoqOjWb16dZnGSE9PZ8mSJQD06NEDPz+/Qvv17NnTGU7KCV3l1aRJE9avX19gabqzeXl5ARS5lF7Oud3d3endu3ehfTw9Pbn00ksBY/m8pKSkYscUERERERHXcjgcvPXWW/j6+mIymcr8uaU0li1bxrBhw2jYsCGenp40a9aMO++8k82bN5f6HMnJybz66qt07dqVwMBAAgICuPDCC3n55ZdJSEio8DmLiIiIiOSlgJOIiIiIiFRLq1atcu537ty5yH4XXnhhoceUxl9//eX8Q31xY5jNZjp27AjAunXrSE1NLdM4AIcPHyY6OhqAAQMGFGi32WysWbMGgPbt2+Pu7l7kuXKec1paGn/88UeZ5yIiIiIiIufHgQMH6NevHxMmTCA5ObnCz2+32xkzZgxDhw5l7dq1jB49mjfffJOBAweyYMECevTowZtvvlniefbv30/Xrl157LHHsFgsPP/887z44ot4e3vz9NNP07lzZ3bu3Fnh8xcRERERyaGAk4iIiIiIVEs7duwAwM/Pj4CAgCL7NW7c2Llf1j+454xx9nmKG8dut7N79+4yjWO323nkkUcAaNCgAY8++miBPvv37yctLa1Mc4GyP2cREREREal8OVWbOnXqxJYtW7j44osrZZwnn3ySOXPmEBISwoYNG5g6dSpjxozhgw8+4H//+x92u51JkyYVWok2R3x8PEOHDmXPnj1ce+21rFu3jkmTJvHAAw/w+++/c8stt3Do0CGGDh1KTExMpTwPERERERGrqycgBrvdzokTJ/Dz88NkMrl6OiIiIiLiYg6Hg8TERBo0aIDZrOsSzpaens7JkycBqFevXrF987YfPny4TOPk7V/WcfJWjjpbZmYmp0+f5syZM/z111/Mnj2b9evXM2DAAD799NNCxzqXuRRFn0NEREREJIc+g5xfL7zwAi+88AJXXnklc+bM4cMPP2T9+vUVOsbOnTuZPn06AC+++CItW7bM1z5o0CBuu+025s2bx4QJExgyZAg+Pj4FzjNlyhT27t2Lr68v7777LhaLxdlmMpmYPXs233//PUeOHOGFF15g9uzZRc5Jn0FEREREJK+yfA5RwKmKOHHiRIlXYYuIiIhI7XP06FEaNWrk6mlUOYmJic59T0/PYvt6eXkVepwrx1m7di39+/d33g8ODmb27Nncd999WK2Ff0yrjLnoc4iIiIiInE2fQc4Ph8PB3LlzufvuuyttjKlTp2K32/Hy8uKWW24ptM+9997LvHnzOHXqFHPnzmXixIn52hMTE52BpeHDhxMaGlrgHHXq1OG6665j7ty5vP/++zz33HOEhIQUOp4+g4iIiIhIYUrzOUQBpyrCz88PMH5p/v7+Lp6N5JWVlcW6devo2bNnkV82iZSGXktSkfR6koqi11LVlZCQQOPGjZ3vEyW/1NRU5767u3uxffO2p6SkVIlxOnXqxM8//0xaWhqHDh3i22+/ZcKECUyZMoVXXnmF0aNHn5e5FPX6GjVqVJFfgMj5YbfbOXbsGI0aNVIFBTknei1JRdFrSSqKXktVV0pKCjfccIM+g5wnzz//fKVWMEpPT2fJkiUA9OjRo8jfa8+ePfH19SUpKYmvvvqqQMBp6dKlzs8il19+eZHjDRw4kLlz55KZmcl3333HPffcU2g/fRdSdelvRFJR9FqSiqTXk1QUvZaqrrJ8F6LfXBWR80HG399fb+qrmKysLHx8fPD399f/7OSc6LUkFUmvJ6koei1VfSrZX7i8FYoyMjKK7Zu33dvbu0qMU6dOnXxfDkyYMIG33nqLCRMmcPvtt3PkyBGeeeaZSp9Lzuvr0KFD+T6HeHh44OHhUewYUrmysrL4448/6NWrl/7/LOdEryWpKHotSUXRa6nqSkhIAPQZ5Hyp7J/zX3/95fyddu7cuch+ZrOZjh078scff7Bu3TpSU1PzffZYtWqVc7+48+RdonvVqlVFBpz0XUjVpb8RSUXRa0kqkl5PUlH0Wqr6SvP+WL85ERERERGpdvJezZGWllZs37yVj8p6Nfr5Ggdg/PjxrFq1ikWLFvHcc89x9dVX5/sCoTLnEhQUpC8XqiCz2YzVatUfXeSc6bUkFUWvJakoei1VTfp91Cw7duxw7pe0JFxOu91uZ/fu3fnCSqU9T962nTt3lnm+IiIiIiIlUQ1gERERERGpdjw8PKhfvz4Ap06dKrZv3vamTZuWaZy8/StznBy33norAA6Hg48//tilcxERERERkerr8OHDzv169eoV2zdve97j8t63Wq0EBQUVeQ5PT0/nRRNnn0NEREREpCLokgwREREREamWIiIiOHnyJImJicTHxxMQEFBov2PHjjn3O3ToUOYxchw9erTYvjnjmM1m2rZtW6ZxcrRp08a5v3379nxtLVu2xNPTk7S0tFLPBcr+nEVEREREpPpLTEx07nt6ehbbN++SdHmPy3u/pHPknCchIYGkpCQcDkexy4zExcWRlZXlvK9lsl0vKysLu92e7/ciUh56LUlF0utJKopeS1VXWX4nCjiJiIiIiEi1NGDAAFasWAHAli1b6Nu3b6H9Nm/enO+Ysrjooovw8/MjMTGRLVu2FNnPbrezdetWAHr27JnvCwKAX3/9leTkZIYMGVLseBaLxbl/9gc7i8VCnz59WL58Of/88w8ZGRm4u7sXep6c5+zp6UmvXr2KHVNERERERGqevMtWF/W5obD2lJSUQs9T0jny9rHb7aSnpxcbimrWrFm++7fffjt33HFHiWNI5bHb7URGRgLGhTsi5aXXklQkvZ6koui1VHUlJyeXuq8CTiIiIiIiUi1dd911PPXUUzgcDlauXFlkwCknBBUSEkK/fv3KNIaHhwfDhg3jv//9Lxs2bCApKQlfX98C/davX09SUhIA119/fYH25557js2bNxMfH1/sVcz79+937oeHhxdov/7661m+fDkZGRn8/vvvhQa20tLSWLt2LQCDBg0qdL4iIiIiIlKz5b3oIiMjo9i+edu9vb0LnCc5ObnEc+Q9j9lsLrEa06FDh5xL2oEqOFUFORfZ9OrVC6tVXx9K+em1JBVJryepKHotVV0JCQml7qvfnIiIiIiIVEutWrXi+uuvZ+HChXz66ac8/fTTBa4qPnjwIKtWrQLgscceK/DhdceOHYwcOZKUlBQWLFhAnz59Cozz+OOP8/nnn5OamsqCBQsYM2ZMgT5z584FoF69etxzzz2FzjcxMZHffvut0DFyfPLJJ879YcOGFWi/7bbbePHFF4mMjGTu3LmFBpwWLlzo/FD45JNPFjmWiIiIiIjUXH5+fs79tLS0YvvmrfaU97ic+8nJySWeI+95fH19i72wAyAoKChfwEmqBrPZjNVq1Re/cs70WpKKpNeTVBS9lqqmsvw+VHtLRERERESqrenTpxMaGsrhw4cLhHnS09MZM2YMNpuNrl27Mn78+ALHv/zyy+zbt4/jx4/z+OOPFzpGREQEjzzyCABPP/00Bw8ezNe+fPly5s2bB8Ds2bPx8fEpcr5jx47NV6Upr9dff51vvvkGgEsuuYTrrruuQB8PDw/eeecdzGYzX3zxBYsXL87XHhkZyRNPPAHA/fffT7du3Yqci4iIiIiI1FxNmzZ17p86darYvnnb8x6X935WVhZxcXFFniMtLc15ocXZ5xARERERqQiKpomIiIiISLUVHh7OkiVLGDFiBDNmzGDHjh0MGzaM1NRU5s2bx/bt2+ncuTOLFy/G09OzwPF2u92573A4ihxnypQpxMbGMnfuXLp3787YsWNp2rQpmzZt4uOPP8ZsNvP6668XujwdwAUXXMCaNWvYvXs37dq14/rrr+eCCy6gfv36REVF8d133/Hnn38CxrJyn3/+eZFrwQ8dOpT333+f+++/n+uuu47Ro0fTo0cPIiMjef/994mOjmbUqFHMnDmzDD9JERERERGpSSIiIpz7R48eLbbvsWPHAKOqQdu2bQucZ/369c7zBAUFFXsOgA4dOpRrziIiIiIixVHASUREREREqrUePXqwbds2Zs6cyaJFi3j00Udxc3OjdevWzJw5k3HjxhVYui7HU089xebNm0lNTWXatGlFjmE2m5kzZw4jRozg3Xff5aOPPuL06dPUr1+fm266iYkTJ9KlS5cij589ezYPPvgg3377LatXr2b9+vUsXryYtLQ0fH19CQ8P5+6772bUqFFcdtllJT7ne+65h4svvpiZM2eycuVKPvvsMwIDA+natStjxoxhxIgRJf/g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vkrdunWZMGFCvopI5yI9PZ2TJ08CUK9evWL75m0/fPhwmcZp3bq1c//AgQNF9ouLiyMxMdF5v6jnefz4cR566CHat2/PO++8w/fff8/s2bMJDg7mvffeo0OHDrz//vtlmqOIVBFNesLVs4z9Na/Ctq9cOx8REcFiNjGmTwt+mNibi5rUITnDxtPf7eCWuRuIjK29S4oq4CQiIiIiIiIiIhUrZi/gMJa78Alx9WyqnovuBs8AiN0Huxa7ejYiIrXKsWPH6N69O08//TQnTpzA4TCugs/Zni0tLY133nmHzp07s2XLlnMeP2+YyNPTs9i+Xl5ehR5XGldddZVzf9myZUX2+/HHH4ucX17e3t6sWrWKefPmccsttzBkyBDuv/9+NmzYwO23305mZib33XcfX32lYIRItXThLblLKf/vfjj2l2vnIyIiADQP9eXLsT159qr2eLqZWXcwlitnruGTtYdqZTUnq6snICIiIiIiIiIiNYxzeTpVbyqUpz/0GAe/vgJrZkD74WAyuXpWIiI1XmJiIoMGDWLXrl35Ak1FhZtefvll2rdvz5tvvsnx48cZNGgQW7duLbHyUnFSU1Od++7u7sX2zdueklK2K/X79OlDv379WL16NV9++SUPPvggXbt2zdcnMTGRyZMn53vMai34tdFrr73G9OnTCQ0NLdBmNpt5++23+fHHHzl16hQTJ07k6quvLjG8FRcXR1ZWlvO+h4cHHh4eZXmKUsGysrKw2+35fi9Sy/R9CnP0Hsx7f8Tx+Shsd62AgIZlPo1eS1KR9HqSilLdX0ujL25M31bBPLFoBxsPn+b5Jf/w/bYopo7oQNMQH1dP75yU5XeigJOIiIiIiIiIiFQsZ8CpjWvnUZX1GAvr3oJT22HvT9BmkKtnJCJS47366qv8888/AFx88cWMHTuWXr160aBBA6677jqWL1+er394eDhPPPEE48aN49prr+WXX37h8ccf5+OPPy73HPJWZcrIyCi2b952b2/vMo+1YMEC+vfvz549e7jiiiuYPHkygwYNwsPDg02bNvHss89y/Phx+vbty6+//gqAv79/gfOEhBRfjdHHx4ebbrqJWbNmERUVxQ8//MCIESOKPaZZs2b57t9+++3ccccdZXuCUqHsdjuRkZGAEVyT2slS93YuPL4b3+TDpH10DX9fOBWb1avkA/PQa0kqkl5P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eyyt3gY3bzi+Fk6uh1uh8PdS8wvMttFlHzXb2JVqnK1uIBKRzKEEJ5Hc6NoFWDQQTt2u/lK1M7T9DFwK2DYuSZVhGETExD2w+RbuOcebiw9jNcDOAm+3q0zH2iUeyNyujvbJLhhlNjc3Nzp27MiMGTMwDIPZs2fzf//3fymOnTVrFqVKlaJp06YJ6yZNmsTYsWNxcXFh/fr1SRI8hgwZwrx58+jevTuvvPIKxYsXp2vXrumOcdeuXTz55JNER0czYsQIJkyYkGR7//79adasGdOnT8disfDtt9+me467adiwIQ0bNmTDhg0JCU4jR47kk08+oVu3bgnjBg0aRNWqVTlx4gRjxoxhxYoVyY4VExPDE088wc6dOylfvjx//vknPj7/VYobOXIkTz75JOvWraN58+bs378fX1/fdMe8a9cunnrqKaKjo/n8888ZPnx4ku1DhgyhYcOGzJ8/H09PT77++ut0z3H16lVatGjBqVOn6NixIz/99FOSBLNRo0bRokULdu/eTbt27dixY0eyRKpXXnmFL774AldXV9asWUPDhg2TbH/hhRdo0aIFkZGRhIaGAuZdpD179gT+S3CqVq1awro7tW/fHjArNsUnGvXp04fff/89yXwBAQHJjtGjRw8WLVqEr68vW7dupXDhwuTPnx+LxcKIESPo27cvc+bMoVWrVuzZsydJQlpK877wwgusWbOGihUrJozr3LkzVatW5ejRo0yZMoXRo0cnieHo0aO88sorGIbBmjVrqFOnTpLt//vf/2jUqJEqOImISO4VHAi/DzWXm7wCFdtmyTQXwiM5EhpHQHgkft7mxV2r1SDsVjTB4ZFcvBZJ8LVILoabj8HXojgXdouTl28mOU6cAaV93GheoRAztgal2WbubtSGTkREbK1AgQLMnDmTt956i9mzZ7Nx40b++eefhErL3t7eVKhQgWbNmtGrVy9KlSpl24BFRETyolq9iSvVjMCNi6nSrB0OXiXN9TW6g9UKF/bDibVwfB2c2wlhJ2DnCdj5rdnVxr/+fwlPRapm+3bwInJ3SnASyW2OrobfBptZy45u8MSn5n/0+k87W4uIieOh/8uctlrpZTXgjd8P88bvhx/IfH+90xo3p6z/76dXr14JLblSS3Das2cPhw8f5o033khIujp37hyvvvoqAMOGDUtWvQagW7duzJw5k1WrVjFq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4Pdt+T7BSWzwq2CZUixlkpPJ2ZKhJyI54q5JgBQREbvTe4CIyB0wmcCjsOVWtIrlsbKNLMuuK6YVERERERERERG5c0Uq3hU5JE6O7oA4gE9Jy3qJJmfLfZMztJuUpzLvRPILJyfLy6zZbGPWNBERuSckJSUBN98TRETkDimmFRERERERERERsZ+75Ps2zeB0r7q/l2W9xGsnLFl3eWxgiuQXrq6uODs7ExUVRcGCBR3dHRERcYDo6GicnZ1xdXV1dFdERPIPxbQiIiIiIiIiIiL2cxd836YEp3uZT8k8OShF8hOTyYS3tzfh4eH4+/s7ujsiIpLLDMMgPDwcb29vTCaTo7sjIpK/KKYVERERERERERGxnzz+fZvWyRARyWE+Pj4kJCRw/vx5DMNwdHdERCSXGIbB+fPnSUhIwMfHx9HdERERERERERERERERuWtpBicRkRxWsGBBSpUqxdmzZwkPD6dIkSJ4enri7Oys2Twk2wzDID4+ntjYWI0juSMaS/ZlGAZJSUlER0cTHh5OQkICpUqV0jKlIiIiIiIiIiIiIiIid0AJTiIiucDb25tSpUqxb98+nJ2duXbtmqO7JHc5wzCIi4vDzc1NSSlyRzSWcoazszPe3t74+PgouUlEREREREREREREROQOKcFJRCSXeHh4EB8fT/ny5TEMA7PZ7OguyV0sMTGRnTt3UqlSJVxc9HYu2aexZH9OTk64uroqYUxERERERERERERERMRO9FcsEZFcZjKZcHV1dXQ35C6XmJiI2WzG3d1dSSlyRzSWREREREREREREREREJK9zcnQHRERERERERERERERERERERERE0qMEJxERERERERERERERERERERERybOU4CQiIiIiIiIiIiIiIiIiIiIiInmWEpxERERERERERERERERERERERCTPUoKTiIiIiIiIiIiIiIiIiIiIiIjkWUpwEhERERERERERERERERERERGRPEsJTiK3ERcXx6xZs4iLi3N0V+Qup7Ek9qTxJPaisSQikjfp9VnsRWNJ7EVjSexFY0lEJG/S67PYi8aS2JPGk9iLxlL+YDIMw3B0JwTCw8Px8fEhLCyMQoUKObo7ksK1a9coUqQIV69exc/Pz9HdkbuYxpLYk8aT2IvGUt6lz4eSGzTO8i69Pou9aCyJvWgsib1oLOVd+mwouUHjLO/S67PY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Ll68aLi5uRmAUaxYMSMxMfHOTkxE5C6mGETsSXGI2IviELEXxSAiInmT4hCxF8UgYk+KQ8ReFIdIMr07SL526tQpo2jRogZgjBgxItW+2NhY49FHH7W+UMXExKQ5/tlnn7W+KTZo0MBmGy+99JIBGBUrVjR+//13Y926dTZvP/zwgz7U38VyYyxlRB/q84/cGktt27Y1AKN06dJpfo0QGxtrzWT38/MzTpw4YZ+Tk1yXG+Opf//+1jLvv/9+mv2xsbHG448/bi0zbdo0+5yciMhdSjGI2JPiELEXxSFiL4pBRETyJsUhYi+KQcSeFIeIvSgOkWQuiORjZcqUYfny5XTs2JGJEyeyf/9+2rdvT0xMDMHBwezbt486derw888/4+7unub4lGtoGjbW25w0aRJffPEFAMeOHeOxxx7LuZMRh8rpsWTL3LlzrduhoaE2H2/VqhUBAQHZOSVxkNwaSwsWLKBTp06sWrWKOnXq8Pzzz1OlShUuXrzI7NmzOXz4MKVLl2bZsmWUK1cuR85Vcl5ujKcvv/ySmJgY5s2bx+jRo1m1ahVPPfUUfn5+nDp1ijlz5nDixAlcXFx477336N+/f46dr4jI3UAxiNiT4hCxF8UhYi+KQURE8ibFIWIvikHEnhSHiL0oDhErx+RVieSuy5cvG2+99ZZx3333GZ6enkbhwoWNhx56yJg0aZLNaeyS7dmzx6hYsWK609UNGzbMmqWZ2Zt+tXB3y6mxZEtmxtO6devsdGaS23JrLC1YsMB48sknjeLFixuurq6Gn5+f0bhxY+PTTz81IiMj7XlK4kC5MZ42btxo9OvXz6hWrZrh5eVlODs7G4ULFzYeeOABY8SIEcahQ4fsfVoiInc1xSBiT4pDxF4Uh4i9KAYREcmbFIeIvSgGEXtSHCL2ojhETIaRyfRZERERERERERERERERERERERGRXObk6A6IiIiIiIiIiIiIiIiIiIiIiIikRwlOIiIiIiIiIiIiIiIiIiIiIiKSZynBSURERERERERERERERERERERE8iwlOImIiIiIiIiIiIiIiIiIiIiISJ6lBCcREREREREREREREREREREREcmzlOAkIiIiIiIiIiIiIiIiIiIiIiJ5lhKcREREREREREREREREREREREQkz1KCk4iIiIiIiIiIiIiIiIiIiIiI5FlKcBIRERERERERERERERERERERkTxLCU4iIiIiIiIiIiIiIiIiIiIiIpJnKcFJRERERERERERERERERERERETyLCU4iYiIiIiIiIiIiIiIiIiIiIhInqUEJxERERERERERERERERERERERybNcHN0BEZH8LDIykoULF7Jq1Sp2795NaGgokZGRuLm54ePjQ1BQEJUqVaJu3brUq1ePevXqUaBAAUd3W0RERERE7lKKQUREREREJLcpDhERkdxgMgzDcHQnRETyo++++47XXnuN69evA+Dt7U2VKlXw8fEhNjaW8+fPc/LkSVK+DBcsWJCmTZvy66+/OqrbIiIiIiJyl1IMIiIiIiIiuU1xiIiI5BYlOImI5IDRo0fzwQcfAFCtWjUmTJhA69atcXZ2TlUuNDSUadOm8dFHHxEdHQ2As7MziYmJud5nubucPHmScuXKWe/r7VxERETk3qYYRHKaYhARERERuZXiEMlpikNEJCUlOImI2NnatWt59NFHAahYsSJ///03hQsXzvCYzZs306JFCxISEvShXjJFH+pFREREJJliEMkNikFEREREJCXFIZIbFIeISEpOju6AiEh+8/HHH1u3R40addsP9ACNGjVi0KBBOdgrERERERHJrxSDiIiIiIhIblMcIiIiuU0JTiIidmQ2m1m3bp31fr169TJ9bO/evXOiSyIiIiIiko8pBhERERERkdymOERERBzBxdEdEBHJTy5fvkx8fLz1votL5l9ma9euTdmyZTW9poiIiIiIZJpiEBERERERyW2KQ0RExBGU4CQiYkcmkynV/d27d1O1atVMHevi4kJISEiW2wwNDWXjxo2cP3+eqKgofHx8KFeuHHXr1iUwMDBLdSUmJrJ161YOHz7M5cuX8fLyomTJkjRt2pQiRYpkuW+3MpvNbNy4kSNHjnD16lUKFy5MxYoVuf/++zOs//Tp02zevJmLFy+SmJiIv78/tWrV4v7778fJKWcnI0xKSmLbtm0cOHCAy5cvU6BAAfz9/alZsyY1a9bE1dU1R9sXEREREcmIYpCMKQYREREREbE/xSEZUxwiIpJDDBERsZvExESjYMGCBmAARp06dYyYmJgcaWvbtm1GixYtDJPJZG3v1lutWrWMd9991zh//nyGdUVGRhpjx441ChcubLMeJycno02bNsa+ffvSrWPYsGE2jx0zZoxhGIaxePFiIygo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REVF4erqSqFChShTpgx16tShZMmS2a7/4sWLbNiwgQsXLhAdHY2fnx916tShXr16ODs7Z6muxMREtmzZwqFDh7h69SoFCxakZMmSNGvWDH9//2z38U6lPMeoqCh8fHy47777ePjhhylYsGCOtp2UlMTWrVs5ePAgV65coUCBAgQFBdGoUSOKFy+epbpiYmLYuHEjBw8eJC4ujqCgIFq0aEGxYsXuqI8HDhzgzz//5PLly7i4uFChQgVatWpFoUKF7qheEREREbk7KQa5c4pBMqYYRERERERupTjkzikOyZjiEBFRgpOIiIiIiIiIiIiIiIiIiIiIiORZTo7ugIiIiIiIiIiIiIiIiIiIiIiISHqU4CQiIiIiIiIiIiIiIiIiIiIiInmWEpxERERERERERERERERERERERCTPUoKTiIiIiIiIiIiIiIiIiIiIiIjkWUpwEhERERERERERERERERERERGRPEsJTiIiIiIiIiIiIiIiIiIiIiIikmcpwUlERERERERERERERERERERERPIsJTiJiIiIiIiIiIiIiIiIiIiIiEiepQQnERERERERERERERERERERERHJs5TgJCIiIiIiIiIiIiIiIiIiIiIieZYSnEREREREREREREREREREREREJM9SgpOIiIiIiIiIiIiIiIiIiIiIiORZSnASEREREREREREREREREREREZE8SwlOIiIiIiIiIiIiIiIiIiIiIiKSZ/0/epFBPfPCI9cAAAAASUVORK5CYII=", + "text/plain": [ + "<Figure size 2400x600 with 3 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from GNN.gnn_plots import plot_best_performances_score_cut\n", + "\n", + "_, _, performances_for_various_score_cuts = plot_best_performances_score_cut(\n", + " model=gnn_model,\n", + " path_or_config=CONFIG,\n", + " partition=\"velo-sim10b-nospillover\",\n", + " score_cuts=[\n", + " 0.1,\n", + " 0.2,\n", + " 0.3,\n", + " 0.4,\n", + " 0.42,\n", + " 0.43,\n", + " 0.44,\n", + " 0.45,\n", + " 0.46,\n", + " 0.47,\n", + " 0.48,\n", + " 0.5,\n", + " 0.6,\n", + " 0.7,\n", + " 0.8,\n", + " 0.9,\n", + " ],\n", + " n_events=200,\n", + " seed=0,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. GNN inference " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:--------------------- Step 4: Scoring graph edges using GNN ---------------------\n", + "INFO:---------------------------- a) Loading trained model ----------------------------\n", + "INFO:Load model from artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt.\n", + "INFO:Load model from artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt.\n", + "INFO:----------------------------- b) Running inferencing -----------------------------\n", + "INFO:Remove directory `/scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover`.\n", + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/test/velo-sim10b-nospillover to /scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a6cb9afd5cb9438e8880192981766da0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n", + "INFO:Remove directory `/scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover-only-long-electrons`.\n", + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/test/velo-sim10b-nospillover-only-long-electrons to /scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover-only-long-electrons\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a1af6c66f0574263ba085bcdea898a7a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "run_gnn_inference(CONFIG, partitions=[\"test\"], checkpoint=gnn_artifact_path)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 5. Build track candidates from GNN" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:----------- Step 5: Building track candidates from the scored graph -----------\n", + "INFO:Score cut: 0.45\n", + "INFO:Remove directory `/scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover`.\n", + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover to /scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "15ad24e1d6f1444b9d3242e715a0dc9e", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Remove directory `/scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover-only-long-electrons`.\n", + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover-only-long-electrons to /scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover-only-long-electrons\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "e865558d4d084522b9a35a2f76ee8a29", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "build_track_candidates(CONFIG, partitions=[\"test\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 6. Evaluate track candidates on the same data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "evaluate_candidates_montetracko(\n", + " CONFIG,\n", + " partition=\"train\",\n", + " allen_report=True,\n", + " table_report=True,\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "evaluate_candidates_montetracko(\n", + " CONFIG,\n", + " partition=\"val\",\n", + " allen_report=True,\n", + " table_report=True,\n", + " plot_categories=[],\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 7. Evaluate track candidates on unseen data" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:---------------------------- velo-sim10b-nospillover ----------------------------\n", + "INFO:--------------------- Evaluation for velo-sim10b-nospillover ---------------------\n", + "INFO:1) Load dataframe of tracks, hits-particles and particles\n", + "INFO:Load tracks in /scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "093d1a9e10864656acccf65296bb9b51", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Load pre-processed test datasets in /scratch/acorreia/data/__test__/velo-sim10b-nospillover.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "abc8329945a54b44a5747708f1256c12", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3b22d2cf13c24237bb0c6b187f60bc29", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Compute plat stats\n", + "INFO:2) Matching\n", + "INFO:3) Evaluation\n", + "INFO:Report was saved in output/focal-loss-pid-fixed/report-2023.06.11-12.04.53-velo-sim10b-nospillover.txt\n", + "INFO:------------------ velo-sim10b-nospillover-only-long-electrons ------------------\n", + "INFO:----------- Evaluation for velo-sim10b-nospillover-only-long-electrons -----------\n", + "INFO:1) Load dataframe of tracks, hits-particles and particles\n", + "INFO:Load tracks in /scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover-only-long-electrons.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "TrackChecker output : 2020/ 243242 0.83% ghosts\n", + "01_velo : 101318/ 104345 97.10% ( 97.24%), 837 ( 0.82%) clones, pur 99.86%, hit eff 97.73%\n", + "02_long : 58330/ 59167 98.59% ( 98.62%), 457 ( 0.78%) clones, pur 99.93%, hit eff 98.31%\n", + "03_long_P>5GeV : 37865/ 38150 99.25% ( 99.26%), 231 ( 0.61%) clones, pur 99.93%, hit eff 98.85%\n", + "04_long_strange : 2971/ 3142 94.56% ( 94.88%), 38 ( 1.26%) clones, pur 99.64%, hit eff 95.25%\n", + "05_long_strange_P>5GeV : 1443/ 1521 94.87% ( 94.91%), 7 ( 0.48%) clones, pur 99.58%, hit eff 97.68%\n", + "06_long_fromB : 120/ 120 100.00% (100.00%), 2 ( 1.64%) clones, pur 99.80%, hit eff 98.13%\n", + "07_long_fromB_P>5GeV : 87/ 87 100.00% (100.00%), 0 ( 0.00%) clones, pur 100.00%, hit eff 99.81%\n", + "08_long_electrons : 3459/ 4198 82.40% ( 82.85%), 74 ( 2.09%) clones, pur 98.84%, hit eff 87.95%\n", + "09_long_fromB_electrons : 10/ 10 100.00% (100.00%), 0 ( 0.00%) clones, pur 100.00%, hit eff 93.33%\n", + "10_long_fromB_electrons_P>5GeV : 7/ 7 100.00% (100.00%), 0 ( 0.00%) clones, pur 100.00%, hit eff 96.43%\n", + "\n", + "| Categories | Efficiency | Average efficiency | % clones | Average hit purity | Average hit efficiency |\n", + "|:---------------------|:-------------|:---------------------|:-----------|:---------------------|:-------------------------|\n", + "| Velo | 93.82% | 94.10% | 1.06% | 99.75% | 96.26% |\n", + "| Long | 97.51% | 97.58% | 0.85% | 99.87% | 97.72% |\n", + "| Velo, no electrons | 97.10% | 97.24% | 0.82% | 99.86% | 97.73% |\n", + "| Velo, only electrons | 76.99% | 77.37% | 2.57% | 99.03% | 86.85% |\n", + "| Long, only electrons | 82.40% | 82.85% | 2.09% | 98.84% | 87.95% |\n", + "| Categories | # ghosts | # tracks | % ghosts |\n", + "|:-------------|:-----------|:-----------|:-----------|\n", + "| Everything | 2,020 | 243,242 | 0.83% |\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c118aca80cae4b62831251402e288928", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Load pre-processed test datasets in /scratch/acorreia/data/__test__/velo-sim10b-nospillover-only-long-electrons.\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3bffc5f3235146cc89114053b6cc801c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "9eae617c6d194998adb1a1469ab68796", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Compute plat stats\n", + "INFO:2) Matching\n", + "INFO:3) Evaluation\n", + "INFO:Report was saved in output/focal-loss-pid-fixed/report-2023.06.11-12.05.13-velo-sim10b-nospillover-only-long-electrons.txt\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "TrackChecker output : 79/ 4432 1.78% ghosts\n", + "01_velo : 0/ 0 nan% ( nan%), 0 ( nan%) clones, pur nan%, hit eff nan%\n", + "02_long : 0/ 0 nan% ( nan%), 0 ( nan%) clones, pur nan%, hit eff nan%\n", + "03_long_P>5GeV : 0/ 0 nan% ( nan%), 0 ( nan%) clones, pur nan%, hit eff nan%\n", + "04_long_strange : 0/ 0 nan% ( nan%), 0 ( nan%) clones, pur nan%, hit eff nan%\n", + "05_long_strange_P>5GeV : 0/ 0 nan% ( nan%), 0 ( nan%) clones, pur nan%, hit eff nan%\n", + "06_long_fromB : 0/ 0 nan% ( nan%), 0 ( nan%) clones, pur nan%, hit eff nan%\n", + "07_long_fromB_P>5GeV : 0/ 0 nan% ( nan%), 0 ( nan%) clones, pur nan%, hit eff nan%\n", + "08_long_electrons : 4286/ 4670 91.78% ( 93.18%), 37 ( 0.86%) clones, pur 99.29%, hit eff 95.56%\n", + "09_long_fromB_electrons : 10/ 10 100.00% (100.00%), 0 ( 0.00%) clones, pur 100.00%, hit eff 97.50%\n", + "10_long_fromB_electrons_P>5GeV : 7/ 7 100.00% (100.00%), 0 ( 0.00%) clones, pur 100.00%, hit eff 96.43%\n", + "\n", + "| Categories | Efficiency | Average efficiency | % clones | Average hit purity | Average hit efficiency |\n", + "|:---------------------|:-------------|:---------------------|:-----------|:---------------------|:-------------------------|\n", + "| Velo | 91.78% | 93.18% | 0.86% | 99.29% | 95.56% |\n", + "| Long | 91.78% | 93.18% | 0.86% | 99.29% | 95.56% |\n", + "| Velo, no electrons | nan% | nan% | nan% | nan% | nan% |\n", + "| Velo, only electrons | 91.78% | 93.18% | 0.86% | 99.29% | 95.56% |\n", + "| Long, only electrons | 91.78% | 93.18% | 0.86% | 99.29% | 95.56% |\n", + "| Categories | # ghosts | # tracks | % ghosts |\n", + "|:-------------|-----------:|:-----------|:-----------|\n", + "| Everything | 79 | 4,432 | 1.78% |\n" + ] + } + ], + "source": [ + "for test_dataset_name in get_required_test_dataset_names(CONFIG):\n", + " logging.info(headline(test_dataset_name))\n", + " evaluate_candidates_montetracko(\n", + " CONFIG,\n", + " partition=test_dataset_name,\n", + " allen_report=True,\n", + " table_report=True,\n", + " plot_categories=[],\n", + " )\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "trackEvaluator = evaluate_candidates_montetracko(\n", + " CONFIG,\n", + " partition=\"velo-sim10b-nospillover\",\n", + " allen_report=True,\n", + " table_report=True,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.10" + }, + "vscode": { + "interpreter": { + "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" + } + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed.ipynb b/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed.ipynb index e7090397..a3a82d58 100644 --- a/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed.ipynb +++ b/LHCb_Pipeline/full_pipeline-focal-loss-pid-fixed.ipynb @@ -1,6 +1,7 @@ { "cells": [ { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -8,6 +9,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -16,608 +18,9 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "<div class=\"bk-root\">\n", - " <a href=\"https://bokeh.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n", - " <span id=\"1002\">Loading BokehJS ...</span>\n", - " </div>\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/javascript": [ - "(function(root) {\n", - " function now() {\n", - " return new Date();\n", - " }\n", - "\n", - " const force = true;\n", - "\n", - " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", - " root._bokeh_onload_callbacks = [];\n", - " root._bokeh_is_loading = undefined;\n", - " }\n", - "\n", - "const JS_MIME_TYPE = 'application/javascript';\n", - " const HTML_MIME_TYPE = 'text/html';\n", - " const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", - " const CLASS_NAME = 'output_bokeh rendered_html';\n", - "\n", - " /**\n", - " * Render data to the DOM node\n", - " */\n", - " function render(props, node) {\n", - " const script = document.createElement(\"script\");\n", - " node.appendChild(script);\n", - " }\n", - "\n", - " /**\n", - " * Handle when an output is cleared or removed\n", - " */\n", - " function handleClearOutput(event, handle) {\n", - " const cell = handle.cell;\n", - "\n", - " const id = cell.output_area._bokeh_element_id;\n", - " const server_id = cell.output_area._bokeh_server_id;\n", - " // Clean up Bokeh references\n", - " if (id != null && id in Bokeh.index) {\n", - " Bokeh.index[id].model.document.clear();\n", - " delete Bokeh.index[id];\n", - " }\n", - "\n", - " if (server_id !== undefined) {\n", - " // Clean up Bokeh references\n", - " const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", - " cell.notebook.kernel.execute(cmd_clean, {\n", - " iopub: {\n", - " output: function(msg) {\n", - " const id = msg.content.text.trim();\n", - " if (id in Bokeh.index) {\n", - " Bokeh.index[id].model.document.clear();\n", - " delete Bokeh.index[id];\n", - " }\n", - " }\n", - " }\n", - " });\n", - " // Destroy server and session\n", - " const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", - " cell.notebook.kernel.execute(cmd_destroy);\n", - " }\n", - " }\n", - "\n", - " /**\n", - " * Handle when a new output is added\n", - " */\n", - " function handleAddOutput(event, handle) {\n", - " const output_area = handle.output_area;\n", - " const output = handle.output;\n", - "\n", - " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", - " if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n", - " return\n", - " }\n", - "\n", - " const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", - "\n", - " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", - " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", - " // store reference to embed id on output_area\n", - " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", - " }\n", - " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", - " const bk_div = document.createElement(\"div\");\n", - " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", - " const script_attrs = bk_div.children[0].attributes;\n", - " for (let i = 0; i < script_attrs.length; i++) {\n", - " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", - " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n", - " }\n", - " // store reference to server id on output_area\n", - " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", - " }\n", - " }\n", - "\n", - " function register_renderer(events, OutputArea) {\n", - "\n", - " function append_mime(data, metadata, element) {\n", - " // create a DOM node to render to\n", - " const toinsert = this.create_output_subarea(\n", - " metadata,\n", - " CLASS_NAME,\n", - " EXEC_MIME_TYPE\n", - " );\n", - " this.keyboard_manager.register_events(toinsert);\n", - " // Render to node\n", - " const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", - " render(props, toinsert[toinsert.length - 1]);\n", - " element.append(toinsert);\n", - " return toinsert\n", - " }\n", - "\n", - " /* Handle when an output is cleared or removed */\n", - " events.on('clear_output.CodeCell', handleClearOutput);\n", - " events.on('delete.Cell', handleClearOutput);\n", - "\n", - " /* Handle when a new output is added */\n", - " events.on('output_added.OutputArea', handleAddOutput);\n", - "\n", - " /**\n", - " * Register the mime type and append_mime function with output_area\n", - " */\n", - " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", - " /* Is output safe? */\n", - " safe: true,\n", - " /* Index of renderer in `output_area.display_order` */\n", - " index: 0\n", - " });\n", - " }\n", - "\n", - " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", - " if (root.Jupyter !== undefined) {\n", - " const events = require('base/js/events');\n", - " const OutputArea = require('notebook/js/outputarea').OutputArea;\n", - "\n", - " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", - " register_renderer(events, OutputArea);\n", - " }\n", - " }\n", - " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", - " root._bokeh_timeout = Date.now() + 5000;\n", - " root._bokeh_failed_load = false;\n", - " }\n", - "\n", - " const NB_LOAD_WARNING = {'data': {'text/html':\n", - " \"<div style='background-color: #fdd'>\\n\"+\n", - " \"<p>\\n\"+\n", - " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", - " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", - " \"</p>\\n\"+\n", - " \"<ul>\\n\"+\n", - " \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n", - " \"<li>use INLINE resources instead, as so:</li>\\n\"+\n", - " \"</ul>\\n\"+\n", - " \"<code>\\n\"+\n", - " \"from bokeh.resources import INLINE\\n\"+\n", - " \"output_notebook(resources=INLINE)\\n\"+\n", - " \"</code>\\n\"+\n", - " \"</div>\"}};\n", - "\n", - " function display_loaded() {\n", - " const el = document.getElementById(\"1002\");\n", - " if (el != null) {\n", - " el.textContent = \"BokehJS is loading...\";\n", - " }\n", - " if (root.Bokeh !== undefined) {\n", - " if (el != null) {\n", - " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", - " }\n", - " } else if (Date.now() < root._bokeh_timeout) {\n", - " setTimeout(display_loaded, 100)\n", - " }\n", - " }\n", - "\n", - " function run_callbacks() {\n", - " try {\n", - " root._bokeh_onload_callbacks.forEach(function(callback) {\n", - " if (callback != null)\n", - " callback();\n", - " });\n", - " } finally {\n", - " delete root._bokeh_onload_callbacks\n", - " }\n", - " console.debug(\"Bokeh: all callbacks have finished\");\n", - " }\n", - "\n", - " function load_libs(css_urls, js_urls, callback) {\n", - " if (css_urls == null) css_urls = [];\n", - " if (js_urls == null) js_urls = [];\n", - "\n", - " root._bokeh_onload_callbacks.push(callback);\n", - " if (root._bokeh_is_loading > 0) {\n", - " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", - " return null;\n", - " }\n", - " if (js_urls == null || js_urls.length === 0) {\n", - " run_callbacks();\n", - " return null;\n", - " }\n", - " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", - " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", - "\n", - " function on_load() {\n", - " root._bokeh_is_loading--;\n", - " if (root._bokeh_is_loading === 0) {\n", - " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", - " run_callbacks()\n", - " }\n", - " }\n", - "\n", - " function on_error(url) {\n", - " console.error(\"failed to load \" + url);\n", - " }\n", - "\n", - " for (let i = 0; i < css_urls.length; i++) {\n", - " const url = css_urls[i];\n", - " const element = document.createElement(\"link\");\n", - " element.onload = on_load;\n", - " element.onerror = on_error.bind(null, url);\n", - " element.rel = \"stylesheet\";\n", - " element.type = \"text/css\";\n", - " element.href = url;\n", - " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", - " document.body.appendChild(element);\n", - " }\n", - "\n", - " for (let i = 0; i < js_urls.length; i++) {\n", - " const url = js_urls[i];\n", - " const element = document.createElement('script');\n", - " element.onload = on_load;\n", - " element.onerror = on_error.bind(null, url);\n", - " element.async = false;\n", - " element.src = url;\n", - " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", - " document.head.appendChild(element);\n", - " }\n", - " };\n", - "\n", - " function inject_raw_css(css) {\n", - " const element = document.createElement(\"style\");\n", - " element.appendChild(document.createTextNode(css));\n", - " document.body.appendChild(element);\n", - " }\n", - "\n", - " const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n", - " const css_urls = [];\n", - "\n", - " const inline_js = [ function(Bokeh) {\n", - " Bokeh.set_log_level(\"info\");\n", - " },\n", - "function(Bokeh) {\n", - " }\n", - " ];\n", - "\n", - " function run_inline_js() {\n", - " if (root.Bokeh !== undefined || force === true) {\n", - " for (let i = 0; i < inline_js.length; i++) {\n", - " inline_js[i].call(root, root.Bokeh);\n", - " }\n", - "if (force === true) {\n", - " display_loaded();\n", - " }} else if (Date.now() < root._bokeh_timeout) {\n", - " setTimeout(run_inline_js, 100);\n", - " } else if (!root._bokeh_failed_load) {\n", - " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", - " root._bokeh_failed_load = true;\n", - " } else if (force !== true) {\n", - " const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n", - " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", - " }\n", - " }\n", - "\n", - " if (root._bokeh_is_loading === 0) {\n", - " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", - " run_inline_js();\n", - " } else {\n", - " load_libs(css_urls, js_urls, function() {\n", - " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", - " run_inline_js();\n", - " });\n", - " }\n", - "}(window));" - ], - "application/vnd.bokehjs_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"<div style='background-color: #fdd'>\\n\"+\n \"<p>\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"</p>\\n\"+\n \"<ul>\\n\"+\n \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n \"<li>use INLINE resources instead, as so:</li>\\n\"+\n \"</ul>\\n\"+\n \"<code>\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"</code>\\n\"+\n \"</div>\"}};\n\n function display_loaded() {\n const el = document.getElementById(\"1002\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\nif (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "<div class=\"bk-root\">\n", - " <a href=\"https://bokeh.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n", - " <span id=\"1003\">Loading BokehJS ...</span>\n", - " </div>\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/javascript": [ - "(function(root) {\n", - " function now() {\n", - " return new Date();\n", - " }\n", - "\n", - " const force = true;\n", - "\n", - " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", - " root._bokeh_onload_callbacks = [];\n", - " root._bokeh_is_loading = undefined;\n", - " }\n", - "\n", - "const JS_MIME_TYPE = 'application/javascript';\n", - " const HTML_MIME_TYPE = 'text/html';\n", - " const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", - " const CLASS_NAME = 'output_bokeh rendered_html';\n", - "\n", - " /**\n", - " * Render data to the DOM node\n", - " */\n", - " function render(props, node) {\n", - " const script = document.createElement(\"script\");\n", - " node.appendChild(script);\n", - " }\n", - "\n", - " /**\n", - " * Handle when an output is cleared or removed\n", - " */\n", - " function handleClearOutput(event, handle) {\n", - " const cell = handle.cell;\n", - "\n", - " const id = cell.output_area._bokeh_element_id;\n", - " const server_id = cell.output_area._bokeh_server_id;\n", - " // Clean up Bokeh references\n", - " if (id != null && id in Bokeh.index) {\n", - " Bokeh.index[id].model.document.clear();\n", - " delete Bokeh.index[id];\n", - " }\n", - "\n", - " if (server_id !== undefined) {\n", - " // Clean up Bokeh references\n", - " const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", - " cell.notebook.kernel.execute(cmd_clean, {\n", - " iopub: {\n", - " output: function(msg) {\n", - " const id = msg.content.text.trim();\n", - " if (id in Bokeh.index) {\n", - " Bokeh.index[id].model.document.clear();\n", - " delete Bokeh.index[id];\n", - " }\n", - " }\n", - " }\n", - " });\n", - " // Destroy server and session\n", - " const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", - " cell.notebook.kernel.execute(cmd_destroy);\n", - " }\n", - " }\n", - "\n", - " /**\n", - " * Handle when a new output is added\n", - " */\n", - " function handleAddOutput(event, handle) {\n", - " const output_area = handle.output_area;\n", - " const output = handle.output;\n", - "\n", - " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", - " if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n", - " return\n", - " }\n", - "\n", - " const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", - "\n", - " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", - " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", - " // store reference to embed id on output_area\n", - " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", - " }\n", - " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", - " const bk_div = document.createElement(\"div\");\n", - " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", - " const script_attrs = bk_div.children[0].attributes;\n", - " for (let i = 0; i < script_attrs.length; i++) {\n", - " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", - " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n", - " }\n", - " // store reference to server id on output_area\n", - " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", - " }\n", - " }\n", - "\n", - " function register_renderer(events, OutputArea) {\n", - "\n", - " function append_mime(data, metadata, element) {\n", - " // create a DOM node to render to\n", - " const toinsert = this.create_output_subarea(\n", - " metadata,\n", - " CLASS_NAME,\n", - " EXEC_MIME_TYPE\n", - " );\n", - " this.keyboard_manager.register_events(toinsert);\n", - " // Render to node\n", - " const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", - " render(props, toinsert[toinsert.length - 1]);\n", - " element.append(toinsert);\n", - " return toinsert\n", - " }\n", - "\n", - " /* Handle when an output is cleared or removed */\n", - " events.on('clear_output.CodeCell', handleClearOutput);\n", - " events.on('delete.Cell', handleClearOutput);\n", - "\n", - " /* Handle when a new output is added */\n", - " events.on('output_added.OutputArea', handleAddOutput);\n", - "\n", - " /**\n", - " * Register the mime type and append_mime function with output_area\n", - " */\n", - " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", - " /* Is output safe? */\n", - " safe: true,\n", - " /* Index of renderer in `output_area.display_order` */\n", - " index: 0\n", - " });\n", - " }\n", - "\n", - " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", - " if (root.Jupyter !== undefined) {\n", - " const events = require('base/js/events');\n", - " const OutputArea = require('notebook/js/outputarea').OutputArea;\n", - "\n", - " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", - " register_renderer(events, OutputArea);\n", - " }\n", - " }\n", - " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", - " root._bokeh_timeout = Date.now() + 5000;\n", - " root._bokeh_failed_load = false;\n", - " }\n", - "\n", - " const NB_LOAD_WARNING = {'data': {'text/html':\n", - " \"<div style='background-color: #fdd'>\\n\"+\n", - " \"<p>\\n\"+\n", - " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", - " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", - " \"</p>\\n\"+\n", - " \"<ul>\\n\"+\n", - " \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n", - " \"<li>use INLINE resources instead, as so:</li>\\n\"+\n", - " \"</ul>\\n\"+\n", - " \"<code>\\n\"+\n", - " \"from bokeh.resources import INLINE\\n\"+\n", - " \"output_notebook(resources=INLINE)\\n\"+\n", - " \"</code>\\n\"+\n", - " \"</div>\"}};\n", - "\n", - " function display_loaded() {\n", - " const el = document.getElementById(\"1003\");\n", - " if (el != null) {\n", - " el.textContent = \"BokehJS is loading...\";\n", - " }\n", - " if (root.Bokeh !== undefined) {\n", - " if (el != null) {\n", - " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", - " }\n", - " } else if (Date.now() < root._bokeh_timeout) {\n", - " setTimeout(display_loaded, 100)\n", - " }\n", - " }\n", - "\n", - " function run_callbacks() {\n", - " try {\n", - " root._bokeh_onload_callbacks.forEach(function(callback) {\n", - " if (callback != null)\n", - " callback();\n", - " });\n", - " } finally {\n", - " delete root._bokeh_onload_callbacks\n", - " }\n", - " console.debug(\"Bokeh: all callbacks have finished\");\n", - " }\n", - "\n", - " function load_libs(css_urls, js_urls, callback) {\n", - " if (css_urls == null) css_urls = [];\n", - " if (js_urls == null) js_urls = [];\n", - "\n", - " root._bokeh_onload_callbacks.push(callback);\n", - " if (root._bokeh_is_loading > 0) {\n", - " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", - " return null;\n", - " }\n", - " if (js_urls == null || js_urls.length === 0) {\n", - " run_callbacks();\n", - " return null;\n", - " }\n", - " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", - " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", - "\n", - " function on_load() {\n", - " root._bokeh_is_loading--;\n", - " if (root._bokeh_is_loading === 0) {\n", - " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", - " run_callbacks()\n", - " }\n", - " }\n", - "\n", - " function on_error(url) {\n", - " console.error(\"failed to load \" + url);\n", - " }\n", - "\n", - " for (let i = 0; i < css_urls.length; i++) {\n", - " const url = css_urls[i];\n", - " const element = document.createElement(\"link\");\n", - " element.onload = on_load;\n", - " element.onerror = on_error.bind(null, url);\n", - " element.rel = \"stylesheet\";\n", - " element.type = \"text/css\";\n", - " element.href = url;\n", - " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", - " document.body.appendChild(element);\n", - " }\n", - "\n", - " for (let i = 0; i < js_urls.length; i++) {\n", - " const url = js_urls[i];\n", - " const element = document.createElement('script');\n", - " element.onload = on_load;\n", - " element.onerror = on_error.bind(null, url);\n", - " element.async = false;\n", - " element.src = url;\n", - " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", - " document.head.appendChild(element);\n", - " }\n", - " };\n", - "\n", - " function inject_raw_css(css) {\n", - " const element = document.createElement(\"style\");\n", - " element.appendChild(document.createTextNode(css));\n", - " document.body.appendChild(element);\n", - " }\n", - "\n", - " const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n", - " const css_urls = [];\n", - "\n", - " const inline_js = [ function(Bokeh) {\n", - " Bokeh.set_log_level(\"info\");\n", - " },\n", - "function(Bokeh) {\n", - " }\n", - " ];\n", - "\n", - " function run_inline_js() {\n", - " if (root.Bokeh !== undefined || force === true) {\n", - " for (let i = 0; i < inline_js.length; i++) {\n", - " inline_js[i].call(root, root.Bokeh);\n", - " }\n", - "if (force === true) {\n", - " display_loaded();\n", - " }} else if (Date.now() < root._bokeh_timeout) {\n", - " setTimeout(run_inline_js, 100);\n", - " } else if (!root._bokeh_failed_load) {\n", - " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", - " root._bokeh_failed_load = true;\n", - " } else if (force !== true) {\n", - " const cell = $(document.getElementById(\"1003\")).parents('.cell').data().cell;\n", - " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", - " }\n", - " }\n", - "\n", - " if (root._bokeh_is_loading === 0) {\n", - " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", - " run_inline_js();\n", - " } else {\n", - " load_libs(css_urls, js_urls, function() {\n", - " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", - " run_inline_js();\n", - " });\n", - " }\n", - "}(window));" - ], - "application/vnd.bokehjs_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"<div style='background-color: #fdd'>\\n\"+\n \"<p>\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"</p>\\n\"+\n \"<ul>\\n\"+\n \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n \"<li>use INLINE resources instead, as so:</li>\\n\"+\n \"</ul>\\n\"+\n \"<code>\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"</code>\\n\"+\n \"</div>\"}};\n\n function display_loaded() {\n const el = document.getElementById(\"1003\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.3.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\nif (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"1003\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2\n", @@ -675,6 +78,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -684,6 +88,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -693,7 +98,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -703,6 +108,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -711,7 +117,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -738,7 +144,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -751,6 +157,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -759,18 +166,9 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "INFO:Output directory /scratch/acorreia/data/__test__/velo-sim10b-nospillover exists and is not empty. Thus, the preprocessing was not run. Please use `reproduce=True` if you need to run the preprocessing again.\n", - "INFO:Output directory /scratch/acorreia/data/__test__/velo-sim10b-nospillover-only-long-electrons exists and is not empty. Thus, the preprocessing was not run. Please use `reproduce=True` if you need to run the preprocessing again.\n" - ] - } - ], + "outputs": [], "source": [ "for required_test_dataset_name in get_required_test_dataset_names(CONFIG):\n", " run_preprocessing_test_dataset(\n", @@ -782,6 +180,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -798,6 +197,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -828,6 +228,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -835,6 +236,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -843,6 +245,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -871,6 +274,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -916,6 +320,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -924,6 +329,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -932,18 +338,9 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "embedding_metric_path='artifacts/metric_learning/focal-loss-pid-fixed/version_0/metrics.csv'\n", - "embedding_artifact_path='artifacts/metric_learning/focal-loss-pid-fixed/version_0/checkpoints/epoch=16-step=170000.ckpt'\n" - ] - } - ], + "outputs": [], "source": [ "from Embedding.layerless_embedding import LayerlessEmbedding\n", "\n", @@ -959,6 +356,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -1020,6 +418,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -1027,6 +426,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -1082,6 +482,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -1110,6 +511,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -1147,6 +549,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -1175,6 +578,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -1198,6 +602,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -1205,6 +610,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -1229,6 +635,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -1237,18 +644,9 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "gnn_metric_path='artifacts/gnn/focal-loss-pid-fixed/version_0/metrics.csv'\n", - "gnn_artifact_path='artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt'\n" - ] - } - ], + "outputs": [], "source": [ "from utils.modelutils.checkpoint_utils import (\n", " get_last_version_dir_from_config,\n", @@ -1265,246 +663,71 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "GPU available: True (cuda), used: True\n", - "TPU available: False, using: 0 TPU cores\n", - "IPU available: False, using: 0 IPUs\n", - "HPU available: False, using: 0 HPUs\n", - "INFO:Load 10000 files located in /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/train\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "9c247db76bde42d281971f8b63147f5a", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/10000 [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "INFO:Load 500 files located in /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/val\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1c0930728bd14b369102a20d9bd9b3f3", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - " 0%| | 0/500 [00:00<?, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Restoring states from the checkpoint path at artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt\n", - "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/pytorch_lightning/callbacks/model_checkpoint.py:337: UserWarning: The dirpath has changed from '/home/acorreia/Documents/tracking/etx4velo/LHCb_Pipeline/artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints' to '/home/acorreia/Documents/tracking/etx4velo/LHCb_Pipeline/artifacts/gnn/focal-loss-pid-fixed/version_1/checkpoints', therefore `best_model_score`, `kth_best_model_path`, `kth_value`, `last_model_path` and `best_k_models` won't be reloaded. Only `best_model_path` will be reloaded.\n", - " warnings.warn(\n", - "LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]\n", - "\n", - " | Name | Type | Params\n", - "------------------------------------------------------\n", - "0 | node_encoder | Sequential | 332 K \n", - "1 | edge_encoder | Sequential | 462 K \n", - "2 | edge_network | Sequential | 793 K \n", - "3 | node_network | Sequential | 659 K \n", - "4 | output_edge_classifier | Sequential | 529 K \n", - "------------------------------------------------------\n", - "2.8 M Trainable params\n", - "0 Non-trainable params\n", - "2.8 M Total params\n", - "11.111 Total estimated model params size (MB)\n", - "Restored all states from the checkpoint at artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "scheduler: [{'scheduler': <torch.optim.lr_scheduler.StepLR object at 0x7f685862bf70>, 'interval': 'epoch', 'frequency': 1}]\n" - ] - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Sanity Checking: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "7dd89bb40cfd4d0dae7ddbf6b51dcd29", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Training: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Validation: 0it [00:00, ?it/s]" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from pytorch_lightning import Trainer\n", - "from pytorch_lightning.loggers import CSVLogger\n", - "\n", - "\n", - "def continue_gnn_training(\n", - " path_or_config: str | dict,\n", - ") -> typing.Tuple[Trainer, InteractionGNN]:\n", - " config = load_config(path_or_config=path_or_config)\n", - "\n", - " gnn_model = InteractionGNN.load_from_checkpoint(\n", - " gnn_artifact_path, hparams=config[\"gnn\"]\n", - " ) # you may change `gnn_model`\n", - "\n", - " save_directory = os.path.abspath(\n", - " os.path.join(config[\"common\"][\"artifact_directory\"], \"gnn\")\n", - " )\n", - "\n", - " logger = CSVLogger(save_directory, name=config[\"common\"][\"experiment_name\"])\n", - "\n", - " gnn_trainer = Trainer(\n", - " accelerator=\"gpu\" if torch.cuda.is_available() else \"cpu\",\n", - " devices=1,\n", - " max_epochs=150, # you may increase the number of epochs\n", - " logger=logger,\n", - " # callbacks=[EarlyStopping(monitor=\"val_loss\", mode=\"min\")]\n", - " )\n", - "\n", - " with warnings.catch_warnings():\n", - " warnings.filterwarnings(\n", - " \"ignore\", message=\"None of the inputs have requires_grad=True.\"\n", - " )\n", - " gnn_trainer.fit(gnn_model, ckpt_path=gnn_artifact_path)\n", - " return gnn_trainer, gnn_model\n", - "\n", - "gnn_trainer, gnn_model = continue_gnn_training(CONFIG)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "gnn_model = InteractionGNN.load_from_checkpoint(\n", - " gnn_artifact_path,\n", - " # map_location=\"cpu\",\n", - " # hparams=load_config(CONFIG)[\"gnn\"],\n", - ")\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Plot training metrics" - ] - }, - { - "cell_type": "code", - "execution_count": 13, + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "from pytorch_lightning import Trainer\n", + "from pytorch_lightning.loggers import CSVLogger\n", + "\n", + "\n", + "def continue_gnn_training(\n", + " path_or_config: str | dict,\n", + ") -> typing.Tuple[Trainer, InteractionGNN]:\n", + " config = load_config(path_or_config=path_or_config)\n", + "\n", + " gnn_model = InteractionGNN.load_from_checkpoint(\n", + " gnn_artifact_path, hparams=config[\"gnn\"]\n", + " ) # you may change `gnn_model`\n", + "\n", + " save_directory = os.path.abspath(\n", + " os.path.join(config[\"common\"][\"artifact_directory\"], \"gnn\")\n", + " )\n", + "\n", + " logger = CSVLogger(save_directory, name=config[\"common\"][\"experiment_name\"])\n", + "\n", + " gnn_trainer = Trainer(\n", + " accelerator=\"gpu\" if torch.cuda.is_available() else \"cpu\",\n", + " devices=1,\n", + " max_epochs=150, # you may increase the number of epochs\n", + " logger=logger,\n", + " # callbacks=[EarlyStopping(monitor=\"val_loss\", mode=\"min\")]\n", + " )\n", + "\n", + " with warnings.catch_warnings():\n", + " warnings.filterwarnings(\n", + " \"ignore\", message=\"None of the inputs have requires_grad=True.\"\n", + " )\n", + " gnn_trainer.fit(gnn_model, ckpt_path=gnn_artifact_path)\n", + " return gnn_trainer, gnn_model\n", + "\n", + "# gnn_trainer, gnn_model = continue_gnn_training(CONFIG)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "gnn_model = InteractionGNN.load_from_checkpoint(\n", + " gnn_artifact_path,\n", + " # map_location=\"cpu\",\n", + " # hparams=load_config(CONFIG)[\"gnn\"],\n", + ")\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Plot training metrics" + ] + }, + { + "cell_type": "code", + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -2045,7 +1268,7 @@ "49 49 0.001197 0.001530 0.985763 0.997204 0.000034" ] }, - "execution_count": 13, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -2163,6 +1386,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -2173,7 +1397,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -2186,7 +1410,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b2afb274ca374f40830bc58a69e1bf07", + "model_id": "0b5c1718765a4379b0a98e86f0baacde", "version_major": 2, "version_minor": 0 }, @@ -2208,7 +1432,7 @@ }, { "data": { - "image/png": "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GrROWnIycso6FPGA+nntr3STBJYQQgjxQJEElhBCCCHuWEWaRijuL/FXE0mJS6Vhu3plHYoQQggh/kWSwBJCCCHEHatI0wjF/eXntfvoNvDRsg5DCCGEEP8ySWAJIYQQ4o5JAkuUhZhLcexa8ytdB8n0QSGEEOJBI0XchRDi/9u79zA7y/Je/N81kzUzIeScjCQC0ViOKohEJaAUzxu9dNsq1L1bCxW2pVXRIhux8HMyitQKRqUg4mkLHja624qn1hbQFoIIKPWAQtQIhiSEkIQcycysmVm/PyBjDjPJZDJrvWsmn891rcusyTsrd56EeF/f97mfF9hnRgipt4v/22V56L6Hs/nxLZl96MyiywEA6qzuAdayZcuyePHibNq0KQsXLsx5552XpqadN4KtXLkyV1xxRVavXp329vZceOGFOfzww+tdKgAwhGntU7JhzfgJsO67775hXfec5zynxpWMzHD6q9/97nf52Mc+lsceeyyHH354LrrookyfPr2givdN5xuvzI///acD79/+wovzqXuvKLAiAGBvRru/qnuAdeWVV+Ztb3tbjj/++Fx66aVZsmRJTj311J2uufbaa3Pqqafmj//4j/Ptb38711xzTf7+7/++3qUCAEOYNntq1jy8tugyRk2jBlPDNZz+6kMf+lDe+MY35tWvfnVuuummfPKTn8wll1xSUMX75pEHH93p/ZbHt2bzhq2ZPG1SQRUBAHsz2v1VXc/AevTRR7Ny5cqccMIJaWpqyumnn57bb79996KamtLW1pYkOeigg1IqlepZJgCwF87AahzD6a+2bduWhx9+OK94xSuSJC9/+ctz5513FlHuiLz2f70izROakyTN5eac9LoThVcAcICp6w6stWvXZt68eQPv29vbs27dut2ue8c73pFzzjknN9xwQzZv3pzPfOYz9SwTANgLZ2A1juH0VxMnTsyMGTNyxx135CUveUm+973vpbu7O1u3bs2kSTsHQZ2dnVm0aNGgv1apVMp73vOeXHDBBaP++1i1atWQP3fif39u/sfjb8iX/r9/ykvOfGH++OLT93g9+856Fsv6F8v6F8v6F2sk61/UJqO6BljVanW332h/f/9u1y1evDhvfvObc/rpp+eWW27JFVdckY997GO7XdeIDRa1Z/2LZf2LZf2LZf1/ryfdWbtqXV3XZCw1WPU03P7qkksu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17VOhj7E8l//9V/z7ne/O29961sH7qawf4az/rfccksmTZqUF77whfUs7YAwnPXv7u7Oxo0bc+211+YTn/hErr/++jz44IP1LHPcGs6/9V/72tcyd+7cXHPNNbnsssvy6U9/Ohs2bKhzpTA+6K/qR39VLP1VsfRXxdJfMVoc4j4MpVIp06dPz4oVK/KsZz0rW7ZsSVtbm0S4RmbOnJnly5dnwYIFSZ68YzJr1qydrunv78/ll1+e/v7+/MM//EOmTZtWQKXj03DW/z/+4z/y29/+Nj/+8Y+zdevW9Pb2ZuvWrbnwwguLKHlcGc76T58+PQsXLszEiRMzceLEPPvZz87vfve7PPOZzyyi5HFjuP/W/+AHP8jb3va2tLe3p729Pc961rPy85//PC95yUsKqhzGJv1VfemviqW/Kpb+qjj6K0aTHVjDdMopp+See+5J8uTdkZNPPrngisavHdf6t7/9bSqVSg4//PBUq9WsWrUq/f39uf3227Nt27a8//3v11yNsqHWv6urK2vWrEmSXHbZZfnKV76S66+/PmeffXZe/epXa65GyXDWf+HChfmP//iP9Pf355FHHskvfvGLHHXUUUWWPW4M9W/9jus/b9683Hbbbent7c3q1atz//337zSWAAyf/qp+9FfF0l8VS39VLP0Vo6VUrVarRRcxFmzZsiUf/vCHs3bt2sycOTPvfe97M2XKlKLLGpeq1Wo+/elP5957782ECRPy7ne/O0cccUS6urryute9Ll/72tfyla98Jd/5znfS0tIy8H2ve93rcs455xRY+fgw1Prfddddue666/L5z39+p+u//e1v5+GHH/aY51EynPXv7+/Pddddl7vvvjt9fX05++yz87KXvazo0seFof6t33H9N27cmI997GNZunRpJkyYkD/7sz/Lq1/96qJLH9cefvjhfOhDH8qnPvWpokthlOmv6kd/VSz9VbH0V8XSXzWmsdhfCbAAAAAAaGhGCAEAAABoaAIsAAAAABqaAAsAAACAhibAAgAAAKChCbAAAAAAaGgCLAAAAAAamgALAAAAgIYmwAIAAACgoQmwAAAAAGhoAiwAAAAAGpoACwAAAICGJsAC2A//9m//lmuvvbboMgAAxg39FTAYARYwLlUqlbr8Ovfee29mzZpVl18LAKBI+iugSBOKLgA4cH3961/PTTfdlE2bNuX444/PO9/5zsycOTOVSiVf+MIXcuedd2bdunU57bTT8jd/8zdJkgcffDCf/exn88tf/jJTpkzJX/7lX+bkk09Okpx//vn5b//tv+Vf//Vfc+KJJ+bNb35zPvvZz+auu+7KE088kdNPPz3nnHNOSqXSbrWsW7cun/rUp/Kzn/0s/f39+Yu/+Iu85jWvyR133JGvfvWrueqqq5IkfX19ef3rX58vfOELufbaa3P77bfnpz/9aWbOnJmXvexl9Vs8AIBB6K+A8coOLKAQt956a77zne/kwx/+cD772c/mkUceyfe///0kyaWXXppVq1blgx/8YD7xiU9kyZIluffee7Ns2bJceOGF+cM//MN87nOfy2tf+9r83d/9XbZu3Zq+vr4sW7Ysd9xxRy6++OK85S1vyQUXXJBqtZpPfOITufTSS/ONb3wjt9122261bNiwIW9/+9szb968XHvttTn//PNz7bXXZsuWLXnggQdyzDHHDFz70EMPZdKkSZk9e3be/e53p7m5Oddff73mCgAonP4KGM/swAIKsXTp0kybNi3VajUzZ87MNddck6amptx1111ZsWJFbrjhhjQ3NydJ3ve+92XGjBn53Oc+lz/90z/Nq171qiTJG9/4xlx//fVZvXp1kqRareaiiy7K1KlT8+///u9pbW3NO9/5ziTJjBkzcuKJJ2bFihW71fK1r30txx9/fP7sz/4sSfKSl7wkTzzxRKrVau6///689rWv3anuo446KknywAMPZP78+Wltba3dQgEADJP+ChjP7MACCvGmN70phxxySM4777z8+Z//eb797W8PNFgve9nLBpqrJFmwYEHmzp2bu+++e6C5SpLu7u709vbm6U9/epYuXZrjjz8+U6dOTZL853/+Z37zm9/kDW94w8DrJz/5SebMmbNbLXfddVde+cpX7vS1V7/61Zk0aVKWLl260x3CHRus+++/P0cfffSorgsAwEjpr4DxzA4soO7WrVuXzZs358ILL8zf/M3f5Ic//GEWLVqUl73sZVm1alVe+MIXDly7fPny3HPPPXn+85+f5ubmtLW1DfzcLbfckuc///lpa2vLr371qxx77LE7fd8ll1ySk046KUnS1dWVVatWZf78+bvVs2rVqkyfPn3g/V133ZW+vr4ccsghaW1tzSGHHJIk2bx5c26//fa8733vS/LkHUJb2wGARqC/AsY7O7CAurvjjjvyv//3/87y5cuzYcOG/OY3v8khhxySyZMnZ968ebn11luzatWq/OpXv8pll12WUqmU9vb2lEql/NM//VM2btyY733ve7nhhhtyzjnnJHnyzt2RRx458GscccQR+fa3v51HH300v/vd7/K+970vN99886D1zJs3LzfddFMef/zx/OAHP8iHPvShzJ49OytWrEilUsn69evzxBNP5BOf+EQ2b9488OssXbp00IYNAKDe9FfAeFeqVqvVoosADiybN2/O3//93+enP/1pyuVynv3sZ+dtb3tbDjvssGzevDkf+chH8pOf/CSzZ8/O6aefnje96U0plUq54447ct1112Xz5s05+uij87/+1//K/PnzU6lU8rrXvS433nhjpk2bliR5/PHHc8UVV+RnP/tZpk+fnte+9rU588wz09S0e26/bNmyXHHFFVm5cmUOP/zw/MVf/EUWLFiQDRs25O/+7u+ydOnSHHrooXnVq16V//f//l+++MUvJkne//7352c/+1k+//nPZ8aMGfVcQgCAneivgPFOgAUAAABAQzNCCAAAAEBDE2ABAAAA0NAEWAAAAAA0NAEWAAAAAA3t/wf7D+CJuv1ygwAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABLAAAAJYCAYAAABy5h8aAADHaklEQVR4nOzdd3hU1dbA4d/U9EoKJSSBhNCrFEWaIqAgImD9Lk0RhItYUEAFBZQOoiJKEVBQlCKCF5EqTaQqCIRek5CQhPQ6mfr9MWRgmAQCEiaE9fr4POTMPmfW2ZBkzTq7KCwWiwUhhBBCCCGEEEIIIcoopbMDEEIIIYQQQgghhBDiRqSAJYQQQgghhBBCCCHKNClgCSGEEEIIIYQQQogyTQpYQgghhBBCCCGEEKJMkwKWEEIIIYQQQgghhCjTpIAlhBBCCCGEEEIIIco0KWAJIYQQQgghhBBCiDJNClhCCCGEEEIIIYQQokyTApYQQgghhBBCCCGEKNOkgCWEEEIIIYQQQgghyrRyW8BasmQJHTp0KPL/jRs3AnD+/Hn69OlDp06dOHLkCGazmdGjR/PEE08we/ZsoqOj6dChA59//vlN32/dunV06NCBn3/+ubRvTQghhBDCKb799lu7nKpjx4706tWLH3/88bavmZCQQIcOHRgzZgwAJpOJ9PR0cnNz71TYQgghhCgH1M4OoLRFREQQHh5ud6xSpUoAbNq0iUuXLvH4449TuXJlTp06xd69e6levTpt2rTBx8eH9u3bU6tWrZu+T+XKlWnfvj2hoaGlcRtCCCGEEGVGjRo1CA0NJT8/n/3797Nw4UIqV65M27Ztb/labm5utG/fnqioKADi4uIYMGAA7du35913373ToQshhBDiHlXuC1jt2rXjhRdeKPK1/Px8ADp16kSFChWIjY0FoGHDhtStWxegxIlTw4YNadiw4R2IWAghhBCibHvsscfo0aMHAD/++CMLFy5k//79t1XA8vPzs+VbJpOJCxcuAJCVlcWlS5dsDx6FEEIIcX8rt1MIb2bWrFn8+uuvALz11lvMnj2bESNGALBq1SomT57sMIXQaDSyaNEi+vTpw1NPPcXw4cM5f/484DiFMDExkdGjR/P000/z4osv8t1332E2mwEYM2YMHTp0YP369fTv359u3boxfvx49Hr9Dd/n+PHjdOjQgWHDhtnuY/78+XTo0IFdu3bdnY4TQgghhLhG1apVAcjLywOgQ4cODBo0yPb6vHnz6NChA3/99Rdnz56lQ4cOTJ06lQULFjBixAi7KYS5ublMmDABwDaya+nSpXTo0IFFixbZrjl06FA6depEZmbmXbxTIYQQQjhTuS9gLViwwGENLIBnnnmGhx9+GIA333yTHj16MGTIEADatm1Lnz59HK61ZMkSvv/+eypWrEiHDh04duwY77//PgaDwa6dwWBgxIgRHD16lKeeeorw8HAWL17M4sWLHWKLiIjAzc2N7du3s379+hu+T2RkJJUqVeLo0aNkZ2cD8Ndff+Hh4UGzZs3ubMcJIYQQQtyETqdj27ZtALe0jML+/ftZvnw5np6edse9vb35+uuvAWjfvj2jRo3i0UcfBWDPnj0AZGdnc/LkSZo0aYKPj88duAshhBBC3AvK/RTCotbAAqhYsSJ+fn4AhIWFERwcTFhYGAAVKlSgcuXKpKWl2Z2zdu1aNBoNEyZMQKPREBERwdGjRx3a/f3331y6dIkOHTrQqlUrmjdvzqFDh9i0aRP9+vWztXv33Xd54IEH2L59O+PHjycmJuam7/Poo4+yZMkS9u/fT6NGjTh79iwdO3ZEo9HcwV4TQgghhCje7NmzmT17tu1rDw8PnnzyyRKfr1Qq+emnn/Dy8iIhIeGGbYOCgqhXrx7R0dGkpKQQHR2NxWLhkUceue34hRBCCHHvKfcFrButgXUrDAYD6enpRERE2IpFnTt3pnPnzg5tExMTAesi8Zs2bbIdT05OthutFRISAlgLZgBms/mm71NYwNqzZw9Go9F2j0IIIYQQd0vhIu4AwcHBPPHEEwQEBJT4/MaNG+Pl5VXi9o8++ijR0dHs3buXY8eOoVarbSPphRBCCHF/KPcFrDtFo9Hg7e1NbGwser0erVbLxo0bOX78OC+++KJdW39/fwBeeeUVnn/+eQAuXbqE2Wy+6Uipm71PaGgoERER7Nu3D6PRiJeXF02aNCmdmxZCCCGEKMK1i7hfT6FQkJGRgcViQaFQkJqa6tBGpVLd9D0sFovtz23atGHWrFns3r2bM2fO0Lx5czw8PG7/BoQQQghxzyn3BawdO3YQFxdnd6xBgwZ06tTplq/VqVMnVqxYwYcffkhoaChr167F39+f1157za5d06ZN8ff356effgKsxau1a9fSsWNHhg8f/q/fp3379sybN4+dO3fSuXPnEiWBQgghhBB3Q9WqVYmNjeX9999HrVazf//+Wzq/8GHfyZMnOXjwII0bN8bHx4dmzZqxb98+LBaLjD4XQggh7kPlfhH306dPs3HjRrv/jx49elvXeumll3j++eeJi4tj/fr11K9fn4kTJzoUkNzd3ZkyZQrVqlVjyZIl7N27l+eee44333zzjrxPYdImCZwQQgghypo33niDkJAQjh07hkql4vHHH7+l8ytVqkSHDh3IyMhgx44dtuOPPvooFosFFxcXHnrooTsdthBCCCHKOIXl2vHZ4p7Rq1cv9Ho9S5cuRaks93VIIYQQQtznkpKS6NWrF23btmX06NHODkcIIYQQd1m5n0JY3sTHx7Np0yaSkpJ45plnpHglhBBCiHIvOjqalStXAtb1t4QQQghx/5Hqxz2mMIFr2LAhzz77rLPDEUIIIYQodb/99huHDx+mU6dOtGjRwtnhCCGEEMIJZAqhEEIIIYQQQgghhCjTZASWEEIIIYQQQgghhCjTpIAlhBBCCCGEEEIIIco0KWAJIYQQQgghhBBCiDKtXO5COHLkSN544w1nh3HPMhqNzJ49m3fffdfZoQjhNCtWrCAqKorIyEhnhyKE+Be0Wi0BAQG3fN5zO6fzV/oZPmvSn6eqNCuFyO49kl/9O9fmV3/88QfJycm0bNmSSpUqFdler9ej1WpLdO3MzEwOHTpEamoqZrMZHx8fatWqRUhIiK3N+fPnOXXqFDk5OXh4eFCrVi3Cw8Ntr1+8eJETJ06QmZmJu7s74eHh1KpVC4VCAcDu3bsxmUy0atXK7r0vXbrE0aNHyczMxMXFhZCQEOrWrYtGoyk23ry8PP755x8uX74MQHBwMA0aNMDd3R2w7rp9+PBhsrOzAahVqxapqalUqlSJWrVqAXDy5EmOHz+Oj48PjzzySIn6qaQyMzM5ePAg6enpeHp6EhUVRVhYmO31CxcusG/fPlq1akXlypUByM3Ntfs78Pf3p1GjRnh5edleX7t2LTVq1KBx48Z3NN57ieRXQpQPzsqvyuUi7gqFgtK6rYSEBNsvqvKqoKAAHx8fdDqds0NxYDAYbpgQidJ1P/V/9+7d6du3L08//bSzQ7G5H37+lGXS/851u/1/q+dl6nLptXM6v6UewWw2Eejqw7zmg3m6iux8J/nVv3NtfqXX6/niiy9Yv349Dz74II8//jjh4eFUqFCBxMRE4uLi8PDwoEmTJncltrL6+91gMKDT6WxFoHvdqVOn+OOPP+jfv7/d8bLa/6VB8itxPel/57rX8qtyOQJLCCGEEKIkjOZMLqTOJk9/FpXCwiub0thjMoCH9cPkZV0m3f+YwMTItwnzrERFfz9aBwaguTIqRYjbodVqefvtt+natSvffvstn3zyiW20EYC7uzuPPfbYXStglVUajabcFHYMBgNr1qyhXbt2zg5FCCFKXWnlV1LAEkIIIcR9yYKBXWcfITP/IArARaUmxdARXLRwZaRRXb9gfHIa8v6u4+B/CbQaanl783u71lR2dXXuDYh7XlRUFBMnTgQgLS2NlJQUfHx8CAgIQKVSOTk6cSeZzWaefPJJatas6exQhBCiVJVmfiWLuAshhBDivpSZ9zdZuoO2r/3cHqCKT03r4z0LvFrjEZ717cuBbD+oFASuLgCcyMpi5ukzTopalFf+/v5ERUURHBwsxatyyMXFRYpXQoj7QmnmV+ViBNa4ceMYO3ass8O4b/30008sWbKEhx9+mHfeeYejR48ydepUcnNz+emnn+7oe+Xk5PD111+zf/9+3N3dadeuHX379kWpLL4WazQaWbp0KVu3biU1NZWoqCj69+9vSyK+/fZblixZUuz5q1evxsPDg8zMTBYuXMi+ffvIz8+nVq1aDBgwgIiIiDt6j0IIIe6O5NwU8grAwwXMFvBxrYdK44HKouLbFkOopG7AY1t/By8XMJttTw0BzufmOjHyu0PyKyGEEELcqtLMr8pFAWvMmDGMGTPG9rVC1qW4awwGA19//TXdu3ene/fuAPzwww/4+PgwatSoO/5+o0ePJisri4EDB5Kdnc3ChQvJy8tjyJAhxZ7zySefsHv3bvr06UOVKlXYsmUL77zzDjNnzqRatWo89NBDRe6gsG3bNtLT03Fzc8NisTBu3DgSExPp168fnp6erFq1infeeYf58+dToUKFO36vQgghSpc5M5a4NKhVCRSARhNJh/DaTA9/mca+1UjTGzjxdBfOZGdzKjuL09nZHM/K5nh2Dq6q8j+IXfIrIYQQQtyq0syvykUBSziPXq/HbDbTokULgoODAevWyLVr1yYqKuqOvtfhw4c5deoUM2fOpHbt2gAolUoWLFhA37598fT0dDgnNjaWzZs3M2rUKNuimS1atGDkyJEsX76ckSNHUrNmTYch3cnJycybN49JkyahVCqJj4/nyJEjjBs3jpYtWwLQqFEjevTowc6dO+nWrdsdvVchhBCly5L0BzX3TeBS0MMcz/qTcB/QaiN5t9HVn+f+Wg3+Wg01PT1IzfDiYFIO3jkFBGXkcijJTEptAwGe5WOBaSGEEEKIf6u086vy//hQ/Cvp6elMmDCB559/nh49ejBx4kQuX74MwNmzZ21b4I4YMYIJEybQq1cvoqOj+fnnn+natesdjWXnzp0EBgbailcAbdq0QafTsW/fviLPOXPGOoe2YcOGdsebNWvGrl27in2vL7/8kscee4y6desC1pFmgF2RzN3dHa1Wi16vv70bEkII4RSW5N2YtvXGZMjikWwjTQLGklkA3q7FP3hpG+rCX/kGTiqgwNuDHFd3/vvHZbIM5rsYuRBCCCFE2XQ38ispYIli6XQ6XnvtNRISEhgyZAhDhgzh1KlTDBs2DJ1OR3h4ON988w1gndr35ptv8uWXX1KzZk06d+7Md999d0fjSUlJoWrVqnbH/P398fT0JDU1tchzfH19AeuIqmslJSWRl5eHTqdzOOfvv//mwIED9O3b13YsLCyMyMhIFi9eTFJSErm5uSxcuBCVSsWDDz74L+9MCCHE3WTaNQSLLhULYMw6yoPJyTSL/BWtumKx54R5qPnqscqgAIUKNO5qjuSaGLTz8t0LXAghhBCijLob+ZVMIRTFWr16NTqdjilTpthGHtWtW5eXXnqJbdu28fjjj+Pn5weAt7c3Hh4eAGg0GlxdXW3FozslPT3d9n7X8vLyIi0trchz6tSpQ3BwMLNmzWL48OEEBASwa9cu1q5dC0BWVhau123TuWjRIrp164aPj4/tmEKhYNKkSfTr149evXrZjo8fP96hqCaEEKUtJycHyzULXt4PtFot2dnZtq8VCkWRU8dLQhHQFEvWaQAsgOHcYiIrPwI+QcWeY8gzEL77BP9Xvzo/HEnDYrb2/z+pMgpXCCGEKA8kvyr7+ZUUsESxDh8+TP369TGbzWRlZQHWaXMhISEkJCTc9nVXrFjBvHnzin19/PjxtGjRwuG4xWIpcgFZi8WC0Wgs8lqurq6MGzeOiRMn0r9/fwCCgoJ46qmnWLlyJd7e3nbt9+/fz5kzZ/joo4/sjmdlZfHBBx8QGhrKiy++iJubG7///jvTpk3j448/tpvWKIQQpc1iseDl5eXsMO4qT09Pu98B1yZbt0r10BdYslMwx21AoVWAUoHhz5fQ+EeBX4Miz9FlF7Bk+G806FWXv9u25kR8Fu5KBZObySYeQgghRHkg+VXZz6+kgCWKlZSURGxsLH/++afDa9WrV7/t63bu3Jk2bdoU+3pxI7f8/PzILWJbzdzc3BvuAhgREcH8+fNJSEjAaDRStWpVfv75Z9zc3BxGX61Zs4YWLVo4xLBq1SouXLjADz/8YPuh1qhRI0aMGMHs2bOZOXNmse8vhBCijFG5oG73LQULHsGSl44yOASFtwfmuF9QFpNgpcemo3F15+DcPdS5mMWFTo8yvYkP7Su73eXghRBCCCHKoLuQX0kBSxTLx8eHrl278vrrr9/R63p4eNimG96KwMBAdu/ebXcsMzOT7OxsAgICijzHaDRy8eJFgoODqVKliu346dOnqVatml3bjIwM9u7dywcffOBwnaSkJCpWrOhQkY+KimLDhg23fC9CCCGczM0bi++zGP5YiSIjBFWlCJSWyqhMW1FWDEPh5YfC0w/zuctYftxKSlQUZrMJjwpBZK05wOgmVWlfubWz70KIUmM2m1myZAm///47ubm5NG7cmNdee81h9Pr1duzYwbJly4iLi6Nq1ap069aNjh072l43mUysWLGC9evXk5qaSkhICC+++GKxDzcPHDiATqez7QIthBCiDCvl/EoKWKJYUVFR7NmzB4PBgEZj3cYyOTmZ0aNH07dvXx5++OHbuu7tTiFs3bo1q1at4vz587bi0549e9BoNEW2LzR06FA6d+7M4MGDAWuhavfu3QwYMMCu3R9//IFSqaR58+YO1wgLC2P79u0O63AdPXqU8PDwG96vEEKIMsqYjzk7DbL3Yjq113pMqcBiNOD+zkwUyRHkDZyHpoqRy89b12+wWCz4+wYR7q51YuBClL758+ezevVqXnrpJXx9fVmyZAnDhw9nzpw5RS7pALB+/XpmzJhBz5496du3L8ePH+ezzz7DbDbz+OOPA/Ddd9+xfPly+vTpQ7Vq1dizZw8ff/xxkfmf2WxmwYIFNGzYUApYQghxryjF/EoKWKJYzz33HOvXr2fEiBF0794dnU7Hzz//TF5eHo0aNbrt697uFML69etTu3ZtJk2axKuvvkp2djZz5szhySeftI2Mys7OZubMmTz44IO0b98etVrN448/ztq1awkJCcHLy4tly5YRFBTEo48+anf9f/75h8jISLRax2+azp07s2rVKkaOHGm3BtbRo0eZPn36bfeFEEII51EGhFz94soHcrNR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cdra2vIP//APOeaYY7b7XKM1WNSH9S+W9S+W9S+W9R++vnG9efg3fxjRNRtNDVY9VavV7X6fgx3RsHDhwrzxjW/M6aefnttuuy1XXnll/vVf/3W7z3V0dKSjo2O7r5dKpVSr1ZErfAsrVqzIrFmzBv21iRN+n4mTJw756+y5Ha0/tWf9i2X9i2X9i7W7619UT1zXAGs4DVZ/f3+6uroybdq0fOELX8jdd9+dD33oQ/nKV76y3WGkjdZgUXvWv1jWv1jWv1jWf/i6u3py0we/nnWrNuTK//7JLPxB5x4HSaOtwaqn6dOnZ+nSpQPvV69enRkzZmz1ma6urvzqV7/KZZddlnHjxuX1r399vvjFL2bDhg2ZNGlSvUveJUYIAYCkzmdgDafBampqypQpU/Lyl788TU1NefGLX5yenp6sX7++nqUCALvp7190SVYvW5vent78+s7788EzPlJ0SWPazJkz097envvvvz9Jcvvtt+fEE09MkjzxxBN55pln0tbWlmnTpg2cPfrTn/40++yzTyZOnFhY3cNV6a6k3FouugwAoGB1DbCG02Alyfz58/P9738/SXLnnXdm0qRJmTp1aj1LBQB2w/o1G/LMpq6tvrby4VUFVbP3uOSSS3LttdfmbW97W6ZPn55TTz01SbJgwYLcddddSZIPfOAD+epXv5o3vvGN+eIXv5iOjo5RMWLpKYQAQFLnEcLk2QZr4cKFqVQqOeaYY7ZqsM4444yceuqpOe+883LFFVfkm9/8ZiZOnDjomCAA0HgmT5+UE1/zwnz9E99Jf281rRNa8tcXnF50WWPenDlzcs0112z39WuvvXbgvw877LBBP9PoKt29KbcKsABgb1f3bmA4DdakSZNy2WWX1bMsAGCE/N1H/za9lb5885P/nnd89C057eyXFl0So5gzsACApM4jhADA3uGCa89LU6kpp51zatGlMMpVeioptzgDCwD2dgIsAKAmWsa3pOeZnqLLYJRziDsAkAiwAIAaaWkrp6erUnQZjHIOcQcAEgEWAFAjreNb0m0HFnvIGVgAQCLAAgBqxAghI8FTCAGARIAFANSIEUJGghFCACARYAEANWKEkJFghBAASARYAECNtLS1pKdLgMWe8RRCACARYAEANeIMLEaCHVgAQCLAAgBqxAghI6Gnu5IWO7AAYK8nwAIAasIh7owEO7AAgESA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t37L9V+/fn3+9V//NYsXL864cePypje9Ka94xSuKLn1Me/TRR/NP//RP+eQnP1l0KYww/VX96K+Kpb8qlv6qWPqrxjQa+ysBFgAAAAANzQghAAAAAA1NgAUAAABAQxNgAQAAANDQBFgAAAAANDQBFgAAAAANTYAFAAAAQEMTYAEAAADQ0ARYAAAAADQ0ARYAAAAADU2ABQAAAEBDE2ABAAAA0NAEWAB74N///d9z3XXXFV0GAMCYob8CBiPAAsakSqVSl59z7733ZsaMGXX5WQAARdJfAUUaV3QBwN7ra1/7Wm655ZZs2LAhxx57bN75zndm+vTpqVQqueGGG/KTn/wka9asyamnnpp3v/vdSZKHH344n/nMZ/Lb3/42kyZNytve9raceOKJSZILLrgg/+W//Jd85zvfyfHHH583vvGN+cxnPpO77rorTz/9dE4//fSce+65KZVK29WyZs2afPKTn8x9992X/v7+/O3f/m1e+cpX5kc/+lG+8pWv5Oqrr06S9PX15TWveU1uuOGGXHfddbnzzjvzy1/+MtOnT8/LXvay+i0eAMAg9FfAWGUHFlCI22+/Pd/+9rfzz//8z/nMZz6Txx57LN///veTJJdeemlWrFiRD33oQ/nYxz6WRYsW5d57782SJUty0UUX5S/+4i/y2c9+Nq961avy4Q9/OE899VT6+vqyZMmS/OhHP8oll1ySs846KxdeeGGq1Wo+9rGP5dJLL83Xv/713HHHHdvVsm7durzjHe/I7Nmzc9111+WCCy7Iddddl02bNuWBBx7I3LlzBz77yCOPZMKECdlvv/3yrne9K83Nzbnxxhs1VwBA4fRXwFhmBxZQiMWLF2fKlCmpVquZPn16rr322jQ1NeWuu+7KsmXL8vnPfz7Nzc1Jkve9732ZNm1aPvvZz+Zv/uZvctpppyVJXve61+XGG2/MypUrkyTVajUXX3xxJk+enP/4j/9Ia2tr3vnOdyZJpk2bluOPPz7Lli3brpabb745xx57bN70pjclSV7ykpfk6aefTrVazf33359XvepVW9V9xBFHJEkeeOCBzJkzJ62trbVbKACAYdJfAWOZHVhAIV7/+tdn//33z/nnn583v/nN+da3vjXQYL3sZS8baK6SZN68eZk1a1buvvvugeYqSbq7u9Pb25sDDjggixcvzrHHHpvJkycnSX74wx/m97//fV772tcOvH7xi19k5syZ29Vy11135eUvf/lWX3vFK16RCRMmZPHixVvdIdyywbr//vtz5JFHjui6AADsLv0VMJbZgQXU3Zo1a7Jx48ZcdNFFefe7352f/vSnWbBgQV72spdlxYoVedGLXjTw2aVLl+aee+7JC17wgjQ3N6etrW3g12677ba84AUvSFtbWx588MEcddRRW33f+9///pxwwglJkq6urqxYsSJz5szZrp4VK1Zk6tSpA+/vuuuu9PX1Zf/9909ra2v233//JMnGjRtz55135n3ve1+SZ+8Q2toOADQC/RUw1tmBBdTdj370o/zP//k/s3Tp0qxbty6///3vs//++2fixImZPXt2br/99qxYsSIPPvhgLrvsspRKpbS3t6dUKuX//t//m/Xr1+d73/tePv/5z+fcc89N8uydu8MPP3zgZxx22GH51re+lccffzx/+MMf8r73vS+33nrroPXMnj07t9xyS5588sn8+Mc/zj/90z9lv/32y7Jly1KpVLJ27do8/fTT+djHPpaNGzcO/JzFixcP2rABANSb/goY60rVarVadBHA3mXjxo35l3/5l/zyl79MuVzO0Ucfnbe+9a056KCDsnHjxlxxxRX5xS9+kf322y+nn356Xv/616dUKuVHP/pRrr/++mzcuDFHHnlk/sf/+B+ZM2dOKpVKXv3qV+emm27KlClTkiRPPvlkrrzyytx3332ZOnVqXvWqV+XMM89MU9P2uf2SJUty5ZVXZvny5Tn44IPzt3/7t5k3b17WrVuXD3/4w1m8eHEOPPDAnHbaafk//+f/5Atf+EKS5AMf+EDuu+++fO5zn8u0adPquYQAAFvRXwFjnQALAAAAgIZmhBAAAACAhibAAgAAAKChCbAAAAAAaGgCLAAAAAAa2v8Pb9DZvSXlrwgAAAAASUVORK5CYII=", "text/plain": [ "<IPython.core.display.Image object>" ] @@ -2224,141 +1448,591 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'gnn_model' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[6], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mGNN\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mgnn_plots\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m plot_best_performances_score_cut\n\u001b[1;32m 2\u001b[0m _, _, performances_for_various_score_cuts \u001b[38;5;241m=\u001b[39m plot_best_performances_score_cut(\n\u001b[0;32m----> 3\u001b[0m model\u001b[38;5;241m=\u001b[39m\u001b[43mgnn_model\u001b[49m,\n\u001b[1;32m 4\u001b[0m path_or_config\u001b[38;5;241m=\u001b[39mCONFIG,\n\u001b[1;32m 5\u001b[0m partition\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mvelo-sim10b-nospillover\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 6\u001b[0m score_cuts\u001b[38;5;241m=\u001b[39m[\u001b[38;5;241m0.1\u001b[39m, \u001b[38;5;241m0.2\u001b[39m, \u001b[38;5;241m0.3\u001b[39m, \u001b[38;5;241m0.4\u001b[39m, \u001b[38;5;241m0.41\u001b[39m, \u001b[38;5;241m0.42\u001b[39m, \u001b[38;5;241m0.43\u001b[39m, \u001b[38;5;241m0.44\u001b[39m, \u001b[38;5;241m0.45\u001b[39m, \u001b[38;5;241m0.46\u001b[39m, \u001b[38;5;241m0.47\u001b[39m, \u001b[38;5;241m0.48\u001b[39m, \u001b[38;5;241m0.49\u001b[39m, \u001b[38;5;241m0.5\u001b[39m, \u001b[38;5;241m0.55\u001b[39m, \u001b[38;5;241m0.6\u001b[39m, \u001b[38;5;241m0.7\u001b[39m, \u001b[38;5;241m0.8\u001b[39m, \u001b[38;5;241m0.9\u001b[39m],\n\u001b[1;32m 7\u001b[0m n_events\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m200\u001b[39m,\n\u001b[1;32m 8\u001b[0m seed\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m,\n\u001b[1;32m 9\u001b[0m )\n", - "\u001b[0;31mNameError\u001b[0m: name 'gnn_model' is not defined" - ] - } - ], - "source": [ - "from GNN.gnn_plots import plot_best_performances_score_cut\n", - "_, _, performances_for_various_score_cuts = plot_best_performances_score_cut(\n", - " model=gnn_model,\n", - " path_or_config=CONFIG,\n", - " partition=\"velo-sim10b-nospillover\",\n", - " score_cuts=[0.1, 0.2, 0.3, 0.4, 0.41, 0.42, 0.43, 0.44, 0.45, 0.46, 0.47, 0.48, 0.49, 0.5, 0.55, 0.6, 0.7, 0.8, 0.9],\n", - " n_events=200,\n", - " seed=0,\n", - ")\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 4. GNN inference " - ] - }, - { - "cell_type": "code", - "execution_count": 6, + "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "INFO:--------------------- Step 4: Scoring graph edges using GNN ---------------------\n", - "INFO:---------------------------- a) Loading trained model ----------------------------\n", - "INFO:Load model from artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt.\n", - "INFO:Load model from artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt.\n", - "INFO:----------------------------- b) Running inferencing -----------------------------\n", - "INFO:Remove directory `/scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover-only-long-electrons`.\n", - "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/test/velo-sim10b-nospillover-only-long-electrons to /scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover-only-long-electrons\n" + "INFO:Load 200 files located in /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/test/velo-sim10b-nospillover\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "53b782bbd20549638098ef6fae64f4a5", + "model_id": "91ddae17207d4b9a9e133df76e7887f6", "version_major": 2, "version_minor": 0 }, "text/plain": [ - " 0%| | 0/1000 [00:00<?, ?it/s]" + " 0%| | 0/200 [00:00<?, ?it/s]" ] }, "metadata": {}, "output_type": "display_data" }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", - " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "output: tensor([-1.2801], device='cuda:0')\n", - "truth: tensor([True], device='cuda:0')\n" - ] - } - ], - "source": [ - "run_gnn_inference(CONFIG, partitions=[\"test\"], checkpoint=gnn_artifact_path)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# 5. Build track candidates from GNN" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "INFO:----------- Step 5: Building track candidates from the scored graph -----------\n", - "INFO:Score cut: 0.45\n", - "INFO:Remove directory `/scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover`.\n", - "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover to /scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover\n" - ] - }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "99c522065acd4b3ea0eeb7e66feee2c7", + "model_id": "c737875249e04c03b5c38e3ec9955499", "version_major": 2, "version_minor": 0 }, "text/plain": [ - " 0%| | 0/1000 [00:00<?, ?it/s]" + " 0%| | 0/200 [00:00<?, ?it/s]" ] }, "metadata": {}, "output_type": "display_data" }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "INFO:Remove directory `/scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover-only-long-electrons`.\n", - "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover-only-long-electrons to /scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover-only-long-electrons\n" - ] - }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "80401649c2d54bc897aa411db921fad9", + "model_id": "ac377279aafc4b5180f4639ca6d039e9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "f85018c85c654d548916880638dee82e", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/16 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "27babb13915a4937bb5ecb72296ee5eb", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7f6a4f1b645b4747b13c741e234ed7bc", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "fe292d18a81c464a97ed34ef443e2fa6", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4135aaeedd4c4ce3ab377fab149dba5a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "8f2216787d9d4aeaa02b8b9bdfefaa40", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "6992b033ce614752878da7593a75cfff", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ed9f3c809e7c4e51b44a358ec82b78b7", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "896ef3db87ee47f2a44d9737076232c2", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4b6e0862e10a4d3895142114ea69d609", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2c942e6fc1354e4e8c29448b4849bcb9", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "81517adcee3f45f2aabf4180ccf00a19", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5f6e952c17a0420aac2e2e011bdfb016", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7aef953e9dd34c40b680254ae973cace", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "9bd250618ba44ce5a74a9776fb8580b2", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "47d644dc6dbf4c9cbcb40c56ada0ed92", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b4989466e64246258d9c54882fb24ba5", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "GNN inference: 0%| | 0/200 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Figure was saved in output/focal-loss-pid-fixed/performance_given_score_cut.pdf\n", + "Figure was saved in output/focal-loss-pid-fixed/performance_given_score_cut.png\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAACTgAAAIwCAYAAACoB5bfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3RU1d7G8e+U9EoKEEroPQKCgKBURSmKgBULdpArCL72rqggIgpiBwvoRcWCFxAVARFFioJU6S2UgCmQXmfm/eMkk4T0kDApz2etWefM7H3O3pOMMpN5zm+bHA6HAxERERERERERERERERERERERkSrI7OoJiIiIiIiIiIiIiIiIiIiIiIiIFEUBJxERERERERERERERERERERERqbIUcBIRERERERERERERERERERERkSpLAScREREREREREREREREREREREamyFHASEREREREREREREREREREREZEqSwEnERERERERERERERERERERERGpshRwEhERERERERERERERERERERGRKksBJxERERERERERERERERERERERqbIUcBIRERERERERERERERERERERkSpLAScREREREan2YmJieOaZZ4iIiMDX15egoCB69uzJm2++SUZGRoWNs2zZMoYNG0bDhg3x9PSkWbNm3HnnnWzevLnEY1NSUvj222/5z3/+Q/fu3QkODsbNzY2AgAA6derEAw88wD///FPquezYsYN7772X5s2b4+XlRVhYGEOHDuW77747h2coIiIiIiIiIiIiIlL1mBwOh8PVkxARERERESmvjRs3Mnz4cKKiohg4cCDXXHMNqampzJs3jx07dnDhhReydOlSGjRoUO4x7HY79913H3PmzCEoKIgxY8bQrFkz/vrrL+bNm4fdbmfGjBk88MADhR5/5MgRIiIiSEpKAmDgwIH069eP0NBQDh06xOeff87hw4exWq1Mnz6dSZMmFTufDz/8kPvvvx+bzcbo0aPp0aMHkZGRfPDBB0RHR3PzzTczb948rFZruZ+ziIiIiIiIiIiIiEhVoYCTiIiIiIhUW5GRkVx00UVER0czadIk3njjDWdbeno6gwcP5pdffqFr166sXbsWDw+Pco3z+OOPM23aNEJCQli3bh0tW7Z0tv34448MHToUh8PBl19+yfXXX1/g+N27d9OuXTsAPvroI+6888587ampqVxzzTX8/PPPAKxYsYLLLrus0Ll8//33DBs2DLvdzqJFixg+fLiz7ciRI/Ts2ZOoqCjuv/9+3nrrrXI9XxERERERERERERGRqkQBJxERERERqbZuvPFGFi5cSHh4OHv37i0QYDpw4ABt2rTBZrPx2muv8dBDD5V5jJ07d9KxY0fsdjvvvvsu9913X4E+d9xxB/PmzaNevXocOHAAHx+ffO05AafLLruMFStWFDrOnj17aNu2LQAjR47km2++KdAnPT2d1q1bExkZyY033sgXX3xRoM8nn3zCnXfeiclkYuPGjVx00UVlfs4iIiIiIiIiIiIiIlWJ2dUTEBERERERKY99+/bx1VdfATB69OhCqzO1aNGC/v37AzBt2jSysrLKPM7UqVOx2+14eXlxyy23FNrn3nvvBeDUqVPMnTu3QLuXlxc9evQo8niANm3a4OvrC8CuXbsK7fPpp58SGRmZb8yz3XTTTfj5+eFwOHj55ZeLfmIiIiIiIiIiIiIiItWEAk4iIiIiIlItff311+QUpL388suL7Ddw4EAAoqOjWb16dZnGSE9PZ8mSJQD06NEDPz+/Qvv17NnTGU7KCV3l1aRJE9avX19gabqzeXl5ARS5lF7Oud3d3endu3ehfTw9Pbn00ksBY/m8pKSkYscUERERERHXcjgcvPXWW/j6+mIymcr8uaU0li1bxrBhw2jYsCGenp40a9aMO++8k82bN5f6HMnJybz66qt07dqVwMBAAgICuPDCC3n55ZdJSEio8DmLiIiIiOSlgJOIiIiIiFRLq1atcu537ty5yH4XXnhhoceUxl9//eX8Q31xY5jNZjp27AjAunXrSE1NLdM4AIcPHyY6OhqAAQMGFGi32WysWbMGgPbt2+Pu7l7kuXKec1paGn/88UeZ5yIiIiIiIufHgQMH6NevHxMmTCA5ObnCz2+32xkzZgxDhw5l7dq1jB49mjfffJOBAweyYMECevTowZtvvlniefbv30/Xrl157LHHsFgsPP/887z44ot4e3vz9NNP07lzZ3bu3Fnh8xcRERERyaGAk4iIiIiIVEs7duwAwM/Pj4CAgCL7NW7c2Llf1j+454xx9nmKG8dut7N79+4yjWO323nkkUcAaNCgAY8++miBPvv37yctLa1Mc4GyP2cREREREal8OVWbOnXqxJYtW7j44osrZZwnn3ySOXPmEBISwoYNG5g6dSpjxozhgw8+4H//+x92u51JkyYVWok2R3x8PEOHDmXPnj1ce+21rFu3jkmTJvHAAw/w+++/c8stt3Do0CGGDh1KTExMpTwPERERERGrqycgBrvdzokTJ/Dz88NkMrl6OiIiIiLiYg6Hg8TERBo0aIDZrOsSzpaens7JkycBqFevXrF987YfPny4TOPk7V/WcfJWjjpbZmYmp0+f5syZM/z111/Mnj2b9evXM2DAAD799NNCxzqXuRRFn0NEREREJIc+g5xfL7zwAi+88AJXXnklc+bM4cMPP2T9+vUVOsbOnTuZPn06AC+++CItW7bM1z5o0CBuu+025s2bx4QJExgyZAg+Pj4FzjNlyhT27t2Lr68v7777LhaLxdlmMpmYPXs233//PUeOHOGFF15g9uzZRc5Jn0FEREREJK+yfA5RwKmKOHHiRIlXYYuIiIhI7XP06FEaNWrk6mlUOYmJic59T0/PYvt6eXkVepwrx1m7di39+/d33g8ODmb27Nncd999WK2Ff0yrjLnoc4iIiIiInE2fQc4Ph8PB3LlzufvuuyttjKlTp2K32/Hy8uKWW24ptM+9997LvHnzOHXqFHPnzmXixIn52hMTE52BpeHDhxMaGlrgHHXq1OG6665j7ty5vP/++zz33HOEhIQUOp4+g4iIiIhIYUrzOUQBpyrCz88PMH5p/v7+Lp6N5JWVlcW6devo2bNnkV82iZSGXktSkfR6koqi11LVlZCQQOPGjZ3vEyW/1NRU5767u3uxffO2p6SkVIlxOnXqxM8//0xaWhqHDh3i22+/ZcKECUyZMoVXXnmF0aNHn5e5FPX6GjVqVJFfgMj5YbfbOXbsGI0aNVIFBTknei1JRdFrSSqKXktVV0pKCjfccIM+g5wnzz//fKVWMEpPT2fJkiUA9OjRo8jfa8+ePfH19SUpKYmvvvqqQMBp6dKlzs8il19+eZHjDRw4kLlz55KZmcl3333HPffcU2g/fRdSdelvRFJR9FqSiqTXk1QUvZaqrrJ8F6LfXBWR80HG399fb+qrmKysLHx8fPD399f/7OSc6LUkFUmvJ6koei1VfSrZX7i8FYoyMjKK7Zu33dvbu0qMU6dOnXxfDkyYMIG33nqLCRMmcPvtt3PkyBGeeeaZSp9Lzuvr0KFD+T6HeHh44OHhUewYUrmysrL4448/6NWrl/7/LOdEryWpKHotSUXRa6nqSkhIAPQZ5Hyp7J/zX3/95fyddu7cuch+ZrOZjh078scff7Bu3TpSU1PzffZYtWqVc7+48+RdonvVqlVFBpz0XUjVpb8RSUXRa0kqkl5PUlH0Wqr6SvP+WL85ERERERGpdvJezZGWllZs37yVj8p6Nfr5Ggdg/PjxrFq1ikWLFvHcc89x9dVX5/sCoTLnEhQUpC8XqiCz2YzVatUfXeSc6bUkFUWvJakoei1VTfp91Cw7duxw7pe0JFxOu91uZ/fu3fnCSqU9T962nTt3lnm+IiIiIiIlUQ1gERERERGpdjw8PKhfvz4Ap06dKrZv3vamTZuWaZy8/StznBy33norAA6Hg48//tilcxERERERkerr8OHDzv169eoV2zdve97j8t63Wq0EBQUVeQ5PT0/nRRNnn0NEREREpCLokgwREREREamWIiIiOHnyJImJicTHxxMQEFBov2PHjjn3O3ToUOYxchw9erTYvjnjmM1m2rZtW6ZxcrRp08a5v3379nxtLVu2xNPTk7S0tFLPBcr+nEVEREREpPpLTEx07nt6ehbbN++SdHmPy3u/pHPknCchIYGkpCQcDkexy4zExcWRlZXlvK9lsl0vKysLu92e7/ciUh56LUlF0utJKopeS1VXWX4nCjiJiIiIiEi1NGDAAFasWAHAli1b6Nu3b6H9Nm/enO+Ysrjooovw8/MjMTGRLVu2FNnPbrezdetWAHr27JnvCwKAX3/9leTkZIYMGVLseBaLxbl/9gc7i8VCnz59WL58Of/88w8ZGRm4u7sXep6c5+zp6UmvXr2KHVNERERERGqevMtWF/W5obD2lJSUQs9T0jny9rHb7aSnpxcbimrWrFm++7fffjt33HFHiWNI5bHb7URGRgLGhTsi5aXXklQkvZ6koui1VHUlJyeXuq8CTiIiIiIiUi1dd911PPXUUzgcDlauXFlkwCknBBUSEkK/fv3KNIaHhwfDhg3jv//9Lxs2bCApKQlfX98C/davX09SUhIA119/fYH25557js2bNxMfH1/sVcz79+937oeHhxdov/7661m+fDkZGRn8/vvvhQa20tLSWLt2LQCDBg0qdL4iIiIiIlKz5b3oIiMjo9i+edu9vb0LnCc5ObnEc+Q9j9lsLrEa06FDh5xL2oEqOFUFORfZ9OrVC6tVXx9K+em1JBVJryepKHotVV0JCQml7qvfnIiIiIiIVEutWrXi+uuvZ+HChXz66ac8/fTTBa4qPnjwIKtWrQLgscceK/DhdceOHYwcOZKUlBQWLFhAnz59Cozz+OOP8/nnn5OamsqCBQsYM2ZMgT5z584FoF69etxzzz2FzjcxMZHffvut0DFyfPLJJ879YcOGFWi/7bbbePHFF4mMjGTu3LmFBpwWLlzo/FD45JNPFjmWiIiIiIjUXH5+fs79tLS0YvvmrfaU97ic+8nJySWeI+95fH19i72wAyAoKChfwEmqBrPZjNVq1Re/cs70WpKKpNeTVBS9lqqmsvw+VHtLRERERESqrenTpxMaGsrhw4cLhHnS09MZM2YMNpuNrl27Mn78+ALHv/zyy+zbt4/jx4/z+OOPFzpGREQEjzzyCABPP/00Bw8ezNe+fPly5s2bB8Ds2bPx8fEpcr5jx47NV6Upr9dff51vvvkGgEsuuYTrrruuQB8PDw/eeecdzGYzX3zxBYsXL87XHhkZyRNPPAHA/fffT7du3Yqci4iIiIiI1FxNmzZ17p86darYvnnb8x6X935WVhZxcXFFniMtLc15ocXZ5xARERERqQiKpomIiIiISLUVHh7OkiVLGDFiBDNmzGDHjh0MGzaM1NRU5s2bx/bt2+ncuTOLFy/G09OzwPF2u92573A4ihxnypQpxMbGMnfuXLp3787YsWNp2rQpmzZt4uOPP8ZsNvP6668XujwdwAUXXMCaNWvYvXs37dq14/rrr+eCCy6gfv36REVF8d133/Hnn38CxrJyn3/+eZFrwQ8dOpT333+f+++/n+uuu47Ro0fTo0cPIiMjef/994mOjmbUqFHMnDmzDD9JERERERGpSSIiIpz7R48eLbbvsWPHAKOqQdu2bQucZ/369c7zBAUFFXsOgA4dOpRrziIiIiIixVHASUREREREqrUePXqwbds2Zs6cyaJFi3j00Udxc3OjdevWzJw5k3HjxhVYui7HU089xebNm0lNTWXatGlFjmE2m5kzZw4jRozg3Xff5aOPPuL06dPUr1+fm266iYkTJ9KlS5cij589ezYPPvgg3377LatXr2b9+vUsXryYtLQ0fH19CQ8P5+6772bUqFFcdtllJT7ne+65h4svvpiZM2eycuVKPvvsMwIDA+natStjxoxhxIgRJf/g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vkrdunWZMGFCvopI5yI9PZ2TJ08CUK9evWL75m0/fPhwmcZp3bq1c//AgQNF9ouLiyMxMdF5v6jnefz4cR566CHat2/PO++8w/fff8/s2bMJDg7mvffeo0OHDrz//vtlmqOIVBFNesLVs4z9Na/Ctq9cOx8REcFiNjGmTwt+mNibi5rUITnDxtPf7eCWuRuIjK29S4oq4CQiIiIiIiIiIhUrZi/gMJa78Alx9WyqnovuBs8AiN0Huxa7ejYiIrXKsWPH6N69O08//TQnTpzA4TCugs/Zni0tLY133nmHzp07s2XLlnMeP2+YyNPTs9i+Xl5ehR5XGldddZVzf9myZUX2+/HHH4ucX17e3t6sWrWKefPmccsttzBkyBDuv/9+NmzYwO23305mZib33XcfX32lYIRItXThLblLKf/vfjj2l2vnIyIiADQP9eXLsT159qr2eLqZWXcwlitnruGTtYdqZTUnq6snICIiIiIiIiIiNYxzeTpVbyqUpz/0GAe/vgJrZkD74WAyuXpWIiI1XmJiIoMGDWLXrl35Ak1FhZtefvll2rdvz5tvvsnx48cZNGgQW7duLbHyUnFSU1Od++7u7sX2zdueklK2K/X79OlDv379WL16NV9++SUPPvggXbt2zdcnMTGRyZMn53vMai34tdFrr73G9OnTCQ0NLdBmNpt5++23+fHHHzl16hQTJ07k6quvLjG8FRcXR1ZWlvO+h4cHHh4eZXmKUsGysrKw2+35fi9Sy/R9CnP0Hsx7f8Tx+Shsd62AgIZlPo1eS1KR9HqSilLdX0ujL25M31bBPLFoBxsPn+b5Jf/w/bYopo7oQNMQH1dP75yU5XeigJOIiIiIiIiIiFQsZ8CpjWvnUZX1GAvr3oJT22HvT9BmkKtnJCJS47366qv8888/AFx88cWMHTuWXr160aBBA6677jqWL1+er394eDhPPPEE48aN49prr+WXX37h8ccf5+OPPy73HPJWZcrIyCi2b952b2/vMo+1YMEC+vfvz549e7jiiiuYPHkygwYNwsPDg02bNvHss89y/Phx+vbty6+//gqAv79/gfOEhBRfjdHHx4ebbrqJWbNmERUVxQ8//MCIESOKPaZZs2b57t9+++3ccccdZXuCUqHsdjuRkZGAEVyT2slS93YuPL4b3+TDpH10DX9fOBWb1avkA/PQa0kqkl5P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eyyt3gY3bzi+Fk6uh1uh8PdS8wvMttFlHzXb2JVqnK1uIBKRzKEEJ5Hc6NoFWDQQTt2u/lK1M7T9DFwK2DYuSZVhGETExD2w+RbuOcebiw9jNcDOAm+3q0zH2iUeyNyujvbJLhhlNjc3Nzp27MiMGTMwDIPZs2fzf//3fymOnTVrFqVKlaJp06YJ6yZNmsTYsWNxcXFh/fr1SRI8hgwZwrx58+jevTuvvPIKxYsXp2vXrumOcdeuXTz55JNER0czYsQIJkyYkGR7//79adasGdOnT8disfDtt9+me467adiwIQ0bNmTDhg0JCU4jR47kk08+oVu3bgnjBg0aRNWqVTlx4gRjxoxhxYoVyY4VExPDE088wc6dOylfvjx//vknPj7/VYobOXIkTz75JOvWraN58+bs378fX1/fdMe8a9cunnrqKaKjo/n8888ZPnx4ku1DhgyhYcOGzJ8/H09PT77++ut0z3H16lVatGjBqVOn6NixIz/99FOSBLNRo0bRokULdu/eTbt27dixY0eyRKpXXnmFL774AldXV9asWUPDhg2TbH/hhRdo0aIFkZGRhIaGAuZdpD179gT+S3CqVq1awro7tW/fHjArNsUnGvXp04fff/89yXwBAQHJjtGjRw8WLVqEr68vW7dupXDhwuTPnx+LxcKIESPo27cvc+bMoVWrVuzZsydJQlpK877wwgusWbOGihUrJozr3LkzVatW5ejRo0yZMoXRo0cnieHo0aO88sorGIbBmjVrqFOnTpLt//vf/2jUqJEqOImISO4VHAi/DzWXm7wCFdtmyTQXwiM5EhpHQHgkft7mxV2r1SDsVjTB4ZFcvBZJ8LVILoabj8HXojgXdouTl28mOU6cAaV93GheoRAztgal2WbubtSGTkREbK1AgQLMnDmTt956i9mzZ7Nx40b++eefhErL3t7eVKhQgWbNmtGrVy9KlSpl24BFRETyolq9iSvVjMCNi6nSrB0OXiXN9TW6g9UKF/bDibVwfB2c2wlhJ2DnCdj5rdnVxr/+fwlPRapm+3bwInJ3SnASyW2OrobfBptZy45u8MSn5n/0+k87W4uIieOh/8uctlrpZTXgjd8P88bvhx/IfH+90xo3p6z/76dXr14JLblSS3Das2cPhw8f5o033khIujp37hyvvvoqAMOGDUtWvQagW7duzJw5k1WrVjFq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4Pdt+T7BSWzwq2CZUixlkpPJ2ZKhJyI54q5JgBQREbvTe4CIyB0wmcCjsOVWtIrlsbKNLMuuK6YVERERERERERG5c0Uq3hU5JE6O7oA4gE9Jy3qJJmfLfZMztJuUpzLvRPILJyfLy6zZbGPWNBERuSckJSUBN98TRETkDimmFRERERERERERsZ+75Ps2zeB0r7q/l2W9xGsnLFl3eWxgiuQXrq6uODs7ExUVRcGCBR3dHRERcYDo6GicnZ1xdXV1dFdERPIPxbQiIiIiIiIiIiL2cxd836YEp3uZT8k8OShF8hOTyYS3tzfh4eH4+/s7ujsiIpLLDMMgPDwcb29vTCaTo7sjIpK/KKYVERERERERERGxnzz+fZvWyRARyWE+Pj4kJCRw/vx5DMNwdHdERCSXGIbB+fPnSUhIwMfHx9HdERERERERERERERERuWtpBicRkRxWsGBBSpUqxdmzZwkPD6dIkSJ4enri7Oys2Twk2wzDID4+ntjYWI0juSMaS/ZlGAZJSUlER0cTHh5OQkICpUqV0jKlIiIiIiIiIiIiIiIid0AJTiIiucDb25tSpUqxb98+nJ2duXbtmqO7JHc5wzCIi4vDzc1NSSlyRzSWcoazszPe3t74+PgouUlEREREREREREREROQOKcFJRCSXeHh4EB8fT/ny5TEMA7PZ7OguyV0sMTGRnTt3UqlSJVxc9HYu2aexZH9OTk64uroqYUxERERERERERERERMRO9FcsEZFcZjKZcHV1dXQ35C6XmJiI2WzG3d1dSSlyRzSWREREREREREREREREJK9zcnQHRERERERERERERERERERERERE0qMEJxERERERERERERERERERERERybOU4CQiIiIiIiIiIiIiIiIiIiIiInmWEpxERERERERERERERERERERERCTPUoKTiIiIiIiIiIiIiIiIiIiIiIjkWUpwEhERERERERERERERERERERGRPEsJTiK3ERcXx6xZs4iLi3N0V+Qup7Ek9qTxJPaisSQikjfp9VnsRWNJ7EVjSexFY0lEJG/S67PYi8aS2JPGk9iLxlL+YDIMw3B0JwTCw8Px8fEhLCyMQoUKObo7ksK1a9coUqQIV69exc/Pz9HdkbuYxpLYk8aT2IvGUt6lz4eSGzTO8i69Pou9aCyJvWgsib1oLOVd+mwouUHjLO/S67PY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Ll68aLi5uRmAUaxYMSMxMfHOTkxE5C6mGETsSXGI2IviELEXxSAiInmT4hCxF8UgYk+KQ8ReFIdIMr07SL526tQpo2jRogZgjBgxItW+2NhY49FHH7W+UMXExKQ5/tlnn7W+KTZo0MBmGy+99JIBGBUrVjR+//13Y926dTZvP/zwgz7U38VyYyxlRB/q84/cGktt27Y1AKN06dJpfo0QGxtrzWT38/MzTpw4YZ+Tk1yXG+Opf//+1jLvv/9+mv2xsbHG448/bi0zbdo0+5yciMhdSjGI2JPiELEXxSFiL4pBRETyJsUhYi+KQcSeFIeIvSgOkWQuiORjZcqUYfny5XTs2JGJEyeyf/9+2rdvT0xMDMHBwezbt486derw888/4+7unub4lGtoGjbW25w0aRJffPEFAMeOHeOxxx7LuZMRh8rpsWTL3LlzrduhoaE2H2/VqhUBAQHZOSVxkNwaSwsWLKBTp06sWrWKOnXq8Pzzz1OlShUuXrzI7NmzOXz4MKVLl2bZsmWUK1cuR85Vcl5ujKcvv/ySmJgY5s2bx+jRo1m1ahVPPfUUfn5+nDp1ijlz5nDixAlcXFx477336N+/f46dr4jI3UAxiNiT4hCxF8UhYi+KQURE8ibFIWIvikHEnhSHiL0oDhErx+RVieSuy5cvG2+99ZZx3333GZ6enkbhwoWNhx56yJg0aZLNaeyS7dmzx6hYsWK609UNGzbMmqWZ2Zt+tXB3y6mxZEtmxtO6devsdGaS23JrLC1YsMB48sknjeLFixuurq6Gn5+f0bhxY+PTTz81IiMj7XlK4kC5MZ42btxo9OvXz6hWrZrh5eVlODs7G4ULFzYeeOABY8SIEcahQ4fsfVoiInc1xSBiT4pDxF4Uh4i9KAYREcmbFIeIvSgGEXtSHCL2ojhETIaRyfRZERERERERERERERERERERERGRXObk6A6IiIiIiIiIiIiIiIiIiIiIiIikRwlOIiIiIiIiIiIiIiIiIiIiIiKSZynBSURERERERERERERERERERERE8iwlOImIiIiIiIiIiIiIiIiIiIiISJ6lBCcREREREREREREREREREREREcmzlOAkIiIiIiIiIiIiIiIiIiIiIiJ5lhKcREREREREREREREREREREREQkz1KCk4iIiIiIiIiIiIiIiIiIiIiI5FlKcBIRERERERERERERERERERERkTxLCU4iIiIiIiIiIiIiIiIiIiIiIpJnKcFJRERERERERERERERERERERETyLCU4iYiIiIiIiIiIiIiIiIiIiIhInqUEJxERERERERERERERERERERERybNcHN0BEZH8LDIykoULF7Jq1Sp2795NaGgokZGRuLm54ePjQ1BQEJUqVaJu3brUq1ePevXqUaBAAUd3W0RERERE7lKKQUREREREJLcpDhERkdxgMgzDcHQnRETyo++++47XXnuN69evA+Dt7U2VKlXw8fEhNjaW8+fPc/LkSVK+DBcsWJCmTZvy66+/OqrbIiIiIiJyl1IMIiIiIiIiuU1xiIiI5BYlOImI5IDRo0fzwQcfAFCtWjUmTJhA69atcXZ2TlUuNDSUadOm8dFHHxEdHQ2As7MziYmJud5nubucPHmScuXKWe/r7VxERETk3qYYRHKaYhARERERuZXiEMlpikNEJCUlOImI2NnatWt59NFHAahYsSJ///03hQsXzvCYzZs306JFCxISEvShXjJFH+pFREREJJliEMkNikFEREREJCXFIZIbFIeISEpOju6AiEh+8/HHH1u3R40addsP9ACNGjVi0KBBOdgrERERERHJrxSDiIiIiIhIblMcIiIiuU0JTiIidmQ2m1m3bp31fr169TJ9bO/evXOiSyIiIiIiko8pBhERERERkdymOERERBzBxdEdEBHJTy5fvkx8fLz1votL5l9ma9euTdmyZTW9poiIiIiIZJpiEBERERERyW2KQ0RExBGU4CQiYkcmkynV/d27d1O1atVMHevi4kJISEiW2wwNDWXjxo2cP3+eqKgofHx8KFeuHHXr1iUwMDBLdSUmJrJ161YOHz7M5cuX8fLyomTJkjRt2pQiRYpkuW+3MpvNbNy4kSNHjnD16lUKFy5MxYoVuf/++zOs//Tp02zevJmLFy+SmJiIv78/tWrV4v7778fJKWcnI0xKSmLbtm0cOHCAy5cvU6BAAfz9/alZsyY1a9bE1dU1R9sXEREREcmIYpCMKQYREREREbE/xSEZUxwiIpJDDBERsZvExESjYMGCBmAARp06dYyYmJgcaWvbtm1GixYtDJPJZG3v1lutWrWMd9991zh//nyGdUVGRhpjx441ChcubLMeJycno02bNsa+ffvSrWPYsGE2jx0zZoxhGIaxePFiIygo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REVF4erqSqFChShTpgx16tShZMmS2a7/4sWLbNiwgQsXLhAdHY2fnx916tShXr16ODs7Z6muxMREtmzZwqFDh7h69SoFCxakZMmSNGvWDH9//2z38U6lPMeoqCh8fHy47777ePjhhylYsGCOtp2UlMTWrVs5ePAgV65coUCBAgQFBdGoUSOKFy+epbpiYmLYuHEjBw8eJC4ujqCgIFq0aEGxYsXuqI8HDhzgzz//5PLly7i4uFChQgVatWpFoUKF7qheEREREbk7KQa5c4pBMqYYRERERERupTjkzikOyZjiEBFRgpOIiIiIiIiIiIiIiIiIiIiIiORZTo7ugIiIiIiIiIiIiIiIiIiIiIiISHqU4CQiIiIiIiIiIiIiIiIiIiIiInmWEpxERERERERERERERERERERERCTPUoKTiIiIiIiIiIiIiIiIiIiIiIjkWUpwEhERERERERERERERERERERGRPEsJTiIiIiIiIiIiIiIiIiIiIiIikmcpwUlERERERERERERERERERERERPIsJTiJiIiIiIiIiIiIiIiIiIiIiEiepQQnERERERERERERERERERERERHJs5TgJCIiIiIiIiIiIiIiIiIiIiIieZYSnEREREREREREREREREREREREJM9SgpOIiIiIiIiIiIiIiIiIiIiIiORZSnASEREREREREREREREREREREZE8SwlOIiIiIiIiIiIiIiIiIiIiIiKSZ/0/epFBPfPCI9cAAAAASUVORK5CYII=", + "text/plain": [ + "<Figure size 2400x600 with 3 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from GNN.gnn_plots import plot_best_performances_score_cut\n", + "\n", + "_, _, performances_for_various_score_cuts = plot_best_performances_score_cut(\n", + " model=gnn_model,\n", + " path_or_config=CONFIG,\n", + " partition=\"velo-sim10b-nospillover\",\n", + " score_cuts=[\n", + " 0.1,\n", + " 0.2,\n", + " 0.3,\n", + " 0.4,\n", + " 0.42,\n", + " 0.43,\n", + " 0.44,\n", + " 0.45,\n", + " 0.46,\n", + " 0.47,\n", + " 0.48,\n", + " 0.5,\n", + " 0.6,\n", + " 0.7,\n", + " 0.8,\n", + " 0.9,\n", + " ],\n", + " n_events=200,\n", + " seed=0,\n", + ")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 4. GNN inference " + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:--------------------- Step 4: Scoring graph edges using GNN ---------------------\n", + "INFO:---------------------------- a) Loading trained model ----------------------------\n", + "INFO:Load model from artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt.\n", + "INFO:Load model from artifacts/gnn/focal-loss-pid-fixed/version_0/checkpoints/epoch=49-step=500000.ckpt.\n", + "INFO:----------------------------- b) Running inferencing -----------------------------\n", + "INFO:Remove directory `/scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover`.\n", + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/test/velo-sim10b-nospillover to /scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a6cb9afd5cb9438e8880192981766da0", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/scratch/acorreia/mambaforge/envs/etx4velo_updated/lib/python3.10/site-packages/torch/utils/checkpoint.py:31: UserWarning: None of the inputs have requires_grad=True. Gradients will be None\n", + " warnings.warn(\"None of the inputs have requires_grad=True. Gradients will be None\")\n", + "INFO:Remove directory `/scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover-only-long-electrons`.\n", + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed/metric_learning_processed/test/velo-sim10b-nospillover-only-long-electrons to /scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover-only-long-electrons\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "a1af6c66f0574263ba085bcdea898a7a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "run_gnn_inference(CONFIG, partitions=[\"test\"], checkpoint=gnn_artifact_path)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 5. Build track candidates from GNN" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:----------- Step 5: Building track candidates from the scored graph -----------\n", + "INFO:Score cut: 0.45\n", + "INFO:Remove directory `/scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover`.\n", + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover to /scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "15ad24e1d6f1444b9d3242e715a0dc9e", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + " 0%| | 0/1000 [00:00<?, ?it/s]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:Remove directory `/scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover-only-long-electrons`.\n", + "INFO:Inference from /scratch/acorreia/data/focal-loss-pid-fixed/gnn_processed/test/velo-sim10b-nospillover-only-long-electrons to /scratch/acorreia/data/focal-loss-pid-fixed/track_building_processed/test/velo-sim10b-nospillover-only-long-electrons\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "e865558d4d084522b9a35a2f76ee8a29", "version_major": 2, "version_minor": 0 }, @@ -2375,6 +2049,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -2413,6 +2088,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -2421,7 +2097,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -2437,7 +2113,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a92d3f5d11b9478b8b5528d3d15db5b0", + "model_id": "093d1a9e10864656acccf65296bb9b51", "version_major": 2, "version_minor": 0 }, @@ -2458,7 +2134,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a0b7fe8aa58d44f18255a18ec1626aee", + "model_id": "abc8329945a54b44a5747708f1256c12", "version_major": 2, "version_minor": 0 }, @@ -2472,7 +2148,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ee5ebcd7810d4429b145fd1dc2255934", + "model_id": "3b22d2cf13c24237bb0c6b187f60bc29", "version_major": 2, "version_minor": 0 }, @@ -2490,7 +2166,7 @@ "INFO:Compute plat stats\n", "INFO:2) Matching\n", "INFO:3) Evaluation\n", - "INFO:Report was saved in output/focal-loss-pid-fixed/report-2023.06.10-18.17.01-velo-sim10b-nospillover.txt\n", + "INFO:Report was saved in output/focal-loss-pid-fixed/report-2023.06.11-12.04.53-velo-sim10b-nospillover.txt\n", "INFO:------------------ velo-sim10b-nospillover-only-long-electrons ------------------\n", "INFO:----------- Evaluation for velo-sim10b-nospillover-only-long-electrons -----------\n", "INFO:1) Load dataframe of tracks, hits-particles and particles\n", @@ -2528,7 +2204,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "34dd25e5bee94a77a1929b090407145e", + "model_id": "c118aca80cae4b62831251402e288928", "version_major": 2, "version_minor": 0 }, @@ -2549,7 +2225,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "43f2ebe143524dbfbac177c36fa6fb12", + "model_id": "3bffc5f3235146cc89114053b6cc801c", "version_major": 2, "version_minor": 0 }, @@ -2563,7 +2239,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "fdffd3ff7ada4a00844294b6644837d9", + "model_id": "9eae617c6d194998adb1a1469ab68796", "version_major": 2, "version_minor": 0 }, @@ -2581,7 +2257,7 @@ "INFO:Compute plat stats\n", "INFO:2) Matching\n", "INFO:3) Evaluation\n", - "INFO:Report was saved in output/focal-loss-pid-fixed/report-2023.06.10-18.17.19-velo-sim10b-nospillover-only-long-electrons.txt\n" + "INFO:Report was saved in output/focal-loss-pid-fixed/report-2023.06.11-12.05.13-velo-sim10b-nospillover-only-long-electrons.txt\n" ] }, { diff --git a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml index 5b20b288..7674e59e 100644 --- a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml +++ b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml @@ -59,6 +59,10 @@ metric_learning: bidir: False max_epochs: 20 + # Building + building: null + filtering: "edges_at_least_3_hits" + gnn: # Dataset parameters -- GitLab From 7bee2aa80e1ad3858a5625b6c70b169b33401761 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Sun, 11 Jun 2023 14:49:51 +0200 Subject: [PATCH 11/33] Refactor the use of processing functions at metric learning and gnn stages Rather split training_processing and test_processing, which is much more logical --- .../{building_custom.py => process_custom.py} | 4 +- .../Scripts/Step_2_Run_Metric_Learning.py | 8 +-- .../focal-loss-pid-bidir.yaml | 4 ++ .../focal-loss-pid-fixed-20000.yaml | 4 +- .../focal-loss-pid-fixed.yaml | 3 ++ .../pipeline_configs/focal-loss-pid.yaml | 2 +- LHCb_Pipeline/utils/modelutils/build.py | 54 +++++++------------ 7 files changed, 37 insertions(+), 42 deletions(-) rename LHCb_Pipeline/Embedding/{building_custom.py => process_custom.py} (96%) diff --git a/LHCb_Pipeline/Embedding/building_custom.py b/LHCb_Pipeline/Embedding/process_custom.py similarity index 96% rename from LHCb_Pipeline/Embedding/building_custom.py rename to LHCb_Pipeline/Embedding/process_custom.py index 2b0fb9b5..1baa9cf5 100644 --- a/LHCb_Pipeline/Embedding/building_custom.py +++ b/LHCb_Pipeline/Embedding/process_custom.py @@ -19,7 +19,9 @@ def edges_at_least_3_hits(batch: Data) -> Data: # Classify the hits as fake (so that the edges are also classified like so) batch.particle_id[not_reconstructible_mask] = 0 - # Remove edges in same `plane` and `z` + return batch + +def remove_edges_in_same_plane(batch: Data) -> Data: edge_index_plane = batch.plane[batch.edge_index] no_self_edge_mask = edge_index_plane[0] != edge_index_plane[1] batch["edge_index"] = batch.edge_index[:, no_self_edge_mask] diff --git a/LHCb_Pipeline/Scripts/Step_2_Run_Metric_Learning.py b/LHCb_Pipeline/Scripts/Step_2_Run_Metric_Learning.py index 8667a0c9..f5ed7bc7 100644 --- a/LHCb_Pipeline/Scripts/Step_2_Run_Metric_Learning.py +++ b/LHCb_Pipeline/Scripts/Step_2_Run_Metric_Learning.py @@ -81,8 +81,8 @@ def train( else: radius = metric_learning_configs["r_test"] - building = metric_learning_configs.pop("building", None) - filtering = metric_learning_configs.pop("filtering", None) + test_processing = metric_learning_configs.pop("test_processing", None) + training_processing = metric_learning_configs.pop("training_processing", None) logging.info(f"Use radius {radius}") graph_builder = EmbeddingInferenceBuilder( @@ -99,9 +99,9 @@ def train( test_dataset_names=get_required_test_dataset_names(all_configs), reproduce=reproduce, list_kwargs=[ - dict(building=building, filtering=filtering) + dict(processing=training_processing) if partition in ["train", "val"] - else dict(building=building) + else dict(processing=test_processing) for partition in partitions ], ) diff --git a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-bidir.yaml b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-bidir.yaml index a752568d..254fc165 100644 --- a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-bidir.yaml +++ b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-bidir.yaml @@ -59,6 +59,10 @@ metric_learning: bidir: False max_epochs: 20 + # Building + test_processing: ["edges_at_least_3_hits", "remove_edges_in_same_plane"] + training_processing: ["edges_at_least_3_hits", "remove_edges_in_same_plane"] + gnn: # Dataset parameters diff --git a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml index 7674e59e..a9ca3111 100644 --- a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml +++ b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml @@ -60,8 +60,8 @@ metric_learning: max_epochs: 20 # Building - building: null - filtering: "edges_at_least_3_hits" + test_processing: ["edges_at_least_3_hits", "remove_edges_in_same_plane"] + training_processing: ["edges_at_least_3_hits", "remove_edges_in_same_plane"] gnn: diff --git a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed.yaml b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed.yaml index cae5f652..dfbc6ee5 100644 --- a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed.yaml +++ b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed.yaml @@ -59,6 +59,9 @@ metric_learning: bidir: False max_epochs: 20 + # Building + test_processing: ["edges_at_least_3_hits", "remove_edges_in_same_plane"] + training_processing: ["edges_at_least_3_hits", "remove_edges_in_same_plane"] gnn: # Dataset parameters diff --git a/LHCb_Pipeline/pipeline_configs/focal-loss-pid.yaml b/LHCb_Pipeline/pipeline_configs/focal-loss-pid.yaml index 043a6e73..8d7b5aa9 100644 --- a/LHCb_Pipeline/pipeline_configs/focal-loss-pid.yaml +++ b/LHCb_Pipeline/pipeline_configs/focal-loss-pid.yaml @@ -60,7 +60,7 @@ metric_learning: max_epochs: 20 # Building - building: null + train_val_processing: null filtering: "edges_at_least_3_hits" gnn: diff --git a/LHCb_Pipeline/utils/modelutils/build.py b/LHCb_Pipeline/utils/modelutils/build.py index 6fc1d779..807f2813 100644 --- a/LHCb_Pipeline/utils/modelutils/build.py +++ b/LHCb_Pipeline/utils/modelutils/build.py @@ -29,8 +29,7 @@ class BuilderBase(abc.ABC): input_dir: str, output_dir: str, reproduce: bool = True, - filtering: str | None = None, - building: str | None = None, + processing: str | typing.List[str] | None = None, file_names: typing.List[str] | None = None, parallel: bool = False, ): @@ -42,10 +41,8 @@ class BuilderBase(abc.ABC): output_dir: output directory path reproduce: whether to delete the output directory if it exists, and run again the inference - filtering: name of the function that filters the event. This would only - be applied to the train and val sets. - building: name of the function that compute columns for the event. This - would be applied to all the samples (train, val and test samples). + processing: name(s) of supplementary function(s) that process the event. + after :py:func:`ModelBase.construct_downstream`. file_names: list of file names to run the inference on. If not specified, the inference is run on all the datasets located in the input directory. parallel: @@ -72,8 +69,7 @@ class BuilderBase(abc.ABC): self.infer_one_step, input_dir=input_dir, output_dir=output_dir, - building=building, - filtering=filtering, + processing=processing, ) if parallel: process_map(infer_one_step_partial, file_names, chunksize=1) @@ -86,8 +82,7 @@ class BuilderBase(abc.ABC): file_name: str, input_dir: str, output_dir: str, - filtering: str | typing.List[str] | None = None, - building: str | typing.List[str] | None = None, + processing: str | typing.List[str] | None = None, ): """Run the inference on a single file and save the output in another file. @@ -95,35 +90,29 @@ class BuilderBase(abc.ABC): file_name: input file name input_dir: input directory path output_dir: output directory path - filtering: name of the function that filters the event. This would only - be applied to the train and val sets. - building: name of the function that compute columns for the event. This - would be applied to all the samples (train, val and test samples). + processing: name(s) of supplementary function(s) that process the event. + after :py:func:`ModelBase.construct_downstream`. """ input_path = os.path.join(input_dir, file_name) if not os.path.exists(os.path.join(output_dir, file_name)): batch = self.load_batch(input_path) batch = self.process_one_step( batch=batch, - filtering=filtering, - building=building, + processing=processing, ) self.save_downstream(batch, os.path.join(output_dir, batch.event_str)) def process_one_step( self, batch: Data, - filtering: str | typing.List[str] | None = None, - building: str | typing.List[str] | None = None, + processing: str | typing.List[str] | None = None, ) -> Data: """Process one event. Args: batch: event stored in a PyTorch Geometric data object - filtering: name of the function that filters the event. This would only - be applied to the train and val sets. - building: name of the function that compute columns for the event. This - would be applied to all the samples (train, val and test samples). + processing: name(s) of supplementary function(s) that process the event. + after :py:func:`ModelBase.construct_downstream`. Returns: Processed event, first by :py:func:`BuilderBase.construct_downstream`, @@ -131,19 +120,16 @@ class BuilderBase(abc.ABC): """ batch = self.construct_downstream(batch) - # Apply filtering and building - for processing_step in [filtering, building]: - if processing_step is not None: - processing_fct_names = ( - [processing_step] - if isinstance(processing_step, str) - else processing_step + if processing is not None: + # Apply processing functions (building or filtering) + processing_fct_names = ( + [processing] if isinstance(processing, str) else processing + ) + for processing_fct_name in processing_fct_names: + processing_fct = getattr( + self._get_building_custom_module(), str(processing_fct_name) ) - for processing_fct_name in processing_fct_names: - processing_fct = getattr( - self._get_building_custom_module(), str(processing_fct_name) - ) - batch = processing_fct(batch) + batch = processing_fct(batch) return batch def _get_building_custom_module(self) -> ModuleType: -- GitLab From 1d0ab8cab0c1af7ddbaf23b17302276036317d3c Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Sun, 11 Jun 2023 15:12:39 +0200 Subject: [PATCH 12/33] Fix typo (forgot to save the file) --- LHCb_Pipeline/Embedding/build_embedding.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LHCb_Pipeline/Embedding/build_embedding.py b/LHCb_Pipeline/Embedding/build_embedding.py index 0fde8a1d..60e1779c 100644 --- a/LHCb_Pipeline/Embedding/build_embedding.py +++ b/LHCb_Pipeline/Embedding/build_embedding.py @@ -8,7 +8,7 @@ from utils.modelutils.build import ModelBuilderBase from utils.commonutils.config import load_config from utils.graphutils.edgeutils import sort_edge_nodes -from . import building_custom +from . import process_custom def get_radius_from_config(path_or_config: str | dict) -> float: @@ -93,7 +93,7 @@ class EmbeddingInferenceBuilder(ModelBuilderBase): return batch def _get_building_custom_module(self) -> ModuleType: - return building_custom + return process_custom def get_performance(self, batch: Data, r_max: float, k_max: int): with torch.no_grad(): -- GitLab From fde85434527c25f9e185fa8f21b2ff5c5d68db14 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Wed, 14 Jun 2023 20:43:14 +0200 Subject: [PATCH 13/33] Update montetracko --- montetracko | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/montetracko b/montetracko index e033e8a9..d9c73356 160000 --- a/montetracko +++ b/montetracko @@ -1 +1 @@ -Subproject commit e033e8a998cfa59df42f4e39c068e6ce4671ffae +Subproject commit d9c733560e13ef6075d16b28f682f4bc7bd37add -- GitLab From d4dc07651b7fcb70e2d28f1fce6f8cdbeec019a5 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Wed, 14 Jun 2023 20:43:33 +0200 Subject: [PATCH 14/33] dity step7 to compare results with Allen --- .../Scripts/Step_7_Compare_With_Allen.py | 217 ++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100644 LHCb_Pipeline/Scripts/Step_7_Compare_With_Allen.py diff --git a/LHCb_Pipeline/Scripts/Step_7_Compare_With_Allen.py b/LHCb_Pipeline/Scripts/Step_7_Compare_With_Allen.py new file mode 100644 index 00000000..a66307ae --- /dev/null +++ b/LHCb_Pipeline/Scripts/Step_7_Compare_With_Allen.py @@ -0,0 +1,217 @@ +from __future__ import annotations +import typing +import os.path as op + +import numpy as np +import matplotlib.pyplot as plt +import montetracko as mt +import montetracko.lhcb as mtb + +from Scripts.Step_6_Evaluate_Reconstruction_MonteTracko import ( + load_parquet_files, + perform_matching, + perform_evaluation, +) +from utils.commonutils.ctests import get_preprocessed_test_dataset_dir +from utils.plotutils import plotconfig +from utils.plotutils.plotools import save_fig +from utils.commonutils.config import load_config + + +def plot_histograms( + trackEvaluator1: mt.TrackEvaluator, + trackEvaluator2: mt.TrackEvaluator, + label1: str, + label2: str, + color1: str, + color2: str, + columns: typing.List[str], + metric_names: typing.List[str], + column_labels: typing.Optional[typing.Dict[str, str]] = None, + bins: typing.Optional[ + int | typing.Sequence[float] | str | typing.Dict[str, typing.Any] + ] = 50, + column_ranges: typing.Optional[typing.Dict[str, typing.Tuple[float, float]]] = None, + average: typing.Optional[typing.List[str]] = None, + category: typing.Optional[mt.requirement.Category] = None, + hide_repetitive_labels: bool = True, + **kwargs, +): + fig, axes = plt.subplots( + nrows=len(metric_names), + ncols=len(columns), + figsize=(8 * len(columns), 6 * len(metric_names)), + ) + axes = np.atleast_2d(axes) + axes_histogram = np.empty_like(axes) + for idx_col, column in enumerate(columns): + edges = None + for idx_metric, metric_name in enumerate(metric_names): + if edges is not None: + bins_metric = edges + elif isinstance(bins, dict) and column in bins: + bins_metric = bins[column] + else: + bins_metric = 20 + + ( + particle_histogram, + array_metric_values, + edges, + ) = trackEvaluator1.compute_histogram( + column=column, + metric_name=metric_name, + bins=bins_metric, + range=column_ranges.get(column), + average=average, + category=category, + ) + axes_histogram[idx_metric][idx_col] = trackEvaluator1._plot_histogram( + column=column, + metric_name=metric_name, + array_metric_values=array_metric_values, + edges=edges, + column_label=column_labels.get(column, column.replace("_", r"\_")), + histogram=particle_histogram, + ax=axes[idx_metric][idx_col], + label=label1, + color=color1, + **kwargs, + ) + _, array_metric_values2, edges = trackEvaluator2.compute_histogram( + column=column, + metric_name=metric_name, + bins=edges, + range=column_ranges.get(column), + average=average, + category=category, + ) + trackEvaluator2._plot_histogram( + column=column, + metric_name=metric_name, + array_metric_values=array_metric_values2, + edges=edges, + column_label=column_labels.get(column, column.replace("_", r"\_")), + ax=axes[idx_metric][idx_col], + label=label2, + color=color2, + **kwargs, + ) + if idx_metric == 0 and idx_col == 0: + axes[idx_metric][idx_col].legend() + + for idx_metric, metric_name in enumerate(metric_names): + ymins, ymaxs = [], [] + for idx_col, column in enumerate(columns): + current_ymin, current_ymax = axes[idx_metric][idx_col].get_ylim() + ymins.append(current_ymin) + ymaxs.append(current_ymax) + + ymin, ymax = min(ymins), max(ymaxs) + if ymin > 0: + ymin = 0 + for idx_col, column in enumerate(columns): + axes[idx_metric][idx_col].set_ylim(ymin, ymax) + + if hide_repetitive_labels: + for idx_metric, metric_name in enumerate(metric_names): + for idx_col, column in enumerate(columns): + if idx_metric != len(metric_names) - 1: + axes[idx_metric][idx_col].tick_params( + axis="x", + labelbottom=False, + ) + axes[idx_metric][idx_col].xaxis.label.set_visible(False) + + if idx_col != 0: + axes[idx_metric][idx_col].tick_params( + axis="y", + labelleft=False, + ) + axes[idx_metric][idx_col].yaxis.label.set_visible(False) + if idx_col != len(columns) - 1: + axes_histogram[idx_metric][idx_col].yaxis.label.set_visible(False) + return fig, axes, axes_histogram + + +def evaluate_allen(event_ids, path_or_config: str | dict) -> mt.TrackEvaluator: + config = load_config(path_or_config) + trackhandler = mt.TrackHandler.from_padded_csv( + paths=[ + op.join("/scratch/acorreia/tracks_allen_test", f"{event_id}.csv") + for event_id in event_ids + ], + padding_value=0, + skip_header=True, + ) + preprocessed_input_dir = get_preprocessed_test_dataset_dir( + test_dataset_name="velo-sim10b-nospillover", + path_or_config=config, + ) + truncated_paths = [ + op.join(preprocessed_input_dir, "event" + str(event_id).zfill(9)) + for event_id in event_ids + ] + + df_hits_particles = load_parquet_files( + truncated_paths=truncated_paths, + ending="-hits_particles", + columns=["particle_id", "hit_id", "plane", "x", "y", "z"], + ) + df_particles = load_parquet_files( + truncated_paths=truncated_paths, ending="-particles" + ) + trackEvaluator_Allen = perform_matching( + df_tracks=trackhandler.dataframe, + df_hits_particles=df_hits_particles, + df_particles=df_particles, + ) + perform_evaluation( + trackEvaluator_Allen, + output_dir=op.join( + config["common"]["performance_directory"], + config["common"]["experiment_name"], + "allen", + ), + ) + + return trackEvaluator_Allen + + +def compare_allen_vs_etx4velo( + path_or_config: str | dict, + trackEvaluator: mt.TrackEvaluator, + trackEvaluator_Allen: mt.TrackEvaluator, +): + config = load_config(path_or_config) + + metric_names = ["efficiency", "hit_efficiency_per_candidate", "clone_rate"] + columns = ["nhits_velo", "vz", "pt"] + + for category in [ + mtb.category.category_velo_no_electrons, + mtb.category.category_long_only_electrons, + ]: + fig, _, _ = plot_histograms( + trackEvaluator, + trackEvaluator_Allen, + "etx4velo", + "Allen", + color1="blue", + color2="green", + columns=columns, + metric_names=metric_names, + column_ranges=plotconfig.column_ranges, + column_labels=plotconfig.column_labels, + bins=plotconfig.column_bins, + category=category, + ) + + save_fig( + fig, + op.join( + config["common"]["performance_directory"], + config["common"]["experiment_name"], + f"etx4velo_vs_allen_{category.name}", + ), + ) -- GitLab From c75ca872053aca1b4a71619bfc5bb384794a6c57 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Wed, 14 Jun 2023 20:44:25 +0200 Subject: [PATCH 15/33] Fix typehints and replace building by processing --- LHCb_Pipeline/Embedding/embedding_plots.py | 6 +++--- LHCb_Pipeline/Embedding/embedding_validation.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/LHCb_Pipeline/Embedding/embedding_plots.py b/LHCb_Pipeline/Embedding/embedding_plots.py index 51e914b8..144e44c1 100644 --- a/LHCb_Pipeline/Embedding/embedding_plots.py +++ b/LHCb_Pipeline/Embedding/embedding_plots.py @@ -4,6 +4,7 @@ import typing import os.path as op import numpy as np +import numpy.typing as npt from uncertainties import unumpy as unp import matplotlib.pyplot as plt from matplotlib.figure import Figure @@ -30,7 +31,6 @@ def plot_embedding_performance_given_radius_knn_max( show_err: bool = True, ) -> typing.Tuple[ typing.Dict[str, typing.Tuple[Figure, Axes]], - typing.Tuple[Figure, Axes], typing.Tuple[ np.ndarray, typing.Dict[str, unp.matrix], typing.Dict[str, unp.matrix] ], @@ -121,7 +121,7 @@ def plot_best_performances_radius( knn_max: int | None = None, n_events: int | None = None, seed: int | None = None, -) -> typing.Tuple[Figure, Axes, typing.Dict[str, typing.Dict[str, float]]]: +) -> typing.Tuple[Figure, npt.NDArray, typing.Dict[str, typing.Dict[str, float]]]: embeddingRadiusExplorer = EmbeddingRadiusExplorer(model=model) config = load_config(path_or_config=path_or_config) @@ -132,5 +132,5 @@ def plot_best_performances_radius( n_events=n_events, seed=seed, knn_max=knn_max, - building=config["metric_learning"].get("building"), + processing=config["metric_learning"].get("processing"), ) diff --git a/LHCb_Pipeline/Embedding/embedding_validation.py b/LHCb_Pipeline/Embedding/embedding_validation.py index fc338ba7..1ca7ea41 100644 --- a/LHCb_Pipeline/Embedding/embedding_validation.py +++ b/LHCb_Pipeline/Embedding/embedding_validation.py @@ -164,7 +164,7 @@ class EmbeddingRadiusExplorer(ParamExplorer): value: float, batches: typing.List[Data], knn_max: int | None = None, - building: str | None = None, + processing: str | typing.List[str] | None = None, ) -> pd.DataFrame: # Run embedding inference embeddingInferenceBuilder = EmbeddingInferenceBuilder( @@ -175,7 +175,7 @@ class EmbeddingRadiusExplorer(ParamExplorer): batches = [ embeddingInferenceBuilder.process_one_step( batch=batch.clone(), - building=building, + processing=processing, ) for batch in tqdm(batches, desc="Graph Building") ] -- GitLab From f4d56fe169bb170a777ff2c8341d13e1a38ec3c9 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Wed, 14 Jun 2023 20:44:40 +0200 Subject: [PATCH 16/33] Replace "cuda:0" by "cuda" --- LHCb_Pipeline/Embedding/graphutils.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/LHCb_Pipeline/Embedding/graphutils.py b/LHCb_Pipeline/Embedding/graphutils.py index b3bcd00a..b9ac48e8 100644 --- a/LHCb_Pipeline/Embedding/graphutils.py +++ b/LHCb_Pipeline/Embedding/graphutils.py @@ -42,6 +42,8 @@ def graph_intersection( ): if device is None: device = default_device + elif str(device) == "cuda:0": + device = "cuda" if pred_graph.numel() > 0: pred_graph_max = pred_graph.max().item() @@ -132,6 +134,8 @@ def build_edges( """ if device is None: device = default_device + elif str(device) == "cuda:0": + device = "cuda" if FRNN_AVAILABLE: Dsq, I, nn, grid = frnn.frnn_grid_points( -- GitLab From ffe6cf4457be7dddf6a2814d4003b89dc2fc5a3d Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Wed, 14 Jun 2023 20:44:57 +0200 Subject: [PATCH 17/33] Push new training pipeline configs --- .../focal-loss-pid-fixed-100000.yaml | 105 +++++++++++++++++ .../focal-loss-pid-fixed-20000.yaml | 4 +- .../focal-loss-pid-fixed-250000.yaml | 106 ++++++++++++++++++ .../focal-loss-pid-fixed-80000-2.yaml | 106 ++++++++++++++++++ .../focal-loss-pid-fixed-80000.yaml | 106 ++++++++++++++++++ 5 files changed, 425 insertions(+), 2 deletions(-) create mode 100644 LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-100000.yaml create mode 100644 LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-250000.yaml create mode 100644 LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-80000-2.yaml create mode 100644 LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-80000.yaml diff --git a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-100000.yaml b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-100000.yaml new file mode 100644 index 00000000..d235fa6f --- /dev/null +++ b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-100000.yaml @@ -0,0 +1,105 @@ +common: + experiment_name: focal-loss-pid-fixed-100000 + data_directory: /scratch/acorreia/data + artifact_directory: artifacts + performance_directory: output # plots and reports + gpus: 1 + test_dataset_names: + - velo-sim10b-nospillover + - velo-sim10b-nospillover-only-long-electrons + # - bu2kstee-sim10aU1-xdigi + +preprocessing: + input_dir: /scratch/acorreia/minbias-sim10b-xdigi-nospillover + subdirs: {"start": 15, "stop": 80} + output_subdirectory: "preprocessed" + selection: triplets_first_selection + n_events: null # if `null`, default to `n_train_events + n_test_events` + num_true_hits_threshold: 500 + hits_particles_columns: ["x", "y", "z", "plane"] + particles_columns: null + +processing: + input_subdirectory: "preprocessed" + output_subdirectory: "processed" + n_workers: 32 + features: ["r", "phi", "z", "plane"] + feature_means: [18., 0.0, 281.0, 7.5] + feature_scales: [9.75, 1.82, 287.0, 12.5] + kept_hits_columns: ["plane", {"un_x": "x"}, {"un_y": "y"}, {"un_z": "z"}] + kept_particles_columns: ["n_unique_planes", "nhits_velo"] + n_train_events: 100000 + n_val_events: 1000 + split_seed: 0 + true_edges_column: planewise + +metric_learning: + # Dataset parameters + input_subdirectory: "processed" + output_subdirectory: "metric_learning_processed" + + # Model parameters + feature_indices: 4 + emb_hidden: 256 + nb_layer: 6 + emb_dim: 4 + activation: Tanh + weight: 2 + randomisation: 2 + points_per_batch: 100000 + r: 0.015 + r_inference: 0.020 + knn: 50 + warmup: 8 + margin: 0.1 + lr: 0.001 + factor: 0.7 + patience: 10 + regime: [rp, hnm, norm] + bidir: False + max_epochs: 20 + + # Building + test_processing: ["edges_at_least_3_hits", "remove_edges_in_same_plane"] + training_processing: ["edges_at_least_3_hits", "remove_edges_in_same_plane"] + + +gnn: + # Dataset parameters + input_subdirectory: "metric_learning_processed" + output_subdirectory: "gnn_processed" + edge_cut: 0.5 + noise: True + bidir: False + + # Model parameters + feature_indices: 4 # mmh I'm actually using the plane number, which is not deliberate + hidden: 256 + n_graph_iters: 8 + nb_node_layers: 6 + nb_node_encoder_layers: 6 + nb_edge_layers: 10 + nb_edge_encoder_layers: 6 + nb_edge_classifier_layers: 6 + layernorm: True + aggregation: sum_max + hidden_activation: SiLU + weight: 0.25 + warmup: 10 + lr: 0.0002 + factor: 0.7 + patience: 8 + regime: ["pid"] + max_epochs: 50 + gradient_clip_val: 0.5 + focal_loss: true + +triplet_building: + input_subdirectory: "gnn_processed" + output_subdirectory: "triplet_building" + +track_building: + score_cut: 0.44 + # input_subdirectory: "gnn_processed" + input_subdirectory: "gnn_processed" + output_subdirectory: "track_building_processed" diff --git a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml index a9ca3111..bbb483bd 100644 --- a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml +++ b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-20000.yaml @@ -14,7 +14,7 @@ preprocessing: subdirs: {"start": 10, "stop": 20} output_subdirectory: "preprocessed" selection: triplets_first_selection - n_events: 21000 # if `null`, default to `n_train_events + n_test_events` + n_events: null # if `null`, default to `n_train_events + n_test_events` num_true_hits_threshold: 500 hits_particles_columns: ["x", "y", "z", "plane"] particles_columns: null @@ -99,7 +99,7 @@ triplet_building: output_subdirectory: "triplet_building" track_building: - score_cut: 0.45 + score_cut: 0.44 # input_subdirectory: "gnn_processed" input_subdirectory: "gnn_processed" output_subdirectory: "track_building_processed" diff --git a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-250000.yaml b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-250000.yaml new file mode 100644 index 00000000..605efcf7 --- /dev/null +++ b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-250000.yaml @@ -0,0 +1,106 @@ +common: + experiment_name: focal-loss-pid-fixed-250000 + data_directory: /scratch/acorreia/data + artifact_directory: artifacts + performance_directory: output # plots and reports + gpus: 1 + test_dataset_names: + - velo-sim10b-nospillover_choice + - velo-sim10b-nospillover + # - velo-sim10b-nospillover-only-long-electrons + # - bu2kstee-sim10aU1-xdigi + +preprocessing: + input_dir: /scratch/acorreia/minbias-sim10b-xdigi-nospillover + subdirs: {"start": 30, "stop": 80} + output_subdirectory: "preprocessed" + selection: triplets_first_selection + n_events: null # if `null`, default to `n_train_events + n_test_events` + num_true_hits_threshold: 500 + hits_particles_columns: ["x", "y", "z", "plane"] + particles_columns: null + +processing: + input_subdirectory: "preprocessed" + output_subdirectory: "processed" + n_workers: 32 + features: ["r", "phi", "z", "plane"] + feature_means: [18., 0.0, 281.0, 7.5] + feature_scales: [9.75, 1.82, 287.0, 12.5] + kept_hits_columns: ["plane", {"un_x": "x"}, {"un_y": "y"}, {"un_z": "z"}] + kept_particles_columns: ["n_unique_planes", "nhits_velo"] + n_train_events: 250000 + n_val_events: 1000 + split_seed: 0 + true_edges_column: planewise + +metric_learning: + # Dataset parameters + input_subdirectory: "processed" + output_subdirectory: "metric_learning_processed" + + # Model parameters + feature_indices: 4 + emb_hidden: 256 + nb_layer: 6 + emb_dim: 4 + activation: Tanh + weight: 2 + randomisation: 2 + points_per_batch: 100000 + r: 0.015 + r_inference: 0.020 + knn: 50 + warmup: 8 + margin: 0.1 + lr: 0.001 + factor: 0.7 + patience: 10 + regime: [rp, hnm, norm] + bidir: False + max_epochs: 20 + + # Building + test_processing: ["edges_at_least_3_hits", "remove_edges_in_same_plane"] + training_processing: ["edges_at_least_3_hits", "remove_edges_in_same_plane"] + + +gnn: + # Dataset parameters + input_subdirectory: "metric_learning_processed" + output_subdirectory: "gnn_processed" + edge_cut: 0.5 + noise: True + bidir: False + + # Model parameters + feature_indices: 4 # mmh I'm actually using the plane number, which is not deliberate + hidden: 256 + n_graph_iters: 8 + nb_node_layers: 6 + nb_node_encoder_layers: 6 + nb_edge_layers: 10 + nb_edge_encoder_layers: 6 + nb_edge_classifier_layers: 6 + layernorm: True + aggregation: sum_max + hidden_activation: SiLU + weight: 0.25 + warmup: 10 + lr: 0.0002 + factor: 0.7 + patience: 8 + regime: ["pid"] + max_epochs: 50 + gradient_clip_val: 0.5 + focal_loss: true + +triplet_building: + input_subdirectory: "gnn_processed" + output_subdirectory: "triplet_building" + +track_building: + score_cut: 0.44 + # input_subdirectory: "gnn_processed" + input_subdirectory: "gnn_processed" + output_subdirectory: "track_building_processed" diff --git a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-80000-2.yaml b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-80000-2.yaml new file mode 100644 index 00000000..5bfe3818 --- /dev/null +++ b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-80000-2.yaml @@ -0,0 +1,106 @@ +common: + experiment_name: focal-loss-pid-fixed-80000-2 + data_directory: /scratch/acorreia/data + artifact_directory: artifacts + performance_directory: output # plots and reports + gpus: 1 + test_dataset_names: + - velo-sim10b-nospillover_choice + - velo-sim10b-nospillover + # - velo-sim10b-nospillover-only-long-electrons + # - bu2kstee-sim10aU1-xdigi + +preprocessing: + input_dir: /scratch/acorreia/minbias-sim10b-xdigi-nospillover + subdirs: {"start": 30, "stop": 50} + output_subdirectory: "preprocessed" + selection: triplets_first_selection + n_events: null # if `null`, default to `n_train_events + n_test_events` + num_true_hits_threshold: 500 + hits_particles_columns: ["x", "y", "z", "plane"] + particles_columns: null + +processing: + input_subdirectory: "preprocessed" + output_subdirectory: "processed" + n_workers: 32 + features: ["r", "phi", "z", "plane"] + feature_means: [18., 0.0, 281.0, 7.5] + feature_scales: [9.75, 1.82, 287.0, 12.5] + kept_hits_columns: ["plane", {"un_x": "x"}, {"un_y": "y"}, {"un_z": "z"}] + kept_particles_columns: ["n_unique_planes", "nhits_velo"] + n_train_events: 80000 + n_val_events: 1000 + split_seed: 0 + true_edges_column: planewise + +metric_learning: + # Dataset parameters + input_subdirectory: "processed" + output_subdirectory: "metric_learning_processed" + + # Model parameters + feature_indices: 4 + emb_hidden: 256 + nb_layer: 6 + emb_dim: 4 + activation: Tanh + weight: 2 + randomisation: 2 + points_per_batch: 100000 + r: 0.015 + r_inference: 0.020 + knn: 50 + warmup: 8 + margin: 0.1 + lr: 0.001 + factor: 0.7 + patience: 10 + regime: [rp, hnm, norm] + bidir: False + max_epochs: 20 + + # Building + test_processing: ["edges_at_least_3_hits", "remove_edges_in_same_plane"] + training_processing: ["edges_at_least_3_hits", "remove_edges_in_same_plane"] + + +gnn: + # Dataset parameters + input_subdirectory: "metric_learning_processed" + output_subdirectory: "gnn_processed" + edge_cut: 0.5 + noise: True + bidir: False + + # Model parameters + feature_indices: 4 # mmh I'm actually using the plane number, which is not deliberate + hidden: 256 + n_graph_iters: 8 + nb_node_layers: 6 + nb_node_encoder_layers: 6 + nb_edge_layers: 10 + nb_edge_encoder_layers: 6 + nb_edge_classifier_layers: 6 + layernorm: True + aggregation: sum_max + hidden_activation: SiLU + weight: 0.25 + warmup: 10 + lr: 0.0002 + factor: 0.7 + patience: 8 + regime: ["pid"] + max_epochs: 50 + gradient_clip_val: 0.5 + focal_loss: true + +triplet_building: + input_subdirectory: "gnn_processed" + output_subdirectory: "triplet_building" + +track_building: + score_cut: 0.44 + # input_subdirectory: "gnn_processed" + input_subdirectory: "gnn_processed" + output_subdirectory: "track_building_processed" diff --git a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-80000.yaml b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-80000.yaml new file mode 100644 index 00000000..26b33b44 --- /dev/null +++ b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-80000.yaml @@ -0,0 +1,106 @@ +common: + experiment_name: focal-loss-pid-fixed-80000 + data_directory: /scratch/acorreia/data + artifact_directory: artifacts + performance_directory: output # plots and reports + gpus: 1 + test_dataset_names: + - velo-sim10b-nospillover_choice + - velo-sim10b-nospillover + # - velo-sim10b-nospillover-only-long-electrons + # - bu2kstee-sim10aU1-xdigi + +preprocessing: + input_dir: /scratch/acorreia/minbias-sim10b-xdigi-nospillover + subdirs: {"start": 15, "stop": 50} + output_subdirectory: "preprocessed" + selection: triplets_first_selection + n_events: null # if `null`, default to `n_train_events + n_test_events` + num_true_hits_threshold: 500 + hits_particles_columns: ["x", "y", "z", "plane"] + particles_columns: null + +processing: + input_subdirectory: "preprocessed" + output_subdirectory: "processed" + n_workers: 32 + features: ["r", "phi", "z", "plane"] + feature_means: [18., 0.0, 281.0, 7.5] + feature_scales: [9.75, 1.82, 287.0, 12.5] + kept_hits_columns: ["plane", {"un_x": "x"}, {"un_y": "y"}, {"un_z": "z"}] + kept_particles_columns: ["n_unique_planes", "nhits_velo"] + n_train_events: 80000 + n_val_events: 1000 + split_seed: 0 + true_edges_column: planewise + +metric_learning: + # Dataset parameters + input_subdirectory: "processed" + output_subdirectory: "metric_learning_processed" + + # Model parameters + feature_indices: 4 + emb_hidden: 256 + nb_layer: 6 + emb_dim: 4 + activation: Tanh + weight: 2 + randomisation: 2 + points_per_batch: 100000 + r: 0.015 + r_inference: 0.020 + knn: 50 + warmup: 8 + margin: 0.1 + lr: 0.001 + factor: 0.7 + patience: 10 + regime: [rp, hnm, norm] + bidir: False + max_epochs: 20 + + # Building + test_processing: ["edges_at_least_3_hits", "remove_edges_in_same_plane"] + training_processing: ["edges_at_least_3_hits", "remove_edges_in_same_plane"] + + +gnn: + # Dataset parameters + input_subdirectory: "metric_learning_processed" + output_subdirectory: "gnn_processed" + edge_cut: 0.5 + noise: True + bidir: False + + # Model parameters + feature_indices: 4 # mmh I'm actually using the plane number, which is not deliberate + hidden: 256 + n_graph_iters: 8 + nb_node_layers: 6 + nb_node_encoder_layers: 6 + nb_edge_layers: 10 + nb_edge_encoder_layers: 6 + nb_edge_classifier_layers: 6 + layernorm: True + aggregation: sum_max + hidden_activation: SiLU + weight: 0.25 + warmup: 10 + lr: 0.0002 + factor: 0.7 + patience: 8 + regime: ["pid"] + max_epochs: 50 + gradient_clip_val: 0.5 + focal_loss: true + +triplet_building: + input_subdirectory: "gnn_processed" + output_subdirectory: "triplet_building" + +track_building: + score_cut: 0.44 + # input_subdirectory: "gnn_processed" + input_subdirectory: "gnn_processed" + output_subdirectory: "track_building_processed" -- GitLab From 82711eec7f1c28336e9aabbd9731cf4bf51ca8f1 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Wed, 14 Jun 2023 20:46:02 +0200 Subject: [PATCH 18/33] Add test sample for choice for score_cut --- LHCb_Pipeline/test_samples.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/LHCb_Pipeline/test_samples.yaml b/LHCb_Pipeline/test_samples.yaml index b76aeb12..425c03da 100644 --- a/LHCb_Pipeline/test_samples.yaml +++ b/LHCb_Pipeline/test_samples.yaml @@ -4,6 +4,12 @@ velo-sim10b-nospillover: n_events: 1000 num_true_hits_threshold: null +velo-sim10b-nospillover_choice: + input_dir: /scratch/acorreia/data_validation/minbias-sim10b-xdigi-nospillover/498 + selection: null + n_events: 1000 + num_true_hits_threshold: null + velo-sim10b-nospillover-only-long-electrons: input_dir: /scratch/acorreia/data_validation/minbias-sim10b-xdigi-nospillover/500 selection: only_long_electrons -- GitLab From 415854d16594625695bec371619242c76cb7d385 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 14:32:25 +0200 Subject: [PATCH 19/33] Fix small typo --- LHCb_Pipeline/Embedding/embedding_base.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/LHCb_Pipeline/Embedding/embedding_base.py b/LHCb_Pipeline/Embedding/embedding_base.py index 05be38b3..676db32d 100644 --- a/LHCb_Pipeline/Embedding/embedding_base.py +++ b/LHCb_Pipeline/Embedding/embedding_base.py @@ -89,11 +89,11 @@ class EmbeddingBase(ModelBase): ) e_spatial = torch.cat( - [ + ( e_spatial.to(device), knn_edges.to(device), - ], - axis=-1, + ), + dim=-1, ) return e_spatial -- GitLab From 608006b5e261565c84498dfa013d67552d33cea0 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 15:48:49 +0200 Subject: [PATCH 20/33] Set up lazy dataset --- LHCb_Pipeline/Embedding/embedding_base.py | 4 +- LHCb_Pipeline/GNN/gnn_base.py | 66 ++++++++- LHCb_Pipeline/utils/loaderutils/__init__.py | 2 + .../utils/loaderutils/dataiterator.py | 53 +++++++ .../utils/loaderutils/pathandling.py | 36 +++++ LHCb_Pipeline/utils/modelutils/basemodel.py | 135 ++++++++++++------ 6 files changed, 246 insertions(+), 50 deletions(-) create mode 100644 LHCb_Pipeline/utils/loaderutils/__init__.py create mode 100644 LHCb_Pipeline/utils/loaderutils/dataiterator.py create mode 100644 LHCb_Pipeline/utils/loaderutils/pathandling.py diff --git a/LHCb_Pipeline/Embedding/embedding_base.py b/LHCb_Pipeline/Embedding/embedding_base.py index 676db32d..be0e3389 100644 --- a/LHCb_Pipeline/Embedding/embedding_base.py +++ b/LHCb_Pipeline/Embedding/embedding_base.py @@ -144,7 +144,9 @@ class EmbeddingBase(ModelBase): def get_truth(self, batch, e_spatial, e_bidir): e_spatial, y_cluster = graph_intersection( - e_spatial, e_bidir, device=self.device, + e_spatial, + e_bidir, + device=self.device, ) return e_spatial, y_cluster diff --git a/LHCb_Pipeline/GNN/gnn_base.py b/LHCb_Pipeline/GNN/gnn_base.py index 71c8d115..388e981b 100644 --- a/LHCb_Pipeline/GNN/gnn_base.py +++ b/LHCb_Pipeline/GNN/gnn_base.py @@ -4,8 +4,10 @@ from sklearn.metrics import roc_auc_score import torch.nn.functional as F import torch from torch_geometric.data import Data +from LHCb_Pipeline.utils.loaderutils.dataiterator import LazyDatasetBase from utils.modelutils.basemodel import ModelBase +from utils.loaderutils.dataiterator import LazyDatasetBase def compute_edge_labels( @@ -36,9 +38,67 @@ def compute_edge_labels( ) +class GNNLazyDataset(LazyDatasetBase): + def __init__(self, bidir: bool, shuffle_edge_direction: bool, **kwargs): + super().__init__(**kwargs) + self.bidir = bool(bidir) + self.shuffle_edge_direction = bool(shuffle_edge_direction) + + def fetch_dataset(self, input_path: str, **kwargs): + loaded_event = super(GNNLazyDataset, self).fetch_dataset( + input_path=input_path, **kwargs + ) + + # Add `y_pid` column if not already there + if "y_pid" not in loaded_event: + loaded_event["y_pid"] = compute_edge_labels( + edge_indices=loaded_event.edge_index, + particle_ids=loaded_event.particle_id, + ) + + if self.shuffle_edge_direction: + assert self.bidir, ( + "It was required to shuffle the edge directions, even though " + "the graph is not bidirectional. This is odd." + ) + # Randomly shuffle direction of edges + random_flip = torch.randint(2, (loaded_event.edge_index.shape[1],)).bool() + ( + loaded_event.edge_index[0, random_flip], + loaded_event.edge_index[1, random_flip], + ) = ( + loaded_event.edge_index[1, random_flip], + loaded_event.edge_index[0, random_flip], + ) + + return loaded_event + + class GNNBase(ModelBase): + def get_lazy_dataset(self, **kwargs) -> GNNLazyDataset: + """Get the GNN lazy dataset object. + + Args: + input_dir: input directory + n_events: number of events to load + shuffle: whether to shuffle the input paths (applied before + selected the first ``n_events``) + seed: seed for the shuffling + **kwargs: Other keyword arguments passed to the + :py:class:`utils.loaderutils.dataiterator.LazyDatasetBase` constructor. + + Returns: + :py:class:`utils.loaderutils.dataiterator.LazyDatasetBase` object + """ + return GNNLazyDataset( + bidir=self.bidir, + shuffle_edge_direction=self.hparams.get("shuffle_edge_direction", False), + **kwargs, + ) + @property def bidir(self) -> bool: + """Whether the graph is bidirectional""" return self.hparams.get("bidir", True) def fetch_dataset(self, input_path: str, **kwargs) -> Data: @@ -116,13 +176,14 @@ class GNNBase(ModelBase): if ("weight" in self.hparams) else (~truth).sum() / truth.sum() ) - + if not output.shape: output = output.reshape((-1,)) # Compute weighted loss if self.hparams.get("focal_loss", False): from torchvision.ops import sigmoid_focal_loss + loss = sigmoid_focal_loss( inputs=output, targets=truth.float(), @@ -257,7 +318,7 @@ class GNNBase(ModelBase): batch_idx, optimizer, optimizer_closure, - ): + ): # warm up lr if (self.hparams["warmup"] is not None) and ( self.current_epoch < self.hparams["warmup"] @@ -272,4 +333,3 @@ class GNNBase(ModelBase): # update params optimizer.step(closure=optimizer_closure) optimizer.zero_grad(set_to_none=False) - diff --git a/LHCb_Pipeline/utils/loaderutils/__init__.py b/LHCb_Pipeline/utils/loaderutils/__init__.py new file mode 100644 index 00000000..911fec66 --- /dev/null +++ b/LHCb_Pipeline/utils/loaderutils/__init__.py @@ -0,0 +1,2 @@ +"""A package that contains utilities to load files for training, test and validation. +""" diff --git a/LHCb_Pipeline/utils/loaderutils/dataiterator.py b/LHCb_Pipeline/utils/loaderutils/dataiterator.py new file mode 100644 index 00000000..1e4029e9 --- /dev/null +++ b/LHCb_Pipeline/utils/loaderutils/dataiterator.py @@ -0,0 +1,53 @@ +"""Implement a general data loader that does not load all the data into +memory, in order to deal with large datasets. +""" +from __future__ import annotations +import torch +from torch.utils.data import Dataset +from torch_geometric.data import Data + +from .pathandling import get_input_paths + + +class LazyDatasetBase(Dataset): + def __init__( + self, + input_dir: str, + n_events: int | None = None, + shuffle: bool = False, + seed: int | None = None, + **kwargs, + ): + self.input_dir = str(input_dir) + + self.input_paths = get_input_paths( + input_dir=self.input_dir, + n_events=n_events, + shuffle=shuffle, + seed=seed, + ) + self.fetch_dataset_kwargs = kwargs + + def __len__(self) -> int: + """Number of input files""" + return len(self.input_paths) + + def fetch_dataset(self, input_path: str, map_location: str = "cpu", **kwargs): + """Load and process one PyTorch DataSet. + + Args: + input_path: path to the PyTorch dataset + map_location: location where to load the dataset + **kwargs: Other keyword arguments passed to :py:func:`torch.load` + + Returns: + Load PyTorch data object + """ + return torch.load( + input_path, map_location=map_location, **self.fetch_dataset_kwargs, **kwargs + ) + + def __getitem__(self, idx: int) -> Data: + input_path = self.input_paths[idx] + dataset = self.fetch_dataset(input_path=input_path) + return dataset diff --git a/LHCb_Pipeline/utils/loaderutils/pathandling.py b/LHCb_Pipeline/utils/loaderutils/pathandling.py new file mode 100644 index 00000000..b74f2664 --- /dev/null +++ b/LHCb_Pipeline/utils/loaderutils/pathandling.py @@ -0,0 +1,36 @@ +"""Utilies to handles datasets without loading them. +""" +import typing +import os +import numpy as np + + +def get_input_paths( + input_dir: str, + n_events: int | None = None, + shuffle: bool = False, + seed: int | None = None, +) -> typing.List[str]: + """Get the paths of the datasets located in a given directory. + + Args: + input_dir: input directory + n_events: number of events to load + shuffle: whether to shuffle the input paths (applied before + selected the first ``n_events``) + seed: seed for the shuffling + **kwargs: Other keyword arguments passed to + :py:func:`ModelBase.fetch_dataset` + + Returns: + List of paths to the PyTorch Data objects + """ + all_input_paths = [entry.path for entry in os.scandir(input_dir) if entry.is_file()] + if shuffle: + rng = np.random.default_rng(seed=seed) + rng.shuffle(all_input_paths) + + if n_events is not None: + all_input_paths = all_input_paths[:n_events] + + return all_input_paths diff --git a/LHCb_Pipeline/utils/modelutils/basemodel.py b/LHCb_Pipeline/utils/modelutils/basemodel.py index 706f1193..3a06ddb4 100644 --- a/LHCb_Pipeline/utils/modelutils/basemodel.py +++ b/LHCb_Pipeline/utils/modelutils/basemodel.py @@ -7,17 +7,20 @@ import os import os.path as op from tqdm.auto import tqdm -import numpy as np import torch from pytorch_lightning import LightningModule from torch_geometric.data import Data from torch_geometric.loader import DataLoader from utils.commonutils.cfeatures import get_input_features +from utils.loaderutils.dataiterator import LazyDatasetBase class ModelBase(LightningModule): - def __init__(self, hparams): + def __init__( + self, + hparams, + ): super().__init__() self._trainset = None self._valset = None @@ -25,10 +28,18 @@ class ModelBase(LightningModule): self.save_hyperparameters(hparams) def setup(self, stage): - self.load_partition("train") + if not self.lazy: + self.load_partition("train") self.load_partition("val") self.testset = None + @property + def lazy(self) -> bool: + """Whether to load the training set and val set into memory only when + needed. + """ + return self.hparams.get("lazy", False) + @property def trainset(self) -> typing.List[Data]: if self._trainset is None: @@ -52,10 +63,13 @@ class ModelBase(LightningModule): self._valset = batches def train_dataloader(self): - if len(self.trainset) > 0: - return DataLoader(self.trainset, batch_size=1, num_workers=16) + if self.lazy: + return self.get_lazy_dataset_partition(partition="train") else: - return None + if len(self.trainset) > 0: + return DataLoader(self.trainset, batch_size=1, num_workers=16) + else: + return None def val_dataloader(self): if len(self.valset) > 0: @@ -69,15 +83,15 @@ class ModelBase(LightningModule): else: return None - def fetch_datasets( + def get_lazy_dataset( self, input_dir: str, n_events: int | None = None, shuffle: bool = False, seed: int | None = None, **kwargs, - ) -> typing.List[Data]: - """Get the datasets located in a given directory. + ) -> LazyDatasetBase: + """Get the lazy dataset object. Args: input_dir: input directory @@ -85,73 +99,74 @@ class ModelBase(LightningModule): shuffle: whether to shuffle the input paths (applied before selected the first ``n_events``) seed: seed for the shuffling - **kwargs: Other keyword arguments passed to - :py:func:`ModelBase.fetch_dataset` + **kwargs: Other keyword arguments passed to the + :py:class:`utils.loaderutils.dataiterator.LazyDatasetBase` constructor. Returns: - List of loaded PyTorch Geometric Data objects + :py:class:`utils.loaderutils.dataiterator.LazyDatasetBase` object """ - all_input_paths = [ - entry.path for entry in os.scandir(input_dir) if entry.is_file() - ] - if shuffle: - rng = np.random.default_rng(seed=seed) - rng.shuffle(all_input_paths) - - if n_events is not None: - all_input_paths = all_input_paths[:n_events] - - logging.info(f"Load {len(all_input_paths)} files located in {input_dir}") - return [ - self.fetch_dataset(input_path=input_path, **kwargs) - for input_path in tqdm(all_input_paths) - ] + return LazyDatasetBase( + input_dir=input_dir, + n_events=n_events, + shuffle=shuffle, + seed=seed, + **kwargs, + ) - def fetch_dataset( - self, input_path: str, map_location: str = "cpu", **kwargs - ) -> Data: - """Load and process one PyTorch DataSet. + def fetch_datasets(self, lazy_dataset: LazyDatasetBase) -> typing.List[Data]: + """Get the datasets located in a given directory. Args: - input_path: path to the PyTorch dataset - map_location: location where to load the dataset - **kwargs: Other keyword arguments passed to :py:func:`torch.load` + input_dir: input directory + n_events: number of events to load + shuffle: whether to shuffle the input paths (applied before + selected the first ``n_events``) + seed: seed for the shuffling + **kwargs: Other keyword arguments passed to + :py:func:`ModelBase.get_lazy_dataset` Returns: - Load PyTorch data object + List of loaded PyTorch Geometric Data objects """ - return torch.load(input_path, map_location=map_location, **kwargs) + logging.info( + f"Load {len(lazy_dataset)} files located in {lazy_dataset.input_dir}" + ) + return [event for event in tqdm(iter(lazy_dataset), total=len(lazy_dataset))] - def load_testset_from_directory(self, input_dir: str): + def load_testset_from_directory(self, input_dir: str, **kwargs): """Load a test dataset from a path to a directory. Args: input_dir: path to the directory that contains the PyTorch Geometric Data pickles files. """ - self.testset = self.fetch_datasets(input_dir=input_dir) + lazy_dataset = self.get_lazy_dataset(input_dir=input_dir, **kwargs) + self.testset = self.fetch_datasets(lazy_dataset=lazy_dataset) - def fetch_partition( + def get_lazy_dataset_partition( self, partition: str, n_events: int | None = None, shuffle: bool = False, seed: int | None = None, **kwargs, - ) -> typing.List[Data]: - """Load a partition. + ) -> LazyDatasetBase: + """Get the lazy dataset of a partition. Args: partition: ``train``, ``val`` or name of the test dataset - n_events: number of events to load for this partition + n_events: number of events to load shuffle: whether to shuffle the input paths (applied before selected the first ``n_events``) seed: seed for the shuffling **kwargs: Other keyword arguments passed to - :py:func:`ModelBase.fetch_dataset` + :py:func:`ModelBase.get_lazy_dataset` + + Returns: + Lazy dataset of the ``partition`` """ if partition in ["train", "val"]: - datasets = self.fetch_datasets( + lazy_dataset = self.get_lazy_dataset( op.join(self.hparams["input_dir"], partition), n_events=( self.hparams.get(f"n_{partition}_events") @@ -164,7 +179,7 @@ class ModelBase(LightningModule): ) else: - datasets = self.fetch_datasets( + lazy_dataset = self.get_lazy_dataset( input_dir=op.join(self.hparams["input_dir"], "test", partition), n_events=n_events, shuffle=shuffle, @@ -172,7 +187,35 @@ class ModelBase(LightningModule): **kwargs, ) - return datasets + return lazy_dataset + + def fetch_partition( + self, + partition: str, + n_events: int | None = None, + shuffle: bool = False, + seed: int | None = None, + **kwargs, + ) -> typing.List[Data]: + """Load a partition. + + Args: + partition: ``train``, ``val`` or name of the test dataset + n_events: number of events to load for this partition + shuffle: whether to shuffle the input paths (applied before + selected the first ``n_events``) + seed: seed for the shuffling + **kwargs: Other keyword arguments passed to + :py:func:`ModelBase.fetch_dataset` + """ + lazy_dataset = self.get_lazy_dataset_partition( + partition=partition, + n_events=n_events, + shuffle=shuffle, + seed=seed, + **kwargs, + ) + return self.fetch_datasets(lazy_dataset=lazy_dataset) def load_partition( self, -- GitLab From 2a260d04d288babf2dba6300ef926f4f8e968aea Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 15:49:53 +0200 Subject: [PATCH 21/33] Fix torch.cat use --- LHCb_Pipeline/Embedding/embedding_base.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/LHCb_Pipeline/Embedding/embedding_base.py b/LHCb_Pipeline/Embedding/embedding_base.py index be0e3389..186021f4 100644 --- a/LHCb_Pipeline/Embedding/embedding_base.py +++ b/LHCb_Pipeline/Embedding/embedding_base.py @@ -107,18 +107,18 @@ class EmbeddingBase(ModelBase): random_pairs = torch.stack([query_indices[indices_src], indices_dest]) e_spatial = torch.cat( - [e_spatial.to(device), random_pairs.to(device)], - axis=-1, + (e_spatial.to(device), random_pairs.to(device)), + dim=-1, ) return e_spatial def get_true_pairs(self, e_spatial, y_cluster, new_weights, e_bidir): e_spatial = torch.cat( - [ + ( e_spatial.to(self.device), e_bidir, - ], - axis=-1, + ), + dim=-1, ) y_cluster = torch.cat( [y_cluster.int(), torch.ones(e_bidir.shape[1], device=self.device)] -- GitLab From 45a79c3d2089c604e49f913ac0adc1538213faa4 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 15:51:46 +0200 Subject: [PATCH 22/33] Remove old "fetch_dataset" in GNNBase --- LHCb_Pipeline/GNN/gnn_base.py | 37 ----------------------------------- 1 file changed, 37 deletions(-) diff --git a/LHCb_Pipeline/GNN/gnn_base.py b/LHCb_Pipeline/GNN/gnn_base.py index 388e981b..5948ed51 100644 --- a/LHCb_Pipeline/GNN/gnn_base.py +++ b/LHCb_Pipeline/GNN/gnn_base.py @@ -101,43 +101,6 @@ class GNNBase(ModelBase): """Whether the graph is bidirectional""" return self.hparams.get("bidir", True) - def fetch_dataset(self, input_path: str, **kwargs) -> Data: - """Load and process one PyTorch DataSet. - - Args: - input_path: path to the PyTorch dataset - - Returns: - PyTorch DataSet - """ - loaded_event = super(GNNBase, self).fetch_dataset( - input_path=input_path, **kwargs - ) - - # Add `y_pid` column if not already there - if "y_pid" not in loaded_event: - loaded_event["y_pid"] = compute_edge_labels( - edge_indices=loaded_event.edge_index, - particle_ids=loaded_event.particle_id, - ) - - if self.hparams.get("shuffle_edge_direction", False): - assert self.bidir, ( - "It was required to shuffle the edge directions, even though " - "the graph is not bidirectional. This is odd." - ) - # Randomly shuffle direction of edges - random_flip = torch.randint(2, (loaded_event.edge_index.shape[1],)).bool() - ( - loaded_event.edge_index[0, random_flip], - loaded_event.edge_index[1, random_flip], - ) = ( - loaded_event.edge_index[1, random_flip], - loaded_event.edge_index[0, random_flip], - ) - - return loaded_event - def handle_bidirectional(self, edge_sample, truth_sample): if self.bidir: edge_sample = torch.cat([edge_sample, edge_sample.flip(0)], dim=-1) -- GitLab From 686b9c5e4461ebf22d3e0355178fd1b5365630e8 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 15:52:43 +0200 Subject: [PATCH 23/33] Fix weird automatic import --- LHCb_Pipeline/GNN/gnn_base.py | 1 - 1 file changed, 1 deletion(-) diff --git a/LHCb_Pipeline/GNN/gnn_base.py b/LHCb_Pipeline/GNN/gnn_base.py index 5948ed51..b3d32ef2 100644 --- a/LHCb_Pipeline/GNN/gnn_base.py +++ b/LHCb_Pipeline/GNN/gnn_base.py @@ -4,7 +4,6 @@ from sklearn.metrics import roc_auc_score import torch.nn.functional as F import torch from torch_geometric.data import Data -from LHCb_Pipeline.utils.loaderutils.dataiterator import LazyDatasetBase from utils.modelutils.basemodel import ModelBase from utils.loaderutils.dataiterator import LazyDatasetBase -- GitLab From be1cc88245c2357c86406ce05f06c43bc3679bed Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 15:57:29 +0200 Subject: [PATCH 24/33] Fix bug in get_lazy_dataset with args and kwargs --- LHCb_Pipeline/GNN/gnn_base.py | 3 ++- LHCb_Pipeline/utils/modelutils/basemodel.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/LHCb_Pipeline/GNN/gnn_base.py b/LHCb_Pipeline/GNN/gnn_base.py index b3d32ef2..76d34537 100644 --- a/LHCb_Pipeline/GNN/gnn_base.py +++ b/LHCb_Pipeline/GNN/gnn_base.py @@ -74,7 +74,7 @@ class GNNLazyDataset(LazyDatasetBase): class GNNBase(ModelBase): - def get_lazy_dataset(self, **kwargs) -> GNNLazyDataset: + def get_lazy_dataset(self, *args, **kwargs) -> GNNLazyDataset: """Get the GNN lazy dataset object. Args: @@ -90,6 +90,7 @@ class GNNBase(ModelBase): :py:class:`utils.loaderutils.dataiterator.LazyDatasetBase` object """ return GNNLazyDataset( + *args, bidir=self.bidir, shuffle_edge_direction=self.hparams.get("shuffle_edge_direction", False), **kwargs, diff --git a/LHCb_Pipeline/utils/modelutils/basemodel.py b/LHCb_Pipeline/utils/modelutils/basemodel.py index 3a06ddb4..baeb32aa 100644 --- a/LHCb_Pipeline/utils/modelutils/basemodel.py +++ b/LHCb_Pipeline/utils/modelutils/basemodel.py @@ -167,7 +167,7 @@ class ModelBase(LightningModule): """ if partition in ["train", "val"]: lazy_dataset = self.get_lazy_dataset( - op.join(self.hparams["input_dir"], partition), + input_dir=op.join(self.hparams["input_dir"], partition), n_events=( self.hparams.get(f"n_{partition}_events") if n_events is None -- GitLab From 05cbac53b3069c246068e9b0bda92395eb347a3a Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 16:41:18 +0200 Subject: [PATCH 25/33] Load trainset as lazy dataset if lazy set to true --- LHCb_Pipeline/utils/modelutils/basemodel.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/LHCb_Pipeline/utils/modelutils/basemodel.py b/LHCb_Pipeline/utils/modelutils/basemodel.py index baeb32aa..6f1de1c8 100644 --- a/LHCb_Pipeline/utils/modelutils/basemodel.py +++ b/LHCb_Pipeline/utils/modelutils/basemodel.py @@ -28,8 +28,7 @@ class ModelBase(LightningModule): self.save_hyperparameters(hparams) def setup(self, stage): - if not self.lazy: - self.load_partition("train") + self.load_partition("train") self.load_partition("val") self.testset = None @@ -41,7 +40,7 @@ class ModelBase(LightningModule): return self.hparams.get("lazy", False) @property - def trainset(self) -> typing.List[Data]: + def trainset(self) -> typing.List[Data] | LazyDatasetBase: if self._trainset is None: self.load_partition(partition="train") assert self._trainset is not None @@ -63,13 +62,10 @@ class ModelBase(LightningModule): self._valset = batches def train_dataloader(self): - if self.lazy: - return self.get_lazy_dataset_partition(partition="train") + if len(self.trainset) > 0: + return DataLoader(self.trainset, batch_size=1, num_workers=16) else: - if len(self.trainset) > 0: - return DataLoader(self.trainset, batch_size=1, num_workers=16) - else: - return None + return None def val_dataloader(self): if len(self.valset) > 0: @@ -196,7 +192,7 @@ class ModelBase(LightningModule): shuffle: bool = False, seed: int | None = None, **kwargs, - ) -> typing.List[Data]: + ) -> typing.List[Data] | LazyDatasetBase: """Load a partition. Args: @@ -215,7 +211,10 @@ class ModelBase(LightningModule): seed=seed, **kwargs, ) - return self.fetch_datasets(lazy_dataset=lazy_dataset) + if partition == "train" and self.lazy: + return lazy_dataset + else: + return self.fetch_datasets(lazy_dataset=lazy_dataset) def load_partition( self, -- GitLab From ce3c7131847228f3f413e2a6797404a2571e0c91 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 17:15:45 +0200 Subject: [PATCH 26/33] fix map_location in data iterator --- LHCb_Pipeline/utils/loaderutils/dataiterator.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/LHCb_Pipeline/utils/loaderutils/dataiterator.py b/LHCb_Pipeline/utils/loaderutils/dataiterator.py index 1e4029e9..2f1a7eac 100644 --- a/LHCb_Pipeline/utils/loaderutils/dataiterator.py +++ b/LHCb_Pipeline/utils/loaderutils/dataiterator.py @@ -43,8 +43,16 @@ class LazyDatasetBase(Dataset): Returns: Load PyTorch data object """ + fetch_dataset_kwargs = self.fetch_dataset_kwargs.copy() + map_location_kwargs = fetch_dataset_kwargs.pop("map_location", None) + return torch.load( - input_path, map_location=map_location, **self.fetch_dataset_kwargs, **kwargs + input_path, + map_location=( + map_location_kwargs if map_location_kwargs is not None else map_location + ), + **fetch_dataset_kwargs, + **kwargs, ) def __getitem__(self, idx: int) -> Data: -- GitLab From 84c1df8cbb2923396e4d72836ec2380fdc1b6eeb Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 17:31:49 +0200 Subject: [PATCH 27/33] Be able to log on step in GNN --- LHCb_Pipeline/GNN/gnn_base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LHCb_Pipeline/GNN/gnn_base.py b/LHCb_Pipeline/GNN/gnn_base.py index 76d34537..9a47457d 100644 --- a/LHCb_Pipeline/GNN/gnn_base.py +++ b/LHCb_Pipeline/GNN/gnn_base.py @@ -209,7 +209,7 @@ class GNNBase(ModelBase): "train_loss", loss, on_epoch=True, - on_step=False, + on_step=self.hparams.get("on_step", False), batch_size=output.shape[0], prog_bar=True, ) @@ -243,7 +243,7 @@ class GNNBase(ModelBase): "current_lr": current_lr, }, on_epoch=True, - on_step=False, + on_step=self.hparams.get("on_step", False), batch_size=preds.shape[0], ) -- GitLab From a108cae946eba092d1287f273a7eeb4f3b9f22ed Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 17:57:01 +0200 Subject: [PATCH 28/33] Do not sort event IDs in groupby --- LHCb_Pipeline/Preprocessing/preprocessing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LHCb_Pipeline/Preprocessing/preprocessing.py b/LHCb_Pipeline/Preprocessing/preprocessing.py index e20f6b8a..6ad46890 100644 --- a/LHCb_Pipeline/Preprocessing/preprocessing.py +++ b/LHCb_Pipeline/Preprocessing/preprocessing.py @@ -325,8 +325,8 @@ def preprocess( ) # Loop over the events in the dataframe of hits-particles - grouped_df_hits_particles = hits_particles.groupby("event") - grouped_df_particles = particles.groupby("event") + grouped_df_hits_particles = hits_particles.groupby("event", sort=False) + grouped_df_particles = particles.groupby("event", sort=False) for event_id in event_ids: if n_output_saved >= n_required_events: break -- GitLab From c3d3909a776f6ecc9d1003e513d033f286200c15 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 17:59:37 +0200 Subject: [PATCH 29/33] Set optimal score cut to 0.43 --- .../pipeline_configs/focal-loss-pid-fixed-80000-2.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-80000-2.yaml b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-80000-2.yaml index 5bfe3818..0d43c8d5 100644 --- a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-80000-2.yaml +++ b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-80000-2.yaml @@ -100,7 +100,7 @@ triplet_building: output_subdirectory: "triplet_building" track_building: - score_cut: 0.44 + score_cut: 0.43 # input_subdirectory: "gnn_processed" input_subdirectory: "gnn_processed" output_subdirectory: "track_building_processed" -- GitLab From 343295a860163607d93a0890302c018d28f55a46 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 17:59:52 +0200 Subject: [PATCH 30/33] Decrease n_train_events --- .../pipeline_configs/focal-loss-pid-fixed-250000.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-250000.yaml b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-250000.yaml index 605efcf7..14f85df3 100644 --- a/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-250000.yaml +++ b/LHCb_Pipeline/pipeline_configs/focal-loss-pid-fixed-250000.yaml @@ -29,7 +29,7 @@ processing: feature_scales: [9.75, 1.82, 287.0, 12.5] kept_hits_columns: ["plane", {"un_x": "x"}, {"un_y": "y"}, {"un_z": "z"}] kept_particles_columns: ["n_unique_planes", "nhits_velo"] - n_train_events: 250000 + n_train_events: 220000 n_val_events: 1000 split_seed: 0 true_edges_column: planewise @@ -72,6 +72,8 @@ gnn: edge_cut: 0.5 noise: True bidir: False + n_train_events: 1000 + lazy: true # Model parameters feature_indices: 4 # mmh I'm actually using the plane number, which is not deliberate -- GitLab From 1bc46890cd4674aee8340addfb1124cdf41e1077 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 19:41:28 +0200 Subject: [PATCH 31/33] Rename selecting to process_custom in preprocessing --- .../{selecting.py => process_custom.py} | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) rename LHCb_Pipeline/Preprocessing/{selecting.py => process_custom.py} (92%) diff --git a/LHCb_Pipeline/Preprocessing/selecting.py b/LHCb_Pipeline/Preprocessing/process_custom.py similarity index 92% rename from LHCb_Pipeline/Preprocessing/selecting.py rename to LHCb_Pipeline/Preprocessing/process_custom.py index 9a0000c0..c138258d 100644 --- a/LHCb_Pipeline/Preprocessing/selecting.py +++ b/LHCb_Pipeline/Preprocessing/process_custom.py @@ -209,3 +209,23 @@ def triplets_first_selection( assert not hits_particles.isna().any().any() return hits_particles, particles + + +def compute_n_unique_planes( + hits_particles: pd.DataFrame, particles: pd.DataFrame +) -> typing.Tuple[pd.DataFrame, pd.DataFrame]: + """Compute number of unique planes for each particle. + """ + + # We'll train with all the hits for the training + # And cut before the GNN + n_unique_planes = ( + hits_particles.groupby(["event", "particle_id"])["plane"] + .nunique() + .rename("n_unique_planes") + ) + particles = particles.merge( + n_unique_planes, how="left", on=["event", "particle_id"] + ).fillna(0) + + return hits_particles, particles -- GitLab From f429a441bec28b6ca158ea157b44ca9a7aad04b1 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 22:57:45 +0200 Subject: [PATCH 32/33] Loop over events using iterator Using this iterator, it will be easier to implement cocktail samples and so on. --- LHCb_Pipeline/Preprocessing/inputloader.py | 218 +++++++++++++ LHCb_Pipeline/Preprocessing/preprocessing.py | 302 +++++++------------ LHCb_Pipeline/pipeline_config_default.yaml | 2 +- 3 files changed, 324 insertions(+), 198 deletions(-) create mode 100644 LHCb_Pipeline/Preprocessing/inputloader.py diff --git a/LHCb_Pipeline/Preprocessing/inputloader.py b/LHCb_Pipeline/Preprocessing/inputloader.py new file mode 100644 index 00000000..7885756c --- /dev/null +++ b/LHCb_Pipeline/Preprocessing/inputloader.py @@ -0,0 +1,218 @@ +"""A module that defines the input loader that allow to loop over events scattered +in different parquet or CSV files. +""" +import typing +import logging +import os +from functools import reduce + +import numpy as np +import numpy.typing as npt +import pandas as pd +from pandas.core.groupby.generic import DataFrameGroupBy + + +def get_indirs( + input_dir: str | None = None, + subdirs: int | str | typing.List[str] | typing.Dict[str, int] | None = None, +): + """Get the input directories that can be used as input of the preprocessing. + + Args: + input_dir: A single input directory if ``subdirs`` is ``None``, + or the main directory where sub-directories are + subdirs: + + * If ``subdirs`` is None, there is a single input directory, ``input_dir`` + * If ``subdirs`` is a string or a list of strings, they specify \ + the sub-directories with respect to ``input_dir``. If ``input_dir`` \ + is ``None``, then they are the (list of) input directories directly, which \ + can be useful if the input directories are not at the same location \ + (even though it is discouraged) + * If ``subdirs`` is an integer, it corresponds to the the name of the last \ + sub-directory to consider (i.e., from 0 to ``subdirs``). If ``subdirs`` \ + is ``-1``, all the sub-directories are considered as input. + * If ``subdirs`` is a dictionary, the keys ``start`` and ``stop`` specify \ + the first and last sub-directories to consider as input. + + Returns: + List of input directories that can be considered. + """ + if input_dir is None: + if isinstance(subdirs, str): + return [subdirs] + elif isinstance(subdirs, list): + return [str(subdir) for subdir in subdirs] + else: + raise TypeError( + "`input_dir` is `None` but `subdirs` is neither a string nor " + "a list of strings, so the input directories of the preprocessing " + "cannot be determined." + ) + else: + # Get the list of all the sub-directories inside ``input_dir`` + + # Filter this list according to ``subdirs`` + if subdirs is None: + return [input_dir] + elif isinstance(subdirs, (int, dict)): + available_subdirs = sorted( + [ + int(file_or_dir.name) + for file_or_dir in os.scandir(input_dir) + if file_or_dir.is_dir() + ] + ) + if subdirs == -1: + final_subdirs = available_subdirs + else: + if isinstance(subdirs, int): + start = 0 + stop = subdirs + else: # dict + start = subdirs.get("start", 0) + stop = subdirs["stop"] + + assert ( + stop >= start + ), f"`start` ({start}) is strictly higher than `stop ({stop})" + final_subdirs = [ + subdir + for subdir in available_subdirs + if subdir >= start and subdir <= stop + ] + elif isinstance(subdirs, str): + final_subdirs = [subdirs] + elif isinstance(subdirs, list): + final_subdirs = subdirs + else: + raise ValueError( + f"`input_dir` is not `None` and `subdirs` is `{subdirs}`, which are " + "not valid inputs." + ) + + return [os.path.join(input_dir, str(subdir)) for subdir in final_subdirs] + + +class DataFrameLoader: + """Iterator over events scattered in various CSV or parquet files. + + Attributes: + indirs: Input directories where the dataframes are + event_key: dataframe column that identifies an event + """ + + def __init__( + self, + input_dir: str | None = None, + subdirs: int | str | typing.List[str] | typing.Dict[str, int] | None = None, + event_key: str = "event", + ) -> None: + """ + + Args: + input_dir: A single input directory if ``subdirs`` is ``None``, + or the main directory where sub-directories are + subdirs: + + * If ``subdirs`` is None, there is a single input directory, \ + ``input_dir`` + * If ``subdirs`` is a string or a list of strings, they specify \ + the sub-directories with respect to ``input_dir``. If ``input_dir`` \ + is ``None``, then they are the (list of) input directories directly, \ + which can be useful if the input directories are not at the same \ + location (even though it is discouraged) + * If ``subdirs`` is an integer, it corresponds to the the name of the \ + last sub-directory to consider (i.e., from 0 to ``subdirs``). \ + If ``subdirs`` is ``-1``, all the sub-directories are considered as \ + input. + * If ``subdirs`` is a dictionary, the keys ``start`` and ``stop`` \ + specify the first and last sub-directories to consider as input. + + event_key: dataframe column that identifies an event + """ + self.indirs = get_indirs(input_dir=input_dir, subdirs=subdirs) + + if len(self.indirs) == 0: + raise ValueError("No input directories.") + + logging.info("Input directories:") + for indir in self.indirs: + logging.info(f"- {indir}") + self.event_key = str(event_key) + + def register_load( + self, func: typing.Callable[[str], typing.List[pd.DataFrame]] + ) -> None: + """Register the function that load the dataframe(s). + + Args: + func: Function that takes as input a directory and returns a list + of dataframes. + """ + self._load = func + + @property + def current_subdir(self) -> str: + """Current sub-directory that contains the dataframes to load.""" + assert self._indir_idx is not None + return self.indirs[self._indir_idx] + + @property + def current_event_id(self) -> int: + """Current event ID of the current dataframe(s).""" + assert self._event_idx is not None + return self._event_ids[self._event_idx] + + def __iter__(self) -> "DataFrameLoader": + """Set up the iterator over the events""" + self._indir_idx: int | None = None + self._event_idx: int | None = None + self._grouped_by_dataframes: typing.List[DataFrameGroupBy] = [] + + return self + + def load_dataframes(self): + """Load the current dataframes and group by events.""" + dataframes = self._load(self.current_subdir) + self._grouped_by_dataframes = [ + dataframe.groupby(by=self.event_key) for dataframe in dataframes + ] + + self._event_ids = reduce( + np.intersect1d, [dataframe["event"].unique() for dataframe in dataframes] + ) + + def update_idx(self): + if self._event_idx is None or self._indir_idx is None: + # if first iteraction + assert self._event_idx is None and self._indir_idx is None + self._event_idx = 0 + self._indir_idx = 0 + elif self._event_idx + 1 >= len(self._event_ids): + # if no more events in current dataframe + self._event_idx = 0 + self._indir_idx += 1 + else: + self._event_idx += 1 + + @property + def no_more_dataframe(self) -> bool: + """Whether there is no remaining dataframe to load.""" + assert self._indir_idx is not None + return self._indir_idx >= len(self.indirs) + + def __next__(self) -> typing.Tuple[typing.List[pd.DataFrame], int]: + self.update_idx() + + # Load dataframes + if self._event_idx == 0: + if self.no_more_dataframe: + raise StopIteration() + else: + self.load_dataframes() + + return [ + dataframe.get_group(self.current_event_id) + for dataframe in self._grouped_by_dataframes + ], self.current_event_id diff --git a/LHCb_Pipeline/Preprocessing/preprocessing.py b/LHCb_Pipeline/Preprocessing/preprocessing.py index 6ad46890..5436bbfc 100644 --- a/LHCb_Pipeline/Preprocessing/preprocessing.py +++ b/LHCb_Pipeline/Preprocessing/preprocessing.py @@ -2,11 +2,14 @@ from __future__ import annotations import typing import os import logging +from functools import partial + from tqdm.auto import tqdm import numpy as np import pandas as pd -from . import selecting +from . import process_custom +from .inputloader import DataFrameLoader def cast_boolean_columns(particles: pd.DataFrame): @@ -140,141 +143,43 @@ def enough_true_hits( return True -def load_and_filter_dataframes( - indir: str, - particles_columns: typing.List[str] | None = None, - hits_particles_columns: typing.List[str] | None = None, - selection: str | None = None, - **kwargs, +def apply_custom_processing( + hits_particles: pd.DataFrame, + particles: pd.DataFrame, + processing: str | typing.Sequence[str] | None = None, ) -> typing.Tuple[pd.DataFrame, pd.DataFrame]: - """Load and filter the dataframes of hits-particles and particles. + """Apply custom processing to the dataframe of hits-particles and particles. + The custom processing functions are defined in :py:mod:`.process_custom`. Args: - indir: directory where the dataframes are saved - particles_columns: columns to load for the dataframe of particles - hits_particles_columns: columns to load for the dataframe of hits - and the hits-particles association information - selection: function to use to filter the candidates. - The latter is defined in the :py:mod:`.selecting` module. - **kwargs: other keyword arguments passed to the function that load the files - - Returns: - Filtered dataframes of hits-particles and of particles - """ - - # Load dataframes - logging.info(f"Load dataframes in {indir}") - hits_particles, particles = load_dataframes( - indir=indir, - particles_columns=particles_columns, - hits_particles_columns=hits_particles_columns, - **kwargs, - ) - - # Add truth particle information to the dataframe of hits - if selection: - logging.info(f"Apply selection `{selection}`") - selection_function: selecting.SelectionFunction = getattr(selecting, selection) - hits_particles, particles = selection_function( - hits_particles=hits_particles, - particles=particles, - ) - - # Define `n_unique_planes` - # We'll train with all the hits for the training - # And cut before the GNN - n_unique_planes = ( - hits_particles.groupby(["event", "particle_id"])["plane"] - .nunique() - .rename("n_unique_planes") - ) - particles = particles.merge( - n_unique_planes, how="left", on=["event", "particle_id"] - ).fillna(0) - - return hits_particles, particles - - -def get_indirs( - input_dir: str | None = None, - subdirs: int | str | typing.List[str] | typing.Dict[str, int] | None = None, -): - """Get the input directories that can be used as input of the preprocessing. + hits_particles: dataframe of hits-particles + particles: dataframe of particles + processing: Name(s) of the processing function(s) to apply to the dataframes. + The processing functions as defined in :py:mod:`.process_custom` - Args: - input_dir: A single input directory if ``subdirs`` is ``None``, - or the main directory where sub-directories are - subdirs: - - * If ``subdirs`` is None, there is a single input directory, ``input_dir`` - * If ``subdirs`` is a string or a list of strings, they specify \ - the sub-directories with respect to ``input_dir``. If ``input_dir`` \ - is ``None``, then they are the (list of) input directories directly, which \ - can be useful if the input directories are not at the same location \ - (even though it is discouraged) - * If ``subdirs`` is an integer, it corresponds to the the name of the last \ - sub-directory to consider (i.e., from 0 to ``subdirs``). If ``subdirs`` \ - is ``-1``, all the sub-directories are considered as input. - * If ``subdirs`` is a dictionary, the keys ``start`` and ``stop`` specify \ - the first and last sub-directories to consider as input. - Returns: - List of input directories that can be considered. + Processed dataframe of hits-particles and particles """ - if input_dir is None: - if isinstance(subdirs, str): - return [subdirs] - elif isinstance(subdirs, list): - return [str(subdir) for subdir in subdirs] - else: - raise TypeError( - "`input_dir` is `None` but `subdirs` is neither a string nor " - "a list of strings, so the input directories of the preprocessing " - "cannot be determined." - ) + if processing is None: + return hits_particles, particles else: - # Get the list of all the sub-directories inside ``input_dir`` - - # Filter this list according to ``subdirs`` - if subdirs is None: - return [input_dir] - elif isinstance(subdirs, (int, dict)): - available_subdirs = sorted( - [ - int(file_or_dir.name) - for file_or_dir in os.scandir(input_dir) - if file_or_dir.is_dir() - ] - ) - if subdirs == -1: - final_subdirs = available_subdirs - else: - if isinstance(subdirs, int): - start = 0 - stop = subdirs - else: # dict - start = subdirs.get("start", 0) - stop = subdirs["stop"] - - assert ( - stop >= start - ), f"`start` ({start}) is strictly higher than `stop ({stop})" - final_subdirs = [ - subdir - for subdir in available_subdirs - if subdir >= start and subdir <= stop - ] - elif isinstance(subdirs, str): - final_subdirs = [subdirs] - elif isinstance(subdirs, list): - final_subdirs = subdirs + # Get name of processing functions + if isinstance(processing, str): + processing_fct_names = [processing] else: - raise ValueError( - f"`input_dir` is not `None` and `subdirs` is `{subdirs}`, which are " - "not valid inputs." + processing_fct_names = [ + str(processing_fct_name) for processing_fct_name in processing + ] + + # Apply processing + for processing_fct_name in processing_fct_names: + logging.info(f"Apply `{processing_fct_name}`") + processing_fct: process_custom.SelectionFunction = getattr( + process_custom, processing_fct_name ) + hits_particles, particles = processing_fct(hits_particles, particles) - return [os.path.join(input_dir, str(subdir)) for subdir in final_subdirs] + return hits_particles, particles def preprocess( @@ -282,7 +187,7 @@ def preprocess( output_dir: str, subdirs: int | str | typing.List[str] | None = None, n_events: int = -1, - selection: str | None = None, + processing: str | typing.List[str] | None = None, num_true_hits_threshold: int | None = None, hits_particles_columns: typing.List[str] | None = None, particles_columns: typing.List[str] | None = None, @@ -295,83 +200,86 @@ def preprocess( os.makedirs(output_dir, exist_ok=True) logging.info(f"Preprocessing: output will be written in {output_dir}") - indirs = get_indirs(input_dir=input_dir, subdirs=subdirs) - if len(indirs) == 0: - raise ValueError("No input directories.") - logging.info("Input directories:") - for indir in indirs: - logging.info(f"- {indir}") + def load_and_process_dataframes_reduced(indir: str) -> typing.List[pd.DataFrame]: + """Load the dataframes of hits-particles and particles located in ``indir``, + and apply the custom processing functions defined by ``processing``. + + Args: + indir: input directory where the dataframes of hits-particles and particles + are saved + + Returns: + List of two dataframes: the dataframe of hits-particles and the dataframe + of particles + + """ + logging.info(f"Load dataframes in {indir}") + hits_particles, particles = load_dataframes( + indir=indir, + particles_columns=particles_columns, + hits_particles_columns=particles_columns, + ) + + hits_particles, particles = apply_custom_processing( + hits_particles=hits_particles, + particles=particles, + processing=processing, + ) + return [hits_particles, particles] + + dataFrameLoader = DataFrameLoader(input_dir=input_dir, subdirs=subdirs) + dataFrameLoader.register_load(load_and_process_dataframes_reduced) n_output_saved = 0 # Count the number of events outputted - event_idx = 0 n_required_events = np.inf if n_events == -1 else n_events - left_indirs = indirs + logging.info(f"Number of events to produce: {n_required_events}") with tqdm(total=n_required_events) as pbar: - while n_output_saved < n_required_events and left_indirs: - hits_particles, particles = load_and_filter_dataframes( - indir=left_indirs[0], - hits_particles_columns=hits_particles_columns, - particles_columns=particles_columns, - selection=selection, - ) - left_indirs = left_indirs[1:] - - event_ids_in_df_hits_particles = hits_particles["event"].unique() - event_ids_df_particles = particles["event"].unique() - event_ids = np.intersect1d( - event_ids_in_df_hits_particles, event_ids_df_particles - ) + for (event_hits_particles, event_particles), event_id in iter(dataFrameLoader): + # Stop when required # events processed + if n_output_saved >= n_required_events: + break + + #: String representation of the event ID + event_id_str = str(event_id).zfill(9) + + no_hits = event_hits_particles.shape[0] == 0 + + if not no_hits and ( # skip events with no hits + (num_true_hits_threshold is None) + or enough_true_hits( + event_hits_particles=event_hits_particles, + num_true_hits_threshold=num_true_hits_threshold, + event_id_str=event_id_str, + num_events=n_output_saved, + required_num_events=n_events, + ) + ): + # Select subset of columns + if hits_particles_columns is None: + hits_particles_csv = event_hits_particles + else: + hits_particles_csv = event_hits_particles[ + ["particle_id", "hit_id"] + hits_particles_columns + ] + if particles_columns is None: + particles_csv = event_particles + else: + particles_csv = event_particles[ + ["particle_id"] + particles_columns + ] + + # Save + hits_particles_csv.to_parquet( + f"{output_dir}/event{event_id_str}-hits_particles.parquet", + ) + particles_csv.to_parquet( + f"{output_dir}/event{event_id_str}-particles.parquet", + ) + n_output_saved += 1 + pbar.update() - # Loop over the events in the dataframe of hits-particles - grouped_df_hits_particles = hits_particles.groupby("event", sort=False) - grouped_df_particles = particles.groupby("event", sort=False) - for event_id in event_ids: - if n_output_saved >= n_required_events: - break - event_hits_particles = grouped_df_hits_particles.get_group(event_id) - event_particles = grouped_df_particles.get_group(event_id) - - #: String representation of the event ID - event_id_str = str(event_id).zfill(9) - - no_hits = event_hits_particles.shape[0] == 0 - - if not no_hits and ( - (num_true_hits_threshold is None) - or enough_true_hits( - event_hits_particles=event_hits_particles, - num_true_hits_threshold=num_true_hits_threshold, - event_id_str=event_id_str, - num_events=n_output_saved, - required_num_events=n_events, - ) - ): - # Save subset of columns - if hits_particles_columns is None: - hits_particles_csv = event_hits_particles - else: - hits_particles_csv = event_hits_particles[ - ["particle_id", "hit_id"] + hits_particles_columns - ] - if particles_columns is None: - particles_csv = event_particles - else: - particles_csv = event_particles[ - ["particle_id"] + particles_columns - ] - - # Save - hits_particles_csv.to_parquet( - f"{output_dir}/event{event_id_str}-hits_particles.parquet", - ) - particles_csv.to_parquet( - f"{output_dir}/event{event_id_str}-particles.parquet", - ) - n_output_saved += 1 - pbar.update() - event_idx += 1 pbar.close() pd.set_option("chained_assignment", "warn") # re-enable chained-assignment warning diff --git a/LHCb_Pipeline/pipeline_config_default.yaml b/LHCb_Pipeline/pipeline_config_default.yaml index a6c437c0..44e2304e 100644 --- a/LHCb_Pipeline/pipeline_config_default.yaml +++ b/LHCb_Pipeline/pipeline_config_default.yaml @@ -18,7 +18,7 @@ preprocessing: # - Dictionary with keys `start` and `stop` subdirs: 10 output_subdirectory: "preprocessed" - selection: triplets_first_selection # Selection function, defined in `Preprocessing/selecting.py` + processing: triplets_first_selection # Selection function, defined in `Preprocessing/selecting.py` n_events: null # if `null`, default to `n_train_events + n_test_events` num_true_hits_threshold: 500 # Minimal number of genuine hits # Columns to keep in the dataframes of hits-particles and particles -- GitLab From 57f84fc8e3ea5d087d49c396debcb31815a5eb98 Mon Sep 17 00:00:00 2001 From: Anthony Correia <anthony.correia@cern.ch> Date: Mon, 19 Jun 2023 22:58:34 +0200 Subject: [PATCH 33/33] Update description of "processing" --- LHCb_Pipeline/pipeline_config_default.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LHCb_Pipeline/pipeline_config_default.yaml b/LHCb_Pipeline/pipeline_config_default.yaml index 44e2304e..d3ad8403 100644 --- a/LHCb_Pipeline/pipeline_config_default.yaml +++ b/LHCb_Pipeline/pipeline_config_default.yaml @@ -18,7 +18,7 @@ preprocessing: # - Dictionary with keys `start` and `stop` subdirs: 10 output_subdirectory: "preprocessed" - processing: triplets_first_selection # Selection function, defined in `Preprocessing/selecting.py` + processing: triplets_first_selection # Processing function(s), defined in `Preprocessing/processing.py` n_events: null # if `null`, default to `n_train_events + n_test_events` num_true_hits_threshold: 500 # Minimal number of genuine hits # Columns to keep in the dataframes of hits-particles and particles -- GitLab