{
"cells": [
{
"cell_type": "markdown",
"source": [
"# Quantus + NLP\n",
"[](https://mybinder.org/v2/gh/understandable-machine-intelligence-lab/Quantus/main?labpath=tutorials%2FTutorial_NLP_Demonstration.ipynb)\n",
"\n",
"\n",
"This tutorial demonstrates how to use the library for robustness evaluation\n",
"explanation of text classification models.\n",
"For this purpose, we use a pre-trained `Distilbert` model from [Huggingface](https://huggingface.co/models) and `GLUE/SST2` dataset [here](https://huggingface.co/datasets/sst2).\n",
"\n",
"This is not a working example yet, and is meant only for demonstration purposes \n",
"so far. For this demo, we use a (yet) unreleased version of Quantus.\n",
"\n",
"Author: Artem Sereda\n",
"\n",
"[](https://colab.research.google.com/drive/1eWK9ebfMUVRG4mrOAQvXdJ452SMLfffv?usp=sharing)"
],
"metadata": {
"collapsed": false,
"id": "1sXtIxKhnXp9"
}
},
{
"cell_type": "code",
"execution_count": 7,
"outputs": [],
"source": [
"from __future__ import annotations"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"# Use an unreleased version of Quantus.\n",
"!pip install 'quantus @ git+https://github.com/aaarrti/Quantus.git@nlp-domain' --no-deps\n",
"!pip install transformers datasets nlpaug tf_explain tensorflow_probability"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 2,
"outputs": [
{
"data": {
"text/plain": "[PhysicalDevice(name='/physical_device:CPU:0', device_type='CPU'),\n PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]"
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"from datasets import load_dataset\n",
"import tensorflow as tf\n",
"from functools import partial\n",
"import logging\n",
"from typing import NamedTuple, List, Any\n",
"from transformers import AutoTokenizer, TFDistilBertForSequenceClassification, TFPreTrainedModel, PreTrainedTokenizerFast\n",
"import quantus.nlp as qn\n",
"import matplotlib.pyplot as plt\n",
"import tensorflow_probability as tfp\n",
"\n",
"# Suppress debug logs.\n",
"logging.getLogger('absl').setLevel(logging.WARNING)\n",
"tf.config.list_physical_devices()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"## 1) Preliminaries"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"### 1.1 Load pre-trained model and tokenizer from [huggingface](https://huggingface.co/models) hub"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 3,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Metal device set to: AMD Radeon Pro 560\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"All model checkpoint layers were used when initializing TFDistilBertForSequenceClassification.\n",
"\n",
"All the layers of TFDistilBertForSequenceClassification were initialized from the model checkpoint at distilbert-base-uncased-finetuned-sst-2-english.\n",
"If your task is similar to the task the model of the checkpoint was trained on, you can already use TFDistilBertForSequenceClassification for predictions without further training.\n"
]
}
],
"source": [
"MODEL_NAME = \"distilbert-base-uncased-finetuned-sst-2-english\"\n",
"tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)\n",
"model = TFDistilBertForSequenceClassification.from_pretrained(MODEL_NAME)"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"### 1.2 Load test split of [GLUE/SST2](https://huggingface.co/datasets/sst2) dataset"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 4,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:datasets.builder:Found cached dataset sst2 (/Users/artemsereda/.cache/huggingface/datasets/sst2/default/2.0.0/9896208a8d85db057ac50c72282bcb8fe755accc671a57dd8059d4e130961ed5)\n"
]
},
{
"data": {
"text/plain": " 0%| | 0/3 [00:00, ?it/s]",
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "20913dacfa344ee89a9b5a5c6db3264c"
},
"application/json": {
"n": 0,
"total": 3,
"elapsed": 0.047647953033447266,
"ncols": null,
"nrows": null,
"prefix": "",
"ascii": false,
"unit": "it",
"unit_scale": false,
"rate": null,
"bar_format": null,
"postfix": null,
"unit_divisor": 1000,
"initial": 0,
"colour": null
}
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"BATCH_SIZE = 8\n",
"dataset = load_dataset(\"sst2\")['test']\n",
"x_batch = dataset['sentence'][:BATCH_SIZE]"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"Run an example inference, and demonstrate models predictions."
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 5,
"outputs": [
{
"data": {
"text/plain": " 0 1\n0 uneasy mishmash of styles and genres . negative\n1 this film 's relationship to actual tension is... negative\n2 by the end of no such thing the audience , lik... positive\n3 director rob marshall went out gunning to make... positive\n4 lathan and diggs have considerable personal ch... positive\n5 a well-made and often lovely depiction of the ... positive\n6 none of this violates the letter of behan 's b... negative\n7 although it bangs a very cliched drum at times... positive",
"text/html": "
\n\n
\n \n
\n
\n
0
\n
1
\n
\n \n \n
\n
0
\n
uneasy mishmash of styles and genres .
\n
negative
\n
\n
\n
1
\n
this film 's relationship to actual tension is...
\n
negative
\n
\n
\n
2
\n
by the end of no such thing the audience , lik...
\n
positive
\n
\n
\n
3
\n
director rob marshall went out gunning to make...
\n
positive
\n
\n
\n
4
\n
lathan and diggs have considerable personal ch...
\n
positive
\n
\n
\n
5
\n
a well-made and often lovely depiction of the ...
\n
positive
\n
\n
\n
6
\n
none of this violates the letter of behan 's b...
\n
negative
\n
\n
\n
7
\n
although it bangs a very cliched drum at times...
\n
positive
\n
\n \n
\n
"
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"CLASS_NAMES = ['negative', 'positive']\n",
"\n",
"def decode_labels(y_batch: np.ndarray, class_names: List[str]) -> List[str]:\n",
" \"\"\"A helper function to map integer labels to human-readable class names.\"\"\"\n",
" return [class_names[i] for i in y_batch]\n",
"\n",
"# Run tokenizer.\n",
"tokens = tokenizer(x_batch, padding='longest', return_tensors='tf')\n",
"logits = model(**tokens).logits\n",
"y_batch = tf.argmax(tf.nn.softmax(logits), axis=1).numpy()\n",
"\n",
"# Show the x, y data.\n",
"pd.DataFrame([x_batch, decode_labels(y_batch, CLASS_NAMES)]).T"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"### 1.3 Helper functions: visualise explanations\n",
"\n",
"There are not many XAI libraries for NLP out there, so here we fully relly on our own implementations of explanation methods. This section write functions to visualise our explanations."
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 8,
"outputs": [],
"source": [
"def plot_textual_heatmap(explanations: List[qn.TokenSalience]):\n",
"\n",
" \"\"\"\n",
" Plots attributions over a batch of text sequence explanations.\n",
"\n",
" References:\n",
" - https://stackoverflow.com/questions/74046734/plot-text-saliency-map-in-jupyter-notebook\n",
"\n",
" Parameters\n",
" ----------\n",
" explanations: List of Named tuples (tokens, salience) containing batch of explanations.\n",
"\n",
" Returns\n",
" -------\n",
" plot: matplotplib.pyplot object, which will be automatically rendered by jupyter.\n",
" \"\"\"\n",
"\n",
" h_len = len(explanations)\n",
" v_len = len(explanations[0].tokens)\n",
"\n",
" tokens = np.asarray([i.tokens for i in explanations]).reshape(-1)\n",
" colors = np.asarray([i.salience for i in explanations]).reshape(-1)\n",
"\n",
" fig, axes = plt.subplots(h_len, v_len, figsize=(v_len, h_len*0.5), gridspec_kw=dict(left=0., right=1.))\n",
" for i, ax in enumerate(axes.ravel()):\n",
" rect = plt.Rectangle((0, 0), 1, 1, color=(1., 1 - colors[i], 1- colors[i]))\n",
" ax.add_patch(rect)\n",
" ax.text(0.5, 0.5, tokens[i], ha='center', va='center')\n",
" ax.set_xlim(0, 1)\n",
" ax.set_ylim(0, 1)\n",
" ax.axis('off')\n",
"\n",
" ax = fig.add_axes([0, 0.05, 1 , 0.9], fc=[0, 0, 0, 0])\n",
" for axis in ['left', 'right']:\n",
" ax.spines[axis].set_visible(False)\n",
" ax.set_xticks([])\n",
" ax.set_yticks([])\n",
" return plt"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"### 1.4 Helper functions: generate explanations\n",
"\n",
"Write out functions to generate explanations using baseline methods: Gradient Norm and Integrated Gradients"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 9,
"outputs": [],
"source": [
"@tf.function(jit_compile=True)\n",
"def normalize(x: tf.Tensor) -> tf.Tensor:\n",
" \"\"\"\n",
" Normalize attribution values to comply with RGB standards.\n",
" - Take absolute values.\n",
" - Scale attribution scores, so that maximum value is 1.\n",
"\n",
" Parameters\n",
" ----------\n",
" x: 1D tensor containing attribution scores.\n",
"\n",
" Returns\n",
" -------\n",
" x: 1D tensor containing normalized attribution scores.\n",
" \"\"\"\n",
" abs = tf.abs(x)\n",
" max = tf.reduce_max(abs)\n",
" return abs / max\n",
"\n",
"\n",
"def explain_gradient_norm(\n",
" model: TFPreTrainedModel,\n",
" token_ids: tf.Tensor,\n",
" attention_mask: tf.Tensor,\n",
" target: int,\n",
" tokenizer: PreTrainedTokenizerFast\n",
") -> qn.TokenSalience:\n",
" \"\"\"\n",
" Computes token attribution score using the Gradient Norm method for a single point.\n",
"\n",
" Parameters\n",
" ----------\n",
" model:\n",
" Huggingface model, which is subject to explanation.\n",
" token_ids:\n",
" 1D Array of token ids.\n",
" attention_mask:\n",
" 1D array of attention mask.\n",
" target:\n",
" Predicted label.\n",
" tokenizer:\n",
" Huggingface tokenizer used to convert input_ids back to plain text tokens.\n",
"\n",
" Returns\n",
" -------\n",
"\n",
" a: quantus.nlp.TokenSalience\n",
" Named tuple (tokens, salience), with tokens and their respective attribution scores.\n",
" \"\"\"\n",
" # Convert tokens to embeddings.\n",
" embeddings = model.distilbert.get_input_embeddings()(input_ids=token_ids)\n",
" with tf.GradientTape() as tape:\n",
" tape.watch(embeddings)\n",
" logits = model(None,\n",
" inputs_embeds=embeddings,\n",
" attention_mask=attention_mask\n",
" ).logits\n",
" logits_for_label = tf.gather(logits, axis=1, indices=target)\n",
"\n",
" # Compute gradients of logits with respect to embeddings.\n",
" grads = tape.gradient(logits_for_label, embeddings)\n",
" # Compute L2 norm of gradients.\n",
" grad_norm = tf.linalg.norm(grads, axis=-1)\n",
" with tf.device('cpu'):\n",
" scores = normalize(grad_norm[0]).numpy()\n",
" return qn.TokenSalience(tokenizer.convert_ids_to_tokens(token_ids), scores)\n",
"\n",
"\n",
"def explain_gradient_norm_batch(\n",
" model: TFPreTrainedModel,\n",
" inputs: List[str],\n",
" targets: np.ndarray,\n",
" tokenizer: PreTrainedTokenizerFast\n",
") -> List[qn.TokenSalience]:\n",
" \"\"\"\n",
" Computes token attribution score using the Gradient Norm method for batch.\n",
"\n",
" Parameters\n",
" ----------\n",
" model:\n",
" Huggingface model, which is subject to explanation.\n",
" inputs:\n",
" List of plain text inputs.\n",
" targets:\n",
" 1D array of predicted labels.\n",
" tokenizer:\n",
" Huggingface tokenizer used to convert input_ids back to plain text tokens.\n",
"\n",
" Returns\n",
" -------\n",
"\n",
" a_batch: List of quantus.nlp.TokenSalience.\n",
" List of named tuples (tokens, salience), with tokens and their respective attribution scores.\n",
" \"\"\"\n",
" \"\"\"A wrapper around explain_gradient_norm which allows calling it on batch\"\"\"\n",
" tokens = tokenizer(inputs, return_tensors='tf', padding='longest')\n",
" batch_size = len(targets)\n",
" return [\n",
" explain_gradient_norm(model, tokens['input_ids'][i], tokens['attention_mask'][i], targets[i], tokenizer)\n",
" for i in range(batch_size)\n",
" ]\n",
"\n",
"\n",
"@tf.function(jit_compile=True)\n",
"def get_interpolated_inputs(\n",
" baseline: tf.Tensor,\n",
" target: tf.Tensor,\n",
" num_steps: int\n",
") -> tf.Tensor:\n",
" \"\"\"\n",
" Gets num_step linearly interpolated inputs from baseline to target.\n",
" Reference: https://github.com/PAIR-code/lit/blob/main/lit_nlp/components/gradient_maps.py#L238\n",
"\n",
" Returns\n",
" -------\n",
" interpolated_inputs: [num_steps, num_tokens, emb_size]\n",
" \"\"\"\n",
" baseline = tf.cast(baseline, dtype=tf.float64)\n",
" target = tf.cast(target, dtype=tf.float64)\n",
" delta = target - baseline # [num_tokens, emb_size]\n",
" # Creates scale values array of shape [num_steps, num_tokens, emb_dim],\n",
" # where the values in scales[i] are the ith step from np.linspace. [num_steps, 1, 1]\n",
" scales = tf.linspace(0, 1, num_steps + 1)[:, tf.newaxis, tf.newaxis]\n",
" shape = (num_steps + 1,) + delta.shape\n",
" # [num_steps, num_tokens, emb_size]\n",
" deltas = scales * tf.broadcast_to(delta, shape)\n",
" interpolated_inputs = baseline + deltas\n",
" return interpolated_inputs\n",
"\n",
"\n",
"\n",
"def explain_int_grad(\n",
" model: TFPreTrainedModel,\n",
" token_ids: tf.Tensor,\n",
" attention_mask: tf.Tensor,\n",
" target: int,\n",
" tokenizer: PreTrainedTokenizerFast,\n",
" num_steps: int\n",
") -> qn.TokenSalience:\n",
" \"\"\"\n",
" Computes token attribution score using the Integrated Gradients method for a single point.\n",
"\n",
" Parameters\n",
" ----------\n",
" model:\n",
" Huggingface model, which is subject to explanation.\n",
" token_ids:\n",
" 1D Array of token ids.\n",
" attention_mask:\n",
" 1D array of attention mask.\n",
" target:\n",
" Predicted label.\n",
" tokenizer:\n",
" Huggingface tokenizer used to convert input_ids back to plain text tokens.\n",
"\n",
" Returns\n",
" -------\n",
"\n",
" a: quantus.nlp.TokenSalience\n",
" Named tuple (tokens, salience), with tokens and their respective attribution scores.\n",
" \"\"\"\n",
" # Convert tokens to embeddings.\n",
" embeddings = model.distilbert.get_input_embeddings()(input_ids=token_ids)[0]\n",
" baseline = tf.zeros_like(embeddings)\n",
" # Generate interpolation from 0 to embeddings.\n",
" with tf.device('cpu'):\n",
" interpolated_embeddings = get_interpolated_inputs(baseline, embeddings, num_steps)\n",
" interpolated_embeddings = tf.cast(interpolated_embeddings, tf.float32)\n",
" interpolated_attention_mask = tf.stack([attention_mask for i in range(num_steps + 1)])\n",
" with tf.GradientTape() as tape:\n",
" tape.watch(interpolated_embeddings)\n",
" logits = model(None,\n",
" inputs_embeds=interpolated_embeddings,\n",
" attention_mask=interpolated_attention_mask,\n",
" ).logits\n",
" logits_for_label = tf.gather(logits, axis=1, indices=target)\n",
"\n",
" # Compute gradients of logits with respect to interpolations.\n",
" grads = tape.gradient(logits_for_label, interpolated_embeddings)\n",
" # Integrate gradients.\n",
" int_grad = tfp.math.trapz(tfp.math.trapz(grads, axis=0))\n",
" with tf.device('cpu'):\n",
" scores = normalize(int_grad).numpy()\n",
" return qn.TokenSalience(tokenizer.convert_ids_to_tokens(token_ids), scores)\n",
"\n",
"\n",
"def explain_int_grad_batch(\n",
" model: TFPreTrainedModel,\n",
" inputs: List[str],\n",
" targets: np.ndarray,\n",
" tokenizer: PreTrainedTokenizerFast,\n",
" num_steps: int = 10\n",
") -> List[qn.TokenSalience]:\n",
" \"\"\"\n",
" Computes token attribution score using the Integrated Gradients method for batch.\n",
"\n",
" Parameters\n",
" ----------\n",
" model:\n",
" Huggingface model, which is subject to explanation.\n",
" inputs:\n",
" List of plain text inputs.\n",
" targets:\n",
" 1D array of predicted labels.\n",
" tokenizer:\n",
" Huggingface tokenizer used to convert input_ids back to plain text tokens.\n",
"\n",
" num_steps: int.\n",
" Number of interpolations steps, default=10.\n",
"\n",
" Returns\n",
" -------\n",
" a_batch: List of quantus.nlp.TokenSalience.\n",
" List of named tuples (tokens, salience), with tokens and their respective attribution scores.\n",
" \"\"\"\n",
" tokens = tokenizer(inputs, return_tensors='tf', padding='longest')\n",
" batch_size = len(targets)\n",
" return [\n",
" explain_int_grad(model, tokens['input_ids'][i], tokens['attention_mask'][i], targets[i], tokenizer, num_steps)\n",
" for i in range(batch_size)\n",
" ]\n",
"\n",
"\n",
"\n",
"# Create functions which match the signature required by Quantus.\n",
"explain_gradient_norm_func = partial(explain_gradient_norm_batch, tokenizer=tokenizer)\n",
"explain_int_grad_func = partial(explain_int_grad_batch, tokenizer=tokenizer)"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [
"### 1.5 Visualise the explanations."
],
"metadata": {
"id": "Bo1yUcCh_zBD"
}
},
{
"cell_type": "code",
"source": [
"# Visualise GradNorm.\n",
"a_batch_grad_norm = explain_gradient_norm_func(model, x_batch[2:5], y_batch[2:5])\n",
"plot_textual_heatmap(a_batch_grad_norm)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 187
},
"id": "jNogPZU8ShAr",
"outputId": "25608dfc-5f87-4571-b8a8-909ab6de5a3f"
},
"execution_count": 11,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/vv/f22t8y7d1l96ynv9mzgy0j5w0000gn/T/ipykernel_28733/2299850630.py:33: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.\n",
" ax = fig.add_axes([0, 0.05, 1 , 0.9], fc=[0, 0, 0, 0])\n"
]
},
{
"data": {
"text/plain": ""
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "
",
"image/png": "iVBORw0KGgoAAAANSUhEUgAACXQAAACfCAYAAABTVMPjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAA9hAAAPYQGoP6dpAACimklEQVR4nOzddXgUVxfH8e/GFQIEEiwECe6lFCdYgeJQ3II7pRSnxV2KQynFoUjfFmkpTnGKB5cECxIILgnxff/INk2w0iaQBX6f58lD2J25c2dOdnbkzLkGo9FoRERERERERERERERERERERERERJKcRVJ3QERERERERERERERERERERERERGIooUtERERERERERERERERERERERMRMKKFLRERERERERERERERERERERETETCihS0RERERERERERERERERERERExEwooUtERERERERERERERERERERERMRMKKFLRERERERERERERERERERERETETCihS0RERERERERERERERERERERExExYvc5ERqORx48fv+m+iIiIiIiIiIiIiIiIiIiIiIiIvLecnZ0xGAyvnOa1EroeP35M8uTJE6VTIiIiIiIiIiIiIiIiIiIiIiIiH6KHDx+SLFmyV05jMBqNxn9qSBW6REREREREREREREREREREREREEuZ1KnS9VkKXiIiIiIiIiIiIiIiIiIiIiIiIvHkWSd0BERERERERERERERERERERERERiaGELhERERERERERERERERERERERETOhhC4REREREREREREREREREREREREzoYQuERERERERERERERERERERERERM6GELhERERERERERERERERERERERETOhhC4REREREREREREREREREREREREzoYQuERERERERERERERERERERERERM6GELhERERERERERERERERERERERETNh9dpT2ttDaOgb7MoHxmhMeBvHjiVOOxKjYMGEze/np3gkpuzZE97G3r2KSWIqWTLhbSxZAtHRCW9HYrRokbD5p0yBqKjE6YtAz54Jb0MxSVyJEZOZMxWTxNStW8LbWLBAMUlMbdokbP7RoxWPxPT11wlvY/duHQMnptKlE97Gxo06Bk5MVasmbP7//U/xSEwNGiS8ja1bFZPEVKlSwtv46SfFJDE1bJiw+X18ICIiUboiwNKlCW/D2Vn3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+HAKZsrEZNP9zz9OnWLG5s0cuHCBWw8fksLRkUKengysVYtSOXMCsGDHDlrNnv3C9gJnzsTdxQWf777jQXAwq7/66pXLf93pEkXjxq81mVlX6PpLA9PPy/iYfl5mtOlHksbte/dYvnEjN+/coZWGWxQRERFJEtvOn+dJWBj50qUj8OFD+qxdi2fKlJTJli2puyYiH5j1f/7J9B49krobIiKvbf3Bg0zv0iWpuyEiIiIiIiLywSiXJw/l8uR55TQ+Zcvi8w+jJCzo2DExu/VWmV1C10zgB2Af8DYH5ssDXHyLy/uQpKlQAVcXF77/5htSvKQUsYiIiIi8WRFRUQz47Tcu3rmDs50dJTJnZmmLFlhraA0RecsOfP99UndBRORfOfAeV20VERERERERMRczN2/mhz/+YN/QoeTz8Hgry9x19ixVx44lLDKSaolRzSwRmVVC11Lgqen3txOav/1OzHCMAEo5SlzGo0eTugsiIiIiH7zKuXJROVeupO6GiIiIiIiIiIiIiIhIPEu7dOFpeDgAHq6ub225RbJkwXd0zJh/TnZ2b225r8OsErrSJ+GyMyXhskVEREREREREREREREREREREPkTpU6ZMkuXa29iQzd09SZb9TyySugMiIiIiIiIiIiIiIiIiIiIiIiISQwldIiIiIiIiIiIiIiIiIiIiIiIiZkIJXSIiIiIiIiIiIiIiIiIiIiIiImZCCV0iIiIiIiIiIiIiIiIiIiIiIiJmQgldIiIiIiIiIiIiIiIiIiIiIiIiZkIJXSIiIiIiIiIiIiIiIiIiIiIiImZCCV0iIiIiIiIiIiIiIiIiIiIiIiJmQgldIiIiIiIiIiIiIiIiIiIiIiIiZsJgNBqNSd0JERERERERERERERERERERERERUYUuERERERERERERERERERERERERs6GELhERERERERERERERERERERERETOhhC4REREREREREREREREREREREREzoYQuERERERERERERERERERERERERM6GELhERERERERERERERERERERERETNh9dpT2ttDaOgb7MoHxmhMeBt79yZOOxKjZMmEzX/8uOKRmAoUSHgbu3YpJompTJmEt6H9VuJK6H5r3z7FIzGVKJHwNooVg/DwhLcjMY4cSXgbGzdCdHTC25EYVasmvI0jR7TvSkwffZSw+U+dUjwSU968CW/jzBnFJDHlzp3wNlau1HdJYmrUKGHz79+vz0hiKlYs4W0EBCS8Dfmbh0fC29i+XfutxFS+fFL3QERERERERN5Br1+hS8lc5kcXIM2L4mF+FBPzo5iYF8XD/CiZy/zoRpb50b7LvCge5kcxMT/6LjEv+oyI/DPtt0RERERERESSnIZcFBERERERERERERERERERERERMRNK6BIRERERERERERERERERERERETETSugSERERERERERERERERERERERExE0roEhERERERERERERERERERERERMRNK6BIRERERERERERERERERERERETETSugSERERERERERERERERERERERExE0roEhERERERERERERERERERERERMRNK6BIRERERERERERERERERERERETETSugSERERERERERERERERERERERExE2aV0OUNGEw/vm952Z5xlv3gLS/bnHh37UqPKVMA8Pz8cyavXJnEPZI3ybtNG3qMG5fU3ZAX8P7iC3pMm5agNhasX49LtWqx/x8yfz4F27RJaNdERMQMbT9+HMNnn/HgyZOk7oqI2fMZOJDa3bsndTdEREQ+aN49e2KoUAFDhQr4+vu/teVu9/WNXW7tb755a8s1Z97e3hgMBgwGA76+vm99+QsWLIhdfo8ePd768s2RYmJ+FBPzoniYH8XE/Cgm5kcxMS+Kh/lRTF7MrBK6ANoBgUDeOK/9TEyyV3LACcgPDAPumd5fALi8os3bQCfAA7AF3IHKwJ440xw0LUf+dnDOHNrXrPlGl7Hg999xqVLljS5DRORNuhwYiKFUKXz9/JK6Kx+kIXPnUrBly6Tuhsh/cvvhQ2xq1iQ4NJSIyEgc69QhICjohdP+tGsXJb76CoC9p0+TpXXreO+XyJWLwCVLSO7o+Mb7LfF5t29Pj4kTk7obIiJJYvvp0xgaN+ZBcHBSd0VE3kHtqlUj8KefyJs5MwCrdu+mWNeuJK9ZE+fq1cnTujU9ZsyInX7Bhg2xyVhxf+ziXFv0GTs29nWbypXJ1rw5wxYtIjIqCoASefIQ+NNPNPD2fqvrau7atWtHYGAgefPm5fLly7E3MgwGA6lSpeLTTz/l6NGj8ebZt28flpaWVIvzMOFfnm3D2dmZPHny0KVLF/yeuX7SsGFDAgMDKV68+Btdx3eNYmJ+FBPzoniYH8XE/Cgm5kcx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OVNMzI9iYl4UD/OjmJgfxcT8KCbmRfEwP4rJ88yqQtd14Knpdw/A5o0v8W9XiBmOESALbyHTTRW6zI8qdJkXVegyP6rQZX5Uocu8vEMVuo6GhNA2IIBzYWHYGAx85ODAt+nTk8/e/q0s/61Rha5Xunr7No3GjOHklSsYjUbyenoyxseHMvnyvbmFqkKX+VGFLvOiCl3m5x2p0HX00iXazpnDuRs3sLGy4qPMmfm2eXPyJUalHnOjCl3mRRW6zM87UqHr+u3bPA0PB8AjTRpsXjFEbGJ6GhbG9Tt3AHCyt387wzSaeYWu69ev8/RpzFV5Dw8PbGze5lV5ePz4Mbdu3QLAxcUFV1fXt7p8c6SYmB/FxLwoHuZHMTE/ion5UUzMi+JhfhSTF7NK6g7ElT4Jl50pCZctIiIi8jYVcnDgcM6cSd0NSWIZU6dmz8SJSd0NERFJBIUyZ+bwqFFJ3Q0RkdeWPnXqJFmuva0t2dIn5VVo85M+ibeHs7Mzzs7OSdoHc6OYmB/FxLwoHuZHMTE/ion5UUzMi+JhfhSTFzO7IRdFREREREREREREREREREREREQ+VEroEhERERERERERERERERERERERMRNK6BIRERERERERERERERERERERETETSugSERERERERERERERERERERERExE0roEhERERERERERERERERERERERMRNK6BIRERERERERERERERERERERETETSugSERERERERERERERERERERERExE0roEhERERERERERERERERERERERMRMGo9FoTOpOiIiIiIiIiIiIiIiIiIiIiIiIiCp0iYiIiIiIiIiIiIiIiIiIiIiImA0ldImIiIiIiIiIiIiIiIiIiIiIiJgJJXSJiIiIiIiIiIiIiIiIiIiIiIiYCSV0iYiIiIiIiIiIiIiIiIiIiIiImAkldImIiIiIiIiIiIiIiIiIiIiIiJgJJXSJiIiIiIiIiIiIiIiIiIiIiIiYCavXntLeHkJD32BXPjBGY8LbuH074W3I31KnTtj8R48mTlwlRuHCCW/Dz08xSUzZsye8jbNnFZPElCtXwubfv1/xSEzFiiW8jeXLITo64e1IjCZNEt5GqVIQHp7wdiTGgQMJb6N/f4iMTHg7EmP8+ITN37274pGYZs5MeBuLF0NUVMLbkRg+Pglv4/ff9f2emKpXT9j8f/6p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yrexalXl25DLnniicq/ftKlKumFJCgsL8R08mJF9+jDu6adv7s7LyPJ23f7xj8q3IZfNm1f5NlRSuGpV9vnTbfT8yiJUxb/vm7Aws9tHH9HWy4tPquLZzp8weP58kjMzWTV69I3f2ZAhFdrM4kouzgUcgJs9beAPPFzuViIicqdZuWkTG3fuJCY+nk07dzJs0iQ6BQRUfzDXHW7u//7HnsOHOR4fz3/WrmXakiW8UBUPLkREROSGW3vwIB8/+2x1d0NERERERERuQWeTk/nshx9IuHCBISq3KCJyW5n7yy84jBjBwbi4m7bPbUeO4DBiBEssMJDQokouLgGyTH+/2Y/J11BUjhFAyQdFROSStIwM3pgxg9jTp6nj6krPwEBmvP56dXfrjnf05EneW7iQC6mpNHR359V+/Xhz0KDq7paIiIhUwB8q4y4iIiIiIiJ/Ut1nnqGOszP/fuUVXG+F7JAiIlIhS4YNIysnB4CGtWvftP229/Eh5J13AHCoWfOm7bciLCqgq3417tu7GvctIiKWa9DjjzPo8ceruxtSyqyxY5k1dmx1d0NEbhFbn3uuursgIiIiIjfI4McfZ7DG7dWmW7t2FFrgSnYREbl9FW7cWN1dEBGRG6C+q2u17NfO1pam7u7Vsu/yWFzJRRERERERERERERERERERERERkTuVArpEREREREREREREREREREREREQshAK6RERERERERERERERERERERERELIQCukRERERERERERERERERERERERCyEArpEREREREREREREREREREREREQshAK6RERERERERERERERERERERERELIQCukRERERERERERERERERERERERCyEArpEREREREREREREREREREREREQshKGwsLCwujshIiIiIiIiIiIiIiIiIiIiIiIiytAlIiIiIiIiIiIiIiIiIiIiIiJiMRTQJSIiIiIiIiIiIiIiIiIiIiIiYiEU0CUiIiIiIiIiIiIiIiIiIiIiImIhFNAlIiIiIiIiIiIiIiIiIiIiIiJiIRTQJSIiIiIiIiIiIiIiIiIiIiIiYiEU0CUiIiIiIiIiIiIiIiIiIiIiImIhFNAlIiIiIiIiIiIiIiIiIiIiIiJiIYwV2aiwsJC0tLQb3RcREREREREREREREREREREREZHblqOjIwaD4ZrbVCigKy0tDWdn5yrplIiIiIiIiIiIiIiIiIiIiIiIyJ0oJSUFJyena25jKCwsLCyvIWXoEhERERERERERERERERERERERqZyKZOiqUECXiIiIiIiIiIiIiIiIiIiIiIiI3HhW1d0BERERERERERERERERERERERERKaKALhEREREREREREREREREREREREQuhgC4RERERERERERERERERERERERELoYAuERERERERERERERERERERERERC6GALhEREREREREREREREREREREREQuhgC4RERERERERERERERERERERERELoYAuERERERERERERERERERERERERC6GALhEREREREREREREREREREREREQuhgC4RERERERERERERERERERERERELoYAuERERERERERERERERERERERERC6GALhEREREREREREREREREREREREQuhgC4REREREREREREREREREREREREL8f8vTGir9gCScAAAAABJRU5ErkJggg==\n"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"cell_type": "code",
"execution_count": 12,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/vv/f22t8y7d1l96ynv9mzgy0j5w0000gn/T/ipykernel_28733/2299850630.py:33: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.\n",
" ax = fig.add_axes([0, 0.05, 1 , 0.9], fc=[0, 0, 0, 0])\n"
]
},
{
"data": {
"text/plain": ""
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": "