diff --git a/.gitignore b/.gitignore index 8393cf6..c4d300f 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ keras_vis.egg-info dist/* build/* *.pyc +.ipynb_checkpoints diff --git a/examples/mnist_activation.ipynb b/examples/mnist_activation.ipynb new file mode 100644 index 0000000..598b0cd --- /dev/null +++ b/examples/mnist_activation.ipynb @@ -0,0 +1,1358 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Activation Maximization on MNIST" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets build the mnist model and train it for 5 epochs. It should get to about ~99% test accuracy." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Using TensorFlow backend.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x_train shape: (60000, 28, 28, 1)\n", + "60000 train samples\n", + "10000 test samples\n", + "Train on 60000 samples, validate on 10000 samples\n", + "Epoch 1/5\n", + "60000/60000 [==============================] - 7s - loss: 0.2464 - acc: 0.9259 - val_loss: 0.0534 - val_acc: 0.9840\n", + "Epoch 2/5\n", + "60000/60000 [==============================] - 5s - loss: 0.0879 - acc: 0.9739 - val_loss: 0.0357 - val_acc: 0.9872\n", + "Epoch 3/5\n", + "60000/60000 [==============================] - 5s - loss: 0.0630 - acc: 0.9813 - val_loss: 0.0312 - val_acc: 0.9899\n", + "Epoch 4/5\n", + "60000/60000 [==============================] - 5s - loss: 0.0521 - acc: 0.9835 - val_loss: 0.0286 - val_acc: 0.9908\n", + "Epoch 5/5\n", + "60000/60000 [==============================] - 6s - loss: 0.0437 - acc: 0.9865 - val_loss: 0.0268 - val_acc: 0.9915\n", + "Test loss: 0.0267699461636\n", + "Test accuracy: 0.9915\n" + ] + } + ], + "source": [ + "from __future__ import print_function\n", + "\n", + "import numpy as np\n", + "import keras\n", + "\n", + "from keras.datasets import mnist\n", + "from keras.models import Sequential, Model\n", + "from keras.layers import Dense, Dropout, Flatten, Activation, Input\n", + "from keras.layers import Conv2D, MaxPooling2D\n", + "from keras import backend as K\n", + "\n", + "batch_size = 128\n", + "num_classes = 10\n", + "epochs = 5\n", + "\n", + "# input image dimensions\n", + "img_rows, img_cols = 28, 28\n", + "\n", + "# the data, shuffled and split between train and test sets\n", + "(x_train, y_train), (x_test, y_test) = mnist.load_data()\n", + "\n", + "if K.image_data_format() == 'channels_first':\n", + " x_train = x_train.reshape(x_train.shape[0], 1, img_rows, img_cols)\n", + " x_test = x_test.reshape(x_test.shape[0], 1, img_rows, img_cols)\n", + " input_shape = (1, img_rows, img_cols)\n", + "else:\n", + " x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols, 1)\n", + " x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1)\n", + " input_shape = (img_rows, img_cols, 1)\n", + "\n", + "x_train = x_train.astype('float32')\n", + "x_test = x_test.astype('float32')\n", + "x_train /= 255\n", + "x_test /= 255\n", + "print('x_train shape:', x_train.shape)\n", + "print(x_train.shape[0], 'train samples')\n", + "print(x_test.shape[0], 'test samples')\n", + "\n", + "# convert class vectors to binary class matrices\n", + "y_train = keras.utils.to_categorical(y_train, num_classes)\n", + "y_test = keras.utils.to_categorical(y_test, num_classes)\n", + "\n", + "model = Sequential()\n", + "model.add(Conv2D(32, kernel_size=(3, 3),\n", + " activation='relu',\n", + " input_shape=input_shape))\n", + "model.add(Conv2D(64, (3, 3), activation='relu'))\n", + "model.add(MaxPooling2D(pool_size=(2, 2)))\n", + "model.add(Dropout(0.25))\n", + "model.add(Flatten())\n", + "model.add(Dense(128, activation='relu'))\n", + "model.add(Dropout(0.5))\n", + "model.add(Dense(num_classes))\n", + "model.add(Activation('softmax'))\n", + "\n", + "model.compile(loss=keras.losses.categorical_crossentropy,\n", + " optimizer=keras.optimizers.Adam(),\n", + " metrics=['accuracy'])\n", + "\n", + "model.fit(x_train, y_train,\n", + " batch_size=batch_size,\n", + " epochs=epochs,\n", + " verbose=1,\n", + " validation_data=(x_test, y_test))\n", + "\n", + "score = model.evaluate(x_test, y_test, verbose=0)\n", + "print('Test loss:', score[0])\n", + "print('Test accuracy:', score[1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Dense Layer Visualizations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To visualize activation over final dense layer outputs, we need to switch the `softmax` activation out for `linear` since gradient of output node `i` will depend on all the other node activations. In this case, I have simplified the example by using a `Dense` node with `linear` followed by `Activation('softmax')` so there is no need to do this swapping. Keep in mind that if swapping is not done, the results might be suboptimal. Reasons for this is mentioned in the documentation." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets start by visualizing input that maximizes the output of node 0. Hopefully this looks like a 0." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Working on filters: [0]\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n/I+SUwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from vis.visualization import visualize_class_activation\n", + "\n", + "from matplotlib import pyplot as plt\n", + "%matplotlib inline\n", + "plt.rcParams['figure.figsize'] = (18, 6)\n", + "\n", + "# This corresponds to the Dense linear layer.\n", + "layer_idx = -2\n", + "\n", + "# This is the output node we want to maximize.\n", + "filter_idx = 0\n", + "img = visualize_class_activation(model, layer_idx, filter_indices=filter_idx)\n", + "plt.imshow(img[..., 0])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "Hmm, it sort of looks like a 0, but not as clear as we hoped for. Activation maximization is notorious because regularization parameters needs to be tuned depending on the problem. Lets enumerate all the possible reasons why this didnt work out.\n", + " \n", + "- The input to network is preprocessed to range (0, 1). We should specify `input_range = (0., 1.)` to constraint the input to this range.\n", + "- The regularization parameter default weights might be dominating activation maximization loss weight. One way to debug this is to use `verbose=True` and examine individual loss values.\n", + "- By default Jitter(16) is used which is too much for MNIST with (28, 28) resolution. \n", + "\n", + "Lets do these step by step and see if we can improve it." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Debugging step 1: Specifying input_range" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Working on filters: [0]\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nJHe6dWq5Hivtl+N9TUZP5s6X9myu70Rjc/z8mrk+ecYkjr8kWeJ5JEmteny/d5J9cDzZM8M8vt+7\nuVP3/PcLLqD/SLwpy/zpDeFan4/tQ66sAaAAhDUAFICwBoACENYAUADCGgAKQFgDQAEIawAoAGEN\nAAUgrAGgAIQ1ABRgVZeb1ypdbR6ZDdfPnhkM19qJ3FpTH8gt8d2wYzJcu2U4vo2S9O4Nh1L1/3T8\n2nDt8TMjqbEr1zdT9Y1T8WM0On42NXa7nVvKXJ2Oz6VvKnf8O/Xc2uTBg/GnlmX7EySXSZ99W+6a\nrG9L/Dg1q7nnXf14fMm2JPWfiG9sO9kuvzqX3JGJ8o3PxpfVHwnubq6sAaAAhDUAFICwBoACENYA\nUADCGgAKQFgDQAEIawAoAGENAAUgrAGgAIQ1ABSAsAaAAph77qPhl/SPmR2XdOA8P9os6cSqTWTt\nsJ3rz5WyrWznyrnG3bdcrGhVw3rRSZjtcffdaz2PlcZ2rj9XyraynWuP2yAAUADCGgAKcLmE9YNr\nPYFVwnauP1fKtrKda+yyuGcNALiwy+XKGgBwAWsa1mb2UTN73sz2mdnn1nIuK83M9pvZU2b2pJnt\nWev5LBcze8jMjpnZ0wse22hmj5nZi70/J9Zyjsthke38gpkd7B3TJ83szrWc43Iws51m9kMz22tm\nz5jZZ3qPr6tjeoHtvGyP6ZrdBjGzqqQXJH1Y0muSfirpHnffuyYTWmFmtl/SbndfV+9VNbMPSpqR\n9Cfu/u7eY/9d0il3f6D3Ijzh7n+wlvNcqkW28wuSZtz9j9dybsvJzLZL2u7uT5jZqKTHJd0t6T9r\nHR3TC2znJ3WZHtO1vLK+XdI+d3/Z3ZuS/kzSXWs4H1wCd/+RpFNvefguSQ/3vn5Y554ERVtkO9cd\ndz/s7k/0vp6W9Kykq7XOjukFtvOytZZhfbWkVxd8/5ou8521RC7p+2b2uJndt9aTWWFb3f1w7+sj\nkrau5WRW2P1m9vPebZKibw28lZldK+k2ST/ROj6mb9lO6TI9pvyCcfV8wN1/VdLHJH2697/V656f\nu8+2Xt9y9BVJ10u6VdJhSV9c2+ksHzMbkfQtSZ9196mFP1tPx/Q823nZHtO1DOuDknYu+H5H77F1\nyd0P9v48Juk7OncbaL062rsn+Pq9wWNrPJ8V4e5H3b3j7l1JX9U6OaZmVte5APuGu3+79/C6O6bn\n287L+ZiuZVj/VNINZvZ2M+uT9FuSHlnD+awYMxvu/RJDZjYs6SOSnr7w3yraI5Lu7X19r6TvruFc\nVszr4dXzca2DY2pmJulrkp519y8t+NG6OqaLbeflfEzXdFFM720x/0NSVdJD7v7f1mwyK8jMrtO5\nq2lJqkn60/WyrWb2TUl36Fy3sqOS/kjS/5P055J26VyXxU+6e9G/nFtkO+/Quf9ddkn7JX1qwX3d\nIpnZByT9WNJTkrq9hz+vc/dz180xvcB23qPL9JiyghEACsAvGAGgAIQ1ABSAsAaAAhDWAFAAwhoA\nCkBYA0ABCGsAKABhDQAF+P9qwVSio8k6fwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "img = visualize_class_activation(model, layer_idx, filter_indices=filter_idx, input_range=(0., 1.))\n", + "plt.imshow(img[..., 0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Bit better but still seems noisy. Lets examining the losses with `verbose=True` and tuning the weights." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Debugging step 2: Tuning regularization weights" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "One of the issues with activation maximization is that the input can go out of the training distribution space. Total variation and L-p norm are used to provide some hardcoded image priors for natural images. For example, Total variation ensures that images are blobber and not scattered. Unfotunately, sometimes these losses can dominate the main `ActivationMaximization` loss.\n", + "\n", + "Lets see what individual losses are, with `verbose=True`" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Working on filters: [0]\n", + "Iteration: 1, named_losses: [('ActivationMax Loss', 0.10967041),\n", + " ('L-6.0 Norm Loss', 0.019846421),\n", + " ('TV(2.0) Loss', 0.096159279)], overall loss: 0.225676104426\n", + "Iteration: 2, named_losses: [('ActivationMax Loss', 90.042969),\n", + " ('L-6.0 Norm Loss', 0.17769031),\n", + " ('TV(2.0) Loss', 551.70789)], overall loss: 641.928527832\n", + "Iteration: 3, named_losses: [('ActivationMax Loss', 44.526703),\n", + " ('L-6.0 Norm Loss', 0.18987384),\n", + " ('TV(2.0) Loss', 159.56909)], overall loss: 204.285675049\n", + "Iteration: 4, named_losses: [('ActivationMax Loss', 23.361303),\n", + " ('L-6.0 Norm Loss', 0.13794167),\n", + " ('TV(2.0) Loss', 112.50371)], overall loss: 136.002960205\n", + "Iteration: 5, named_losses: [('ActivationMax Loss', -15.361121),\n", + " ('L-6.0 Norm Loss', 0.14293845),\n", + " ('TV(2.0) Loss', 100.39212)], overall loss: 85.1739349365\n", + "Iteration: 6, named_losses: [('ActivationMax Loss', 75.284683),\n", + " ('L-6.0 Norm Loss', 0.15359172),\n", + " ('TV(2.0) Loss', 83.804077)], overall loss: 159.242355347\n", + "Iteration: 7, named_losses: [('ActivationMax Loss', 5.0808225),\n", + " ('L-6.0 Norm Loss', 0.13061701),\n", + " ('TV(2.0) Loss', 65.153641)], overall loss: 70.3650817871\n", + "Iteration: 8, named_losses: [('ActivationMax Loss', 22.015848),\n", + " ('L-6.0 Norm Loss', 0.13103807),\n", + " ('TV(2.0) Loss', 59.6511)], overall loss: 81.7979888916\n", + "Iteration: 9, named_losses: [('ActivationMax Loss', 35.015167),\n", + " ('L-6.0 Norm Loss', 0.12459699),\n", + " ('TV(2.0) Loss', 53.739624)], overall loss: 88.8793869019\n", + "Iteration: 10, named_losses: [('ActivationMax Loss', 55.401405),\n", + " ('L-6.0 Norm Loss', 0.13250929),\n", + " ('TV(2.0) Loss', 45.11689)], overall loss: 100.650802612\n", + "Iteration: 11, named_losses: [('ActivationMax Loss', -4.8043528),\n", + " ('L-6.0 Norm Loss', 0.11706653),\n", + " ('TV(2.0) Loss', 40.761295)], overall loss: 36.0740089417\n", + "Iteration: 12, named_losses: [('ActivationMax Loss', 10.57591),\n", + " ('L-6.0 Norm Loss', 0.13121235),\n", + " ('TV(2.0) Loss', 43.159672)], overall loss: 53.8667945862\n", + "Iteration: 13, named_losses: [('ActivationMax Loss', 40.727619),\n", + " ('L-6.0 Norm Loss', 0.12652841),\n", + " ('TV(2.0) Loss', 41.633461)], overall loss: 82.4876098633\n", + "Iteration: 14, named_losses: [('ActivationMax Loss', 14.927219),\n", + " ('L-6.0 Norm Loss', 0.1196532),\n", + " ('TV(2.0) Loss', 36.713367)], overall loss: 51.7602386475\n", + "Iteration: 15, named_losses: [('ActivationMax Loss', 20.032404),\n", + " ('L-6.0 Norm Loss', 0.12844129),\n", + " ('TV(2.0) Loss', 42.132553)], overall loss: 62.2933959961\n", + "Iteration: 16, named_losses: [('ActivationMax Loss', 29.335258),\n", + " ('L-6.0 Norm Loss', 0.1271154),\n", + " ('TV(2.0) Loss', 41.453941)], overall loss: 70.9163131714\n", + "Iteration: 17, named_losses: [('ActivationMax Loss', 27.911406),\n", + " ('L-6.0 Norm Loss', 0.11712277),\n", + " ('TV(2.0) Loss', 37.992592)], overall loss: 66.0211181641\n", + "Iteration: 18, named_losses: [('ActivationMax Loss', 23.953535),\n", + " ('L-6.0 Norm Loss', 0.1218226),\n", + " ('TV(2.0) Loss', 38.620296)], overall loss: 62.6956558228\n", + "Iteration: 19, named_losses: [('ActivationMax Loss', 10.152231),\n", + " ('L-6.0 Norm Loss', 0.11484435),\n", + " ('TV(2.0) Loss', 36.128216)], overall loss: 46.3952903748\n", + "Iteration: 20, named_losses: [('ActivationMax Loss', 13.76642),\n", + " ('L-6.0 Norm Loss', 0.11480057),\n", + " ('TV(2.0) Loss', 33.955837)], overall loss: 47.837059021\n", + "Iteration: 21, named_losses: [('ActivationMax Loss', 15.035786),\n", + " ('L-6.0 Norm Loss', 0.11178455),\n", + " ('TV(2.0) Loss', 27.408426)], overall loss: 42.5559959412\n", + "Iteration: 22, named_losses: [('ActivationMax Loss', -0.31016961),\n", + " ('L-6.0 Norm Loss', 0.11329994),\n", + " ('TV(2.0) Loss', 30.050087)], overall loss: 29.8532180786\n", + "Iteration: 23, named_losses: [('ActivationMax Loss', 12.955035),\n", + " ('L-6.0 Norm Loss', 0.12168876),\n", + " ('TV(2.0) Loss', 33.193039)], overall loss: 46.2697639465\n", + "Iteration: 24, named_losses: [('ActivationMax Loss', 29.826969),\n", + " ('L-6.0 Norm Loss', 0.11918812),\n", + " ('TV(2.0) Loss', 29.780972)], overall loss: 59.7271270752\n", + "Iteration: 25, named_losses: [('ActivationMax Loss', 18.934155),\n", + " ('L-6.0 Norm Loss', 0.11091015),\n", + " ('TV(2.0) Loss', 29.750998)], overall loss: 48.7960624695\n", + "Iteration: 26, named_losses: [('ActivationMax Loss', 18.668903),\n", + " ('L-6.0 Norm Loss', 0.11504311),\n", + " ('TV(2.0) Loss', 31.476545)], overall loss: 50.2604904175\n", + "Iteration: 27, named_losses: [('ActivationMax Loss', 12.106668),\n", + " ('L-6.0 Norm Loss', 0.11491664),\n", + " ('TV(2.0) Loss', 28.009195)], overall loss: 40.2307815552\n", + "Iteration: 28, named_losses: [('ActivationMax Loss', 26.159355),\n", + " ('L-6.0 Norm Loss', 0.10846938),\n", + " ('TV(2.0) Loss', 24.053038)], overall loss: 50.3208618164\n", + "Iteration: 29, named_losses: [('ActivationMax Loss', -9.9099913),\n", + " ('L-6.0 Norm Loss', 0.11422635),\n", + " ('TV(2.0) Loss', 26.7274)], overall loss: 16.931634903\n", + "Iteration: 30, named_losses: [('ActivationMax Loss', 19.591814),\n", + " ('L-6.0 Norm Loss', 0.12619916),\n", + " ('TV(2.0) Loss', 31.262138)], overall loss: 50.9801521301\n", + "Iteration: 31, named_losses: [('ActivationMax Loss', 22.177572),\n", + " ('L-6.0 Norm Loss', 0.11361578),\n", + " ('TV(2.0) Loss', 25.69663)], overall loss: 47.9878158569\n", + "Iteration: 32, named_losses: [('ActivationMax Loss', -0.57514542),\n", + " ('L-6.0 Norm Loss', 0.11718656),\n", + " ('TV(2.0) Loss', 27.174795)], overall loss: 26.7168369293\n", + "Iteration: 33, named_losses: [('ActivationMax Loss', 19.889954),\n", + " ('L-6.0 Norm Loss', 0.11729637),\n", + " ('TV(2.0) Loss', 25.991343)], overall loss: 45.9985923767\n", + "Iteration: 34, named_losses: [('ActivationMax Loss', 12.599888),\n", + " ('L-6.0 Norm Loss', 0.11288583),\n", + " ('TV(2.0) Loss', 25.295868)], overall loss: 38.0086402893\n", + "Iteration: 35, named_losses: [('ActivationMax Loss', -41.101494),\n", + " ('L-6.0 Norm Loss', 0.11398865),\n", + " ('TV(2.0) Loss', 22.315483)], overall loss: -18.6720237732\n", + "Iteration: 36, named_losses: [('ActivationMax Loss', 34.294285),\n", + " ('L-6.0 Norm Loss', 0.13179369),\n", + " ('TV(2.0) Loss', 36.184116)], overall loss: 70.6101989746\n", + "Iteration: 37, named_losses: [('ActivationMax Loss', -3.9178276),\n", + " ('L-6.0 Norm Loss', 0.11781346),\n", + " ('TV(2.0) Loss', 25.747129)], overall loss: 21.9471149445\n", + "Iteration: 38, named_losses: [('ActivationMax Loss', 17.368586),\n", + " ('L-6.0 Norm Loss', 0.12199003),\n", + " ('TV(2.0) Loss', 31.041677)], overall loss: 48.5322532654\n", + "Iteration: 39, named_losses: [('ActivationMax Loss', 18.262033),\n", + " ('L-6.0 Norm Loss', 0.11834692),\n", + " ('TV(2.0) Loss', 25.679714)], overall loss: 44.0600967407\n", + "Iteration: 40, named_losses: [('ActivationMax Loss', 2.2268274),\n", + " ('L-6.0 Norm Loss', 0.113911),\n", + " ('TV(2.0) Loss', 22.104404)], overall loss: 24.445142746\n", + "Iteration: 41, named_losses: [('ActivationMax Loss', 20.706818),\n", + " ('L-6.0 Norm Loss', 0.11937075),\n", + " ('TV(2.0) Loss', 24.867575)], overall loss: 45.6937637329\n", + "Iteration: 42, named_losses: [('ActivationMax Loss', 14.735401),\n", + " ('L-6.0 Norm Loss', 0.11842228),\n", + " ('TV(2.0) Loss', 24.662655)], overall loss: 39.5164794922\n", + "Iteration: 43, named_losses: [('ActivationMax Loss', 13.885771),\n", + " ('L-6.0 Norm Loss', 0.12191582),\n", + " ('TV(2.0) Loss', 25.836504)], overall loss: 39.8441925049\n", + "Iteration: 44, named_losses: [('ActivationMax Loss', -5.2630658),\n", + " ('L-6.0 Norm Loss', 0.12078433),\n", + " ('TV(2.0) Loss', 23.513697)], overall loss: 18.3714141846\n", + "Iteration: 45, named_losses: [('ActivationMax Loss', 9.809494),\n", + " ('L-6.0 Norm Loss', 0.12206985),\n", + " ('TV(2.0) Loss', 23.725224)], overall loss: 33.6567878723\n", + "Iteration: 46, named_losses: [('ActivationMax Loss', 6.8524303),\n", + " ('L-6.0 Norm Loss', 0.12363367),\n", + " ('TV(2.0) Loss', 26.525005)], overall loss: 33.5010681152\n", + "Iteration: 47, named_losses: [('ActivationMax Loss', 11.348599),\n", + " ('L-6.0 Norm Loss', 0.12038522),\n", + " ('TV(2.0) Loss', 24.488142)], overall loss: 35.9571266174\n", + "Iteration: 48, named_losses: [('ActivationMax Loss', 2.8665729),\n", + " ('L-6.0 Norm Loss', 0.11760436),\n", + " ('TV(2.0) Loss', 21.651459)], overall loss: 24.635635376\n", + "Iteration: 49, named_losses: [('ActivationMax Loss', 4.8449688),\n", + " ('L-6.0 Norm Loss', 0.11723565),\n", + " ('TV(2.0) Loss', 23.366207)], overall loss: 28.3284111023\n", + "Iteration: 50, named_losses: [('ActivationMax Loss', 18.210569),\n", + " ('L-6.0 Norm Loss', 0.1150263),\n", + " ('TV(2.0) Loss', 21.581062)], overall loss: 39.9066581726\n", + "Iteration: 51, named_losses: [('ActivationMax Loss', 17.929239),\n", + " ('L-6.0 Norm Loss', 0.11638901),\n", + " ('TV(2.0) Loss', 21.929085)], overall loss: 39.9747123718\n", + "Iteration: 52, named_losses: [('ActivationMax Loss', 15.414089),\n", + " ('L-6.0 Norm Loss', 0.11842351),\n", + " ('TV(2.0) Loss', 20.981009)], overall loss: 36.5135192871\n", + "Iteration: 53, named_losses: [('ActivationMax Loss', 14.565675),\n", + " ('L-6.0 Norm Loss', 0.11888973),\n", + " ('TV(2.0) Loss', 19.981232)], overall loss: 34.6657943726\n", + "Iteration: 54, named_losses: [('ActivationMax Loss', -7.629169),\n", + " ('L-6.0 Norm Loss', 0.11660278),\n", + " ('TV(2.0) Loss', 19.930593)], overall loss: 12.4180278778\n", + "Iteration: 55, named_losses: [('ActivationMax Loss', -9.2835636),\n", + " ('L-6.0 Norm Loss', 0.12462684),\n", + " ('TV(2.0) Loss', 24.942701)], overall loss: 15.7837648392\n", + "Iteration: 56, named_losses: [('ActivationMax Loss', 22.102793),\n", + " ('L-6.0 Norm Loss', 0.13018991),\n", + " ('TV(2.0) Loss', 24.431879)], overall loss: 46.6648635864\n", + "Iteration: 57, named_losses: [('ActivationMax Loss', 2.0587075),\n", + " ('L-6.0 Norm Loss', 0.12409266),\n", + " ('TV(2.0) Loss', 25.90498)], overall loss: 28.0877799988\n", + "Iteration: 58, named_losses: [('ActivationMax Loss', -11.187583),\n", + " ('L-6.0 Norm Loss', 0.12915167),\n", + " ('TV(2.0) Loss', 29.081146)], overall loss: 18.0227146149\n", + "Iteration: 59, named_losses: [('ActivationMax Loss', 19.692316),\n", + " ('L-6.0 Norm Loss', 0.13147646),\n", + " ('TV(2.0) Loss', 25.699236)], overall loss: 45.5230293274\n", + "Iteration: 60, named_losses: [('ActivationMax Loss', 4.642066),\n", + " ('L-6.0 Norm Loss', 0.12534319),\n", + " ('TV(2.0) Loss', 22.748716)], overall loss: 27.5161247253\n", + "Iteration: 61, named_losses: [('ActivationMax Loss', 2.2751019),\n", + " ('L-6.0 Norm Loss', 0.1270387),\n", + " ('TV(2.0) Loss', 23.491747)], overall loss: 25.8938865662\n", + "Iteration: 62, named_losses: [('ActivationMax Loss', 6.70854),\n", + " ('L-6.0 Norm Loss', 0.1286436),\n", + " ('TV(2.0) Loss', 23.232197)], overall loss: 30.0693798065\n", + "Iteration: 63, named_losses: [('ActivationMax Loss', 15.771412),\n", + " ('L-6.0 Norm Loss', 0.12904041),\n", + " ('TV(2.0) Loss', 24.872873)], overall loss: 40.7733268738\n", + "Iteration: 64, named_losses: [('ActivationMax Loss', 6.2208166),\n", + " ('L-6.0 Norm Loss', 0.12666212),\n", + " ('TV(2.0) Loss', 20.434248)], overall loss: 26.7817268372\n", + "Iteration: 65, named_losses: [('ActivationMax Loss', 18.670204),\n", + " ('L-6.0 Norm Loss', 0.13535048),\n", + " ('TV(2.0) Loss', 23.579376)], overall loss: 42.3849334717\n", + "Iteration: 66, named_losses: [('ActivationMax Loss', -6.9678836),\n", + " ('L-6.0 Norm Loss', 0.13685104),\n", + " ('TV(2.0) Loss', 23.340366)], overall loss: 16.5093345642\n", + "Iteration: 67, named_losses: [('ActivationMax Loss', 7.7851453),\n", + " ('L-6.0 Norm Loss', 0.13469891),\n", + " ('TV(2.0) Loss', 24.526695)], overall loss: 32.4465408325\n", + "Iteration: 68, named_losses: [('ActivationMax Loss', 9.8635778),\n", + " ('L-6.0 Norm Loss', 0.13160956),\n", + " ('TV(2.0) Loss', 21.773907)], overall loss: 31.7690944672\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Iteration: 69, named_losses: [('ActivationMax Loss', -7.86832),\n", + " ('L-6.0 Norm Loss', 0.12430913),\n", + " ('TV(2.0) Loss', 19.006834)], overall loss: 11.2628231049\n", + "Iteration: 70, named_losses: [('ActivationMax Loss', 6.961998),\n", + " ('L-6.0 Norm Loss', 0.13294569),\n", + " ('TV(2.0) Loss', 25.145958)], overall loss: 32.240901947\n", + "Iteration: 71, named_losses: [('ActivationMax Loss', 10.819974),\n", + " ('L-6.0 Norm Loss', 0.13191622),\n", + " ('TV(2.0) Loss', 26.172354)], overall loss: 37.1242446899\n", + "Iteration: 72, named_losses: [('ActivationMax Loss', 7.0311332),\n", + " ('L-6.0 Norm Loss', 0.13084528),\n", + " ('TV(2.0) Loss', 23.318134)], overall loss: 30.4801120758\n", + "Iteration: 73, named_losses: [('ActivationMax Loss', -16.792475),\n", + " ('L-6.0 Norm Loss', 0.12665528),\n", + " ('TV(2.0) Loss', 18.182775)], overall loss: 1.51695632935\n", + "Iteration: 74, named_losses: [('ActivationMax Loss', -64.619156),\n", + " ('L-6.0 Norm Loss', 0.13929276),\n", + " ('TV(2.0) Loss', 25.115562)], overall loss: -39.3643035889\n", + "Iteration: 75, named_losses: [('ActivationMax Loss', 37.757179),\n", + " ('L-6.0 Norm Loss', 0.16326965),\n", + " ('TV(2.0) Loss', 38.784649)], overall loss: 76.7050933838\n", + "Iteration: 76, named_losses: [('ActivationMax Loss', -16.231476),\n", + " ('L-6.0 Norm Loss', 0.14219423),\n", + " ('TV(2.0) Loss', 28.980663)], overall loss: 12.8913822174\n", + "Iteration: 77, named_losses: [('ActivationMax Loss', 17.776403),\n", + " ('L-6.0 Norm Loss', 0.15210691),\n", + " ('TV(2.0) Loss', 32.234535)], overall loss: 50.1630477905\n", + "Iteration: 78, named_losses: [('ActivationMax Loss', 9.2634153),\n", + " ('L-6.0 Norm Loss', 0.13841547),\n", + " ('TV(2.0) Loss', 28.316826)], overall loss: 37.7186584473\n", + "Iteration: 79, named_losses: [('ActivationMax Loss', -6.9260678),\n", + " ('L-6.0 Norm Loss', 0.1354748),\n", + " ('TV(2.0) Loss', 22.891144)], overall loss: 16.1005516052\n", + "Iteration: 80, named_losses: [('ActivationMax Loss', 3.2690372),\n", + " ('L-6.0 Norm Loss', 0.14017531),\n", + " ('TV(2.0) Loss', 25.004829)], overall loss: 28.4140415192\n", + "Iteration: 81, named_losses: [('ActivationMax Loss', -1.2483882),\n", + " ('L-6.0 Norm Loss', 0.13623166),\n", + " ('TV(2.0) Loss', 24.1026)], overall loss: 22.9904441833\n", + "Iteration: 82, named_losses: [('ActivationMax Loss', 17.166887),\n", + " ('L-6.0 Norm Loss', 0.14036894),\n", + " ('TV(2.0) Loss', 26.516178)], overall loss: 43.8234329224\n", + "Iteration: 83, named_losses: [('ActivationMax Loss', 2.8295186),\n", + " ('L-6.0 Norm Loss', 0.14021321),\n", + " ('TV(2.0) Loss', 25.82448)], overall loss: 28.7942123413\n", + "Iteration: 84, named_losses: [('ActivationMax Loss', 29.993183),\n", + " ('L-6.0 Norm Loss', 0.14351471),\n", + " ('TV(2.0) Loss', 26.233187)], overall loss: 56.369884491\n", + "Iteration: 85, named_losses: [('ActivationMax Loss', 11.34177),\n", + " ('L-6.0 Norm Loss', 0.13424399),\n", + " ('TV(2.0) Loss', 21.253756)], overall loss: 32.7297706604\n", + "Iteration: 86, named_losses: [('ActivationMax Loss', 8.970705),\n", + " ('L-6.0 Norm Loss', 0.13230743),\n", + " ('TV(2.0) Loss', 21.327181)], overall loss: 30.4301929474\n", + "Iteration: 87, named_losses: [('ActivationMax Loss', 23.740351),\n", + " ('L-6.0 Norm Loss', 0.13155517),\n", + " ('TV(2.0) Loss', 21.487534)], overall loss: 45.3594398499\n", + "Iteration: 88, named_losses: [('ActivationMax Loss', 6.2988687),\n", + " ('L-6.0 Norm Loss', 0.13197291),\n", + " ('TV(2.0) Loss', 17.854584)], overall loss: 24.2854251862\n", + "Iteration: 89, named_losses: [('ActivationMax Loss', 11.549752),\n", + " ('L-6.0 Norm Loss', 0.13284065),\n", + " ('TV(2.0) Loss', 20.520691)], overall loss: 32.2032852173\n", + "Iteration: 90, named_losses: [('ActivationMax Loss', 8.323822),\n", + " ('L-6.0 Norm Loss', 0.13184153),\n", + " ('TV(2.0) Loss', 19.457457)], overall loss: 27.9131202698\n", + "Iteration: 91, named_losses: [('ActivationMax Loss', 5.7366724),\n", + " ('L-6.0 Norm Loss', 0.13303788),\n", + " ('TV(2.0) Loss', 20.408485)], overall loss: 26.2781963348\n", + "Iteration: 92, named_losses: [('ActivationMax Loss', -25.819521),\n", + " ('L-6.0 Norm Loss', 0.13619339),\n", + " ('TV(2.0) Loss', 21.691765)], overall loss: -3.99156188965\n", + "Iteration: 93, named_losses: [('ActivationMax Loss', -30.483067),\n", + " ('L-6.0 Norm Loss', 0.14973854),\n", + " ('TV(2.0) Loss', 29.057343)], overall loss: -1.27598571777\n", + "Iteration: 94, named_losses: [('ActivationMax Loss', 13.793601),\n", + " ('L-6.0 Norm Loss', 0.16340755),\n", + " ('TV(2.0) Loss', 32.326832)], overall loss: 46.2838401794\n", + "Iteration: 95, named_losses: [('ActivationMax Loss', 31.183784),\n", + " ('L-6.0 Norm Loss', 0.14961326),\n", + " ('TV(2.0) Loss', 24.82143)], overall loss: 56.1548271179\n", + "Iteration: 96, named_losses: [('ActivationMax Loss', 17.259251),\n", + " ('L-6.0 Norm Loss', 0.14362399),\n", + " ('TV(2.0) Loss', 18.799036)], overall loss: 36.2019119263\n", + "Iteration: 97, named_losses: [('ActivationMax Loss', 0.97077811),\n", + " ('L-6.0 Norm Loss', 0.13634863),\n", + " ('TV(2.0) Loss', 19.329653)], overall loss: 20.4367790222\n", + "Iteration: 98, named_losses: [('ActivationMax Loss', -3.9802792),\n", + " ('L-6.0 Norm Loss', 0.13912176),\n", + " ('TV(2.0) Loss', 19.921387)], overall loss: 16.0802288055\n", + "Iteration: 99, named_losses: [('ActivationMax Loss', -6.4336305),\n", + " ('L-6.0 Norm Loss', 0.13813293),\n", + " ('TV(2.0) Loss', 23.624022)], overall loss: 17.3285236359\n", + "Iteration: 100, named_losses: [('ActivationMax Loss', 13.822511),\n", + " ('L-6.0 Norm Loss', 0.14578609),\n", + " ('TV(2.0) Loss', 26.769493)], overall loss: 40.7377891541\n", + "Iteration: 101, named_losses: [('ActivationMax Loss', 8.2403793),\n", + " ('L-6.0 Norm Loss', 0.147237),\n", + " ('TV(2.0) Loss', 23.171995)], overall loss: 31.5596122742\n", + "Iteration: 102, named_losses: [('ActivationMax Loss', 0.53178829),\n", + " ('L-6.0 Norm Loss', 0.13954067),\n", + " ('TV(2.0) Loss', 19.824682)], overall loss: 20.496011734\n", + "Iteration: 103, named_losses: [('ActivationMax Loss', 18.993271),\n", + " ('L-6.0 Norm Loss', 0.14411229),\n", + " ('TV(2.0) Loss', 22.154919)], overall loss: 41.292301178\n", + "Iteration: 104, named_losses: [('ActivationMax Loss', 22.325058),\n", + " ('L-6.0 Norm Loss', 0.13967574),\n", + " ('TV(2.0) Loss', 20.194368)], overall loss: 42.6591033936\n", + "Iteration: 105, named_losses: [('ActivationMax Loss', -11.289387),\n", + " ('L-6.0 Norm Loss', 0.13848627),\n", + " ('TV(2.0) Loss', 18.482489)], overall loss: 7.33158779144\n", + "Iteration: 106, named_losses: [('ActivationMax Loss', 19.812361),\n", + " ('L-6.0 Norm Loss', 0.14418884),\n", + " ('TV(2.0) Loss', 29.121258)], overall loss: 49.0778045654\n", + "Iteration: 107, named_losses: [('ActivationMax Loss', 10.308026),\n", + " ('L-6.0 Norm Loss', 0.14272055),\n", + " ('TV(2.0) Loss', 26.580961)], overall loss: 37.0317077637\n", + "Iteration: 108, named_losses: [('ActivationMax Loss', 13.252249),\n", + " ('L-6.0 Norm Loss', 0.13928397),\n", + " ('TV(2.0) Loss', 21.175911)], overall loss: 34.5674438477\n", + "Iteration: 109, named_losses: [('ActivationMax Loss', 17.121742),\n", + " ('L-6.0 Norm Loss', 0.13878004),\n", + " ('TV(2.0) Loss', 19.328999)], overall loss: 36.5895233154\n", + "Iteration: 110, named_losses: [('ActivationMax Loss', 9.5921831),\n", + " ('L-6.0 Norm Loss', 0.13656689),\n", + " ('TV(2.0) Loss', 15.422892)], overall loss: 25.1516418457\n", + "Iteration: 111, named_losses: [('ActivationMax Loss', 2.8308051),\n", + " ('L-6.0 Norm Loss', 0.13554063),\n", + " ('TV(2.0) Loss', 17.60424)], overall loss: 20.5705871582\n", + "Iteration: 112, named_losses: [('ActivationMax Loss', -0.011163555),\n", + " ('L-6.0 Norm Loss', 0.1378545),\n", + " ('TV(2.0) Loss', 18.168804)], overall loss: 18.2954959869\n", + "Iteration: 113, named_losses: [('ActivationMax Loss', 6.9710631),\n", + " ('L-6.0 Norm Loss', 0.14135161),\n", + " ('TV(2.0) Loss', 22.607077)], overall loss: 29.7194919586\n", + "Iteration: 114, named_losses: [('ActivationMax Loss', 5.1358833),\n", + " ('L-6.0 Norm Loss', 0.14000328),\n", + " ('TV(2.0) Loss', 21.160994)], overall loss: 26.4368801117\n", + "Iteration: 115, named_losses: [('ActivationMax Loss', 6.351202),\n", + " ('L-6.0 Norm Loss', 0.1411808),\n", + " ('TV(2.0) Loss', 19.934265)], overall loss: 26.4266471863\n", + "Iteration: 116, named_losses: [('ActivationMax Loss', 16.242064),\n", + " ('L-6.0 Norm Loss', 0.14028978),\n", + " ('TV(2.0) Loss', 22.196245)], overall loss: 38.5785980225\n", + "Iteration: 117, named_losses: [('ActivationMax Loss', 12.283751),\n", + " ('L-6.0 Norm Loss', 0.1391342),\n", + " ('TV(2.0) Loss', 19.6318)], overall loss: 32.0546875\n", + "Iteration: 118, named_losses: [('ActivationMax Loss', -0.3984699),\n", + " ('L-6.0 Norm Loss', 0.14018209),\n", + " ('TV(2.0) Loss', 20.968685)], overall loss: 20.7103977203\n", + "Iteration: 119, named_losses: [('ActivationMax Loss', 1.2782077),\n", + " ('L-6.0 Norm Loss', 0.1411176),\n", + " ('TV(2.0) Loss', 25.693295)], overall loss: 27.1126194\n", + "Iteration: 120, named_losses: [('ActivationMax Loss', 1.6142691),\n", + " ('L-6.0 Norm Loss', 0.14284033),\n", + " ('TV(2.0) Loss', 26.066467)], overall loss: 27.8235759735\n", + "Iteration: 121, named_losses: [('ActivationMax Loss', -2.7197289),\n", + " ('L-6.0 Norm Loss', 0.14584912),\n", + " ('TV(2.0) Loss', 25.080069)], overall loss: 22.5061893463\n", + "Iteration: 122, named_losses: [('ActivationMax Loss', -3.3386731),\n", + " ('L-6.0 Norm Loss', 0.13967463),\n", + " ('TV(2.0) Loss', 19.906656)], overall loss: 16.7076568604\n", + "Iteration: 123, named_losses: [('ActivationMax Loss', -3.4754298),\n", + " ('L-6.0 Norm Loss', 0.14484164),\n", + " ('TV(2.0) Loss', 22.860584)], overall loss: 19.5299968719\n", + "Iteration: 124, named_losses: [('ActivationMax Loss', -0.68491912),\n", + " ('L-6.0 Norm Loss', 0.14253081),\n", + " ('TV(2.0) Loss', 20.519884)], overall loss: 19.9774951935\n", + "Iteration: 125, named_losses: [('ActivationMax Loss', 22.941128),\n", + " ('L-6.0 Norm Loss', 0.14729716),\n", + " ('TV(2.0) Loss', 23.199217)], overall loss: 46.2876434326\n", + "Iteration: 126, named_losses: [('ActivationMax Loss', -4.5684757),\n", + " ('L-6.0 Norm Loss', 0.13772653),\n", + " ('TV(2.0) Loss', 20.28812)], overall loss: 15.8573703766\n", + "Iteration: 127, named_losses: [('ActivationMax Loss', 16.050179),\n", + " ('L-6.0 Norm Loss', 0.14178565),\n", + " ('TV(2.0) Loss', 24.172766)], overall loss: 40.364730835\n", + "Iteration: 128, named_losses: [('ActivationMax Loss', 4.5027356),\n", + " ('L-6.0 Norm Loss', 0.13998523),\n", + " ('TV(2.0) Loss', 21.581245)], overall loss: 26.2239665985\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Iteration: 129, named_losses: [('ActivationMax Loss', -7.1793995),\n", + " ('L-6.0 Norm Loss', 0.14405647),\n", + " ('TV(2.0) Loss', 23.022863)], overall loss: 15.9875202179\n", + "Iteration: 130, named_losses: [('ActivationMax Loss', 5.9402132),\n", + " ('L-6.0 Norm Loss', 0.14623918),\n", + " ('TV(2.0) Loss', 23.35969)], overall loss: 29.4461421967\n", + "Iteration: 131, named_losses: [('ActivationMax Loss', 1.0267515),\n", + " ('L-6.0 Norm Loss', 0.14720772),\n", + " ('TV(2.0) Loss', 22.981525)], overall loss: 24.1554851532\n", + "Iteration: 132, named_losses: [('ActivationMax Loss', 4.6450725),\n", + " ('L-6.0 Norm Loss', 0.14419468),\n", + " ('TV(2.0) Loss', 21.29771)], overall loss: 26.086977005\n", + "Iteration: 133, named_losses: [('ActivationMax Loss', 0.007537432),\n", + " ('L-6.0 Norm Loss', 0.13789359),\n", + " ('TV(2.0) Loss', 19.453876)], overall loss: 19.5993080139\n", + "Iteration: 134, named_losses: [('ActivationMax Loss', -1.0594356),\n", + " ('L-6.0 Norm Loss', 0.13931875),\n", + " ('TV(2.0) Loss', 19.761322)], overall loss: 18.8412055969\n", + "Iteration: 135, named_losses: [('ActivationMax Loss', 7.4196968),\n", + " ('L-6.0 Norm Loss', 0.1505868),\n", + " ('TV(2.0) Loss', 21.84655)], overall loss: 29.4168338776\n", + "Iteration: 136, named_losses: [('ActivationMax Loss', 17.569426),\n", + " ('L-6.0 Norm Loss', 0.13987017),\n", + " ('TV(2.0) Loss', 19.763157)], overall loss: 37.4724502563\n", + "Iteration: 137, named_losses: [('ActivationMax Loss', 1.4961883),\n", + " ('L-6.0 Norm Loss', 0.13875692),\n", + " ('TV(2.0) Loss', 20.870302)], overall loss: 22.5052471161\n", + "Iteration: 138, named_losses: [('ActivationMax Loss', 8.3086748),\n", + " ('L-6.0 Norm Loss', 0.13992441),\n", + " ('TV(2.0) Loss', 20.650391)], overall loss: 29.0989894867\n", + "Iteration: 139, named_losses: [('ActivationMax Loss', 2.3694625),\n", + " ('L-6.0 Norm Loss', 0.13534236),\n", + " ('TV(2.0) Loss', 16.752016)], overall loss: 19.2568206787\n", + "Iteration: 140, named_losses: [('ActivationMax Loss', -0.8616699),\n", + " ('L-6.0 Norm Loss', 0.14023349),\n", + " ('TV(2.0) Loss', 20.509476)], overall loss: 19.7880401611\n", + "Iteration: 141, named_losses: [('ActivationMax Loss', 13.816118),\n", + " ('L-6.0 Norm Loss', 0.14275679),\n", + " ('TV(2.0) Loss', 21.423862)], overall loss: 35.3827362061\n", + "Iteration: 142, named_losses: [('ActivationMax Loss', 2.5248675),\n", + " ('L-6.0 Norm Loss', 0.13748702),\n", + " ('TV(2.0) Loss', 18.091711)], overall loss: 20.7540664673\n", + "Iteration: 143, named_losses: [('ActivationMax Loss', -3.206562),\n", + " ('L-6.0 Norm Loss', 0.13813293),\n", + " ('TV(2.0) Loss', 21.360903)], overall loss: 18.2924728394\n", + "Iteration: 144, named_losses: [('ActivationMax Loss', 6.5749974),\n", + " ('L-6.0 Norm Loss', 0.14156686),\n", + " ('TV(2.0) Loss', 22.748829)], overall loss: 29.4653930664\n", + "Iteration: 145, named_losses: [('ActivationMax Loss', 6.0858254),\n", + " ('L-6.0 Norm Loss', 0.14457776),\n", + " ('TV(2.0) Loss', 22.425077)], overall loss: 28.6554813385\n", + "Iteration: 146, named_losses: [('ActivationMax Loss', 18.826128),\n", + " ('L-6.0 Norm Loss', 0.14532252),\n", + " ('TV(2.0) Loss', 18.539486)], overall loss: 37.5109367371\n", + "Iteration: 147, named_losses: [('ActivationMax Loss', 16.36961),\n", + " ('L-6.0 Norm Loss', 0.13942106),\n", + " ('TV(2.0) Loss', 16.750109)], overall loss: 33.2591400146\n", + "Iteration: 148, named_losses: [('ActivationMax Loss', 4.4334254),\n", + " ('L-6.0 Norm Loss', 0.13719781),\n", + " ('TV(2.0) Loss', 15.547216)], overall loss: 20.1178398132\n", + "Iteration: 149, named_losses: [('ActivationMax Loss', -9.5690746),\n", + " ('L-6.0 Norm Loss', 0.13827126),\n", + " ('TV(2.0) Loss', 17.69347)], overall loss: 8.26266670227\n", + "Iteration: 150, named_losses: [('ActivationMax Loss', 4.7108569),\n", + " ('L-6.0 Norm Loss', 0.15085952),\n", + " ('TV(2.0) Loss', 23.591743)], overall loss: 28.4534606934\n", + "Iteration: 151, named_losses: [('ActivationMax Loss', -6.4696045),\n", + " ('L-6.0 Norm Loss', 0.14258096),\n", + " ('TV(2.0) Loss', 18.673189)], overall loss: 12.346165657\n", + "Iteration: 152, named_losses: [('ActivationMax Loss', 0.41995057),\n", + " ('L-6.0 Norm Loss', 0.14851125),\n", + " ('TV(2.0) Loss', 23.045656)], overall loss: 23.614118576\n", + "Iteration: 153, named_losses: [('ActivationMax Loss', -7.6219244),\n", + " ('L-6.0 Norm Loss', 0.14564931),\n", + " ('TV(2.0) Loss', 22.2505)], overall loss: 14.774225235\n", + "Iteration: 154, named_losses: [('ActivationMax Loss', 12.05593),\n", + " ('L-6.0 Norm Loss', 0.15178058),\n", + " ('TV(2.0) Loss', 24.82148)], overall loss: 37.0291900635\n", + "Iteration: 155, named_losses: [('ActivationMax Loss', 0.86837274),\n", + " ('L-6.0 Norm Loss', 0.14544351),\n", + " ('TV(2.0) Loss', 20.24081)], overall loss: 21.2546272278\n", + "Iteration: 156, named_losses: [('ActivationMax Loss', 23.04908),\n", + " ('L-6.0 Norm Loss', 0.14895928),\n", + " ('TV(2.0) Loss', 23.800201)], overall loss: 46.9982414246\n", + "Iteration: 157, named_losses: [('ActivationMax Loss', 2.4232233),\n", + " ('L-6.0 Norm Loss', 0.14053984),\n", + " ('TV(2.0) Loss', 20.258556)], overall loss: 22.8223190308\n", + "Iteration: 158, named_losses: [('ActivationMax Loss', 10.598669),\n", + " ('L-6.0 Norm Loss', 0.14183043),\n", + " ('TV(2.0) Loss', 18.053717)], overall loss: 28.794216156\n", + "Iteration: 159, named_losses: [('ActivationMax Loss', 3.020566),\n", + " ('L-6.0 Norm Loss', 0.1443003),\n", + " ('TV(2.0) Loss', 20.800238)], overall loss: 23.9651031494\n", + "Iteration: 160, named_losses: [('ActivationMax Loss', 25.645996),\n", + " ('L-6.0 Norm Loss', 0.14319931),\n", + " ('TV(2.0) Loss', 22.214815)], overall loss: 48.0040130615\n", + "Iteration: 161, named_losses: [('ActivationMax Loss', 6.3041306),\n", + " ('L-6.0 Norm Loss', 0.1384449),\n", + " ('TV(2.0) Loss', 16.968596)], overall loss: 23.4111709595\n", + "Iteration: 162, named_losses: [('ActivationMax Loss', -0.01965069),\n", + " ('L-6.0 Norm Loss', 0.1413354),\n", + " ('TV(2.0) Loss', 20.14209)], overall loss: 20.2637748718\n", + "Iteration: 163, named_losses: [('ActivationMax Loss', 0.49867323),\n", + " ('L-6.0 Norm Loss', 0.14000733),\n", + " ('TV(2.0) Loss', 18.644512)], overall loss: 19.2831935883\n", + "Iteration: 164, named_losses: [('ActivationMax Loss', -2.3237035),\n", + " ('L-6.0 Norm Loss', 0.14517689),\n", + " ('TV(2.0) Loss', 20.070904)], overall loss: 17.8923778534\n", + "Iteration: 165, named_losses: [('ActivationMax Loss', 7.3925242),\n", + " ('L-6.0 Norm Loss', 0.15013145),\n", + " ('TV(2.0) Loss', 21.897331)], overall loss: 29.4399871826\n", + "Iteration: 166, named_losses: [('ActivationMax Loss', 5.2124119),\n", + " ('L-6.0 Norm Loss', 0.14426507),\n", + " ('TV(2.0) Loss', 18.495733)], overall loss: 23.8524093628\n", + "Iteration: 167, named_losses: [('ActivationMax Loss', 13.014773),\n", + " ('L-6.0 Norm Loss', 0.14466369),\n", + " ('TV(2.0) Loss', 19.902832)], overall loss: 33.0622711182\n", + "Iteration: 168, named_losses: [('ActivationMax Loss', 0.78967464),\n", + " ('L-6.0 Norm Loss', 0.14475369),\n", + " ('TV(2.0) Loss', 21.297554)], overall loss: 22.2319831848\n", + "Iteration: 169, named_losses: [('ActivationMax Loss', 19.591866),\n", + " ('L-6.0 Norm Loss', 0.14816535),\n", + " ('TV(2.0) Loss', 21.806789)], overall loss: 41.5468215942\n", + "Iteration: 170, named_losses: [('ActivationMax Loss', 6.1454425),\n", + " ('L-6.0 Norm Loss', 0.14443256),\n", + " ('TV(2.0) Loss', 19.306719)], overall loss: 25.5965938568\n", + "Iteration: 171, named_losses: [('ActivationMax Loss', 9.5432463),\n", + " ('L-6.0 Norm Loss', 0.14281097),\n", + " ('TV(2.0) Loss', 22.170979)], overall loss: 31.8570365906\n", + "Iteration: 172, named_losses: [('ActivationMax Loss', 13.390896),\n", + " ('L-6.0 Norm Loss', 0.14476871),\n", + " ('TV(2.0) Loss', 21.516344)], overall loss: 35.0520095825\n", + "Iteration: 173, named_losses: [('ActivationMax Loss', 24.244375),\n", + " ('L-6.0 Norm Loss', 0.14403789),\n", + " ('TV(2.0) Loss', 20.840454)], overall loss: 45.2288665771\n", + "Iteration: 174, named_losses: [('ActivationMax Loss', 0.85208404),\n", + " ('L-6.0 Norm Loss', 0.14015433),\n", + " ('TV(2.0) Loss', 16.538235)], overall loss: 17.5304737091\n", + "Iteration: 175, named_losses: [('ActivationMax Loss', 1.7588488),\n", + " ('L-6.0 Norm Loss', 0.14218612),\n", + " ('TV(2.0) Loss', 22.549911)], overall loss: 24.4509468079\n", + "Iteration: 176, named_losses: [('ActivationMax Loss', -5.0747037),\n", + " ('L-6.0 Norm Loss', 0.14384584),\n", + " ('TV(2.0) Loss', 20.444496)], overall loss: 15.5136384964\n", + "Iteration: 177, named_losses: [('ActivationMax Loss', 15.295982),\n", + " ('L-6.0 Norm Loss', 0.15196899),\n", + " ('TV(2.0) Loss', 23.03879)], overall loss: 38.4867401123\n", + "Iteration: 178, named_losses: [('ActivationMax Loss', 5.749764),\n", + " ('L-6.0 Norm Loss', 0.14730254),\n", + " ('TV(2.0) Loss', 18.009375)], overall loss: 23.9064407349\n", + "Iteration: 179, named_losses: [('ActivationMax Loss', 8.4967108),\n", + " ('L-6.0 Norm Loss', 0.14500356),\n", + " ('TV(2.0) Loss', 21.05901)], overall loss: 29.7007236481\n", + "Iteration: 180, named_losses: [('ActivationMax Loss', -0.24354187),\n", + " ('L-6.0 Norm Loss', 0.14490891),\n", + " ('TV(2.0) Loss', 18.796227)], overall loss: 18.697593689\n", + "Iteration: 181, named_losses: [('ActivationMax Loss', 4.210783),\n", + " ('L-6.0 Norm Loss', 0.14905636),\n", + " ('TV(2.0) Loss', 20.36252)], overall loss: 24.7223587036\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Iteration: 182, named_losses: [('ActivationMax Loss', 5.5114856),\n", + " ('L-6.0 Norm Loss', 0.14755604),\n", + " ('TV(2.0) Loss', 19.597157)], overall loss: 25.2561988831\n", + "Iteration: 183, named_losses: [('ActivationMax Loss', 3.7833672),\n", + " ('L-6.0 Norm Loss', 0.14659682),\n", + " ('TV(2.0) Loss', 19.136633)], overall loss: 23.0665969849\n", + "Iteration: 184, named_losses: [('ActivationMax Loss', -1.2726861),\n", + " ('L-6.0 Norm Loss', 0.15061265),\n", + " ('TV(2.0) Loss', 24.11661)], overall loss: 22.9945354462\n", + "Iteration: 185, named_losses: [('ActivationMax Loss', -23.002924),\n", + " ('L-6.0 Norm Loss', 0.15064785),\n", + " ('TV(2.0) Loss', 27.01885)], overall loss: 4.16657447815\n", + "Iteration: 186, named_losses: [('ActivationMax Loss', 31.019882),\n", + " ('L-6.0 Norm Loss', 0.15819547),\n", + " ('TV(2.0) Loss', 33.020836)], overall loss: 64.1989135742\n", + "Iteration: 187, named_losses: [('ActivationMax Loss', 0.46290451),\n", + " ('L-6.0 Norm Loss', 0.14659232),\n", + " ('TV(2.0) Loss', 22.239988)], overall loss: 22.8494853973\n", + "Iteration: 188, named_losses: [('ActivationMax Loss', 4.4330859),\n", + " ('L-6.0 Norm Loss', 0.14417209),\n", + " ('TV(2.0) Loss', 19.523363)], overall loss: 24.1006202698\n", + "Iteration: 189, named_losses: [('ActivationMax Loss', 5.0704885),\n", + " ('L-6.0 Norm Loss', 0.1473676),\n", + " ('TV(2.0) Loss', 21.153931)], overall loss: 26.3717861176\n", + "Iteration: 190, named_losses: [('ActivationMax Loss', 0.25737718),\n", + " ('L-6.0 Norm Loss', 0.14720057),\n", + " ('TV(2.0) Loss', 21.514847)], overall loss: 21.919424057\n", + "Iteration: 191, named_losses: [('ActivationMax Loss', -0.63067728),\n", + " ('L-6.0 Norm Loss', 0.14896974),\n", + " ('TV(2.0) Loss', 22.06963)], overall loss: 21.5879230499\n", + "Iteration: 192, named_losses: [('ActivationMax Loss', -2.6707416),\n", + " ('L-6.0 Norm Loss', 0.14802651),\n", + " ('TV(2.0) Loss', 21.951017)], overall loss: 19.4283027649\n", + "Iteration: 193, named_losses: [('ActivationMax Loss', 1.8921858),\n", + " ('L-6.0 Norm Loss', 0.1502672),\n", + " ('TV(2.0) Loss', 24.60985)], overall loss: 26.6523036957\n", + "Iteration: 194, named_losses: [('ActivationMax Loss', -19.291176),\n", + " ('L-6.0 Norm Loss', 0.15216558),\n", + " ('TV(2.0) Loss', 23.190203)], overall loss: 4.0511932373\n", + "Iteration: 195, named_losses: [('ActivationMax Loss', 24.705299),\n", + " ('L-6.0 Norm Loss', 0.15985213),\n", + " ('TV(2.0) Loss', 23.547394)], overall loss: 48.4125442505\n", + "Iteration: 196, named_losses: [('ActivationMax Loss', 22.2742),\n", + " ('L-6.0 Norm Loss', 0.15275373),\n", + " ('TV(2.0) Loss', 19.770607)], overall loss: 42.1975631714\n", + "Iteration: 197, named_losses: [('ActivationMax Loss', 2.6579821),\n", + " ('L-6.0 Norm Loss', 0.15066953),\n", + " ('TV(2.0) Loss', 17.739418)], overall loss: 20.5480690002\n", + "Iteration: 198, named_losses: [('ActivationMax Loss', 10.802706),\n", + " ('L-6.0 Norm Loss', 0.15750752),\n", + " ('TV(2.0) Loss', 21.135334)], overall loss: 32.0955467224\n", + "Iteration: 199, named_losses: [('ActivationMax Loss', 0.93764132),\n", + " ('L-6.0 Norm Loss', 0.14949647),\n", + " ('TV(2.0) Loss', 20.707083)], overall loss: 21.7942199707\n", + "Iteration: 200, named_losses: [('ActivationMax Loss', 6.8986373),\n", + " ('L-6.0 Norm Loss', 0.15598151),\n", + " ('TV(2.0) Loss', 21.785072)], overall loss: 28.8396911621\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "img = visualize_class_activation(model, layer_idx, filter_indices=filter_idx, input_range=(0., 1.), verbose=True)\n", + "plt.imshow(img[..., 0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notice how `ActivationMax Loss` is bouncing around and not converging? This is because weights for other losses are dominating the overall loss. The simplest way to tune these weights is to first start with `0.` weights for all regularization losses. Also, we want to disable `Jitter`, which is the default `ImageModifier`. Jitter tends to work for larger images. In smaller images, there is a risk that it destroys information by jittering the input space too much." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Working on filters: [0]\n", + "Iteration: 1, named_losses: [('ActivationMax Loss', 0.0050146244)], overall loss: 0.00501462444663\n", + "Iteration: 2, named_losses: [('ActivationMax Loss', 53.961239)], overall loss: 53.9612388611\n", + "Iteration: 3, named_losses: [('ActivationMax Loss', -207.18614)], overall loss: -207.186141968\n", + "Iteration: 4, named_losses: [('ActivationMax Loss', -445.92752)], overall loss: -445.927520752\n", + "Iteration: 5, named_losses: [('ActivationMax Loss', -665.17352)], overall loss: -665.173522949\n", + "Iteration: 6, named_losses: [('ActivationMax Loss', -871.44458)], overall loss: -871.444580078\n", + "Iteration: 7, named_losses: [('ActivationMax Loss', -1055.3274)], overall loss: -1055.32739258\n", + "Iteration: 8, named_losses: [('ActivationMax Loss', -1238.3857)], overall loss: -1238.38574219\n", + "Iteration: 9, named_losses: [('ActivationMax Loss', -1408.6544)], overall loss: -1408.65441895\n", + "Iteration: 10, named_losses: [('ActivationMax Loss', -1568.5303)], overall loss: -1568.53027344\n", + "Iteration: 11, named_losses: [('ActivationMax Loss', -1722.9272)], overall loss: -1722.92724609\n", + "Iteration: 12, named_losses: [('ActivationMax Loss', -1870.2908)], overall loss: -1870.29077148\n", + "Iteration: 13, named_losses: [('ActivationMax Loss', -2012.9381)], overall loss: -2012.93811035\n", + "Iteration: 14, named_losses: [('ActivationMax Loss', -2153.0166)], overall loss: -2153.01660156\n", + "Iteration: 15, named_losses: [('ActivationMax Loss', -2283.6885)], overall loss: -2283.68847656\n", + "Iteration: 16, named_losses: [('ActivationMax Loss', -2413.585)], overall loss: -2413.58496094\n", + "Iteration: 17, named_losses: [('ActivationMax Loss', -2534.3306)], overall loss: -2534.33056641\n", + "Iteration: 18, named_losses: [('ActivationMax Loss', -2660.2173)], overall loss: -2660.21728516\n", + "Iteration: 19, named_losses: [('ActivationMax Loss', -2781.679)], overall loss: -2781.67895508\n", + "Iteration: 20, named_losses: [('ActivationMax Loss', -2898.5571)], overall loss: -2898.55712891\n", + "Iteration: 21, named_losses: [('ActivationMax Loss', -3022.3503)], overall loss: -3022.3503418\n", + "Iteration: 22, named_losses: [('ActivationMax Loss', -3138.2993)], overall loss: -3138.29931641\n", + "Iteration: 23, named_losses: [('ActivationMax Loss', -3251.2092)], overall loss: -3251.20922852\n", + "Iteration: 24, named_losses: [('ActivationMax Loss', -3364.9465)], overall loss: -3364.9465332\n", + "Iteration: 25, named_losses: [('ActivationMax Loss', -3480.0325)], overall loss: -3480.0324707\n", + "Iteration: 26, named_losses: [('ActivationMax Loss', -3591.6956)], overall loss: -3591.69555664\n", + "Iteration: 27, named_losses: [('ActivationMax Loss', -3699.0679)], overall loss: -3699.06787109\n", + "Iteration: 28, named_losses: [('ActivationMax Loss', -3813.7942)], overall loss: -3813.79418945\n", + "Iteration: 29, named_losses: [('ActivationMax Loss', -3923.22)], overall loss: -3923.2199707\n", + "Iteration: 30, named_losses: [('ActivationMax Loss', -4030.2146)], overall loss: -4030.21459961\n", + "Iteration: 31, named_losses: [('ActivationMax Loss', -4136.3218)], overall loss: -4136.32177734\n", + "Iteration: 32, named_losses: [('ActivationMax Loss', -4245.0869)], overall loss: -4245.08691406\n", + "Iteration: 33, named_losses: [('ActivationMax Loss', -4353.457)], overall loss: -4353.45703125\n", + "Iteration: 34, named_losses: [('ActivationMax Loss', -4462.9282)], overall loss: -4462.92822266\n", + "Iteration: 35, named_losses: [('ActivationMax Loss', -4571.082)], overall loss: -4571.08203125\n", + "Iteration: 36, named_losses: [('ActivationMax Loss', -4676.0327)], overall loss: -4676.03271484\n", + "Iteration: 37, named_losses: [('ActivationMax Loss', -4783.4536)], overall loss: -4783.45361328\n", + "Iteration: 38, named_losses: [('ActivationMax Loss', -4887.8989)], overall loss: -4887.89892578\n", + "Iteration: 39, named_losses: [('ActivationMax Loss', -4992.0171)], overall loss: -4992.01708984\n", + "Iteration: 40, named_losses: [('ActivationMax Loss', -5099.3618)], overall loss: -5099.36181641\n", + "Iteration: 41, named_losses: [('ActivationMax Loss', -5202.0581)], overall loss: -5202.05810547\n", + "Iteration: 42, named_losses: [('ActivationMax Loss', -5304.7041)], overall loss: -5304.70410156\n", + "Iteration: 43, named_losses: [('ActivationMax Loss', -5411.623)], overall loss: -5411.62304688\n", + "Iteration: 44, named_losses: [('ActivationMax Loss', -5517.7222)], overall loss: -5517.72216797\n", + "Iteration: 45, named_losses: [('ActivationMax Loss', -5620.5137)], overall loss: -5620.51367188\n", + "Iteration: 46, named_losses: [('ActivationMax Loss', -5720.958)], overall loss: -5720.95800781\n", + "Iteration: 47, named_losses: [('ActivationMax Loss', -5825.8608)], overall loss: -5825.86083984\n", + "Iteration: 48, named_losses: [('ActivationMax Loss', -5929.8359)], overall loss: -5929.8359375\n", + "Iteration: 49, named_losses: [('ActivationMax Loss', -6031.5752)], overall loss: -6031.57519531\n", + "Iteration: 50, named_losses: [('ActivationMax Loss', -6133.6182)], overall loss: -6133.61816406\n", + "Iteration: 51, named_losses: [('ActivationMax Loss', -6237.8477)], overall loss: -6237.84765625\n", + "Iteration: 52, named_losses: [('ActivationMax Loss', -6340.4019)], overall loss: -6340.40185547\n", + "Iteration: 53, named_losses: [('ActivationMax Loss', -6442.6304)], overall loss: -6442.63037109\n", + "Iteration: 54, named_losses: [('ActivationMax Loss', -6542.6162)], overall loss: -6542.61621094\n", + "Iteration: 55, named_losses: [('ActivationMax Loss', -6644.9033)], overall loss: -6644.90332031\n", + "Iteration: 56, named_losses: [('ActivationMax Loss', -6749.5308)], overall loss: -6749.53076172\n", + "Iteration: 57, named_losses: [('ActivationMax Loss', -6850.4253)], overall loss: -6850.42529297\n", + "Iteration: 58, named_losses: [('ActivationMax Loss', -6948.5781)], overall loss: -6948.578125\n", + "Iteration: 59, named_losses: [('ActivationMax Loss', -7050.2979)], overall loss: -7050.29785156\n", + "Iteration: 60, named_losses: [('ActivationMax Loss', -7152.5884)], overall loss: -7152.58837891\n", + "Iteration: 61, named_losses: [('ActivationMax Loss', -7252.9385)], overall loss: -7252.93847656\n", + "Iteration: 62, named_losses: [('ActivationMax Loss', -7357.644)], overall loss: -7357.64404297\n", + "Iteration: 63, named_losses: [('ActivationMax Loss', -7459.3594)], overall loss: -7459.359375\n", + "Iteration: 64, named_losses: [('ActivationMax Loss', -7557.3955)], overall loss: -7557.39550781\n", + "Iteration: 65, named_losses: [('ActivationMax Loss', -7660.4834)], overall loss: -7660.48339844\n", + "Iteration: 66, named_losses: [('ActivationMax Loss', -7764.1616)], overall loss: -7764.16162109\n", + "Iteration: 67, named_losses: [('ActivationMax Loss', -7863.9443)], overall loss: -7863.94433594\n", + "Iteration: 68, named_losses: [('ActivationMax Loss', -7961.9766)], overall loss: -7961.9765625\n", + "Iteration: 69, named_losses: [('ActivationMax Loss', -8062.7041)], overall loss: -8062.70410156\n", + "Iteration: 70, named_losses: [('ActivationMax Loss', -8164.3115)], overall loss: -8164.31152344\n", + "Iteration: 71, named_losses: [('ActivationMax Loss', -8262.8379)], overall loss: -8262.83789062\n", + "Iteration: 72, named_losses: [('ActivationMax Loss', -8364.5381)], overall loss: -8364.53808594\n", + "Iteration: 73, named_losses: [('ActivationMax Loss', -8467.2578)], overall loss: -8467.2578125\n", + "Iteration: 74, named_losses: [('ActivationMax Loss', -8566.4766)], overall loss: -8566.4765625\n", + "Iteration: 75, named_losses: [('ActivationMax Loss', -8666.4297)], overall loss: -8666.4296875\n", + "Iteration: 76, named_losses: [('ActivationMax Loss', -8769.4893)], overall loss: -8769.48925781\n", + "Iteration: 77, named_losses: [('ActivationMax Loss', -8871.7666)], overall loss: -8871.76660156\n", + "Iteration: 78, named_losses: [('ActivationMax Loss', -8971.4561)], overall loss: -8971.45605469\n", + "Iteration: 79, named_losses: [('ActivationMax Loss', -9071.4238)], overall loss: -9071.42382812\n", + "Iteration: 80, named_losses: [('ActivationMax Loss', -9175.0049)], overall loss: -9175.00488281\n", + "Iteration: 81, named_losses: [('ActivationMax Loss', -9278.8027)], overall loss: -9278.80273438\n", + "Iteration: 82, named_losses: [('ActivationMax Loss', -9381.835)], overall loss: -9381.83496094\n", + "Iteration: 83, named_losses: [('ActivationMax Loss', -9484.8896)], overall loss: -9484.88964844\n", + "Iteration: 84, named_losses: [('ActivationMax Loss', -9585.1924)], overall loss: -9585.19238281\n", + "Iteration: 85, named_losses: [('ActivationMax Loss', -9688.6006)], overall loss: -9688.60058594\n", + "Iteration: 86, named_losses: [('ActivationMax Loss', -9792.8389)], overall loss: -9792.83886719\n", + "Iteration: 87, named_losses: [('ActivationMax Loss', -9895.8701)], overall loss: -9895.87011719\n", + "Iteration: 88, named_losses: [('ActivationMax Loss', -9998.8857)], overall loss: -9998.88574219\n", + "Iteration: 89, named_losses: [('ActivationMax Loss', -10100.454)], overall loss: -10100.4541016\n", + "Iteration: 90, named_losses: [('ActivationMax Loss', -10203.777)], overall loss: -10203.7773438\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Iteration: 91, named_losses: [('ActivationMax Loss', -10307.011)], overall loss: -10307.0107422\n", + "Iteration: 92, named_losses: [('ActivationMax Loss', -10408.33)], overall loss: -10408.3300781\n", + "Iteration: 93, named_losses: [('ActivationMax Loss', -10509.605)], overall loss: -10509.6054688\n", + "Iteration: 94, named_losses: [('ActivationMax Loss', -10611.914)], overall loss: -10611.9140625\n", + "Iteration: 95, named_losses: [('ActivationMax Loss', -10715.309)], overall loss: -10715.3085938\n", + "Iteration: 96, named_losses: [('ActivationMax Loss', -10816.861)], overall loss: -10816.8613281\n", + "Iteration: 97, named_losses: [('ActivationMax Loss', -10919.391)], overall loss: -10919.390625\n", + "Iteration: 98, named_losses: [('ActivationMax Loss', -11018.724)], overall loss: -11018.7236328\n", + "Iteration: 99, named_losses: [('ActivationMax Loss', -11121.286)], overall loss: -11121.2861328\n", + "Iteration: 100, named_losses: [('ActivationMax Loss', -11222.648)], overall loss: -11222.6484375\n", + "Iteration: 101, named_losses: [('ActivationMax Loss', -11324.901)], overall loss: -11324.9013672\n", + "Iteration: 102, named_losses: [('ActivationMax Loss', -11426.712)], overall loss: -11426.7119141\n", + "Iteration: 103, named_losses: [('ActivationMax Loss', -11526.515)], overall loss: -11526.5146484\n", + "Iteration: 104, named_losses: [('ActivationMax Loss', -11629.25)], overall loss: -11629.25\n", + "Iteration: 105, named_losses: [('ActivationMax Loss', -11731.313)], overall loss: -11731.3134766\n", + "Iteration: 106, named_losses: [('ActivationMax Loss', -11834.382)], overall loss: -11834.3818359\n", + "Iteration: 107, named_losses: [('ActivationMax Loss', -11934.563)], overall loss: -11934.5634766\n", + "Iteration: 108, named_losses: [('ActivationMax Loss', -12037.15)], overall loss: -12037.1503906\n", + "Iteration: 109, named_losses: [('ActivationMax Loss', -12137.655)], overall loss: -12137.6552734\n", + "Iteration: 110, named_losses: [('ActivationMax Loss', -12241.834)], overall loss: -12241.8339844\n", + "Iteration: 111, named_losses: [('ActivationMax Loss', -12343.878)], overall loss: -12343.8779297\n", + "Iteration: 112, named_losses: [('ActivationMax Loss', -12443.118)], overall loss: -12443.1181641\n", + "Iteration: 113, named_losses: [('ActivationMax Loss', -12543.653)], overall loss: -12543.6533203\n", + "Iteration: 114, named_losses: [('ActivationMax Loss', -12647.42)], overall loss: -12647.4199219\n", + "Iteration: 115, named_losses: [('ActivationMax Loss', -12748.266)], overall loss: -12748.265625\n", + "Iteration: 116, named_losses: [('ActivationMax Loss', -12852.801)], overall loss: -12852.8007812\n", + "Iteration: 117, named_losses: [('ActivationMax Loss', -12954.942)], overall loss: -12954.9423828\n", + "Iteration: 118, named_losses: [('ActivationMax Loss', -13057.168)], overall loss: -13057.1679688\n", + "Iteration: 119, named_losses: [('ActivationMax Loss', -13159.27)], overall loss: -13159.2695312\n", + "Iteration: 120, named_losses: [('ActivationMax Loss', -13261.791)], overall loss: -13261.7910156\n", + "Iteration: 121, named_losses: [('ActivationMax Loss', -13362.31)], overall loss: -13362.3095703\n", + "Iteration: 122, named_losses: [('ActivationMax Loss', -13466.449)], overall loss: -13466.4492188\n", + "Iteration: 123, named_losses: [('ActivationMax Loss', -13570.274)], overall loss: -13570.2744141\n", + "Iteration: 124, named_losses: [('ActivationMax Loss', -13669.906)], overall loss: -13669.90625\n", + "Iteration: 125, named_losses: [('ActivationMax Loss', -13773.474)], overall loss: -13773.4736328\n", + "Iteration: 126, named_losses: [('ActivationMax Loss', -13875.528)], overall loss: -13875.5283203\n", + "Iteration: 127, named_losses: [('ActivationMax Loss', -13976.928)], overall loss: -13976.9277344\n", + "Iteration: 128, named_losses: [('ActivationMax Loss', -14080.013)], overall loss: -14080.0126953\n", + "Iteration: 129, named_losses: [('ActivationMax Loss', -14180.806)], overall loss: -14180.8056641\n", + "Iteration: 130, named_losses: [('ActivationMax Loss', -14281.487)], overall loss: -14281.4873047\n", + "Iteration: 131, named_losses: [('ActivationMax Loss', -14383.531)], overall loss: -14383.53125\n", + "Iteration: 132, named_losses: [('ActivationMax Loss', -14485.924)], overall loss: -14485.9238281\n", + "Iteration: 133, named_losses: [('ActivationMax Loss', -14586.715)], overall loss: -14586.7148438\n", + "Iteration: 134, named_losses: [('ActivationMax Loss', -14688.928)], overall loss: -14688.9277344\n", + "Iteration: 135, named_losses: [('ActivationMax Loss', -14788.841)], overall loss: -14788.8408203\n", + "Iteration: 136, named_losses: [('ActivationMax Loss', -14891.914)], overall loss: -14891.9140625\n", + "Iteration: 137, named_losses: [('ActivationMax Loss', -14993.715)], overall loss: -14993.7148438\n", + "Iteration: 138, named_losses: [('ActivationMax Loss', -15094.76)], overall loss: -15094.7597656\n", + "Iteration: 139, named_losses: [('ActivationMax Loss', -15196.966)], overall loss: -15196.9658203\n", + "Iteration: 140, named_losses: [('ActivationMax Loss', -15297.99)], overall loss: -15297.9902344\n", + "Iteration: 141, named_losses: [('ActivationMax Loss', -15399.962)], overall loss: -15399.9619141\n", + "Iteration: 142, named_losses: [('ActivationMax Loss', -15502.48)], overall loss: -15502.4804688\n", + "Iteration: 143, named_losses: [('ActivationMax Loss', -15604.439)], overall loss: -15604.4394531\n", + "Iteration: 144, named_losses: [('ActivationMax Loss', -15705.703)], overall loss: -15705.703125\n", + "Iteration: 145, named_losses: [('ActivationMax Loss', -15808.882)], overall loss: -15808.8818359\n", + "Iteration: 146, named_losses: [('ActivationMax Loss', -15907.18)], overall loss: -15907.1796875\n", + "Iteration: 147, named_losses: [('ActivationMax Loss', -16011.973)], overall loss: -16011.9726562\n", + "Iteration: 148, named_losses: [('ActivationMax Loss', -16113.288)], overall loss: -16113.2880859\n", + "Iteration: 149, named_losses: [('ActivationMax Loss', -16216.167)], overall loss: -16216.1669922\n", + "Iteration: 150, named_losses: [('ActivationMax Loss', -16318.351)], overall loss: -16318.3505859\n", + "Iteration: 151, named_losses: [('ActivationMax Loss', -16421.305)], overall loss: -16421.3046875\n", + "Iteration: 152, named_losses: [('ActivationMax Loss', -16521.893)], overall loss: -16521.8925781\n", + "Iteration: 153, named_losses: [('ActivationMax Loss', -16625.826)], overall loss: -16625.8261719\n", + "Iteration: 154, named_losses: [('ActivationMax Loss', -16727.598)], overall loss: -16727.5976562\n", + "Iteration: 155, named_losses: [('ActivationMax Loss', -16829.184)], overall loss: -16829.1835938\n", + "Iteration: 156, named_losses: [('ActivationMax Loss', -16933.701)], overall loss: -16933.7011719\n", + "Iteration: 157, named_losses: [('ActivationMax Loss', -17032.492)], overall loss: -17032.4921875\n", + "Iteration: 158, named_losses: [('ActivationMax Loss', -17136.92)], overall loss: -17136.9199219\n", + "Iteration: 159, named_losses: [('ActivationMax Loss', -17239.562)], overall loss: -17239.5625\n", + "Iteration: 160, named_losses: [('ActivationMax Loss', -17341.076)], overall loss: -17341.0761719\n", + "Iteration: 161, named_losses: [('ActivationMax Loss', -17444.58)], overall loss: -17444.5800781\n", + "Iteration: 162, named_losses: [('ActivationMax Loss', -17547.402)], overall loss: -17547.4023438\n", + "Iteration: 163, named_losses: [('ActivationMax Loss', -17649.426)], overall loss: -17649.4257812\n", + "Iteration: 164, named_losses: [('ActivationMax Loss', -17752.4)], overall loss: -17752.4003906\n", + "Iteration: 165, named_losses: [('ActivationMax Loss', -17852.727)], overall loss: -17852.7265625\n", + "Iteration: 166, named_losses: [('ActivationMax Loss', -17955.027)], overall loss: -17955.0273438\n", + "Iteration: 167, named_losses: [('ActivationMax Loss', -18056.826)], overall loss: -18056.8261719\n", + "Iteration: 168, named_losses: [('ActivationMax Loss', -18159.48)], overall loss: -18159.4804688\n", + "Iteration: 169, named_losses: [('ActivationMax Loss', -18261.783)], overall loss: -18261.7832031\n", + "Iteration: 170, named_losses: [('ActivationMax Loss', -18364.777)], overall loss: -18364.7773438\n", + "Iteration: 171, named_losses: [('ActivationMax Loss', -18466.713)], overall loss: -18466.7128906\n", + "Iteration: 172, named_losses: [('ActivationMax Loss', -18568.531)], overall loss: -18568.53125\n", + "Iteration: 173, named_losses: [('ActivationMax Loss', -18670.564)], overall loss: -18670.5644531\n", + "Iteration: 174, named_losses: [('ActivationMax Loss', -18773.498)], overall loss: -18773.4980469\n", + "Iteration: 175, named_losses: [('ActivationMax Loss', -18875.338)], overall loss: -18875.3378906\n", + "Iteration: 176, named_losses: [('ActivationMax Loss', -18977.764)], overall loss: -18977.7636719\n", + "Iteration: 177, named_losses: [('ActivationMax Loss', -19080.09)], overall loss: -19080.0898438\n", + "Iteration: 178, named_losses: [('ActivationMax Loss', -19180.078)], overall loss: -19180.078125\n", + "Iteration: 179, named_losses: [('ActivationMax Loss', -19282.783)], overall loss: -19282.7832031\n", + "Iteration: 180, named_losses: [('ActivationMax Loss', -19384.51)], overall loss: -19384.5097656\n", + "Iteration: 181, named_losses: [('ActivationMax Loss', -19487.41)], overall loss: -19487.4101562\n", + "Iteration: 182, named_losses: [('ActivationMax Loss', -19589.754)], overall loss: -19589.7539062\n", + "Iteration: 183, named_losses: [('ActivationMax Loss', -19692.701)], overall loss: -19692.7011719\n", + "Iteration: 184, named_losses: [('ActivationMax Loss', -19794.824)], overall loss: -19794.8242188\n", + "Iteration: 185, named_losses: [('ActivationMax Loss', -19897.381)], overall loss: -19897.3808594\n", + "Iteration: 186, named_losses: [('ActivationMax Loss', -19999.389)], overall loss: -19999.3886719\n", + "Iteration: 187, named_losses: [('ActivationMax Loss', -20100.59)], overall loss: -20100.5898438\n", + "Iteration: 188, named_losses: [('ActivationMax Loss', -20201.988)], overall loss: -20201.9882812\n", + "Iteration: 189, named_losses: [('ActivationMax Loss', -20304.486)], overall loss: -20304.4863281\n", + "Iteration: 190, named_losses: [('ActivationMax Loss', -20406.883)], overall loss: -20406.8828125\n", + "Iteration: 191, named_losses: [('ActivationMax Loss', -20509.523)], overall loss: -20509.5234375\n", + "Iteration: 192, named_losses: [('ActivationMax Loss', -20610.885)], overall loss: -20610.8847656\n", + "Iteration: 193, named_losses: [('ActivationMax Loss', -20713.807)], overall loss: -20713.8066406\n", + "Iteration: 194, named_losses: [('ActivationMax Loss', -20816.477)], overall loss: -20816.4765625\n", + "Iteration: 195, named_losses: [('ActivationMax Loss', -20916.898)], overall loss: -20916.8984375\n", + "Iteration: 196, named_losses: [('ActivationMax Loss', -21017.475)], overall loss: -21017.4746094\n", + "Iteration: 197, named_losses: [('ActivationMax Loss', -21119.506)], overall loss: -21119.5058594\n", + "Iteration: 198, named_losses: [('ActivationMax Loss', -21220.936)], overall loss: -21220.9355469\n", + "Iteration: 199, named_losses: [('ActivationMax Loss', -21324.65)], overall loss: -21324.6503906\n", + "Iteration: 200, named_losses: [('ActivationMax Loss', -21424.365)], overall loss: -21424.3652344\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nj84GMbP1kt7cyR8Nl7ShxzbSe7iefc/ecl25nt1nYkppREehHi3rXW7CbF5KaXpv76O7cT37nr3l\nunI9ex8vgwBABihrAMjAnlLWs3t7Az2E69n37C3XlevZy/aI16wBAG9vTzmyBgC8jV4tazObYWav\nmNlSM/tyb+6lu5nZMjN7ycyeN7N5vb2frmJmt5rZOjNb0O6yKjOba2ZLCr/GPm9pD7SL63mFmVUX\n7tPnzezk3txjVzCzCWb2uJktNLOXzeyzhcv71H36Ntdzj71Pe+1lEDMrlvSqpBMlrZT0R0nnpJT8\nH16WETNbJml6SqlPvVfVzP5O0lZJt6eU3lW47JuSalJKVxW+CQ9NKX2pN/fZWbu4nldI2ppSuro3\n99aVzGyMpDEppflmVinpOUmnSfqY+tB9+jbX8yztofdpbx5ZHyFpaUrp9ZRSk6S7JZ3ai/vBbkgp\nPSnpbz/x9VRJcwpfz9GOJ0HWdnE9+5yU0uqU0vzC13WSFkkapz52n77N9dxj9WZZj5PU/mOaV2oP\nv7E6KUl6zMyeM7OZvb2ZbjYqpbS68PUaSaN6czPdbJaZvVh4mSTrlwb+lpntI+kwSc+qD9+nf3M9\npT30PuUHjD3nmJTSuyWdJOmiwj+r+7y043W2vvqWoxslTZI0TdJqSdf07na6jpkNlHSfpItTSrXt\n/6wv3ac7uZ577H3am2VdLWlCu9+PL1zWJ6WUqgu/rpP0gHa8DNRXrS28Jvjn1wbX9fJ+ukVKaW1K\nqTWl1CbpZvWR+9TMSrWjwO5IKd1fuLjP3ac7u5578n3am2X9R0mTzWxfMyuT9GFJD/XifrqNmQ0o\n/BBDZjZA0gckLXj7v5W1hySdX/j6fEkP9uJeus2fy6vgdPWB+9TMTNItkhallK5t90d96j7d1fXc\nk+/TXj0ppvC2mG9LKpZ0a0rp6722mW5kZu/UjqNpSSqRdGdfua5mdpekY7VjWtlaSZdL+rmkn0p6\nh3ZMWTwrpZT1D+d2cT2P1Y5/LidJyyRd2O513SyZ2TGSnpL0kqS2wsVf0Y7Xc/vMffo21/Mc7aH3\nKWcwAkAG+AEjAGSAsgaADFDWAJAByhoAMkBZA0AGKGsAyABlDQAZoKwBIAP/H6sN9ui6oEh8AAAA\nAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "img = visualize_class_activation(model, layer_idx, filter_indices=filter_idx, input_range=(0., 1.), \n", + " tv_weight=0., lp_norm_weight=0., image_modifiers=None, verbose=True)\n", + "plt.imshow(img[..., 0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Seems much better. Lets try to introduce total variation and see what happens." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Working on filters: [0]\n", + "Working on filters: [0]\n", + "Working on filters: [0]\n", + "Working on filters: [0]\n", + "Working on filters: [0]\n" + ] + }, + { + "data": { + "image/png": "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\nABmgrAEgA5Q1AGSAsgaADPTo3iBmtkrSou18apik1T22kN7D9ex73izXlevZfcamlIZ3FurRsu5w\nEWYzU0qTensd3Y3r2fe8Wa4r17P38TQIAGSAsgaADOwqZX1dby+gh3A9+543y3XlevayXeI5awDA\nG9tVjqwBAG+gV8vazCab2Xwze8HMLurNtXQ3M1toZs+Y2Wwzm9nb6+kqZnaDma00sznbXFZvZtPM\nbEH599h7i+2COriel5rZ0vJ9OtvMju3NNXYFM2sws4fN7Fkzm2tmF5Qv71P36Rtcz132Pu21p0HM\nrCDpeUlHS1oi6UlJU1JKz/bKgrqZmS2UNCml1Kdeq2pm75W0UdItKaUDypd9S1JjSuny8jfhoSml\nL/fmOndWB9fzUkkbU0pX9ObaupKZjZI0KqU0y8xqJT0l6URJp6sP3advcD0/pl30Pu3NI+tDJb2Q\nUnoppdQq6WeSTujF9WAHpJRmSGp83cUnSLq5/PHN2vpFkLUOrmefk1JallKaVf54g6R5kkarj92n\nb3A9d1m9WdajJS3e5s9LtIvfWDspSXrQzJ4ys7N7ezHdbGRKaVn54+WSRvbmYrrZeWb2dPlpkqyf\nGng9M9tT0kGSHlcfvk9fdz2lXfQ+5QeMPeeIlNLBkj4k6dzyf6v7vLT1eba++pKjayVNkHSgpGWS\nruzd5XQdMxsk6U5JF6aUmrb9XF+6T7dzPXfZ+7Q3y3qppIZt/jymfFmflFJaWv59paS7tfVpoL5q\nRfk5wdeeG1zZy+vpFimlFSmlYkqpJOlH6iP3qZlVaWuB/SSldFf54j53n27veu7K92lvlvWTkvY2\ns3Fm1k/SJyTd24vr6TZmVlP+IYbMrEbSByXNeeO/lbV7JU0tfzxV0j29uJZu81p5lZ2kPnCfmplJ\nul7SvJTSt7f5VJ+6Tzu6nrvyfdqrJ8WUXxZztaSCpBtSSl/vtcV0IzMbr61H05JUKemnfeW6mtmt\nko7S1t3KVkj6mqRfSLpd0lu0dZfFj6WUsv7hXAfX8yht/e9ykrRQ0jnbPK+bJTM7QtIfJD0jqVS+\n+BJtfT63z9ynb3A9p2gXvU85gxEAMsAPGAEgA5Q1AGSAsgaADFDWAJAByhoAMkBZA0AGKGsAyABl\nDQAZ+P/qygRNpk8A2AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nHVmnlKqLf66S9KCkI7aTuTmlNDWlNLWstE97vhwA7LF2uazNrI+Z9Xv7Y0nHS5rXUQsDAPxFe54G\nqZL0oJm9PeeelNJPO2RVAIC/sstlnVJaIumQDlwLAGAHLAX3PGiP/n1GpSP3979oZOO+/reK3zg2\ntqdFSVMorsZ+/uxeT26ODQ/eBYtm+n/Gjnk4drusmxj7+T3sj1vc2Yo3ghtylMbWXj+mvztbaIzt\nr1FeHdvTwhr9D7Cl0/cKzb7+M98P5QvBB9iVJ53hD6/fEJp96dO/COWHFfzfS5ce8/HQ7NZVsdND\nWuvq3NnCpH3d2d8tvV219Sva3JCF11kDQAYoawDIAGUNABmgrAEgA5Q1AGSAsgaADFDWAJAByhoA\nMkBZA0AGKGsAyABlDQAZ6NK9QQaUDUtHDfTvO2BlZe5s6lsZWsuWvQeH8hvGlruzFbWxfScql/n3\nHJCkFf/g36ik/9KW0OzNVbH9OFp7+bODXoltyLLqMP/9L0n1+zS6sxcdGduj4pjKhaH8pZ/w74FT\nOn9paPaCb04K5eeeel0sH9gI54pzzwnN/tPnQnHNevdN7uyksthj98Lq94TySy+c6M6W1vj3knl6\n2V2q3bKSvUEAoCegrAEgA5Q1AGSAsgaADFDWAJAByhoAMkBZA0AGKGsAyABlDQAZoKwBIANde7p5\nYWg6svfJ7vyX5j3tzh5SXh9ay5RfXhDKH/CVVe5s3YEjQrNXHuk/lV2SLHA2e2P/2P27z+yGUL6+\nyr/2yLolaXNV7FiixH+2ub7zlRtCs6eUN4fyNS3+xZx3ZuyxWPrqm7G13D40lP/1lDvd2debY4+v\ni2f8Uyi/ZJp/P4NnP3p1aHZdsPs+N+VD7mxq9G+t8Mym2aptWcPp5gDQE1DWAJAByhoAMkBZA0AG\nKGsAyABlDQAZoKwBIAOUNQBkgLIGgAxQ1gCQAcoaADJQ2t0L2JnxpZvc2ULwqgwZ7J8tSWr27w3x\n5nGxtQxcGNujYNCr/v07/nSqf28FSaofHtunZN3Egjs75JgVodnlP6yK5Tf6Nx/5+lmfDM3e8G+b\nQ/lnJv/Ynf3OvTeFZn/x2OmhfNUnVobyNz99oDv7sf4vhmZ/4vuPhvI/OnySO9vwkdj30dqWslC+\n5a217mzpmL38gxt830McWQNABihrAMgAZQ0AGaCsASADlDUAZICyBoAMUNYAkAHKGgAyQFkDQAYo\n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\nAMgAZQ0AGaCsASADlDUAZKBL9wYxs9WStrexwVBJgfduzxbXs+fZU64r17Pz7J1SGtZWqEvLeoeL\nMJuTUpra3evobFzPnmdPua5cz+7H0yAAkAHKGgAysLuU9c3dvYAuwvXsefaU68r17Ga7xXPWAICd\n212OrAEAO9GtZW1mJ5rZQjN7zcwu6861dDYzW2pmL5nZ82Y2p7vX01HM7DYzW2Vm87a5bLCZPW5m\ni4p/DurONXaEHVzPr5lZdfE+fd7MTurONXYEMxtjZk+a2Xwze9nMLipe3qPu051cz932Pu22p0HM\nrCDpVUnHSVom6Q+SpqeU5nfLgjqZmS2VNDWl1KNeq2pm75G0SdKdKaWDipddKWltSumK4g/hQSml\nf+3OdbbXDq7n1yRtSild1Z1r60hmNlLSyJTSXDPrJ+k5SadJOlc96D7dyfX8mHbT+7Q7j6yPkPRa\nSmlJSqlR0n2SpnXjerALUkpPSVr7jounSbqj+PEd2vpNkLUdXM8eJ6W0IqU0t/jxRkkLJI1WD7tP\nd3I9d1vdWdajJW37FuPLtJvfWO2UJP3czJ4zs5ndvZhOVpVSevst21dKqurOxXSyz5vZi8WnSbJ+\nauCdzGycpCmSnlUPvk/fcT2l3fQ+5ReMXefolNKhkj4o6YLi/1b3eGnr82w99SVHN0maIGmypBWS\nru7e5XQcM+sr6QFJF6eUNmz7dz3pPt3O9dxt79PuLOtqSWO2+Xyv4mU9UkqpuvjnKkkPauvTQD1V\nTfE5wbefG1zVzevpFCmlmpRSS0qpVdIt6iH3qZmVaWuB3Z1SmlW8uMfdp9u7nrvzfdqdZf0HSRPN\nbB8zK5d0pqTZ3bieTmNmfYq/xJCZ9ZF0vKR5O/9XWZstaUbx4xmSHu7GtXSat8ur6HT1gPvUzEzS\nrZIWpJSu2eavetR9uqPruTvfp916UkzxZTHXSSpIui2l9I1uW0wnMrPx2no0LUmlku7pKdfVzO6V\ndIy27lZWI+lySQ9Jul/SWG3dZfFjKaWsfzm3g+t5jLb+73KStFTSeds8r5slMzta0m8kvSSptXjx\nl7X1+dwec5/u5HpO1256n3IGIwBkgF8wAkAGKGsAyABlDQAZoKwBIAOUNQBkgLIGgAxQ1gCQAcoa\nADLw/wGgfAz127JNjwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nJdt51zBJ63ptIX2H+7n3eafcV+7n7jM2pTR8Z6FeLesdLsJsTkppel+vY3fjfu593in3lfvZ93gZ\nBAAyQFkDQAb2lLKe1dcL6CXcz73PO+W+cj/72B7xmjUA4O3tKWfWAIC30adlbWanmNkCM1toZl/r\ny7Xsbma22MzmmdlcM5vT1+vpKWY228zWmtn8bW4bYmYPmtnrpT8H9+Uae8IO7uc3zGxF6ZjONbPT\n+nKNPcHMRpvZI2b2ipm9bGYXlW7fq47p29zPPfaY9tnLIGZWkPSapJMkLZf0rKSZKaVX+mRBu5mZ\nLZY0PaW0V/2sqpkdJ6lZ0s0ppYNKt31b0oaU0jdLX4QHp5S+2pfr7K4d3M9vSGpOKV3Rl2vrSWY2\nUtLIlNLzZlYn6TlJZ0j6pPaiY/o29/Nj2kOPaV+eWR8uaWFKaVFKqV3S7ZJO78P1YBeklB6XtOGv\nbj5d0k2lt2/S1k+CrO3gfu51UkqrUkrPl95ukvSqpHrtZcf0be7nHqsvy7pe0rJt/r5ce/iD1U1J\n0m/M7DkzO6+vF7ObjUgprSq9vVrSiL5czG52oZm9VHqZJOuXBv6amY2TdIik32svPqZ/dT+lPfSY\n8g3G3nNsSulQSadKuqD0v9V7vbT1dba99UeOrpM0UdI0Saskfbdvl9NzzKy/pJ9L+lJKqXHb9+1N\nx3Q793OPPaZ9WdYrJI3e5u/7lW7bK6WUVpT+XCvpbm19GWhvtab0muBbrw2u7eP17BYppTUppa6U\nUlHSDdpLjqmZVWhrgd2SUrqrdPNed0y3dz/35GPal2X9rKRJZjbezColfVzSPX24nt3GzGpL38SQ\nmdVKOlnS/Lf/qKzdI+nc0tvnSvpFH65lt3mrvEpmaC84pmZmkm6U9GpK6cpt3rVXHdMd3c89+Zj2\n6UUxpR+LuVpSQdLslNK/9tlidiMzm6CtZ9OSVC7p1r3lvprZbZJO0NbdytZIulzSf0m6Q9IYbd1l\n8WMppay/ObeD+3mCtv7vcpK0WNJnt3ldN0tmdqykJyTNk1Qs3fx1bX09d685pm9zP2dqDz2mXMEI\nABngG4wAkAHKGgAyQFkDQAYoawDIAGUNABmgrAEgA5Q1AGSAsgaADPx/bVcC3K2IUFIAAAAASUVO\nRK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nRviVar0uAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWsAAAFpCAYAAABajglzAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGpJJREFUeJzt3VuM3Gd5x/HfM6f17nrjQ5yEkATShpQ2PQXkRpVAFRVt\nBdwEeoGaC5RKSOECJKiqqoibclMJVYW2FxVSEFFTiYOQgJJKqDRCSFCpIExIISSEpNQBuz4ksWPv\nendnZ/7z9GKHZgne+P15d2b9rr8fKfLu7OPX7/8wv/nnv/M+E5kpAMCVrbXTEwAAXBphDQAVIKwB\noAKENQBUgLAGgAoQ1gBQAcIaACpAWANABQhrAKgAYQ0AFehM8x9r753PzsGD5X8hJjcXhbnM3il3\n5+2u+J/kfnE5c3cvDcxj1GqV17fMsdutkVWfObmDNBxN9hprNJrgCTbB/WI/j+zxnbmXT2b4/Fk1\nSxcuOfhUw7pz8KBu/IsPGH9hcns/O96TzzpQbXPejXkCO3O3xzbnPjCCo+ft81a3sernF1aLa2c6\n3tj7Z1es+kHTtuodZ5Znrfqm8cK93+8W17rR2zjniyn7k9vnkhTG3NPIgJN//Q9FdVvacxHxloh4\nMiKejogPbmUsAMDmLjusI6It6R8lvVXSHZLuiYg7tmtiAIAXbeXK+i5JT2fmjzNzTdJnJd29PdMC\nAGy0lbC+SdJPN3x/bPzYz4mI+yLiSEQcaZYubOGfA4Cr18TfupeZ92fm4cw83N47P+l/DgB2pa2E\n9XFJt2z4/ubxYwCAbbaVsP62pNsj4pcioifpTyQ9tD3TAgBsdNnvs87MYUS8T9JXJLUlPZCZP9i2\nmQEA/t+WFsVk5pclfXmb5gIA2MRUVzBK8pYQG4vMsucuHzfXXjmrEt1Vg113NaVRa64a1Jp5Z8yZ\nuzmVlrkSdHW1fOVdd95bwdgfek+Vbrt8/BdW9lhju6sG14wViS53WX3LXCE7clY8us+j1cmteIy+\nMe/CfUgjJwCoAGENABUgrAGgAoQ1AFSAsAaAChDWAFABwhoAKkBYA0AFCGsAqABhDQAVmO5y85Ra\ng/LlqaNu+dLUMJd454y33NhaQm58yrYkaejNPWbL555D8/XYXZ7ufBK2OZXh+Z73F4zdfuast8T7\n7PzQm4uxX9JtT2B/Su0EP1Hc/JR49xwI58Oh3VYJ7m5fM46p+6HZBbiyBoAKENYAUAHCGgAqQFgD\nQAUIawCoAGENABUgrAGgAoQ1AFSAsAaAChDWAFABwhoAKjDd3iCS1TOhvWz0EZkx1+I35sfQG+Wt\nFa/pgDv3dPpxTLD/gSTr5d4du2Mcf8nrOxNmC5Sm550vOcFnVpqn7qhnPjeMfePOxe4l0naeeN7Y\n7WXvWjWN07G9YoxduL+5sgaAChDWAFABwhoAKkBYA0AFCGsAqABhDQAVIKwBoAKENQBUgLAGgAoQ\n1gBQAcIaACow1d4gkVJrMJmxOxfMfhwdr97pJZHmS2Bn6M2l2VPeA8HpZyD5x6dlzD3MscPpgWJy\nj5Hb68PuxzFB7jmQc2bjFEMY/Vskqb3oNJ/x5pId7xg5vWesuRTWcmUNABUgrAGgAoQ1AFSAsAaA\nChDWAFABwhoAKkBYA0AFCGsAqABhDQAVIKwBoAJTXW7ucj613l0O7C6rzrYx9tAbu5nx6qNxir2x\nJ8lePu6cAJKaWW94x8hcmtzMGku2u+bSdLM9gdre+N1r+sW1+/auWmOfOTtv1efqnuJa93kXa26L\nCmNs5zlaeHi4sgaAChDWAFCBLd0GiYijkhYlNZKGmXl4OyYFAPh523HP+vcz87ltGAcAsAlugwBA\nBbYa1inp3yPiOxFx33ZMCADwi7Z6G+SNmXk8Iq6X9HBE/DAzv76xYBzi90lSZ/+BLf5zAHB12tKV\ndWYeH/95WtIXJd11kZr7M/NwZh5uz3vvsQQArLvssI6I+YhY+NnXkv5I0mPbNTEAwIu2chvkBklf\njIifjfPpzPy3bZkVAODnXHZYZ+aPJf32Ns4FALCJqfYGSXk9NoZOfwVTZ9m7AxRG34Fm1uz1YEpn\n6uZUnOMjSWkcotGMNxl3LzqdHlpr5tiN2UeiW36QctZrVBPuflz2nuaDlW5x7TWHXrDGPvjKZav+\nR/1XFNfG8+XzluzWM2oZ/T5GTr+XwlOL91kDQAUIawCoAGENABUgrAGgAoQ1AFSAsAaAChDWAFAB\nwhoAKkBYA0AFCGsAqABhDQAVmGpvELVTw33lC+xjrrwhR3fGaN4haXB61qpvXzB6PZj9NUYzXg+U\nGBl9KibbpkSN0wPB7K/h9m5IZy5Dby69F7zrmt658tq18J6GrWu9xiZGSwtJUufZXnHtM71rrbHv\n/tX/suqvu2OpuPbIsVussQfHvP76Mak+OIWnFlfWAFABwhoAKkBYA0AFCGsAqABhDQAVIKwBoAKE\nNQBUgLAGgAoQ1gBQAcIaACow3eXmIaldvgyz0y1fKNvpeItq1+a8+jCWm7tLvGPWm0uay7Yt7tDO\nSvmhd23grpRvLwyKa8Ncy97vli/BlqTe8+U9B3pnvf4E/XmvfubgilXfnNtbXJvPzlhjr/yKtx/v\nuf6bxbUvrHktJB4/OWfVt1ad83f7+zxwZQ0AFSCsAaAChDUAVICwBoAKENYAUAHCGgAqQFgDQAUI\nawCoAGENABUgrAGgAoQ1AFRgur1BJMnoyTDsl0+v3XGaVEgaek0wRt3yeWfP6wvQ6nm9QXq9YXFt\nu+3tl+HQ6zsxWCs/Rs2yt89j2ZvLaFjedyL2rVljt/d79YMs75kxe9zbzu6zXau+vd/rDdLfX35+\ndc96EXJ06aBVf9Ohc8W1cx3vGLXWJtdjJ5yxC5+iXFkDQAUIawCoAGENABUgrAGgAoQ1AFSAsAaA\nChDWAFABwhoAKkBYA0AFCGsAqABhDQAVmG5vkJS0Vv76kO3ynhlNY/admPF6ZoyMeWu+vLeCJO1b\nWLbqZ7vl4892B9bYKwOv78Tzi/PFtY2zDyVF4/XMaK+Ujz/M8j4ikqQDXt+JzsHV4trB+Tlr7O55\n71xfPjdr1XcWys+ZQXpzOdffY9UfapfP5dVzZ6yxj1zvHVOdK39uTKLvCFfWAFCBS4Z1RDwQEacj\n4rENjx2MiIcj4qnxnwcmO00AuLqVXFn/k6S3vOSxD0r6ambeLumr4+8BABNyybDOzK9LeunNoLsl\nPTj++kFJb9/meQEANrjce9Y3ZOaJ8dcnJd2wTfMBAFzEln/BmJmp9fd5XFRE3BcRRyLiSLN0Yav/\nHABclS43rE9FxI2SNP7z9GaFmXl/Zh7OzMPtveVv8wIAvOhyw/ohSfeOv75X0pe2ZzoAgIspeeve\nZyT9p6TXRsSxiHi3pI9I+sOIeErSH4y/BwBMyCVXMGbmPZv86M3bPBcAwCamvNw8FENjGeZi+fQG\nI3O5+Yq3lLnVLx+/6Xl3l0Yjr/61+zf9FcEvmO/0rbF/vHTIqj97wVvKbDFv0kV5dwJ1z3uDD4cz\nVv1gX3lLgNaeTX8/f1GdJe9cb73gPc2ba8tbMbTmvXYG1816bzLoRfm2/ubcT62xv3HoNqv+ufZC\nce3IyblO2fFnuTkAVICwBoAKENYAUAHCGgAqQFgDQAUIawCoAGENABUgrAGgAoQ1AFSAsAaAChDW\nAFCBqfYGiZHUWSp/fUhndstuIwmz3Og70Zh9Sl57qLzXhyT98aEjxbUnB/utsd3eIJaheYy8lhkW\np9eLJPXWvPp+q/zkTXO3NLPejmmbcx+e6xbX5jXlPVAk6Y5rTly6aIPr2+U98H+y5p27S6tev5c0\ndntvtrxnSrToDQIAuwZhDQAVIKwBoAKENQBUgLAGgAoQ1gBQAcIaACpAWANABQhrAKgAYQ0AFSCs\nAaACU+0NkmH2+xiVlzZzRrGkVt97nXL6N8xdf8Ea++2HvmvVv3HP2eLar4y8/geufr+8j4Qar0dF\neIfU6yXiXqaYc2kbvUdGXbMJitvXxmvfoe5i+c4ZmBFyfjjrTcbww6VXWPXLi95zo7unfEeOzP5A\nJbiyBoAKENYAUAHCGgAqQFgDQAUIawCoAGENABUgrAGgAoQ1AFSAsAaAChDWAFCBqS43j/SWEA9n\njWW47hJcc4Vvtsv/wiv2LVpj3947ZdW33Y01jNIbOyewrHYqzOXj7vninOetNXMZ/tCrn+Rydrdt\nw+n+Xqv+uaa8dcPrr/mJNfaZV81Z9WdXy5fKD5t2ce2JVtnJwpU1AFSAsAaAChDWAFABwhoAKkBY\nA0AFCGsAqABhDQAVIKwBoAKENQBUgLAGgAoQ1gBQgan2BsmQRuVL5tVeLW9SkOaWOL0bJKkxPrV+\nvrtmjT0X5R9xL0mN0bzh6dVXWGOf7++x6lut8r4TI7shi1dutUxxW5q4c3HOL/PctXt9mJdkadSP\nZrwn0nDkTeZUU17/G3t+ao393H6vT8mjL9xcXPvsBW/sElxZA0AFLhnWEfFARJyOiMc2PPbhiDge\nEY+O/3vbZKcJAFe3kivrf5L0los8/neZeef4vy9v77QAABtdMqwz8+uSzkxhLgCATWzlnvX7IuJ7\n49skB7ZtRgCAX3C5Yf1xSbdJulPSCUkf3awwIu6LiCMRcaS5UP6pDwCAF11WWGfmqcxsMnMk6ROS\n7nqZ2vsz83BmHm7Pz1/uPAHgqnZZYR0RN2749h2SHtusFgCwdZd8O35EfEbSmyQdiohjkv5K0psi\n4k6tLxU4Kuk9E5wjAFz1LhnWmXnPRR7+5ATmAgDYBCsYAaACU+0NopSiMeqNl5LWmtfsYdTz+iu0\nDvWLa2+df94au2c2KnlmWH7Y/re/3xq723YOkDQ7V75fFs/3rLFj5B1Tp6dFtr3jny3z/JoxeqaY\n52LngneNZbaekYz+Pe7l3jCdwaWjw/J3BZ8ceOf68wPvDQ8nFxeKa/uD8ufoKMvOLa6sAaAChDUA\nVICwBoAKENYAUAHCGgAqQFgDQAUIawCoAGENABUgrAGgAoQ1AFSAsAaACky3N0jL65nQGpT3Y3D6\nQkhSs+D1wHjdLceKa2+fPW2N/dTgWqt+f2u5uPauhf+2xn7N3Cmr/l9P/FZx7eKovLeCJLVXrXKr\nl8io6/XjaMz+HaM95fUZ3thWfx1JraHX12RgPEe1MPAmY3p89abi2v6oa419dNF73g1H5SHTNOW1\nSW8QANg9CGsAqABhDQAVIKwBoAKENQBUgLAGgAoQ1gBQAcIaACpAWANABQhrAKjAdJebpxSjCQ1t\nvuzsOeCtZf7VhfJl2INsW2N/8czrrfq7Fv6nuPZ3Zo9aY39j+Xar/tml+eLa9op3kNxj6iwhH857\nJ2LOmieuUR6r3vnijC1JhauZX6zvGC0hut5k1hpvW59ZOVRce7q/1xr7/NqMVb+60iuubbW3P+i4\nsgaAChDWAFABwhoAKkBYA0AFCGsAqABhDQAVIKwBoAKENQBUgLAGgAoQ1gBQAcIaACow3d4g8voU\nRHmLAqntFEtN4zVM2NdZKa59cvkGa+xv/OQ2q/7UddcU195282lr7BNr+636xWfL+zH0lr19PvJa\nN2i4b1hcGzNe74ZoeedXGv0+WgNraFsz4819ZOybrvUklc6szFn1T+b1xbXnVvdYYz9/1usl0jb6\nfYxGZkOWAlxZA0AFCGsAqABhDQAVIKwBoAKENQBUgLAGgAoQ1gBQAcIaACpAWANABQhrAKgAYQ0A\nFZh6b5AwWjKk81LirsV3mpRIWmzK+w7Mtr1mDzPd8p4WktQyduJqdq2xlxqzIYfRG2LkTcXuaRFD\n44Qxendcjk6//Pxq9b2x05z6qOftR8dgxTuozzdeP44zUV4/Mvv9yNwtg0F5XLZ75c/RLJzHJc/u\niLglIr4WEY9HxA8i4v3jxw9GxMMR8dT4zwPFswMAWEouRYaS/jwz75D0u5LeGxF3SPqgpK9m5u2S\nvjr+HgAwAZcM68w8kZmPjL9elPSEpJsk3S3pwXHZg5LePqlJAsDVzvoFY0TcKul1kr4l6YbMPDH+\n0UlJXhNnAECx4rCOiL2SPi/pA5l5fuPPMjO1ye36iLgvIo5ExJHmwoUtTRYArlZFYR0RXa0H9acy\n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\n5OG7JT04/vpBrT8JqrbJdu46mXkiMx8Zf70o6QlJN2mXHdOX2c4r1k6G9U2Sfrrh+2O6wnfWFqWk\nf4+I70TEfTs9mQm7ITNPjL8+KemGnZzMhL0vIr43vk1S9a2Bl4qIWyW9TtK3tIuP6Uu2U7pCjym/\nYJyeN2bm6yW9VdJ7x/9bvevl+n223fqWo49Luk3SnZJOSProzk5n+0TEXkmfl/SBzDy/8We76Zhe\nZDuv2GO6k2F9XNItG76/efzYrpSZx8d/npb0Ra3fBtqtTo3vCf7s3uDpHZ7PRGTmqcxsMnMk6RPa\nJcc0IrpaD7BPZeYXxg/vumN6se28ko/pTob1tyXdHhG/FBE9SX8i6aEdnM/ERMT8+JcYioh5SX8k\n6bGX/1tVe0jSveOv75X0pR2cy8T8LLzG3qFdcEwjIiR9UtITmfmxDT/aVcd0s+28ko/pji6KGb8t\n5u8ltSU9kJl/vWOTmaCI+GWtX01LUkfSp3fLtkbEZyS9Sevdyk5J+itJ/yLpc5JepfUui+/MzKp/\nObfJdr5J6/+7nJKOSnrPhvu6VYqIN0r6hqTvSxqNH/6Q1u/n7ppj+jLbeY+u0GPKCkYAqAC/YASA\nChDWAFABwhoAKkBYA0AFCGsAqABhDQAVIKwBoAKENQBU4P8ALublKAhXZ4IAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for tv_weight in [1e-3, 1e-2, 1e-1, 1, 10]:\n", + " # Lets turn off verbose output this time to avoid clutter and just see the output.\n", + " img = visualize_class_activation(model, layer_idx, filter_indices=filter_idx, input_range=(0., 1.), \n", + " tv_weight=tv_weight, lp_norm_weight=0., image_modifiers=None)\n", + " plt.figure()\n", + " plt.imshow(img[..., 0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can see how total variation loss is enforcing blobbiness. These look much better and closer to 0. Looks like TV weight of [1, 10] are most promising.\n", + "\n", + "Once we know this, we should be able to use these parameters on a different output node for sanity check." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Working on filters: [5]\n", + "Working on filters: [5]\n" + ] + }, + { + "data": { + "image/png": "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\nA89tDI1dONQdqu/4QXq/9Lmh2FJ2Cy7DL1TSa6v9sbk0eiNrmaXOUmzutUC7hLHp2DHyE52h+s4z\ngedpMC6q/bFvMEs/TsWr0pf4W0fa8eHKGgAyQFgDQAYIawDIAGENABkgrAEgA4Q1AGSAsAaADBDW\nAJABwhoAMkBYA0AGCGsAyIC5x/oSLOmHmZ2SdOQ8X1on6XTbJrJy2M7V50rZVrazda529/UXK2pr\nWC86CbM97r5rpefRamzn6nOlbCvbufK4DQIAGSCsASADl0tY37PSE2gTtnP1uVK2le1cYZfFPWsA\nwIVdLlfWAIALWNGwNrNbzeyAmT1lZu9fybm0mpkdNrPHzGyvme1Z6fksFzO718xOmtm+BY8NmdkD\nZnaw+e/gSs5xOSyynR8ys6PNY7rXzN68knNcDma21cy+ZmZPmNnjZva+5uOr6pheYDsv22O6YrdB\nzKwo6UlJvyTpWUnflXSHuz+xIhNqMTM7LGmXu6+q16qa2S9ImpT0D+7+8uZjfyFp1N0/3PwlPOju\nf7SS81yqRbbzQ5Im3f0vV3Juy8nMRiSNuPvDZtYv6SFJt0t6p1bRMb3Adr5Nl+kxXckr65skPeXu\nh9y9Iumzkm5bwfngErj71yWNvuDh2yTtbn68W/NPgqwtsp2rjrsfc/eHmx9PSNovabNW2TG9wHZe\ntlYyrDdLembB58/qMt9ZS+SSvmJmD5nZXSs9mRbb6O7Hmh8flxR7W/O8vNfMHm3eJsn61sALmdl2\nSa+U9G2t4mP6gu2ULtNjyh8Y2+e17v4qSb8i6T3N/61e9Xz+PttqfcnRxyXtkHSjpGOSPrKy01k+\nZtYn6fOS7nb38YVfW03H9Dzbedke05UM66OSti74fEvzsVXJ3Y82/z0p6Yuavw20Wp1o3hN8/t7g\nyRWeT0u4+wl3r7t7Q9IntEqOqZmVNR9gn3b3LzQfXnXH9HzbeTkf05UM6+9K2mlm15hZh6S3S7pv\nBefTMmbW2/wjhsysV9KbJO278Hdl7T5JdzY/vlPSl1ZwLi3zfHg1vUWr4JiamUn6pKT97v7RBV9a\nVcd0se28nI/pii6Kab4s5q8kFSXd6+5/tmKTaSEzu1bzV9OSVJL0T6tlW83sM5Ju1ny3shOSPijp\nXyV9TtI2zXdZfJu7Z/3HuUW282bN/++ySzos6d0L7utmycxeK+l/JD0mqdF8+AOav5+7ao7pBbbz\nDl2mx5QVjACQAf7ACAAZIKwBIAOENQBkgLAGgAwQ1gCQAcIaADJAWANABghrAMjA/wNxSyySVoNT\n8wAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for tv_weight in [1, 10]:\n", + " # Lets turn off verbose output this time to avoid clutter and just see the output.\n", + " img = visualize_class_activation(model, layer_idx, filter_indices=5, input_range=(0., 1.), \n", + " tv_weight=tv_weight, lp_norm_weight=0., image_modifiers=None)\n", + " plt.figure()\n", + " plt.imshow(img[..., 0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Close enough! Obviously things can get better if you expeirment with Jitter and lp-norm weights and so on. Basically, a regularizer is needed to enforce image naturalness prior which limits the input image search space.\n", + "\n", + "I hope GANs should come to your mind at this point. We could easily take a GAN trained on mnist and use discriminator loss as a regularizer. This is a work on progress. Feel free to submit a PR though :)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +} diff --git a/examples/mnist_attention.ipynb b/examples/mnist_attention.ipynb new file mode 100644 index 0000000..fbf0481 --- /dev/null +++ b/examples/mnist_attention.ipynb @@ -0,0 +1,570 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# Attention on MNIST" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets build the mnist model and train it for 5 epochs. It should get to about ~99% test accuracy." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x_train shape: (60000, 28, 28, 1)\n", + "60000 train samples\n", + "10000 test samples\n", + "Train on 60000 samples, validate on 10000 samples\n", + "Epoch 1/5\n", + "60000/60000 [==============================] - 6s - loss: 0.2484 - acc: 0.9251 - val_loss: 0.0556 - val_acc: 0.9822\n", + "Epoch 2/5\n", + "60000/60000 [==============================] - 5s - loss: 0.0816 - acc: 0.9756 - val_loss: 0.0408 - val_acc: 0.9864\n", + "Epoch 3/5\n", + "60000/60000 [==============================] - 5s - loss: 0.0659 - acc: 0.9799 - val_loss: 0.0326 - val_acc: 0.9893\n", + "Epoch 4/5\n", + "60000/60000 [==============================] - 5s - loss: 0.0518 - acc: 0.9840 - val_loss: 0.0297 - val_acc: 0.9902\n", + "Epoch 5/5\n", + "60000/60000 [==============================] - 5s - loss: 0.0430 - acc: 0.9867 - val_loss: 0.0292 - val_acc: 0.9911\n", + "Test loss: 0.0292400684783\n", + "Test accuracy: 0.9911\n" + ] + } + ], + "source": [ + "from __future__ import print_function\n", + "\n", + "import numpy as np\n", + "import keras\n", + "\n", + "from keras.datasets import mnist\n", + "from keras.models import Sequential, Model\n", + "from keras.layers import Dense, Dropout, Flatten, Activation, Input\n", + "from keras.layers import Conv2D, MaxPooling2D\n", + "from keras import backend as K\n", + "\n", + "batch_size = 128\n", + "num_classes = 10\n", + "epochs = 5\n", + "\n", + "# input image dimensions\n", + "img_rows, img_cols = 28, 28\n", + "\n", + "# the data, shuffled and split between train and test sets\n", + "(x_train, y_train), (x_test, y_test) = mnist.load_data()\n", + "\n", + "if K.image_data_format() == 'channels_first':\n", + " x_train = x_train.reshape(x_train.shape[0], 1, img_rows, img_cols)\n", + " x_test = x_test.reshape(x_test.shape[0], 1, img_rows, img_cols)\n", + " input_shape = (1, img_rows, img_cols)\n", + "else:\n", + " x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols, 1)\n", + " x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1)\n", + " input_shape = (img_rows, img_cols, 1)\n", + "\n", + "x_train = x_train.astype('float32')\n", + "x_test = x_test.astype('float32')\n", + "x_train /= 255\n", + "x_test /= 255\n", + "print('x_train shape:', x_train.shape)\n", + "print(x_train.shape[0], 'train samples')\n", + "print(x_test.shape[0], 'test samples')\n", + "\n", + "# convert class vectors to binary class matrices\n", + "y_train = keras.utils.to_categorical(y_train, num_classes)\n", + "y_test = keras.utils.to_categorical(y_test, num_classes)\n", + "\n", + "model = Sequential()\n", + "model.add(Conv2D(32, kernel_size=(3, 3),\n", + " activation='relu',\n", + " input_shape=input_shape))\n", + "model.add(Conv2D(64, (3, 3), activation='relu'))\n", + "model.add(MaxPooling2D(pool_size=(2, 2)))\n", + "model.add(Dropout(0.25))\n", + "model.add(Flatten())\n", + "model.add(Dense(128, activation='relu'))\n", + "model.add(Dropout(0.5))\n", + "model.add(Dense(num_classes))\n", + "model.add(Activation('softmax'))\n", + "\n", + "model.compile(loss=keras.losses.categorical_crossentropy,\n", + " optimizer=keras.optimizers.Adam(),\n", + " metrics=['accuracy'])\n", + "\n", + "model.fit(x_train, y_train,\n", + " batch_size=batch_size,\n", + " epochs=epochs,\n", + " verbose=1,\n", + " validation_data=(x_test, y_test))\n", + "\n", + "score = model.evaluate(x_test, y_test, verbose=0)\n", + "print('Test loss:', score[0])\n", + "print('Test accuracy:', score[1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Saliency" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To visualize attention over final dense layer outputs, we need to switch the `softmax` activation out for `linear` since gradient of output node `i` will depend on all the other node activations. In this case, I have simplified the example by using a `Dense` node with `linear` followed by `Activation('softmax')` so there is no need to do this swapping. Keep in mind that if swapping is not done, the results might be suboptimal. Reasons for this is mentioned in the documentation." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets pick an input over which we want to show the attention." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n/wGzqfMqEO897AAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "class_idx = 0\n", + "indices = np.where(y_test[:, class_idx] == 1.)[0]\n", + "\n", + "# pick some random input from here.\n", + "idx = indices[0]\n", + "\n", + "# Lets sanity check the picked image.\n", + "from matplotlib import pyplot as plt\n", + "%matplotlib inline\n", + "plt.rcParams['figure.figsize'] = (18, 6)\n", + "\n", + "plt.imshow(x_test[idx][..., 0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Time for saliency visualization." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from vis.visualization import visualize_class_saliency\n", + "\n", + "# This corresponds to the Dense linear layer.\n", + "layer_idx = -2\n", + "heatmap = visualize_class_saliency(model, layer_idx, filter_indices=class_idx, seed_input=x_test[idx])\n", + "plt.imshow(heatmap)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looks ok. Lets try all the classes and show original inputs and their heatmaps side by side. We cannot overlay the heatmap on original image since its grayscale." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\nAJr+PxyJ3ELuUzESAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nOTPJudn/P4HvPsTXXdRa29pa27onjy3DkgGAtWo59iPJoyu2XoB5MlF5bK0tZP8d9W/33j+WJL33\nHb33fb33x5O8P8n5B/va3vsVvffNvffNCzl6udYNAKwxy7UfSQpv6wDAP5nk1VZbkg8kubP3ftkB\np59yQOxHkty+/MsDALAfAVgNJnm11Zck+Ykkt7XWbl087R1JXtdaOzdJz/53lX3DVFYIAGA/AjBz\nk7za6l8naQf51HXLvxwAgCezHwGYvdKrrQIAALA2TfK0VQCAOdKSLBTye6a1kFU2e0Mxv7uQ/cPi\n7PW1+IvfVAjfV5tdfTvRSyrhv67Nzp3FfOU6sK04u3IbSpKdxXxF9bq+sZi/t5AtXnezq5ifLY88\nAgAAMKQ8AgAAMKQ8AgAAMKQ8AgAAMKQ8AgAAMKQ8AgAAMKQ8AgAAMKQ8AgAAMKQ8AgAAMKQ8AgAA\nMLRu1gsAAFhZPcmeKc2e1tyVsGvWCzjAxmL+sqmsYr9pXqZ7pzh72o7k6/rOKc4+ks+XMY88AgAA\nMKQ8AgAAMKQ8AgAAMKQ8AgAAMKQ8AgAAMKQ8AgAAMKQ8AgAAMKQ8AgAAMKQ8AgAAMKQ8AgAAMKQ8\nAgAAMNR67yv3zVr7QpJ7D/Kpk5J8ccUWMjuOc/6slWN1nNPznN77s1b4e8KaZj/iOOfMWjnOZO0c\n66rdj6xoeTzkIlrb2nvfPOt1TJvjnD9r5VgdJ7AWrJX7AMc5X9bKcSZr51hX83F62ioAAABDyiMA\nAABDq6U8XjHrBawQxzl/1sqxOk5gLVgr9wGOc76sleNM1s6xrtrjXBW/8wgAAMDqtloeeQQAAGAV\nm2l5bK29orX2udbaPa21t89yLdPWWtvWWruttXZra23rrNezXFprV7XWHmyt3X7AaRtba59srd29\n+PeJs1zjcjjEcV7SWtu+eJne2lp71SzXuBxaa6e31v6itXZHa+2zrbW3LJ4+V5fpUxzn3F2mwNha\n2Y/M614ksR+Zt59d9iOr9zKd2dNWW2tHJfn7JN+X5L4kf5fkdb33O2ayoClrrW1Lsrn3PlfvTdNa\n++4kjyT5b7335y+e9qtJdvbe37n4Q/jE3vsvzHKdS3WI47wkySO993fNcm3LqbV2SpJTeu+3tNZO\nSHJzkh9O8m8yR5fpUxznazJnlynw1NbSfmRe9yKJ/Ujm7GeX/cjq3Y/M8pHH85Pc03v/fO/9q0l+\nJ8mrZ7geDkPv/VNJdj7h5Fcn+eDixx/M/hvBEe0Qxzl3eu/3995vWfz44SR3Jjk1c3aZPsVxAmuP\n/cgcsB+ZL/Yjq9csy+OpSf7hgH/fl1V+Zi1RT/JnrbWbW2sXzXoxU7ap937/4scPJNk0y8VM2Ztb\na59ZfBrJEf3UiSdqrZ2R5DuTfDpzfJk+4TiTOb5MgYNaS/uRtbQXSeb4Z9dBzO3PLvuR1XWZesGc\nlXNB7/28JK9M8rOLTzuYe33/86Ln9SV9L09yZpJzk9yf5N2zXc7yaa0dn+SjSS7uve868HPzdJke\n5Djn9jIFyBrdiyTz9bPrIOb2Z5f9yOq7TGdZHrcnOf2Af5+2eNpc6r1vX/z7wSR/kP1Pk5lXOxaf\nw/2153I/OOP1TEXvfUfvfV/v/fEk78+cXKattYXsvwP77d77xxZPnrvL9GDHOa+XKfCU1sx+ZI3t\nRZI5/Nl1MPP6s8t+ZHVeprMsj3+X5OzW2je11p6e5MeTXDvD9UxNa+24xV+CTWvtuCTfn+T2p/6q\nI9q1SS5c/PjCJNfMcC1T87U7r0U/kjm4TFtrLckHktzZe7/sgE/N1WV6qOOcx8sUGFoT+5E1uBdJ\n5uxn16HM488u+5HVe5nO7NVWk2TxZWffk+SoJFf13i+d2WKmqLX2zdn/P3xJsi7Jh+blWFtrH06y\nJclJSXYk+aUkH0/ykST/LMm9SV7Tez+if7n7EMe5JfufTtCTbEvyhgOeh39Eaq1dkOSvktyW5PHF\nk9+R/c+/n5vL9CmO83WZs8sUGFsL+5F53osk9iOZs59d9iOrdz8y0/IIAADAkcEL5gAAADCkPAIA\nADCkPAIAADCkPAIAADCkPAIAADCkPAIAADCkPAIAADCkPAIAADD0/wEG7SrDGDWQtQAAAABJRU5E\nrkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nEc7+ZZnFufiXT+gc3e6Q3LsQb7gn+cZT2fvx8CM6Rz9y6TtSpR9NvonnZ+LWztm7H/zlVO04YVUu\nH/snspnaw51SzjwCAADQZHgEAACgyfAIAABAk+ERAACAJsMjAAAATYZHAAAAmgyPAAAANBkeAQAA\naDI8AgAA0GR4BAAAoMnwCAAAQNNQvxvg6W39T3/aOfu3++2Vqv0X7zk2ld/rqLs7Z09ZuCxV++Wz\nH0nlp4tTVr0slV921YGp/H6fWNU5O7bqh6naAFPDWDI/0pMuNhruXemVv0he4dJkfnb36OrLc6W/\nfF0uH3+UyI4mayePl9d2733D4oNztXfKxWPsmlz+q2s6R0/77P/M1b4oF48rP5YI750snn0M6L42\nyj1edOvDmUcAAACaDI8AAAA0GR4BAABoMjwCAADQZHgEAACgyfAIAABAk+ERAACAJsMjAAAATYZH\nAAAAmgyPAAAANBkeAQAAaCq11km7sXllfj24HDpptwdbMrT3Xqn8+p12TOXvfOucztkF38z9DOeB\ng1LxmLeipPK7Xbu2c7bc+f1U7Q2/+EUqPx1cV5fF2jqS20nANillUY14Z4+qjyXzo8n8cA9rz07m\n5yfzGeuS+UzvDyVr/2ouvuMru2cPz5WOlcn8mYnsn+VKH/T1a1L5XeMnqfwBcVvn7Hfjhanat8UB\nqXzG/cPPzl1h7IzkLSxIZNcksudGrT9urkeceQQAAKDJ8AgAAECT4REAAIAmwyMAAABNhkcAAACa\nDI8AAAA0GR4BAABoMjwCAADQZHgEAACgyfAIAABA01C/G4B+GPv+D3pa/7lv613tZ1zYu9oREbVH\nWYCpo0bEWI9qj/ao7uNmJ7LZXtYl86sS2XnJ2nOT+Uz9fZO1F+biD1/ePfuF5+RqL8323t0z/mV1\nKr9y/d6p/I0PvDCVf2hB92NgfcxI1Z6R/P5f/aFf6h6elSod8XD2e2MkkR1OZEunlDOPAAAANBke\nAQAAaDI8AgAA0GR4BAAAoMnwCAAAQJPhEQAAgCbDIwAAAE2GRwAAAJoMjwAAADQZHgEAAGgyPAIA\nANA01O8GAAAmV42I0R7Vnp3MDyfzmaVbtpesdYls9v4+Ipm/PZH9VrJ29n7M3C835Up/YyyZ361z\n9Gexf652ajsjIl6ZSn87XpFI/yLXSlyZzH81kc0eL2uT+V6pnVLOPAIAANDUHB5LKXuWUr5eSrmt\n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\nwADEAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nPxL/qnv48twqsXl98hVWJLIbk7OzH5BbkvnB8nseAQAAaFIeAQAAaFIeAQAAaFIeAQAAaFIeAQAA\naFIeAQAAaFIeAQAAaFIeAQAAaFIeAQAAaFIeAQAAaFIeAQAAaBob9gLMLWX8san8c55zZ0+bMCgL\n/+8RqfxLXvGlztkvHrs0NXvP9p+m8gD92BsRuxL53YnsouQuW5P5zNFtRXL2ZDJ/byI7kZyd+/oS\nF453z74yNzpu2ZiK3/+MJyTSP8ztsvK1uXziQ3dl+Yvc7D9/cSq+ot6Ryr/5WWd2D29Yn5odcVcy\nvy2RPSY5O3NbNHzueQQAAKBJeQQAAKBJeQQAAKBJeQQAAKBJeQQAAKBJeQQAAKBJeQQAAKBJeQQA\nAKBJeQQAAKBJeQQAAKBpbNgLMLfsfNGZqfy7l/zXztkVn7o8NXt53JbKM70Hj6up/GuP+27n7C0L\nV+SW2f7TXB6gFyUixhP5yZ6yEfmj2K5EdiI5O3mbHou6R1e/ODf6luT78ZxE9m9yoyNuzcXvTLxf\nHn9Bbva5uXhctT4R3p0aPf6aHan8ulflzpjxgkT2GzflZqc+jyIiFiSym5Kzc+/H/m67unHPIwAA\nAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3K\nIwAAAE1jw16AftVnr0zl3/O2/5LKX7/jlM7Z097y/dTsPak0B/Ks564d9goAc8xjImJBIp/Jbkvu\nckyP+WXJ2Rtz8VW/1z373tzoOO2WXP7UC7pnr/1cbvb1F+fyL7u6e3bzptzsq1bk8pHJ70pNfvXx\nuSv1qsv/OJVf8fQ7OmfXvWVhanbEP0nmb03mM8Z7nD147nkEAACgSXkEAACgSXkEAACgSXkEAACg\nSXkEAACgSXkEAACgSXkEAACgSXkEAACgSXkEAACgSXkEAACgSXkEAACgaWzYC9Cvn/zJz1P5pWO7\nU/k3/OFvd86O/+T21GymN3bS41P5//6Ev03lJ6v/UwJG3Z6I2JHIL+hrkYjY1ePsLbn4ylel4ku/\ntb5zduMFy3O73HRBKv648/6uc/b+tyzJ7fKyH+bycVYiuyk5+6ZUekUd75z9hwcvTM2+6kW588jn\nPrk6lX/ey2/pHn7LmanZkTsaRazZkAj3+Tkdkbs9mhz4W3dKBAAAoKlZHkspHyqlbC2lrN3veYtK\nKV8opayf+vu4ftcEAOYz5xGA4etyz+O1EfGr92O/KSJurrUuj4ibp/4NANCXa8N5BGComuWx1vrl\niNj2K89+YURcN/X0dRFx0YD3AgD4/5xHAIbvYL/ncXGt9b6ppzdHxOIB7QMA0JXzCMAsmvEPzKm1\n1oioB3p5KeWyUsqaUsqayXhwpm8OAOARMueRiNxPIgdgn4Mtj1tKKSdFREz9vfVAwVrrNbXWVbXW\nVeNx+EG+OQCARzio80jEkbO2IMAoOdjy+JmIuHTq6Usj4tODWQcAoDPnEYBZ1OVXdXw0Ir4eEb9R\nStlYSnlFRFwZEReUUtZHxPlT/wYA6IXzCMDwjbUCtdZLDvCi8wa8CwDAtJxHAIavWR6Ze378qmd1\nzv6Pp/7n1Oy/+unTUvnxm25P5Zm5e/7s5FR+su5J5S+dOL9zds/W+1OzAQ5NuxLZU5OzD/htmgew\no3v0ojekJq/45B2p/LpNp3cPZ0+c23Px+5c/IZH+em54vCSZPz6RnUjOPiWVXnfSmd3DNyRX+dRb\nU/EL134pN/+ERPbPf5ibnbYukV2QnJ3NZ26PBm/GP20VAACA0ac8AgAA0KQ8AgAA0KQ8AgAA0KQ8\nAgAA0KQ8AgAA0KQ8AgAA0KQ8AgAA0KQ8AgAA0KQ8AgAA0KQ8AgAA0DQ27AXIe8xFP+qc/fWxw1Oz\nP/iRC1P5pfG1VJ5HOuwpv5HKX3/e+1L5B+tkKv9373xy5+xRD96Wmg0wN5SIGO9p9s5k/sRkPnF0\n+9SW1OR15czkLm/rnDz6gX+TmvzASx+XW2VDJrwpNzvuTuYz7/enJWfflYtvTmRXJ7+mn/NvU/Hz\nznh6bv71mfCXcrNjVzK/OJGdSM7O3hZl6lvuDNiFex4BAABoUh4BAABoUh4BAABoUh4BAABoUh4B\nAABoUh4BAABoUh4BAABoUh4BAABoUh4BAABoUh4BAABoUh4BAABoGhv2AkQc9rjHpfJvefL/6mmT\niKX/8Wu9zWZ63/39Y1P5VYfvSeXf85PTU/mjbrwtlQc49NSImOxp9rZkfksyv6J79PGLc6NflovH\nB97YOfrA0Xclh/91Ln7GG7pnNySyERG5L9MRm9+dCO9IDj8ymc9IXkdnnJ2K/59/8YLc/B/dnghn\nP+9OTeYnkvmMhcn8rl626Mo9jwAAADQpjwAAADQpjwAAADQpjwAAADQpjwAAADQpjwAAADQpjwAA\nADQpjwAAADQpjwAAADQpjwAAADSNDXsBIsqRR6Tyv3XkTztnz/rWv07NfnysS+WZuROWbet1/od/\nuCqVPyG+39MmAIeq8UR2YY+zIyIWdI9ufn9u9Ddelcu/JpG98mm52dkj6sZE9heZcERsnsjlI/N1\n/dm50UufmcvvTmQ3J6//D0zm8jGRzN+UyJ6dnL0rmc+8I7Of0/2eAwfNPY8AAAA0KY8AAAA0KY8A\nAAA0KY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0jQ17ASL2\nbtueyv+H+8/snP2XT1qTmv3lk56Uyu++b3MqP1+MnXJy5+ytK29ITs/9n8+ub5yQnP/9ZB7gUHNY\nRByTyGeOSzuTuyxK5k9NZJflRn/1ilx+WSL/0tzouOH4XH77V7tnrz03N/v6pbn8A4n535jMzd74\nsVw+9bG7Ijn69Fx+6fJcfuMbu2d3fyE3O9Yn85nP003J2YcW9zwCAADQ1CyPpZQPlVK2llLW7ve8\nK0opm0opd079eX6/awIA85nzCMDwdbnn8dqIuHCa5/9lrXXl1J/PDnYtAIBfcm04jwAMVbM81lq/\nHBHbZmEXAIBpOY8ADN9Mvufx8lLKXVMPIzluYBsBAHTnPAIwSw62PF4dEU+KiJURcV9EvONAwVLK\nZaWUNaWUNZPx4EG+OQCARzio80jEz2ZrP4CRclDlsda6pda6p9a6NyLeHxFnPUr2mlrrqlrrqvE4\n/GD3BAD4JQd7Hok4avaWBBghB1UeSykn7ffPF0XE2gNlAQD64DwCMLuavzm0lPLRiFgdESeUUjZG\nxJ9GxOpSysqIqBExERGv7nFHAGCecx4BGL5meay1XjLNsz/Ywy4AANNyHgEYvpn8tFUAAADmieY9\nj/Rv786dqfznN53WOfuVlR9Jzb7vb34tlf/K+56Vys8V20+vqfzRy36ayp/z6xOds3tjb2p2Vsld\nVIB5YE9E7EjkFySyS5K7ZP3PRHZRcvZTc/Hrf9w9+6njU6OXf3RzKr/+0+d2D1/0/tTsiNw5LeKU\nRPbFudEnXJzL/2hLIvyx3OzXnJ7LT+TiMTGZCG9KDl+WzB+TyGbe5xERmcs5fO55BAAAoEl5BAAA\noEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoKnU\nWmftjR1TFtWzy3mz9vZG1llP7Rz96RW7UqM/eca1qfyiww5P5eeKNQ8elsrvSf4/y6rHPtQ5e1gp\nqdlZF532nFR+786dPW3CdG6rN8eOuq3fDwLgl5SypEb8fuI1JnvbJeLsZP62RHZxcnbW+Yns8tzo\nd+Xip7zuu52z9/6703LDj87FY3cie1Vy9uav5vLHnts9uz03OuLaZH5FMn9iMp9xUzK/NZHt8/ai\nT9dErf/QPI+45xEAAIAm5REAAIAm5REAAIAm5REAAIAm5REAAIAm5REAAIAm5REAAIAm5REAAIAm\n5REAAIAm5REAAICmsWEvwEH45t2do7/2/Nzol69+bSq/ffnhuTcwRxz//q/3On/TJ57SOXv72df2\nt0hE7N25s9f5AIeeEv0dgRYm8+uS+QXJfEZ297sS2Ttyo6+4OBW/9/VHdw+/NLdK3DCZfIXPJbKr\nc6NPOzeX/24unrMsmU9+DMQ/TWQ/kZy9JJnPnKVOTM7elsxnbgOys9vc8wgAAECT8ggAAECT8ggA\nAECT8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAEDT2LAXYG45\n7JY7Uvnjb+lnj0PdromF3cNn97dHRER99spUvtx6Z0+bAMwVNSJ29zR7WzKf/SKQObqdmpydfZ98\nPJE9Pzd6ey4er1zaPXtRcvZp47n8Fc9LhJNH8e++LZe/6o3ds5ffnpsdq5P5E5P5dYns4uTse5P5\nxLkuNiVnL0jmdyXzg+WeRwAAAJqURwAAAJqURwAAAJqURwAAAJqURwAAAJqURwAAAJqURwAAAJqU\nRwAAAJqURwAAAJqURwAAAJqURwAAAJrGhr0AjKTSPfqYnv8Pp9x6Z6/zAUZf5rg0mZx9VzK/OJFd\nlJy9Ipl/ZSJ7dXL2rbn4B16UyB6Zmx3rkvmMhcn8H+bimQ/dK5+Zm/2mn+fyy07P5SeWJsIfzs2O\nXcl8n7K7HNPj7LbmqbWUcnIp5YullHtKKd8ppbxu6vmLSilfKKWsn/r7uIFvBwAQziMAc0GXuzx2\nR8Qf1VpPj4hzIuIPSimnR8SbIuLmWuvyiLh56t8AAH1wHgEYsmZ5rLXeV2u9Y+rpnbHvvvslEfHC\niLhuKnZdRFzU15IAwPzmPAIwfKlvtiqlLIuIZ0TEbRGxuNZ639SLNkfuQfgAAAfFeQRgODqXx1LK\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nJsMjAAAATf8P/FAP7Bfzs/AAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA48AAAFpCAYAAAA86x25AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X+Q3XV5L/DnQ3YhCZBiRCIlaCihBYsWIYIdcilW7QWv\nLej0Wh21cEcv9ocV2jqtU++tuTM613bqz9LKxMqFO9f6Y8QfaDVKUVSsRgOlEAgqIrQESMRcGigb\n2E0+948c7qSS8Pk+m/3u2Zx9vWYYkt33PvucPbt7Pu+cs2dLrTUAAADgyRw07AUAAACY+5RHAAAA\nmpRHAAAAmpRHAAAAmpRHAAAAmpRHAAAAmpRHAAAAmpRHAAAAmpRHAAAAmpRHAAAAmsZm850dXA6p\nC+PQ2XyXAHPajvi3eKw+Woa9B8wnpSyuEUf0Nb2nudOZX3vbYrfMLtmPy65kPnN/SPbjMp7M97nL\nVDK/M5nP6Ps6nUv6/Lru++u0qwej1keaF3RWy+PCODTOKC+czXcJMKetr9cOewWYh46IiIt6mp0t\nGlmZo1u2aGRldsl+XCaS+UWJ7GRy9rJk/vBENns5tyXzDyXzGdkakb2sc0mfX9fZz8e+rO2U2q+H\nrZZSzimlfLeUckcp5S37MwsAYDqcRwBmx7TLYyllQUT8VUScGxHPiohXlVKeNVOLAQC0OI8AzJ79\nuefx9Ii4o9Z6Z631sYj4aEScNzNrAQB04jwCMEv2pzweExH/ssff7xm87N8ppVxUStlQStkwGY/u\nx7sDAHiC9Hkk4pFZWw5glPT+qzpqrWtrratqravG45C+3x0AwBPseR6JWDzsdQAOSPtTHjdHxLF7\n/H354GUAALPFeQRgluxPefxORJxQSjmulHJwRLwyIq6embUAADpxHgGYJdP+PY+11qlSyhsj4osR\nsSAiLq+13jpjmwEANDiPAMyeaZfHiIha6+cj4vMztAsAQJrzCMDs2K/yCABw4DkoIhYNe4mBqZ7z\nGdlj4dJEdlly9pZk/qFEdiI5O/sjtKcmsrcnZx+ezPcp+3HMGu95fsbksBeYM3p/tlUAAAAOfMoj\nAAAATcojAAAATcojAAAATcojAAAATcojAAAATcojAAAATcojAAAATcojAAAATcojAAAATWPDXgAA\nYHbtioiJRH5RIjuV3CV7FMvskpXdfUUi++3k7D9K5tcnsl/Njf4/b03F//rVF3bO3hTPTc1e+9/f\nlMrH269IhDfnZvduMpEdT87Oft31WZky34sicpc18zHsxj2PAAAANCmPAAAANCmPAAAANCmPAAAA\nNCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANI0NewEObActXtw5e9o/\nPJSa/ban3ZTK/8ptL++cPfjFd6dmAzCfTSWyk8nZS5P5bXNkdkTE5kT2V5OzP5aLj72me3bd6tzs\n5bn47/zqFd3D5+Rmx9uvyuXPubB7dt2a3OxYlMxn9fl116fsLuO9bNEX9zwCAADQpDwCAADQpDwC\nAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQNDbsBZhb\nDlq8OJX/3tqf65z99NPWpmbvSqUj/uWfju6cPT7uTk4HYHSUiBhP5CcT2czciIgtyXzGomR+aS5+\n5IXds6tyo2Pdplz+0kT24dzo2JCLv+1zpXP21z57Umr2L7/+y6n8v16WCK/Lfr4sSea3J/OHJ7Lb\nkrOzFWgikc1+D8h8fxk+9zwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQ\npDwCAADQpDwCAADQpDwCAADQNDbsBZhb7nzrL6Tyt73g/Z2zr77z3NTsH7/juFT++HXfSuUBmK9q\nREz2NLuvuY9blsiuTM7+ai7+/ET2lbnRsW5LKv7MN9zeObsscrO//b5fSuX/x7raPbs+NTri+R9I\nvsH2RDb7+XJSMv9QMv+FRHZFcvbmZH5JIpv5mB943PMIAABAk/IIAABA0349bLWUclfsvg96Z0RM\n1VpXzcRSAABdOY8AzI6Z+JnHF9RaH5iBOQAA0+U8AtAzD1sFAACgaX/LY42IL5VSbiilXDQTCwEA\nJDmPAMyC/X3Y6upa6+ZSylERcU0p5fZa69f2DAy+iV8UEbEwFu/nuwMAeILUeSTip2Z/Q4ARsF/3\nPNZaNw/+vzUiPhURp+8ls7bWuqrWumo8DtmfdwcA8ATZ80j4x2yAaZl2eSylHFpKOfzxP0fEr0TE\nxplaDACgxXkEYPbsz8NWl0XEp0opj8/521rruhnZCgCgG+cRgFky7fJYa70zIn5hBncBAEhxHgGY\nPTPxex4ZIY8dNdXb7Ju/fkIqf9y6b/a0CQD0Zbzn+VsS2VOTsw/PxT+XyV6dm73yTan43e9IZE8+\nMTX7aRf/cyr/o/J3ifRkanacmPu4xO03JMLfzs2OW5L538vFj1zTPftwbnTsuD75BpmPzYrk7G3J\nfMZEIls6pfyeRwAAAJqURwAAAJqURwAAAJqURwAAAJqURwAAAJqURwAAAJqURwAAAJqURwAAAJqU\nRwAAAJqURwAAAJqURwAAAJrGhr0Ac8v4YY+l8g/t6p5/xjWPZtcBAKbtxmR+PJm/rXv0vb+WG31K\nLh4PJLLn/zA1+kfxqdwucWoim7yObs/tHrEukT0zN/r8387lT87F4+2J7Ork7AeSb3D7CYnw93Oz\nY3MyvyWRnUxka6eUex4BAABoUh4BAABoUh4BAABoUh4BAABoUh4BAABoUh4BAABoUh4BAABoUh4B\nAABoUh4BAABoUh4BAABoGhv2AvRrwcrjUvlbz7o8lb/43hd23+UrN6ZmA8CBZ7Ln+SsS2ZOSs0/P\nxVeV7tlLrsvNvuzsXP6/ZcJTudmxNJk/qnv06X+QG33/D3P5+P1Edltu9KcfyeWPXJyK/3L9XOfs\nlz/20twu38rF44Flieym5PBFyfxDieySRHZBp5R7HgEAAGhSHgEAAGhSHgEAAGhSHgEAAGhSHgEA\nAGhSHgEAAGhSHgEAAGhSHgEAAGhSHgEAAGhSHgEAAGhSHgEAAGgaG/YC9Ou7a44Y9grMsEfPfV4q\n/9Cx/X2ZP+2G7al8veHWnjYBmCuWJPOLkvnNieyW3OgTz8jl35jIXrg+N/sTZ+fyD9yQCN+Ymx0T\nyfzW7tH770jOPjOZ/8tEdmly9n/NxW/Pxb9860s7Z1/xG1emZp/yGzel8l9/z3/onP3CCS9PzY47\n1uTysTKRzXy/qJ1S7nkEAACgSXkEAACgSXkEAACgSXkEAACgSXkEAACgSXkEAACgSXkEAACgSXkE\nAACgSXkEAACgSXkEAACgSXkEAACgaWzYC9Cv95zxsV7nf+NvT+2cfXr8Q4+bzC0/+PBzO2ffd8ZH\nUrOfffD1qfyyBYek8hl3TE6l8ud94vdT+ePf/K1UHmD4JpL5pT3mt+dG3/6FXP7CzDHy1bnZh+Xi\nEZnbo+XJ2cmP48lnd8+uzI2Om5L5u16eCJ+Qm70wF89e1oXLt3XOfvx5F6Rmf3zDibllTj6je/aO\nq3KzY1Eyf3cy31XtlHLPIwAAAE3N8lhKubyUsrWUsnGPly0tpVxTSvn+4P9P6XdNAGA+cx4BGL4u\n9zxeERHn/MTL3hIR19ZaT4iIawd/BwDoyxXhPAIwVM3yWGv9WkT85IOOz4uIKwd/vjIizp/hvQAA\n/j/nEYDhm+7PPC6rtd43+PP9EbFshvYBAOjKeQRgFu33E+bUWms8ydPzlFIuKqVsKKVsmIxH9/fd\nAQA8QeY8EvHILG4GMDqmWx63lFKOjogY/H/rvoK11rW11lW11lXj0d+vDAAA5p1pnUciFs/aggCj\nZLrl8eqIePwXqlwQEZ+ZmXUAADpzHgGYRV1+VcdHIuKbEfFzpZR7Simvi4h3RsSLSynfj4gXDf4O\nANAL5xGA4RtrBWqtr9rHq144w7sAAOyV8wjA8DXLI3PPgiVLOmcPPSj3JEVfmjg0lX/6e/4hle9T\nGT+4c/axFzwnNfutH/hfqfxZC2/onB0vC1Kzv/1o7meHf/P2/5zK/8FxX+qc/bVDc0868dfnfyiV\nf+/lL+uc3Xnb91KzAfqRPVpNJPNbEtmXJ2fnbhsj7ukeXbc8N/qyXDziC4nsmuTs9bn4xsR1tDH7\n+fLxZD7js7n4jjNz+Y1n5MY/3P1nk8fXbU/Nnvyt3C7xiasS4eTseGoyf10iuzSR7XYe3e9nWwUA\nAGD0KY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0\nKY8AAAA0jQ17AfJ+eMnJnbOrF16bmv2sr/xmKr8y/jGVz1iw8rhU/ru/u6xz9rZX/GV2nZRrJw7r\nnP2dL16Ymn3i+x5I5Q/53g9S+b+Kn+2c/ctrj03N/tyJn0zl/+czfqpz9uDbUqMB5ojsUWxJ9+iR\nz8mNzq5y/0T3bO6mK+LTyXxckH2D7t5+Ri5/WSJ7z/tzsyN5ncaNiWzi+oyIiOty8Q2TufzyhzpH\nJ2NLbvZLL8zl4+WJ7HuSs5+ZzC/qKdvtPkX3PAIAANCkPAIAANCkPAIAANCkPAIAANCkPAIAANCk\nPAIAANCkPAIAANCkPAIAANCkPAIAANCkPAIAANCkPAIAANA0NuwFyCvP2d7b7PEfLOptdtZ31xyR\nyt/+gr/qnN2V3OXVd56bym//o2M6Z0/45vrU7J2pdL/uuPPpuTc4sZ89AOaOiWR+KplP3E4/8Ehy\n9jdy8Re9uHv2jtzoiO8n84mP+4uSoy9N5h/IhLPLnJDMZ2xK5o9K5s9I5jP7JD/Xb8/F45zSPbvu\n9OTw7PeAuxPZbTO+h3seAQAAaFIeAQAAaFIeAQAAaFIeAQAAaFIeAQAAaFIeAQAAaFIeAQAAaFIe\nAQAAaFIeAQAAaFIeAQAAaBob9gLknXjUlmGvMC3ltJ9P5T+1+gPJ9zDeOfnz112UmnzC6zal8mXH\nP6Xy88Wfbn1eKr/wuls6Z3dllwHoRffbot0WJfOHd48uXJwbvWMil//7TPbHudmrT8jlNyayf/9n\nudmr/jiXPz+RvexTudkr35rL33N29+yOY3Kz4+Zk/hvJ/F2JbPJs/HAuHusy83Nnxn6/Z2xPZLud\npNzzCAAAQJPyCAAAQJPyCAAAQJPyCAAAQJPyCAAAQJPyCAAAQJPyCAAAQJPyCAAAQJPyCAAAQJPy\nCAAAQJPyCAAAQNPYsBcgb/niBztnD8r++0CpyW26+96bDknlTxofT+VP+85rOmePf/U/pmbvSqXn\nj/HDHkvl/20q9zmwa8eOVB7gwDORzG/pHt1xTXJ2cpc1iew9T83N/pvJXD5lWS7+/OT4T2TCr8/N\nvisXj6kbEuHP5mavXpPLX/+FXP6yC7tnr8iNjm+9O/kGpyayS5KzFyXz23vKdusM7nkEAACgqVke\nSymXl1K2llI27vGyNaWUzaWUmwb/vaTfNQGA+cx5BGD4utzzeEVEnLOXl7+n1nrK4L/Pz+xaAAD/\nzhXhPAIwVM3yWGv9WkRsm4VdAAD2ynkEYPj252ce31hKuXnwMJKnzNhGAADdOY8AzJLplscPRMTx\nEXFKRNwXEe/aV7CUclEpZUMpZcNkPDrNdwcA8ATTOo9EPDJb+wGMlGmVx1rrllrrzlrrroj4YESc\n/iTZtbXWVbXWVeORe5p+AIB9me55JGLx7C0JMEKmVR5LKUfv8deXRcTGfWUBAPrgPAIwu8ZagVLK\nRyLi7Ig4spRyT0S8LSLOLqWcEhE1dv+60jf0uCMAMM85jwAMX7M81lpftZcXf6iHXQAA9sp5BGD4\n9ufZVgEAAJgnmvc8Mvfsqt07/67YlRteS3Kb7o5e9mAqn939WU/b0jn7f1OT55cFK4/rnL31rMtT\ns8+6+RWp/JL4QSoPcOBZkczfk8jemJw9lYuvS2TPz42OeHcufsQfd8+efGFu9qXX5fJxUiI7mRs9\ndXUuH8sS2dxtdO8/Yfxb2xPh65LDz0zmv5HITiRnr0zmM1+nmWztlHLPIwAAAE3KIwAAAE3KIwAA\nAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE1jw16A+eOI\n1+1I5dd/fTyVv/QZn+2c/cU/e3Nq9s++/+5Ufmrzvan8XHLSx7pf1i07J1KzF75vaXKbHyTzAF2U\niMjdxnQ3mcxvT+Yz33dz36MjluXiRySyv15zs9+yIpd/8Pru2es352ZHNp84Xi9cnRv9yuW5/GGJ\n7KW35WY/+I5cPo5J5m9OZLckZ2e//jNf1ycmZ29N5rPfY2aWex4BAABoUh4BAABoUh4BAABoUh4B\nAABoUh4BAABoUh4BAABoUh4BAABoUh4BAABoUh4BAABoUh4BAABoGhv2AkQsWHlcKn/WT325p036\nNbX53lT+z150fir/C1fd2Tm78TXvT83+nV96QSp/339a2jm788fbUrMffO0vpvKrL1mfyv/psm90\nzp720TenZh+/7lupPEA/akRMDnuJgU3J/Iu6R5evzo1+TS4e7/xC9+wl5yaH35XMr0hkX54bffZ4\nLr8xkc1+zJNXabwzE74xOfyoZL7P2nF2Mn9XMp/5/F2UnP3hZD4j+bnbgXseAQAAaFIeAQAAaFIe\nAQAAaFIeAQAAaFIeAQAAaFIeAQAAaFIeAQAAaFIeAQAAaFIeAQAAaFIeAQAAaFIeAQAAaBob9gJE\n7Lzjh6n8R+8/vXP2ZcevS81+5up/TuUXLFnSObtz+/bU7Kk770rlb3hu938LOeu1b0rNXnrzg6l8\nOXKyc/aHlx6bmn3rWZem8lt2TqTyp330zZ2zx7/5W6nZAKNvPJnPHsUe6h69p+ZGH1Fy+Tee2z37\nidzouOfiXH75wkR4S2722LJc/u2J7Im50fHSZP7hdyTCZyaHb0rmz+hxfnaXxNdRev625OyszPeY\n7ufRiG7fL9zzCAAAQJPyCAAAQJPyCAAAQJPyCAAAQJPyCAAAQJPyCAAAQJPyCAAAQJPyCAAAQJPy\nCAAAQJPyCAAAQJPyCAAAQNPYsBcgb8frl3TOvvuqE1OzP3fiZ1L5i689s3P225f9Ymr2YfdOpfIZ\nP3rerlT+eW+6M5V/109f3zl7UPLfcNb+64pU/oq/eGkqf/zl30zlAdgfE8n8jb1sERERbzkqlz/y\ntO7ZB9bkZm9I5k9JZG/6WG72329L5l/fPbtweW72jvW5fEwmssnrP7K7ZPOZc+DW5OyspYnsqcnZ\n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\nAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHRN\njXsBmER/d8bw/y9zWC4rzT7rb08r5Q+56tZSvpXSAAeixyNi+4hmrynmZ4r5yt4rRjg7ImJHIbty\nhLMjIm4rZKeLs9cX8xsHJy973ptLky97eS0fV2waHD223V8affefv7i2S1xSzL+hkN1SnL26mP9g\nIVutV9Wv0/FyzyMAAABd3fKYmRdn5tbMvGO3yy7IzM2Zecvcfz822jUBgKXMeQRg/Ibc83hJRJy+\nh8vf31o7ce6/T8/vWgAA3+KScB4BGKtueWytfT4iti3ALgAAe+Q8AjB++/NvHs/LzNvmHkZy5Lxt\nBAAwnPMIwALZ1/L4gYh4fkScGBH3RsR79xbMzHMzc0NmbpiJR/fx3QEAPMk+nUciHl6o/QAmyj6V\nx9baltba4621nRHxoYg46SmyF7XW1rbW1k5H7VcSAADszb6eRyIOWbglASbIPpXHzDx6t7++OiLu\n2FsWAGAUnEcAFlb3t1hm5kciYl1EHJWZmyLi1yNiXWaeGLt+n/jGiHjLCHcEAJY45xGA8euWx9ba\nWXu4+MMj2AUAYI+cRwDGb3+ebRUAAIAlonvPIxDxtMMPL+XP+aHrB2e373ykNHvrb35XKb/s0RtL\neYDJ97SIWF7IzxayM8VdKntERDxYyFaPeSuK+e2F7HRxduV6RkRUfk6vKc5eVcxfMzy68QO10Ue8\ntZY/9ZjB0bv/6/BsRET8ai0ecVwxv7GQXV2cvbWYX1nIbinOrnx/iah/j5lf7nkEAACgS3kEAACg\nS3kEAACgS3kEAACgS3kEAACgS3kEAACgS3kEAACgS3kEAACgS3kEAACgS3kEAACgS3kEAACga2rc\nC8CB4O4Lvq+U/9RRvz84e+bdrynNXvbpG0t5AL7dzojYMaLZW4v5mWJ+RSFbPeZVPybLi/mKw4v5\nbYXsS4qzq/kXFbIfrI2+5f5aPp4xPPpQcfT3FvPX3158g9WFbO0sFXFZMV/5uttenD1bzE8XstXv\nL33ueQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBL\neQQAAKBratwLwDj837NfXsrf9tO/U8r/n9mZwdmH/tMxpdnL4t5SHoCFVD1aDf95UZ+/ozh7upiv\n2FLMH1fMPzg8etQptdEvrMXjuncXwj9fHF69Ta8bHv3iScXZ1dv0TcX8dYXsiuLse4r5yvxVxdnV\nj2Nl/sbi7D73PAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIAANCl\nPAIAANClPAIAANClPAIAANA1Ne4FYL5Mrf7Owdm3/9qflGYvy9qXyutuPWdw9js+c2NpNgCL2fSI\n5z9YyB4+si12WV7IzhRnV/M/Ozz6SHH0dZfV8j97wfDsUbXR8a71tfzp64Znr7qzNrv8uV6tHdsL\n2Y3F2ccV8/cUshuLs1cX89WvjfnlnkcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6\nlEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6psa9AOxNTtU+PV/8qU2Dsz912P2l2Zc/+MxS\nftWvDf//MjtLkwFYeNOF7PYRzq7aUcyPcpdVxfxxtfgRzxiefaB6G62pxYcfRyI+WBsdx7ysln9h\nIXvVPbXZsbGYH6WNxfy2USwxp/q5Xt2l+nU9v7on3Mx8dmZ+LjPvzMwvZebb5i5fmZlXZ+bdc38e\nOfp1AYClyHkEYPyG3D0yGxG/1Fo7PiJeHhE/l5nHR8T5EXFta+3YiLh27u8AAKPgPAIwZt3y2Fq7\nt7V289zLD0bEXRGxOiLOjIhL52KXRsSrRrUkALC0OY8AjF/pCXMyc01EfH9ErI+IVa21e+dedV/U\nH+ALAFDmPAIwHoPLY2YeFhEfj4i3t9a+5V8at9ZaRLS9vN25mbkhMzfMxKP7tSwAsLTNx3kk4uEF\n2BRg8gwqj5k5Hbu+UV/eWvvE3MVbMvPoudcfHRFb9/S2rbWLWmtrW2trp2PZfOwMACxB83UeiThk\nYRYGmDBDnm01I+LDEXFXa+19u73qyoh4/dzLr4+IT87/egAAziMAi8GQX6R3ckScExG3Z+Ytc5e9\nMyLeExEfzcw3RsRXI+K1o1kRAMB5BGDcuuWxtXZ9ROReXv2K+V0HAODJnEcAxq/0bKsAAAAsTUMe\ntgrj8eLvKcX/wzP/aESLRPzeb/5UKX/ErV8Y0SYA7L+MiOlC/kA9Lq0p5meK+WML2Y3F2dfU4g/M\nFsLb+5HdXXhaLb+ukP3Uu2uzH/qVWv7CWrxk6t/U8rObiu/g0n7kHy0vzq58/UdEVD6/thRnH1jc\n8wgAAECX8ggAAECX8ggAAECX8ggAAECX8ggAAECX8ggAAECX8ggAAECX8ggAAECX8ggAAECX8ggA\nAECX8ggAAEDX1LgXYOk46PjvLuXPveKTI9ok4viLf66UX/NHXxzRJgAsvBYRMyOaXT1azY5ki102\nF/M7ivmzC9mX1Uavq8XjVwvZU68sjf6RX/pUKf+/fuEnCulXlmbHA7fV8nFDIbulNnq2mI81xfzy\nQnZVcfaKYv6uYn6UpgvZ+f8+555HAAAAupRHAAAAupRHAAAAupRHAAAAupRHAAAAupRHAAAAupRH\nAAAAupRHAAAAupRHAAAAupRHAAAAupRHAAAAuqbGvQBLx5f/9ZGl/CsP2T6iTSKOue6x2hu0NppF\nABiDjIjpEc3eUcyvKOYrR7dtxdnLa/FTCtnrP1Qa/eLPvaiUv/UHXj48/I5/UZr9eFxVysd5hTPD\nNSfUZt9xWy0fJxeyM8XZG4v5m4v5iuLnbvlro/L9ovpxHNX3otFwzyMAAABdyiMAAABdyiMAAABd\nyiMAAABdyiMAAABdyiMAAABdyiMAAABdyiMAAABdyiMAAABdyiMAAABdU+NegAPbI688aXD22le+\ntzj9kGIeAA40O4r5ZxayK4qzi7tcf/fw7JveXBr9tcc313bZ8IHh2UveWhr9F//29NouF15WCK+r\nzb7mhFr+1Jnh2anp2uypl9byj/xOLR8PFrI3FGcXr+tIFW6jiBj37u55BAAAoEt5BAAAoEt5BAAA\noEt5BAAAoEt5BAAAoEt5BAAAoEt5BAAAoEt5BAAAoEt5BAAAoEt5BAAAoEt5BAAAoGtq3AtwYPv6\nyQcNzj5n6pARbhJx+YPPHJyd3v5YaXarLgPAItYiYmZEs6dHNPcJmwvZ6i6ri/nlw6PfW5u87bLq\nLm8dHn3hB4qztxfzvzw8ek1t8jGvuLuU3xTrh4ePOLu2zDc/XsvHbDFf+Pwqfz1X86P+uq4Y1feu\nYdzzCAAAQFe3PGbmszPzc5l5Z2Z+KTPfNnf5BZm5OTNvmfvvx0a/LgCwFDmPAIzfkIetzkbEL7XW\nbs7MwyPipsy8eu5172+tXTi69QAAIsJ5BGDsuuWxtXZvRNw79/KDmXlX1B8UDwCwz5xHAMav9G8e\nM3NNRHx/xD/+69vzMvO2zLw4M4+c590AAJ7EeQRgPAaXx8w8LCI+HhFvb61tj4gPRMTzI+LE2PV/\nAt+7l7c7NzM3ZOaGmXh0HlYGAJaq+TiPRDy8YPsCTJJB5TEzp2PXN+rLW2ufiIhorW1prT3eWtsZ\nER+KiJP29LattYtaa2tba2unY9l87Q0ALDHzdR6JGO2vjgKYVEOebTUj4sMRcVdr7X27XX70brFX\nR8Qd878eAIDzCMBiMOTZVk+OiHMi4vbMvGXusndGxFmZeWLs+k27GyPiLSPZEADAeQRg7IY82+r1\nEZF7eNWn538dAIAncx4BGL/Ss60CAACwNA152CqMxX+8//hS/gv/fM3gbLv39uI2ADDEzLgX2M2o\nd7lrePQdH62NPuoXa/m4pJA9rjb6/HW1/NML2VPvL43eFJfXdol/Nzz6zVacva2Y317MLyaL6et6\nvNzzCAAAQJfyCAAAQJfyCAAAQJfyCAAAQJfyCAAAQJfyCAAAQJfyCAAAQJfyCAAAQJfyCAAAQJfy\nCAAAQFe21hbsna3Ile1l+YoFe38Ai936dm1sb9ty3HvAUpL5nS3i3HGvsQitLOZfUsiuKc5eVcxv\nGVE2IuKEYn66kL2zOLv6cbmhkN1cnF39OLK4XRStfb17HnHPIwAAAF3KIwAAAF3KIwAAAF3KIwAA\nAF3KIwAAAF3KIwAAAF3KIwAAAF3KIwAAAF3KIwAAAF3KIwAAAF3KIwAAAF3ZWlu4d5b5jYj46h5e\ndVREfHPBFhkf13PyLJXr6nqOznNba9+xwO8TljTnEddzwiyV6xmxdK7roj2PLGh53OsSmRtaa2vH\nvceouZ6TZ6lcV9cTWAqWyvcA13OyLJXrGbF0rutivp4etgoAAECX8ggAAEDXYimPF417gQXiek6e\npXJdXU9gKVgq3wNcz8myVK5nxNK5rov2ei6Kf/MIAADA4rZY7nkEAABgERtreczM0zPzrzPznsw8\nf5y7jFpmbszM2zPzlszcMO595ktmXpyZWzPzjt0uW5mZV2fm3XN/HjnOHefDXq7nBZm5ee42vSUz\nf2ycO86HzHx2Zn4uM+/MzC9l5tvmLp+o2/QprufE3aZA31I5j0zqWSTCeWTSfnY5jyze23RsD1vN\nzIMi4m8i4rSI2BQRN0bEWa21O8ey0Ihl5saIWNtam6jfTZOZ/zQiHoqIP2ytvXDust+KiG2ttffM\n/RA+srX2y+Pcc3/t5XpeEBEPtdYuHOdu8ykzj46Io1trN2fm4RFxU0S8KiLeEBN0mz7F9XxtTNht\nCjy1pXQemdSzSITzSEzYzy7nkcV7HhnnPY8nRcQ9rbWvtNYei4grIuLMMe7DPmitfT4itn3bxWdG\nxKVzL18au74IDmh7uZ4Tp7V2b2vt5rmXH4yIuyJidUzYbfoU1xNYepxHJoDzyGRxHlm8xlkeV0fE\n13b7+6ZY5B+s/dQi4rOZeVNmnjvuZUZsVWvt3rmX74uIVeNcZsTOy8zb5h5GckA/dOLbZeaaiPj+\niFgfE3ybftv1jJjg2xTYo6V0HllKZ5GICf7ZtQcT+7PLeWRx3aaeMGfhnNJae0lEnBERPzf3sIOJ\n13Y9LnpSn9L3AxHx/Ig4MSLujYj3jned+ZOZh0XExyPi7a217bu/bpJu0z1cz4m9TQFiiZ5FIibr\nZ9ceTOzPLueRxXebjrM8bo6IZ+/292PmLptIrbXNc39ujYg/jV0Pk5lUW+Yew/3EY7m3jnmfkWit\nbWmtPd5a2xkRH4oJuU0zczp2fQO7vLX2ibmLJ+423dP1nNTbFHhKS+Y8ssTOIhET+LNrTyb1Z5fz\nyOK8TcdZHm+MiGMz83mZeXBEvC4irhzjPiOTmYfO/SPYyMxDI+JHI+KOp36rA9qVEfH6uZdfHxGf\nHOMuI/PEN685r44JuE0zMyPiwxFxV2vtfbu9aqJu071dz0m8TYGuJXEeWYJnkYgJ+9m1N5P4s8t5\nZPHepmN7ttWIiLmnnf3PEXFQRFzcWnv32JYZocz8rtj1f/giIqYi4o8n5bpm5kciYl1EHBURWyLi\n1yPif0TERyPiORHx1Yh4bWvtgP7H3Xu5nuti18MJWkRsjIi37PY4/ANSZp4SEX8ZEbdHxM65i98Z\nux5/PzG36VNcz7Niwm5ToG8pnEcm+SwS4TwSE/azy3lk8Z5HxloeAQAAODB4whwAAAC6lEcAAAC6\nlEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6/h+PDlLEt9+rPgAAAABJRU5ErkJg\ngg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA48AAAFpCAYAAAA86x25AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X+U53VdL/DXS2aABXcDJPbiroq6FBAg6l7IK90srYul\nKXaPRdGFU0ZZmJan5Hjt6KlbaonWjdJQCDuaXjv4A0spINNARVdCRMEWdElWWMS9uhCjzLDv+8eO\ntw12eX9eu/Od7+x3Ho9z9uzMd57zmvfn+/nufN/P/X7nO9laCwAAAHg4jxj3AgAAAFj6lEcAAAC6\nlEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6phbzi+2fB7QD\n4+DF/JIAS9q34t/i/vbtHPc6YDnJPKhFHDLuZSwzS+nbXBv3Ahi7Ud4eq7NHeXuszP5GtHZfd/GL\nWh4PjIPjlHzmYn5JgCXt2nbVuJcAy9AhEXHOuBexzEyPewE7mR33Ahi7Ud4eq/VqbiSr2KFyW79w\nUGqvnraamadl5hcz85bMPG9vZgEA7An7EYDFscflMTP3i4g/jYhnR8RxEXFGZh63UAsDAOixHwFY\nPHvzyOPJEXFLa+1LrbX7I+LdEfG8hVkWAMAg9iMAi2RvyuOaiPjKTu/fPn/Zf5CZ52TmhszcMBvf\n3osvBwDwEOX9SMR9i7Y4gEky8l/V0Vq7sLW2vrW2fjoOGPWXAwB4iJ33IxEHjXs5APukvSmPmyPi\nMTu9v3b+MgCAxWI/ArBI9qY8fjoijs7Mx2fm/hHx0xFx2cIsCwBgEPsRgEWyx7/nsbU2l5nnRsTf\nRcR+EXFxa+3zC7YyAIAO+xGAxbPH5TEiorX2oYj40AKtBQCgzH4EYHHsVXkEAGBSrCjmpwvZbcXZ\n1bXMFLKVdUdEzBbzlbVXj7NqrpCtnqOldD0uJZXb4r5n5K+2CgAAwL5PeQQAAKBLeQQAAKBLeQQA\nAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBratwLAABYvqbHvYCdzBXzM4Xs\niuLsar5yPR5WnF3dLt9WyG4tzl5XzN9VzFfMFvPV23rl9jXqf0crC9nqbbd6G1hVyG4rzu7zyCMA\nAABdyiMAAABdyiMAAABdyiMAAABdyiMAAABdyiMAAABdyiMAAABdyiMAAABdyiMAAABdyiMAAABd\nyiMAAABdU+NeAADA4sqImB73IubNFvOjXPeKYr6y9uq6VxXzKwvZtcXZG4v5xxWyTynOrq79bYXs\nC4qzryzmtxXzldvj6uLsUdpazK8p5meK+YXlkUcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6\nlEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6psa9AACAxdUiYnbci1gE1WNcMcL8\nCcXZNxXz6wrZbcXZtxTzqwvZjxZnV89p5Xq/sjj7JcX8DcX8pwrZTcXZRxXzKwvZmeLsuWJ+ayE7\nXcjmoJRHHgEAAOhSHgEAAOhSHgEAAOhSHgEAAOhSHgEAAOhSHgEAAOhSHgEAAOhSHgEAAOhSHgEA\nAOhSHgEAAOiaGvcCYKG0pz1peHZqtP9v8oh/+ueRzgdgb2RETBfys4VsZW5ExMpifkUhW13LTDFf\n2UZuKc4+rJj/XCF7QnH2scX81kK2ev6r5+hTheyzirPfXMxXz+kvD48en7XRd9ficWcl/OHi8JuK\n+cr3gLni7D6PPAIAANClPAIAANC1V09bzcxNEXFPRDwQEXOttfULsSgAgKHsRwAWx0L8zOMPtdaq\nzxwGAFhI9iMAI+ZpqwAAAHTtbXlsEfH3mfmZzDxnIRYEAFBkPwKwCPb2aaunttY2Z+YREXFFZt7c\nWvvYzoH5b+LnREQcGAft5ZcDAHiI0n4k4rsWf4UAE2CvHnlsrW2e//uuiHhfRJy8i8yFrbX1rbX1\n03HA3nw5AICHqO5HIg5e7CUCTIQ9Lo+ZeXBmrvzO2xHxoxFx40ItDACgx34EYPHszdNWV0fE+zLz\nO3P+qrV2+YKsCgBgGPsRgEWyx+WxtfaliHjSAq4FAKDEfgRg8SzE73mEQR6xcmUpf9tLTyjlP/HL\n5w/OHpT7l2ZX/eHXjxuc3R45wpXU/cVnnzY4++j31a7HlR/dWMo/8PWtpTzA+M0W8/cU8zOF7Ori\n7Nr9bkTle/SW4uxVxXxl7dXr/JZift0IZ1fPUeVYrynOPr0WP+3xtXzlyec3vrk2+1UvruUrjen6\nZ9dmv39TLR8rCtnKv7s2KOX3PAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIA\nANClPAIAANClPAIAANClPAIAANClPAIAANCVrbVF+2Kr8rB2Sj5z0b4eo/eIlSsHZw/4m4NKsy9d\n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\nAIAu5REAAIAu5REAAIAu5REAAIAu5REAAIAu5REAAIAu5REAAIAu5REAAICuqXEvAABgadtUyK4q\nzl5TzM8Wsh8szj6lmD+qkK1uOR9VzK8rZLcUZ1fz7ylkTy/OvquYv6aQnSvOrqqufXUhu7k4u/Lv\nqGpFMT8z4vkLyyOPAAAAdCmPAAAAdCmPAAAAdCmPAAAAdCmPAAAAdCmPAAAAdCmPAAAAdCmPAAAA\ndCmPAAAAdCmPAAAAdCmPAAAAdE2NewEAAJNjWzE/U8zPFrLTxdnXFvMrCtlVxdlbi/mNhWz1eqme\no8r2+j3F2VWVY63ctqqz90TlNlBde9Uoj7U6e24kqxjKI48AAAB0dctjZj4mMz+SmV/IzM9n5kvn\nL39NZm7OzOvn//zY6JcLACxH9iMA4zfkcfW5iHh5a+26zFwZEZ/JzCvmP/am1tobRrc8AICIsB8B\nGLtueWyt3RERd8y/fU9m3hQRa0a9MACA77AfARi/0s88ZuZREfHk+PefqD43M2/IzIsz89AFXhsA\nwEPYjwCMx+DymJmPjIhLI+JlrbVtEfHmiHhiRJwUO/4n8PzdfN45mbkhMzfMxrcXYMkAwHK1EPuR\niPsWbb0Ak2RQeczM6djxjfqdrbX3RkS01ra01h5orW2PiLdGxMm7+tzW2oWttfWttfXTccBCrRsA\nWGYWaj8ScdDiLRpgggx5tdWMiIsi4qbW2ht3uvzInWKnR8SNC788AAD7EYClYMirrT49In4uIj6X\nmdfPX/bKiDgjM0+KiBYRmyLil0ayQgAA+xGAsRvyaqtXR0Tu4kMfWvjlAAA8lP0IwPiVXm0VAACA\n5WnI01YBABiJ2SU0e7qYnxlRdk+sKGS3FmdXr5fK9T7K2RG1rX71HM0V86O8rVeN+npfKrMXnkce\nAQAA6FIeAQAA6FIeAQAA6FIeAQAA6FIeAQAA6FIeAQAA6FIeAQAA6FIeAQAA6FIeAQAA6FIeAQAA\n6Joa9wIAAFgKZse9gL0wM8LZo7xeRn2d76vXy6jty+d0vDzyCAAAQJfyCAAAQJfyCAAAQJfyCAAA\nQJfyCAAAQJfyCAAAQJfyCAAAQJfyCAAAQJfyCAAAQJfyCAAAQJfyCAAAQFe21hbvi2V+LSJu28WH\nDo+IuxdtIePjOCfPcjlWxzk6j2utffcif01Y1uxHHOeEWS7HGbF8jnXJ7kcWtTzudhGZG1pr68e9\njlFznJNnuRyr4wSWg+XyPcBxTpblcpwRy+dYl/JxetoqAAAAXcojAAAAXUulPF447gUsEsc5eZbL\nsTpOYDlYLt8DHOdkWS7HGbF8jnXJHueS+JlHAAAAlral8sgjAAAAS9hYy2NmnpaZX8zMWzLzvHGu\nZdQyc1Nmfi4zr8/MDeNez0LJzIsz867MvHGnyw7LzCsyc+P834eOc40LYTfH+ZrM3Dx/Tq/PzB8b\n5xoXQmY+JjM/kplfyMzPZ+ZL5y+fqHP6MMc5cecU6Fsu+5FJ3YtE2I9M2n2X/cjSPadje9pqZu4X\nEf8SET8SEbdHxKcj4ozW2hfGsqARy8xNEbG+tTZRv5smM/9rRNwbEX/ZWjt+/rI/iIitrbXXzd8J\nH9pae8U417m3dnOcr4mIe1trbxjn2hZSZh4ZEUe21q7LzJUR8ZmIeH5EnB0TdE4f5jhfGBN2ToGH\nt5z2I5O6F4mwH4kJu++yH1m6+5FxPvJ4ckTc0lr7Umvt/oh4d0Q8b4zrYQ+01j4WEVsfdPHzIuLt\n82+/PXb8I9in7eY4J05r7Y7W2nXzb98TETdFxJqYsHP6MMcJLD/2IxPAfmSy2I8sXeMsj2si4is7\nvX97LPEray+1iPj7zPxMZp4z7sWM2OrW2h3zb98ZEavHuZgROzczb5h/Gsk+/dSJB8vMoyLiyRFx\nbUzwOX3QcUZM8DkFdmk57UeW014kYoLvu3ZhYu+77EeW1jn1gjmL59TW2lMi4tkR8avzTzuYeG3H\n86In9SV93xwRT4yIkyLijog4f7zLWTiZ+ciIuDQiXtZa27bzxybpnO7iOCf2nALEMt2LREzWfdcu\nTOx9l/3I0jun4yyPmyPiMTu9v3b+sonUWts8//ddEfG+2PE0mUm1Zf453N95LvddY17PSLTWtrTW\nHmitbY+It8aEnNPMnI4d38De2Vp77/zFE3dOd3Wck3pOgYe1bPYjy2wvEjGB9127Mqn3XfYjS/Oc\njrM8fjoijs7Mx2fm/hHx0xFx2RjXMzKZefD8D8FGZh4cET8aETc+/Gft0y6LiLPm3z4rIj4wxrWM\nzHe+ec07PSbgnGZmRsRFEXFTa+2NO31oos7p7o5zEs8p0LUs9iPLcC8SMWH3Xbszifdd9iNL95yO\n7dVWIyLmX3b2jyJiv4i4uLX2e2NbzAhl5hNix//wRURMRcRfTcqxZua7IuIZEXF4RGyJiFdHxPsj\n4j0R8diIuC0iXtha26d/uHs3x/mM2PF0ghYRmyLil3Z6Hv4+KTNPjYh/iojPRcT2+YtfGTuefz8x\n5/RhjvMp4zh5AAAAWUlEQVSMmLBzCvQth/3IJO9FIuxHYsLuu+xHlu5+ZKzlEQAAgH2DF8wBAACg\nS3kEAACgS3kEAACgS3kEAACgS3kEAACgS3kEAACgS3kEAACgS3kEAACg6/8Bo8iqoe0P2oEAAAAA\nSUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA48AAAFpCAYAAAA86x25AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH9xJREFUeJzt3X20nWV5J+D7lnOA8JFKQAOCSgv4gUoRItiW1WZK7UDV\nCs5Uyho70DqindLK1DrS6hr4o6zKTLWudhwcihTqty1+oGOpiEWrhVRACpFQQYojMXyVlgQImJBn\n/shhVpSE572Ts88+2ee61mLlZOd37v28e++zz/Pj3WefbK0FAAAAPJWnjXsBAAAAzH/KIwAAAF3K\nIwAAAF3KIwAAAF3KIwAAAF3KIwAAAF3KIwAAAF3KIwAAAF3KIwAAAF3KIwAAAF1Tc3llu+ZubffY\ncy6vEmBeezQeju+3x3Lc64CFJHOPFvH0cS9jAlSeuqpPc5uK+YpRP+W2Ec9nx1UfAwvhPv3XaO2R\n7g0zp+Vx99gzjs3j5/IqAea1Fe2qcS8BFqCnR8QZ417EBJguZKtbzvXFfEVl3dtjw4jns+Oqj4GF\ncJ9eOCi1Qy9bzcwTMvMfM/P2zDx7R2YBAGwP+xGAubHd5TEzd4mI90XEiRFxeEScmpmHz9bCAAB6\n7EcA5s6OnHk8JiJub63d0Vr7fkR8LCJeMzvLAgAYxH4EYI7sSHk8MCK+u8Xf75q57Adk5hmZeV1m\nXrchHtuBqwMAeJLyfiTikTlbHMAkGfmv6mitXdhaW9ZaWzYdu4366gAAnmTL/UjEHuNeDsBOaUfK\n4+qIePYWfz9o5jIAgLliPwIwR3akPH49Ig7LzB/NzF0j4pcj4vLZWRYAwCD2IwBzZLt/z2NrbWNm\nnhkRfx0Ru0TExa21b87aygAAOuxHAObOdpfHiIjW2ucj4vOztBYAgDL7EYC5sUPlEQBg55MRMT2i\n2RtGNPcJo1p3xGi3heuL+UUjWcVmG4v56n1auY9G/XjZmVUeA+7TuTLyd1sFAABg56c8AgAA0KU8\nAgAA0KU8AgAA0KU8AgAA0KU8AgAA0KU8AgAA0KU8AgAA0KU8AgAA0KU8AgAA0DU17gUAAMytFhEb\nxr2IOVA9xmp+upivWF/MLy5kq+uu3i6LCtlnFmdXrStkq8e5sZiv1o7q/IpRPwYqqmup3I7Vr6M+\nZx4BAADoUh4BAADoUh4BAADoUh4BAADoUh4BAADoUh4BAADoUh4BAADoUh4BAADoUh4BAADoUh4B\nAADoUh4BAADomhr3AgAAJsf0iOdvKGSra6nMrlpUzP9UMb+4kP1icXb1djyqkH1ucfbtxfzXivlR\nGuXja9Rfd0sL2fXF2dX8xmJ+djnzCAAAQJfyCAAAQJfyCAAAQJfyCAAAQJfyCAAAQJfyCAAAQJfy\nCAAAQJfyCAAAQJfyCAAAQJfyCAAAQJfyCAAAQNfUuBcAADA5qlurjcX8dCG7YYSzI2rHWj3OrxXz\niwrZtcXZS4r5ytor646IWFXMV+/TiupjvbqWyv1UfaxXb/d7CtlR3uYRtbVXb5c+Zx4BAADoUh4B\nAADoUh4BAADoUh4BAADoUh4BAADoUh4BAADoUh4BAADoUh4BAADoUh4BAADoUh4BAADomhr3AgAA\n5tbTImLRiGavH9HcJywpZKvHuLqYf24hu7g4++Bi/ojh0YOKo+8v5pcXstW1XLS2+Ak3F7KjrgXr\nivmlhewDxdnVr9PpYr5iVM9Fo+HMIwAAAF3KIwAAAF07dH46M++MzeegH4+Ija21ZbOxKACAoexH\nAObGbLy4+d+01qqvBgcAmE32IwAj5mWrAAAAdO1oeWwR8YXMvD4zz5iNBQEAFNmPAMyBHX3Z6nGt\ntdWZ+cyIuDIzb22tfWXLwMyT+BkREbvHHjt4dQAAT1Laj0Q8fe5XCDABdujMY2tt9cyf90bEpyLi\nmK1kLmytLWutLZuO3Xbk6gAAnqS6H4nYc66XCDARtrs8Zuaembn3Ex9HxM9HxMrZWhgAQI/9CMDc\n2ZGXrS6NiE9l5hNzPtJau2JWVgUAMIz9CMAc2e7y2Fq7IyJ+fBbXAgBQYj8CMHdm4/c8wiC77Ldv\nKf+Pf/ScUn75YbcNzq7+mQ2l2e2xx0p5AOazTRGxvpBfNKqFbMfsjYXsvcXZhxbziwvZm4uzV9Xi\nux9RyNZGx6Nra/krCmvf/9ja7DNfUcv/z+WF8Hm12WWj/DoadaWpzK88t2yP2h52tvk9jwAAAHQp\njwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAA\nAHRNjXsB7NzuPfMnB2fPecufl2a/co8vVJcz2En7vbqU37j6eyNaCQDz38ZC9sDi7NXFfEV1m1c5\nzoiIm4v5ikW1+KMfH569/XW12Z9eXMtPHTs8+6o/rs1e/lu1/Memh2fvP602u+z2Yr7yeFxRnF24\nXSIiovgYKFk/wtmzz5lHAAAAupRHAAAAupRHAAAAupRHAAAAupRHAAAAupRHAAAAupRHAAAAupRH\nAAAAupRHAAAAupRHAAAAuqbGvQDml12ed0gpf9Fb3zs4e+SutYfbplK6Zs0Fe5fyB7xp/1J+45q7\nS3kA5rMNhey64uzFxXzle+mi4uz1xfxLCtmDi7O/WMwfMzy6V9ZGn3RTLR9HFLJH1UafXovHQyuG\nZ88+tjb72lo8rv5s8RMOK2SXFGdvLObvKWSrX9PVr7vpQrby3DWMM48AAAB0KY8AAAB0KY8AAAB0\nKY8AAAB0KY8AAAB0KY8AAAB0KY8AAAB0KY8AAAB0KY8AAAB0KY8AAAB0KY8AAAB0TY17Acwvq87e\np5Q/YtddRrSS0Vpx9EdK+W9d8/1S/rUf/O3B2R877xul2ZsefbSUB2AubSjmp4v59YXsA8XZS4v5\n24dHd//F2uhHD6zlD953ePbOW2qzLzqilv9PjxTCx9VmP1SLlx4DK4uj7yrmo3g7xqpCtvp1dHAx\nf0MhW30OWFTMbyzmZ5czjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQp\njwAAAHQpjwAAAHQpjwAAAHQpjwAAAHRla23OrmxxLmnH5vFzdn1E7HL480r5P/mri0v550wtGpz9\nH/98eGn2df/6nFL+44dcUcqP0jWP7TI4e/7xrynN3vhP36kuh3lsRbsq1rYHctzrgIUk81kt4owR\nTZ8u5qeK+fWF7OLi7OpaKvOXFGevrsV3//Xh2Z+rjY77i/l3Do+++JVfL41eed7Lamv5y0L2xvNq\ns1/8jlp+eS0eFxWyj55fHF79Ol07wtkbivnK111l3RdGa9/r7keceQQAAKCrWx4z8+LMvDczV25x\n2ZLMvDIzb5v5c5/RLhMAWMjsRwDGb8iZx0si4oQfuuzsiLiqtXZYRFw183cAgFG5JOxHAMaqWx5b\na1+JiAd+6OLXRMSlMx9fGhEnzfK6AAD+P/sRgPHb3p95XNpaWzPz8d0RsXSW1gMAMJT9CMAc2uE3\nzGmb3651m2/ZmplnZOZ1mXndhnhsR68OAOBJKvuRiEfmcGUAk2N7y+M9mXlARMTMn/duK9hau7C1\ntqy1tmw6dtvOqwMAeJLt2o9E7DFnCwSYJNtbHi+PiNNmPj4tIj4zO8sBABjMfgRgDg35VR0fjYhr\nIuL5mXlXZr4hIt4VEa/IzNti869afddolwkALGT2IwDjN9ULtNZO3cY/HT/LawEA2Cr7EYDx65ZH\ndm73H7NvKX/wVO3nQM747k8Pzt718odKs5+2Z+0NDY5+828Ozv7OGz9Rmv0f9t7mj9Fs1U/vPjz7\n2cv+b2n2La/cv5TfuObuUh6AHbFhxPmK6jbvhcX8xuHRQ0+sjT6zFo+zzh+eXf722uy9avF41T2D\noyvf+7La7HcW13JQJfxfa7NvrcWjtg2MePS2QrjwWNwui3bS2bNvh99tFQAAgMmnPAIAANClPAIA\nANClPAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIAANA1Ne4FMFqP\n71bLb4pWyt/0v18yOLskrqmt5eGHS/kD3v13g7OfePXLSrNP3ftzpXy0TYOj9zy2d230o4/V1gLA\nPDY9wtkbi/mbi/nfHJz8idu+VJr85QePL+V3vbWwf/mdK0uzI24v5gvb67MOLs5+oBa/a+3w7Pvf\nWJt9dy0e5xbWEhERny1kn1mcXbwdS5YU86Ncy+xz5hEAAIAu5REAAIAu5REAAIAu5REAAIAu5REA\nAIAu5REAAIAu5REAAIAu5REAAIAu5REAAIAu5REAAIAu5REAAICuqXEvgNHa+9+tGen8B//tw4Oz\nS/5shAsp+m/Pvbz4GaP7/yx/+40XlPLP+5e/H9FKABaKjIjpEc2eT1urJbX4XqfX8gcPj16TzyuN\n3vP+B2trOX149GcveKw0+ku5d20t8cJC9ovF2a8t5jcMTh72pn8oTb73saWl/IPX7l/KxxWVx+/r\narPj/cV85TGwujh75+LMIwAAAF3KIwAAAF3KIwAAAF3KIwAAAF3KIwAAAF3KIwAAAF3KIwAAAF3K\nIwAAAF3KIwAAAF3KIwAAAF1T414Ao7XusgNqn/CiWvz0w1cMzn7lZceUZt/30r1K+faqBwZnXzz9\n96XZqzZsKOVfNL3r4OynTvyT0uy3v/yNpXxce1MtDzDxWkRUntenC9n1xbVUZkfUtm6n10afVIvH\nnZVw7XZZtu+3Svlrlv/s4OxuN3+/NDtufX0t/4Krh2ff/Pba7Pc/UsvHPYOTt+XS2ujr9q3lT6/F\n44rKetYVh+9dzA/fY0YsGeHsiIjK7TL8/h/KmUcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6\nlEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6lEcAAAC6psa9AEZr/8v/qZT/1u9+v5R/2763\nDM6+/dOrSrM3RSvlK0759itL+fW/9YxS/uSPXj04+6uLv1ua/e3fqv0/n0OuLcUBeJINI5y9qJg/\ntJBdURv9oYNr+biokD2tNPma63+2lD9nZQ7OLo5fL81eceixpfyH27mDsyd+5urS7Hj/pbX8kYVj\nfVVtdLy+Fv+RG+8u5R9884nDw++/rbaYWD/C/OLi7CXF/Cifj/qceQQAAKCrWx4z8+LMvDczV25x\n2bmZuTozb5z57xdGu0wAYCGzHwEYvyFnHi+JiBO2cvkftdaOnPnv87O7LACAH3BJ2I8AjFW3PLbW\nvhIRD8zBWgAAtsp+BGD8duRnHs/MzJtmXkayz6ytCABgOPsRgDmyveXxgog4JCKOjIg1EfHubQUz\n84zMvC4zr9sQj23n1QEAPMl27UciHpmr9QFMlO0qj621e1prj7fWNkXEn0bEMU+RvbC1tqy1tmw6\ndtvedQIA/IDt3Y9E7DF3iwSYINtVHjPzgC3+enJErNxWFgBgFOxHAObWVC+QmR+NiOURsV9m3hUR\n50TE8sw8MiJaRNwZEW8a4RoBgAXOfgRg/LrlsbV26lYu/sAI1gIAsFX2IwDjtyPvtgoAAMAC0T3z\nyM5t45q7S/kz3nZWKf9nf/iewdnnTe9Zmh1tUyl+6BfeODj7gjNvLc3e9PAtpfy7vvTqwdk3nHRB\nafb5yz5Zyl/0468s5Tf9w6pSHmDyTY9w9toRzv5iMV/dFr5jcPIn2pdKk6/Jr5Xy5/6f4dl/ytr3\n3XVt71L+xBdePTx865Wl2RG1tcSNfzU8+zsn1mYX177vbs8q5R88a//h4a8eVpodKz9by8fPFbJ/\nX5xd/bpbV8zPLmceAQAA6FIeAQAA6FIeAQAA6FIeAQAA6FIeAQAA6FIeAQAA6FIeAQAA6FIeAQAA\n6FIeAQAA6FIeAQAA6FIeAQAA6Joa9wKYX/b6ixWl/K/Gbw/OPvC6R0qzH31wt1L+hW/79uDs4w8/\nXJpd9fyzbxmcPf6w15ZmX/miy0r5c86p/T+iA2vLAVgANhSy0yNbxWY3FLJHFWffXou/fHj0J+Pv\nSqPf0/6ylM8VbXj4hNLoOC0uKOXfuur3B2ffvfc7a4t5qLYHiCjs6z53Ym30ta8oxe/IP67NP+5F\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# This corresponds to the Dense linear layer.\n", + "for class_idx in np.arange(10): \n", + " indices = np.where(y_test[:, class_idx] == 1.)[0]\n", + " idx = indices[0]\n", + " heatmap = visualize_class_saliency(model, layer_idx, filter_indices=class_idx, seed_input=x_test[idx])\n", + "\n", + " f, (ax1, ax2) = plt.subplots(1, 2)\n", + " ax1.imshow(x_test[idx][..., 0])\n", + " ax2.imshow(heatmap)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Cool! That looks accurate." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## grad-CAM" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These should contain more detail since they use `Conv` or `Pooling` features that contain more spatial detail which is lost in `Dense` layers. The only additional detail compared to saliency is the `penultimate_layer_idx`. This specifies the pre-layer whose gradients should be used. See this paper for technical details: https://arxiv.org/pdf/1610.02391v1.pdf\n", + "\n", + "By default, if `penultimate_layer_idx` is not defined, it searches for the nearest pre layer. For our architecture, that would be the `MaxPooling2D` layer after all the `Conv` layers." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n1zakt7YNEzON+cW0vd7RkG2de3XP+QYrGvNPtN7B9obs5sa1W85RxND/vlx5BAAAoEp5BAAAoEp5\nBAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoGpq6AHo13Qu63X9\n219VGtL39jbHRMlsik/9xK6mfJ//Zv7uI235I07rZw6A/jy33+Uf+ovu2fetbVr6d87/d03598en\nOmeveqxp6Xh+PND2CbG9Ift449pL2UxDtrUWrG6Ln9S4/E83ZI9oXPuhxvyfNfx3/WDj2s3/Hg9u\nvYN55cojAAAAVcojAAAAVcojAAAAVcojAAAAVcojAAAAVcojAAAAVcojAAAAVcojAAAAVcojAAAA\nVcojAAAAVcojAAAAVVNDD0C7b7/jOZ2zM2Vnj5MwhE3/8tCm/J897+am/ExZ1pBt+/f1/A83xWNX\nWxyAHzPTlP7hQz/Vtvy67tFX/23b0hvb4hHx8obsfY1rTzfmJ8SKxvxhjfkjGrJHNq7d2oBaj3WM\nufIIAABAVbU8ZualmbktM+/c47YLM3NLZt42+vPmfscEACaZ/QjA8LpcebwsIk6Z5fY/KKUcN/rz\n5fkdCwDgx1wW9iMAg6qWx1LKjRHx8ALMAgAwK/sRgOHN5Wcez8/M20dPIzlk3iYCAOjOfgRggexv\nebw4Il4UEcdFxAMR8fG9BTPznMzckJkbZuLJ/bw7AIBn2a/9iAuYAPtnv8pjKWVrKWVnKWVXRHw2\nIk7YR3Z9KWVdKWXddCzf3zkBAH7M/u5HIlYt3JAAY2S/ymNmrtnj3dMj4s69ZQEA+mA/ArCwqr8i\nMzOviIiTIuKwzNwcER+OiJMy87iIKBGxKSLO7XFGAGDC2Y8ADK9aHkspZ85y8yU9zAIAMCv7EYDh\nzeXVVgEAAJgQ1SuPLD4f/Jk/H3oEKqaOOrJz9pHjn9+09qd/7T+3jtObm59c0ZTPp3b0NAlAn1q+\nd7W+kuvhbfFT3tQ5Ov3ftjctfdGhv942ywXdo8d8qG3pv4kXtX3C2c/tnr3sbW1r79jclo8tDdmV\njWu3bt2nG/MNnvhRW/4rz2nL39aQPaht6Xi0Mb+pMd+k9d/AsFx5BAAAoEp5BAAAoEp5BAAAoEp5\nBAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoGpq6AFgHG38yBGd\ns3ed/KkeJ2l35aOHdc5e/L5falp7xd03t44DsMT8fWP+8Lb42d2jlx/6q01L/1x8tSl/13Ev7Jz9\nRpzYtPbfxfOb8vGWhux9bUvHDSsbP2GmIdu6dqs+t/qb2uKPNi7fep6WrKVVx1x5BAAAoEp5BAAA\noEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoGpq6AFgKZi+\nYU1T/nfXXNnTJP27bMuJnbMr/vzmHicBWIqe2+/yl3WPvuMtn25a+uLl5zXlz/zMNZ2zL437m9a+\n/dx/0pT/+pfe2D18Q9PSEfF4Y3669Q6WqB2N+Zke129du/UcrWzIjne9cuURAACAKuURAACAKuUR\nAACAKuURAACAKuURAACAKuURAACAKuURAACAKuURAACAKuURAACAKuURAACAKuURAACAqqmhB6Dd\nstzVOTudy3qcJGL7v35Nb2t/5N9f0pR//conepqk/es4U3Y2pPs9R63KP9sy9AgAi0zLdml1b1NE\nRMSXrusc/eGKo5uWfn/5vab8qe+9pnP2Y481LR0vP/eOtk/4o+0N4S+0rR2vbswf3JhfqlprhNox\nDlx5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5BAAAoEp5\nBAAAoEp5BAAAoGpq6AFod9EXfrFz9oy3f7LHSSJu/L0/7JydKTt7nCRipvS6fJO+j7XFy64/ryl/\nTNza0yQAk2BlY36mMX93Q/Z/Nq28+aMXNuWfc2337IV/3LR0/Ez8atsnxO0N2Uca1249R7bXjK/q\nlcfMPCozv5aZGzPzrsx89+j2VZl5XWbeO/r7kP7HBQAmkf0IwPC6PG11R0S8t5RybES8JiLelZnH\nRsQHIuL6UsoxEXH96H0AgD7YjwAMrFoeSykPlFJuHb39SOx+vsTaiDg1Ii4fxS6PiNP6GhIAmGz2\nIwDDa3rBnMw8OiJeGRE3RcTqUsoDow89GBGr53UyAIBZ2I8ADKNzeczMgyLiyoh4Tyll+54fK6WU\niJj15Uoy85zM3JCZG2biyTkNCwBMtvnYj0Q8vACTAoyfTuUxM6dj9zfqz5VSrhrdvDUz14w+viYi\nts32uaWU9aWUdaWUddOxfD5mBgAm0HztRyJWLczAAGOmy6utZkRcEhF3l1I+sceHro2Is0ZvnxUR\n18z/eAAA9iMAi0GXX0Tz2oj4lYi4IzNvG912QURcFBFfzMy3R8R3IuKMfkYEALAfARhatTyWUr4e\nEbmXD79hfscBAHg2+xGA4TW92ioAAACTqcvTVllkXviFhzpnb/7lFU1rn7D8idZxmMXNT3b/uq9/\n8J82rf39dx7RlP/pv72vKb+zKQ3Aj5vpef2XN2Qfb1v6wrZ4fnrWF7ad3dlta8frG/Nxe0P2VY1r\nTzfmYXy58ggAAECV8ggAAECV8ggAAECV8ggAAECV8ggAAECV8ggAAECV8ggAAECV8ggAAECV8ggA\nAECV8ggAAECV8ggAAEDV1NAD0G7nxns6Zz/062c3rf3dn9/VlL/nTZ9pyk+Kd156XufsUR/9RuPq\n32/MAzA+1va39I6b2vJn39uyeNvazcfZkm9de6YxD+PLlUcAAACqlEcAAACqlEcAAACqlEcAAACq\nlEcAAACqlEcAAACqlEcAAACqlEcAAACqlEcAAACqlEcAAACqlEcAAACqpoYegH6tvObmpvyLr2lb\n/2fPfFfn7PTbtjat/ZWXfqEpf/Kdb+2c3XXZ4U1rl2yKx9G3fa9zdmfb0gAAMAhXHgEAAKhSHgEA\nAKhSHgEAAKhSHgEAAKhSHgEAAKhSHgEAAKhSHgEAAKhSHgEAAKhSHgEAAKhSHgEAAKiaGnoAlrbn\nXvHX3cNXtK19epzQlD8w7m9It2Tb7ex1dQAm10yPax/cmH9VL1P0r8+vIYw3Vx4BAACoUh4BAACo\nUh4BAACoUh4BAACoUh4BAACoUh4BAACoUh4BAACoUh4BAACoUh4BAACoUh4BAACoUh4BAACoUh4B\nAACoUh4BAACoqpbHzDwqM7+WmRsz867MfPfo9gszc0tm3jb68+b+xwUAJpH9CMDwpjpkdkTEe0sp\nt2bmwRFxS2ZeN/rYH5RSfr+/8QAAIsJ+BGBw1fJYSnkgIh4Yvf1IZt4dEWv7HgwA4Gn2IwDDa/qZ\nx8w8OiJeGRE3jW46PzNvz8xLM/OQeZ4NAOBZ7EcAhtG5PGbmQRFxZUS8p5SyPSIujogXRcRxsfv/\nBH58L593TmZuyMwNM/HkPIwMAEyq+diPRDy8YPMCjJNO5TEzp2P3N+rPlVKuiogopWwtpewspeyK\niM9GxAmzfW4pZX0pZV0pZd10LJ+vuQGACTNf+5GIVQs3NMAY6fJqqxkRl0TE3aWUT+xx+5o9YqdH\nxJ3zPx4AgP0IwGLQ5dVWXxsRvxIRd2TmbaPbLoiIMzPzuIgoEbEpIs7tZUIAAPsRgMF1ebXVr0dE\nzvKhL8//OAAAz2Y/AjC8pldbBQAAYDIpjwAAAFQpjwAAAFQpjwAAAFQpjwAAAFQpjwAAAFQpjwAA\nAFQpjwAAAFQpjwAAAFQpjwAAAFQpjwAAAFQpjwAAAFQpjwAAAFQpjwAAAFQpjwAAAFQpjwAAAFQp\njwAAAFQpjwAAAFQpjwAAAFQpjwAAAFQpjwAAAFQpjwAAAFQpjwAAAFQpjwAAAFRlKWXh7izzexHx\nnVk+dFhEPLRggwzHcY6fSTlWx9mff1hKed4C3ydMNPsRxzlmJuU4IybnWBftfmRBy+Neh8jcUEpZ\nN/QcfXOc42dSjtVxApNgUr4HOM7xMinHGTE5x7qYj9PTVgEAAKhSHgEAAKhaLOVx/dADLBDHOX4m\n5VgdJzAJJuV7gOMcL5NynBGTc6yL9jgXxc88AgAAsLgtliuPAAAALGKDlsfMPCUzv52Z92XmB4ac\npW+ZuSkz78jM2zJzw9DzzJfMvDQzt2XmnXvctiozr8vMe0d/HzLkjPNhL8d5YWZuGZ3T2zLzzUPO\nOB8y86jM/FpmbszMuzLz3aPbx+qc7uM4x+6cAnWTsh8Z171IhP3IuD122Y8s3nM62NNWM3NZRNwT\nEW+MiM0R8c2IOLOUsnGQgXqWmZsiYl0pZax+N01m/mxEPBoR/6WU8rLRbR+LiIdLKReNHoQPKaX8\nxpBzztVejvPCiHi0lPL7Q842nzJzTUSsKaXcmpkHR8QtEXFaRLwtxuic7uM4z4gxO6fAvk3SfmRc\n9yIR9iMxZo9d9iOLdz8y5JXHEyLivlLK/aWUpyLi8xFx6oDzsB9KKTdGxMPPuPnUiLh89Pblsfs/\ngiVtL8c5dkopD5RSbh29/UhE3B0Ra2PMzuk+jhOYPPYjY8B+ZLzYjyxeQ5bHtRHx3T3e3xyL/Is1\nRyUi/jIzb8nMc4YepmerSykPjN5+MCJWDzlMz87PzNtHTyNZ0k+deKbMPDoiXhkRN8UYn9NnHGfE\nGJ9TYFaTtB+ZpL1IxBg/ds1ibB+77EcW1zn1gjkL53WllFdFxJsi4l2jpx2MvbL7edHj+pK+F0fE\niyLiuIh4ICI+Puw48yczD4qIKyPiPaWU7Xt+bJzO6SzHObbnFCAmdC8SMV6PXbMY28cu+5HFd06H\nLI9bIuKoPd4/cnTbWCqlbBn9vS0iro7dT5MZV1tHz+F++rnc2waepxellK2llJ2llF0R8dkYk3Oa\nmdOx+xvY50opV41uHrtzOttxjus5BfZpYvYjE7YXiRjDx67ZjOtjl/3I4jynQ5bHb0bEMZn5gsw8\nICLeGhHXDjhPbzLzwNEPwUZmHhgRJ0fEnfv+rCXt2og4a/T2WRFxzYCz9Obpb14jp8cYnNPMzIi4\nJCLuLqV8Yo8PjdU53dtxjuM5BaomYj8ygXuRiDF77NqbcXzssh9ZvOd0sFdbjYgYvezsJyNiWURc\nWkr56GDD9CgzXxi7/w9fRMRURPzJuBxrZl4RESdFxGERsTUiPhwR/z0ivhgR/yAivhMRZ5RSlvQP\nd+/lOE+K3U8nKBGxKSLO3eN5+EtSZr4uIv4qIu6IiF2jmy+I3c+/H5tzuo/jPDPG7JwCdZOwHxnn\nvUiE/UiM2WOX/cji3Y8MWh4BAABYGrxgDgAAAFXKIwAAAFXKIwAAAFXKIwAAAFXKIwAAAFXKIwAA\nAFXKIwAAAFXKIwAAAFX/D0xRaBPRoICdAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA48AAAFpCAYAAAA86x25AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAG7BJREFUeJzt3X2w3XV9J/DPp7mXZ2IIIvKQFSSMGsGipOgWV2mtio6r\nOOPY0qkL027Rrezojjujq3/UqW3H6fg07bZ0cGHFVrGuTzBdn1GLWlYNyBoeVFCDhIekmkUQQkzC\nd//IoRMh4fv73Nxzz825r9cMk5tz3/dzP797Yu737Tk5N1trAQAAAI/lVya9AAAAAIuf8ggAAECX\n8ggAAECX8ggAAECX8ggAAECX8ggAAECX8ggAAECX8ggAAECX8ggAAECX8ggAAEDXzEJ+sgPywHZQ\nHLqQnxJgUXsw7o9ftG056T1gKclc0SKOmfQaTEwb8/wDhkd/pZCNqD/ss+OhQvj+6vBivvp1r9SU\ng4qzlxXzlWutfl0Wi7uitXu655EFLY8HxaHx7HzBQn5KgEXtG+2qSa8AS9AxEfGBSS/BxGwf8/wT\nhkcPOb42+rBaPO5+oBD+ZnH4pmK++nU/upB9WnH28mL+p4Xs5uLsxeL8Qal9etpqZp6dmd/LzFsz\n8y37MgsAYC6cRwAWxpzLY2Yui4i/joiXRMSaiDg3M9fM12IAAD3OIwALZ18eeTwjIm5trf2wtfaL\niPhIRLxiftYCABjEeQRggexLeTwuIm7f7fcbR7f9ksy8IDPXZea67bFtHz4dAMCjlM8jEfcs2HIA\n02TsP6qjtXZxa21ta23tbBw47k8HAPAou59HIlZMeh2A/dK+lMc7ImLVbr8/fnQbAMBCcR4BWCD7\nUh6/FREnZ+aJmXlARPxORFw5P2sBAAziPAKwQOb8cx5bazsy88KI+Fzs+kmbl7bWbpy3zQAAOpxH\nABbOnMtjRERr7dMR8el52gUAoMx5BGBh7FN5BACA/cuOYn57MX/88Og5xdFPLOY/csjw7MaVxeGH\nF/PV+cvHlI2o36fjVN1ldixbDDX2V1sFAABg/6c8AgAA0KU8AgAA0KU8AgAA0KU8AgAA0KU8AgAA\n0KU8AgAA0KU8AgAA0KU8AgAA0KU8AgAA0DUz6QUAAGDh/LSY31GLnzI8+rS/u640+vS4tpT/+1P+\ncHj4/GeUZsdBtXicVcxXvuzfLc7eOFv8gGp+ennkEQAAgC7lEQAAgC7lEQAAgC7lEQAAgC7lEQAA\ngC7lEQAAgC7lEQAAgC7lEQAAgC7lEQAAgC7lEQAAgC7lEQAAgK6ZSS8AAAALZ+t4x581PHpR/KfS\n6Of/6Jul/LXnnT44e/OfPqs0O55Ti8efbq/l754tzK6Njo3FfBR3n2IeeQQAAKBLeQQAAKBLeQQA\nAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBrZtILwDTK\n058+OPu/r/y70uxT//bCUn7VO/65lAeA6XZwMb+8Fl89PLombqrNXl+LH3DiL4aHH6zNjrNr8Xc8\n6b+V8jc9ac3g7OWrf7+2TGwq5jcX89PLI48AAAB0KY8AAAB0KY8AAAB0KY8AAAB0KY8AAAB0KY8A\nAAB0KY8AAAB0KY8AAAB0KY8AAAB0KY8AAAB0zUx6AZhGm39t+eDsjthZmn3Ina26DgDsZ7YX87OF\n7PHF2U+rxZ86PLosdtRmP64W3xRPGB7+eW327Nn3lvJv2/LuUv7qlWcMzl7++N8vzY64pZjfUsge\nXZxd+bM7eR55BAAAoEt5BAAAoGufnraamRsi4r6I2BkRO1pra+djKQCAoZxHABbGfPybx99orf1k\nHuYAAMyV8wjAmHnaKgAAAF37Wh5bRHw+M6/NzAvmYyEAgCLnEYAFsK9PW31ua+2OzHxCRHwhM7/b\nWrt698DoL/ELIiIOikP28dMBADxK6TwS8cSF3xBgCuzTI4+ttTtGv26OiE9GxKN+IEtr7eLW2trW\n2trZOHBfPh0AwKNUzyMRKxZ6RYCpMOfymJmHZubhD78dES+KiBvmazEAgB7nEYCFsy9PWz06Ij6Z\nmQ/P+XBr7bPzshUAwDDOIwALZM7lsbX2w4j41XncBQCgxHkEYOHMx895BB7h/z1j5+Dsxh3bSrOP\nvOSa6joAsJ/ZWszPFrKP+iexj+3sLMWPf/Etg7OH3P9gbZdDa/HD477B2btPqc1efeStpXyuq80/\nfOXw3aP4ZYzYVMzvqH6CqeXnPAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIA\nANClPAIAANClPAIAANClPAIAANClPAIAANA1M+kFYH/QzjytlP/qy94zOPv8q/9zafbq+HYpDwCT\nt72Yv7eYXz48ujZro99Vi/9ufHhw9qD7a7Pj2Fp8Vdw+OHvLOb9amn1k/LSU37L2oFL+2jh9eHhj\n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\np/yvwdn3/2xVafbKS68p5QFg/7O1mK/82M3Z0uTfO/39pfwbPn/x8PDJpdFx0YnnlfLfj6fUPkHB\nMXFnKf/tOG1wdt3aWi343M9eXMpHbC/mDy5ka3++mDuPPAIAANClPAIAANClPAIAANClPAIAANCl\nPAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIAANA1M+kFYG9uee2xpfxzDhye\n/cPrfqM0e1XcUMoDwP5nezG/dXj0ibXJ/yE+WPuA1xWy76uN/tiJryrlN8SJg7O/Hf9Qmr06flDK\n3xRrBme/ErWz0YMfWVnKR9xbzFfmqzQLxSOPAAAAdCmPAAAAdCmPAAAAdCmPAAAAdCmPAAAAdCmP\nAAAAdCmPAAAAdCmPAAAAdCmPAAAAdCmPAAAAdM1MegHYm4dWPTi22VvvOWhsswFg/7SjmN8+PFr8\ntntaXF/K/8OPhmd/+5baLpvj6FJ+ZywbnH1xfK40+9T4Tin/N/H6wdnPbXpxaXZ8pRaP2FrMH1zI\nzhZnM1ceeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQA\nAKBLeQQAAKBLeQQAAKBrZtILwN78zbP/fmyzj/vMsrHNBoD9U/VYePDw6BNrk4+6/eel/M2V8JbS\n6FgWO0v5VXH74Ozzv/vN2jL/pxY/4Pxtg7MPffbQse4S8UAxP1v9BCwAjzwCAADQpTwCAADQpTwC\nAADQpTwCAADQpTwCAADQpTwCAADQpTwCAADQpTwCAADQpTwCAADQpTwCAADQpTwCAADQNTPpBVg6\nHvz3Z5Tyzz3om8XP4I8zANNu+xhnH1/MP2N49GXF0XfW4ssr4UNrsw+JB0r5VXH78PBVtV1ifS2+\n9fxDhoe/WJsdG1rxA7YW85VznTPgQuk+8piZqzLzy5l5U2bemJlvGN2+MjO/kJm3jH49YvzrAgBL\nkfMIwOQNedrqjoh4U2ttTUQ8JyJen5lrIuItEXFVa+3k2PX/m7xlfGsCAEuc8wjAhHXLY2vtrtba\ndaO374uImyPiuIh4RURcNopdFhHnjGtJAGBpcx4BmLzSC+Zk5gkR8cyI+EZEHN1au2v0rrsj4uh5\n3QwAYA+cRwAmY3B5zMzDIuLjEfHG1tq9u7+vtdYiYo//ajYzL8jMdZm5bnts26dlAYClbT7OIxH3\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nIuJ9EXFeKWV5RNSIWB8Rb+/jjgDALOc8AjB4zfJYa71wLxd/ug+7AADslfMIwOBN5tVWAQAAmCWa\njzyyfxtZ8txU/nf+eGUqf8gB/XsRpJvWnpzKn7rt5j5tAgBMr+wRdSyR3ZGcnf3xorsS2dHk7OzX\nJTM/u0tW5uvSb9nruiCR7edtNJH5XXV7TNEjjwAAADQpjwAAADQpjwAAADQpjwAAADQpjwAAADQp\njwAAADQpjwAAADQpjwAAADQpjwAAADQpjwAAADQpjwAAADSNDHoB+uvOy49L5a87+m/6tEnEy29/\nYyp/2nvWpfLjqTQAMHON9XH2oX3Os3fZ2jGayM5Lzs7epkclsiU5e6aY2ynlkUcAAACalEcAAACa\nlEcAAACalEcAAACalEcAAACalEcAAACalEcAAACalEcAAACalEcAAACalEcAAACaRga9AP11y+s/\nmvyIOX3ZIyLisP/wVCo/tm1bnzYBgP1VP49uT/QxvyM5+95kPvN1uSQ3+s3zc/ljE9kHcqNjQx/z\n25Ozsw5J5jNfx6XJ2ccn80cnstnrmf26Z27TXyWy/7NbzCOPAAAANCmPAAAANCmPAAAANCmPAAAA\nNCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANI0MegFmj12LD0vlR59c\n0qdN+m/8wYc6Z+vOnanZZc6cVP7AI49I5TPGj1yYyt/97oP6tEleHS+p/NL/uK5zdnzHjuw6APya\n7PfRw7tHXzU/NfmMa29O5ZfF2s7ZtbEsNXvNxhek8rFqbvds97u53RKjIyLi+Fz8gBWPdc7+zuIf\npmZnbqOIiOdE93PdSIynZq+Lk1P5tXFa5+z2WNQ5u+HGJzrlPPIIAABAk/IIAABAk/IIAABAk/II\nAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABA08igF2D2+OaXrhr0\nCtPmH//fCztnH9p8aGr2oiMfSeVXnv35VJ69W/afLuucPfE9N/VxE2B2eyKRHUvOPiqZX9Y9enJy\n9It/P5d/Q/foK37/G6nRfxz/LZWfH493zt4YL0/NPmnJulT+l0uO6Jw9MMZTs4+L+1L5FbEqlT87\nkT93y62p2bEmF49HE9nDcqMfeFnuA34Yv9M5e18c1zn70XiwU675yGMp5bhSyo2llLWllDtKKe/s\n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\nAKDp/wGD0BhlR1L5kwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQpjwAAAHQp\njwAAAHRNjXsBjNZJ7/ibUv65q3+plL/11X8wOHtE9f8q/NfGgvfVM5eU8kdmjmglEZ+6/bRS/mlx\n84hWAnC4mh7h7F3F/KaRrGKf6lqq2+U9heydxdlri/l1hexZtdHH1uLl/L2V8J8Xh28s5iuWjXD2\n+NmeAwAA0KU8AgAA0KU8AgAA0KU8AgAA0KU8AgAA0KU8AgAA0KU8AgAA0KU8AgAA0KU8AgAA0KU8\nAgAA0KU8AgAA0DU17gWwsJz69r8t5X/s+S8cnP1f664rzf7Jyz5Uyr/lVd8/OPuUSx8tzW43f7mU\nX0j+/pLnlPKv+eG/GJx95XG/U5p9RCwt5QFYrLYX85Ut7cri7OfW4ieeNjz7ytroeGkt/uTvuWtw\n9qlR26edEPeX8jtjeSn/l18Yvq+Ll764NDs2VyvQ1mK+YncxPz2SVQzVPfOYmSdn5icy87bM/HJm\n/vzM5Ssz87rMvHPm7+NHv1wAYDGyHwEYvyFPW90TEa9vrT0jIs6OiJ/JzGdExBsi4vrW2mkRcf3M\n+wAAo2A/AjBm3fLYWruntXbLzNs7I2JjRKyJiJdExJUzsSujfCIdAGAY+xGA8Su9YE5mrouI74qI\nGyNiVWvtnpkP3RsRq+Z0ZQAAB2A/AjAeg8tjZh4bER+OiNe11nbs/7HWWouIdpDPuygzN2Tmht3x\nyKwWCwAsbnOxH4nYOQ8rBZg8g8pjZk7Hvm/UV7XWPjJz8bbMXD3z8dURcd+BPre1dnlrbX1rbf10\nLJmLNQMAi9Bc7Uei+KqPAOwz5NVWMyLeExEbW2uX7fehayLiwpm3L4yIj8398gAA7EcAFoIhv+Tk\nuRHxYxHxpcz8/Mxlb4yISyPig5n5ExFxd0S8fDRLBACwHwEYt255bK19OiLyIB8+d26XAwDwePYj\nAONXerVVAAAAFqchT1tlEdl7/wOl/I7vP35w9sOfPbE0+3uP3lLK/9Bzrhic3f2xvaXZu6OWX0iO\nzptHOH3pCGdHvOHeZw3OPuNX7+mH9rOnuhgA5tGuYr7yIkhn1Uafs7YUX/pn2wdnP3Hc95Zmn/3b\nXyjl4+Lh0Qc21kbvKm6N1q6v5R/+q+HZZR864IssH9z6F9bycV0hu7U4u7ojmS7m55YzjwAAAHQp\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA48AAAFpCAYAAAA86x25AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH/dJREFUeJzt3XuY3XV9J/DP18yQBBIu4RJuwShEK9U2Ygq4shUVFNGK\nt6qsInataFe20rW7Za2PYq2t1gvt9mG1WClovFa84LVeCt5FA40SuQhKWIIJAcMlgRBy+e4fOfZJ\nTcL398nMmTM583o9D08mZ97zmc9vTsh83zlnZkqtNQAAAOChPGzQCwAAADD5KY8AAAA0KY8AAAA0\nKY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0KY8AAAA0jUzkO9ujTK8zYq+JfJcA\nk9oDcV88WDeUQe8BU0kp+9aIQwe9xiS0JZnf3JcttpqWzGceD8leZzafkb3O7KeLmshmrzO7S7/z\n/ZT5OGayEZPn4/KLqPXu5vAJLY8zYq84rjxtIt8lwKR2Zf36oFeAKejQiPjQoJeYhNYn82v7ssVW\ns5P5mYls9jqz+Yy9k/ns0X1TIpu9zuwuo32e30+Zj+PG5OzJ8nE5o1NqTE9bLaWcUkq5oZRyUynl\n3LHMAgDYFc4jABNjl8tjKWVaRFwQEc+MiKMj4vRSytHjtRgAQIvzCMDEGcsjj8dGxE211p/XWh+M\niI9FxGnjsxYAQCfOIwATZCzl8bCIuHWb36/o3fYflFLOKqUsKaUs2RgbxvDuAAC2kz6PRNw1YcsB\nDJO+/6iOWuuFtdZFtdZFozG93+8OAGA7255HIvYb9DoAu6WxlMfbImLeNr8/vHcbAMBEcR4BmCBj\nKY8/jIgFpZRHlFL2iIiXRMRl47MWAEAnziMAE2SXf1BIrXVTKeXsiPiX2PoTTi+qtf5k3DYDAGhw\nHgGYOGP6KZO11i9GxBfHaRcAgDTnEYCJMabyCADARNrUx9lzk/njEtnskTP7ZauZ/Mzk7OzHJWN9\nMr8xmc9c6+zk7Oyfxezu/fyznv3zmPk4Zv98ZWU/juOr799tFQAAgN2f8ggAAECT8ggAAECT8ggA\nAECT8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAEDTyKAXAACgq/WJ7Mbk7ONy8T9N\nZA/IjY6/PDyXX/edRPio3OwZC3L5TZnszbnZsSaZn5/I7p2cfXsy/+Nk/t5EdjQ5e2Yyf1giu39y\n9v3J/NpENvP3Re2U8sgjAAAATcojAAAATcojAAAATcojAAAATcojAAAATcojAAAATcojAAAATcoj\nAAAATcojAAAATcojAAAATcojAAAATSODXgAAgK7W92/0wlz8ke/8Sefso+OG1OwvrXp+bpm/PSoR\nfkJu9tm5eKxKZBfPTw5fk8zv3T2avP9j1dxk/knJd3BbIntvcvbMZP7o7tFZydHravINrktkNyay\n3fbwyCMAAABNyiMAAABNyiMAAABNyiMAAABNyiMAAABNyiMAAABNyiMAAABNyiMAAABNyiMAAABN\nyiMAAABNyiMAAABNI4NeAACArjYmsqO50Qtz8dfGBZ2zz41Pp2afef7sVP7bB5zcPfzs1Oh49m//\ncyp/xX0nds6uu+LA3DIrNuXysxLZ43Oj44Rk/qg9c/mbFnTPLs6NjpuS+cz/G4cnZ3+55PLXz0yE\n1yeyWzqlPPIIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/II\nAABAk/IIAABA08igF2D3tvkpx3TOnn3hJ1Kz37vgqOw67MDaFx+fyu+79M7O2c033JRdB2DIbUrm\ns0exmYnsYbnRuU8X8Xvxuc7ZR16wKjX7fa99TSp//p//SefsM+JfUrNfuObzqfzb55zTOfuGx56f\nmh0r1ufysxLZk3KjX/CCxan8OZG71p8d1/0c+D9f+s7U7Ds+fEQqH49NZA94IDf7gRm5/PV7J8L3\nJrKbO6U88ggAAECT8ggAAEDTmJ62WkpZHhFrY+vjnJtqrYvGYykAgK6cRwAmxnh8zeNTaq3dv0gK\nAGD8OY8A9JmnrQIAANA01vJYI+IrpZSrSilnjcdCAABJziMAE2CsT1s9odZ6WynloIj4ainl+lrr\nN7cN9P4SPysiYkbsOcZ3BwCwndR5JOLgid8QYAiM6ZHHWuttvV9XR8SnI+LYHWQurLUuqrUuGo3p\nY3l3AADbyZ5HIvab6BUBhsIul8dSyl6llNm/ejkinh4Ry8ZrMQCAFucRgIkzlqetzo2IT5dSfjXn\nI7XWL4/LVgAA3TiPAEyQXS6PtdafR8Rvj+MuAAApziMAE2c8fs4jU9gtz+j+daxzpq3r4ybszKpn\nPZjKbzyj+7PZ5zw7uw3A7mhTIntvcvbeyfyJ3aMnjOZGn7IxFf9ZHNk5u+B5K1Kzb415qfz+8cvO\n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\n7Pr/tm8qv2j65lT+gruOTuX3uvTKVB5g97MlItYn8qPdo4tqapMT4/JUPr7RPbo8NzmOTebr6d2z\n58efpGbfP21mKr8yDu2cXfO+w1KzI1Yk8xu7R+/MTf75LY9K5R/4/e7ZV1yQ2yVOyMVnx7pkfm33\ncO5oFDE3F18Si7qHP5mbHfGdZD7z/0am6pVOKY88AgAA0KQ8AgAA0KQ8AgAA0KQ8AgAA0KQ8AgAA\n0KQ8AgAA0KQ8AgAA0KQ8AgAA0KQ8AgAA0KQ8AgAA0DQy6AWIKHvOSOWfsec9nbPH/vDlqdkHx3Wp\nPGN3wPw1fZ3/4ZsXpfIHxE/7tAnAZFEjYlNfJs844K5Ufm6szr2DxNqPyU2Oo1+dyz9uzg86Z5c9\n/ndyw7N3zwGJ7PeTsyP7eXp99+iyG3OjX7YgFX/yt67onL3oh/81NXv+huWp/KPjhlT+4Ju7n3fj\nvtToeGBeLn/LLUcm0jfnhsdtyfz8RHZmItvtMUWPPAIAANCkPAIAANCkPAIAANCkPAIAANCkPAIA\nANCkPAIAANCkPAIAANCkPAIAANCkPAIAANCkPAIAANCkPAIAANA0MugFiNiy5u5U/q13HNM5+1+O\nXJKa/c1DjkzlN61clcpPFSMPn9c5+52FH0tOz/2bz/rvH5Cc/9NkHmB387CImNmXyQ+smJPKX7nP\ncan8aa/7Sufsix+fGh0/eteCVH7ZH/xO9/DS83LLpD0ukd07OTub35TIXpkb/e3c0f0Hf/Tkztln\nvfcLqdl/Pv1tqfyrfrE4lY+liez03Ojlez089wbfH02EV+dmx73J/GB55BEAAICmZnkspVxUSlld\nSlm2zW3nlVJuK6Us7f13an/XBACmMucRgMHr8sjjxRFxyg5uP7/WurD33xfHdy0AgP/g4nAeARio\nZnmstX4zItZMwC4AADvkPAIweGP5msezSyk/7j2NZL9x2wgAoDvnEYAJsqvl8b0RcWRELIyIlRHx\n7p0FSylnlVKWlFKWbIwNu/juAAC2s0vnkYh1E7UfwFDZpfJYa7291rq51rolIt4fEcc+RPbCWuui\nWuui0ez30QUA2IldPY9EzJq4JQGGyC6Vx1LKIdv89nkRsWxnWQCAfnAeAZhYzZ80Wkr5aEScGBEH\nlFJWRMSbI+LEUsrCiKgRsTwiXt3HHQGAKc55BGDwmuWx1nr6Dm7+QB92AQDYIecRgMEby3dbBQAA\n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\nAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nYPbMxOs8Qk8c9cLTU/lv/uYxnbNf+7k/Ts1+1rxbUvmjhuRVcN527HeS11jQk3UAcCijyfx4Lr4r\nOz9hT+9GR7w8F199XC7/1u7RE37n3tToF8WGVH5LnNI5+1jyiS3fEJ9M5f99XJXKP+/bD3YPT6RG\nR+xI5q9J5hPesC73dfz8e97YPfyRV3TP3jXWKTYcO1wAAACmRXkEAACgSXkEAACgSXkEAACgSXkE\nAACgSXkEAACgSXkEAACgSXkEAACgSXkEAACgSXkEAACgSXkEAACgaaTfC4DDefTUsVT+7l/4aCK9\nMLeYIfLnu57XOXvVfS/p4Up669i4p99LAIiI8WS+l1u3bbn4hpWJ8GhudtyUzCfu1193XGrymmv+\nNZX/WFzcOXvu792cmh3X5OKxNpFdl5y9I5nflMw/nMjOT85+NBcfv7V7dvSY3OyL3v3Xqfz/fdsv\nd87+7fkXdB98Qe0Uc+YRAACAJuURAACAJuURAACAJuURAACAJuURAACAJuURAACAJuURAACAJuUR\nAACAJuURAACAJuURAACAppF+L4DeGlm1MpXf9NurUvkVXy+ds0uuvjE1+6h9NZW/e/yJztn7J5am\nZp88siuVf+vGizpnf7DpuNTsFbfkvi5Lv35/Kl/37OmcPXbXPanZAINvvN8LmIZHkvmHEtm9ydlb\nkvkXdI+ek5v8a/EXqfy5f3Nz5+zm382t5apcPM7b0D17TiIbEREnJ/MrkvlTE9ncVipt9PRE+Njc\n7PtOflYqvyge65xdtbL7HnD7aLd9tDOPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAA\nNCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANI30ewHkzVt6bOfsWV/4dmr2Z46/NpV/+fp3\npvIZ8//2llT+fb/41s7Z/XfclZo97/Q1qfzyu77VPfvk3anZWRM9nQ5wJKoRMd7vRTCjEvd2e3KT\nd8SKVP6RXxrtnF3zsdz34Qe+m4pHnNs9uvncVanRX4+XpfI3xdmp/F3xY52z2dtod4yl8mOxu3N2\nXxydmr351hem8vH5RHZrInvf/E4xZx4BAABoUh4BAABoUh4BAABoUh4BAABoUh4BAABoUh4BAABo\nUh4BAABoUh4BAABoUh4BAABoUh4BAABoUh4BAABoGun3Aog4asGCVH7fJ4/tnH3/8f+Qmv3jn/6N\nVP60a+7onN2fmpy3/467ejd70+aezQaAI1NmG7kwOXssmU+sZWtu8tfiZ1L5D837rc7ZsV/bnZr9\n/Tg+lV8fL+6c/Ydt56Vmx1/l9q/x8Vw8NmTC304OfyiZz5xvK8nZtyXzvbK3U8qZRwAAAJqa5bGU\ncnkpZUcpZeNBly0vpXy5lLJ58u9lvV0mADDM7EcA+q/LmccrIuL8H7nskoi4vta6JiKun3wfAKBX\nrgj7EYC+apbHWutX4+kPDH5tRFw5+faVEfG6GV4XAMD/Zz8C0H9T/Z3HFbXWBybffjAiVszQegAA\nurIfAZhF037CnFprjYh6uI+XUi4upawvpawfj33T/XQAAE+T2Y9E/GAWVwYwOKZaHreXUk6MiJj8\ne8fhgrXWS2ut62qt60Zj/hQ/HQDA00xpPxLheXUApmKq5fHaiLho8u2LIuKzM7McAIDO7EcAZlGX\nl+q4OiL+OSJ+vJSytZTytoj4YES8qpSyOSLOm3wfAKAn7EcA+m+kFai1XniYD71yhtcCAHBI9iMA\n/dcsj+TNW5b7XYpv/rcfS+XvOv1/dc7emnyOotN+795Ufv8jj+Q+AQAwICZ6OHtVMn9K9+iW3OSb\nv3BuLr86kd+ZW0t27fHNRHZ9cvYNyfyezckrbEpktydn703mM9/r2Xq1JJkfS2QXJbJPdEpN+9lW\nAQAAGHzKIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAAAE3KIwAA\nAE3KIwAAAE0j/V7AIPrur5yeyt/1+j9N5a99dFnn7GWvflVq9v7vfSuVBwAGxUQyP57ILkzOzu2l\nYvGi7tmdudHxkWT+8UR2a3L2g8n8nmQ+ZXsyvzeZX57IrkjOPpL1qr6Ndko58wgAAECT8ggAAECT\n8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAEDTSL8X\nMIh2n723p/P/57df2Tm78O5v9XAlAMDsyuwxJpKzs9vCJYns6tzotYty+XMS2RNyo9Nflj2J7Jbk\n7F3J/OJENvvtsmFFLn/PWPITbElks4sfT+YzRns4u5dKp5QzjwAAADQpjwAAADQpjwAAADQpjwAA\nADQpjwAAADQpjwAAADQpjwAAADQpjwAAADQpjwAAADQpjwAAADSN9HsBg+jql1+avEauw3/yjI93\nzv70h9+bmn3qtU+k8vO+8o1UHgA42EQyvzuRfSw5+7hkfmX36OpFudFvzcUXvPWhztmfPPb21Oxn\nx45Ufn7s65zdHWOp2ftifiq/IrZ3zj4Wudvo8//6xlQ+3pn8Hrjh9ET4ntzs2JvMZ4z2cHb/OfMI\nAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABA\nk/IIAABA00i/FzCIzpo/msqP1/2p/LKjFnTOfvOX/yy3ljfl1nLm9b/eOXvsLd3XHRGxZ1VN5Zfc\n2z17/G2PpmZn7fzJYzpnV3xlR2r2/ru/lV0OALMmtweIWJjMPzuRXZKcfVwuvi6RPS83Ol6Ri59x\n7J2dsz8Wd6dmnxTfTeXHYncqnzEvcvu0zNp3xdLU7A0vXJvKbz1+TSofURJZlWa2OPMIAABAU7M8\nllIuL6XsKKVsPOiyD5RStpVSNkz+uaC3ywQAhpn9CED/dTnzeEVEnH+Iy/+o1rp28s91M7ssAIAf\nckXYjwD0VbM81lq/GhEPzcJaAAAOyX4EoP+m8zuP7yyl3Db5MJJlM7YiAIDu7EcAZslUy+NHI+L5\nEbE2Ih6IiD88XLCUcnEpZX0pZf147JvipwMAeJop7UcifjBb6wMYKFMqj7XW7bXW/bXWJyPiYxFx\n1jNkL621rqu1rhuN+VNdJwDAD5nqfiTCCUqAqZhSeSylnHjQu6+PiI2HywIA9IL9CMDsar6iZinl\n6jjwUq3Hl1K2RsTvRsQrSilrI6JGxJaIeHsP1wgADDn7EYD+a5bHWuuFh7j4sh6sBQDgkOxHAPpv\nOs+2CgAAwJBonnkk79TP/cdU/u5X/3mPVpI3Wual8ned97Hu4fOSixkSN19SUvn33PnmVH75q+9O\n5QEGX42IiUR+YSI7llzLKbn42sR9xvm50bEumV/dPXrUCY+mRh+9IPcM/Xc+fEb3bHTPTsWixXs7\nZ8fm7c7NjsdS+aWxq3N2VyxNzd561ZpUPm7IxSO+ncjmvo4q0NQ58wgAAECT8ggAAECT8ggAAECT\n8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAECT8ggAAEDTSL8XMIh+/B3/\nksr//N9cnMr/6kc+1zm76Kh9qdmvXvS9VH60zEvlebqz5tdU/oYXXZXK/8SH3pXKP/99/5zKAxx5\nakSMJ/JjieyK3FJWl1z+17tHz3z7LanRZ8dNqfzS2NU5uz35dfncvtek8g9//ITu4Y2p0REP5uKP\nL+iefWhVbnYsTeYTa4mdydmfT+Z3bk1e4b5EdmFydrYCjSbzg8uZRwAAAJqURwAAAJqURwAAAJqU\nRwAAAJqURwAAAJqURwAAAJqURwAAAJqURwAAAJqURwAAAJqURwAAAJpG+r2AQVQnJlL50b+/NZW/\n+rSTUvmMP3nDm1P5/aOlc/Zlv3VzavYHT7gllR8WRyX/z2fVCx/o0UoAhsWS7tHjF+VGvyEXP/Pt\n3e8bPxTvS81+5cP/lMqPPtQ9e8upZ6Zmf2n+z6fycUUie2NudNqCRHZpcvbiZD6z09+TnL0lmY/E\nNwxzljOPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAA\nNCmPAAAANCmPAAAANI30ewHMLcd88qaezf7cC386lf/gW25J5R+rT3TOvvir/yk1+7l/MS+V3/mu\nxzpn17/k46nZAMy25d2jpyVHn5+LvyY+1330xn/KDb86F4/vd4++5L0bU6N3LV+aW8sNWxPh7F7n\n9Fx8z2gim92KJ2anjSfzEz2eP5bMMxuceQQAAKBJeQQAAKBJeQQAAKBJeQQAAKBJeQQAAKBJeQQA\nAKBJeQQAAKBJeQQAAKBJeQQAAKBJeQQAAKBJeQQAAKBppN8LYHg850v7cld4Sy6+qBzdObvp3Mty\nS3nuq1L56075UiLd2//D+c6Dy1P5NbGlNwsBmDNKRIwm8nu7R3cuyi1lQy5+3bkXdM6+4MzbUrNf\n9vtfT+XHYnfn7Gfi9anZ4/97SSofcVMie19yduZ7JeuRZH4imc9s9RcmZye/12Msmc+uh9nQ3LWW\nUk4upfxjKeXOUsodpZR3T16+vJTy5VLK5sm/l/V+uQDAMLIfAei/Lqc8JiLivbXWMyLipRHxjlLK\nGRFxSURcX2tdExHXT74PANAL9iMAfdYsj7XWB2qt35h8e3dEbIqIlRHx2oi4cjJ2ZUS8rleLBACG\nm/0IQP+lftmqlHJKRLwoDjywfEWt9YHJDz0YEStmdGUAAIdgPwLQH53LYyllcUR8KiLeU2v9od/u\nrbXWiKiHud7FpZT1pZT145F8whQAgIPMxH4kYtcsrBRg8HQqj6WU0Tjwg/qqWuunJy/eXko5cfLj\nJ0bEjkNdt9Z6aa11Xa113WjMn4k1AwBDaKb2IxFLZ2fBAAOmy7Otloi4LCI21Vo/fNCHro2Iiybf\nvigiPjvzywMAsB8BmAu6vPjLy+PAK+7dXkp56tWI3h8RH4yIvy6lvC0OvGDOm3qzRAAA+xGAfmuW\nx1rrDXHg1XQP5ZUzuxwAgKezHwHov9SzrQIAADCcyoEnJpsdS8ryenbxn4PD6qixsVR+xydOTOVv\n/KmrU/m5Yl8dT+VffeebU/lFb/pBKr9/18OpPNNzU70+HqkPHe5sCtADpZxRI/5P4hpLEtnkK4Us\nyMyOiLU9ykZErErmFyeyW5Kzr0jmd92QCG9PDs/anchuS87O7RkiFiayy5Ozk9+7PZ3f5TfxpmO0\nx/Pngguj1jua+xFnHgEAAGhSHgEAAGhSHgEAAGhSHgEAAGhSHgEAAGhSHgEAAGhSHgEAAGhSHgEA\nAGhSHgEAAGhSHgEAAGhSHgEAAGga6fcCGB5P7t6dyp/wm8tS+ddc/u86Z99/yhdSs396/v5U/lN7\nju+c/Z3rfjk1e/V/vjGVz60cYBiUiBhN5B9JZB/KLeXxvbn8jYn8jY/lZqctSmTHkrMXJvPLE9mV\nydnHJfNLukdPSI5ekMzvSWR3JmfHeDKf/LeR+neX/HeUXnsmn/nZcuRx5hEAAIAm5REAAIAm5REA\nAIAm5REAAIAm5REAAIAm5REAAIAm5REAAIAm5REAAIAm5REAAIAm5REAAIAm5REAAICmkX4vAA5n\nYst3clf4t92j73rXb6RG737J3lT+tP+6s3N29X03pmYDQG9MJPOPJbLZLeeSZH5N9+jq0dzo1+Xi\nyz+4rXP2Q/Pel5r94lifyn8lfrZz9i/jLanZ3/jCOal8fGRFLv/3ifzE9tzs2JrM8xRnHgEAAGhS\nHgEAAGhSHgEAAGhSHgEAAGhSHgEAAGhSHgEAAGhSHgEAAGhSHgEAAGhSHgEAAGhSHgEAAGga6fcC\noB9W/MnXc/nk/IlkHoC5bLRH2YiIhcl8L433cHb2OJfk4iOJr/s5udGjlzySyl817z90zp7/0n9K\nzf7KTal4vPvCzZ2zb/jEJ1Oz3/GLH0nlP3vPhal8fDOR3TKWm52W2dllfwYcWZx5BAAAoEl5BAAA\noEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoGmk\n3wsAAGDQTSTze3s7PmHeSG74vpjfPbwmt5ZzN+fy8fLu0X+JtanRt8dP5tayIRePLZnwQ8nhWSrT\nU5x5BAAAoKlZHkspJ5dS/rGUcmcp5Y5SyrsnL/9AKWVbKWXD5J8Ler9cAGAY2Y8A9F+Xc7ATEfHe\nWus3SiljEXFrKeXLkx/7o1rrH/RueQAAEWE/AtB3zfJYa30gIh6YfHt3KWVTRKzs9cIAAJ5iPwLQ\nf6nfeSylnBIRL4qImyYvemcp5bZSyuWllGUzvDYAgKexHwHoj87lsZSyOCI+FRHvqbU+EhEfjYjn\nR8TaOPA/gX94mOtdXEpZX0pZPx77ZmDJAMCwmon9SMQPZm29AIOkU3kspYzGgR/UV9VaPx0RUWvd\nXmvdX2t9MiI+FhFnHeq6tdZLa63raq3rRjNPXQwAcJCZ2o9EODkJMBVdnm21RMRlEbGp1vrhgy4/\n8aDY6yNi48wvDwDAfgRgLujybKsvj4i3RMTtpZSnXt7z/RFxYSllbUTUOPAynm/vyQoBAOxHAPqu\ny7Ot3hAR5RAfum7mlwMA8HT2IwD9l3q2VQAAAIZTl4etAgDALNqbzD/WPbpzUWry41uXp/JfO/Zn\nOmdf+9//LjW7XJiKxy0XnNk5+6fxrtTse6/8idxiPpOLR9yZyE5khzNFzjwCAADQpDwCAADQpDwC\nAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQNNLvBQAAwA8bT+Yn\nehKNiIjHc/GdcVzn7H0nPys1+znHfC+Vvz1e0Dl7T6xOzY57cvHYVZNX2JHILkzOVoGmyplHAAAA\nmpRHAAAAmpRHAAAAmpRHAAAAmpRHAAAAmpRHAAAAmpRHAAAAmpRHAAAAmpRHAAAAmpRHAAAAmpRH\nAAAAmkqtdfY+WSnfi4j7DvGh4yNi56wtpH8c5+AZlmN1nL3z3Frrs2b5c8JQsx9xnANmWI4zYniO\ndc7uR2a1PB52EaWsr7Wu6/c6es1xDp5hOVbHCQyDYfkZ4DgHy7AcZ8TwHOtcPk4PWwUAAKBJeQQA\nAKBprpTHS/u9gFniOAfPsByr4wSGwbD8DHCcg2VYjjNieI51zh7nnPidRwAAAOa2uXLmEQAAgDms\nr+WxlHJ+KeWuUso9pZRL+rmWXiulbCml3F5K2VBKWd/v9cyUUsrlpZQdpZSNB122vJTy5VLK5sm/\nl/VzjTPhMMf5gVLKtsnbdEMp5YJ+rnEmlFJOLqX8YynlzlLKHaWUd09ePlC36TMc58DdpkDbsOxH\nBnUvEmE/Mmj3XfYjc/c27dvDVksp8yLi7oh4VURsjYhbIuLCWuudfVlQj5VStkTEulrrQL02TSnl\n30TEnoj4y1rrmZOX/Y+IeKjW+sHJO+Fltdbf7uc6p+swx/mBiNhTa/2Dfq5tJpVSToyIE2ut3yil\njEXErRHxuoh4awzQbfoMx/mmGLDbFHhmw7QfGdS9SIT9SAzYfZf9yNzdj/TzzONZEXFPrfXeWusT\nEfFXEfHaPq6HKai1fjUiHvqRi18bEVdOvn1lHPhHcEQ7zHEOnFrrA7XWb0y+vTsiNkXEyhiw2/QZ\njhMYPvYjA8B+ZLDYj8xd/SyPKyPi/oPe3xpz/Is1TTUi/q6Ucmsp5eJ+L6bHVtRaH5h8+8GIWNHP\nxfTYO0spt00+jOSIfujEjyqlnBIRL4qIm2KAb9MfOc6IAb5NgUMapv3IMO1FIgb4vusQBva+y35k\nbt2mnjBn9pxTa/2piPiFiHjH5MMOBl498LjoQX1K349GxPMjYm1EPBARf9jf5cycUsriiPhURLyn\n1vrIwR8bpNv0EMc5sLcpQAzpXiRisO67DmFg77vsR+bebdrP8rgtIk4+6P1Vk5cNpFrrtsm/d0TE\nNXHgYTKDavvkY7ifeiz3jj6vpydqrdtrrftrrU9GxMdiQG7TUspoHPgBdlWt9dOTFw/cbXqo4xzU\n2xR4RkOzHxmyvUjEAN53Hcqg3nfZj8zN27Sf5fGWiFhTSjm1lHJ0RLw5Iq7t43p6ppRyzOQvwUYp\n5ZiI+LmI2PjM1zqiXRsRF02+fVFEfLaPa+mZp354TXp9DMBtWkopEXFZRGyqtX74oA8N1G16uOMc\nxNsUaBqK/cgQ7kUiBuy+63AG8b7LfmTu3qZ9e7bViIjJp53944iYFxGX11p/v2+L6aFSyvPiwP/w\nRUSMRMQnBuVYSylXR8QrIuL4iNgeEb8bEZ+JiL+OiOdExH0R8aZa6xH9y92HOc5XxIGHE9SI2BIR\nbz/ocfhHpFLKORHxtYi4PSKenLz4/XHg8fcDc5s+w3FeGAN2mwJtw7AfGeS9SIT9SAzYfZf9yNzd\nj/S1PAIAAHBk8IQ5AAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAANCmPAAAA\nNP0/lYuI5lOzrmgAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n6HhhTcUffmS/ztmVc47OrWVJLv7sRHb0lNzs8w8/NZX/zl1/0j38QG4tEfOS+dHsB2Da29Kjud2+\n/p15BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5BAAAoEl5\nBAAAoGmk3wugt2YccXgqf8sJ56fyZ9z38u5r+cENqdkAsOfZ0tvxCxPZpbnRxyxensrvH+s7ZxfH\nXbnFPJSLz82EX5Wb/bl4R+4K55Tu2btzoyPmZa/ApOjx13XKaI+y3c4pOvMIAABAk/IIAABAk/II\nAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABAk/IIAABA00i/F0Bv\n3X7W/v1eApPs0Vc/P5XfuKh3X+YHXb8hla/X39KjlQBMF6M9zifM3JKKHxfLU/m3xgWdsy/57s9S\ns2/6dCoeVyWyL1iSm33DhctyV/hsTYTX5WbHrGR+WGS/jn6bzGdup9zeKGJeMj8/mZ9czjwCAADQ\npDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwC\nAADQNNLvBdBbn3rBP/V0/o+/8oedswfHT3q4kunlri8/r3P20y/4amr2s/f+USo/f8Y+qXzGnVvG\nUvmTvv6fU/nF770mlQfov+zWalZPVhERESNbU/HnxM2p/Esu/ln38HtSo+ObuXgsSGTvWXpQbvhf\n5OIRX0pkj0rOPiyZHxZbkvnRZP6piWzm3hgRMS+Zn909mvl2NNbtc+LMIwAAAE3N8lhKOb+Usq6U\nsmKHy+aVUq4opfxi/O8DertMAGCY2Y8A9F+XM48XRMSJv3fZByLiylrrkoi4cvzfAAC9ckHYjwD0\nVbM81lqvjoiHfu/ikyLiwvG3L4yIkyd5XQAA/8p+BKD/dvdnHufXWu8ff/uBiJg/SesBAOjKfgRg\nCk34BXNqrTUi6q7eX0o5vZSyvJSyfEs8OtEPBwDwBJn9yBNPYALQxe6Wx7WllEMiIsb/XrerYK31\n3Frr0lrr0tHo3a8MAACGzm7tR/IvjQ9AxO6Xx0sj4rTxt0+LiG9NznIAADqzHwGYQl1+VcdXI+Kn\nEfHMUsrqUsrbIuJjEfHKUsovIuIV4/8GAOgJ+xGA/htpBWqtp+7iXS+f5LUAAOyU/QhA/zXLI9PP\njLlzO2fn7JV7kaLLN81J5Q/+1E9S+V4qo3t3zj72suekZn/o83+fyp8w8/rO2dEyIzX7Z4/mfnb4\nLbf9p1T+rw6/vHP2dXN+m5r9dyefl8qfc/4pnbNbV96Rmg0MsxoRWxL50US2+2P0buUXdo8etGCX\nPwK6U4vjrtxa/m/36IP/khv9vtx2JGaf0T37Z/Hh3PDluXjEmkQ2+/O32fvXrB5lp8KGRDb7IlhH\n5eInJ77w3pAbnbY6kX04kf2f3WITfrVVAAAABp/yCAAAQJPyCAAAQJPyCAAAQJPyCAAAQJPyCAAA\nQJPyCAAAQJPyCAAAQJPyCAAAQJPyCAAAQJPyCAAAQNNIvxdA3i/PPKZzdtnMK1Ozj/7BW1L5I+Kf\nU/mMGUccnsrf/s75nbMrX/+32eWkXLlp387Zd3zvT1Ozj/z0r1P5fe64K5X/XDyjc/Zvr1yUmv2d\nI7+Zyv/N057SObv3ytRogITRRHZWbvSBuXgcnBmde7z4g2Q+HkzMXpIbHR/Pxc9+3V90zp535buS\ni9mSzB+RyM5Nzh4mmxLZtcnZy1LpmRc81Dn7had0vy9GRNwXh6by344/7sns+7+9uVPOmUcAAACa\nlEcAAACalEcAAACalEcAAACalEcAAACalEcAAACalEcAAACalEcAAACalEcAAACalEcAAACalEcA\nAACaRvq9APLKczb0bPboXbN6Njvr9rP2T+Vve9nnOme3JdfyxlWvTuU3vG9B5+ySn16bmr01le6t\nO1cdnLvCkb1ZB8AeayyZT+zcZiQfMdZH7nE3liWyz86N/s7r/iiV/9Bv/lv38PLcWuK1o7n8A2/q\nnp2ZGx0PJ/M3ZsKrk8O3JPNzk/kliexRudF/kou/5Sn/0Dl72r1fS83++aLMcUbcFYs7ZzPfAx6M\nxzrlnHkEAACgSXkEAACgSXkEAACgSXkEAACgSXkEAACgSXkEAACgSXkEAACgSXkEAACgSXkEAACg\nSXkEAACgaaTfCyDvyKeu7fcSdks57lmp/MXLPp/8CKOdk8+66vTU5CVvuzWVL5t/nsoPiw+ve34q\nP/Oqmztnt2UXA9DZlh5lI2L93Fz+4e7R38bs1Oib4zmp/NFvX9k5uzH2S83+SPyXVH7zF+Z1Dx+W\nGh0Hv39VKj8/1nXObo0Zqdkr7jk2lY8zu++N4pLc6IiNyfzCZDyx9lfkRsdZua/TP45Lu4d/kVvK\nyKKtqfzamN85e3fizv5o7NMp58wjAAAATcojAAAATcojAAAATcojAAAATcojAAAATcojAAAATcoj\nAAAATcojAAAATcojAAAATcojAAAATcojAAAATSP9XgB5C2ev75zdK/v/A6UmV9PdHe/eJ5U/anQ0\nlT/uujd1zi5+4z+nZm9LpYfH6L6PpfKPjOXuA9s2b07lAfpvS2/Hj3WPbo0ZqdH3xSGp/JXxis7Z\nO+OI1OwbrlyWyscliewbcqMPjftS+aPj1s7Zx2Lv1Oz1T98/lV+9/5JUPqfH9/UDE9nk3eVFT/9h\nKv9v4yfdw7ktZuz9R7m9VObrdPUtidt/U7c9mjOPAAAANDXLYynl/FLKulLKih0uO6uUsqaUcuP4\nn9f0dpkAwDCzHwHovy5nHi+IiBN3cvmnaq3Hjv/57uQuCwDgd1wQ9iMAfdUsj7XWqyPioSlYCwDA\nTtmPAPTfRH7m8V2llJvGn0ZywKStCACgO/sRgCmyu+Xx8xGxOCKOjYj7I+KTuwqWUk4vpSwvpSzf\nEo/u5ocDAHiC3dqPOIEJsHt2qzzWWtfWWrfWWrdFxBcj4vgnyZ5ba11aa106GrmX6QcA2JXd3Y9E\nzJu6RQIMkN0qj6WUHX/ByCkRsWJXWQCAXrAfAZhaI61AKeWrEfHSiDiwlLI6Ij4SES8tpRwbETUi\n7o6It/dwjQDAkLMfAei/ZnmstZ66k4vP68FaAAB2yn4EoP8m8mqrAAAADInmmUemn221e+ffFtty\nw2tJrqa7Q+avT+Wzaz/6oLWds/8vNXm4zDji8M7ZW044PzX7hJten8rPjbtSeYD+G+3t+P0z0dzj\n7uzYlMqPxYzO2fWZhUdE3JmLxzWJ7Orc6BseWJbLL0zkx3JrSX9evp/Mp2Tv68lXOX5gfvfs3bnR\nG2O/VH7eis3dwxfn1rLoz3N3yHVzEp+XzNfFI91izjwCAADQpDwCAADQpDwCAADQpDwCAADQpDwC\nAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQpDwCAADQNNLvBTA89n/b5lT+2h+OpvKf\nfdq3O2df9PH3pmY/4zP3pPJja+5L5aeTo/6p+7Gu3bopNXvmp+clV3NXMg/Qb7nHrrTEQ+n62D81\n+r44NJXfGjM6Z++MxanZsToXT11h9d250R9bkMv3+j4wbWRrxIO5+APzu2eT95eNsV/uCr9JZH+Z\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nIwAAAF3KIwAAAF3KIwAAAF1T4x4AFrrvv3FlKf+sJVnKf+/eraX88pt+WcoDwL5lczE/XYsfe8zg\n6COv/klp6RfEV0r56+KEwdkbr3pWae24uxaPOLEWP7aQ/Zva0sfV4rHuN586OPvDdz2ttvini8OU\nvn4PLmQXDUo58wgAAECX8ggAAECX8ggAAECX8ggAAECX8ggAAECX8ggAAECX8ggAAECX8ggAAECX\n8ggAAECX8ggAAEDX1LgHgEm07cXPGpxd94qLiqsvKaX/4A1vKOUP+N9/V8oDwL7l9mJ+ay1+5vDo\npn94TG3tj9bir/7jywZnbzx7+N4lIiLW/7KWP+GwUvypx68bHj62NspJr6zlz44/HB5+T23tmL62\n+A4HF7LLCtlFg1LOPAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIAANClPAIA\nANClPAIAANClPAIAANClPAIAANA1Ne4BYBL95EXD/1/moFxSWvuMHz2vlD/wr75byrdSGgCGmB73\nADtZUcwfXouvLmT/trZ0/KgWvyGePjy8fk1t8f1PquW/dE8pfnZ8dHj4ObVRtv9OLf+xH587PHz3\n9bXF49ZivnCfxgGFbA5KOfMIAABAV7c8ZualmbkpM2/c6bYLMvP2zLxu5s+pox0TAFjI7EcAxm/I\nmcfLIuKFu7j9otbaCTN/rpzdsQAA/pnLwn4EYKy65bG19s2I2DwHswAA7JL9CMD47c3PPJ6XmdfP\nPI3k0FmbCABgOPsRgDmyp+XxwxHx+Ig4ISI2RMSFuwtm5jmZuTYz126PbXv44QAAHmSP9iNOYALs\nmT0qj621ja21+1pr90fERyLixIfIXtJaW9VaW7U4ar+SAABgd/Z0PxKxfO6GBJgge1QeM/OInV59\nWUTcuLssAMAo2I8AzK2pXiAzPxU7ft3pIzLztoh4R0SszswTYsfvE18fEYXfnAkAUGM/AjB+3fLY\nWjtjFzd/bASzAADskv0IwPjtzdVWAQAAWCC6Zx6BiIctW1bKv/Y3vj04e9f995TW3vTux5XyS7Zd\nU8oDwPhVr4h7wPDo1Ora0mfW4vGINjj6xpPeXVp6yytr+5GbX/bMQvqrpbXja7V4+3nhPoqI+Prw\n6DfO3O21snbp3+3+wsy7dv7iWr7k4BGuPfuceQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBLeQQAAKBL\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA48AAAFpCAYAAAA86x25AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAG7VJREFUeJzt3XuUnWV9L/Dfj0xIAiRKUCIGbLhVC1WhTUHUVsXTHuoN\n0bWs9NiDSykeFY9Sl5Xj8iw91Vo9ivYUW1ssCG0Vl603jjfEFO+YEjAKCMrFUJJCUKIGNUIm85w/\nsulJyeV5n5nZe0/2/nzWYmVmz3ee/XvnDbOfb949e7KUEgAAALAn+wx7AAAAAOY+5REAAIAq5REA\nAIAq5REAAIAq5REAAIAq5REAAIAq5REAAIAq5REAAIAq5REAAIAq5REAAICqiUHe2b65oCyM/Qd5\nlwBz2i/iZ3F/uS+HPQeMk8ylJWL5sMcAmEM2RCmbqvuRgZbHhbF/nJhPH+RdAsxpq8uqYY8AY2h5\nRFw27CEA5pDndErN6GmrmXlKZn43M2/JzHNnshYAwHTYjwAMxrTLY2bOi4i/jIjfjYhjIuL0zDxm\ntgYDAKixHwEYnJlceTwhIm4ppdxWSrk/Ij4cEafOzlgAAJ3YjwAMyEzK4/KIuGOH99fHLn76PDPP\nysw1mblma9w3g7sDANhJ834kYtPAhgMYJX3/VR2llAtKKStLKSvnx4J+3x0AwE523I9ELB32OAB7\npZmUxw0RcdgO7x/auw0AYFDsRwAGZCbl8eqIODozD8/MfSPiheF1rwGAwbIfARiQaf+ex1LKZGae\nHRGXR8S8iLiolHLDrE0GAFBhPwIwONMujxERpZTPRMRnZmkWAIBm9iMAg9H3F8wBAABg76c8AgAA\nUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8\nAgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAA\nUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8\nAgAAUKU8AgAAUKU8AgAAUKU8AgAAUKU8AgAAUDUx7AEAAAD+oy0N2U2Na0825hc3ZJc0rr131TFX\nHgEAAKhSHgEAAKhSHgEAAKhSHgEAAKhSHgEAAKhSHgEAAKhSHgEAAKhSHgEAAKhSHgEAAKhSHgEA\nAKiaGPYAMFvKSY/vnp3o77+b7POVb/Z1fQAAGDRXHgEAAKhSHgEAAKia0dNWM3NdRNwbEdsiYrKU\nsnI2hgIA6Mp+BGAwZuNnHp9WSvnhLKwDADBd9iMAfeZpqwAAAFTNtDyWiPh8Zl6TmWfNxkAAAI3s\nRwAGYKZPW31yKWVDZh4cEVdk5k2llC/vGOh9Ez8rImJh7DfDuwMA2EnTfiTikYOfEGAEzOjKYyll\nQ+/PuyPi4xFxwi4yF5RSVpZSVs6PBTO5OwCAnbTuRyKWDnpEgJEw7fKYmftn5uIH3o6I34mI62dr\nMACAGvsRgMGZydNWl0XExzPzgXU+VEr53KxMBQDQjf0IwIBMuzyWUm6LiMfP4iwAAE3sRwAGZzZ+\nzyN0ss/ixU3521/92Kb8Vf/tvM7Z/XLfprVbvfOeYzpnpyL7OEm7D3zrpM7ZR3687eu4+Es3N+W3\n3bOpKQ/AXDXZmN/cmL+3Idu6/V3SmG9Zf34f1+63LX1ev/teKk5pXPqhjfmvNmTX39O4eOvf9eHy\nex4BAACoUh4BAACoUh4BAACoUh4BAACoUh4BAACoUh4BAACoUh4BAACoUh4BAACoUh4BAACoUh4B\nAACoUh4BAAComhj2AOzd9lm8uHN2waf2a1r7uqPe25Sfin2b8v30+oNu7JyditLHSdr9j5O/0zk7\ndXLb7H/94yOa8p979vGds5O3rWtaG4CZmt+Q3dK49rrG/IaG7JLGtVc05rvvjdq+hnPNpv4uf0r3\n6Mmf/VTT0sfH2qb8eZe/sXv4lIOa1m7/OrbUt8nGtetceQQAAKBKeQQAAKBKeQQAAKBKeQQAAKBK\neQQAAKBKeQQAAKBKeQQAAKBKeQQAAKBKeQQAAKBKeQQAAKBqYtgDMLfc/59XNuVPevu/dM6+5eAv\ntY7T5HV3ndg5+3+/1HacrQ7956nO2Z8c0fa/4cSW0pRf8OPus0REbHzu/Z2zb/uNjzWt/YqHfr8p\n/zfvenLn7PLnNS0NwE4mG/NbGrIHtS390Oe35Vc0ZH/YtnSsb8zH5j5lIyK2Nub7qfXvS6NHdI/+\nVnylaeknxteb8u857pzO2amJ/ZvW7veXcba58ggAAECV8ggAAECV8ggAAECV8ggAAECV8ggAAECV\n8ggAAECV8ggAAECV8ggAAECV8ggAAECV8ggAAECV8ggAAEDVxLAHYG5Zd1rbvyd8/uBvds5ONc7y\nurtObMrf/JyDO2eP2vCNxmn6Z+GwB3iQA/6xe/aNHz61ae3TfvMDTfmX/PJVnbOXx5KmtQF4sM2N\n+Q3dowcc07TyyT/6VFP+onhJ5+zfxplNa7/1b97WlI+3NzwerWvdiq9rzLdY1Od8o+u7R/9i239v\nWvoz857RlJ+6eP/u4cmtTWtHtOaHW99ceQQAAKBKeQQAAKBKeQQAAKBKeQQAAKBKeQQAAKBKeQQA\nAKBKeQQAAKBKeQQAAKBKeQQAAKBKeQQAAKBKeQQAAKBqYtgDwO7c/MyDmvKTd/1bnyYZLz/5L0/o\nnP3sSe9qXH1RYx6Awbm3Mb+ue/QxbSt/+mfPbsp/4IDu2bec/mdNa9/xocOa8pdMvrx7+Nz9mtaO\nn25pyzdpfYxe3Jcp/t2a7tFNL17etPS/PKItH//UEl7ftnZMNuZbzH7Vc+URAACAqmp5zMyLMvPu\nzLx+h9uWZuYVmXlz788D+zsmADDO7EcAhq/LlceLI+KUB912bkSsKqUcHRGreu8DAPTLxWE/AjBU\n1fJYSvlyRGx60M2nRsQlvbcviYjnzvJcAAD/zn4EYPim+zOPy0opd/bevisils3SPAAAXdmPAAzQ\njF8wp5RSIqLs7uOZeVZmrsnMNVvjvpneHQDATlr2IztfwASgi+mWx42ZeUhERO/Pu3cXLKVcUEpZ\nWUpZOT8WTPPuAAB2Mq39SMTSgQ0IMEqmWx4vi4gzem+fERGfnJ1xAAA6sx8BGKAuv6rj0oi4KiIe\nnZnrM/OlEfH2iPjtzLw5Iv5T730AgL6wHwEYvolaoJRy+m4+9PRZngUAYJfsRwCGr1oeGS/73T53\n/krcfsaRTfnl79jYp0n2bvs87jFN+T/9k/d3zj5qYlHrOE0u/O5JnbOHxg19nASAQdo20faTVRtj\nqnP2s5e2zXLxaa9oyj/slfd0zp73hTe2DfOJDW35mN+QXdLHtafj592jn9qvbemFbfG4qyU82bj4\n3Nl7dzHjV1sFAABg9CmPAAAAVCmPAAAAVCmPAAAAVCmPAAAAVCmPAAAAVCmPAAAAVCmPAAAAVCmP\nAAAAVCmPAAAAVCmPAAAAVGUpZWB3tiSXlhPz6QO7P/rvlr8/vnP2eydf2LT2F38xvyn/zhf+fuds\nufq6prX7KX/92Kb8ra9t+7rc9JSLmvL99MzvPrspP+/M7sc6edu6xmnmhtVlVWwum3LYc8A4yXxs\nibhs2GPMQRsa87d0j654cdPKf/X9tvzLf+OSztn3r2laOpa2xeP5l3fP5h2N+/Az/6Et3+TEPq4d\nETHRmG/Z7yxqXLvVlobs1r5N0V/PiVKuq+5HXHkEAACgSnkEAACgSnkEAACgSnkEAACgSnkEAACg\nSnkEAACgSnkEAACgSnkEAACgSnkEAACgSnkEAACgSnkEAACgamLYA7B3e8y5Gztnz/nkiU1rv+eQ\n1U35qy68unP2a096eNPacfjypviPj31o5+x73/YXTWs/bt95TfmppnTEp3/+kM7Zc/759Ka1f+UN\ntzblJ+/Z0JQHYCYWNeaXdo+ub1v5j3/2zqb8E6/+eufsHz7v5qa1L/t4UzxibUP2KY1rx9GN+S0N\n2Ybz2bx2RMTWPq6/qXHtVi2VqfX/o72LK48AAABUKY8AAABUKY8AAABUKY8AAABUKY8AAABUKY8A\nAABUKY8AAABUKY8AAABUKY8AAABUKY8AAABUTQx7APZukxv+rXP21mcta1r7/3zhqKb86w+6oXP2\nwtWPalr75P0/15Q/cmJR5+xUzGta+5v3TzXlT//Eq5ryj3nH9ztnf/muq5vW3taUBmCwljTm53eP\nTt7TtPJPD314U/64s7/XOfuOj7U9Lv7xm97blI9nNGQXlba1F57Ylv/F1oZww/mMiIjNfc5PNmS7\n77uYGVceAQAAqFIeAQAAqFIeAQAAqFIeAQAAqFIeAQAAqFIeAQAAqFIeAQAAqFIeAQAAqFIeAQAA\nqFIeAQAAqFIeAQAAqJoY9gCMj9vPOLIp//hFX+jTJBEvfci/Nn7Gwqb0qi0LOmf/55+c2bT2QZ/+\nblP+qHu+0ZSfbEoDMDpat4WLGrLr2pb+8Qfb8m9d0Tn6+iec37T0E//X19tmafCI+H5T/q4zj2i7\ngy/M7569qW3piK2tn9BHKs2guPIIAABAVbU8ZuZFmXl3Zl6/w21vzswNmbm2998z+jsmADDO7EcA\nhq/LlceLI+KUXdz+nlLKcb3/PjO7YwEA/AcXh/0IwFBVy2Mp5csRsWkAswAA7JL9CMDwzeRnHs/O\nzG/3nkZy4KxNBADQnf0IwIBMtzy+LyKOjIjjIuLOiDhvd8HMPCsz12Tmmq1x3zTvDgBgJ9Paj7iA\nCTA90yqPpZSNpZRtpZSpiHh/RJywh+wFpZSVpZSV86P7ry8AANiT6e5HIpYObkiAETKt8piZh+zw\n7mkRcf3usgAA/WA/AjBY1d+omZmXRsRTI+Jhmbk+It4UEU/NzOMiosT23/r6sj7OCACMOfsRgOGr\nlsdSyum7uPnCPswCALBL9iMAwzeTV1sFAABgTFSvPLJ3u/f3ntCUnzrjh035rz3+Iw3pa5vWbpd9\nXr+7s//xzM7Zw//uqqa1t7UOA8CYmmzMt74K7cY+rt2aX9I9+udtK7/omR9syj81ruycfVp8sWnt\n1edvacrfds6x3cM3/bxp7YgNjfnFjXk1ZS5y5REAAIAq5REAAIAq5REAAIAq5REAAIAq5REAAIAq\n5REAAIAq5REAAIAq5REAAIAq5REAAIAq5REAAIAq5REAAICqiWEPMIrmHXV4U/6mVy1ryl/0rAs6\nZ39z4bVNa09Facx393u3ntK09g1fOqopf/C13ac57S1XNK39qgNvbsqvftF5nbMv+qsXNK09ecf6\npjwA46p1m3dwH/OTjWv/WmN+cffo2raVbz/nMU35S15zZOfsy3/p/Ka1nxZXNuVvW3FsQ3pj09rt\n+UWNeTVlLnLlEQAAgCrlEQAAgCrlEQAAgCrlEQAAgCrlEQAAgCrlEQAAgCrlEQAAgCrlEQAAgCrl\nEQAAgCrlEQAAgKqJYQ+wt/jBZY/unD3/Vy9tWvuEBaV1nM5+NPWLpvzT1vxhU/4R5+3bOTv/xn9t\nWvuILd9qyt/1kuM6Z09f8u2mtSMWNaWX7LOwc/bnxx7StPa+d6xvygMwSJON+dat2PyG7LK2pZ/b\nsnbEwos3dc4++iHfa1r7W5c/oSkff92Q/WHb0nFTY/5vu38d3/fCP2pbu/Wv1+f6ufiSxjyjwJVH\nAAAAqpRHAAAAqpRHAAAAqpRHAAAAqpRHAAAAqpRHAAAAqpRHAAAAqpRHAAAAqpRHAAAAqpRHAAAA\nqpRHAAAAqiaGPcDe4ie3Htg5e8Kvlz5O0uYDP3lcU37elQ9tyt/2vKnO2QWPemTT2s876ltN+Tc9\n/PyG9KKmtVut2rKgc3bRNeua1t7WOAsAg7S1Md/HrdjE/Lb8W9viP5o4qHN24V+2rX3pK09tyv/+\nik90D3+4bZZY25j/p4bsexvX/nFjPjY3ZFv/Li5tzKsdo8CVRwAAAKqURwAAAKqURwAAAKqURwAA\nAKqURwAAAKqURwAAAKqURwAAAKqURwAAAKqURwAAAKqURwAAAKqURwAAAKomhj3A3uKoc77ROfvo\nfV/RtPYVzzqvKb9iYr/O2dctvbVp7T96/Xub8nNL9m3lVVsWNOXf87znd85O/eCm1nEAmLPmD3uA\n/2+yMb+uLf71Y0/qnD35tKua1l4bx7cNs65P2YiIWxrzTQ/r1zQuvqkxv6Qhe3Dj2mrEOKpeeczM\nwzLzysz8TmbekJmv7t2+NDOvyMybe38e2P9xAYBxZD8CMHxdnrY6GRGvLaUcExFPiIhXZuYxEXFu\nRKwqpRwdEat67wMA9IP9CMCQVctjKeXOUsq1vbfvjYgbI2J5RJwaEZf0YpdExHP7NSQAMN7sRwCG\nr+kFczJzRUQcHxGrI2JZKeXO3ofuiohlszoZAMAu2I8ADEfn8piZB0TERyPiNaWUzTt+rJRSIqLs\n5vPOysw1mblma9w3o2EBgPE2G/uR9hcdASCiY3nMzPmx/Rv1B0spH+vdvDEzD+l9/JCIuHtXn1tK\nuaCUsrKUsnJ+tL1iJQDAA2ZrPxKxdDADA4yYLq+2mhFxYUTcWEp59w4fuiwizui9fUZEfHL2xwMA\nsB8BmAu6/IKWJ0XEH0TEdZm5tnfbGyLi7RHxkcx8aUTcHhEv6M+IAAD2IwDDVi2PpZSvxu5/+/rT\nZ3ccAICd2Y8ADF/Tq60CAAAwnnL7C5MNxpJcWk5M/zj4YPOOPqIpf+t/7f4q5Pcvm2xa+8Unfq0p\n30/zcqopv610/7eQf7j8KU1rH/3OW9pm+cEPmvKMr9VlVWwum3Z3NQXog8zHlu0/KtkPbY+73X6C\naLqWtMUPPagt/6KG7Iq2peOrjfkvNmTXN6696xfw3YNdvmbTbtzTuHY//34talyb0fKcKOW66n7E\nlUcAAACqlEcAAACqlEcAAACqlEcAAACqlEcAAACqlEcAAACqlEcAAACqlEcAAACqlEcAAACqlEcA\nAACqlEcAAACqspQysDtbkkvLifn0gd0fwFy3uqyKzWVTDnsOGCeZjy0Rlw17jAGYbMxvbsxvashu\naVx7SWN+cUN2UePareY3ZCf6NgW0eU6Ucl11P+LKIwAAAFXKIwAAAFXKIwAAAFXKIwAAAFXKIwAA\nAFXKIwAAAFXKIwAAAFXKIwAAAFXKIwAAAFXKIwAAAFXKIwAAAFXKIwAAAFXKIwAAAFXKIwAAAFXK\nIwAAAFXKIwAAAFXKIwAAAFXKIwAAAFXKIwAAAFXKIwAAAFXKIwAAAFXKIwAAAFUTwx4AAIB+aN3m\nLe1zHtjbufIIAABAlfIIAABAlfIIAABAlfIIAABAlfIIAABAlfIIAABAlfIIAABAlfIIAABAlfII\nAABAlfIIAABAlfIIAABAlfIIAABAlfIIAABAVbU8ZuZhmXllZn4nM2/IzFf3bn9zZm7IzLW9/57R\n/3EBgHFkPwIwfBMdMpMR8dpSyrWZuTgirsnMK3ofe08p5V39Gw8AICLsRwCGrloeSyl3RsSdvbfv\nzcwbI2J5vwcDAHiA/QjA8DX9zGNmroiI4yNide+mszPz25l5UWYeOMuzAQDsxH4EYDg6l8fMPCAi\nPhoRrymlbI6I90XEkRFxXGz/l8DzdvN5Z2XmmsxcszXum4WRAYBxNRv7kYhNA5sXYJR0Ko+ZOT+2\nf6P+YCnlYxERpZSNpZRtpZSpiHh/RJywq88tpVxQSllZSlk5PxbM1twAwJiZrf1IxNLBDQ0wQrq8\n2mpGxIURcWMp5d073H7IDrHTIuL62R8PAMB+BGAu6PJqq0+KiD+IiOsyc23vtjdExOmZeVxElIhY\nFxEv68uEAAD2IwBD1+XVVr8aEbmLD31m9scBANiZ/QjA8DW92ioAAADjSXkEAACgSnkEAACgSnkE\nAACgSnkEAACgSnkEAACgSnkEAACgSnkEAACgSnkEAACgSnkEAACgSnkEAACgSnkEAACgSnkEAACg\nSnkEAACgSnkEAACgSnkEAACgSnkEAACgSnkEAACgSnkEAACgSnkEAACgSnkEAACgSnkEAACgSnkE\nAACgSnkEAACgKkspg7uzzB9ExO27+NDDIuKHAxtkeBzn6BmXY3Wc/fNLpZSHD/g+YazZjzjOETMu\nxxkxPsc6Z/cjAy2Pux0ic00pZeWw5+g3xzl6xuVYHScwDsble4DjHC3jcpwR43Osc/k4PW0VAACA\nKuURAACAqrlSHi8Y9gAD4jhHz7gcq+MExsG4fA9wnKNlXI4zYnyOdc4e55z4mUcAAADmtrly5REA\nAIA5bKjlMTNPyczvZuYtmXnuMGfpt8xcl5nXZebazFwz7HlmS2ZelJl3Z+b1O9y2NDOvyMybe38e\nOMwZZ8NujvPNmbmhd07XZuYzhjnjbMjMwzLzysz8TmbekJmv7t0+Uud0D8c5cucUqBuX/cio7kUi\n7EdG7bHLfmTuntOhPW01M+dFxPci4rcjYn1EXB0Rp5dSvjOUgfosM9dFxMpSykj9bprM/K2I+GlE\n/F0p5Vd7t/3viNhUSnl770H4wFLK64c550zt5jjfHBE/LaW8a5izzabMPCQiDimlXJuZiyPimoh4\nbkS8OEbonO7hOF8QI3ZOgT0bp/3IqO5FIuxHYsQeu+xH5u5+ZJhXHk+IiFtKKbeVUu6PiA9HxKlD\nnIdpKKV8OSI2PejmUyPikt7bl8T2/wn2ars5zpFTSrmzlHJt7+17I+LGiFgeI3ZO93CcwPixHxkB\n9iOjxX5k7hpmeVweEXfs8P76mONfrBkqEfH5zLwmM88a9jB9tqyUcmfv7bsiYtkwh+mzszPz272n\nkezVT514sMxcERHHR8TqGOFz+qDjjBjhcwrs0jjtR8ZpLxIxwo9duzCyj132I3PrnHrBnMF5cinl\n1yLidyPilb2nHYy8sv150aP6kr7vi4gjI+K4iLgzIs4b7jizJzMPiIiPRsRrSimbd/zYKJ3TXRzn\nyJ5TgBjTvUjEaD127cLIPnbZj8y9czrM8rghIg7b4f1De7eNpFLKht6fd0fEx2P702RG1cbec7gf\neC733UOepy9KKRtLKdtKKVMR8f4YkXOamfNj+zewD5ZSPta7eeTO6a6Oc1TPKbBHY7MfGbO9SMQI\nPnbtyqg+dtmPzM1zOszyeHVEHJ2Zh2fmvhHxwoi4bIjz9E1m7t/7IdjIzP0j4nci4vo9f9Ze7bKI\nOKP39hkR8ckhztI3D3zz6jktRuCcZmZGxIURcWMp5d07fGikzunujnMUzylQNRb7kTHci0SM2GPX\n7oziY5f9yNw9p0N7tdWIiN7Lzv55RMyLiItKKX86tGH6KDOPiO3/whcRMRERHxqVY83MSyPiqRHx\nsIjYGBFviohPRMRHIuJREXF7RLyglLJX/3D3bo7zqbH96QQlItZFxMt2eB7+XikznxwRX4mI6yJi\nqnfzG2L78+9H5pzu4ThPjxE7p0DdOOxHRnkvEmE/EiP22GU/Mnf3I0MtjwAAAOwdvGAOAAAAVcoj\nAAAAVcojAAAAVcojAAAAVcojAAAAVcojAAAAVcojAAAAVcojAAAAVf8Pi4XQAWig78oAAAAASUVO\nRK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\nAADzCMDMjXO31c8nqWWe+szk2wEAOJR5BGD2Bt1tFQAAgMU0zmWrAMva98jfDqrfeuaLBtWfkC8M\nqgcAYHqceQQAAKBLeAQAAKBLeAQAAKBLeAQAAKBLeAQAAKBLeAQAAKBLeAQAAKBLeAQAAKBLeAQA\nAKBLeAQAAKBLeAQAAKBLeAQAAKBLeAQAAKBLeAQAAKBLeAQAAKBLeAQAAKBLeAQAAKBLeAQAAKBL\neAQAAKBLeAQAAKBLeAQAAKBLeAQAAKCrWmtr92JVf5PkO8s8dVKSR9askdmxn/NnUfbVfk7Pj7XW\nnr/GrwkLzTxiP+fMouxnsjj7um7nkTUNj4dtomp7a23zrPuYNvs5fxZlX+0nsAgW5XuA/Zwvi7Kf\nyeLs63reT5etAgAA0CU8AgAA0LVewuPWWTewRuzn/FmUfbWfwCJYlO8B9nO+LMp+Jouzr+t2P9fF\n7zwCAACwvq2XM48AAACsYzMNj1V1QVV9vaq+WVVXzrKXaauq+6rqa1V1R1Vtn3U/k1JV11bVw1V1\n10HbTqyqW6rq3tHHE2bZ4yQcZj/fVVU7R8f0jqp67Sx7nISqOrWqPldV91TV3VV1+Wj7XB3TZ9nP\nuTumQN+izCPzOosk5pF5e+8yj6zfYzqzy1ar6qgk30jyi0keSPLlJJe01u6ZSUNTVlX3JdncWpur\nv01TVa9K8r0kf9Bae+lo239O8mhr7T2jN+ETWmvvmGWfq3WY/XxXku+11t43y94mqao2JdnUWvtK\nVR2f5PYkFyX5tczRMX2W/XxD5uyYAs9ukeaReZ1FEvNI5uy9yzyyfueRWZ55PDfJN1tr326tPZnk\nD5NcOMN+WIHW2m1JHn3G5guTXDd6fF0O/J/giHaY/Zw7rbVdrbWvjB7vTrIjySmZs2P6LPsJLB7z\nyBwwj8wX88j6NcvweEqS+w/6/IGs8/+xVqkl+WxV3V5VW2bdzJSd3FrbNXr8YJKTZ9nMlF1WVXeO\nLiM5oi+deKaqOi3JOUm2ZY6P6TP2M5njYwosa5HmkUWaRZI5fu9axty+d5lH1tcxdcOctfPK1to/\nTfKaJL85uuxg7rUD10XP6y19r0lyepKzk+xKcvVs25mcqjouyY1J3tZa++7Bz83TMV1mP+f2mAJk\nQWeRZL7eu5Yxt+9d5pH1d0xnGR53Jjn1oM9/dLRtLrXWdo4+Ppzkphy4TGZePTS6hvvpa7kfnnE/\nU9Fae6i1tq+1tj/JhzMnx7SqNuTAN7BPtNY+Ndo8d8d0uf2c12MKPKuFmUcWbBZJ5vC9aznz+t5l\nHlmfx3SW4fHLSc6oqh+vqqOTvDHJzTPsZ2qq6tjRL8Gmqo5N8uokdz37Vx3Rbk5y6ejxpUk+PcNe\npubpb14jF2cOjmlVVZKPJtnRWnv/QU/N1TE93H7O4zEFuhZiHlnAWSSZs/euw5nH9y7zyPo9pjO7\n22qSjG47+8EkRyW5trX27pk1M0VV9aIc+AlfkiwluX5e9rWqPpnkvCQnJXkoyVVJ/iTJDUlemOQ7\nSd7QWjuif7n7MPt5Xg5cTtCS3JfkrQddh39EqqpXJvmLJF9Lsn+0+Z05cP393BzTZ9nPSzJnxxTo\nW4R5ZJ5nkcQ8kjl77zKPrN95ZKbhEQAAgCODG+YAAADQJTwCAADQJTwCAADQJTwCAADQJTwCAADQ\nJTwCAADQJTwCAADQJTwCAADQ9f8AuEjOCtjtPC4AAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from vis.visualization import visualize_class_cam\n", + "\n", + "# This corresponds to the Dense linear layer.\n", + "for class_idx in np.arange(10): \n", + " indices = np.where(y_test[:, class_idx] == 1.)[0]\n", + " idx = indices[0]\n", + " heatmap = visualize_class_cam(model, layer_idx, filter_indices=class_idx, seed_input=x_test[idx])\n", + "\n", + " f, (ax1, ax2) = plt.subplots(1, 2)\n", + " ax1.imshow(x_test[idx][..., 0])\n", + " ax2.imshow(heatmap)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this case it appears that saliency is better than grad-CAM as penultimate `MaxPooling2D` layer has `(12, 12)` spatial resolution which is relatively large as compared to input of `(28, 28)`. Is is likely that the conv layer hasnt captured enough high level information and most of that is likely within `dense_4` layer. \n", + "\n", + "Here is the model summary for reference." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "_________________________________________________________________\n", + "Layer (type) Output Shape Param # \n", + "=================================================================\n", + "conv2d_6 (Conv2D) (None, 26, 26, 32) 320 \n", + "_________________________________________________________________\n", + "conv2d_7 (Conv2D) (None, 24, 24, 64) 18496 \n", + "_________________________________________________________________\n", + "max_pooling2d_2 (MaxPooling2 (None, 12, 12, 64) 0 \n", + "_________________________________________________________________\n", + "dropout_4 (Dropout) (None, 12, 12, 64) 0 \n", + "_________________________________________________________________\n", + "flatten_3 (Flatten) (None, 9216) 0 \n", + "_________________________________________________________________\n", + "dense_4 (Dense) (None, 128) 1179776 \n", + "_________________________________________________________________\n", + "dropout_5 (Dropout) (None, 128) 0 \n", + "_________________________________________________________________\n", + "dense_5 (Dense) (None, 10) 1290 \n", + "_________________________________________________________________\n", + "activation_3 (Activation) (None, 10) 0 \n", + "=================================================================\n", + "Total params: 1,199,882\n", + "Trainable params: 1,199,882\n", + "Non-trainable params: 0\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "model.summary()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.12" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +}