Switch to side-by-side view

--- a
+++ b/ipynb/classifier-denoised.ipynb
@@ -0,0 +1,865 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%load_ext autoreload\n",
+    "%autoreload 2"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#export\n",
+    "from gensim.models import Word2Vec\n",
+    "from gensim.models.word2vec import LineSentence\n",
+    "from glob import glob\n",
+    "import os\n",
+    "import numpy as np\n",
+    "import matplotlib.pyplot as plt\n",
+    "import pandas as pd\n",
+    "import seaborn as sns; sns.set(color_codes=True)\n",
+    "from sklearn.decomposition import PCA\n",
+    "from sklearn.manifold import TSNE\n",
+    "from sklearn import manifold,neighbors\n",
+    "from sklearn.model_selection import train_test_split\n",
+    "from scipy.cluster.hierarchy import dendrogram, linkage, to_tree, fcluster,distance  \n",
+    "from matplotlib import pyplot as plt\n",
+    "from mpl_toolkits.mplot3d import Axes3D\n",
+    "from Bio import SeqIO\n",
+    "from Bio.Align import MultipleSeqAlignment\n",
+    "from Bio.Phylo.TreeConstruction import DistanceCalculator, DistanceTreeConstructor\n",
+    "from Bio import Phylo\n",
+    "from tqdm import tqdm\n",
+    "from sklearn.preprocessing import MinMaxScaler\n",
+    "import gc\n",
+    "import random\n",
+    "import multiprocessing as mp\n",
+    "from fastai import *\n",
+    "from fastai.basic_data import *\n",
+    "from fastai.basic_train import *\n",
+    "from fastai.tabular import *\n",
+    "from torch import nn\n",
+    "import torch.nn.functional as F\n",
+    "from torch.utils.data import Dataset\n",
+    "\n",
+    "from KlsAutoencoder import wing"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Load ksent vectors of random genome samples of 16kb"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "scrolled": false
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div>\n",
+       "<style scoped>\n",
+       "    .dataframe tbody tr th:only-of-type {\n",
+       "        vertical-align: middle;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe tbody tr th {\n",
+       "        vertical-align: top;\n",
+       "    }\n",
+       "\n",
+       "    .dataframe thead th {\n",
+       "        text-align: right;\n",
+       "    }\n",
+       "</style>\n",
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: right;\">\n",
+       "      <th></th>\n",
+       "      <th>spicies</th>\n",
+       "      <th>ksent</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <th>0</th>\n",
+       "      <td>anthracis</td>\n",
+       "      <td>[0.028680214658379555, 0.1406540423631668, 0.2...</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>1</th>\n",
+       "      <td>subtilis</td>\n",
+       "      <td>[-0.08215747773647308, 0.07313857972621918, 0....</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>2</th>\n",
+       "      <td>velezensis</td>\n",
+       "      <td>[-0.10089873522520065, 0.0416182316839695, 0.1...</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>3</th>\n",
+       "      <td>velezensis</td>\n",
+       "      <td>[-0.05040578544139862, 0.08310198038816452, 0....</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <th>4</th>\n",
+       "      <td>subtilis</td>\n",
+       "      <td>[-0.0598948709666729, 0.07638870924711227, 0.1...</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>\n",
+       "</div>"
+      ],
+      "text/plain": [
+       "      spicies                                              ksent\n",
+       "0   anthracis  [0.028680214658379555, 0.1406540423631668, 0.2...\n",
+       "1    subtilis  [-0.08215747773647308, 0.07313857972621918, 0....\n",
+       "2  velezensis  [-0.10089873522520065, 0.0416182316839695, 0.1...\n",
+       "3  velezensis  [-0.05040578544139862, 0.08310198038816452, 0....\n",
+       "4    subtilis  [-0.0598948709666729, 0.07638870924711227, 0.1..."
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "#export\n",
+    "runs = [\n",
+    "    pd.read_pickle(\"/home/serge/development/fastai-genomic/data/ksent_vectors_baccilium_top3_500_samples_per_fasta.pkl\"),\n",
+    "    pd.read_pickle(\"/home/serge/development/fastai-genomic/data/ksent_vectors_baccilium_top3_500_samples_per_fasta_run2.pkl\"),\n",
+    "    pd.read_pickle(\"/home/serge/development/fastai-genomic/data/ksent_vectors_baccilium_1000_samples_per_fasta.pkl\"),\n",
+    "    pd.read_pickle(\"/home/serge/development/fastai-genomic/data/ksent_vectors_baccilium_1000_samples_per_fasta_run2.pkl\")\n",
+    "]\n",
+    "df = pd.concat(runs)\n",
+    "df = df.sample(frac=1).reset_index()\n",
+    "df.head()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 13,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "(690000,)"
+      ]
+     },
+     "execution_count": 13,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "df.ksent.values.shape"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "from denoiser import denoise\n",
+    "\n",
+    "ksent = np.vstack(df.ksent.values)\n",
+    "v_dn = denoise(ksent)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 16,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "data = [v_dn[i] for i in range(v_dn.shape[0])]\n",
+    "d=pd.DataFrame(index=df.index)\n",
+    "d[\"spicies\"] = df.spicies.values\n",
+    "df[\"ksent\"] = data\n",
+    "df.head()"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Create Dataset"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 26,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#export\n",
+    "valid_idx = random.sample(range(df.shape[0]), int(np.floor(df.shape[0]* 0.2)))\n",
+    "\n",
+    "db = (ItemList.from_df(df,cols=\"ksent\").\n",
+    "      split_by_idx(valid_idx).\n",
+    "      label_from_df(cols=\"spicies\").\n",
+    "      databunch())"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Create Model"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 27,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#export\n",
+    "def submodel(dims, bias=False):\n",
+    "    layer_dims = list(zip(dims[:-1],dims[1:]))\n",
+    "    fcl = [nn.Linear(*x, bias=bias) for x in layer_dims]\n",
+    "    [nn.init.xavier_uniform_(m.weight) for m in fcl]\n",
+    "    if bias: \n",
+    "        for l in fcl: l.bias.data.normal_(0, 1)\n",
+    "    relu = [nn.ReLU() for _ in range(len(fcl))]\n",
+    "    layers = np.asarray(list(zip(fcl, relu))).ravel()[:-1]\n",
+    "    return nn.Sequential(*layers)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 28,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "#export\n",
+    "class Classifier (nn.Module):\n",
+    "\n",
+    "    def __init__(self, encoder_dims, classifier_dims):\n",
+    "        super().__init__()\n",
+    "        self.encoder = submodel(encoder_dims,bias=True)\n",
+    "        self.classifier = submodel(classifier_dims,bias=True)\n",
+    "\n",
+    "\n",
+    "    def forward(self, x):\n",
+    "        x = self.encoder(x)\n",
+    "        return F.softmax(self.classifier(x), dim=1)\n",
+    "\n",
+    "    def save_encoder(self,file:PathOrStr):\n",
+    "        torch.save(self.encoder.state_dict(), path)\n",
+    "    \n",
+    "    def save_model(self, file:PathOrStr, epoch):\n",
+    "        torch.save({\n",
+    "            'epoch': epoch,\n",
+    "            'model_state_dict': model.state_dict(),\n",
+    "            'optimizer_state_dict': optimizer.state_dict(),\n",
+    "            'loss': loss}, file)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 38,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [],
+   "source": [
+    "model = Classifier([100,50,3,2], [2,20,3]).double()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 39,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "Classifier(\n",
+       "  (encoder): Sequential(\n",
+       "    (0): Linear(in_features=100, out_features=50, bias=True)\n",
+       "    (1): ReLU()\n",
+       "    (2): Linear(in_features=50, out_features=3, bias=True)\n",
+       "    (3): ReLU()\n",
+       "    (4): Linear(in_features=3, out_features=2, bias=True)\n",
+       "  )\n",
+       "  (classifier): Sequential(\n",
+       "    (0): Linear(in_features=2, out_features=20, bias=True)\n",
+       "    (1): ReLU()\n",
+       "    (2): Linear(in_features=20, out_features=3, bias=True)\n",
+       "  )\n",
+       ")"
+      ]
+     },
+     "execution_count": 39,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "model"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Learner"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 40,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "FlattenedLoss of CrossEntropyLoss()"
+      ]
+     },
+     "execution_count": 40,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "learn = Learner(db, model,metrics=[accuracy])\n",
+    "learn.loss_func"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 41,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
+     ]
+    }
+   ],
+   "source": [
+    "learn.lr_find()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 27,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "learn.recorder.plot()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 42,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<table border=\"1\" class=\"dataframe\">\n",
+       "  <thead>\n",
+       "    <tr style=\"text-align: left;\">\n",
+       "      <th>epoch</th>\n",
+       "      <th>train_loss</th>\n",
+       "      <th>valid_loss</th>\n",
+       "      <th>accuracy</th>\n",
+       "      <th>time</th>\n",
+       "    </tr>\n",
+       "  </thead>\n",
+       "  <tbody>\n",
+       "    <tr>\n",
+       "      <td>0</td>\n",
+       "      <td>0.580404</td>\n",
+       "      <td>0.581176</td>\n",
+       "      <td>0.970246</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>1</td>\n",
+       "      <td>0.578480</td>\n",
+       "      <td>0.580330</td>\n",
+       "      <td>0.971232</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>2</td>\n",
+       "      <td>0.581049</td>\n",
+       "      <td>0.578819</td>\n",
+       "      <td>0.972739</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>3</td>\n",
+       "      <td>0.580716</td>\n",
+       "      <td>0.578145</td>\n",
+       "      <td>0.973196</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>4</td>\n",
+       "      <td>0.580096</td>\n",
+       "      <td>0.580158</td>\n",
+       "      <td>0.971159</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>5</td>\n",
+       "      <td>0.580217</td>\n",
+       "      <td>0.577597</td>\n",
+       "      <td>0.973732</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>6</td>\n",
+       "      <td>0.576381</td>\n",
+       "      <td>0.576920</td>\n",
+       "      <td>0.974464</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>7</td>\n",
+       "      <td>0.576652</td>\n",
+       "      <td>0.579026</td>\n",
+       "      <td>0.972297</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>8</td>\n",
+       "      <td>0.579577</td>\n",
+       "      <td>0.577673</td>\n",
+       "      <td>0.973630</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>9</td>\n",
+       "      <td>0.578747</td>\n",
+       "      <td>0.583704</td>\n",
+       "      <td>0.967138</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>10</td>\n",
+       "      <td>0.578703</td>\n",
+       "      <td>0.581151</td>\n",
+       "      <td>0.970239</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>11</td>\n",
+       "      <td>0.577364</td>\n",
+       "      <td>0.584109</td>\n",
+       "      <td>0.967312</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>12</td>\n",
+       "      <td>0.581018</td>\n",
+       "      <td>0.580722</td>\n",
+       "      <td>0.970544</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>13</td>\n",
+       "      <td>0.583794</td>\n",
+       "      <td>0.586129</td>\n",
+       "      <td>0.965217</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>14</td>\n",
+       "      <td>0.581865</td>\n",
+       "      <td>0.584297</td>\n",
+       "      <td>0.966993</td>\n",
+       "      <td>00:34</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>15</td>\n",
+       "      <td>0.575443</td>\n",
+       "      <td>0.578654</td>\n",
+       "      <td>0.972500</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>16</td>\n",
+       "      <td>0.577426</td>\n",
+       "      <td>0.578078</td>\n",
+       "      <td>0.973239</td>\n",
+       "      <td>00:34</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>17</td>\n",
+       "      <td>0.581627</td>\n",
+       "      <td>0.579699</td>\n",
+       "      <td>0.971659</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>18</td>\n",
+       "      <td>0.585423</td>\n",
+       "      <td>0.590236</td>\n",
+       "      <td>0.960971</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>19</td>\n",
+       "      <td>0.578007</td>\n",
+       "      <td>0.579184</td>\n",
+       "      <td>0.972210</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>20</td>\n",
+       "      <td>0.580299</td>\n",
+       "      <td>0.581143</td>\n",
+       "      <td>0.970377</td>\n",
+       "      <td>00:34</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>21</td>\n",
+       "      <td>0.586199</td>\n",
+       "      <td>0.585867</td>\n",
+       "      <td>0.965275</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>22</td>\n",
+       "      <td>0.573262</td>\n",
+       "      <td>0.576726</td>\n",
+       "      <td>0.974710</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>23</td>\n",
+       "      <td>0.583728</td>\n",
+       "      <td>0.581032</td>\n",
+       "      <td>0.970333</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>24</td>\n",
+       "      <td>0.586987</td>\n",
+       "      <td>0.584439</td>\n",
+       "      <td>0.967051</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>25</td>\n",
+       "      <td>0.576844</td>\n",
+       "      <td>0.576682</td>\n",
+       "      <td>0.974616</td>\n",
+       "      <td>00:34</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>26</td>\n",
+       "      <td>0.576119</td>\n",
+       "      <td>0.579838</td>\n",
+       "      <td>0.971420</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>27</td>\n",
+       "      <td>0.578222</td>\n",
+       "      <td>0.578907</td>\n",
+       "      <td>0.972304</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>28</td>\n",
+       "      <td>0.575737</td>\n",
+       "      <td>0.576893</td>\n",
+       "      <td>0.974326</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>29</td>\n",
+       "      <td>0.576878</td>\n",
+       "      <td>0.577076</td>\n",
+       "      <td>0.974254</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>30</td>\n",
+       "      <td>0.577538</td>\n",
+       "      <td>0.578150</td>\n",
+       "      <td>0.973072</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>31</td>\n",
+       "      <td>0.576268</td>\n",
+       "      <td>0.575964</td>\n",
+       "      <td>0.975413</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>32</td>\n",
+       "      <td>0.579746</td>\n",
+       "      <td>0.576539</td>\n",
+       "      <td>0.974812</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>33</td>\n",
+       "      <td>0.576930</td>\n",
+       "      <td>0.575878</td>\n",
+       "      <td>0.975428</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>34</td>\n",
+       "      <td>0.574734</td>\n",
+       "      <td>0.573899</td>\n",
+       "      <td>0.977522</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>35</td>\n",
+       "      <td>0.580901</td>\n",
+       "      <td>0.581788</td>\n",
+       "      <td>0.969406</td>\n",
+       "      <td>00:34</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>36</td>\n",
+       "      <td>0.572516</td>\n",
+       "      <td>0.574022</td>\n",
+       "      <td>0.977377</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>37</td>\n",
+       "      <td>0.575495</td>\n",
+       "      <td>0.574630</td>\n",
+       "      <td>0.976688</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>38</td>\n",
+       "      <td>0.574984</td>\n",
+       "      <td>0.573121</td>\n",
+       "      <td>0.978275</td>\n",
+       "      <td>00:34</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>39</td>\n",
+       "      <td>0.570059</td>\n",
+       "      <td>0.573380</td>\n",
+       "      <td>0.978036</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>40</td>\n",
+       "      <td>0.570787</td>\n",
+       "      <td>0.571914</td>\n",
+       "      <td>0.979486</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>41</td>\n",
+       "      <td>0.570097</td>\n",
+       "      <td>0.572600</td>\n",
+       "      <td>0.978797</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>42</td>\n",
+       "      <td>0.572414</td>\n",
+       "      <td>0.571328</td>\n",
+       "      <td>0.980101</td>\n",
+       "      <td>00:34</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>43</td>\n",
+       "      <td>0.568305</td>\n",
+       "      <td>0.570793</td>\n",
+       "      <td>0.980616</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>44</td>\n",
+       "      <td>0.571382</td>\n",
+       "      <td>0.570288</td>\n",
+       "      <td>0.981246</td>\n",
+       "      <td>00:34</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>45</td>\n",
+       "      <td>0.569196</td>\n",
+       "      <td>0.570233</td>\n",
+       "      <td>0.981261</td>\n",
+       "      <td>00:34</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>46</td>\n",
+       "      <td>0.569657</td>\n",
+       "      <td>0.570097</td>\n",
+       "      <td>0.981384</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>47</td>\n",
+       "      <td>0.570549</td>\n",
+       "      <td>0.569916</td>\n",
+       "      <td>0.981507</td>\n",
+       "      <td>00:34</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>48</td>\n",
+       "      <td>0.568104</td>\n",
+       "      <td>0.569843</td>\n",
+       "      <td>0.981609</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "    <tr>\n",
+       "      <td>49</td>\n",
+       "      <td>0.571361</td>\n",
+       "      <td>0.569842</td>\n",
+       "      <td>0.981638</td>\n",
+       "      <td>00:33</td>\n",
+       "    </tr>\n",
+       "  </tbody>\n",
+       "</table>"
+      ],
+      "text/plain": [
+       "<IPython.core.display.HTML object>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "learn.fit_one_cycle(50,1e-2)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 43,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZ0AAAESCAYAAAAmOQivAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xd8ZFd5+P/PFGk0o9612qb1luO119ts3MCAwaYYHEwAgykmCV8SQ4AUUn5JfgEHYn6kgAnBCYTyC+DYgIFgwKbaxoALrHe9a+9692yXtkha9RlNL/f7x70zGklTVUbSzPN+vfxa6d47ozPX0jxzznnOc2yGYSCEEEKUgn2pGyCEEKJySNARQghRMhJ0hBBClIwEHSGEECUjQUcIIUTJSNARQghRMhJ0hBBClIwEHSGEECUjQUcIIUTJSNARQghRMhJ0hBBClIxzqRuwDLiAFwH9QHyJ2yKEECuFA1gF7AHChT5Igo4ZcH611I0QQogV6jrg14VeLEHH7OEwNuYnkchecbu1tY6RkcmSNWqlkfuTm9yf3OT+5LYc74/dbqO5uRas99BCSdCxhtQSCSNn0EleI7KT+5Ob3J/c5P7ktozvT1HTEpJIIIQQomQk6AghhCgZCTpCCCFKRoKOEEKIkpGgI4QQomQk6AghRIUyjNJnxEnKtBBClJGEYTA6EaJ/NED/SICBET9D40GCkTjhaJxw8t9oHAz4i9t2sWl1Y8naJ0FHCCFWqMlglDODPnoHJzlzwcfZIT8DowGisUTqmtoaJx3NHjw1TprqXLiqHLiqHdRUOah1O+lu9ZS0zRJ0hBBimTMMg5GJEH2DPvouTJr/DvoY8U6VPGuud7GmvY6t65tZ1ephVWstXa0e6t1V2Gy2JWz9dBJ0hBBiCfUO+JjwR4jHE8QSBrF4gnjcIBpPMDgaoG/Q7MFMBqMA2IDOFg8bVzfyit31rO2sY11HPQ211Uv7QgokQUcIIZaAYRh8/4nTPPjrU1mvqXLaWdNey4t3dNPR4GJdZz1r2utwVTtK2NKFJUFHCCFKzDAMvvvLkzz0VC/Xbuvi+t2rcdrtOBw2nA47TrsNh8NOQ20VDrud9vZ6hoZ8S93sBSFBRwghSsgwDL756HF+uucML9vZzbterbAvozmXxSZBRwghSiRhGPzPz47y2L5z3HD5Gm67YfOymuQvBQk6QghRAomEwdd+coRfHujnNVet4y0v31hxAQck6AghxKKLJxJ85aEjPHVogJuv7eGW6zZUZMABCTpCCLGofIEIX/j+IV44PcYbr9vAzS/esNRNWlISdIQQYpH0Dvj43HefZ8If5vdfezHX7ehe6iYtOQk6QgixCJ54vp+v/URT567ib955ORtWNSx1k5aFkgUdpdQW4KtAKzAC3K61Pjbjmi7gC8AGoAq4S2t9r3WuA/j/gbVANfAo8CGtdUwp5QA+C7wGMIBPaq2/VJIXJoQQaWLxBN985DiP7DvLxeuauOMN21ZMtYBSKOXWBp8H7tFabwHuwQwuM30aeEZrvR14KfAJpdRa69zfAoetc5cBlwO/a517B7AJ2AxcA9yplOpZrBcihBCZTPgj/Mv9z/LIvrO86kVr+fDbdkrAmaEkQcfqpewG7rcO3Q/sVkq1z7h0B/BjAK31ELAfuNU6ZwD1Sik74MLs7Zyzzr0V+KLWOmE97nvAWxbp5QghREZf/dERegd8/OHvXMLbXrkZh122LJupVMNra4FzWus4gNY6rpQ6bx0fSrtuL/A2pdQzQA9wLXDaOvdx4DtAP1ALfE5r/YR1bh3Qm/Y8fdZzF6y1tS7vNe3t9cU8ZcWR+5Ob3J/cVvr9OX5mnP3Hh3nnay7m5pdtXvDnX+n3J2m5JRJ8GLgbs4fThzlvE7XOvQV4DnglUA/8SCn1Zq31txfiB4+MTJJIZN9Fr5xqHy0GuT+5yf3JrRzuz1d/eAiPy8nVF3cs+GtZjvfHbrcV9GF9plIFnTPAaqWUw+rlOIBu63iKNTT2zuT3SqmHgcPWtx8E/kBrnQAmlFIPAtcD38YMUOuBPda1M3s+QgixaHoHfOw/Pswt123AU7PcPssvLyUZcNRaX8DsvdxmHboNeNYKMilKqVallNP6+hWYCQP3WadPYWanoZSqBm4ADlrnHgDeq5SyW/NEt2AOxQkhxKL7/hOn8Lic3HB5UaP6FamUs1x3AB9USh3F7LXcAWZvRil1hXXNlcBhpdQR4GPAzVrrgHXuT4HrlFLPYwawo8AXrXNfB04Cx4CngY9prU+W4DUJIcqY7htjwh/JeU3vgI9njw3zqhetlV5OAUp2h7TWR4CrMhy/Ke3rH2GmPWd6/Angxizn4sD7FqalQggB/SN+/um+Z+lodvM379hNY50r43Xff+IUbpeTG65YU+IWrkySzyeEEBn8bM8ZnA47E5MR/vWb+1PbRafrG0zv5VQtQStXHgk6QggxgzcQ4YmDA1y7rYsPvOkyBkcD3P2tAwTDsWnXff+J07hdTm6UXk7BJOgIIcQMv9h3jmgswauvXMulPS287w3b6B3w8e/feY5INA7AmQuT7Ds6xI1XrJFeThEk6AghRJpoLM6j+86yfWMrq1prAdi1pZ33vG4rum+c//jeQWLxhDWX4+DGF0nGWjEk1UIIIdI8dWgQbyDKq69cN+34Ndu6CEXjfP0nmru/dYDDvWP8zot7qJVeTlEk6AghhMUwDH665wzrOuq4eF3TrPPX71pNKBzjgV+ckF7OHEnQEUIIy/MnRzk/7Oe9r78k63bSr716Pe4aJ/XuaunlzIEEHSGEsPx0Tx/N9S5etLUj53Uv37m6RC0qP5JIIIQQmGtuXjg9xisvX4PTIW+Ni0XurBBCAD/dcwZXlYOX7exe6qaUNRleE0JUhKNnxvn24yfYsbGVay7toqWhJnVuzBfmNy8Mcv2u1TJPs8gk6AghKsIPnjjF6X4vx89O8N3HT7K1p5lrt3Vx+ZYOHt13loRhcINkoy06CTpCiLI3OBrg0Okx3njdBq66pJMnDw7w5MEBvvTDw3y96igGBru3tNPR5F7qppY9CTpCiLL3+P7zOOw2rtvRTVOdi1uuu4g3vGQDx85O8OTBfg73jvH6a3qWupkVQYKOEKKsRWNxfv18P7s2t9GUtj2BzWZjy9omtqydvQhULB7JXhNClLU9Ry4wGYxy/S5ZW7McSNARQpS1x549R2eLh4vXNy91UwQSdIQQy4A/GOXbvziR2jZgofQN+jhxzsv1O7uzlrURpSVBRwix5B7be4aHn+7l2LmJgh8z5gsTCMVyXvOL/eepctq59rJV822iWCASdIQQS+7pg/0ATAZmbwmdzb89cICPf3UPE/5IxvPBcIynDg1w5dYO6tyy4HO5kKAjhFhSgVCUgydGAPAFMgeQTEa8IQbHgnzqG/vxh2YHq6cPDRCOxLl+l2wlvZxI0BFCLKnnTowQTxgATAYL6+nE4gn8oRhb1zczMOrn7m8dIBieGmozDIPHnj3Hus46NqyqX5R2i7mRoCOEWFL7jg3TXO+itsaJr8DhNb8VnHZvaeeON2zjdL+Pz333eaIxMxHhxDkvZ4f8XL9rtSQQLDMSdIQQSyYaS/D8yRGuvLSLhtpqfAX2dJLBqd5Txe4t7bzndVs53DvGf37vELF4gseePYvb5eDqS7oWs/liDqQigRBiyRzuHSMciXP1tlWcPDvOZIFzOsm5n3pPNQDXbOsiFInx9Z8e5fMPHuK5EyO8bEc3rmrHorVdzI0EHSHEktl/bAhXtYPtm9r4gaeawbFAQY9L9ojqPVNZadfvXkMwEufbvzgBwMt3yb44y5EEHSHEkkgYBs8eG+ayDS1UVzmoc1dx/Fyxw2vV047fdPV67DYbY74wq9vrFrzNYv4k6AghlsSpfi8T/gi7trQDZq9lMhDFMIy8k//J4bU69+y3sNdctW7hGysWjCQSCCGWxP5jw9htNrZvbAWg3l1FwjAIhHNXGQBzeK22xonDLm9hK438HxNCLIl9R4dQ65pS20Mnh8oKqUrgC0SpmzG0JlYGCTpCiJIbGA3QPxJg1+a21LE6KymgkLU6k4HItCQCsXJI0BFClNyzx4YA2JkWdJJBxBfMnzbtC0apl3pqK5IEHSFEyT17bJh1nXW0NbpTx5JFOQvp6fgC0VmZa2JlkKAjhCgprz/CibMT7NrcPu14ak4nT1WChGEwGYjK8NoKJUFHCFFS+48PY8C0+RwAV5WDaqc9b6XpQChGwjCkp7NCSdARQpTU/mPDtDbUsLZj9uLN5FqdXKZK4EhPZyWSoCOEKJlwJM6h06Ps2tyWcQFonTt/0c/0Yp9i5ZGgI4SYM903Rv+Iv+Dr9x8fJhpLpKoQzFTvqcqbSJAKOm4ZXluJpAyOEGJOorE4dz9wALvNxofetJ2L1zfnvP5I7xj//eMjdLZ42LymMeM1dZ4qBkZzF/2cDMrw2kpWsqCjlNoCfBVoBUaA27XWx2Zc0wV8AdgAVAF3aa3vtc59Ddiedvl24Bat9feVUncC7wfOW+ee0Fr/8SK+HCEq3tEzE0SiCWprnHz6Wwd43y2XzspIS3ruxDD3/O9B2pvcfPitO3E6Mg+y1Lur82avyfDaylbK4bXPA/dorbcA92AGl5k+DTyjtd4OvBT4hFJqLYDW+nat9U6t9U7g3cAY8JO0x34teV4CjhCL7+CpEZwOG3f+/pWs7ajlnu8e5Inn+2ddt+fIBf79O8/T3VrLX799F831rqzPWeepIhSJE40lsl7jC0RxVTuocspeOStRSYKOUqoD2A3cbx26H9itlJr5sWgH8GMArfUQsB+4NcNTvgf4H611eHFaLITI5+CpUTavaaK1sYa/eNsu1LomvvzQYX6650zqml8/18/nHzzIhu4G/vK2XXnTnJO9l1y9HV8wItUIVrBSDa+tBc5preMAWuu4Uuq8dXwo7bq9wNuUUs8APcC1wOn0J1JKVQNvB26Y8TPeppR6FTAAfFRr/VQxDWxtzb/3Rnt7fTFPWXHk/uRWTvdnZCLIuSE/r3r9+tTruuv9L+Zf7t3LNx45hmGz0Vjn4isPH2bnlnb+7veupMaV++2mvb2e1Z0NADhdVVnvVziaoKWxpqzuZyHK5fUut0SCDwN3Y/Zw+oBHgZkfeW4B+rTW+9OOfR5z/ieqlLoReFAptVVrPVLoDx4ZmSSRMLKeb2+vZ2jIV+jTVRy5P7mV2/351XPm9GlPR9201/We116M0wbf/PlRwFwAesfvXIrPGyTXq0/eHyMWB6Dv/Dj11ZkHYkYmgjTVucrqfuazHH9/7HZbQR/WZypV0DkDrFZKOaxejgPoto6nWENq70x+r5R6GDg847n+APjKjMcNpH39M6XUGWAb8PiCvgohivTYvrN4aqp4/cvK41Nq0qFTozTWVbOmvXbacbvdxu+99mLaGmvwBaPcev2mrEkDmUzVX8telcAXiGZcWCpWhpLM6WitL2D2Xm6zDt0GPGsFmRSlVKtSyml9/QrgMuC+tPNrgOvSj1nHV6d9vRNzaE4v+AsRokg/33uWnz9zJv+FeQTDMT71zf1504lLIZEwOHRqlG09LRkXeNpsNm5+8QbefsOWogIOpM3pZFmrYxgGk8GorNFZwUo5vHYH8FWl1EcwM89uh1Rv5iNa62eAK4HPKqXiwDBws9Y6/a/s3cAPtNajM577E0qpy4E4EAHeld77qSSJhIE+M45a14Q9z5a/YvH5g1G8/vyl+vM5N+Tn0KlR9h0d4qar1y9Ay+bu9IAPfyjGpRe1LPhz19ZUYSN7pelw1Mxsk3TplatkQUdrfQS4KsPxm9K+/hGwOcdz3JXl+LsXoo0rnWEY3P/IMR7Ze5bfv+lirtvevdRNqmiGYeAPxYgnjHkHHq813HS637sQTSMai8855fjgqRFswKU9Cx907HYbte6qrNlryWBUJ0FnxVpuiQRiHn782z4e2XsWG2ZRRQk6SyscjRO3klPOD03SWjv3N8pU0BmY/2TyQ0+d5juPn8TjctLc4KKlvobmehct9S7WdNRlrYuWdPDkKOu76hetyrNZCidzkJ5aGCrDayuVBJ0y8fShAR547ARXbu3AU1PFkwf75/VpVsyfPxhLfX1uaJLW2txlYnLxWT2l4YkQvkBkXm+6Tx4coLutlq3rmhn1hRj1hukd8OK13tD/8OZLuPrSroyPDYSinDzv5aZr1s355+dTn7OnIyVwVjoJOmXg8OlRvvzQYdTaJt7zuks40jfGL549x+HecbZvbF3q5lUsf2jqjfPc0CTbe+YedLxpcxy9Az62XTS3/6/nh/30jwR4x41beOXla6adi8bi3PX1vXzn8ZNcrtozfmB54fQYCcNg24bF+72q81QzmCVhQno6K59UmV7hzlyY5HP/+zxdLR4++KbLqHLauXhdE64qBweODy918yqaPzTV0zk/XHgl5kx8gQgNteYb7al5DLHtPWomjO7OUOW5yung1us3MeIN8cjecxkff/DUKG6Xg4u6G+bchnzqPVVZtzfwJYt9SkWCFUuCzgo26g3xmQcOUFPt5M9u3YGnxvxDrHI6uKSnmQMnhjGM7AtexeLyW2+cLQ0uzg9Nzuu5vP4IHc1uOls880om2KsvsHF1Q9b6Z5f0tHDZRa388MnTs4a4DMPg0KkRtq5vKToVuhh1bnMjt0SG393JQBSnw0ZNtQwbr1QF/+Yopb6rlLpFKSUfMZaBQCjK3d86QCgS48/esoOWhppp53duamPUG+bMhfm92Ym5C4TNns5Fqxo4P+zP+CZaKF8gSoOnmg1d9XNOJhgaD9I3OMnlWzpyXveWl28kGInxwydPTzs+MBpgxBtm24aFz1pLV++pJmEYBMOxWed8gSj1nuqciQ5ieSvm48oTwEeAAaXUfyqlrl2kNokCPH7gPOeG/XzgjZexJsPq7O2bzP3nCxliOzs0Oe/hHzFbsqdzUXcj4Uiccd/c69N6AxEaPFX0dNUz5gszMVn8c+1LDa215bxuTUcdL75sFY/uO8vQeDB1/OBJc3ncogedVFWC2UNsvoAU+1zpCg46WutPaa13Y245MA7cr5Q6rpT6iFJq46K1UGR0pHecVa0etmZZK9FYW82GVQ3sP567/FwkGudT39jPvT+VAg4LbTJkDgWt6zQ/FGSbHM8nkTCYtD7h96wy51LmMq+z9+gQazvq6Gj25L32jdddhN1m4zuPn0gdO3hqlM4WD21N7qJ/djFyVSXwBaOSubbCFT0wq7U+pLX+G8waaX7go8A+pdTPlVI7FrqBYrZYPMHRs+N5d2rcuamVU/3enJ+Kf/VcPxP+CKPz+BQuMguEYnhqquhqMd/kB8aCeR6R2WQwigE01FazrrMOm634RaLjk2FOnJ3g8lm7iWTWXO/iVVeu5beHL3Cq30s0Fkf3jS16LwemFn5mWqsz33RxsfSKCjrK9HGl1Angv4BvYtY56wQeBr634C0Us/QO+AhH4mxdlzvo7EgOsZ3I3NuJxRP86De9AExMRiTpYIH5g1Fqa5w01btwVTvm3NPxpq1Nqal20t1aW/S8zrNHhzCAyzNkrWXz2qvWU++p4luPHufo2QkisURJgk6yrlqmDDZfICrVCFa4YhIJnsGc12kB3q613qq1/oTW+ozWOqS1/vSitbICTEyGCYRyb9ObdKRvDIAt65pyXre2o46WBlfWeZ0nnu9n1Bvmkp5mwtE4oUi8uEYvI+FonAd+cXzOb+yLwR+KUeuuwm6z0d1WO+dincmFoQ3WJ/weK5mgmA8Je48O0dniobutNv/FFrfLyRtesgF9ZpwHHjuO02Hj4jwfdBZCtp5ONJYgFIlLT2eFK6an80mgW2v9x1rr32S6QGu9YWGaVTkShsHPnjnDX/7nU3zphzN3ccjsSN84q9trU29C2dhsNnZsbOPQ6VGisekBJRZP8NBTvWxYVc+LL1sFmEMwK1EiYfBf3z/Ej57u4zu/PLnUzUnxh6LUWhuXdbfXzaOnYy2ItNbp9KxqwOuPMFbgkOhkMMqR3nEu39JedNbXS3d009nioW9wks1rmnCVIFXZVeWg2mmflbKd/F7mdFa2YoKOF3MoLcUabrtxQVtUQcZ8YT7zrQPc//Nj1FQ7eP7kCIHQ7DTRdLF4gmNnx7l4bWGfOHdsaiMSTXC4d3za8d+8MMjwRIjXX9tDU525ZmN8cv7VkEvNMAzu+/lRnj02zOr2Wp49OrRsgqc/aPZ0AFa31zE0HiIWTxT9PMnhtQbrzbany9ybp9AhtgPHh0kYRsHzOemcDjtvfpmZJ7RtEapKZ2PWX5sedFIlcCR7bUUrJujcA7M2//NZx0WR9uoLfPQrv+XomXHe9WrFh960nXjC4LkTuVOcT/f7iEQTXLw+99Ba0tb1TVRX2TmQ9ryJhMEPn+plbUcdOze10VRnfoJeLm/Wxfjxb/t4dN85XnPlOj7wxsuIJwx+deD8UjcLgEA4iqfG7Omsbq8lYRgMT4SKfh5fIILNRiqAre2ow26zcXqgsGSCvXqIlgZXKlgVa/eWNj705u28Ytea/BcvkDp39ayejpTAKQ/FBJ0OrXX/jGP9QObKgCKjYDjGVx4+zD3/e5DWxho++vsv4vpdq7lodQONddWpMiXZHLbmc1SBY+tVTgeX9rRw4PhUdYI9Ry4wOBrg5mt7sNlsqZ7OxArr6fzmhcFUkdM3X7+RzhYPl/Q08/iB88QTxfcoFlIsniAYjlNnVYnobjfTpucyr+P1m+nSyf2RqqscrG6v5XR//p5OMBzj4KlRds9haC3JZrOxc1NbSYbWkjJVmpZin+WhmKBz0trNM93LgVML15zyFo3F+cevPcMTz/fz+mvX83fvupxVrebErt1mY/eWdp4/OUIkmn1C/0jvGGva61Lb+hZiR1p1goRh8MMnT7Oq1cNua7jF7XLiqnKsqJ6O7hvjyw+9wJY1jbzndVtTb8jX71rDqDfMc3nWJy22ZDWC9OE1mNtaHZ+1MDRdockEz58cIRZPFJW1thzUZRxek55OOSgm6NwJfFcp9Sml1PuVUp8CvoNZpUAU4OkXBukfCfD+Wy7jd1+6cVb9qt1b2olEExw6NXNjVFM0luDEuYmCh9aSdliVpg8cH+bZo8OcG/bz+mt7pu0s2lRXvWKCzrlhP//+nedpb3LzgTdtn1YNeefmVprrXTz2bOaClaWSnJtLDq/Ve6qpc1fNKeh4M6xN6VnVwGQwykie4bp9R4do8FSxeU1xvzNLrd5dPStl2heMYLfZUvdUrEzFVCR4EHgVUAu8zvr31dZxkYdhGPz8mbOsbq/NWoZErW2itsaZdYjtVL+XSCxRdNpqY52LDavq2X98hB88eYqOZjdXbu2Ydc1KSCSYDEb5zLcO4HTa+bO37JjV43PY7bx0RzcHT41yYWzp0qeTJXBqa6ba19nintPwms8fTVWYTiokmSAai3PgxAi7trRjt6+sWmV1nirCkfi0rEtfIEqd2ynbsK9wRS0O1Vr/Vmt9h9b6dda/exarYeXm6JlxzlyY5MYr1mYdW3c67Ozc1Mb+Y8MZs5yO9I5hA1Se9TmZ7NjUxql+L32Dk7zumvU47NP/16+Uns7h3jFGvCH+8OZLspZjeemObuw2G7/Yv3QJBcltDWrTPpV3NXsYnENVArOnMz24rmmvw2G3cSpHMsGhU2OEI/EVN7QGU/M26UNsyVJAYmUrqp+qlNoJXAe0Aal3Tq21DLHl8fO9Z6mtcXLVJZ05r9u9pZ0nDg6gz4zP2oP+SN8Yazvrpn16LtTOTW1871enaG2o4ZoMu0I21bmYmBzBMIxlXcE3OZzU05V9P5fmehe7trTx6+f6eeN1G5Zk99TkBm617vSejocnDg4QisSoqS7sTy8aMxftzlyTVeW0s6ajLmcywW8PD+J2OfOWS1qOkmnRk8FoqoK6LxApai5TLE/FVCT4Q8yKBK8A/hq4DPgwsGlxmlY+hieC7Ds6xEt3duOqyv0GeOmGFqqr7OzT04fYorE4x89557wifG1HHVdu7eBtr9yccS+UpjrXiqhKMOoN4XY58o7rX79rNZPBKHuOXCj6Z5w4N8Hnvvs80djcM+CmhtfSejpWDbYLRfR2kp/0Zw6vAaltDjIlExw4PszTLwxy3fZVi7r3zWJJ9mjSezpS7LM8FPPb+FfAa7TWbwSC1r9vBgqr3VLBHtt3Dhu2gtY5VFc52H5RK/uODU3bf+XkeS+xePHzOUk2m4073rAt6wLBlbJWZ8QbmrV3UCZb1zfT2eKZU0LB4d4x9h0d4rksNesKMTORAMyeDhSXNu3NkSbcs6qBYDjGhfHpQWzMF+bLDx1mTXsdb3rZRUW3fTlI9miSO4XC1F46YmUrdp3Or6yvE0opu9b6R8DNi9CushGOxvnlgfPs3tJGa2P+N0swh9gmJiOcPD81Xn+4dwybDbasbVyUdjaukKoEI94QrQUEHZvNxvW7VnPinJe+weKKYyY3D/vNCwNzaiOY2xq4XY5pc2cdzeYcVDEZbF6/1dPJ8GabSiZIG2JLJAy++INDRGJx3nfLpUsytLgQZm5vkEgY+KWnUxaKCTpnlVI91tdHgTcopa4Dlve71BJ7+tAA/lCMG65YW/Bjtm9sw2G3TRtiO9I3zrrO+tSW1AttpfR0Rr3hgno6AC++rItqp51fFNnbSQad/cfzlyXKxh+MzZp7c1U5aGlwMTBazPCa1dPJMLzW3VaL02GfVpngh0+d5kjfOO+8UaXWgK1EtTVV2JgaXktu7yA9nZWvmKDzz8BW6+uPAfcCjwL/sNCNKhfJNOl1HXVsXlN4D8VT4+SSnhb2Hr2AYRhEonFOnp/Iu5XBfKyEqgThSJzJYJTWBldB19fWVHHl1k6eOjSYcevjbALhGA67jVg8wd6jxc8JgbmdeKZ5p85mD4NFpHJ7c9QbczrsrOucSiY4emacB399iqsv7eTFl63sQiF2u41ad1WqFI5UIygfBQUdpZQN+CXwMwBrWK0ZaNZa/+fiNW9lO9I7xrlhP6+8Yk3RGWG7t7QxNB7i7JCfE+cmiMWNOaVKF6qm2rHsqxKM+szMtUKG15Ku372acDTOkwcLHyoLReKsbq+lo8nNb14YLLpMG57ZAAAgAElEQVSdYG1rkKFX2tXiYWAkUPC2BD5/lCqnnZosJWh6uuo5PejDG4jwhe8for3JzbtepZZ1BmKh0kvhpCpMS/baildQ0NFaG8DzQCLtWERrPblYDSsHP997ljp3FVfnSZPOZNfmdmyYhUEP941b8zmLF3TMGmzLe61OMl260OE1gA2rGmhrrOHY2fH8F1sC4Rgel5nefrh3bE73xB+KTstcS+ps8RAIx2YVs8zGa5XAyRZEeroaCEfi3P2tA3j9Ee54w6W4XeWxYr9+Wk9HSuCUi2KG154FtixWQ8rN0HiQ/ceGefmu7jlN5jbUVrN5bRP7jg6h+8bo6apf9DeT5V6VYMRbfE8HzDeqYuZmguEYbpeTqy/txDDgt3Po7SQ3cJupqyWZTFDYvE6mEjjpelaZyQS9Az7ecv2mnOuXVpo6T3Uq2CR7PLJr6MpXzLvYL4AfK6X+GzgDpMYHtNZfWdhmrXyP7D1rZVDNvRz87i3tfOORY9hs8Jor1y1g6zJrqqsuehvkUhrxhrHbbDTVF/dp11PjLGpOJ2j1dFa11rK+s56nXxjkVUXcf8MwrK2qZ79BpqdNbypgns/nj9JYl/31rmr1UFvjZPOaJm68onRbD5RCvaeK4+em93RkcejKV0zQeTFmRemXzThuABJ00oQiMX71XD9XXNxOc31hk96Z7N7SxjceOYZhUJJV5U11LsYnh5dtVYJRb4jm+upZJXzycbucjHoL38cm2dMBuPrSTr756HEGRgOpxZ35RKIJ4gkj4/BaW2MNDrut4GQCbyDCmo7sWWgOu52Pvecq6nMMwa1Ude4qJgNREoaBLxDF43KuyIWuYrqCg47W+vrFbEg5efDXpwiGY9z4osLTpDNpa3SzvqueM4OTbFq9OOtz0jXVuYhEzX3ol+O8wGiBC0Nn8ricBQ+vJQyDUDhOjfX6r9zaybcePc7Thwa45brCFlpmKoGT5LDbaW8qrPCnYRjWtga5e3bz+WCznNV7qkkYBsFwDF9wdv05sTIV/M6ilMr6EUNrvbQ7Zi0jJ85N8NM9Z3jZzm42ds8/ULzxuos4OzRZkiCQvlZnOQad4YnQnIKvx1X48Fo4EsewHgPmG/rF65t5+oVB3vCSDQX1JpKT354s97CrxVPQAtFgOE4sblTs5HkyU80XiEo1gjJSTF81hlnyJtN/ArM+2lcePkxzvYtbr1+YknTbN7Zy09XrF+S58lnOVQkSCYMxX+ELQ9O5a5xEYomMlbtnSgYnt2sq+ePqSzq5MBbkVAE7dcJUCZxMPR0wtzgYHAtOK3OUSXLyvKG2Mj/hp1clMINOZd6HclNM0NkAXJT234uBHwB/uAjtWpG+/8Rp+kcC/N5rLl6WPYV8lnNVggl/hHjCKHhhaLpkjyNQQG8nkAo6U///LlcdOB12ni6wLE5qeC1LUdLOFg/RWIIxb+77nFwYmm94rVzVpbY3iMjwWhkpZk6nd8ahXqXUu4E9wJcXtFUr0OkBLz96uo+XXLaKbRe1LnVz5qQp1dNZfkEnmQgw1zkdgGAolvcNPBSOT3sMmNlvOza28tvDF3jrKzblTWSY2ksn85tkV7OVwTYWyFmPL1l3rVKHlerdVqXpYJTJQJQ6d2Xeh3Iz31SQBmDl7RC1wGLxBF956DD1tVW89ZUrd6eHZFWC5VgKJ7VGp8CiqencNcX3dGpm9FSvvrQTrz/C4d6xvM8xlUiQvacD+Qt/Tg2vVeabbbKnc2EsSDxhSE+nTBSTSPB10tbmAB7gpZg12CraD588zdkhPx960/Y5bbC2XCxmVYIv/uAQ2y5qzbiBXCHmujAUihteC2YYXgNzbs3tcvKbQ4Ns25C7J+sPmrXbsu2d1FRXjavKkTeDLde2BpXAVeWgusrO+WE/ULn3odwUM/FwfMb3fuDzWuufL2B7Vpy+QR8PPdXL1Zd2snNz21I3Z94WoyqBPxTlqUODROPGnIPO6ISZUTeXubL04bV8kkFnZuZZldPB5aqdZ45c4F3RONU5NuMLWCVwsmW62Ww2M5kgT1UCn1/WptS7q+gfSQadyuzxlZti5nTmVU1aKbUF+CrQCowAt2utj824pgv4AmbSQhVwl9b6Xuvc14DtaZdvB27RWn9fKeUAPgu8BrM39kmt9Zfm095CxOIJvvLwYWrdVbz9hvKoELQYVQmSz5esnTYX5j46c1uP4p5TT2d2ULlyawe/fq6fo2fGc87bTWYpgZOuq8XDqX5vzmu8gUjGLQ0qSZ2nOrUfkvR0ykMx21V/Vil17Yxj1yqlPlPgU3weuEdrvQW4BzO4zPRp4Bmt9XbMobtPKKXWAmitb9da79Ra7wTeDYwBP7Ee9w7MbbM3A9cAd6bt/bNo9h8bpm9wkne9akvZlOcwqxKEc1ZBPnney//z+afw+gvrEfUmg04RVQFmmuvCUJjavbOQBaLBSAybjYxDY6vb6gCzrl4u/mDmbQ2mP1ctQ+OhnOuHfFaxz0pW764i+atYL4kEZaGYfvttwDMzju0F3p7vgUqpDmA3cL916H5gt1Kz9k7eAfwYQGs9BOwHbs3wlO8B/kdrnZx8eCvwRa11wnrc94C35H1F83RJTzN/+pYdXK46FvtHlUx6VYJs9h8f5sJ4kCN9+SfVAU5bn+i9/giRaPbnzWXEG5pTEgGAq9qBDQpaIBoMxXFXZx4aa6yrxumwM5SnxxbIsq1BuvXWrp+5djX1BqIVmy6dlN67kZ5OeSgm6BgZrncU+BxrgXNa6ziA9e9563i6vcDblFI2pdQG4Fpg2spIpVQ1ZqBLr/e2DkhP6e7L8NwLzlNTxfaNKzM9OptC1uokh4VOnMs9PJR0esCH02G+ic+ltxOKxPCHYnNKIgCw22y4Xc6Cs9eyzRvZbTZaG2sYzhN0zG0N8gUdsxp0rqFMr1+G15Jp0mZSwcrceltMV8ys7K+Af1RK/ZXWOmGVxbnTOr5QPgzcjdnD6cPcmXRmxYNbgD6t9f4F/Lm0ttblvaa9vX4hf+SytH6N+YZqOBwZX69hGKnhsr4Lk9OuyXS91x9heCLEiy7pZM8Lg8Rs9qLvY5+1HXPP6qY5/z+o81Rh2Gx5H5/A3Bo623Wr2+sY90dyPk8wHKOtxTPrmun3ykz/HhwPZXyueDyBPxSlq62uIn7vIPPvT1e7+XfZWJf9/0mlKJfXX0zQ+RPgh0C/UqoXs3fRD9xcwGPPAKuVUg6tddya+O+2jqdYQ2PvTH6vlHoYODzjuf6A2VWt+zB7RHus72f2fPIaGZkkkcg+j9HeXs/Q0PIt+79gYubwV++5cbqbZvcsBscCTAajNNZWc/zsOOf7x6lyOrLen0OnRgHY1tPMnhcGOdk3ylprT5lCHe81n6PKZsz5/4GrysHoeDDv48e9IaodtqzXNbidHO0by3o+nkjgD8WwG9Pbmun+rG2vQ/eOZnyuCX8EwwAHc3/NK0m23x+bYZYu8ricFXEfslmO7z92u62gD+uzHlfohVrrs5jzMm8A/gWzx3G5dTzfYy9g9l5usw7dBjxrBZkUpVSrUsppff0K4DLgvrTza4Dr0o9ZHgDeq5SyW/NEtwDfKfS1iSn5qhKcOm/2Ol6+azXxhEHvQO7NY09bvZSdm9qw22xzGl6bzxqdpEKLfgYj2YfXANqa3EwGo4QimZ8rmayQL5EAzHmdgZFAxufy+St7YWhSMnlA0qXLRzHZazuB1Vrrp7XWD2itn8bsvewo8CnuAD6olDoKfND6HqXUw0qpK6xrrgQOK6WOAB8DbtZap6+gezfwA6316Izn/jpwEjgGPA18TGt9stDXJqbkq0pwqt9HtdPOddtXAXDi/ETO5zs94KOjyU29p5rmelfe+ZBMRr0h7DZbzs3M8il0TieYY04HzP1wAIbHM7+OZNCpK2CR8Pquegygb3B24J6qu1bZk+fJ5AFJIigfxQyv3Qv8zoxj1Zhv+NtnXz6d1voIcFWG4zelff0jzLTnbM9xV5bjceB9+dog8rNZb+5Zezr9XtZ11dPSUENbYw0nzuUJOv0+Nq42J81bG2vmtFZnZCJEc72r6M3b0nlqnJy5UEjQyb2XUFujOTQ4PBFiTcfsoYXJPCVw0q3vnNpqesvapmnnpqoRVPYnfAk65aeYv+J1M3sPWusTQM+CtkgsuaY6F+O+2UEnFk/QN+jjolVmENm4upET57NnsPkCEUa8oVR6cGtDzRyH18JzXhia5C5geM2wNgzLPbxm9nSGJjKv1fEHk8Nr+d8km+tdNNZW05shbdpnFfus+OE1K+hW+n0oJ8UEnbNKqd3pB6zvzy9sk8RSa6qrZjzDws/zw34isQQbkkGnu4ExXzjrVtDJLLceKz24rbGGMV+4oH1t0o16Q7TMcY1OUnJOJ9ceNpGYuc10pmoESfXuKqqr7Fl7bIE82xrMtL6rPnWf0nkDEew2W0FzQ+Wszl3FH7/xMq7b3r3UTRELpJjf6LuBB5VS/wycADYCfwFkHPISK5dZlWAYwzCmLZI8aa3P2bDK7LlstHbxPH5uArVxdrHx5BqU5DBSa2MNhgFjvjDtTYVlsCU3b5tPEgGYPR0Dc2fQbD2ZUJa6a+lsNhvtje6sVQn8eTZwm2l9Zz3PnxwhHI1Pq4LgC5j7x9gL2Km03F0+aw25WMmKyV77IvDnwOsws9duAj6stf6vRWqbWCLJqgTB8PTqAaf7vdTWOFMBY21HHVVOOyezDLH1DvjobHanPq0nKwoUM6+T3LxtriVwkgophZNtW4OZci0Q9efZqnqmnq56DAPOXJieTOD1y/bMojwVOzP7S+A/gE9hpik3KKX+YMFbJZZUMktswj99XufkeR8buhtSvR+nw05PV33WZILTA97UfA5AmxU4ipnXSQao+fZ0UpWmc8zrJINsvkrW7Y3u7EEnFKOm2lFwZejk/Zk5xOYLRCp2m2pR3opJmb4Fc3uDf8As3vlBzKKd71qcpomlklqrk5ZMEI7EOT/sZ4M1P5O0cXUjvYM+orHpvSJvIMKIN5yazwFosZIBiunpTK3RmWciQQEbuWXb1mCm1sYaguFYarO2dH5rW4NCNde7qPdUzQo63kCk4uuuifJUTE/nH4E/0FrvAvzWv3+IWS9NlJFU/bW0ZILeQR8Jw2BD94yg091ILG5w4uz03s5UEsFUT6fK6aCxrprhIno689mmOl0hG7ll28Btpvam7Gt1Cin2mc5ms7G+q35WDTZvQIbXRHkqNmX6gRnHvgrcvoDtEctApqoEp1JJBDN7Oub3R2Zs45x8E13XOb1eVFtDcWt1RrwhPHPcvC1dIRu55dpLJ93UWp3ZyQSToWjBSQRJ6zvrzcxAqwJ3OBonHInL8JooS8UEnQtKqU7r69NKqWswM9ik9GuZSVYlGPdN9XRO9XtpbTDXlaRrqnPR2lDDkd7pRSJO93vpbPHMSvktdoHoqDc8714OFDe8li/ApdbqZOjpFLKXzkw9XfUkDIOzQ+YOmT5ZGCrKWDFB54vAS6yv7wYeAw5gJhaIMpKsSpCeSHCq3zurl5O0cXUD+vT0oNM76Js2tJbU2lDDqC+Uc71MuhFvKFV6Zj4KGV5LnnNX5w4atTVVuF3OjMGz2OE1SE8mMHuTvoC1MFSCjihDxaRM/5PW+jvW118DtmAW/Pz7xWqcWDrpVQkmg1GGxkM5gk4jwxOh1PyL1x9h1BvOHHQaa4jFjay13WYamQilEhDmw+mwU+205xlei+OqdmC3518b09ZYM6sqgWEYRScSgBmIa2ucqcoEyR1Z62V4TZShOQ+Ua637FrIhYnlpqqtOzctkm89J2mQtEj153ktLQ03qcZmCTlvaWp3m+tzBJBiOEQjPffO2mfIV/QxGYgWvr2lrrOHC2PSgE4kmiMWNoud0bDYbPWnJBNLTEeVs7hUURVkzqxKEMQyDU+e92GDampt0azvqqHbaOW6t10luZzAziQCm1tsMezOv6E+3UJlrSZ6aPEEnT921dO1NboYmghhpw4T+IkvgpFvf1cC5IT/RWCI1pyNBR5QjCToio/SqBKf6vaxqq836hux02Nm4pim1zUHvgI+uFk/G64upSjDiNYf3FrKnk3txaAx3dWF5Ma2NNUSiiVSvBNJK4BQ5pwNmQI8nDM4NT+INRKiusuMqsC1CrCQSdERGyaoE45NhK4kg91a5F/e00DvgIxpLcHogcxIBQE21k9oaZyqg5DLV05n/nA6YyQS5yuAU1dNJ2+Igqdhin+mSvcjTAz68/qj0ckTZkqAjMkqu1Tl53os3EM06n5N08fpmYnGDgydHGPNlTiJIamt0F9jTCeGw21Jtma98PZ1Anr100qU2c0tLJpgMFlfsM117Yw0el5O+AV+q2KcQ5aiy66aLrJJVCZ49Zu4oni/oqPXNADyyz9y9PNv8D5hDU/0j/rxtGPGayQaFZJMVIt+cTqiInk5yrU56Tyc5pzOX7QjSKxMkDGPBAq0Qy430dERGyTe9Q6dGcTpsrM2wS2a61kY3rQ0uXjg9ho3MSQSpa63N3Iw8a3VGJ0ILlkQAhQ2vFZq9VlPtpM5dxXDaFgeBeczpgBmozw5NMu4Ly/CaKFsSdERGyaoEkViCtR31BVVNTu6v09WaOYkgKTkJPxmcXTAz3ULsGJrO7XISiydmFScFc1fUSCxBTZ4SOOnMtTrTezp2m42aOSYArO+sJxY3zLprskZHlCkJOiKjZFUCILU9dT4bu82gk2toDaay0XJtcZDcvG1BezqpUjizg06hJXDStTVN3+LAH4xS63ZO2/iuGOnzYNLTEeVKgo7IKjnE1pMncy0p2dPp6codpFKT8BlqlyWNT4ZJGEYqxXohuHPsqROMmIGo0OE1MF/HyEQwVdLHP4cSOOnam92pYqMSdES5kqAjskomE1zUXVhPZ8Oqen7vtRfzkstW5bwutVYnR09nah+dhZ3Tgcy7hybL4xTT02mfUdJnLiVw0tltNtZ1mAFehtdEuZKgI7Lqbqulud5FZ4unoOttNhsv3dGdN3urtsaJq9qRM216ZIGrEUCens4ch9dgKm3aH4rNKV06XXJoUno6olxJ0BFZ3XT1ej7+nquwz3GOIhubzWbuq5Ojp5PcNqAlT322YnhybG9Q6F466WYOE85lW4OZdmxqo7WhhnYroAlRbmSdjsjK6bAXlLU2F/n21dl3dIh1nXXz3rwtnSdHTycwh55Oqo5cek9nHnM6AFvXN/Mv7792Xs8hxHImPR2xJFoba6ZlfqU7N+ynd8DHtdtyzw0Vy51jTidkJRIUE3Sqqxw01lYzNBEikTAIhmPzmtMRohJI0BFLoq2hhkA4lrHX8dTBAew2G1dd0pnhkXNXU+3AZoNAePb6oGRPp5jsNTArE4xMhFKPn29PR4hyJ0FHLIls1aYThsFThwbYdlHLrK2x58tms+FxOQmGMq/TqXIWP5zY3uhmaDyI31roWuuWno4QuUjQEUtial+d6UFH944x5gtz7bauRfm55kZus3s6xWxrkK61sYZRbzi1xYH0dITITYKOWBJtWXo6Tx4cwO1ysHNT26L8XI/LSTBLRYK5JC20N7lJGAZnhyYBCTpC5CNBRyyJ+tpqnA77tKATjsR5Rg/xoos7qK5anA3MPDXO1L436YJFbGuQLjlM2DtobjUtw2tC5CZBRywJu81Ga4Nr2vDavmNDhKNxrrl0cYbWIDm8toA9nWTQGTCDjkd6OkLkJEFHLJmZa3WePDhAW2MNm9c2LdrPNIfXMs/pFJu5BmbFBJuNtOE16ekIkYsEHbFkWtOqEoz5wrxwepRrLu1a8AoI6bL1dALhWFHbGiQ5HXaa613E4gauaseiLaYVolzIX4hYMm2NNXj9ESLROL95YRDDYNGy1pI8NU5C4ViqMnTSXIfXwNx+G6SXI0QhJOiIJZNebfrJg/1s7G4ouLjoXLldTgzMramTEoZBKBKf0/AaTGXiSeaaEPlJ0BFLJrlWZ//xYc4O+blmkXs5kLa9QVrQCYWLL4GTbiroSE9HiHwk6Iglk+zp/OQ3fTjsNq7curBlbzJJVZpOq782l20N0iUrQktPR4j8JOiIJdNc78Jus+ENRNmxqY26ee5FU4hMe+rMN+ikejqyRkeIvEr2V6KU2gJ8FWgFRoDbtdbHZlzTBXwB2ABUAXdpre9NO38r8PeADTCAG7TWg0qpO4H3A+etS5/QWv/x4r4iMV8Ou5n5NeINLeranHSZ9tQJRorfSyddMpFA1ugIkV8pezqfB+7RWm8B7sEMLjN9GnhGa70deCnwCaXUWgCl1BXAncCNWuttwEuAibTHfk1rvdP6TwLOCtHWWENtjZPtG1tL8vMWo6fTXO9ifWc9F60qbFtvISpZSYKOUqoD2A3cbx26H9itlGqfcekO4McAWushYD9wq3Xuz4B/1VoPWOcntNbZdwETK8KbXraRP3rDpVQ5S/P5x5NhT525bmuQZLfb+Ojvv4grLu6YfwOFKHOlGl5bC5zTWscBtNZxpdR56/hQ2nV7gbcppZ4BeoBrgdPWuUuAU0qpXwJ1wHcxh9+SCy7eppR6FTAAfFRr/dTiviSxEDataSzpz3NnyF4LzjN7TQhRuOX2V/Zh4G7MHk4f8CiQrFniBLYDNwLVmD2iPuBrmEN3d2mto0qpG4EHlVJbtdYjhf7g1ta6vNe0t9cX/koq0Eq5P65qB9jtqfbaneZcztruJmoWMfCslPuzVOT+5FYu96dUQecMsFop5bB6OQ6g2zqeYg2pvTP5vVLqYeCw9W0v8G2tdRgIK6UeBK7EnMsZSHuOnymlzgDbgMcLbeDIyCSJhJH1fHt7PUNDvkKfruKspPtTU+1gZCyQau/wqN/MopsI4FukEjwr6f4sBbk/uS3H+2O32wr6sD7rcYvQllm01hcwey+3WYduA561gkyKUqpVKeW0vn4FcBlwn3X6PuBVSimbUqoKeCVwwLp2ddpz7MQcmtOL9oLEimYW/ZyeSOB2ObAtYs03IYSplMNrdwBfVUp9BBgDbodUb+YjWutnMHsun1VKxYFh4GatdcB6/DeAK4AXgATwE+DL1rlPKKUuB+JABHhXeu9HiHSeGueMOZ25110TQhSnZH9pWusjwFUZjt+U9vWPgM1ZHp8A/tz6b+a5dy9cS0W5c7uc+INT2xsEw3OvuyaEKI5UJBAVx+NyzkqZXswEAiHEFAk6ouLMnNMJzXEDNyFE8SToiIrjtuZ0DGtPnYCVSCCEWHwSdETF8bicxOIG0VgCkEQCIUpJgo6oOJ60+muGYRAMxyXoCFEiEnRExUkvhROJJkgYhgQdIUpEgo6oOOnbG0xtayBBR4hSkKAjKo7HZe57EwzF0rY1kEQCIUpBPt6JipMMMIFwDPc8tzUQQhRHejqi4iR3+AyEp3o6NdUSdIQoBQk6ouIkezrBcIyQtZeO9HSEKA0JOqLiuKoc2G02AqFYqvCnJBIIURoSdETFsdlsuF2OacNrEnSEKA0JOqIieWrM+mupOR3JXhOiJCToiIrktipNB8IxaqrN4TYhxOKToCMqUrLSdEhK4AhRUhJ0REXy1FSl5nQkc02I0pGgIyqS2+UgGI5Z2xpI0BGiVCToiIrkcVURsMrgSNARonQk6IiK5HY5CEXi+ENRqbsmRAlJ0BEVKVkKZ8wXkZ6OECUkQUdUpGTvJhZPSNARooQk6IiKlNzeAKQagRClJEFHVCRP2jyOpEwLUToSdERFSs7pANRUSyKBEKUiQUdUJLf0dIRYEhJ0REVK7+nInI4QpSNBR1Sk9J6OBB0hSkeCjqhIDrsdV5UZeNw1EnSEKBUJOqJieaxg45ZEAiFKRoKOqFjJYTUZXhOidCToiIrlcTmpdtpxOuTPQIhSkb82UbHcLqf0coQoMfmLExWrs9lNKBJb6mYIUVEk6IiKdesrNhFPGEvdDCEqigQdUbGcDjtOSVwToqRkTkcIIUTJSNARQghRMhJ0hBBClEzJ5nSUUluArwKtwAhwu9b62IxruoAvABuAKuAurfW9aedvBf4esAEGcIPWelAp5QA+C7zGOv5JrfWXFv9VCSGEKEYpezqfB+7RWm8B7sEMLjN9GnhGa70deCnwCaXUWgCl1BXAncCNWuttwEuACetx7wA2AZuBa4A7lVI9i/dShBBCzEVJgo5SqgPYDdxvHbof2K2Uap9x6Q7gxwBa6yFgP3Crde7PgH/VWg9Y5ye01iHr3FuBL2qtE9bjvge8ZbFejxBCiLkp1fDaWuCc1joOoLWOK6XOW8eH0q7bC7xNKfUM0ANcC5y2zl0CnFJK/RKoA76LOfxmAOuA3rTn6bOeuxAOALvdlvfCQq6pZHJ/cpP7k5vcn9yW2/1Ja09RCw+W2zqdDwN3Y/Zw+oBHgah1zglsB24EqjF7RH3A1+b5M1cBNDfX5r2wtbVunj+qvMn9yU3uT25yf3JbxvdnFXCi0ItLFXTOAKuVUg6rl+MAuq3jKdbQ2DuT3yulHgYOW9/2At/WWoeBsFLqQeBKzKDTB6wH9ljXzuz55LIHuA7oB+JzeG1CCFGJHJgBZ0++C9OVJOhorS8opfYDtwH3Wv8+awWZFKVUKzChtY4ppV4BXAa82Tp9H3CTUurrVrtfCXzbOvcA8F6l1Hcxs+NuwUxEKEQY+PWcX5wQQlSugns4SaXMXrsD+KBS6ijwQet7lFIPW5lpYPZcDiuljgAfA27WWgesc98ALgAvYA6/HQK+bJ37OnASOAY8DXxMa31y8V+SEEKIYtgMQwoeCiGEKA2pSCCEEKJkJOgIIYQoGQk6QgghSkaCjhBCiJKRoCOEEKJklltFgmWnkOrYK5FS6l+BN2GWG7pMa33QOp719Zb63FKy1ox9HdiIuZbrOPBHWushuUcmpdT3MCvCJ4BJ4INa6/1yf6ZTSn0Us1jxZVrrg5V+f6Snk18h1bFXou9hLqCdWbkh1+st9bmlZAD/rLVWVtXzE/QQSQkAAAdDSURBVMAnrXNyj0zv1lrv0FrvAv4V+Ip1XO6PRSm1G7gas2pKUkXfH1mnk4NVHfso0JpWvmcE2DyzmsJKpZQ6Dbze+gSW9fVi7mFUsnPL7f4qpd4EvA94O3KPZlFK3Q58CLgJuT8AKKVcwC8wf2ceA16PucC9ou+P9HRym1UdG0hWxy5HuV5vqc8tG0opO2bA+T5yj6ZRSn1JKdUH3AW8G7k/6T4G3Ku1PpV2rOLvjwQdIfL7d8w5i88tdUOWG631/9FarwP+FviXpW7PcqGUugZ4EfAfS92W5UaCTm6p6tgA2apjl5Fcr7fU55YFK+FiM/BWrXUCuUcZaa2/DlwPnEXuD8DLgIsx9wA7DawBfoKZmFLR90eCTg5a6wuYxUVvsw5lrI5dLnK93lKfW7xXWTil1F3A5cAt2txSQ+6RRSlVl9xK3vr+ZmAUc86i4u+P1vqTWuturXWP1roHMxi/Wmv9LSr8/kgiQR5KqYsx0w2bgTHMdEO9tK2aP6XUZ4HfBbqAYWBEa31prtdb6nNLSSl1KXAQcxI2aB0+pbV+o9wjUEp1Ag8CtZj7UI0Cf6G13if3Z7YZCTsVfX8k6AghhCgZGV4TQghRMhJ0hBBClIwEHSGEECUjQUcIIUTJSNARQghRMhJ0hCiCUuq0UuqGpW5HOVBK3amUunep2yFKS7Y2ECuetQaiE3O9SBR4ErhDa5131bVSqgc4BVRprWOL10ohBEhPR5SPm7XWdcAqYBCzXlrZU0rJB0exosgvrCgrWuuQUurbwGeSx5RSrwP+EbPu1QTwZa31ndbpX1r/jiulAG7UWj+llHov8OeYNbPOAO/UWu+zrt2plPo0sB74Mea+MiHrZ73e+lk9wAuYPa7nrHN/jVn+vwGz0u/7tdaPzHwNSqn/BkJWe68G9mGuIu+1zhvAB4A/xfwb3qCUuhb4N2ALZhWFP9FaP2ld3wJ8Cng14AYe11rfMtf2KqWuxCxkuQWzWsP/aK3/3HrM1cCngUsw92r6E631L6xzG4D/BnYDTwPLqmqAKA3p6YiyopTyAG/FfFNL8gO3A03A64D3KaVusc691Pq3SWtdZwWct2Du9Hg75hvu72DuQZJ0K/AazF0ztwO/Z/3s3Zgbmf0R5i6NXwC+r5RyKTOifQB4kda6HjMAnM7xUt4BfBxow6yd9T8zzt8CXAVcYgWVh4DPWj/308BDytz9FMwdUD3ApUAHcPc82/tvwL9prRswA+O3rOdbbbXjH4EW4C+A7yil2q3H3QfstV7TxzG3QhAVRno6olx8TykVA+owi06+Onki+Unb8pxS6n7MKsDfy/Jc/wdz19A91vfHZ5z/rNb6PIBS6gfATuv4e4EvaK1/Y33/VaXU32L2Vs4BLswgMaS1Pp3n9Tyktf6l9TP+DphQSq1Nm6f6/7TWo9b5NwPHrErPAPcrpT4E3KyU+gnwWsxNvMas84/Ps71RYJNSqk1rPcxUgH8n8LDW+mHr+58ppZ4BblJKPYZZ6v8Gq3jqL617JyqM9HREubhFa92E+Ub5AeBxpVQXgFLqKqXUY0qpIaXUBHAH5qftbNZibk+dzUDa1wHMQAfmcNuHlVLjyf+s5+rWWh/HHA67E7iglPqGUqo7x89IJUForScxC2p2ZzpvHZ+57XgvsNr6+aNpASfdXNv7HsyhtSNKqT3WEF3y+d4y4/legjnP1g2Maa39M9ooKoz0dERZ0ebOiN9VSn0B8w3v25jDOp8DXmvN+XyGqaCTqeLtGcxho2KdAe7SWt+VpW33AfcppRowh7L+CXhXludK3zagDnO46nza+fR2n8d8w0+3DnO+6QzQopRq0lqPL0R7tdbHgNuUuaPq7wLftobyzgBf11q/d+ZzKaXWA81Kqdq0wLOOzPdflDEJOqKsKKVsmHMwzcBh63A95qf9kDUJ/nbgp9a5ISABXIQ5AQ/wJeDTSqlfY07ibwSiyYn8HL4I/K9S6ufAbzHnUV6OmazQjdnzeAIzSSBI7pGGm5RSL7Ge5+PAb3KkgD8M/LtS6u2Y8ytvwpzI/6HWelgp9SPgP5RSf4y5A+o11tDdnNqrlHon8BOt9ZDVmwEzXf1eYI9S6tXAz4EqzKG641rrXmuo7R+sIbwrgZsxtwAXFUSG10S5+IFSahLwAndhZpQdss69H/iYUsoHfARr4htAax2wrn/CGhK6Wmv9gHXsPsCHOffTkq8BWutnMOdJPoe5b8lxrCQDzGG/T2LuXTSAOaH/tzme7j7go5jDapdjJhZk+7kjwOuBD2MmPPwV5t4tw9Yl78KchzmCOd/1p/Ns72uAQ9b9/jfgbVrrkBUU32BdN4TZ8/lLpt5n3o6Z/DBqvbav5Xj9okzJfjpCLDNWyvRZrfX/u9RtEWKhSU9HCCFEyUjQEUIIUTIyvCaEEKJkpKcjhBCiZCToCCGEKBkJOkIIIUpGgo4Q/7e9OhYAAAAAGORvPYtdJRGwkQ4AG+kAsAklhcvA5L8sAAAAAABJRU5ErkJggg==\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "learn.recorder.plot_metrics()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 44,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "interpretation = learn.interpret()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 45,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAR8AAAEpCAYAAACqdCb9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xd4FOXax/FvSOglgHRCR256EUJseEB9xQLYAFFRsZ9jF8WCWLCAoqJiOdiOoIigoigiCFgRaaKIjZuOEBBpoQdIef+YSVxiSJaQ3Se7uT/XlSs7M8/O3oPuL88802IyMzMxxphwK+G6AGNM8WThY4xxwsLHGOOEhY8xxgkLH2OMExY+xhgnLHxM2IhIWRGZIiI7ROS9o1jPpSIyozBrc0VEuoiIuq7DhRg7z8fkJCKXAAOB5sAuYDHwmKp+e5TrvQy4GThRVdOOutAiTkQygWNVdYXrWooi6/mYQ4jIQOBZYBhQE6gPvAScWwirbwAsKw7BEwwRiXNdg0vW8zHZRCQeSAauVNVcd4tEpDTwBNDXn/UucLeq7heRrsA44BngbiAdGKyqb4jIUOBeIAbYD9wK1AOaqmp/f90NgdVASVVNE5EBwANAdWALMERV3/bnX6OqJ/vvOxF4DmgGLANuVdXv/GVfAbOBU4G2wFzgElXdksu2ZdU/CrjTr/8/wAG8QK4GPKWqw/z2nf3PbQHsAyYBA1X1gIh8A3QB9gKZwNXAJn/9zwO3AzOB14FxqpogIk2AhcDpqvqDiNQBlgC9VfWr3P57RDLr+ZhAJwBlgA/zaHMfcDzQHmgHdAaGBCyvBcQDdfG+cC+KSBVVfRCvNzVRVSuo6ut5FSIi5fFC4CxVrQiciLf7l7NdVWCq3/YYYCQwVUSOCWh2CXAlUAMohRcsh1ML79+gLl7wvQr0BzrihckDItLYb5uOFyLV8P7tTgNuAFDVU/w27fztnRiw/qp4vcDrAj9YVVfihfbbIlIOeAMYE43BAxY+5lDHAFvy2S26FHhYVf9S1c3AUOCygOUH/eUHVfVTYDcgBawnA2gtImVVdaOq/ppLm3OA5ar6lqqmqeo7wFKgZ0CbN1R1maruw+uptc/jMw/ijW8dBCbgBctzqrrL//xf8XpQqOoiVZ3nf+4a4GXgX0Fs04Oqut+v5xCq+iqwHJgP1MYL+6hk4WMCbQWq5TMWUQdYGzC91p+XvY4c4bUXqHCkhajqHuAi4N/ARhGZKiLNg6gnq6a6AdN/HkE9W1U13X+dFQ6bApbvy3q/iDQTkU9E5E8R2YnXs6uWx7oBNqtqaj5tXgVaA8+r6v582kYsCx8TaC6QCpyXR5sNeLsMWer78wpiD1AuYLpW4EJV/UxV/w+vB7AU70uZXz1ZNSUXsKYj8V+8uo5V1UrAYLwxrbzkOcgqIhXwxpdeBx7ydyujUrEebTeHUtUdIvIA3jhNGjADbzfkdKCbqt4FvAMMEZGFeF+kB/AGUQtiMXC3iNQHduANSAMgIjWBJOBzvN7Gbrwxlpw+BZ73Tw94F7gQaAl8UsCajkRFYCew2++V/QfYHLB8E9AYOJJD7c8Bi1T1GhF5BRjN34P7UcV6PuYQqjoS7xyfIXhfpHXATcBkv8mjwPd4R2F+Bn7w5xXks2YCE/11LeLQwCgB3IHXs9mGN5ZyQy7r2Ar08NtuBe4CeuR2NCsE7sQbzN6F1yubmGP5Q8BYEUkRkXwDRETOBc7E29UE77/DcSJyaaFVXITYoXZjjBPW8zHGOGHhY4xxwsLHGOOEHe0Kn9JAIrCR3I/aGBPJYvFOiViId/lMvix8wicR7xojY6JZFyCoux9Y+ITPRoBnv1lDSmrxuaj73lObui7BhElpL002Btvewid80gFSUtPYtveg61rCxk7kKB4CTusOekjBBpyNMU5Y+BhjnLDwMcY4YeFjjHHCwscY44SFjzHGCQsfY4wTFj7GGCcsfIwxTlj4GGOcsPAxxjhh4WOMccLCxxjjhIWPMcYJCx9jjBMWPsYYJyx8jDFOWPgYY5yw8DHGOGHhY4xxwsLHGOOEhY8xxgkLH2OMExY+xhgnLHwiSNqB/UwcdBHjbz+ft2/pybx3ngcgdVcKkx+6mjdvOJPJD11N6u4dh7xv1+YNjL64Iz9M/l/2vGXfTmP8befx9i09mTP2qUPaL58zjXE39+DtW3ry2chBod+wQjbjs+m0bSW0at6UJ0c87rqcsIjEbY64J5aKSEPgDFV9JWDeGqCHqv4Sos/sBXRRVaffxNiSpTj/4f9Rqmx50tMOMmlwfxoedwor580koc3xdLrwWr6f9CqLPniNky6/I/t9s//3BA06dMme3rczhTljn6TfU+9TNr4qM5+7l3VL5lKv7QmkbFjD95NepffwtylTIZ69KVtdbGqBpaenc9stNzJ12kzqJiRw8vGJ9OjRixYtW7ouLWQidZsjsefTELiuIG8UkQKFrap+7Dp4AGJiYihVtjwAGelpZKSnQQysWvAFLbqdB0CLbuexav7n2e9ZOX8WlWomULX+389M37lpHZXrNKRsfFUA6rU7gZVzZwLw68z3aXvWJZSpEA9AucrHhGXbCsvCBQto0qQpjRo3plSpUvS5qB+fTPnIdVkhFanb7LznIyJvAwKUBlYAVwHtgGeB+cAJeI/87qeqvwMvAo1EZDGwQlV7+6vqKyKvArWBp1T1BX/9a4DXgVOBVSJyH/AOUAkoA0xV1bv8tqWAYcCZeM+cXqWq54vIALyeVW8REWAMUA6IBcao6qH7LSGUkZ7OxDt7s+PPP2hz1iXUataOvSlbKV+1OgDlq1Zn345tABxM3csPH7zOuQ+9xo8fvZG9jvja9dmevJqdfyVT4ZiarJr/Oelp3vPjt29YA8D7915KRkY6SRfdSIPjuhApNmxIJiGhXvZ03boJLFgw32FFoRep21wUej63qmonVW0D/Arc7c9vBYxW1bbAu8AQf/6NwG+q2j4geADKqeoJQFfgcRGpELCstqp2U9WrgRSgp6p2BNoDnUTkTL/dvUBj4DhVbQdcm0u9NwCfqmo7VW2NF2xhUyI2louf+ZArX/uSTct/Zuva5YdtO3/CC7TvdXl2bylLmQrxdLv+AaY/NZBJgy+jYo06lIiNBSAzPZ2UjWs5/5ExdB/4FJ+/9AD79+wM6TYVpszMzH/Mi4mJcVBJ+ETqNjvv+QCXi8ilQCmgPLAMmA6oqv7ot5kH9MxnPRPw3rRGRLYDCcBSf9mbAe1igSdF5EQgBqiFF0LTgR7AHap6wF/Xllw+5xvgKb+X9KX/E3aly1eibutE1v44m3KVj2HPts2Ur1qdPds2Z+9O/blsCSu+m8GcsU+zf88uYkrEEFuqNO3OvpRGid1olNgNgF9mvEuJEl74VDimJrWkHbFxJYmvmUCVOg1J2bCWmse2cbGZR6xu3QTWr1+XPZ2cvJ46deo4rCj0InWbnfZ8RKQL8B/gTL/nMwRvVwggNaBpOvkHZV7tdwe8HghUAZL8XtXkgM/M98+Fqk4CTgJWAvcAb+X3nsKyb8e27F5I2v5U1v00lyp1G9MosRu/fzkZgN+/nEzjzqcC0HvYOAa8MosBr8yifc/L6HThdbQ7+1KA7IHk1N07+HnaO7Q83etENk46jfU/L/A+b+d2UjaspVLNekSKTomJrFixnDWrV3PgwAHemziBc3r0cl1WSEXqNrvu+VQGdgBbRaQ03nhPfnYC8Uf5mRtVNVVE6gLnAv/1l00BbhOReap6QESq5ez9iEhTvLGgMSKyHHiDMNmzfTMzR91LZkYGmRkZHHvSmTRK7Eotac/0p27nt88nUbFabc4a9Ey+6/rm9eFsWeN1DDv3vYEqdRsCUL/Dyfyx+DvG3dyDEiViOemKOylbqXIoN6tQxcXF8cxzL9DznO6kp6dzxYCraNmqleuyQipSt9l1+EwD+uPtHq0Hvgc65/OeJYCKyC/A0hzjPsEYBbwnIj8C64DPA5Y9DgwHFovIAbwB8Jzr7wtc6i/PBG49ws8vsGoNhYtHfvCP+WUrVeb8h/POwKR+Nx0yfeYduY+Rx8TE0OWqu+mSPfQWec4862zOPOts12WEVSRuc0xug1UmJBoCqx+asYJtew+6riVsRvRo4boEEwYxQGmvK9MIWBPMe4rC0S5jTDFk4WOMccLCxxjjhIWPMcYJCx9jjBMWPsYYJyx8jDFOWPgYY5yw8DHGOGHhY4xxwsLHGOOEhY8xxgkLH2OMExY+xhgnLHyMMU5Y+BhjnLDwMcY4YeFjjHHCwscY44SFjzHGCQsfY4wTFj7GGCcsfIwxTlj4GGOcsIcGhk9DYPX+NO8xp8VFlcSb8m8UhTZ+95zrEsKqRAxUKhML9tBAY0xRZ+FjjHHCwscY44SFjzHGCQsfY4wTFj7GGCcsfIwxTlj4GGOcsPAxxjhh4WOMccLCxxjjhIWPMcYJCx9jjBMWPsYYJyx8jDFOxB1ugYisI4hbz6hq/UKtyBhTLBw2fID+YavCGFPsHDZ8VPXrcBZijCle8ur5HEJE2gNdgGpATNZ8VX0gBHUZY6JcUAPOInIdMAc4FbgbaAPcATQNXWnGmGgW7NGuu4AzVfV8YJ//uzdwMGSVGWOiWrDhU0NVZ/uvM0SkhKpOA3qGqC5jTJQLNnzWi0hD//Uy4FwR6QIcCElVxpioF+yA8wigBd7zeB4G3gdKAbeEpixjTLQLKnxUdUzA62kiUgUopaq7Q1WYMSa6BRU+IpJz9ywNSPPHfjIKvyxjTLQLdswnDe/IVm4/pohLT0/n+E4duODcHq5LKZD4CmUZ/+TVLP5gCD9OGkJS20ZccHoHFr1/H3sWjeK4ln9f4VMyLpaXH+rPwncHM3/iPXTpeGz2sg4t6rHw3cH88tGDPH1X7+z59WtX4dPRN7Ng4r189uqt1K1ROazbl5f169fR88zTSOrQmhM6tmX0i6MAeGzoA5zUuQNdkjpyQc8z2bhhAwAHDhzgxuuu5sTE9pycdBzffvMVALt27aJLUsfsnyb1anLvoIGuNgsIPnwaAY0Dfk4CpgDXhaiuQiEiA0Tk/cMsay8ifXPMWywiZf3Xa0Sktf/6NX+APSK9MOo5pEUL12UU2FN39WbGd7/R/oJH6XzRcJau+pNfV26g3x2v8u0PKw9pe9UFJwGQ2HcYPf79Ao8PPJ+YGO+c2FGDL+KmR9+h9blDaVK/Omec1BKA4befz9tTF9D5ouEMe2UaD9/cK7wbmIe42DgeHf4k83/8hRlfzeG1l//L0t9/4+bb72TOgh+ZPX8R3c86hxHDHwVg7P9eA+C7hYv5cMp0htxzFxkZGVSsWJHZ8xdl/9Sr14Ae557nctOCCx9VXZvjZx5wBd4Jh5GqPXBI+Khqe1Xdl7Ohql4TcKpBRFm/fj3Tp03lyquucV1KgVQsX4aTj2vCmA/nAnAwLZ0du/ehqzexfO1f/2jfvHEtvlygAGzevpsdu/bRsWV9alWrRMXyZZi/ZDUA4z9ZQM+ubf331Oar+d57vl64jB5d24Rj04JSq3Zt2nU4DoCKFSvSTJqzcUMylSpVym6zZ8+e7IDVpb9zSrdTAaheowbxleP5cdH3h6xz5YrlbN78Fyee5PbvadCXV+SiElC9sAoJhoiUA8YCrfB2+RT4FOihqr39NgMCp4F4EZmEdzb2VuAyIBXvqF0lEVkMfKOqt4hIJlAx50C6iHwFPKWqn/hne98O7McL776qujSEm31UBt1xG48NH8Hu3btcl1Igjeoew5btu3llaH/aNKvLj7+v484R77M3NfezPH5elkzPrm1477NFJNSsQoeW9UioVYWMzEyS/0rJbpe8KYU6/u7Vz8uSOe+09rz4zlece2o7KlUoS9X48mzbsScs2xisP9auYclPi+mYmATAIw8OYcL4cVSKj2fKtFkAtG7TlmmffMyFfS4ief06Fv/4A8nJ6+mY2Dl7PZPencAFvftkB5YrwV5e8ZaIvBnw8z6wCBgX2vL+oTtQRVVbqmo74Pog3nMyMNhv/zXwnKpuBR4AZvm9nSM5ZeBJ4AxVbQ8kAn8c2SaEz6dTP6FG9Roc17Gj61IKLC4ulvbN6/Hqe7M54eIn2LtvP3de9X+HbT/2o7kkb0phztt38eSgC5n302rS0tPJ7WuWmendMebeZz6kS8emzH3nbrp0bErypu2kpaeHaIsKZvfu3Vx+cV+GjxiZ3eu5f+ij/Lp8DX0uuphXR78IQP8rrqRO3bp0OymJewcNpHPSCcTFHtrH+OD9d7mwT7+wb0NOwfZ8VuSY3gOMVtVZhVxPfn4CmovIi8BXwNQg3vOtqqr/+jXg56Os4QvgDRH5CJiqqquOcn0hM/e7OXzyycdMn/4p+1NT2blzJ1de3p833gz334yCS960neS/Ulj4y1oAPpy1mDuuPHz4pKdncNfTH2RPfzlmICv+2EzKzr2HDCTXrVmZjZt3ALBx8w763emNlZQvW4rzTmvPzt2podicAjl48CBXXNKHPv0upud55/9jee+LLuaiC3px7/0PERcXx7ARI7OXndHtZBo3/fsSzJ+X/ERaWhrtj3P/BynYAefpqjo04OcpVZ0lIp3zf2vh8b/oLYCZwOl4YZTGodtRJo9VxBDEDdLycQEwGCgPfCkiZx3l+kLmkceGs3LNenTFGt58ewJdu50aUcEDsGnrLtb/uZ1jG9QAoGtnYemqPw/bvmyZkpQrUwqAU5Oak5aewdJVf/Lnlp3s3rufzm0aAnBJj8588vUSAI6pXD57F2TQVd0Z+9G8EG7RkcnMzOTm/1xLM2nBjbfcnj1/5Yrl2a+nT51Cs2YCwN69e9mzx9td/PLzmcTFxdG8RcvstpPem8CFfS4KU/V5C7bnMxNvjCen6UDVwisnbyKSAGxT1ckiMgPYAKwG2opIabxg6Q2kBLztJBE5VlWXAwOAL/35O4H4I/z8OKCBqi4AFohIE6ADMO0oNsvkY+AT7/HGsAGUiotlTfIWrntwHL26tWXk3X2oVqUCH4z6N0s0mV43vkj1KhWZ8tKNZGRksmFzClcPGZu9nluGTeSVof0pW7okM+b8xmff/gbAKZ2O5eGbe5GZCd/+sILbhr/ralP/Yd7cOUwcP46WrdvQJcnrrdw/9BHGjX2D5cuXUaJECerVq8/IUS8BsGXzX1zY62xKlChB7Tp1GP362EPWN3nS+7z74ZSwb0duYrL2e3Pjn1wYg/dlrgSH7Do3Aeaoao2QVnhoPWcBj/uTscBbqvqEiIwGTsMLIgVqq2pvf/D5ImA73iD1VuAyVU0WkXi80CgPfJ1zwFlE1uANXP+SNeCMF8KzgMpABrAOuMIfQ8pPQ2D1/rSj73pFkiqJN7kuwYmN3z3nuoSwKhEDlcrEgndazppg3pNf+GRw+O9KBvCYqj50RFUWXw2x8Ck2LHzyl99uVyO83s7XwCkB8zOBzbmdE2OMMcHIM3xUdS2AiAiQrqrZl1OISEkRKa2q+0NcozEmCgV7tGsGkPPYXEfgs8ItxxhTXAQbPm2B+TnmLQDaFW45xpjiItjwSQFq5phXE+9kQ2OMOWLBnuczCRgvIrcAq/AOsz8DvBeqwowx0S3Yns99wO94u1q7gXn+9JAQ1WWMiXLB3lIjVVVvxDshryZwAt5V3cvzfKMxxhxGsD0fRKQ63g3jPwN+BDoBt4aoLmNMlMtzzEdESgK98K6J6o53dfs7eGfr9lXVf97NyRhjgpBfz2cT8DLe9VLH+/fReQRvl8sYYwosv/BZgncRZRKQ6D8yxxhjjlqe4aOqXfEOq88A7gT+FJEpeAPPJUNenTEmauU74OzfMP4RVT0W77YVG/GuaP9JREaEukBjTHQK+mgXgKp+q6rXAbWAm4Gic5t/Y0xEKdDTK1Q1Fe+o1zuFW44xprg4op6PMcYUFgsfY4wTFj7GGCcsfIwxTlj4GGOcsPAxxjhh4WOMccLCxxjjhIWPMcaJPJ9YagpVQ4rhE0uLq6RHPnddQljVqVyGabefBEfwxFLr+RhjnLDwMcY4YeFjjHHCwscY44SFjzHGCQsfY4wTFj7GGCcsfIwxTlj4GGOcsPAxxjhh4WOMccLCxxjjhIWPMcYJCx9jjBMWPsYYJyx8jDFOWPgYY5yw8DHGOGHhY4xxwsLHGOOEhY8xxgkLH2OMExY+xhgnLHyMMU5Y+BhjnLDwiXIzPptO21ZCq+ZNeXLE467LKVTXX3MV9evUoGP71tnzhj54P4kd2pLUsT09zjqDDRs2ALBwwQKSOrYnqWN7Oh/Xjo8mf+iq7KCViIGJ/+7M85e0A+DGUxvz3n86M/HfnRl9WXuqVyyV3faqLg2YcssJfHTz8ZzYpGr2/LjYGO7v2ZyPbz6ByTcdz2ktqgNwXIPKTLg+kUUPdOP0ljXCu2G+Ivu4ZBEZA3yvqi8UgVo6Aber6qVHsZqGhPlxyenp6bRp2Yyp02ZSNyGBk49PZOy4d2jRsmWYKgitb2d/Q/nyFbjmqstZtPgXAHbu3EmlSpUAePH5USz9/Teef2k0e/fupVSpUsTFxbFx40aSOrZj1R8biIuLC0lthfG45MtOqEfLOpWoUDqOm8f/RPnSsezZnw7AJUkJNK5enkc/URpXL8/jvVtx6SsLqVGxNC9f0YFeo+aSkQn/6daIEjExvPjFKmJiIL5sSVL2HqRO5TKULx3HFSfW5yvdwqzf/jqqWu1xySGiqt8fZfA4sXDBApo0aUqjxo0pVaoUfS7qxydTPnJdVqE5ucspVK1a9ZB5WcEDsHfvHmJiYgAoV65cdtDsT03Nnl9U1ahUmi7NqvHhDxuy52UFD0CZUrHZf8S6Nq/G9F82cTA9k+SUVNZt20frut6/w3kd6vC/2WsAyMyElL0HAdiQksryTbvJcNj5CE3s5yAi9wNVVfV2f/oYYBnQGBgC/AsoBfwM/EdVd+d4fyngsdzaicj3AdtRC5irqueLiADPAtX89zyrqm/468sE7gPOB44BBqnqJBEpB4wFWgEHAVXVviLSFXhKVTuJSA1gPFDT/8xZWdtV1GzYkExCQr3s6bp1E1iwYL7DisLjwfvv4+1xbxIfH8/0mV9mz18wfz7/vu4q/li7ltfHvBWyXk9huOvMZjwzYwXlS8ceMv+m0xrTs11tdqemcc2YHwCoWbE0S9bvzG6zaed+alQqQ8UyewG48dQmdGpYmXXb9zF86jK27TkQvg3JQ7h6PmOBfiKS9V/7EuAj4GZgh6p2VtX2wAbg3lzef9fh2qlqJ39eL2AP8IT/OePxdpUSgZOBe0SkecA6d/rLLgNG+fO6A1VUtaWqtgOuz6WWS4G1qtpGVdsADxfoXyQMctulLup/8QvD0EceY8XqdfS7+FJGv/T3XnvnpCR++OlXvp27kCefGE5qaqrDKg/vlGbHsG3PAX7fuOsfy174fBXdR85h6s9/0i8pwZuZy3/TzMxMYkvEUCu+DD/+kUK/lxeyZN0O7ujeNNTlBy0s4aOqfwC/AWf7swYAb+AFRn8RWSwii/3pJrmsIs92IhIPTAHuUtV5QDOgBTDBbz8bKO3PyzLB/z0PqCMiZYCfgOYi8qKI9AH251LLPOAMEXlSRHoAu3NpUyTUrZvA+vXrsqeTk9dTp04dhxWFV99+lzD5w0n/mN+8RQvKly/Pr7/84qCq/LWvX5muUo1PbzuRJ3q3JrFRFYZdcOg43bQlmzi9hTdQvGlnKjXjS2cvq1mpNJt37Sdl70H2HUjni6WbAZjx61+0qF0xfBuSj3D2O8cAV4jIKiBeVWeLSAxwg6p+kc97D9tOREoCk4CxqjopoP0Wv0d0OKkAqpru7aERp6qrRKQFcBpwFjBMRNoEvklV54pIe+D/8HpN9+D1rIqcTomJrFixnDWrV1Onbl3emziBMW+Nd11WSK1Yvpymxx4LwNQpH9PM7+yuWb2ahHr1iIuLY+3atSxbpjRo2NBhpYc3atZKRs1aCUCnhpW54sQGDP7gN+pXLcsf2/YB3jjP6i3ebtXXS7cwvHcr3vruD2pULE39quX4JdnbDftat5DYsAoLVm8nqXFVVm7e42ajchHO8JkEjATuxAsigI+BgSIyV1X3iUhFIEFVf8/x3rzavQwsVdWRAe0V2Csil6nqWwD+LtcGVd3JYYhIArBNVSeLyAy83buqOdo0Atar6gQRmQ2sEJESqppRkH+UUIqLi+OZ516g5zndSU9P54oBV9GyVSvXZRWay/tfzOyvv2LLli00aZjA/Q8MZfr0T1m+TCkRU4L6DRow6sXRAHw351ueevJxSsaVpESJEjz3/EtUq1bN8RYcmVv/rykNjylHRmYmG3ek8ugUBWDl5j3M+PUvPrzpeNIzMhk2Vcnw97ifnbmCxy5oyaAzj2X73oM8MPk3AFrVqcgz/dpSqWxJ/iXVuaFbIy54MbzjgWE91C4irwFXAo1U9Q+/1/IQcC6QgXcUeqiqfhB4qP1w7YBFeIf1fgGyDgV8qaq3i8ixeAPO9YBYYBPQV1W3+APOFbMGtrOmgS5A1skwscBbqvpEjgHnK4E7gDS83danVXVsEJvfkDAfajfuFMah9khSkEPtRfY8nyjUEAufYsPCJ392no8xxgkLH2OMExY+xhgnLHyMMU5Y+BhjnLDwMcY4YeFjjHHCwscY44SFjzHGCQsfY4wTFj7GGCcsfIwxTlj4GGOcsPAxxjhh4WOMccLCxxjjhIWPMcYJCx9jjBMWPsYYJyx8jDFOWPgYY5yw8DHGOGHhY4xxwsLHGONEOB+XXNzFZr2IcVmFCYs6lcu4LiGsalQqnfUyNq92geyJpeFzMjDbdRHGhFgX4NtgGlr4hE9pIBHYyN/PlTcmWsQCtYGFwP5g3mDhY4xxwgacjTFOWPgYY5yw8DHGOGHhY4xxwsLHGOOEhY8xxgkLH2OMExY+xhgnLHyMMU5Y+EQpERkoIvH+67dEZKmInOG6rlATkWYiUsZ/3V1E7hGRKq7rMv9k4RO9BqjqDhHpBtQArgKGOa4pHN4F0kWkEfAy0BgY67ak0BGRp0UkXkTiRGS2iOwRkf6u6wqGhU/0yrp4tRvwtqp+R/H4752hqgeBc4CXVPU6oL7jmkLpdFXdAXQHkoFjgTvdlhSc4vAmOm6XAAAKbklEQVQ/Y3G1T0TuAy4FZohIDFDKcU3hUEZE6gK9gC/8ecXhFkqnAB+o6gYgIq4Wt/CJXgOA6sAgVf0Tb/fjbacVhcezwK/ALlX9XkQaAzsc1xRKf4nIq0A/YKaIxBEhNwm0W2qYqCYisUCsqh5wXUsoiEh1vN7tPFWdJyINga6qOsZpYUGw8IkyIvKEqt4tIu+RS/dbVfs6KCvkROQkVZ0jImfntlxVPw13TSZvEdE9M0ck6xaWnzitIvwGAHOAQbksywSiKnxE5C1VvUxEFpL7H5nODso6ItbzMSYCiUhHVV0kIv/Kbbmqfh3umo6UhU+UEpFJwLWqus2fPgb4bxTvdrXMa7mq/hauWlwRkVJAVf8AQ5Fnu13Rq3FW8ACo6lYRaeqyoBCbmseyTLyjfVFHRCYA1wMHgJ+AaiIyTFWfcltZ/ix8oleciMSqajqAiJTEe4JGVFLVRq5rcET8M9l7453XNBCYB1j4GGemAxNF5Fl/+jZ/XlQSkdKqul9EyuW2XFX3hrumMCnp//4X8Kmq7hWRDJcFBctOMoxeg4GfgZHAM8AS4F6nFYXWXP/3bmCX/3t3wHS0+k1EZgDnAp+LSFnXBQXLBpyNiWB+2HQHflLV1f6lJW1Utcj3ci18oph/C432QPaDw1X1YXcVhZ6IPKuqt+U3L9r4R7qyh1EiYTfTxnyilIg8jvd45lbAR3jd8llOiwqPU3KZl+u5MNFARC4ARuE9qhi8i2gz8R5fXKRZ+ESvc4AOwCJVvV5EHgZedFxTyIhIH6Av0FBE3g1YFA8U+V7AURiBt93zVDUiBpqzWPhEr1RVTRORTBEpqarJIlLPdVEhtAzvXJ/OHHrOz07gcycVhcc2/15NEcfGfKKUiHwB9MA736MysBE4WVWTnBYWYiJSNfDkymgnIvcCKcBEIDVrvo35GJcuBtLw7mo3EC+A+jitKDxK+1f0d8Mb+/gSuFVVN7otK2Qe83+/iLe9ETPmYz2fKOTfw2a0ql7rupZwE5FZwDfAa3hfxCvx7m9zutPCzD9YzycKqWq6iDRxXYcj1XKcTvCof+lB1BKRZkALVf1IRCoApSJh19PCJ3p9ISIvAG/ineULFIuru1eISFNVXQHgh/AvjmsKGREZANyDd3/uj4C6eLtgRb6nZ+ETva72f58TMC+ar+7OunNjJeAnEcm6qdpJQJG/t81RuBXoBMwGUFUVkVpuSwqOhU+UKoZXeQfeuTHwRvnjw11ImB1Q1d0iEjgvzVUxR8LCJ4r5V3gncOhp91G526WqUftgwHxs9cd8MgH8Bwaud1tScCx8opSI3Ag8Dmzn7wcIRu1uV5biduN84Ha83p2IyBq8s7l7uiwoWBY+0esOoLWqrnVdSJgF7n6VAXoDUdnbg+wxniSgGd6pBZp1A7mizsInev1ZDIPnH7tfIvIG8LGjckLOv1f346q6MGDe06p6h8OygmLhE2UCbqQ+U0RGABM49LT7qO0FHEYmEM2D7ycC40VkkKpO9ud1c1lQsCx8ok/OG6kHXlJR3MZ8SgDtiO5biWzEu13KFBFpoKrPESHPprfwiTLF8BB7ToFjPgeBp1V17uEaRwNVXec/v+t9/6TKiLg9ckQUaY5cjnvaHHZeFDoLmAy8CzwETBWRO51WFFrpAKq6A2/bKwCtnVYUJAuf6JXbM7pahL2K8BP/i3gO3qNkEoDL3ZYUOqqaGPA6TVWvIkLGuGy3K8qIyLXAdUAzEVkQsCgeUDdVhVXEPkqmIPwTSQfjPSTyEhFpDjQH/nBbWf4sfKLPDGA58AIwKGD+TrzH50S7rEfJNAfuiaRHyRTQf/EGndv50+uBd/B2PYs0C58o45/bs5YI2e8PgSv4+1Eye/xHydzjuKZQaqOqV4hIdwD/Oq+IGE6x8IlS4l1pOARowqHXdnV2VlQYqOo+Av7qq2oykOyuopA7EDghImWIkLFcC5/oNQF4D3iDv6/tMtHnGxEZjHf72K54t8z9yG1JwbHwiV4lVHWY6yJMyN0H3IX3SOgReJeSPO60oiDZPZyjlIiMBl5S1eIwyGwikIVPlBKRH4GWeIfXU/GfahDtYz7FhYjckNdyVX0pXLUUlO12Ra/cnk1uf2miR2IeyyLiv7P1fKKUiMTjHWJuh3dfGwBU9VRnRRkTICIOyZkC+R/evXybAa/iHfFakOc7TMQRkXIi8oiIvO1PNxeR81zXFQwLn+jVVFXvB/aq6jt4j07u5LgmU/j+i3dJSXt/ej3woLtygmfhE732+78PiEhVvJPREhzWY0Kjjareg3+yoaruJkK+1zbgHL2W+aEzHpgHpACL3ZZkQiBiz3C2AediQEROBioD0yLl5uImOP6tclOA/sANeGc4L1HVIU4LC4KFjzERTEQqArcAvfDO5foY74byRf7BgbbbZUxkW413Ie1AVZ3jupgjYT0fYyKYP653CTAA7zn1Y4A3VbXIP7XUwseYKCEirYA7gf6qWjK/9q7ZbpcxEc6/edjZeL2fU/B6P0We9XyMiWAiMhLoB/wKjAUm+TdUK/Ks52NMZNsGJKnqOteFHCnr+RhjnIiIMyGNMdHHwscY44SFj4kKItJQRDJFJM6fniYiV4Thcx8SkXGh/pxoZAPOJqxEZA1QE+/+QnuAT4Gb/auxC42qnnUE9VyjqrMK8/NN/qznY1zoqaoVgOPwbgd6yEWQIhITKQ++MwVnPR/jjKomi8g0oLWIfAXMAbrihVIbEdkMjMQ7gS4D7xlkD6pquojEAk/gnVi3E3g6cN3++sap6mv+9LV4V3wnAOvwrgK/HagPTBGRdOBhVR0hIsf7n9sS7+mvt6rqV/56GuGdxHcc3q1KtJD/WYoN++tinBGRenjB8qM/6zLgOqAi3pd+LN6tYJsCHYAzgGv8ttfi3Z2xA94dGnvn8Tl9gIeAy/Guf+oFbFXVy4A/8HtifvDUBaYCjwJV8S5XmCQi1f3VjQcWAdWAR/Aez2wKwHo+xoXJIpIG7MD7og8DpgFjVPVXABGpCZwFVPbP2N0jIs/ghdPLQF/g2ayT60RkOF6vKTfXACNUdaE/vSKP2voDn6rqp/70TBH5HjhbRL7E2008XVX34z0tdMqRb74BCx/jxnk5B3i9R8sTeJZuA7x7E2/0l4HXU89qUydH+7V5fF49YGWQtTUA+ohIz4B5JYEv/c/crqp7cnxuvSDXbQJY+JiiJPB0+3V496GudpgbY23k0C99/TzWuw5oEsRnZrV9S1WvzdlQRBoAVUSkfEAA1c9lHSYIFj6mSFLVjSIyA3haRO4HdgONgARV/Rp4F7hFRD7BO2R/Tx6rew0YKSLfAj/gBdFBVV0LbAIaB7QdBywUke7ALLxez/HAClVd6++CDRWRwUBnoCfe3QPNEbIBZ1OUXQ6UAn4DtgPvA7X9Za8CnwE/4QXKB4dbiaq+BzyGN1i8C+/Of1X9xcOBISKSIiJ3+mNI5wKDgc14PaFB/P1duQRIwrug80HgzcLY0OLILiw1xjhhPR9jjBMWPsYYJyx8jDFOWPgYY5yw8DHGOGHhY4xxwsLHGOOEhY8xxon/B3BcZQyMa258AAAAAElFTkSuQmCC\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "interpretation.plot_confusion_matrix()"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python [conda env:bio] *",
+   "language": "python",
+   "name": "conda-env-bio-py"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.6.8"
+  },
+  "notify_time": "30"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}