{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "4d7db45d-d94b-46eb-87bd-6010f15eba44", "metadata": {}, "outputs": [], "source": [ "import os\n", "os.environ['CUDA_VISIBLE_DEVICES'] = '0'" ] }, { "cell_type": "markdown", "id": "c5f47070-a94f-4a66-bb40-23a045e8ed81", "metadata": {}, "source": [ "### Attribution Trickiness and DeepLiftShap Implementations\n", "\n", "A common use-case of a trained sequence-based model is better understanding biological sequences through attributions. At a high level, attributions highlight portions of the sequence that drive a model's predictions. So, if the model predicts that a protein will bind to a particular sequence, attributions can highlight the specific nucleotides that drive that binding. There are several different ways to calculate attributions that each have different theoretical properties.\n", "\n", "One of these, DeepLIFT/SHAP, is a conceptually simple algorithm: calculate the gradient of the input data with respect to the model parameters, but override the gradient calculation to overcome the saturation effect seen in models, and have this gradient be calculated on the difference between the observed sequence and some reference sequence where model predictions are meant to be low. I will leave the details of how this works to the paper and other tangermeme tutorial but, put simply, this overriding of the gradient calculation becomes an implementation issue because *not all operations are overridden, only non-linear ones* and the most common way to have PyTorch know whether an operation is non-linear is by keeping a dictionary of operations to override. This detail is hidden in most implementations and means that any custom layers that have non-linear functions -- and even built-in layers that simply are not in this dictionary -- will not be overriden and will cause the resulting attributions to be incorrect.\n", "\n", "##### Summation-to-Delta\n", "\n", "A key property of the DeepLIFT/SHAP algorithm is summation-to-delta. Basically, this means that the sum of the attribution scores (multiplied by the difference between the observed sequence and the reference) is equal to the difference between model predictions on the observed sequence and on the reference sequence (the delta). Written out, given a model $f$, an observed sequence $X$ of length $L_s$ and alphabet size $L_a$, a reference sequence $X^r$ of the same size, and attributions $A$:\n", "\n", "\\begin{equation}\n", " \\sum_{i=0}^{L_s} \\sum_{j=0}^{L_a} A_{ij}(X_{ij} - X^r_{ij}) = f(X) - f(X_b)\n", "\\end{equation}\n", "\n", "In words, the *sum* of the attributions (multiplied by difference in sequence) is equal to the *delta* of model predictions. Alternatively, this sum minus the delta should be equal to zero. In practice, this difference likely just *close* to zero due to machine precision issues. This property will be extremely important because when DeepLIFT/SHAP is implemented incorrectly it will no longer hold. \n", "\n", "##### GATA2 BPNet\n", "\n", "To investigate this, let's use a BPNet model trained to predict GATA2 binding. For those who have not heard of it, BPNet is a convolutional neural network that takes in 2114 bp sequences and predicts (1) mapped read probabilities for each bp in a 1kb output region and (2) the total log count for that region. As we will see, BPNet models are ideal for investigating the issues with DeepLIFT/SHAP because calculating attributions on the count head is usually simple and works out-of-the-box and calculating attributions on the profile head is a pain.\n", "\n", "Let's begin by loading a pre-trained model. We will wrap this in a `ControlWrapper` object which just automatically feeds in all zeroes for the control track. This detail does not matter for this vignette. " ] }, { "cell_type": "code", "execution_count": 2, "id": "d6aee645-1828-44f1-ac68-202219820bb2", "metadata": {}, "outputs": [], "source": [ "import torch\n", "from bpnetlite.bpnet import ControlWrapper\n", "\n", "model = ControlWrapper(torch.load(\"gata2.bpnet.torch\", map_location='cpu'))" ] }, { "cell_type": "markdown", "id": "cbe6b620-e64e-4961-bd32-6bfb35e569e9", "metadata": {}, "source": [ "Attribution algorithms usually only \"explain\" one output at a time (the $f(X)$ in the equation above). For the count head, we are just calculating attributions using the predicted counts, which is a single number per example. The profile head is more complicated because we get 1,000 numbers: one per basepair. To convert this profile into a single number we take the dot product between the predicted logits (not the probabilities) and the post-softmax probabilities. This can be thought of as a weight on the logits that accounts for their relative value.\n", "\n", "\\begin{equation}\n", " A_p = f(X) \\cdot softmax(f(X))\n", "\\end{equation}\n", "\n", "To get these, we will use one wrapper that simply extracts the count value (`CountWrapper`) and one that extracts the profile output and performs the above dot product (`ProfileWrapper`). Both return a single number for each sequence but use separate outputs to do so." ] }, { "cell_type": "code", "execution_count": 3, "id": "976858a3-dcf0-4b7a-a2ff-ee065d2ca31d", "metadata": {}, "outputs": [], "source": [ "from bpnetlite.bpnet import CountWrapper\n", "from bpnetlite.bpnet import ProfileWrapper\n", "\n", "wrapper_counts = CountWrapper(model)\n", "wrapper_profile = ProfileWrapper(model)" ] }, { "cell_type": "markdown", "id": "ef8025ec-496e-4aa7-9a25-f68a1d8e060f", "metadata": {}, "source": [ "##### DeepLiftShap on the Count Head\n", "\n", "Before beginning this section, let me reiterate that the following issues are not BPNet-specific. Any model architecture with non-standard components (and even some some using specific built-in components!) will encounter these issues, but BPNet models are a convenient way to demonstrate the issues. \n", "\n", "With that out of the way, let's generate a random sequence and put a high-affinity GATA2 motif into the middle. " ] }, { "cell_type": "code", "execution_count": 4, "id": "7b3c2a2b-312d-44d8-8186-dca9955917bf", "metadata": {}, "outputs": [], "source": [ "from tangermeme.utils import random_one_hot\n", "from tangermeme.ersatz import substitute\n", "\n", "X = random_one_hot((1, 4, 2114), random_state=0).type(torch.float32)\n", "X = substitute(X, \"AGATAAG\")" ] }, { "cell_type": "markdown", "id": "10f95942-5d0b-45c5-a67a-77c36ce13591", "metadata": {}, "source": [ "DeepLIFT/SHAP requires reference sequences when calculating attributions. We can generate those by dinucleotide shuffling the sequence. `tangermeme` has this aspect built-in so you don't need to shuffle the sequence yourself, but when we compare across implementatons we want to use the same references to make sure there is no randomness in the results." ] }, { "cell_type": "code", "execution_count": 5, "id": "28736843-7a1b-4084-b3cf-0753810b8c38", "metadata": {}, "outputs": [], "source": [ "from tangermeme.ersatz import dinucleotide_shuffle\n", "\n", "X_ref = dinucleotide_shuffle(X, n=20, random_state=0)" ] }, { "cell_type": "markdown", "id": "d2e43413-134f-401e-87f6-e032004a9e51", "metadata": {}, "source": [ "Now, we will calculate the DeepLIFT/SHAP attributions using tangermeme and using Captum. Ignore `hypothetical_attributions` for now -- we will cover it later." ] }, { "cell_type": "code", "execution_count": 6, "id": "3989e04f-2b4f-41ae-8267-32e11c333919", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/users/jmschr/anaconda3/lib/python3.11/site-packages/captum/attr/_core/deep_lift.py:336: UserWarning: Setting forward, backward hooks and attributes on non-linear\n", " activations. The hooks and attributes will be removed\n", " after the attribution is finished\n", " warnings.warn(\n" ] } ], "source": [ "from captum.attr import DeepLiftShap\n", "from tangermeme.deep_lift_shap import deep_lift_shap\n", "from tangermeme.deep_lift_shap import hypothetical_attributions\n", "\n", "X_attr_t = deep_lift_shap(wrapper_counts, X, references=X_ref, device='cpu')\n", "X_attr_c = DeepLiftShap(wrapper_counts).attribute(X, X_ref[0], custom_attribution_func=hypothetical_attributions).detach() * X" ] }, { "cell_type": "markdown", "id": "ce91242a-45c3-491b-a5c5-41fca62b1538", "metadata": {}, "source": [ "These implementations provide attributions that are averaged across references. Usually, one only cares about the attributions for observed characters, so you multiply by the observed one-hot sequence. `tangermeme` does this by default, but Captum does not, hence the multiplication.\n", "\n", "We can visually inspect the attributions by just plotting them." ] }, { "cell_type": "code", "execution_count": 7, "id": "eb558469-4876-4a29-9f9c-15a00f5781d6", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import seaborn; seaborn.set_style('whitegrid')\n", "from tangermeme.plot import plot_logo\n", "\n", "plt.figure(figsize=(8, 3))\n", "ax = plt.subplot(211)\n", "plt.title(\"tangermeme attributions\")\n", "plot_logo(X_attr_t[0], ax=ax, start=1030, end=1100)\n", "plt.ylabel(\"Attribution\")\n", "\n", "ax = plt.subplot(212)\n", "plt.title(\"Captum attributions\")\n", "plot_logo(X_attr_c[0], ax=ax, start=1030, end=1100)\n", "plt.xlabel(\"Genomic Position\")\n", "plt.ylabel(\"Attribution\")\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "230cacbf-2fa7-408e-a412-cbf5133a5291", "metadata": {}, "source": [ "More systematically, we can veryify that the two implementations yield identical attributions using a scatterplot of the values." ] }, { "cell_type": "code", "execution_count": 8, "id": "49c6e5c5-2ff6-41eb-99ed-e4da8f0629fa", "metadata": {}, "outputs": [ { "data": { "image/png": "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/feMHz+egQMH8sgjj1BcXMy3337LPffcw6BBg3j66aeprq6+5nuOi4tj3LhxPPDAA8TFxXHpLQNiYmIAGD9+PKGhoUybNo3Vq1eza9cuvvzyS1P2n376yZR9z549TJs2jYiICP7zn/9c8XD01q1bueOOO7jpppt44oknKC8vN22bNm0ay5Yta9D/r3/9KwsWLDBtP3v2LLGxsaYMl37ul/rwww+58847CQ8PZ8yYMcTHxzfYHhoayvbt2/nb3/7GTTfdxF133cWXX355zc9NiOshhVqIFigtLeX7779n6tSpuLq6NtretWtX099VKhWLFi3ik08+YcWKFRw4cIDXXnutQf+LFy+yZs0aVqxYwZYtW6ioqOCpp54CjIdoZ8yYQb9+/UhISCAhIYGxY8ealfett97if//3f9m6dSvnzp3jySefZNOmTaxcuZL169ezf/9+Pvjgg6uOUVFRwd69e7n//vuJjo6murra9IUAYPv27QC8//77JCQksHr1ambMmME999zDiBEjTNkvvefvP/7xD6ZNm8aePXu47bbbmnzdnJwcPvvsM9auXcu7775LamoqL774YrPf++rVq+nRowdPPPGEKUNTvvjiC5YvX8706dP55JNPmDx5MgsXLuTAgQMN+r311lvcc889/Oc//+H222/n2WefpbS0tNl5hGguKdRCtEBOTg6KohAcHHzNvo8++ijDhg3D39+f4cOH8/e//53PPvusQZ+6ujqef/55oqKiCA8PZ8WKFSQmJvLLL7/g4uKCq6sr9vb2eHt74+3tbfYh2yeffJLBgwcTFhbG7373Ow4ePMgLL7xAWFgYN998M2PGjGlQdJuyZ88eAgMD6devH/b29owdO5YdO3aYtnt4eADg7u6Ot7c37u7uuLm54eLigpOTkym7k5OT6Tl//OMfueuuu/D398fX17fJ162pqeGVV15Bo9EwZMgQFi9ezJ49eygsLGzWe3d3d8fe3h43NzdThqZs2LCBBx98kKlTp9KnTx+mT5/O6NGjee+99xr0e/DBBxk3bhyBgYGmIxG//PJLs7IIYQ4p1EK0QP0hX5VKdc2+Bw4cYPr06YwYMYKoqCjmz59PaWkpVVVVpj4ODg6Eh4ebHoeEhNC1a1cyMzMtkrf+cC+Ap6cnnTp1wt/f39Tm5eVFSUnJVcfYsWMH999/v+nx/fffzxdffNHgMLS5Ln3PV9KzZ0969OhhehwVFYXBYCArK+u6X7cpp06dYtCgQQ3aBg0a1Oj/waWfpaurK25ubtf87IS4HlKohWiBwMBAVCrVNQvp2bNnmTVrFv369WP16tXs3LmT559/HgCdTtegb1NF/2pfBOzsjL/Gl54nvnzMeg4Ov80fValUDR7XtxkMhiu+VkZGBj///DOvvfYaYWFhhIWF8fDDD3Px4kU+/fTTKz7vWpo6bXAt9Z/Jpf+99DOAK38OzR27nqIojdocHR0bPedqn50Q10sKtRAt4O7uzm233cbmzZsb7BnXq9/LPH78OHq9ngULFhAZGUmfPn04f/58o/46nY7jx4+bHp86dYry8nLToXVHR8dGxaD+UPOlh4AvvzTKUnbs2MGQIUP4+OOPiY+PN/157LHHTIe/6wuYXq9v8NymspsjPz+/waVgiYmJ2NnZERQUBBg/h0s/A71ez8mTJ83OEBwczJEjRxq0JSYmEhISct3ZhWgJKdRCtNCSJUswGAxMmjSJffv2kZ2dTWZmJps2beLhhx8GICAgAJ1OxwcffEBubi7x8fFs3bq10ViOjo4sXbqUn3/+mRMnTrBw4UIiIyMZOHAgAH5+fpw5c4aUlBRKSkqora3FxcWFyMhI1q9fT0ZGBocOHWLVqlUWf591dXV8/PHH3HvvvajV6gZ/Jk2axIkTJ0hNTcXT0xMXFxe+//57ioqKuHDhgil7Wloap06doqSkhLq6OrNe39nZmQULFpCamsrhw4d5+eWXueeee0znmocNG8a3337LN998Q2ZmJi+++GKjw/F+fn4cOnSIgoKCKx6mfuyxx9i1axdbtmwhOzubjRs38sUXXzBjxozr+NSEaDkp1EK0kL+/Pzt37mTo0KG88sorjBs3junTp/Pjjz/ywgsvAKDRaHjuuef45z//ybhx4/jkk094+umnG43l4uLCzJkzeeaZZ3j44Ydxdnbm9ddfN20fM2YMI0aM4JFHHmH48OGmw83Lly9Hp9MxceJEli1bxpNPPmnx9/nVV19RWlrK6NGjG20LCgpCrVazY8cOHBwcWLx4MR999BEjRowwLXLy0EMP0adPHyZOnMjw4cM5evSoWa8fEBDA6NGjmTlzJjNmzECtVrNkyRLT9okTJzJ+/Hjmz5/PtGnT6N27N0OHDm0wxhNPPMHZs2e58847GT58eJOvc+edd7Jw4UI2bNjAuHHj2Lp1K8uXL280lhBtRaVcflJHCNEudu7cyfLlyzl8+HB7RxFCWBHZoxZCCCGsmBRqIYQQworJoW8hhBDCisketRBCCGHFpFALIYQQVkwKtRBCCGHFpFALIYQQVkwKtRBCCGHFpFALIYQQVkwKtRBCCGHFpFALIYQQVkwKtRBCCGHF/h/XLjb5w/Q21gAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(5, 3))\n", "plt.scatter(X_attr_c.flatten(), X_attr_t.flatten(), s=10)\n", "plt.plot([-0.01, 0.07], [-0.01, 0.07], c='0.7')\n", "plt.xlabel(\"Captum Attribution\")\n", "plt.ylabel(\"tangermeme Attribution\")\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "d00960b3-bae0-472c-bce0-8fe1079bbeaf", "metadata": {}, "source": [ "#### Convergence deltas must be calculated before aggregating multipliers\n", "\n", "So far, everything looks good, so it's time to check the convergence deltas. In both implementations, the convergence deltas are the difference between the sum of the attribution values and the difference between the predicted values. This terminology is sort of confusing because one could think of $f(X) - f(X^r)$ as a delta, but also think of the difference between both sides of the equation at the top of this notebook as a delta. To be clear, the convergence deltas here are $\\delta = \\sum_{i=0}^{L_s} \\sum_{j=0}^{L_a} A_{ij}(X_{ij} - X^r_{ij}) - (f(X) - f(X_b))$.\n", "\n", "We can get the convergence deltas from `tangermeme` using the `print_convergence_deltas` parameter. This will print the convergence deltas for each example-reference pair that goes through the DeepLIFT/SHAP algorithm. Similarly, we can use the `return_convergence_delta` parameter to get them for Captum." ] }, { "cell_type": "code", "execution_count": 9, "id": "aca72ada-948f-479f-9c35-0fb77d00da08", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tangermeme convergence deltas\n", "tensor([0.0000e+00, 8.9407e-08, 1.6391e-07, 1.4901e-07, 5.9605e-08, 8.9407e-08,\n", " 2.9802e-08, 2.9802e-08, 7.4506e-08, 5.9605e-08, 8.9407e-08, 5.9605e-08,\n", " 1.4901e-08, 2.2352e-08, 0.0000e+00, 5.9605e-08, 5.9605e-08, 1.7881e-07,\n", " 1.0431e-07, 5.9605e-08], grad_fn=)\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/users/jmschr/anaconda3/lib/python3.11/site-packages/captum/attr/_core/deep_lift.py:336: UserWarning: Setting forward, backward hooks and attributes on non-linear\n", " activations. The hooks and attributes will be removed\n", " after the attribution is finished\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Captum convergence deltas\n", "tensor([-2.8115, -2.4892, -2.7869, -3.7164, -3.4582, -2.4587, -2.9038, -2.2653,\n", " -3.3003, -2.5556, -2.5912, -3.7841, -2.3939, -3.4029, -2.2987, -2.9450,\n", " -2.8853, -3.0373, -3.0079, -2.4492])\n" ] } ], "source": [ "print(\"tangermeme convergence deltas\")\n", "deep_lift_shap(wrapper_counts, X, references=X_ref, device='cpu', print_convergence_deltas=True)\n", "\n", "_, deltas_c = DeepLiftShap(wrapper_counts).attribute(X, X_ref[0], return_convergence_delta=True, \n", " custom_attribution_func=hypothetical_attributions)\n", "\n", "print(\"\\nCaptum convergence deltas\")\n", "print(deltas_c)" ] }, { "cell_type": "markdown", "id": "19a0bc2b-9491-433d-9e63-429bc90aaecd", "metadata": {}, "source": [ "The tangermeme ones look good and near machine precision -- but the Captum ones look super high! How did that happen? Especially when we just saw that tangermeme and Captum gave us the same results?\n", "\n", "Well, the problem is that `hypothetical_attributions` function I pointed out before. Basically, DeepLIFT/SHAP by itself will return multipliers on each character and position in the sequence. However, because discrete sequences have the structure that the presence of one character means explicitly not other characters, the multipliers have to be corrected using the `hypothetical_attributions` function. I will leave the details for another tutorial but this is a desirable correction to do. \n", "\n", "*However*, once `hypothetical_attributions` is applied the summation-to-delta property will *no longer hold*. Because Captum's implementation applies custom functions *before* calculating the convergence deltas, this makes the `return_convergence_delta` parameter not valuable for our applications.\n", "\n", "We will have to calculate the convergences ourselves. Let's start off by calculating the post-`hypothetical_attributions` values for both tangermeme and Captum." ] }, { "cell_type": "code", "execution_count": 10, "id": "0f0e876c-fdbc-4a96-a516-15ee3ca1a6ba", "metadata": {}, "outputs": [ { "data": { "image/png": "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LfHnamnn6mbawrlqak47d+7kww8/ZMWKFfX+s7XU83S9nNrCeYKm5bV+/XrKy8s5efIkMTExeHh48OCDDzZrTHMyd04tca6kUDeSk5MT1tbWFBQUGLUXFhbWu8Ks09BPZkVFRdjY2Bhua7m4uNQbs6io6LpjmlNL5XQtKysrgoODycjIMEfYN9WUvBrD0s5VU9zKc9WcnHbv3k1kZCQffPABgwYNMjpmqefpRjldy5L+Tbm5uQGg0WgoKChg+fLlhqJmqefqRjldyxznSp5RN5KdnR2BgYEcPnzYqP3IkSOEhoY2+JmQkBCOHDli1BYXF0dQUBC2traGPteOGRcXd90xzamlcrqWoihotVp69OhhnsBvoil5NYalnaumuJXnqqk57dy5k1deeYWYmBjuvffeesct8TzdLKdrWeq/KUVRjOayWOK5uta1OTV0vNnnyqxT09q5uqn8//nPf5TU1FRl4cKFSkhIiJKdna0oiqK8//77yty5cw39615levvtt5XU1FTlP//5T71XmY4fP674+/srq1atUlJTU5VVq1a1yusJ5sxp+fLlyvfff69kZmYqiYmJyiuvvKIEBAQoJ0+evCU5NSUvRVGUxMREJTExURk/frwye/ZsJTExUTlz5ozhuKWdq8bk1NrnytScvvzySyUgIEBZt26d0asvJSUlhj6Wdp4ak1Nrn6em5LVu3Trlm2++UdLT05X09HTl888/V8LCwpTFixcb+ljauWpMTi1xruTWtwnCw8MpLi5mxYoV5OXloVariY2NxdXVFYD8/HxycnIM/d3c3IiNjSU6Opr169fTs2dPIiMjGTNmjKFPWFgYixcvZunSpSxbtgw3NzeWLFnCgAEDLDankpIS3njjDfLz83F0dCQgIIB169bRv3//W5JTU/IC+Otf/2r4/enTp9m5cyeurq4cOHAAsLxz1ZicWvtcmZrT5s2bqamp4a233uKtt94ytI8fP55FixYBlneeGpNTa5+npuSl1+tZvHgx2dnZWFtb4+7uzpw5c5g0aZKhj6Wdq8bk1BLnSqUov80EEkIIIUSbI8+ohRBCiDZMCrUQQgjRhkmhFkIIIdowKdRCCCFEGyaFWgghhGjDpFALIYQQbZgUaiGEEKINk0IthBBCtGFSqIUQQog2TJYQFaIR8vPzWblyJd9++y25ubk4Ozvj7+/Pf//3fzNw4ECzfZ/ly5fz9ddfs2PHDrONaSpFUfjss8/4/PPPSU1NNSyVOG7cOB577DHs7e1bLTYhbkdSqIW4iezsbB5//HG6dOnC3Llz0Wg01NTUEBcXxz//+U/27NnT2iGa1dy5c9m/fz8zZszg9ddfp3v37iQlJbFmzRr69u3Lfffd19ohXldVVRV2dnatHYYQ5tXk7TyEuE08++yzytChQ5WysrJ6xy5fvmz4/ccff6w8+OCDyoABA5Rhw4YpUVFRSmlpqeH4li1blDvvvFPZv3+/8pe//EUJCgpSnnrqKeXChQuG42q12ujXli1blKysLEWtViuJiYlG31etVis//vijoiiK8uOPPypqtVr5/vvvlYcfflgJDg5WnnjiCaWgoED59ttvlbFjxyqhoaHKrFmzlPLy8uvmumvXLkWtViv79++vd0yv1xt2dNLpdMry5cuVoUOHKoGBgcq4ceOU7777ztC3Lua9e/cqU6ZMUfr376889NBDyi+//KIoiqKUlJQowcHBRp9RFEXZu3evMmDAAMOf28WLF5WZM2cqd911l3L33Xcrf//735WsrCxD/5dfflmZMWOGsnLlSmXw4MHKiBEjFEWp3ZVp3LhxSlBQkDJ+/Hhl//799f4Mz5w5ozz77LNKSEiIMnDgQOWll15SCgsLDcenTJmizJ8/X3nnnXeUP/3pT8qgQYOUZcuW1Tv/r732mjJw4EAlKChIeeCBB5QDBw4Yjh8/flz529/+pgQHByvDhg1T5s+f3+DfIyFuRJ5RC3EDly5d4tChQ0yePBkHB4d6x7t06WL4vUqlIjIyki+//JJFixbx448/8t577xn1v3r1Kh999BGLFi1i48aNlJaWMmvWLKB2J5+nn36afv36ERcXR1xcHOHh4SbF++GHH/L666+zadMmLl68yIsvvsjatWuJiYkhNjaWw4cP8+mnn173819++SVeXl4NXjWrVCocHR0BWLt2LatXr+bll1/miy++YMiQITz//PNkZGQYfWbJkiU888wzbN++HU9PT+bMmUNNTQ2Ojo7ce++9fPnll0b9d+7cyahRo+jUqRMVFRU8+eSTODg4sG7dOjZs2ICDgwPPPvssVVVVhs/88MMPpKWlsXr1alauXElpaSkzZsxArVazbds2Zs6cWe885OXlMWXKFPz9/fn888/53//9XwoLC3nxxReN+m3btg0H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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "y, y_ref = wrapper_counts(X), wrapper_counts(X_ref[0])\n", "\n", "output_diff = (y - y_ref)[:, 0]\n", "input_diff = (X - X_ref[0])\n", "\n", "convergence_t = abs(output_diff - torch.sum(input_diff * X_attr_t, dim=(1, 2))).numpy(force=True)\n", "convergence_c = abs(output_diff - torch.sum(input_diff * X_attr_c, dim=(1, 2))).numpy(force=True)\n", "\n", "plt.figure(figsize=(5, 3))\n", "plt.scatter(convergence_c, convergence_t, s=10)\n", "plt.plot([0, 0.35], [0, 0.35], c='0.7')\n", "plt.xlabel(\"Captum Convergence\")\n", "plt.ylabel(\"tangermeme Convergence\")\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "c9e3adc3-6dbf-4d97-a2a4-62fd2313fe67", "metadata": {}, "source": [ "Okay, looks like they match here. But remember that we want the pre-`hypothetical_attributions` attributions to be almost zero. We can check this by just skipping the `hypothetical_attributions` step to confirm." ] }, { "cell_type": "code", "execution_count": 11, "id": "c9324b0c-ec4a-43bc-9ccc-81c0e0c84460", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "tensor([-2.9802e-08, -1.1921e-07, 1.6391e-07, 1.3039e-07, 2.9802e-08,\n", " -5.9605e-08, 2.9802e-08, 0.0000e+00, 1.3411e-07, -2.9802e-08,\n", " -1.1921e-07, 7.4506e-08, -2.9802e-08, 3.7253e-08, 2.9802e-08,\n", " -5.9605e-08, 7.4506e-08, -2.0862e-07, -1.2666e-07, -2.9802e-08])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DeepLiftShap(wrapper_counts).attribute(X, X_ref[0], return_convergence_delta=True)[1]" ] }, { "cell_type": "markdown", "id": "8156a8de-e1b9-4363-b095-cab270851df2", "metadata": {}, "source": [ "Great! We have confirmed now that tangermeme and Captum yield identical attributions on the count head and that both implementations have small convergence deltas. Further, we have found that just naively using `return_convergence_delta` will not yield meaningful values for the Captum implementation.\n", "\n", "Can we just calculate the convergence deltas ourselves in the same way these packages are? Sure! For tangermeme, we just need to set `hypothetical=True` so that it doesn't multiply the sequence by the one-hot encoding and `raw_outputs=True` to get the raw multipliers instead of applying `hypothetical_attributions`. For `Captum` we just need to set `multiply_by_inputs=False` and not feed a custom function in." ] }, { "cell_type": "code", "execution_count": 12, "id": "bf832621-1f80-46c1-b1ac-a2918b5c3c0b", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X_attr_t = deep_lift_shap(wrapper_counts, X, references=X_ref, device='cpu', hypothetical=True, raw_outputs=True)\n", "X_attr_c = DeepLiftShap(wrapper_counts, multiply_by_inputs=False).attribute(X, X_ref[0]).detach()\n", "\n", "convergence_t = abs(output_diff - torch.sum(input_diff * X_attr_t[0], dim=(1, 2))).numpy(force=True)\n", "convergence_c = abs(output_diff - torch.sum(input_diff * X_attr_c, dim=(1, 2))).numpy(force=True)\n", "\n", "plt.figure(figsize=(5, 3))\n", "plt.scatter(convergence_c, convergence_t, s=10)\n", "plt.plot([0, 0.35], [0, 0.35], c='0.7')\n", "plt.xlabel(\"Captum Convergence\")\n", "plt.ylabel(\"tangermeme Convergence\")\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "94c228fa-4832-45c4-8b97-f340ea275bf0", "metadata": {}, "source": [ "Oh, wait. What happened here? It looks like tangermeme's convergence deltas have become zeros but the Captum convergence deltas are even higher in magnitude than before. This bump in the road happened because we need to operate on each example-reference pair individually but Captum will, without a choice not to, average over all references. Even when we aren't applying the `hypothetical_attributions` function we are still getting a value that cannot be used to calculate the convergence deltas.\n", "\n", "So, at this point, we (1) cannot rely on Captum's built-in convergence delta calculator when we need to correct the multipliers and (2) we cannot calculate the convergence deltas ourselves because the only returned values process the data in a way that cannot be undone.\n", "\n", "To show what would happen if we *could* get the per-example values, let's create a new set of references that are just the first reference copied 20 times. In theory we could just pass in a single reference but then Captum will complain because their `DeepLiftShap` implementation assumes at least two references." ] }, { "cell_type": "code", "execution_count": 13, "id": "52c37776-99b3-45d9-b896-c8ec2fa3c695", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X_ref2 = X_ref[:, 0].repeat(1, 20, 1, 1)\n", "y_ref2 = wrapper_counts(X_ref2[0])\n", "\n", "output_diff = (y - y_ref2)[:, 0]\n", "input_diff = (X - X_ref2[0])\n", "\n", "X_attr_t = deep_lift_shap(wrapper_counts, X, references=X_ref2, device='cpu', hypothetical=True, raw_outputs=True)\n", "X_attr_c = DeepLiftShap(wrapper_counts, multiply_by_inputs=False).attribute(X, X_ref2[0]).detach()\n", "\n", "convergence_t = abs(output_diff - torch.sum(input_diff * X_attr_t[0], dim=(1, 2))).numpy(force=True)\n", "convergence_c = abs(output_diff - torch.sum(input_diff * X_attr_c, dim=(1, 2))).numpy(force=True)\n", "\n", "plt.figure(figsize=(5, 3))\n", "plt.scatter(convergence_c, convergence_t, s=10)\n", "plt.plot([0, 0.35], [0, 0.35], c='0.7')\n", "plt.xlabel(\"Captum Convergence\")\n", "plt.ylabel(\"tangermeme Convergence\")\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "9f6ba865-0d6b-41fa-ac23-3afc140774bb", "metadata": {}, "source": [ "Okay, great. We can see that when not using `hypothetical_attributions` we get convergence deltas that are near zero for both implementations. But the bigger point here is that, even for the simpler case (using the count head) things can be more difficult than one might initially expect! This is why tangermeme tries to minimize these issues by automatically calculating the convergence deltas before any custom function is applied." ] }, { "cell_type": "markdown", "id": "bcb5cabb-5c33-4d2e-bc8f-54f04b5d0d95", "metadata": {}, "source": [ "##### Custom non-linear layers must be registered\n", "\n", "Now, let's turn to the more challenging case: the profile head. You will know that something is up immediately when using tangermeme because this is what you get when you try to run the `deep_lift_shap` function using the profile wrapper." ] }, { "cell_type": "code", "execution_count": 14, "id": "84111d3c-3ee0-447e-848d-2791e83b0888", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/users/jmschr/github/tangermeme/tangermeme/deep_lift_shap.py:436: RuntimeWarning: Convergence deltas too high: tensor([0.7880, 0.8378, 0.8066, 0.6598, 0.8300, 0.8763, 1.2753, 0.9891, 1.4031,\n", " 0.8181, 0.8182, 0.7865, 0.8997, 0.6959, 0.9951, 0.8051, 1.0015, 1.0880,\n", " 0.8774, 0.7432], grad_fn=)\n", " warnings.warn(\"Convergence deltas too high: \" +\n" ] } ], "source": [ "X_attr_t1 = deep_lift_shap(wrapper_profile, X, references=X_ref, device='cpu')" ] }, { "cell_type": "markdown", "id": "5127d8a5-8769-4570-b3e7-2c12ff1b2f55", "metadata": {}, "source": [ "You get an automated warning that the convergence deltas are too high. This is a non-terminating warning meaning that you can keep going if you're fine with the values you're seeing, but these values are way too high to be ignored.\n", "\n", "The usual reason that you would get a warning like this is because there is a non-linear operation in your network that has not been registered as being non-linear. Remember when I mentioned that operations are kept in a dictionary specifying that they are non-linear? If you define your own layer (like, for instance, a wrapper that takes the dot product between a vector and the softmax'd version of that vector), it will not be in that dictionary and so the implementation will treat it as a linear operation.\n", "\n", "With tangermeme we can register new operations by passing in a dictionary `additional_nonlinear_ops` where the values are layers and the keys are the operation that should be done given them -- almost always, `_nonlinear`. This dictionary adds its entries to the internal dictionary tangermeme has of operations. Let's try adding the wrapper and seeing what happens." ] }, { "cell_type": "code", "execution_count": 15, "id": "034e68c1-b413-4549-9819-0e3afa85b0e0", "metadata": {}, "outputs": [ { "ename": "RuntimeError", "evalue": "The size of tensor a (40) must match the size of tensor b (4) at non-singleton dimension 1", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mRuntimeError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[15], line 4\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mbpnetlite\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mbpnet\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m _ProfileLogitScaling\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mtangermeme\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdeep_lift_shap\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m _nonlinear\n\u001b[0;32m----> 4\u001b[0m X_attr_t2 \u001b[38;5;241m=\u001b[39m deep_lift_shap(wrapper_profile, X, additional_nonlinear_ops\u001b[38;5;241m=\u001b[39m{ProfileWrapper: _nonlinear}, \n\u001b[1;32m 5\u001b[0m references\u001b[38;5;241m=\u001b[39mX_ref, device\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mcpu\u001b[39m\u001b[38;5;124m'\u001b[39m, print_convergence_deltas\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n", "File \u001b[0;32m~/github/tangermeme/tangermeme/deep_lift_shap.py:444\u001b[0m, in \u001b[0;36mdeep_lift_shap\u001b[0;34m(model, X, args, target, batch_size, references, n_shuffles, return_references, hypothetical, warning_threshold, additional_nonlinear_ops, print_convergence_deltas, raw_outputs, device, random_state, verbose)\u001b[0m\n\u001b[1;32m 442\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 443\u001b[0m \tmodel\u001b[38;5;241m.\u001b[39mapply(_clear_hooks)\n\u001b[0;32m--> 444\u001b[0m \t\u001b[38;5;28;01mraise\u001b[39;00m(e)\n\u001b[1;32m 446\u001b[0m \u001b[38;5;66;03m# If not returning the raw multipliers then apply the correction for\u001b[39;00m\n\u001b[1;32m 447\u001b[0m \u001b[38;5;66;03m# character encodings\u001b[39;00m\n\u001b[1;32m 448\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m raw_outputs \u001b[38;5;241m==\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m:\n", "File \u001b[0;32m~/github/tangermeme/tangermeme/deep_lift_shap.py:426\u001b[0m, in \u001b[0;36mdeep_lift_shap\u001b[0;34m(model, X, args, target, batch_size, references, n_shuffles, return_references, hypothetical, warning_threshold, additional_nonlinear_ops, print_convergence_deltas, raw_outputs, device, random_state, verbose)\u001b[0m\n\u001b[1;32m 423\u001b[0m \t\u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 424\u001b[0m \t\ty \u001b[38;5;241m=\u001b[39m model(X_)[:, target]\n\u001b[0;32m--> 426\u001b[0m \tmultipliers \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mautograd\u001b[38;5;241m.\u001b[39mgrad(y\u001b[38;5;241m.\u001b[39msum(), _X)[\u001b[38;5;241m0\u001b[39m]\n\u001b[1;32m 428\u001b[0m \u001b[38;5;66;03m# Check that the prediction-difference-from-reference is equal to\u001b[39;00m\n\u001b[1;32m 429\u001b[0m \u001b[38;5;66;03m# the sum of the attributions\u001b[39;00m\n\u001b[1;32m 430\u001b[0m output_diff \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39msub(\u001b[38;5;241m*\u001b[39mtorch\u001b[38;5;241m.\u001b[39mchunk(y, \u001b[38;5;241m2\u001b[39m))\n", "File \u001b[0;32m~/anaconda3/lib/python3.11/site-packages/torch/autograd/__init__.py:411\u001b[0m, in \u001b[0;36mgrad\u001b[0;34m(outputs, inputs, grad_outputs, retain_graph, create_graph, only_inputs, allow_unused, is_grads_batched, materialize_grads)\u001b[0m\n\u001b[1;32m 407\u001b[0m result \u001b[38;5;241m=\u001b[39m _vmap_internals\u001b[38;5;241m.\u001b[39m_vmap(vjp, \u001b[38;5;241m0\u001b[39m, \u001b[38;5;241m0\u001b[39m, allow_none_pass_through\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)(\n\u001b[1;32m 408\u001b[0m grad_outputs_\n\u001b[1;32m 409\u001b[0m )\n\u001b[1;32m 410\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 411\u001b[0m result \u001b[38;5;241m=\u001b[39m Variable\u001b[38;5;241m.\u001b[39m_execution_engine\u001b[38;5;241m.\u001b[39mrun_backward( \u001b[38;5;66;03m# Calls into the C++ engine to run the backward pass\u001b[39;00m\n\u001b[1;32m 412\u001b[0m t_outputs,\n\u001b[1;32m 413\u001b[0m grad_outputs_,\n\u001b[1;32m 414\u001b[0m retain_graph,\n\u001b[1;32m 415\u001b[0m create_graph,\n\u001b[1;32m 416\u001b[0m inputs,\n\u001b[1;32m 417\u001b[0m allow_unused,\n\u001b[1;32m 418\u001b[0m accumulate_grad\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m,\n\u001b[1;32m 419\u001b[0m ) \u001b[38;5;66;03m# Calls into the C++ engine to run the backward pass\u001b[39;00m\n\u001b[1;32m 420\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m materialize_grads:\n\u001b[1;32m 421\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28many\u001b[39m(\n\u001b[1;32m 422\u001b[0m result[i] \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m is_tensor_like(inputs[i])\n\u001b[1;32m 423\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;28mlen\u001b[39m(inputs))\n\u001b[1;32m 424\u001b[0m ):\n", "File \u001b[0;32m~/anaconda3/lib/python3.11/site-packages/torch/utils/hooks.py:138\u001b[0m, in \u001b[0;36mBackwardHook._set_user_hook..hook\u001b[0;34m(grad_input, _)\u001b[0m\n\u001b[1;32m 135\u001b[0m res \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_pack_with_none(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minput_tensors_index, grad_input, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mn_inputs)\n\u001b[1;32m 137\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m hook \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39muser_hooks:\n\u001b[0;32m--> 138\u001b[0m out \u001b[38;5;241m=\u001b[39m hook(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodule, res, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mgrad_outputs)\n\u001b[1;32m 140\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m out \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 141\u001b[0m \u001b[38;5;28;01mcontinue\u001b[39;00m\n", "File \u001b[0;32m~/github/tangermeme/tangermeme/deep_lift_shap.py:111\u001b[0m, in \u001b[0;36m_b_hook\u001b[0;34m(module, grad_input, grad_output)\u001b[0m\n\u001b[1;32m 110\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_b_hook\u001b[39m(module, grad_input, grad_output):\n\u001b[0;32m--> 111\u001b[0m \t\u001b[38;5;28;01mreturn\u001b[39;00m module\u001b[38;5;241m.\u001b[39m_NON_LINEAR_OPS[\u001b[38;5;28mtype\u001b[39m(module)](module, grad_input, \n\u001b[1;32m 112\u001b[0m \t\tgrad_output)\n", "File \u001b[0;32m~/github/tangermeme/tangermeme/deep_lift_shap.py:129\u001b[0m, in \u001b[0;36m_nonlinear\u001b[0;34m(module, grad_input, grad_output)\u001b[0m\n\u001b[1;32m 126\u001b[0m delta_in \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mcat([delta_in_, delta_in_])\n\u001b[1;32m 127\u001b[0m delta_out \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mcat([delta_out_, delta_out_])\n\u001b[0;32m--> 129\u001b[0m delta \u001b[38;5;241m=\u001b[39m delta_out \u001b[38;5;241m/\u001b[39m delta_in\n\u001b[1;32m 130\u001b[0m idxs \u001b[38;5;241m=\u001b[39m torch\u001b[38;5;241m.\u001b[39mabs(delta_in) \u001b[38;5;241m<\u001b[39m \u001b[38;5;241m1e-6\u001b[39m\n\u001b[1;32m 132\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m (torch\u001b[38;5;241m.\u001b[39mwhere(idxs, grad_input[\u001b[38;5;241m0\u001b[39m], grad_output[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;241m*\u001b[39m delta),)\n", "\u001b[0;31mRuntimeError\u001b[0m: The size of tensor a (40) must match the size of tensor b (4) at non-singleton dimension 1" ] } ], "source": [ "from bpnetlite.bpnet import _ProfileLogitScaling\n", "from tangermeme.deep_lift_shap import _nonlinear\n", "\n", "X_attr_t2 = deep_lift_shap(wrapper_profile, X, additional_nonlinear_ops={ProfileWrapper: _nonlinear}, \n", " references=X_ref, device='cpu', print_convergence_deltas=True)" ] }, { "cell_type": "markdown", "id": "9629e2a9-ad93-4aae-8a41-43bd3930d3ed", "metadata": {}, "source": [ "Looks like it raised an error. `_nonlinear` *must be applied to layers with the same input and output size*. This means that sometimes, you need to break layers into multiple objects where only some are registered. For instance, rather than implementing the entire dot product isn the `ProfileWrapper` object there is a separate object, `_ProfileLogitScaling` that calculates the element-wise multiplication of each logit and its respective post-softmax probability. Hence, `_ProfileLogitScaling` outputs a tensor of the same shape as the input because it does not do the summation of the dot product. Rather, after returning the transformed logit values, `ProfileWrapper` itself does the summation. You can see the code below with comments removed for compactness." ] }, { "cell_type": "code", "execution_count": 16, "id": "039cb6e4-d12a-41cd-bf56-ae894df17ffd", "metadata": {}, "outputs": [], "source": [ "class _ProfileLogitScaling2(torch.nn.Module):\n", "\tdef __init__(self):\n", "\t\tsuper(_ProfileLogitScaling, self).__init__()\n", "\t\tself.softmax = torch.nn.Softmax(dim=-1)\n", "\n", "\tdef forward(self, logits):\n", "\t\ty_softmax = self.softmax(logits)\n", "\t\treturn logits * y_softmax\n", "\n", "\n", "class ProfileWrapper2(torch.nn.Module):\n", "\tdef __init__(self, model):\n", "\t\tsuper(ProfileWrapper, self).__init__()\n", "\t\tself.model = model\n", "\t\tself.flatten = torch.nn.Flatten()\n", "\t\tself.scaling = _ProfileLogitScaling()\n", "\n", "\tdef forward(self, X, X_ctl=None, **kwargs):\n", "\t\tlogits = self.model(X, X_ctl, **kwargs)[0]\n", "\t\tlogits = self.flatten(logits)\n", "\t\tlogits = logits - torch.mean(logits, dim=-1, keepdims=True)\n", "\t\treturn self.scaling(logits).sum(dim=-1, keepdims=True)" ] }, { "cell_type": "markdown", "id": "d03ecc95-0236-4310-9ea4-7b05754df909", "metadata": {}, "source": [ "So now we need to register `_ProfileLogitScaling` instead of `ProfileWrapper`." ] }, { "cell_type": "code", "execution_count": 17, "id": "e7f20909-fabf-491c-8d31-dfcce86fe755", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor([7.4506e-08, 2.9802e-08, 7.4506e-08, 1.0431e-07, 5.9605e-08, 1.0431e-07,\n", " 0.0000e+00, 4.4703e-08, 2.9802e-08, 0.0000e+00, 7.4506e-08, 2.9802e-08,\n", " 5.9605e-08, 4.4703e-08, 7.1526e-07, 7.4506e-08, 4.4703e-08, 5.9605e-08,\n", " 3.7253e-08, 9.6858e-08], grad_fn=)\n" ] } ], "source": [ "X_attr_t2 = deep_lift_shap(wrapper_profile, X, additional_nonlinear_ops={_ProfileLogitScaling: _nonlinear}, \n", " references=X_ref, device='cpu', print_convergence_deltas=True)" ] }, { "cell_type": "markdown", "id": "080bb79a-f63d-4df1-ace1-9e99a476dafb", "metadata": {}, "source": [ "Once we do that, we can see that the convergence deltas are back to being within machine precision. These details are extremely annoying but emphasize how useful it is to use an implementation that will automatically catch these issues. \n", "\n", "What does it look like if we use attributions that do not sum up to the prediction? Let's make logoplots of the attributions with high convergence deltas, when we did not register the layer, versus the attributions with low convergence deltas, when we did register the layer." ] }, { "cell_type": "code", "execution_count": 18, "id": "79a8135d-e9ad-49bb-8d6a-ac9ad7e28cd9", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAw0AAAEiCAYAAAC7hD4qAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAACJuklEQVR4nOzdd3gUVdvA4d+m90YSIIVQN5QkEJBexKBSPpCiKCjIi1LFBigIWIBXDKKICtIsKB0kgCL4qlQFpJdQVTqEdFJIQrLJ7nx/DLvJkkIWAgnmua8rV3bOnJ05u2d3dp45ZTSKoigIIYQQQgghRDGsyrsAQgghhBBCiIpNggYhhBBCCCFEiSRoEEIIIYQQQpRIggYhhBBCCCFEiSRoEEIIIYQQQpRIggYhhBBCCCFEiSRoEEIIIYQQQpRIggYhhBBCCCFEiSRoEEIIIYQQQpRIggYhKrlDhw4xe/Zs0tPTy7so4h6Lj49n9uzZnDp1qtC6HTt2MHv2bIu3GRwcbPa8tWvXEhwczLFjx+6qrAWVVO7Zs2cTHBxcZvu6Fw4cOEBISAgxMTGmtIiICIYPH37b5+7du5fg4GD27t1r8X6vXLlCcHAwX3/9tcXPLYmxjq9cuWLxc4uqr2XLlrF27dqyKl6Rzp8/T0hICCdOnLin+xHi30yCBiEqucOHDzNnzhwJGiqBhIQE5syZU2zQMGfOHIu3uWrVKvr27VsWxStWSeXu27cvq1atuqf7vxuKovDBBx/w9NNP4+/vb/HzGzVqxKpVq2jUqNE9KF3FsGLFCtatW3dP91GrVi169OhBZGTkPd2PEP9mEjQIIf51srOzURSlvIvxr6UoCtnZ2QA0adKEatWqlVtZqlWrRpMmTcpt/7fz+++/c+LECQYMGHBHz3dxcaFJkya4uLiUcckqn+eee479+/dz6NCh8i6KEA8kCRqEqMRmz57NjBkzAOjUqRPBwcFmXSE2bdrECy+8QLt27QgLC6Nr1658/PHHZGVlmW3nrbfeIjw8nIsXLzJ06FDCw8N5+OGHmT59OjqdzixvXFwcr776KuHh4Tz00EOMHTuW6OhogoODC3VROHbsGCNGjKBFixaEhobSq1cvNm3aZJbH2FVi586dTJgwgVatWtG4cWN0Oh0DBw6ke/fuHD58mH79+hEWFkZERARRUVEAbN++nd69e9O4cWN69OjB77//Xug9unDhAmPHjqV169aEhITQtWtXli1bZpbH2IVkw4YNfPTRR7Rr147w8HBGjBhBUlISGRkZvPPOO7Rs2ZKWLVsyYcIEMjMzzbahKArLli2jZ8+ehIWF0bx5c1599VUuX75823q8ePEiEyZM4PHHH6dx48a0b9+eESNG8Ndff5mV8amnngJgwoQJprqePXs2b731luk1GdMLdj8JDg5m6tSprFixgq5duxIaGmq6Mnxr9ySj9PR0JkyYQIsWLWjSpAkjRowo9FoiIiJ46623Cj134MCBDBw48LblhqK7uxgMBr788ku6dOlCSEgIrVu3Zty4ccTFxRXaT/fu3YmOjubZZ5+lcePGdOrUiYULF2IwGMy2N3fuXDp37kxYWBgPPfQQPXr04Lvvvrtd1bBixQpCQ0OpXbt2ket///13evfuTVhYGF26dGHNmjVm64vrnrR69Wo6d+5MSEgI3bp1Y8OGDbz11ltEREQUuZ9FixYRERFBeHg4zzzzDEeOHLlt2QGOHDlCv379CA0NpV27dsycOZO8vLwi827atIlnnnmGJk2aEB4ezosvvsjJkydL3H5ERAT//PMP+/btM9Wt8TXk5OQwffp0evbsSbNmzWjRogXPPPMMmzdvLrSdn3/+mb59+9KsWTNTPU6YMMEsT0hICHXq1GHlypWleu1CCHM25V0AIUT56du3L2lpaSxZsoQ5c+bg4+MDQN26dQH1hLlDhw4MGjQIR0dHzp07x5dffkl0dDSLFy8221Zubi4jR47kqaee4oUXXmD//v3MnTsXFxcXXn75ZQCysrJ4/vnnSUtL44033iAoKIg//viD0aNHFyrbnj17GDJkCI0bN2by5Mm4urqyadMmRo8eTXZ2Nn369DHLP3HiRDp27MiMGTO4ceMGNjbq4S0xMZEJEyYwZMgQqlWrxtKlS5k4cSKxsbH88ssvjBgxAhcXF+bOncuoUaPYvHkzVatWBeDMmTP069eP6tWrM378eHx8fNi5cyfvv/8+KSkpptdlNGvWLFq2bElkZCQxMTF8+OGHjBkzBhsbG4KDg/nkk084efIks2bNwtnZmbffftv03HfffZd169YxcOBA3njjDdLS0vjiiy/o168fP/zwA97e3sXWY0JCAh4eHowdOxYvLy/S0tJYt24dTz/9NOvWraN27do0atSIyMhIJkyYwMiRI+nY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HnroIfLy8jh37hzXr18vsew6nY4///yzVK0MOTk5PP/881y+fJlXXnmF4OBgDhw4wMKFCzl16hQLFy4EoE2bNvzyyy8kJCTg6+tLXl4e+/btw8HBgd27d9O1a1cAdu/ejY2NDS1atCh2n9nZ2QwePJiEhATGjh1LzZo12b59e5l8H41eeumlEj9bly5donv37gQEBGBra8vp06eZP38+586dIzIyElCPG4MHDyYgIIB3330Xb29vEhMT2bt3b6Hgu0WLFqxYsYK///67wo91EaLCU4QQooCvvvpK0Wq1yuXLl0vMZzAYlNzcXGXfvn2KVqtVTp06ZVo3fvx4RavVKps2bTJ7ztChQ5XOnTublpcuXapotVplx44dZvneeecdRavVKlFRUaa0Ll26KL169VJyc3PN8g4fPlxp27atotfrFUVRlKioKEWr1Srjxo0rVOYBAwYoWq1WOXbsmCktJSVFadCggRIWFqbExcWZ0k+dOqVotVpl8eLFprQXXnhB6dChg3L9+nWz7U6dOlUJDQ1VUlNTFUVRlD179iharVYZPny4Wb5p06YpWq1W+e9//2uW/tJLLyktWrQwLR8+fFjRarXKN998Y5YvNjZWCQsLU2bMmFHotZUkLy9P0el0yuOPP6588MEHpvTo6OhC77PRlClTFK1WW+T2tFqt0qxZM9PrvXXd559/blo21seoUaPM8h08eFDRarXK3LlzTWmPPPKIMn78+ELbHDBggDJgwIBSlfvzzz83K/eZM2cUrVarTJ482Szf0aNHFa1Wq3zyySdm+9FqtcrRo0fN8nbr1k154YUXTMvDhw9XevbsWWjft2Pc58aNG2/7GlesWFHkd2jhwoWKVqtVdu7cqSiKoly8eFHRarXKunXrFEVRlAMHDiharVaZMWOGEhERYXre4MGDlWeeeabE8i1fvlzRarXK5s2bzdLffvvtO/4+Gr8Le/bsMeUp6bNVkF6vV3Jzc5V169YpDRo0MH3ejh07pmi1WuW333677TYuXLigaLVaZfny5bfNK4QomXRPEkKU2uXLlxk7dixt27alQYMGNGrUyHTV9Ny5c2Z5NRoNERERZmnBwcFcvXrVtLx//36cnZ3p0KGDWb7u3bubLV+8eJFz587Ro0cPAPLy8kx/HTp0IDExkfPnz5s95/HHHy/yNfj4+BASEmJa9vDwwMvLiwYNGphaFABT9xFjeXNyctizZw+PPfYYDg4OhcqQk5PDkSNHzPb1yCOPmC3XqVMHwHR1vGB6amqq6Srptm3b0Gg0PPHEE2b78fb2pn79+uzbt6/I12aUl5fH/Pnz6datGyEhITRs2JCQkBAuXLjA2bNnS3xuabVq1Qp3d/dS5zfWnVHTpk3x9/c3m1XnXjBuv3fv3mbpYWFh1KlThz///NMs3cfHh7CwMLO0Wz+3oaGhnD59msmTJ/PHH3+QkZFRqrIkJCQAmLVsFGfPnj04OTnRpUsXs3TjFXxjuWvUqIG/v79peffu3Wi1Wp544gmuXLnCpUuX0Ol0HDx4kDZt2pS4z7179+Ls7EynTp3M0svi+1haJ0+eZMSIEbRs2dJ0jBk/fjx6vZ4LFy4AEBQUhLu7Ox9//DErVqzgzJkzxW7P2AIWHx9/R+URQuST7klCiFLJzMzk2Wefxd7entdff52aNWvi4OBAXFwcL7/8smkgrJGjoyP29vZmaXZ2duTk5JiWU1NTi+xmc2tXF2Of6g8//JAPP/ywyPLdOkOKsWvVrTw8PAql2dnZFToBtrOzAzCVNzU1lby8PJYsWcKSJUtKVYZbt2lra1tiek5ODs7OziQnJ6MoSrEneYGBgUWmG02fPp1ly5YxdOhQmjdvjru7OxqNhrffftvs/b8bxb2/xSmqnr29vUlNTS2T8hTHuP2CXauMfH19zYIBKP7zUfB9Gz58OE5OTvz444+sXLkSa2trHnroId544w1CQ0OLLYvxO3Lr96K4cnt7e6PRaMzSq1Spgo2Njdn71rp1a/744w9ADRratm1LcHAw3t7e7N69m6CgILKzs28bNBT3fbw17U6+j6Vx9epVnnvuOWrVqsXEiRPx9/fH3t6e6Ohopk6danr/XF1dWbJkCfPnz2fWrFmkpaXh4+PD008/zciRI03fJyj8PRZC3DkJGoQQpbJnzx4SEhJYsmSJWb/o2/XjLomHhwfR0dGF0m8deOnp6QmoJ2uPPfZYkduqVauW2fKtJ1t3y83NDWtra3r27Mmzzz5bZJ6AgIAy2ZenpycajYZly5aZTnoKKiqtoB9//JFevXoxZswYs/SUlBSLxg+UxNL3t6jBtElJSdSoUcO0bGdnV2igPKjlNn4GLGUMAhISEgqNe0hISLij7drY2DB48GAGDx5Meno6u3fvZtasWQwZMoTt27fj6OhY5POM+0pLSytVuY8ePYqiKGbvdXJyMnl5eWblbt26NWvWrCE6Opro6GhGjhwJqK1Bu3fv5urVqzg5OdG4cePb7vNefR9LY/PmzWRlZTF79myz6WhPnz5dKG9wcDCzZs1CURT++usv1q5dyxdffIGDgwPDhg0z5TO+13f6+RFC5JPuSUIIM8VdmTOeuNx6wrpy5co73lfz5s3JzMxkx44dZukbN240W65duzY1a9bk9OnThIaGFvnn4uJyx+UoDUdHR1q2bMnJkycJDg4usgxldWLSsWNHFEUhPj6+yP3cbkCnRqMxu9oK6sxQt3bRMNblra1Et1t3JzZs2GC2fOjQIWJiYswCUH9/f7MZngDOnz9fqKuLJWVr1aoVoAZSBUVHR3P27FnT+jvl5uZGly5dePbZZ0lNTTW7YdutjN3TLl26dNvttm7dmqysLDZv3myWvn79etP6gnk1Gg2fffYZGo2G5s2bm9L37t3Lrl27aN68eaHPxK1atmxJZmYmW7ZsMUv/6aefzJbv9vtYXP0VdYxRFIXVq1cXuy2NRkP9+vWZOHEibm5unDhxwmy9cYYu43svhLhz0tIghDCj1WoB+O677+jduzc2NjbUqlWL8PBw3N3dee+993j55ZexsbFhw4YNhU7yLNG7d2++++47xo0bx2uvvUZQUBC///47O3fuBMDKKv+6xpQpUxg6dCgvvvgivXv3pmrVqqSlpXH27FlOnDjB559/fncvvBQmTZrEs88+y3PPPUf//v3x9/cnMzOTS5cusXXr1kIzSN2pZs2a8cwzzzBx4kSOHz9O8+bNcXR0JDExkYMHD6LVaott7QA16DDOkhQcHMyJEyf4+uuvC11pr1GjBg4ODmzYsIE6derg5OSEr68vVatWNX0OvvzySzp06ICVlRXBwcG3beUozvHjx5k0aRJdunQhLi6OWbNmUbVqVbPX0bNnT958800mT55M586diYmJ4auvvioUjJVU7lvVrl2bZ555hqVLl2JlZUWHDh1MsydVr16d//znPxa/lhEjRlCvXj1CQkLw8vIiJiaG7777Dn9/f4KCgop9XrVq1QgMDOTo0aO33UevXr1YtmwZ48ePJyYmBq1Wy8GDB1mwYAEPP/ywWVejKlWqUK9ePXbu3EnLli1NLR1t2rQhNTWV1NRUJkyYUKp9fvvtt4wfP57Ro0cTFBTEjh07TN/Hgu7m+1jcZ6tNmzbY2toyZswYhgwZgk6nY8WKFYVuNLlt2zaWL1/Oo48+SmBgIIqi8Ouvv5Kenk7btm3N8h49ehRra2tTICWEuHMSNAghzLRs2ZLhw4ezbt06vv/+ewwGA4sXL6Zly5YsWLCADz/8kDfffBNHR0fTvPG3DjItLScnJ7777js++OADPvroIzQaDe3ateO9995j2LBhuLq6mvK2atWK77//nvnz5/PBBx+Qnp6Oh4cHderUMU0rea/VrVuXtWvXMnfuXD799FOuXbuGq6srQUFBPPzww2W6r6lTp9K4cWNWrVrFihUrMBgM+Pr60rRp00IDdW81adIkbGxsWLhwIVlZWTRs2JDZs2fz2WefmeVzdHTkgw8+YM6cObz44ovk5uby8ssv88orr9C9e3cOHTrE8uXL+eKLL1AUhS1bttxxF6xp06bxww8/MGbMGHQ6HS1btmTSpElmYwh69OhBQkICK1euZO3atdSrV4/JkyfzxRdflLrcRZk8eTKBgYGsWbOG5cuX4+LiQvv27Rk7duwdtQ61bNmSX375he+//56MjAx8fHxo06YNL7300m2v5vfo0YNly5ah0+lKDMDs7e1ZvHgxs2bN4quvviIlJYWqVavywgsvFJraF9QA4e+//zYLJvz8/KhZsyYXLlwwa5kojqOjI4sXL2batGl8/PHHpu/jJ598Qr9+/czy3s33sbjPVp06dZg9ezaffvopr7zyCh4eHnTv3p3//Oc/DB061PT8oKAg3Nzc+Oqrr0hISMDW1pZatWoxffr0QseizZs306FDhzLrlidEZaZRFLnjiRCiYpk/fz6ffvop27dvL9e7CwtR1uLj4+nUqRMzZsygW7du5V2cf7VLly7x+OOP8/XXXxdqgRBCWE5aGoQQ5Wrp0qWA2o0kNzeXPXv2sGTJEp544gkJGMS/TtWqVRk0aBDz5s2jS5cuZl3wRNmaN28erVu3loBBiDIiQYMQolw5ODjw3XffceXKFXJzc6levTpDhw41zQAjxL/NyJEjcXR0JD4+nurVq5d3cf6V8vLyCAwMNJtJSQhxd6R7khBCCCGEEKJE0i4qhBBCCCGEKJEEDUIIIYQQQogSSdAghBBCCCGEKJEEDUIIIYQQQogSSdAAGAwGoqOjMRgM5V0UUYDUS8UjdVIxSb1UPFInFZPUS8UjdfLgkKABUBSF3NxcZCKpikXqpeKROqmYpF4qHqmTiknqpeKROnlwlHvQsGzZMiIiIggNDaVPnz4cOHCg2LwJCQmMHTuWzp07U79+faZNm3YfSyqEEEIIIUTlZHHQkJSUxJtvvkm7du1o2LAhDRo0MPuzxKZNm4iMjGTkyJGsX7+eZs2aMXToUK5evVpkfp1Oh6enJyNHjqR+/fqWFl0IIYQQQghxByy+I/Rbb71FbGwsL730Er6+vne180WLFvHkk0/St29fACZNmsTOnTtZsWIFY8eOLZQ/ICCAt99+G4CoqKi72rcQQgghhBCidCwOGg4ePMjy5cstblW4lU6n48SJE4Vu8d62bVsOHz58V9u+HYPBYNZ3Tq/Xm/0XFYPUS8UjdVIxSb1UPFInFZPUS8UjdVL+rK2tS5XP4qChevXqZTJYJSUlBb1eT5UqVczSvb29SUxMvOvtl+T48ePk5uYWSj927Ng93a+4M1IvFY/UScUk9VLxSJ1UTFIvFY/USflp1qxZqfJZHDRMnDiRmTNnMmXKFAICAiwu2K00Go3ZsqIohdLKWkhISKGWhmPHjhEaGlrqaEvce1IvFY/UScUk9VLxSJ1UTFIvFY/UyYPD4qBh9OjR3Lhxg8ceewwHBwdsbW3N1u/bt69U2/H09MTa2pqkpCSz9OTkZLy9vS0tlkWsrIoe/21tbS0f2ApI6qXikTqpmKReKh6pk4pJ6qXikTqp+O6opaEs2NnZ0ahRI3bt2sVjjz1mSt+9ezedOnUqk30IIYQQQggh7p7FQUPv3r3LbOeDBw9m3LhxhISEEB4ezqpVq4iNjaVfv34AzJw5k/j4eGbMmGF6zqlTpwDIzMzk2rVrnDp1CltbW+rWrVtm5RJCCCGEEELkszhoALX/2ebNmzl79iwajYa6desSERFhcbNSt27dSElJYe7cuSQkJKDValm4cCH+/v4AJCYmEhsba/acXr16mR6fOHGCn376CX9/f7Zu3XonL0UIIYQQQghxGxYHDRcvXmTYsGHEx8dTq1YtFEVhwYIFVKtWjYULF1KjRg2Ltvfcc8/x3HPPFblu+vTphdL++usvS4sshBBCCCGEuAsW3xH6/fffJzAwkO3bt7Nu3TrWr1/Ptm3bCAgI4P33378XZRRCCCGEEEKUI4uDhv379/Pmm2/i4eFhSvP09OSNN95g//79ZVk2IYQQQgghRAVgcdBgZ2dHZmZmofTMzMxC068KIYQQQgghHnwWBw0dO3bk3Xff5ejRoyiKgqIoHDlyhMmTJxMREXEvyiiEEEIIIYQoRxYPhH777bcZP348zzzzDDY26tP1ej0RERFMmjSpzAsohBBCCCGEKF8WBw1ubm7MmzePCxcucO7cORRFoW7dugQFBd2L8gkhhBBCCCHK2R3dpwGgZs2a1KxZswyLIoQQQgghhKiIShU0REZG8tprr+Hk5ERkZGSJeSdMmFAmBRNCCCGEEEJUDKUKGk6ePEleXp7psRBCCCGEEKLyKFXQsGTJkiIfCyGEEEIIIf79LJ5ydcKECWRkZBRKz8rKkq5JQgghhBBC/AtZHDSsX7+enJycQunZ2dn88MMPZVIoIYQQQgghRMVR6tmTMjIyTDdzy8zMxN7e3rROr9fz+++/4+XldU8KKYQQQgghhCg/pQ4aHnroITQaDRqNhs6dOxdar9FoeOWVV8q0cEIIIYQQQojyV+qgYfHixSiKwqBBg5g9ezbu7u6mdba2tvj5+VG1atV7UkghhBBCCCFE+Sl10NCiRQsAtmzZgp+fHxqN5p4VSgghhBBCCFFxWHxH6KtXr3L16tVi1zdv3vyuCiSEEEIIIYSoWCwOGgYOHFgorWCrw6lTp+6uREIIIYQQQogKxeKgYf/+/WbLubm5nDp1is8++4zRo0eXWcGEEEIIIYQQFYPFQYOrq2uhtLZt22JnZ0dkZCRr164tk4IJIYQQQgghKgaLb+5WHC8vL86fP19WmxNCCCGEEEJUEBa3NJw+fbpQWkJCAl9++SXBwcFlUighhBBCCCFExWFx0NCrVy80Gg2KopilN2nShGnTppVZwYQQQgghhBAVg8VBw5YtW8yWrays8PLywt7evswKJYQQQgghhKg4LA4a/P3970U5hBBCCCGEEBWUxUEDwJ9//sm3337L2bNn0Wg01K5dm0GDBtGmTZuyLp8QQpSbI3FH2HZ+GwDtarSjuX+Bm1cWuD9NiW7pyimEEEI8iCyePWnp0qUMGTIEZ2dnnn/+eQYOHIiLiwvDhg1j6dKl96KMQghRLtadWseYX8cw5tcxrDqxqryLI4QQQpQbi1saFixYwIQJExgwYIBZetOmTZk3b16hdCGEeFBdSr+U/zjtUgk5hRBCiH83i1saMjIyaN++faH0tm3bkpmZWSaFEkKIiqBgoCBBgxBCiMrM4qAhIiKC3377rVD6li1beOSRR8qkUEIIcc9lnIPLURC/DfS6IrNI0CCEEEKoStU9afHixabHderUYf78+ezbt48mTZoAcPToUQ4dOsTgwYPvSSGFEKJM/TMfDr4CSp667FgdHpoHAT1NWQyKgctpl03LsRmx5OTlYG8j00sLIYSofEoVNHz77bdmy25ubpw5c4YzZ86Y0lxdXYmKiuKll14q0wIKIUSZOjIeTs0wT7sRC3/0hk47wFftfpmYmUiOPscsW8z1GGp71lYXbp0VqeBsSjJjkhBCiH+ZUgUNW7duvdflEEKIe+/aYTj1UTErFchJMC0ZuyNp0GBnbUeOPodLaZfygwYhhBCiErF4TIMQQjyw/voEKF0rgDFoqOZSjUD3QLM0IYQQorIpVUtDZGQkr732Gk5OTkRGRpaYd8KECWVSMCGEKFN5mXB5bf6yW31ovhA0VvDPXLi43Cy7MUAIcAvA2c6ZM9fOSNAghBCi0ipV0HDy5Eny8vJMj4ujKe0dUoUQ4n5LPQb6LPWxQ1V4dBfYe6nLPm3BI8ws+61BQ8E0IYQQorIpVdCwZMmSIh8LIcQDI63ABY96L+UHDEYNxoEuxbRovLFbgFsAzrYSNAghhKjcLBrTkJeXR8OGDfn777/vVXmEEOLeSC8QNFTvWni9RmMWSBRsaQhwCzBLE0IIISqbUrU0mDLb2ODn54fBYLhX5RFCiDu2+/JuEjLVGZAeqfkI7g7u+SsLtjS4Bd92W2bdkwq0NCiKIl0xhRBCVDoWz540cuRIZs6cSWpq6j0ojhBC3LmB6wbSe1Vveq/qzZbzW8xXZty8r4y9L9i6lbidG7k3TMFHgFsA/m7+AGTmZpKSnVLSU8uEoij8evZXfjnzC9vOb7vn+xNCCCFux6KWBlDHNFy8eJH27dvj5+eHk5OT2fp169aVWeGEEKK0krKSOJdyzrS8L2YffRr0yc+Ql6n+dw7MT8tOgPS/8pftvcC9EVfSr5iSAtwCcLLNP85dSruEl+Mt4yHK2PnU83Re2hlQ7xNxbfw1PBw87uk+hRBCiJJYHDR06tRJmuaFEBXOvph9Zst7Y/aaZ9Bnq/+tC1zoiPsN/hyQv+zfAzr8aDZ2wc/VDztrO2ysbMgz5HEp7RJNqjUp49Kb23Vpl+mxgsKeK3voUrfLPd2nEEIIURKLg4ZXXnnlXpRDCCHuyt4rapDg4eBBanYqB64eQG/QY21lrWZQjGOxbn/R42LaRQB8nHxwsHEAwN/Vn4tpF+/LYOhdl3eZL1/aJUGDEEKIcmXxmIZOnTqRklK4T296ejqdOnUqk0IJIYSljC0Lz4U+B0CGLoOTiQUGP1urJ/8Ycm67LWNg4OvsS3xGPPEZ8fg4+5ituxM5eTkcij3EodhD/J1c/Cx0xqChlkcts2UhhBCivFgcNMTExBQ5e5JOpyM+Pr5MCiWEEJZQFMXUPalTrU7U8awD3NJFyeZmt6TsAscpK3uwqwIaa7PtGQODE4knqDazGtVmVuPA1QNm6+7ET3//RLOFzWi2sBmtvmpFrj63UJ7U7FROJJwAYFTzUabXkWfIu+P9CiGEEHer1EHDli1b2LJFnY3kjz/+MC1v2bKF3377jblz5+Lv73/PCiqEEMX559o/plmNmvk1o5lfMyC/yxIATjcHQGddAr1OfVzjKXgyCaq0NNteSYHB3QQN607nTxSRkp3C7xd/L5Rnz5U9KCg42jjynyb/UYucm8XRuKN3vF8hhBDibpV6TMOoUaNMj9966y3zjdjY4O/vXyhdCCHuB2Nw4O3kTaBbIM2qN2P1idXmLQ1uDSFhhzq2IfN8ifdquBdBg06v46e/fwKgpkdNLqReYN3pdXSqbd6t0zgIuplfM6o4VaG+d31OJ51m1+VdpmDIRFHg+j9w7ShQGy6vA7da4B4C1vZ3VE4hhBCiKKVuaTh9+jSnT5/Gz8+P3bt3m5ZPnz7N8ePH+eWXX3jkkUfuZVmFEKJIxq5Jzao3Q6PR0Ky6enJ9IvEEGboMNZN7g/wnJBS+wm+kKEqJgcHV61eL7FZ0O9svbCctJw0XOxemdJwCwPrT6zEo5t09d1/ZDUBL/5Zm/3df3l2wkPDXZ/BjDdgYDHsHq+l7/wO/PARrq0BuhsVlFEIIIYpj8ZiGV199FRcXl0LpOp2O9evXl0WZhBDCIsYWBTd7N7ac22LqqmRQDBy8elDN5FYgaDi7UD3xLkJiViI5+uIHSysoxFyPsbiM60+vB+Cx2o/RQ9sDa401MddjTGMlAPIMeaZWkxb+Lcz+mw2GPhkJh16HrCtQ4xl45OaN7Lqdgo6/QO0XQabGFkIIUYYsDhomTJjA9evXC6VnZmYyYcKEMimUEEKUVnZeNkfijgDw/cnveXTJo/T9vq9pvamLkkdj0Nw85F07AHv+o45tyL0OOUmm/AVbGb7s8SUb+m9gQ/8NLOm9pMg8pWFQDKagobu2O56OnrQJbAPAulP54xyOxh0lM1e9Cd0rP79CjVk1eG/7ewBcSb+i7jc3HU59qD7Bpx20WQ5VHlKXnfyg+uPQ7DOwcbaojEIIIURJLA4aFEUp8uZu8fHxuLq6WlyAZcuWERERQWhoKH369OHAgQMl5t+3bx99+vQhNDSUTp06sWLFCov3KYT49zgSd4RcQ/HdhUxBg4MP+Ebkr7iwGNa4qV15rudPf1owIHg29Fm6a7vTXdud/iH9sb45y5KlQcO+mH3EZsQCkJCZwKLDi3CzdwPMB0cX7IKUkJnA5fTLJGUlma+/flYNHAB82ucHQgC/tICNjdS/C8ssKqMQQghRklIPhO7VqxcajQaNRsOgQYOwscl/ql6v58qVK7Rv396inW/atInIyEjee+89mjZtysqVKxk6dCgbN27Ez8+vUP7Lly8zbNgw+vbty0cffcShQ4eYMmUKXl5edO7c2aJ9i/snOxt27IDoaDh7Fm7cAFtbsLFRe4jY28PQoRAainrVN+0EZF6E3BtAKJz9Gmydbp70PUzGDQeWLIE//4Tjx8HDA3x91e0B6HTQsiWMHVuOL1rcN8buPM62zjxa+1FT+sW0ixyJO2I+g1K9kRC/OX+5iHs2GAMCL0cvnGzz7x5tbWWNn6sfl9MvWxw0FGxNmLDFvEX2r+S/OJV4igY+DUxdkJxtnfF28jblSchM4EbeDXZd2kW/uhGgsQElzyzYAdQ7Wp9Ux0ugu2ZRGUUloihq4KnPUu+UrrFWpyS29QQr69s/XwhRKZU6aHj0UfXH+NSpU7Rr1w5n5/ymb1tbW/z9/alRo4ZFO1+0aBFPPvkkffuqXQkmTZrEzp07WbFiBWOLOONbuXIl1atXZ9KkSQDUqVOHY8eO8c0339zboCE3HW5cVf8bdGDIAytb9WZR9t7gHGSWPSdHPXHV3ZzV0dYWnJzyT2ork8uXoWNHOHcOqlSB1auhXTuws8vPk54Oil4Hf74IF5eDoz+E/hc8G0OaATzCQJ+m9t/WpdKhQzUOH1af+/PP0KWIG+UW01294lEM6olf5mX1JM+Qg6kBUGMNdu5QvWvl7J9+Ix4Sd0DGefV7Z+9986q6FSh6UHKh7khTS0KHoA6s77fe9PRt57cRsTiCmOsxxKTH4O/mDwG9wbcjJGwvep/ebbh0WQ0IAtwCCq0OcAuwOGhQFMXUmtAqoBX1veub1v30908kZSWx/vR6s6BhUvtJTGifH1yM+WUMs/bMUtc7+ELtwXD2S7gcBadnQe3hasb6Y/ODhjuQnZfNosOLTGNC6nrVpW/DvkW2Lv8rKArk3eyeps9RP2do1JmnbFzAoSpY5R+4j8YdNb03/q7+1KtSr5wKfgcMevh7tnqMvXEVAnqp43xsXICbQUROAjQYB7Zu964ciuHm76hOff+tbMDa0bzFTAhRIZX6NPbll18GwN/fn27dumFvr07nd/36dX788Ue+/vprTp8+zalTp0q1PZ1Ox4kTJxg2bJhZetu2bTlsPCO8xZEjR2jbtq1ZWvv27YmKiiI3NxdbW9vSvpzSuXYQdvZVp2esOwLqDgdHP3Xmlex4yDgLhhyS/CIZ8bo3hw9Dbi5MnAg1a4KLi3qul5urnhg3bQoBhc9D7k7cZojfpp5w+nYEex/1YJwdByjqAdojlD9OtiAqCi5ehLp1oXVrcHUF65sXlRQFrKygrCfAcnCAatXUoCEnR91/rVpqy4CdHVy/DjEx4O2Ri3v6abW8dl7g3ghc6wMnIeUwHH5VvbIa8i69ek3h+HH1fV21Sn2fa9VSA7PsbIiLg7w8aN44BdL/Vt8ba0ewdb95AqC5+d4o4FhdbcEohevX4cABuHpV3XdQkPoeWhX4rdProUkTNVC8rZxk2NRI/Sz5dYPmC9TPV/JetaUl5bCax6EaeDW1/M1/kOVcgw21QH9DvXreLkoN1BP+gIwzkHBzUHDiH6agwThjklHT6vnv2d6YvfRx66N+IR/+Cf4cCFfyr/5jZQeNp0Pw61w6rl7ECHQLLFQsYyBhSdBwKukU/1z7B4DZXWfzkN9DpnWv/vwqs/fNZt3pdQwIG8CV9CsAtAwwv2+EcQalo/FHydBl4NJ0FuRlqieAh8dA9GSosxU2NizwmiybcvV/Z/7HKz+/Qkx6DFMfmcqltEu8vfVt5tSYwxfdviC0aqhF26vQFEX9DFzdAHae0Gw2ONVQj5tpp9R7eeQkq/fx8O/B0bijTNgyga3ntzK29VgSsxJZdGQRz4U+x9RHplLD3bILZoqisOfKHr498i1WGiu0VbT8cekP/q/e//F0o6dxtbe8q+9t5abB35+rv2e+D0ODN9XXHL8FUo7AyelqPjtvqP962e77wgr4+zPIOAfBo8EjRL0okvSn2rqsuwZu9aHRxLLdb2WUl6Weo2RdVi9sOtdU/ys3bw6pKOqx1KMxJP6hfh4AXOqqrU2KQf3j5n/vttL6JEwsvvbdu3dvAP7880+ioqL47bff8PPz4/HHH2fatGml3k5KSgp6vZ4qVaqYpXt7e5OYmFjkc5KSkvD29jZLq1KlCnl5eaSkpODr61uqfV+7ZuDvvxVSUtSr/76+egDOndNjZQUGg/pXu1YYVm2+h9SjkJ0AyYfA2gU0dmDtBtae4OiGh4eed97Rc+wYJCSoz83KUk8sC25Pr1f4/fxuTiaexN/N3+xKZqYukxOJJ/By9KJL3S5m3SJKZB8ALlq1fIoVGABswcYL0k9CbiZgi1bbjI4d4coV9YTayqroi9d6fel2qygKmbmZXM+5jk6vAw04WjuSlZeFRqPB0doRV3tXvLwc2bEDzpxRuxKdPQuLFqnvj8Ggnuh7e0OPHg7oO+2G1GhIPQYx/0Of+wPQC31GLDR4Wz2592nHpEl6Xn4ZjhyBkydh2zbYsEFt2bG3By8vaNUK9CmnIOWQegXNuw0ogC5LbbG4cQXyboBzIAT1gxsJkPG3enVbyQWNrXrly6BTu4LYe5Gqf4TYWIiNVcut0ah/ipL/Xmo06ntoZYW639RjcCMO9BlgyFUP3rYeanDg3gg67YGkvXDjMlxcC/ZegLV6gFdswbkeaBwg5S/14J6XCY7V1EGuil79Sz+l/gB7hKnbLA1DHqSfhqwY9UfbrkBAlZOsbtexOtds2vPPP5CaqgZ5Vavmf1cKfn5q+adCylHQJat3WHb0Vb8n2bGgSwddknoSW/VR9XOZk6xezXTyU9/rnAS1HNmx6nLVR6H7RUjcCZkX4MRMsPe82S1HD/aBYOdOrrUnPer2AOCJek+gL/ABdrF14d1275KWk4aTtVP+Oo0DtF4FF1eqXeEc/SGgJzj5g8FA+8D2BLgE0MK/hdn2APo26Iufsx/+bv6F1lGg9bXgFykpI4nXmr+GnbUdjX0bmz1vUOggrBQrNBoNCdcTeK35awA0rdrULF+7gHamdQkZCTi6B0HLxRD6ISRuR5/yl7rb2sPBtQZ4tQC3eih5ehTF/DNqVPAzu+PiDv739/8YHDaYR2s/igYNBEK/hv348e8f+e7wd7zY9EX87LWkpqrHNhsb9XtgbV14u+7ulEpaGuzZo15UsbODRo3Ut7Hgd8tgAB+fUgbilgiNhOpPwI0YuH4JdDfU74BjTchJA+cqoHFk/6U9rD6xmlZ+rXiz9ZvqewM83fBpNp/bzBd7v+CF8Beo61XXbPPG+rv1c3It6xprTq3hn+R/aBvQlkD3QKw11tT2qM2x+GNE/h5J7/q9qesSzuHDGtNvivFClPEihbFea9YykJJ3lfMp50nMSkRRFPxc/bh6/SoajQZvJ29qedbC39Ufqy7H1UkA0k/DmW/VDVnZAhqo+7J6wcb3ERLj9KSmqhdh3NzA0TF/v1ZW6n7t7NTyGArMGFzwM2UsI4BV1S5g7ap+lxUD5OrU/Xq2UgMJa3ew8SQ9K4Vfz/xKak4qIT4h2NvkB74XUi+QfCOZFv4taODdgOj4aKITovF18sXfzR9XO1eSspK4kn4FnV5HM79m1Havx6VLGtLS1N89b2+wtVXr4+pVvekz5uYGf/8Nly5BRoZ6QcjDI793gPG47u0NVa33Qtox9eTcraF67DTk3JxQIUE9Pnk04QxubL+wHWdbZ7MLGAoKB2IOkGPI4dHaj5Krz2Xb+W042DjQQ9sDG+v807Kt57cSnxFPQ5+GhFcPZ/fl3VxIvUBtz9pUda6KlcaKDF0GF1MvciPvBq0CWlHP1Qey09TPsL0NKBowaCAzRj0+Xz8HNo5g5Q456ZBzXb2odjNO4EYC5KZC6nH198rajYtpoSQnq7/b3t7qd7Tg995gUN9DtztsoCruuxIXB6dOQUqKum0/P/VCpLFOjJ+voCD1HOPKFfWY4uaWf0HPmE+vVy/cFuzlUJKzZ9WLnMbtGT8Pxu0pinoR+JZT0mLdyL1B8o1kUrNT0eXpcHNwQ6fXkZOXg4ONA16OXlRxqkJGTgaH4g5xKe0SAW4BBLkHodFouJh6kSvpVwhwC6Bp9aZYW1mz89JOYjNiqeNZB19nXzRoSM9J53zKeRQU2tRog4+TD1vObSE+Mx5tFS2uduoFCUVRuJx+mcSsRB6q/hDNAprd5hXcfN8VpfQdOeLi4li7di1RUVHcuHGDrl27snLlSn744Qfq1q17+w0UEB8fT4cOHVi5ciXh4eGm9Hnz5vHDDz/wv//9r9BzOnfuTJ8+fRg+fLgp7eDBgzz77LPs3LkTH5/SXTHetWsXDsZPnhBCCCGEEJVUs2alCxpK3dIwdOhQDh48SMeOHXnnnXdo37491tbWrFy58o4K6OnpibW1NUlJSWbpycnJhVoTjIpqhbh27Ro2NjZ4eHiUet+tW7emYKyk1+s5duwYoaGhWN962UyUm/taL5lXIOMftcUGg3qVXGMF3LzU6R4MHqXsnhG3FXb2UZ8bMhnqj1bTLyyHnAKf38C+6pX2e8l4yTctreR8ikFtCUFRr/QX0xwt35WKSeql4pE6qZgqar1k52Uzd/9czl47i72NPY62jrzW4jV8XUrXg+JBVlHrRBRW6qBh165dDBw4kP79+1OzZs273rGdnR2NGjVi165dPPbYY6b03bt306lTpyKf06RJE7Zt22aWtnPnTkJCQiwaz2BVsBN6AdbW1vKBrYDuS724Bal/ZcH/Mei4AS6thpgoiP9F7fqiufl1M+SCnQe4Fu4zX+YySntXYGug9N8h+a5UTFIvFY/UScVU0erF2dqZN9u9Wd7FKFcVrU5EYaUOGpYtW0ZUVBRPPvkktWvXpmfPnnTr1u2udj548GDGjRtHSEgI4eHhrFq1itjYWPr16wfAzJkziY+PZ8aMGQD069ePZcuWERkZydNPP83hw4eJiopi5syZd1UOIcpc1Y7qnxBCCCHEv0Cpg4bw8HDCw8OZNGkSGzduJCoqiunTp2MwGNi1axfVqlXDxcXFop1369aNlJQU5s6dS0JCAlqtloULF+Lv7w9AYmIisbGxpvyBgYEsXLiQyMhIli1bhq+vL5MmTZJ7NAghhBBCCHEPWTQQ+lbnzp1jzZo1/Pjjj6Snp9OmTRvmz59fluW7L/R6PUeOHKFJkybSNFaBSL1UPFInFZPUS8UjdVIxSb1UPFInD467ChqM9Ho927ZtY82aNQ9k0CCEEEIIIYQoXpkEDUIIIYQQQoh/L7lvuxBCCCGEEKJEEjQIIYQQQgghSiRBgxBCCCGEEKJEEjQIIYQQQgghSiRBgxBCCCGEEKJEEjQIIYQQQgghSiRBgxBCCCGEEKJEEjQIIYQQQgghSiRBA7Bs2TIiIiIIDQ2lT58+HDhwoLyLVGns37+fESNG0K5dO4KDg9m8ebPZekVRmD17Nu3atSMsLIyBAwfyzz//lFNpK4cFCxbw5JNPEh4eTuvWrXnppZc4d+6cWR6pl/tv+fLl9OjRg6ZNm9K0aVOeeeYZduzYYVovdVL+FixYQHBwMNOmTTOlSb3cf7NnzyY4ONjsr23btqb1UiflIz4+njfeeIOWLVvSuHFjevbsyfHjx03rpV4qvkofNGzatInIyEhGjhzJ+vXradasGUOHDuXq1avlXbRKISsri+DgYN59990i13/55ZcsWrSId999lzVr1uDt7c3gwYPJyMi4zyWtPPbt28dzzz3H6tWrWbRoEXq9nhdffJGsrCxTHqmX+69atWq88cYbREVFERUVRatWrRg1apTpR1XqpHxFR0ezatUqgoODzdKlXspHvXr12Llzp+lvw4YNpnVSJ/dfWloa/fv3x9bWli+//JKNGzfy1ltv4ebmZsoj9fIAUCq5p556Snn33XfN0rp06aJ8/PHH5VSiykur1Sq//fabadlgMCht27ZVFixYYErLyclRmjVrpqxYsaI8ilgpJScnK1qtVtm3b5+iKFIvFUnz5s2V1atXS52Us4yMDOXxxx9Xdu3apQwYMEB5//33FUWR70p5+fzzz5UnnniiyHVSJ+Xjo48+Uvr371/seqmXB0OlbmnQ6XScOHGCdu3amaW3bduWw4cPl1OphNGVK1dITEw0qx87OzuaN28u9XMfXb9+HQB3d3dA6qUi0Ov1bNy4kaysLMLDw6VOytnUqVN5+OGHadOmjVm61Ev5uXjxIu3atSMiIoLRo0dz+fJlQOqkvGzdupWQkBBeffVVWrduTa9evVi9erVpvdTLg8GmvAtQnlJSUtDr9VSpUsUs3dvbm8TExHIqlTAy1kFR9SPdx+4PRVGIjIykWbNmaLVaQOqlPP3111/069ePnJwcnJyc+OKLL6hbty6HDh0CpE7Kw8aNGzl58iRr1qwptE6+K+UjLCyMDz/8kJo1a5KcnMy8efPo168fP/30k9RJObl8+TIrVqxg8ODBjBgxgujoaN5//33s7Ozo1auX1MsDolIHDUYajcZsWVGUQmmi/BRVP+L+mDp1Kn///TfLly8vtE7q5f6rVasW69evJz09nV9//ZXx48ezdOlS03qpk/srNjaWadOm8c0332Bvb19sPqmX++vhhx82W27SpAmPPfYY69evp3HjxoDUyf2mKAohISGMGTMGgIYNG3LmzBlWrFhBr169TPmkXiq2St09ydPTE2tra5KSkszSk5OT8fb2LqdSCSMfHx8AqZ9y8t///petW7fy3XffUa1aNVO61Ev5sbOzIygoiNDQUMaOHUv9+vVZvHix1Ek5OXHiBMnJyfTp04eGDRvSsGFD9u3bx5IlS2jYsKHpvZd6KV9OTk5otVouXLgg35Vy4uPjQ506dczSateubWpFkHp5MFTqoMHOzo5GjRqxa9cus/Tdu3cTHh5eTqUSRgEBAfj4+JjVj06nY//+/VI/95CiKEydOpVff/2V7777jsDAQLP1Ui8Vh6Io6HQ6qZNy0qpVKzZs2MD69etNfyEhIfTo0YP169cTGBgo9VIB6HQ6zp49i4+Pj3xXyknTpk05f/68WdqFCxfw9/cH5HflQVHpuycNHjyYcePGERISQnh4OKtWrSI2NpZ+/fqVd9EqhczMTC5dumRavnLlCqdOncLd3R0/Pz+ef/55FixYQM2aNQkKCmLBggU4ODjQvXv3ciz1v9uUKVP46aefmDt3Ls7Ozqa+pq6urjg4OKDRaKReysEnn3xChw4dqFatGpmZmWzatIl9+/bx1VdfSZ2UExcXF9NYHyMnJyc8PDxM6VIv99+HH37II488QvXq1bl27Rrz5s0jIyOD3r17y3elnAwaNIj+/fszf/58unbtSnR0NKtXr2bq1KkAUi8PiEofNHTr1o2UlBTmzp1LQkICWq2WhQsXmqJfcW8dP36c559/3rQcGRkJQO/evZk+fTpDhw4lJyeHKVOmkJaWRuPGjfnmm29wcXEpryL/661YsQKAgQMHmqVHRkbSp08fAKmXcpCUlMS4ceNISEjA1dWV4OBgvvrqK9NNq6ROKiapl/svLi6OMWPGkJqaiqenJ02aNGH16tWm33Wpk/svLCyMOXPm8Mknn/DFF18QEBDAxIkTeeKJJ0x5pF4qPo0io0yEEEIIIYQQJajUYxqEEEIIIYQQtydBgxBCCCGEEKJEEjQIIYQQQgghSiRBgxBCCCGEEKJEEjQIIYQQQgghSiRBgxBCCCGEEKJEEjQIIYQQQgghSiRBgxBCCCGEEKJEEjQIIYQocwMHDmTatGnlXYwi7d27l+DgYNLT00vMFxERwbfffnt/CiWEEBWc3BFaCCEqmMTERBYsWMCOHTuIi4vD1dWVoKAgnnjiCXr16oWjo2N5F/G2UlNTsbGxwcXF5Y6eP3DgQPbt2weAra0t/v7+9O7dm6FDh2JtbX1XZdPpdKSlpeHt7Y1Go2Ht2rV88MEHHDhwwCzftWvXcHR0fCDebyGEuNdsyrsAQggh8l2+fJn+/fvj6urK6NGjCQ4OJi8vjwsXLhAVFYWvry+dOnUq72LeloeHx11v4+mnn+bVV18lJyeH7du38/7772NlZcWwYcPuart2dnb4+PjcNp+Xl9dd7UcIIf5NpHuSEEJUIJMnT8ba2pqoqCi6detGnTp1CA4OpnPnzixcuJCIiAhT3uvXr/POO+/QunVrmjZtyvPPP8/p06dN62fPnk3Pnj1Zv349ERERNGvWjNGjR5ORkWHKo9PpeP/992ndujWhoaH079+f6Oho03pjV54//viDXr16ERYWxvPPP09ycjI7duyga9euNG3alDFjxnDjxg3T827tnqTT6ZgxYwYPP/wwISEhPP7443z//fclvhcODg74+PgQEBDAgAEDaN26NVu2bAEgLS2NcePG0bx5cxo3bsyQIUO4cOGC6bkxMTGMGDGC5s2b06RJE/7v//6PHTt2mL2m9PR09u7dy4QJE7h+/TrBwcEEBwcze/ZsoHD3pKtXrzJy5EjCw8Np2rQpr732GklJSRa930II8aCSoEEIISqIlJQUdu3axXPPPYeTk1OReTQaDQCKojBs2DASExNZuHAha9eupVGjRgwaNIjU1FRT/kuXLrFlyxbmz5/PggUL2L9/P19++aVp/YwZM/jll1+YPn0669atIygoiCFDhphtA2DOnDm88847rFy5kri4OF5//XUWL17MzJkzWbhwIbt27WLJkiXFvrZx48axadMm3n77bX7++WemTJmCs7OzRe+Pvb09ubm5ALz11lscP36cefPmsWrVKtP7YVw/depUdDodS5cuZcOGDbzxxhtFvqfh4eFMnDgRFxcXdu7cyc6dO3nhhRcK5VMUhVGjRpGWlsaSJUtYtGgRly9fZvTo0Wb5bvd+CyHEg0q6JwkhRAVx6dIlFEWhVq1aZuktW7ZEp9MB8Oyzz/Lmm2+yZ88e/v77b/7880/s7OwAGD9+PJs3b+aXX37hmWeeAdST3cjISNPYgieeeII///yT0aNHk5WVxcqVK4mMjOThhx8G4L///S+7du1izZo1DBkyxFSG119/nWbNmgHw1FNPMXPmTDZv3kxgYCAAnTt3Zu/evUV2HTp//jw///wzixYtok2bNgCm55WGwWAwndAPGjSICxcusHXrVlasWEHTpk0B+Pjjj+nYsSObN2+ma9euXL16lc6dOxMcHFzi/uzs7HB1dUWj0ZTYZWn37t389ddfbNmyherVqwNqwPV///d/REdHExYWBpT8fgshxINMggYhhKhgjK0JRmvWrMFgMPDGG2+YgocTJ06QlZVFy5YtzfJmZ2dz6dIl07K/v7/ZYGRfX1+Sk5MBNUjJzc01nXiDOug4LCyMs2fPmm3XePINUKVKFRwdHc1OxL29vTl27FiRr+fUqVNYW1vTvHnzUr1+oxUrVrBmzRpT68ETTzzByy+/zO7du7GxsaFx48amvJ6entSqVctU7ueff57Jkyezc+dO2rRpw+OPP079+vUt2n9BZ8+epVq1aqaAAaBu3bq4ublx7tw5U9BQ0vsthBAPMgkahBCigqhRowYajYZz586ZpRtPzh0cHExpBoMBHx+fIrsEubq6mh7b2BQ+zN86ad6tQYqiKIXSCm5Ho9EU2q5Go8FgMBT5ugqW2xI9evRgxIgR2NnZ4evra5o1qbhJ/wqWu2/fvrRr147t27eza9cuFi5cyPjx4xk4cOAdlaWo96SospTm/RZCiAeRjGkQQogKwtPTk7Zt27J06VKysrJKzNuoUSOSkpKwtrYmKCjI7K+0s/7UqFEDW1tbDh48aErLzc3l+PHj1KlT565eS0FarRaDwcD+/fstep6LiwtBQUFUr17dbJrVunXrkpeXx9GjR01pKSkpXLhwwazc1atXp3///syZM4fBgwezevXqIvdja2uLXq8vsSx169YlNjaW2NhYU9qZM2e4fv16mb5XQghRUUnQIIQQFch7772HXq/nySefZNOmTZw9e5Zz587xww8/cO7cOdPJc5s2bWjSpAmjRo3ijz/+4MqVKxw6dIhZs2YV203oVk5OTvTv358ZM2b8f3t36JpMHMdx/GO4JlgOBCfDMLC4ImIYmPwLBgYZSxYNExbOA4UD2RCTY8Xg4f+wtrQ0gwom4WBh7cosemVDWHBhPA8MnufHgyw8g/crH7/j2+4NX36nx8dHPT8/y/M8bbdbVSqVb5spnU7r9PRUnU5HDw8PCsNQ8/lc9/f3e52XyWRULpfleZ4Wi4Wenp7UarWUTCZ/X0fb6/U0mUwUhqGCINBsNvvrx/3BwYHe3t40nU61Xq+/3AL1y8nJibLZrBzHURAEWi6Xcl1XxWJRx8fHe80BAD8J60kA8B85PDzU3d2dRqORBoOBVquVLMvS0dGRarWazs7OJH2uA/m+r9vbW3U6HW02G9m2rUKhINu2//l9juNot9vJdV29vr4ql8tpPB4rkUh861zdblc3NzfqdruKokipVEr1en3v8/r9vnq9nhqNht7f31UoFOT7vizLkvS5vnV1daWXlxfF43GVSiW12+0/npXP51WtVnV5eakoinRxcaFms/nlmVgspuFwqOvra52fnysWi6lUKsnzvL1nAICfhD9CAwAAADBiPQkAAACAEdEAAAAAwIhoAAAAAGBENAAAAAAwIhoAAAAAGBENAAAAAIyIBgAAAABGRAMAAAAAI6IBAAAAgBHRAAAAAMCIaAAAAABgRDQAAAAAMPoAEs5FyNxFfzYAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8, 3))\n", "ax = plt.subplot(211)\n", "plt.title(\"tangermeme attributions (high deltas)\")\n", "plot_logo(X_attr_t1[0], ax=ax, start=1030, end=1100)\n", "plt.ylim(-0.01, 0.11)\n", "plt.ylabel(\"Attribution\")\n", "\n", "ax = plt.subplot(212)\n", "plt.title(\"tangermeme attributions (low deltas)\")\n", "plot_logo(X_attr_t2[0], ax=ax, start=1030, end=1100)\n", "plt.ylim(-0.01, 0.11)\n", "plt.xlabel(\"Genomic Position\")\n", "plt.ylabel(\"Attribution\")\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "0f05b3e9-972f-41ef-bb35-1f1156f96acb", "metadata": {}, "source": [ "At first, this may look like it is not that big a difference. When the deltas are low basically the same motif is highlighted as when the deltas are high. However, the attribution values themselves are much lower. This is because, when the deltas are high, the attributions can highlight motifs with a weight that is not representative of the actual prediction from the model. That is definitionally what is happening -- because the attributions must sum to the difference in predictions, having high deltas mean that the attributions are either incorrectly high or low. It does *not* mean that the attributions will be entirely noise or garbage-looking. This is a big misconception that can lead you to think that your attributions are accurate because you're seeing motif-looking things being highlighted.\n", "\n", "As an example of this, let's consider a weaker version of the GATA motif that is just the `GATAA` nucleotides without the flanking sequence. " ] }, { "cell_type": "code", "execution_count": 19, "id": "59340b34-1049-441d-bb91-88ad7da4aded", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/users/jmschr/github/tangermeme/tangermeme/deep_lift_shap.py:436: RuntimeWarning: Convergence deltas too high: tensor([0.8181, 0.8875, 0.7360, 0.8311, 0.6618, 0.6119, 0.7428, 0.7098, 0.6563,\n", " 0.8499, 0.6622, 1.0616, 0.7825, 0.6159, 0.6683, 0.6716, 0.6975, 0.7672,\n", " 0.6076, 0.7170], grad_fn=)\n", " warnings.warn(\"Convergence deltas too high: \" +\n" ] }, { "data": { "image/png": "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jiMrrK2tqVu3LpcuXcLDwyPDGHJq56VZs2YoikJISEiG23nRSagajcbgqC2oM149OxwktS2f7W160bKXsX37doP7p06d4t69ewZJqqurq8HMVQA3btxIN6zGmNjq1asHqMlWWufOnePatWv65S+rcOHCtG7dmp49exIVFWVw0btnpQ6Fu3379gvXW79+feLi4ti9e7dB+bZt2/TL09bVaDR88803aDQaateurS8/evQoBw8epHbt2uneE8+qW7cusbGx7Nmzx6D8119/Nbif3c9jZu2X0XeMoihs3Lgx03VpNBoqVarExIkTKVy4MBcvXjRYnjrzWOprL4R4edJjIYQwmlarBWDVqlV07twZMzMzypYti4+PD/b29nzxxReMGDECMzMztm/fnm5H0BidO3dm1apVjBs3jg8//BB3d3f++usvAgMDATAxeXp8ZMqUKQwaNIj33nuPzp07U7x4caKjo7l27RoXL17k22+/zd4Tz4JJkybRs2dPevXqRY8ePXB1dSU2Npbbt2+zd+/edDNjvayaNWvSrVs3Jk6cyIULF6hduzbW1taEhYVx8uRJtFptpr0moCYmqbM/eXh4cPHiRVauXJnuiH3p0qWxsrJi+/btlC9fHhsbG5ydnSlevLj+fbB8+XKaNGmCiYkJHh4eL+wtycyFCxeYNGkSrVu3Jjg4mHnz5lG8eHGD59GxY0c+/vhjJk+eTKtWrbh37x4rVqxIl7A9L+5nlStXjm7durF27VpMTExo0qSJflaokiVL8r///c/o5zJ06FAqVqyIp6cnRYsW5d69e6xatQpXV1fc3d0zfVyJEiVwc3Pj7NmzL9xGp06d8Pf3Z/z48dy7dw+tVsvJkydZunQpTZs2NRjWVKxYMSpWrEhgYCB169bV95g0aNCAqKgooqKimDBhQpa2+eOPPzJ+/HhGjRqFu7s7+/fv138e08rO5zGz91aDBg0wNzdn9OjRDBw4kMTERAICAtJdrHPfvn2sW7eON998Ezc3NxRF4ffff+fhw4c0bNjQoO7Zs2cxNTXVJ1tCiJcniYUQwmh169ZlyJAhbN26lZ9++omUlBRWr15N3bp1Wbp0KbNmzeLjjz/G2tpaP6/+syfGZpWNjQ2rVq1ixowZfPXVV2g0Gho1asQXX3zB4MGDsbOz09etV68eP/30E0uWLGHGjBk8fPgQBwcHypcv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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X2 = random_one_hot((1, 4, 2114), random_state=0).type(torch.float32)\n", "X2 = substitute(X2, \"GATAA\")\n", "X2_ref = dinucleotide_shuffle(X2, n=20, random_state=0)\n", "\n", "X2_attr_t1 = deep_lift_shap(wrapper_profile, X2, references=X2_ref, device='cpu')\n", "X2_attr_t2 = deep_lift_shap(wrapper_profile, X2, additional_nonlinear_ops={_ProfileLogitScaling: _nonlinear}, \n", " references=X2_ref, device='cpu')\n", "\n", "plt.figure(figsize=(8, 3))\n", "ax = plt.subplot(211)\n", "plt.title(\"tangermeme attributions (high deltas)\")\n", "plot_logo(X2_attr_t1[0], ax=ax, start=1030, end=1100)\n", "plt.ylim(-0.005, 0.025)\n", "plt.ylabel(\"Attribution\")\n", "\n", "ax = plt.subplot(212)\n", "plt.title(\"tangermeme attributions (low deltas)\")\n", "plot_logo(X2_attr_t2[0], ax=ax, start=1030, end=1100)\n", "plt.ylim(-0.005, 0.025)\n", "plt.xlabel(\"Genomic Position\")\n", "plt.ylabel(\"Attribution\")\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "6fccfcf9-8b9a-4d07-9b21-9c192c9da7fc", "metadata": {}, "source": [ "When the convergence deltas are high, we can see that the motif still seems to be highlighted (albeit as a smaller magnitude than the previous example). However, when we correct the deltas, the motif no longer appears at all. Again, the deltas suggest this is because the sum of the attribution values is higher than the difference in predicted values. We can check the predicted profiles to see whether there's a real pattern or only sort of a pattern in comparison to what it used to be." ] }, { "cell_type": "code", "execution_count": 20, "id": "0ded018c-90b1-454b-810c-fdc415a08f3f", "metadata": {}, "outputs": [ { "data": { "image/png": "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xvr16zFhwgQ899xz6NKlC4KDg3H16lXs27cPAwYMwP3334/27dvjsccew5IlSxAUFITevXvjzJkz+P77791+KAH76iUTJ07EiBEjMGbMGLRo0QLp6en4559/MGPGDABAREQEAGDJkiV44oknEBQUhLZt26JVq1Z47bXXMHv2bKSmpqJfv35o0KABsrKykJycjNq1a+O1116DyWTC66+/jo8++givvPIKRowYgYKCAsydO9dvBoA333wT48aNw+jRozFu3DgEBwfjp59+wpkzZ5wu6t7So0cPPPXUU/jwww9x9OhR3HHHHahduzYyMzNx8OBBRERE4JlnnsH27dvx008/YeDAgWjdujU4jsMff/yBgoIC9OnTR7WNnj17Ij4+HhcuXHAqdqdPn8aRI0fw9NNP46677pIc0717dyxevBhxcXF49tln0aBBA8ybNw8vv/wyhgwZgqeffhpdu3ZF3bp1kZeXh/379yMzM9OZf0Jv/Wrk5uZi27ZtuPvuuzFw4EDZMkuWLMHatWvx5ptv4sKFCz49Nz5JSUno2bOnIc8CQRAEcX1A+paxVGd9C7B7RM2YMQNvvfUWHnvsMYwcORKdO3dGSEgIsrOznaspOp6JHTt2ICMjA2+//basd/itt96KH3/8EXFxcW6NUnr1MU/bPnz4MBo1aoQOHTqoykMQ/oaMUgThZ8xmMxYsWIClS5di3bp1iI2NhdlsRvPmzXHHHXc4FRcAmDZtGsLDw7FmzRosW7YMt912G77++mu8+eabbtvp27cvfvzxR8ybNw9Tp05FeXk5mjdvjv79+zvL3HnnnXjppZewZs0a/PLLL7DZbFi6dKlze/v27bF06VJs3LgRFRUVaNq0KSIjI/H0008763DkCPruu+/w6quvomXLlnjppZewf/9+Z0JKX9KzZ0/88MMP+Prrr/HBBx/AZrOhY8eOWLBggaaZKa1MmTIFXbt2xapVq7BixQrYbDY0a9YM3bt3R5cuXQDYE282aNAA3333HTIyMhAcHIy2bdti+vTpbpcFHjhwIOrUqYNt27bhxRdfBOBKeDly5EjZY4KDg/HEE08gNjYWx44dQ+fOnREdHY0NGzZg6dKl2Lp1KxYvXgyLxYLGjRujc+fO+PTTT/HII494XL8Sv/76KyoqKvDUU08plhkxYgT+85//YPv27Thw4IBPz81BSkoKTp8+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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(12, 3))\n", "plt.subplot(121)\n", "y_ = model(X)[0]\n", "y_ = torch.nn.functional.softmax(y_, dim=-1).numpy(force=True)\n", "plt.title(\"Predicted Profiles (AGATAAG)\")\n", "plt.plot(y_[0].T)\n", "plt.xlabel(\"Genome Position\")\n", "plt.ylabel(\"Predicted Probability\")\n", "plt.ylim(0, 0.0065)\n", "plt.xlim(0, 1000)\n", "\n", "plt.subplot(122)\n", "y_ = model(X2)[0]\n", "y_ = torch.nn.functional.softmax(y_, dim=-1).numpy(force=True)\n", "plt.title(\"Predicted Profiles (GATAA)\")\n", "plt.plot(y_[0].T)\n", "plt.xlabel(\"Genome Position\")\n", "plt.ylabel(\"Predicted Probability\")\n", "plt.ylim(0, 0.0065)\n", "plt.xlim(0, 1000)\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "766e5660-8ac7-4332-85ea-be0f89d25fc8", "metadata": {}, "source": [ "It looks like there is a clear predicted pattern on the left hand side with peaks on either side of the central position, as one might expect. On the right hand side there isn't much to speak of. There might be a small bump on either side there but it is difficult to tell, and if you only looked at the uncorrected attributions you might think that there is stronger binding than there actually is. This is why having correct attribution values is especially important when it comes to weak motifs." ] }, { "cell_type": "markdown", "id": "c13cde9c-fd36-41a8-b661-ebb9d1dad55e", "metadata": {}, "source": [ "##### Captum will fail silently\n", "\n", "At this point, I hope the importance of making sure your convergence deltas are near zero has been made clear. But this raises the question of what happens when you try to use Captum. Does it raise a warning when the convergence deltas are too high, as they were when we tried using the profile wrapper without registering its non-linear component?" ] }, { "cell_type": "code", "execution_count": 21, "id": "a38a7284-ce24-4f7c-8b3a-9aedfb138b41", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/users/jmschr/anaconda3/lib/python3.11/site-packages/captum/attr/_core/deep_lift.py:336: UserWarning: Setting forward, backward hooks and attributes on non-linear\n", " activations. The hooks and attributes will be removed\n", " after the attribution is finished\n", " warnings.warn(\n" ] } ], "source": [ "X_attr_c1 = DeepLiftShap(wrapper_profile).attribute(X, X_ref[0], custom_attribution_func=hypothetical_attributions).detach() * X" ] }, { "cell_type": "markdown", "id": "c32ec3fa-921f-4e67-94a1-4feb53d74f5f", "metadata": {}, "source": [ "No. No indication that anything might be wrong. But we can confirm that we get the same attributions as tangermeme when tangermeme reports the high convergence deltas by visually inspecting the logo plots." ] }, { "cell_type": "code", "execution_count": 22, "id": "f3bafa2d-680d-480a-a87c-11a0b8b6a620", "metadata": {}, "outputs": [ { "data": { "image/png": "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mGZJCgoK4vjx43zyyScFrrTXrVsXJycnvv32Wxo1aoSLiwvVq1enRo0a5s/BRx99RLdu3bCxsbmpYOnYsWPMmDGDPn36cPXqVd59911q1Khh8Truu+8+nn/+eWbOnEnv3r25cuUKH3/8cYGrwMWVO7+GDRvy4IMP8sUXX2BjY0O3bt3MsyfVqlWL//u//7P6tYwfP54mTZoQHByMj48PV65c4fPPP8ff398iKMuvZs2aBAQE8Ndff1m9z6LY2Njw5JNP8vLLL/PUU08xePBgkpOTzbOflWWL24QJE9i+fTujRo1i4sSJODk5sXLlSjIyMizy1alTh6eeeor33nuPS5cu0a1bNzw8PIiNjeXo0aM4Ozvz1FNPFbmfwMBANm/ezJYtW6hTpw6Ojo4EBQXRo0cPfvrpJ/Pn4+rVqyxcuJDq1atz/vx58/Pff/99rl69SseOHalZsybJycksX74ce3t7i1ZSUFPINmvWzKrxOUIIRYIGIaq49u3bM27cODZu3MhXX32F0Whk+fLltG/fniVLlvDGG2/w/PPP4+zsTM+ePXn33XcLDDItKRcXFz7//HNef/113nrrLXQ6HV26dOGVV15h7NixFtM/dujQga+++orFixfz+uuvk5ycjJeXF40aNSowCLS8NG7cmA0bNrBw4ULee+894uPjcXd3p169ehYtJWXh1VdfpWXLlqxZs4ZVq1ZhNBqpXr06rVu3LjBQN78ZM2ZgZ2fH0qVLSU9Pp3nz5syfP5/333/fIp+zszOvv/46CxYs4NFHHyU7O5snnniCJ598knvuuYeDBw/y5Zdf8uGHH6JpGtu2bSt1F6w5c+bw9ddf8+yzz6LX62nfvj0zZsyw6F/fv39/rl27xurVq9mwYQNNmjRh5syZfPjhhyUud2FmzpxJQEAA69at48svv8TNzY2uXbsyefLkUnVLad++PT/++CNfffUVqamp+Pn50alTJx5//PECLTz59e/fn5UrV6LX68usterBBx9Ep9Px8ccfM3HiRPz9/c1TqEZFRZXJPkCdzC9btow33niDF154AU9PT+6991569+7NSy+9ZJF33LhxNGrUiOXLl7N582b0er15EoJhw4YVu58nn3ySmJgYXnzxRdLS0vD392f79u0MHjyYuLg4Vq9ezfr16wkICGDs2LFcvXrV4u7lLVu25NixY7z99tvEx8fj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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8, 3))\n", "ax = plt.subplot(211)\n", "plt.title(\"tangermeme attributions (high deltas)\")\n", "plot_logo(X_attr_t1[0], ax=ax, start=1030, end=1100)\n", "plt.ylim(-0.01, 0.11)\n", "plt.ylabel(\"Attribution\")\n", "\n", "ax = plt.subplot(212)\n", "plt.title(\"Captum attributions\")\n", "plot_logo(X_attr_c1[0], ax=ax, start=1030, end=1100)\n", "plt.ylim(-0.01, 0.11)\n", "plt.xlabel(\"Genomic Position\")\n", "plt.ylabel(\"Attribution\")\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "62172300-b098-48c6-bae9-e631f8b996d3", "metadata": {}, "source": [ "We can use our previously described strategy for calculating the convergence deltas from Captum and compare them to the tangermeme convergence deltas when we register the `_ProfileLogitScaling` layer. " ] }, { "cell_type": "code", "execution_count": 23, "id": "28e85344-049e-4121-8083-73e10c8622b5", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/users/jmschr/anaconda3/lib/python3.11/site-packages/captum/attr/_core/deep_lift.py:336: UserWarning: Setting forward, backward hooks and attributes on non-linear\n", " activations. The hooks and attributes will be removed\n", " after the attribution is finished\n", " warnings.warn(\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X_attr_t = deep_lift_shap(wrapper_profile, X, references=X_ref2, device='cpu', \n", " additional_nonlinear_ops={_ProfileLogitScaling: _nonlinear}, hypothetical=True, raw_outputs=True)\n", "X_attr_c = DeepLiftShap(wrapper_profile, multiply_by_inputs=False).attribute(X, X_ref2[0]).detach()\n", "\n", "y_profile = wrapper_profile(X)\n", "y_profile_ref2 = wrapper_profile(X_ref2[0])\n", "output_diff = (y_profile - y_profile_ref2)[:, 0]\n", "\n", "convergence_t = abs(output_diff - torch.sum(input_diff * X_attr_t[0], dim=(1, 2))).numpy(force=True)\n", "convergence_c = abs(output_diff - torch.sum(input_diff * X_attr_c, dim=(1, 2))).numpy(force=True)\n", "\n", "plt.figure(figsize=(5, 3))\n", "plt.scatter(convergence_c, convergence_t, s=10)\n", "plt.plot([0, 0.35], [0, 0.35], c='0.7')\n", "plt.xlabel(\"Captum Convergence\")\n", "plt.ylabel(\"tangermeme Convergence\")\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "b0176333-393e-481d-8fc9-574a7e5aafcc", "metadata": {}, "source": [ "Looks like tangermeme's convergence deltas are near zero, as you might expect after registering the non-linear component, but Captum's have silently produced attributions with large convergence deltas.\n", "\n", "So... how do we register the non-linear component with Captum? Unfortunately, there isn't a way to pass in new layers directly into the `DeepLiftShap` object when calculating attributions. The only way I found to register new layers is to modify the dictionary that is defined in the `deep_lift.py` file several layers deep into Captum. You just need to set the layer to be Captum's version of the `_nonlinear` function." ] }, { "cell_type": "code", "execution_count": 24, "id": "7e193bb3-1ec1-493a-97f5-0eecde804085", "metadata": {}, "outputs": [], "source": [ "import captum\n", "from captum.attr._core.deep_lift import nonlinear as captum_nonlinear\n", "\n", "captum.attr._core.deep_lift.SUPPORTED_NON_LINEAR[_ProfileLogitScaling] = captum_nonlinear" ] }, { "cell_type": "markdown", "id": "98c2d5f2-a526-4c80-a9a9-179fb829c19c", "metadata": {}, "source": [ "Once you've done this you can check to see whether the convergence deltas are smaller." ] }, { "cell_type": "code", "execution_count": 25, "id": "cd46192b-5cbb-4c42-b429-4e3007d3dbfd", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X_attr_t = deep_lift_shap(wrapper_profile, X, references=X_ref2, device='cpu', \n", " additional_nonlinear_ops={_ProfileLogitScaling: _nonlinear}, hypothetical=True, raw_outputs=True)\n", "X_attr_c = DeepLiftShap(wrapper_profile, multiply_by_inputs=False).attribute(X, X_ref2[0]).detach()\n", "\n", "convergence_t = abs(output_diff - torch.sum(input_diff * X_attr_t[0], dim=(1, 2))).numpy(force=True)\n", "convergence_c = abs(output_diff - torch.sum(input_diff * X_attr_c, dim=(1, 2))).numpy(force=True)\n", "\n", "plt.figure(figsize=(5, 3))\n", "plt.scatter(convergence_c, convergence_t, s=10)\n", "plt.plot([0, 0.35], [0, 0.35], c='0.7')\n", "plt.xlabel(\"Captum Convergence\")\n", "plt.ylabel(\"tangermeme Convergence\")\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "53335318-12a2-4dd0-ba5e-f097c3e33172", "metadata": {}, "source": [ "Looks like after registering the layer, both are returning convergence deltas that are near zero. We can again inspect the logoplot to make sure that they're producing similar results." ] }, { "cell_type": "code", "execution_count": 26, "id": "d3c96eef-c5ff-4a99-a6aa-53033a2fb525", "metadata": {}, "outputs": [ { "data": { "image/png": "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V66kS5cu1KxZk6CgIDp16sS8efMICwszr5uUlMS7775Ly5YtadSoEf369ePEiRPm5TNmzKBr166sWbOGsLAwGjduzIgRI0hOTjavk5mZyeTJk2nZsiUhISH07t2biIgI83JTU55t27bRrVs36tevT79+/YiNjeXPP/+kc+fONGrUiJEjR5KWlmZ+3a3NkzIzM/n4449p3749wcHBPPbYY/zwww8FfhbOzs74+fkREBBAnz59aNmyJRs3bgQgISGBMWPG0LRpUxo0aMDLL7/M+fPnza+9cuUKQ4YMoWnTpjRs2JD//Oc//PnnnxbvKTExkb/++otx48aRlJREUFAQQUFBzJgxA8jbPOnq1asMHTqU0NBQGjVqxOuvv87169et+ryFEOJ+JUGDEEKUEHFxcezYsYMXXngBV1fXfNfR6XQAaJrGoEGDiImJYd68eaxatYp69erRv39/4uPjzetfvHiRjRs3MmfOHObOncvevXuZP3++efnHH3/Mb7/9xtSpU1m9ejVVq1bl5ZdfttgGwMyZM3n33XdZunQp165d44033uC7775j2rRpzJs3jx07drBw4cLbvrcxY8awfv163nnnHX755RcmTpxImTJlrPp8nJycyMrKAmDs2LEcOXKE2bNns2zZMvPnYVo+adIkMjMzWbRoEWvXrmX06NH5fqahoaG8/fbbuLm5sX37drZv386LL76YZz1N0xg2bBgJCQksXLiQr7/+mkuXLjFixAiL9f7t8xZCiPuVNE8SQogS4uLFi2iaRvXq1S3SmzdvTmZmJgDPP/88b775Jrt37+aff/5h165dODo6AvDWW2+xYcMGfvvtN5577jlAXeyGh4eb+xY89dRT7Nq1ixEjRpCamsrSpUsJDw+nffv2AHzwwQfs2LGDFStW8PLLL5vz8MYbb9C4cWMAnnnmGaZNm8aGDRuoXLkyAJ06deKvv/7Kt+nQuXPn+OWXX/j6669p1aoVgPl1hWE0Gs0X9P379+f8+fNs2rSJJUuW0KhRIwD++9//0qFDBzZs2EDnzp25evUqnTp1IigoqMD9OTo64u7ujk6nK7DJ0s6dOzl58iQbN26kYsWKgAq4/vOf/xAREUH9+vWBgj9vIYS4n0nQIIQQJYypNsFkxYoVGI1GRo8ebQ4ejh49SmpqKs2bN7dYNz09nYsXL5rn/f39LTojlytXjtjYWEAFKVlZWeYLb1CdjuvXr8+ZM2cstmu6+AYoW7YsLi4uFhfivr6+HD58ON/3c/z4cfR6PU2bNi3U+zdZsmQJK1asMNcePPXUUwwfPpydO3dib29PgwYNzOt6e3tTvXp1c7779evHhAkT2L59O61ateKxxx6jdu3aVu0/tzNnzlChQgVzwABQq1YtPDw8OHv2rDloKOjzFkKI+5kEDUIIUUJUqVIFnU7H2bNnLdJNF+fOzs7mNKPRiJ+fX75Ngtzd3c3T9vZ5D/O3Dpp3a5CiaVqetNzb0el0ebar0+kwGo35vq/c+bbGk08+yZAhQ3B0dKRcuXLmUZNuN+hf7nz37NmTNm3asGXLFnbs2MG8efN466236Nu37x3lJb/PJL+8FObzFkKI+5H0aRBCiBLC29ub1q1bs2jRIlJTUwtct169ely/fh29Xk/VqlUt/go76k+VKlVwcHBg//795rSsrCyOHDlCzZo17+q95BYYGIjRaGTv3r1Wvc7NzY2qVatSsWJFi2FWa9WqRXZ2Nn///bc5LS4ujvPnz1vku2LFivTu3ZuZM2cyYMAAli9fnu9+HBwcMBgMBealVq1aREZGEhkZaU47ffo0SUlJRfpZCSFESSVBgxBClCDvv/8+BoOBHj16sH79es6cOcPZs2f58ccfOXv2rPniuVWrVjRs2JBhw4axbds2Ll++zIEDB/j0009v20zoVq6urvTu3ZuPP/6YrVu3cvr0ad59913S09N55plniuw9BQQE0L17d95++202bNjApUuX+Ouvv1i/fv0dba9atWp07NiRd999l3379nHixAnefPNNypcvbx6OdsqUKWzbto1Lly5x9OhRdu/efduLe39/f1JTU9m1axc3btywGAXKpFWrVgQFBTF69GiOHj1KREQEY8aMoVmzZoSEhNzR+xBCiPuJNE8SQogSpEqVKqxevZq5c+cybdo0oqKicHBwoFatWrz44os8//zzgGoONG/ePD777DPefvtt4uLi8PX1pUmTJvj6+hZ6f6NHj0bTNMaMGUNKSgrBwcEsWLAAT0/PIn1fEyZMYPr06UyYMIH4+HgqVarE4MGD73h74eHhTJkyhSFDhpCVlUWTJk2YN28eDg4OgGq+NWnSJK5du4abmxtt27Zl3Lhx+W6rUaNG9OrVizfeeIP4+HiGDx/Oq6++arGOTqfjyy+/5IMPPqBPnz7odDratm3Lu+++e8fvQQgh7ifyRGghhBBCCCFEgaR5khBCCCGEEKJAEjQIIYQQQgghCiRBgxBCCCGEEKJAEjQIIYQQQgghCiRBgxBCCCGEEKJAEjQIIYQQQgghCiRBgxBCCCGEEKJAEjQIIYQQQgghCiRBgxBCCCGEEKJAEjQIIYQQQgghCiRBgxBCCCGEEKJAEjQIIYQQQgghCvT/7gqldMUEe0cAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8, 3))\n", "ax = plt.subplot(211)\n", "plt.title(\"tangermeme attributions\")\n", "plot_logo(X_attr_t[0, 0] * X[0], ax=ax, start=1030, end=1100)\n", "plt.ylim(-0.01, 0.11)\n", "plt.ylabel(\"Attribution\")\n", "\n", "ax = plt.subplot(212)\n", "plt.title(\"Captum attributions\")\n", "plot_logo(X_attr_c[0] * X[0], ax=ax, start=1030, end=1100)\n", "plt.ylim(-0.01, 0.11)\n", "plt.ylabel(\"Attribution\")\n", "plt.xlabel(\"Genomic Position\")\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "88f2819b-d4ed-43e5-bc08-cfe2951771e7", "metadata": {}, "source": [ "##### CUDA causes lower precision\n", "\n", "Another aspect of this story is that you can get convergence deltas that are several orders of magnitude higher when using a CUDA device as when using a CPU device." ] }, { "cell_type": "code", "execution_count": 27, "id": "7cf3f3c4-c80d-4e9c-9666-e628eb30e1ab", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Convergence Deltas (CPU)\n", "tensor([0.0000e+00, 8.9407e-08, 1.6391e-07, 1.4901e-07, 5.9605e-08, 8.9407e-08,\n", " 2.9802e-08, 2.9802e-08, 7.4506e-08, 5.9605e-08, 8.9407e-08, 5.9605e-08,\n", " 1.4901e-08, 2.2352e-08, 0.0000e+00, 5.9605e-08, 5.9605e-08, 1.7881e-07,\n", " 1.0431e-07, 5.9605e-08], grad_fn=)\n", "\n", "Convergence Deltas (CUDA)\n", "tensor([2.2054e-05, 3.0011e-05, 5.1275e-05, 6.6496e-05, 6.9350e-05, 1.4126e-05,\n", " 9.4861e-05, 1.5795e-05, 1.6034e-05, 3.7551e-05, 7.5161e-05, 8.5086e-06,\n", " 3.3528e-05, 3.3677e-05, 2.4796e-05, 4.6194e-06, 9.1791e-06, 2.5809e-05,\n", " 1.0885e-05, 5.2959e-05], device='cuda:0', grad_fn=)\n" ] } ], "source": [ "print(\"Convergence Deltas (CPU)\")\n", "X_attr_cpu = deep_lift_shap(wrapper_counts, X, references=X_ref, device='cpu', print_convergence_deltas=True)\n", "\n", "print(\"\\nConvergence Deltas (CUDA)\")\n", "X_attr_cuda = deep_lift_shap(wrapper_counts, X, references=X_ref, device='cuda', print_convergence_deltas=True)" ] }, { "cell_type": "markdown", "id": "c2373f5d-2f0a-457b-8be8-4f4c001f6e55", "metadata": {}, "source": [ "This doesn't seem to yield attributions that are systematically different from each other." ] }, { "cell_type": "code", "execution_count": 28, "id": "ff176f12-24de-4d45-bd6a-46307779795a", "metadata": {}, "outputs": [ { "data": { "image/png": "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pmEmRKdzeTg7QEYpLN5fX6QBenu3tXJCYQtaXKi///57JkyYQE1NTZNlNTU1TJgwQY66hRCiherq6khJSSEnJweAIpUHCZlwQVdfpGfd6itH0wIw4tT36tWr+ctf/kLr1q2bLGvdujXTp08nMTGRESNGmDSgEEJcb86fP09KSgqVlZU4ODgwcOBAunbtSohaQ27xeXp7t5UiLQxafER95MgRBg0adNnlkZGRHD582CShhBDielVUVERycjKVlZW4uroydOhQwzTIoT06EBPWTYq0aKTFR9Tl5eVotdrLLtdqtZSXl5sklBBCXG8UReH48eNkZmaiKAoeHh5ERETg6upq7WjCxrX4iLpr164cOHDgssszMjK46aabTBJKCCGuJzqdjv3793Pw4EEURaFbt24MGTJEirRokRYX6ttvv513333X8PSWixUVFfHPf/6z0VOphBBC1A+23bVrF/n5+QAMGDCAgQMH4ujoaOVkwl60+NT39OnT+eGHH7j99tsZN24cvXv3RqVSkZOTw9dff02XLl2YPn26ObMKIYRdKSsrIyUlhQsXLuDk5ERYWBg+Pj7WjiXsTIsLtZubG6tXr2bx4sVs3bqVsrIyANzd3Rk3bhzPPPMMbm5uZgsqhBD2pKCggH379qHT6Wjbti2RkZHyO1JcFaMeytGuXTteeeUVXn75ZTQaDYqi4OnpKVPcCSHE/yiKwpEjRwyP/e3YsSOhoaG4uLhYOZmwV1f19CyVSoWnp6epswghhF3TarWkp6dz+vRpAHx9fenXr588+UpckxZ9eh599FH27t37h/0qKytJSEggMTHxmoMJIYQ9qaqqYvv27Zw+fdowicmAAQOkSItr1qIj6jFjxvD000/Ttm1bRowYQVBQED4+PrRq1Yry8nKys7PZs2cPv/zyC7fddhvz5s0zd24hhLAZJSUl7Nmzh9raWlq1akV4eLicdRQm06JCHRsby9133822bdvYsmULX3zxhWFyE5VKRZ8+fYiOjmb9+vX4+vqaNbAQQtiSEydOcODAARRFwd3dnYiIiGanWhbiarX4GrWLiwt33XUXd911FwAVFRVcuHABDw8PnJ2dzRZQCCFskV6v5+DBg5w4cQKAm266Se6PFmZxVYPJoH4EeLt27UyZRQgh7EJtbS179uyhpKQEgICAAPr06SN3wAizuOpCLYQQN6Ly8nJS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4eBw5avQUqiFEEIIGyaDyYQQQggbJoVaCCGEsGFSqIUQQggbJoVaCCGEsGFSqIUQQggbJoVaCCGEsGFSqIUQQggbJoXagsrKypg7dy7h4eGEh4czd+5cysvLr7iOoigsXbqU6OhogoODefDBBzl69GijPmvXruXBBx8kLCyMgICAP9zmH0lMTGTEiBGo1WpiYmJITU29Yv/du3cTExODWq1m5MiRrF69ukmfbdu2MXbsWIKCghg7dizff//9NWU0d+ajR4/yxBNPMGLECAICAvjXv/5l0rzmyLxu3Truv/9+IiMjiYyM5JFHHmH//v02nfm7774jJiaGiIgIQkJCuPvuu9m0aZNJM5sj98U2b95MQEAAjz32mE1n3rBhAwEBAU3+1NTU2GxmgPLycl599VWio6NRq9X8+c9/5ueff7bZzA8++GCz7/OMGTOuPqQiLObRRx9V7rzzTmXv3r3K3r17lTvvvFP561//esV1VqxYoYSGhirbtm1TDh8+rDz99NNKVFSUUlFRYeizatUqZcWKFcqKFSsUf39/pays7Kozbt68WQkMDFTWrVunZGdnK6+//roSEhKinDp1qtn+eXl5ysCBA5XXX39dyc7OVtatW6cEBgYq3377raHP3r17lf79+yvLly9XsrOzleXLlysDBgxQ0tPTrzqnuTPv27dPWbhwofLNN98oUVFRyqpVq0yS1ZyZn3nmGeWzzz5TMjMzlezsbOX5559XwsPDldOnT9ts5l27dinfffedkp2drZw4cUL517/+pfTv31/55ZdfTJLZXLkbnDx5Uhk2bJhy//33K7NmzbLpzOvXr1fCwsKUs2fPNvpjy5lramqUmJgYZfr06Upqaqpy8uRJJSUlRcnKyrLZzBqNptH7e+TIEaV///7K+vXrrzqnFGoLyc7OVvz9/RsVp7S0NMXf31/Jyclpdh29Xq9ERUUpK1asMLTV1NQo4eHhyurVq5v037Vr1zUX6nvvvVd56aWXGrWNGTNGeeutt5rt/49//EMZM2ZMo7b/+7//UyZOnGj4+amnnlIeffTRRn2mTZumzJ49+6pzmjvzxYYPH27yQm3uzIqiKFqtVgkNDVU2btx4zXkVxTKZFUVR7rnnHuWdd965pqwXM1durVarTJ48WVm3bp3y3HPPmbRQmyPz+vXrlfDwcJNlvJQ5Mn/++efKyJEjldra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THbu3GntaNe9Bx98kICAAAICAggKCmLYsGHMnDmT7777ziTbXrBggQlSXlltbS1Llixp8iWhsrKSd955hzFjxqBWq4mKiuKRRx7hu+++MzwS8dL9Hz16NMuXL0en0wGwYcMGIiIimn3diIgINmzYANQ/C/nuu+9myZIlZtxTYW3ymEtxQzp58iT33Xcf7du3Z+7cuQQEBKDVaklOTubVV1/l22+/tXbEK6qrq7PIk77MaeLEiTz55JNotVrOnDnD999/zzPPPMP48eOZP3++teP9oW3bttGmTZtGBbW8vJz777+fiooKnn76adRqNY6OjqSkpLBo0SIGDx5M+/btgd/3v6amhv/+97+8/vrrODg4MGPGDKNyxMTEEBsby7x583B3dzfpPgrbIEfU4ob06quvolKp+OKLLxgzZgy9e/emb9++TJ06lXXr1hn6FRQUMGvWLEJDQwkLC+Opp55q9PzapUuXcvfddxsedRgeHs7s2bOprKwEYM2aNQwbNqzRY/oAZs6cyXPPPWf4+ccffyQmJga1Ws3IkSN577330Gq1huUBAQGsXr2aWbNmERISwgcffADAsmXLGDJkCKGhocTFxfHWW29x9913N3qt9evX8+c//xm1Ws2YMWNITEw0LDt58iQBAQF89913PPjggwwcOJBx48aRlpbWaBt79uzhgQceYODAgURGRvLoo49SVlYG1D8u8cMPP2TkyJEEBwczbty4Fn3RcXV1pWPHjnTp0oWQkBDmzp3Lq6++yrp16xo9SvDMmTM8/fTTREZGcvPNNzNr1ixOnjzZ7Daff/55du/ezaeffmo4Yj158iQ6nY4XXniBESNGEBwczOjRo/nkk08arfvbb79x7733EhISQkREBJMnT+bUqVOXzb9582ZGjBjRqO3tt9/m1KlTrFu3jvHjx9OnTx969+7NxIkT2bRpE23atGmy/926deOBBx5gyJAh/PDDD3/4vl0qICAAb29vvv/+e6PXFfZBCrW44Zw7d45ff/2VKVOmNPrF2aDhiEdRFP72t79RVlbGv//9b1atWkV+fj6zZ89u1D8vL48ffviB5cuXs2LFClJSUvjwww8BGDNmDBqNht9++83Qv6ysjOTkZO666y4Afv31V+bOncuDDz7Ili1beO2119iwYQPLly9v9DpLly5l5MiRfP3110yYMIGvvvqK5cuX8+yz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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(5, 4))\n", "plt.scatter(X_attr_cpu.flatten(), X_attr_cuda.flatten(), s=10)\n", "plt.plot([-0.01, 0.07], [-0.01, 0.07], c='0.7')\n", "plt.xlabel(\"Convergence Deltas (CPU)\")\n", "plt.ylabel(\"Convergence Deltas (CUDA)\")\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "5a972d7a-85da-4afa-a2e5-534b09e02fb5", "metadata": {}, "source": [ "Although I am not sure *exactly* what is happening, I do know that the basic reason is related to machine precision issues. Basically, because the order of operations matters a great deal for calculating very small values, i.e., summing large arrays can be numerically unstable, and because this order of operations is changed by the computation graph when using a GPU to maximize parallelism, a consequence might be that the underlying precision is lowered a bit. \n", "\n", "Regardless of the exact reasons why this is, having a difference in baseline convergence deltas means that the thresholds that you set based on results from a CPU may need to be raised a bit when doing operations on the GPU. On the other hand, if you aren't sure whether your values are being driven by not having registered non-linear operations or some form of machine precision issue, it means you can check a limited set of operations on the CPU. In general, it should be obvious when a layer has not been registered because the deltas will be above 0.01 pretty routinely, whereas when it's a machine precision issue they will usually be in the 1e-3 or less (usually 1e-5, but it depends on the architecture)." ] }, { "cell_type": "markdown", "id": "03aa3d59-f005-4944-a239-304856901b65", "metadata": {}, "source": [ "##### Double precision causes... high precision\n", "\n", "As one might expect, doing operations at higher precision can cause the convergence deltas to be lower when the values are driven by the aforementioned machine precision issues instead of the failing to register a layer. Using double precision is easy in tangermeme -- all you need to do is convert the datatypes of everything." ] }, { "cell_type": "code", "execution_count": 29, "id": "6d0c07ae-bb5c-4d4a-8d18-a295ed87d101", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Convergence Deltas (CPU)\n", "tensor([1.1102e-16, 3.3307e-16, 3.8858e-16, 4.0246e-16, 2.7756e-16, 3.3307e-16,\n", " 1.1102e-16, 3.3307e-16, 2.7756e-16, 2.7756e-16, 1.6653e-16, 3.3307e-16,\n", " 3.0531e-16, 2.6368e-16, 2.7756e-16, 2.7756e-16, 4.4409e-16, 1.1102e-16,\n", " 2.4980e-16, 3.8858e-16], dtype=torch.float64, grad_fn=)\n", "\n", "Convergence Deltas (CUDA)\n", "tensor([3.3307e-16, 3.3307e-16, 2.7756e-16, 2.3592e-16, 2.2204e-16, 2.2204e-16,\n", " 1.1102e-16, 1.1102e-16, 3.3307e-16, 1.6653e-16, 2.7756e-16, 2.2204e-16,\n", " 3.0531e-16, 3.3307e-16, 2.2204e-16, 1.1102e-16, 3.3307e-16, 1.1102e-16,\n", " 0.0000e+00, 3.3307e-16], device='cuda:0', dtype=torch.float64,\n", " grad_fn=)\n" ] } ], "source": [ "print(\"Convergence Deltas (CPU)\")\n", "X_attr_cpu = deep_lift_shap(wrapper_counts.double(), X.double(), references=X_ref.double(), device='cpu', print_convergence_deltas=True)\n", "\n", "print(\"\\nConvergence Deltas (CUDA)\")\n", "X_attr_cuda = deep_lift_shap(wrapper_counts.double(), X.double(), references=X_ref.double(), device='cuda', print_convergence_deltas=True)" ] }, { "cell_type": "markdown", "id": "459ca033-5633-4291-b6aa-b59f5b557910", "metadata": {}, "source": [ "Looks like the convergence deltas are back to being around as low as they are on the CPU. Calculating attributions using 64-bit floats can take quite a bit longer than 32-bit floats because each number is twice as long but also because hardware is generally more optimized for 32-bit and 16-bit floats than they are for 64-bit ones." ] }, { "cell_type": "markdown", "id": "175e81f6-a8d1-46a0-a490-c24ca817abf9", "metadata": {}, "source": [ "##### Summary\n", "\n", "DeepLiftShap requiring that gradient operations for non-linear operations are overriden results in several practical implementation challenges. Unfortunately, these challenges have not always been appreciated by the developers and the lack of errors or warnings being raised when something is wrong has almost certainly led users to incorrectly calculate attributions in the past. I hope that the safeguards implemented in tangermeme, as well as write-ups like this one, help the community calculate attributions correctly and seek help when something is going wrong." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.9.12" } }, "nbformat": 4, "nbformat_minor": 5 }