{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from fastai import *\n", "from fastai.vision import *\n", "from fastai.vision.models import efficientnet\n", "from fastai.utils.ipython import *\n", "from fastai.callbacks.tracker import SaveModelCallback\n", "from sklearn.model_selection import StratifiedKFold\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[PosixPath('../../../Dataset/Sipakmed Dataset/wsi_dataset/train'),\n", " PosixPath('../../../Dataset/Sipakmed Dataset/wsi_dataset/test')]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "path = Path(\".\")\n", "data_path = path / \"..\" / \"..\" / \"..\" / \"Dataset\" / \"Sipakmed Dataset\" / \"wsi_dataset\"\n", "data_path.ls()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LabelLists;\n", "\n", "Train: LabelList (966 items)\n", "x: ImageList\n", "Image (3, 1536, 2048),Image (3, 1536, 2048),Image (3, 1536, 2048),Image (3, 1536, 2048),Image (3, 1536, 2048)\n", "y: CategoryList\n", "normal_Superficial-Intermediate,normal_Superficial-Intermediate,normal_Superficial-Intermediate,normal_Superficial-Intermediate,normal_Superficial-Intermediate\n", "Path: ../../../Dataset/Sipakmed Dataset/wsi_dataset/train;\n", "\n", "Valid: LabelList (0 items)\n", "x: ImageList\n", "\n", "y: CategoryList\n", "\n", "Path: ../../../Dataset/Sipakmed Dataset/wsi_dataset/train;\n", "\n", "Test: None" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_init = (ImageList.from_folder(data_path / \"train\")\n", " .split_none()\n", " .label_from_folder())\n", "data_init" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "StratifiedKFold(n_splits=5, random_state=0, shuffle=True)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "skf = StratifiedKFold(n_splits=5, shuffle=True, random_state=0)\n", "skf" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "tfms = get_transforms(flip_vert=True, max_warp=0.0, max_rotate=60.0, max_zoom=1.0)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def model_callback(model, model_name):\n", " return [SaveModelCallback(model, every=\"improvement\", monitor=\"accuracy\", name=model_name)]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[ .new_type at 0x7f2989d1cc80>>,\n", " Precision(average='macro', pos_label=1, eps=1e-09),\n", " Recall(average='macro', pos_label=1, eps=1e-09),\n", " FBeta(average='macro', pos_label=1, eps=1e-09, beta=2),\n", " KappaScore(weights='quadratic')]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "our_metrics = [accuracy, Precision(average=\"macro\"), Recall(average=\"macro\"), FBeta(average=\"macro\"), KappaScore(weights=\"quadratic\")]\n", "our_metrics" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "idxs = [[train_idx, val_idx] for train_idx, val_idx in skf.split(data_init.x.items, data_init.y.items)]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "def get_fold_data(fold_idxs, img_size, bs=16):\n", " return (ImageList.from_folder(data_path / \"train\")\n", " .split_by_idxs(fold_idxs[0], fold_idxs[1])\n", " .label_from_folder()\n", " .transform(tfms, size=img_size)\n", " .databunch(bs=bs)\n", " .normalize(imagenet_stats))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fold-1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 224x224" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "with gpu_mem_restore_ctx():\n", " fold_data = get_fold_data(idxs[0], img_size=224, bs=16)\n", " fold_data" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loaded pretrained weights for efficientnet-b3\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner = Learner(fold_data, efficientnet.EfficientNetB3(fold_data), metrics=our_metrics).to_fp16()\n", " learner = learner.split([learner.model._conv_stem, learner.model._blocks, learner.model._conv_head])" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:14<00:29]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
01.568537#na#00:14

\n", "\n", "

\n", " \n", " \n", " 81.25% [39/48 00:12<00:02 5.4477]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
01.4902271.4598310.4587630.5101950.5289340.4858130.47269500:17
11.2612971.0716720.6958760.6925560.7480740.7271840.70209400:17
20.9352330.5172280.8556700.8522350.8769600.8684520.83385800:18
30.6528190.2376860.9278350.9426100.9333470.9343310.92522800:18
40.4571600.1840300.9484540.9537850.9583610.9566510.94697900:18
50.3427090.2110700.9329900.9338310.9459570.9420530.89887000:17
60.3165560.2482810.9329900.9387000.9463200.9442970.91998500:17
70.3081450.1799650.9432990.9527170.9444340.9455490.95962500:17
80.2626600.1977410.9484540.9577070.9529740.9530700.95684700:17
90.2865590.2615950.9226800.9462330.9225960.9250470.93043000:18
100.2159280.3204800.9536080.9637040.9613240.9606750.96556500:18
110.1846910.1165270.9793810.9820660.9829790.9824230.98206200:17
120.1737690.1455370.9639180.9682460.9665870.9667000.96536300:17
130.1825160.2239010.9329900.9398730.9474230.9453800.95658900:17
140.1527990.1625800.9536080.9596150.9626160.9616770.97034300:17
150.1161870.1475260.9742270.9769390.9787230.9778490.98071300:17
160.1016520.1409800.9587630.9636300.9647270.9643430.96409800:19
170.1048390.1257300.9587630.9639940.9674230.9666780.97164300:17
180.0719070.1117390.9639180.9659090.9703860.9691320.95088800:17
190.0787670.1187860.9690720.9724620.9724970.9723120.96231700:17
200.0576700.1135430.9742270.9755600.9758380.9757530.96853600:17
210.0435080.1485940.9587630.9629300.9641750.9638230.96420500:17
220.0601800.1159680.9639180.9675090.9678790.9677760.96554000:17
230.0565790.1029340.9639180.9675090.9678790.9677760.96554000:18
240.0464150.1029460.9690720.9719490.9755710.9747300.97917800:18
250.0327120.1065660.9690720.9719490.9755710.9747300.97917800:18
260.0325900.1132360.9690720.9719490.9755710.9747300.97917800:18
270.0411730.1098860.9690720.9719490.9755710.9747300.97917800:18
280.0373210.1097630.9690720.9719490.9755710.9747300.97917800:17
290.0310020.1109010.9690720.9719490.9755710.9747300.97917800:18
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.45876288414001465.\n", "Better model found at epoch 1 with accuracy value: 0.6958763003349304.\n", "Better model found at epoch 2 with accuracy value: 0.8556700944900513.\n", "Better model found at epoch 3 with accuracy value: 0.9278350472450256.\n", "Better model found at epoch 4 with accuracy value: 0.9484536051750183.\n", "Better model found at epoch 10 with accuracy value: 0.9536082744598389.\n", "Better model found at epoch 11 with accuracy value: 0.9793814420700073.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(2e-03), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold1-224-stage1\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold1-224-stage1\")" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:13<00:27]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.126280#na#00:13

\n", "\n", "

\n", " \n", " \n", " 27.08% [13/48 00:07<00:19 0.3117]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "learner.purge()\n", "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold1-224-stage1\")\n", " learner = to_fp16(learner)\n", " learner.unfreeze()\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.1148790.0905890.9793810.9820660.9829790.9824230.98206200:18
10.1050200.0840500.9742270.9773330.9792750.9786710.98057800:17
20.1120970.0818370.9742270.9773330.9792750.9786710.98057800:17
30.1353600.0814280.9793810.9808750.9835300.9828860.98208100:18
40.1069160.0806770.9793810.9808750.9835300.9828860.98208100:17
50.1180840.0800760.9793810.9808750.9835300.9828860.98208100:17
60.0994360.0816250.9742270.9773330.9792750.9786710.98057800:18
70.0961950.0827330.9793810.9808750.9835300.9828860.98208100:17
80.1071610.0807150.9742270.9764270.9792750.9785050.98065600:17
90.1085630.0792900.9742270.9764270.9792750.9785050.98065600:18
100.0996610.0780340.9742270.9764270.9792750.9785050.98065600:18
110.0955190.0796360.9742270.9764270.9792750.9785050.98065600:18
120.0988410.0814220.9742270.9764270.9792750.9785050.98065600:17
130.0968860.0798120.9742270.9764270.9792750.9785050.98065600:17
140.0837160.0809700.9690720.9728790.9750200.9742590.97915700:19
150.0992110.0794620.9742270.9764270.9792750.9785050.98065600:18
160.0955620.0818830.9690720.9728790.9750200.9742590.97915700:18
170.0810580.0825240.9690720.9728790.9750200.9742590.97915700:17
180.1114800.0836320.9690720.9728790.9750200.9742590.97915700:17
190.1075590.0828830.9690720.9728790.9750200.9742590.97915700:17
200.0988080.0826400.9690720.9728790.9750200.9742590.97915700:18
210.0763540.0822290.9690720.9728790.9750200.9742590.97915700:17
220.0884450.0815840.9690720.9728790.9750200.9742590.97915700:18
230.0812580.0831170.9690720.9728790.9750200.9742590.97915700:17
240.0772660.0830440.9690720.9728790.9750200.9742590.97915700:18
250.0664550.0828300.9690720.9728790.9750200.9742590.97915700:17
260.0838010.0814620.9690720.9728790.9750200.9742590.97915700:18
270.0757730.0823330.9690720.9728790.9750200.9742590.97915700:17
280.0743740.0816880.9690720.9728790.9750200.9742590.97915700:17
290.0883750.0812870.9690720.9728790.9750200.9742590.97915700:17
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9793814420700073.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(2e-05), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold1-224-stage2\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold1-224-stage2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 256x256" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "with gpu_mem_restore_ctx():\n", " fold_data = get_fold_data(idxs[0], img_size=256, bs=16)\n", " fold_data" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:11<00:22]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.111705#na#00:11

\n", "\n", "

\n", " \n", " \n", " 56.25% [27/48 00:09<00:07 0.2043]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEGCAYAAAB/+QKOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3dd3jUVdbA8e9J7wmQEEhoCRB6r9Js2AtYUJTd1VVRdtfuFsuuurq7r2Vta0fFrliwoCLYpfeOBAgJJSRAAqS3Sea+f8wkhjBJJpmZTMKcz/PMszO/eu4G58y9v1vEGINSSilVl5+3A1BKKdU6aYJQSinlkCYIpZRSDmmCUEop5ZAmCKWUUg4FeDsAd4mNjTU9evTwdhhKKdWmrFu3LtcYE+do30mTIHr06MHatWu9HYZSSrUpIrK3vn3axKSUUsohTRBKKaUc0gShlFLKIU0QSimlHNIEoZRSyiFNEEoppRzSBKGUUsohTRBKKdWGLdp2kA/W7PPItU+agXJKKeVLDhWUcf/nW1m07RDDu8UwbURX/PzErffQBKGUUm2I1Wp4d/U+Hvs6lYoqK389tw8zJya7PTmAJgillGozducU8bePN7N27zHG9+rAv6cOokdsuMfupwlCKaXagPLKKn732mqKKyr577QhXDY8ERH31xpq0wShlFJtwHur9nEgr5R3rh/DhN6xLXJP7cWklFKtXElFJc//mMbY5PaM79Whxe6rCUIppVq5N5bvIbeogr+c08fjzUq1aYJQSqlWLL/Uwss/p3NG346M6N6+Re+tCUIppVqx15akk19q4a6zU1r83poglFKqlTpSVM5rSzO4YFBnBiREt/j9NUEopZSXbc8uYP/RkhO2v/jTbkotVdxxVsvXHkC7uSqllFct3JrNn97bQJXVMKJ7O6YMTeCCQZ2xVBneWrmXS4Z1oVfHCK/EpglCKaU8YHdOET9sP8yklDj6dIp0eMx3vxzilvc3MKRLNGf2i+eLTVnc//k2/vnFL3SODsEYw+2Te7dw5L/SBKGUUm5SZqni663ZvL96P6szjgLw+KId3HFWCjdOSsa/1nxJP+04zB/fXU//zlG8cd1ookIC+dPpvUg9WMD8jVks2JLNzInJdG0f5q3iIMYYr93cnUaOHGnWrl3r7TCUUj6otKKKxxft4ON1+ykoq6RHhzCuHNWNM/t15Klvd/L11oMM6xbDE9OGkBwXwbK0XK57Yw094yJ4f+ZYosMCvRa7iKwzxox0uM+TCUJEzgWeAfyBV40xj9TZPwl4GhgMTDfGfFxnfxTwC/CZMebmhu6lCUIp5Q1llipmvrWWpWm5XDQ4gemju3JKcoeaAW3GGObbm47KK6u45pQevLliDz06hPPezLG0Dw/yavwNJQiPNTGJiD/wPHAWkAmsEZH5xphfah22D7gW+HM9l3kYWOypGJVSyhXllVXMemcdS9NyeeyywUwb2fWEY0SEKUMTGZvcgbvnbeblxen06hjBOzeM8XpyaIwnn0GMBtKMMekAIjIXmIKtRgCAMWaPfZ+17skiMgKIBxYCDrObUkp5S0WllT+9u56fduTwyKWDHCaH2uKjQphz7SiW7MplYGJ0q08O4NlxEInA/lqfM+3bGiUifsAT1F+zqD7uRhFZKyJrc3Jymh2oUko1haXKyi3vr+e77Yd5eOpApo/u5tR5IsKklLg2kRyg9Q6U+yOwwBiT2dBBxpjZxpiRxpiRcXFxLRSaUsqXVVkNt8/dyKJth3jgov78dmx3b4fkMZ5sYjoA1K5zdbFvc8YpwEQR+SMQAQSJSJEx5m43x6iUUk3yzbaDfLUlm7+d25ffj0/ydjge5ckEsQboLSJJ2BLDdOBqZ040xsyofi8i1wIjNTkopVqDeesP0DEymBsnJXs7FI/zWBOTMaYSuBlYBGwHPjTGbBORh0TkYgARGSUimcA04GUR2eapeJRSylVHiyv4acdhpgxNOG7Q28nKoyOpjTELgAV1tt1f6/0abE1PDV3jDeAND4SnlFJN8uXmLCqthkuGNfi1ddJorQ+plVKq1flk/QH6doqkf0KUt0NpEZoglFLKCek5RWzcn8clw5zqrX9S0AShlFJO+GzDAfwEpmqCUEopVc0Yw6cbDzC+VyzxUSHeDqfFaIJQSqlGrN17jP1HS32qeQk0QSilVKM+WX+A0EB/zhnQyduhtChNEEop1YAySxVfbc7i3IGdCA/2rTXWNEEopVQDfkw9TEFZpc81L4EmCKWUatAnG2xTa4zvFevtUFqcJgillKrHMR+bWqMuTRBKKVWPlelHsFQZzh/U2duheIUmCKWUqseBvFIAkmLDvRyJd2iCUEqpemTllREa6E90aKC3Q/EKTRBKKVWP7PxSOseEIOJ7zx9AE4RSStUrK7+MhOhQb4fhNZoglFKqHtl5pXSO9p25l+rSBKGUUg5UVFrJKSqnc4zWIJRSStVyqKAMYyBBaxBKKaVqy84vA9AahFJKqeNl59vGQCTGaA1CKaVULVl59hqE9mJSSilVW3Z+KVEhAT43xXdtmiCUUsqBrLwyEnz4+QNoglBKKYey8317DARoglBKtZA1e46SZZ/8ri3Izi/z6R5MoAlCKdUCcgrLmT57JRc9u5QtmfneDqdRZZYqjhZX+PQYCNAEoZRqAZ9vPECV1eDvJ0yfvYJlabneDqlBNWMgfLgHE2iCUErVI7/U4rZrfbwukyFdovnilgl0aRfG719fw5ebs9x2fXfLtjeFdfbhMRCgCUIp5cDWA/kMfegbFm7Ndvla27LyST1YyGUjuhAfFcKHN53CkK7R3PL+Bt5ascfl63tClr0G4cszuYImCKWUA+v2HsMYuP/zbRSUuVaTmLfuAIH+wkWDEwCIDgvk7evHcGbfeO7/fBuvLkl3R8huVV2D6KTPIJRS6nipBwsICfQjp6icJxbtaPZ1LFVWPt94gDP7xtMuPKhme0igPy/9Zjhn94/n0YWp/JJV4I6w3SYrv4wO4UGEBPp7OxSv0gShlDrB9uxChnVtx+/GduetlXvZtD+vWdf5eUcOR4oruGxElxP2Bfj78chlg4kODeKujzZRUWl1NWy3qV5JztdpglBKHcdqNew4WEjfzpHcdU4f4iKCuffTLVRWOf4C33GwEEs9++atz6RDeBCn9YlzuL99eBD/d+kgtmcX8NwPu9xWBldl55X5fA8m0AShlKpj39ESSi1V9OsURVRIIA9ePIBtWQW8sXzPcccdLihj1tvrOOfpxdzy3gaqrOa4/XklFXy//TAXD00g0L/+r5qz+sdz6fBEnv9pN5szm1dTcbes/FKfHwMBmiCUUnWkHrQ9D+jbORKA8wZ24vQ+cTz57U6y8koxxvDBmn1MfvJnfthxmPMHdWLhtoPc9+kWjPk1SXyxKYuKKiuXDT+xeamuBy4aQFxEMHd+uIkyS5VnCuakovJKCssqfX4UNWiCUErVsT27ED+B3h1tCUJEeGjKQKzG8Ld5m5nx6ir+Nm8L/TpHsej2SbwwYwQ3n96LuWv281itB9ofrz9A306RDEiIavSe0aGBPHr5YNIOF/HUtzs9VjZn1IyB0BoEvjuPrVLKodSDBfSIDSc06NcePF3bh3H75BQe+TqVyOAA/nPJIKaP6oqfnwBw19kpHC2p4MWfdtM+LIjT+3Zk0/487ju/HyLi1H1PTYnjqtHdmL0knbMHxDOie3uPlK8xB+wJwtdncgUP1yBE5FwR2SEiaSJyt4P9k0RkvYhUisjltbYPFZEVIrJNRDaLyJWejFMp9avUg4X063Tir/7rJyTx6GWD+PbOU7l6TLea5AC2WsbDUwZy/qBO/HvBdu76aBP+fsKUYQlNuvd9F/QjMSaUW9/fyLHiCpfL0hy/TrOhNQiPJQgR8QeeB84D+gNXiUj/OoftA64F3quzvQT4nTFmAHAu8LSIxHgqVqWUTVF5JXuPlNC3U+QJ+wL9/bhyVLd6B4/5+wlPXTmUCb1i2bQ/j0m9Y+kY2bQv2YjgAJ6/ejg5heXcOvfEB98tITuvFBGIj9IE4ckaxGggzRiTboypAOYCU2ofYIzZY4zZDFjrbN9pjNllf58FHAYc95NTSrnNjoOFAPTt3PhzA0eCA/x5+bcjmDGmG3ee1adZ1xjSNYaHpw5gya5cnvim+YP0misrv4yOkcEN9rzyFZ58BpEI7K/1ORMY09SLiMhoIAjY7WDfjcCNAN26dWtelEqpGjU9mBzUIJwVHhzAvy8Z5FIcV47qxsb9+bzw024Gd4nh3IGdXLpeU9gWCtLnD9DKezGJSGfgbeD3xpgTRuIYY2YbY0YaY0bGxWkFQylXpWYXEhEcQJd23v+CfPDi/gzpGsOfP9pE2uGiFrtvdl4ZCTqKGvBsgjgAdK31uYt9m1NEJAr4CrjPGLPSzbEppRxIPVhA306RTvc88qTgAH9enDGc4AA/bnp7LUXllR6/pzGGLK1B1PBkglgD9BaRJBEJAqYD85050X78p8BbxpiPPRijUsrOGENqdmHNALnWICEmlGevHsaeIyX8bd7m4wbieUJeiYUyi1W7uNp5LEEYYyqBm4FFwHbgQ2PMNhF5SEQuBhCRUSKSCUwDXhaRbfbTrwAmAdeKyEb7a6inYlVK2fr/F5ZX0tdBF1dvGtczljvPSuGrzdl8vrHhRYYe/vIXJj/5Mxv2HWvWvbLy7WMgtIsr4OGBcsaYBcCCOtvur/V+Dbamp7rnvQO848nYlFLHS8229WDq14pqENVmndqTH1IP84/PtzImub3DJqAP1+7ntaUZhAb6M+2lFdxxVgqzTu2Jv5/zzWXZefYxEFqDAFr5Q2qlVMup7sGUEt/6EoS/n/DkFUOoshr+8tFmrHXGR2w9kM/fP9vKuJ4dWH73GZw7sBOPL9rBb15dxUH7wDdnZGsN4jiaIJRSAGw/WEjX9qFEhgR6OxSHuncI574L+rE0LZd3Vu2t2Z5XUsGsd9bRITyI/101jHbhQTx71TAeu2wwG/fncd4zi/nul0NO3SMrv4xAfyE2IthTxWhTNEEopQBIzS5odc8f6rp6dDdOTYnjPwu2k55ThNVquG3uRg4XlPPCjOE1X+wiwhWjuvLlrRNIbBfKzLfX8s7KvY1c3TaKOj4q5LhpRHyZJgilFGWWKjJyi+nnwgC5liAiPHb5YIID/Lnzw008+e1Oft6ZwwMX92dYt3YnHN8zLoKPZ43jzL4d+ftnW3np5xPG2x4nK7+MBO3iWkMThFKKXYeKsJrmT7HRkuKjQvjX1IFs3J/Hcz+mcfmILlw9uv6ZFEIC/XnxNyO4aEgCj3ydyn8X7ai3u6wuNXo8ne5bKcV2N0yx0ZIuGpLAivQj7D5cxL+mDmx0YF+gvx9PXzmU8CB/nvsxjaLySu6/sP9xTUlWq+Fgvi41WpsmCKUUqdmFhAb6071DuLdDcdp/mjjfk7+f8H+XDiIiOIBXl2ZwpLiC2yf3pmdcBAC5xeVYqoxOs1GLJgilFKkHC0jpFNmkMQNtkYhw3wX9iAoN5OnvdvLFpiwGd4lm6tBEuncIA9AaRC2aIJTyccYYtmcXcM6Alpsx1ZtEhFvP7M2Vo7ryxaYsPtt4gIe+/KVmvy4U9CtNEEr5uJzCco6VWNrM8wd3iY8K4YaJydwwMZm0w4V8tiGLjCPF9I6P8HZorYYmCKV8WOaxEp78ZicAfVr5GAhP6tUxkj+f07wFjk5mmiCU8kF7jxTzwo+7mbc+ExH43SndGZ3U3tthqVZGE4RSPqSovJL7P9/K5xuz8PcTZozpxk2n9tTprZVDmiCU8iEfrd3PJ+sPcN34JGadmkzHKH0gq+qnCUIpH5J2uIiokAD+cWG/VrFqnGrddKoNpXxIRm4xyXERmhyUUzRBKOVD0nOKSY5rO6OllXdpglDKRxSXV3KwoIzkWE0QyjmaIJTyERm5xQAkx+lAMOUcTRBK+Yj0mgShNQjlHE0QSvmI9JwiRKBHG5qxVXmXUwlCRMJFxM/+PkVELhaR1rlwrVLKoYzcYhKiQwkJ9Pd2KKqNcLYGsRgIEZFE4Bvgt8AbngpKKeV+2oNJNZWzCUKMMSXApcALxphpwADPhaWUcidjDOk5RTWL4yjlDKcThIicAswAvrJv03qqUm1ETmE5xRVVJGkXV9UEziaI24F7gE+NMdtEJBn40XNhKaXcaXeO9mBSTefUXEzGmJ+BnwHsD6tzjTG3ejIwpZT7pOcWAToGQjWNs72Y3hORKBEJB7YCv4jIXzwbmlLKXTJyigkJ9KOzzt6qmsDZJqb+xpgCYCrwNZCErSeTUqoNSM8tpkeHcPz8dJI+5TxnE0SgfdzDVGC+McYCGM+FpZRyJ+3BpJrD2QTxMrAHCAcWi0h3oMBTQSml3Kei0sr+Y6Xag0k1mbMPqf8H/K/Wpr0icrpnQlJKudO+oyVUWY32YFJN5uxD6mgReVJE1tpfT2CrTSilWrn0HO3BpJrH2SamOUAhcIX9VQC87qmglFLuUz3NtzYxqaZydk3qnsaYy2p9/qeIbPREQEop90rPKSY2IojoUJ1fUzWNszWIUhGZUP1BRMYDpZ4JSSnlTum5RSTHavOSajpnaxCzgLdEJNr++RhwjWdCUkq5U0ZuMZP7xXs7DNUGOVWDMMZsMsYMAQYDg40xw4AzGjtPRM4VkR0ikiYidzvYP0lE1otIpYhcXmffNSKyy/7SZKRUM+SXWsgtqtDnD6pZmrSinDGmwD6iGuDOho4VEX/geeA8oD9wlYj0r3PYPuBa4L0657YHHgDGAKOBB0SkXVNiVUppDyblGleWHG1szP5oIM0Yk26MqQDmAlNqH2CM2WOM2QxY65x7DvCtMeaoMeYY8C1wrguxqpNAUXkle+w9cpRz0nUWV+UCVxJEY1NtJAL7a33OtG9zhlPnisiN1WMzcnJynLy0aqseW5jKOU8vZrf9V7FqXEZuMf5+Qtd2Yd4ORbVBDSYIESkUkQIHr0IgoYVirJcxZrYxZqQxZmRcXJy3w1EeZIzhh9TDlFdauXveZqxWnQrMGem5RXRrH0ZQgCu/BZWvavBfjTEm0hgT5eAVaYxprAfUAaBrrc9d7Nuc4cq56iS050gJmcdKGZ3UnjV7jvH2yr3eDqlNSM8pJlkfUKtm8uTPijVAbxFJEpEgYDow38lzFwFni0g7+8Pps+3blI9assvWhPjYZYOZlBLHowtT2X+0xMtRtW5WqyEjt1h7MKlm81iCMMZUAjdj+2LfDnxoX670IRG5GEBERolIJjANeFlEttnPPQo8jC3JrAEesm9TPmrxzhy6tQ+jR2w4/7lkIALc++kWjNGmpvpk5ZdSXmnVHkyq2ZwdKNcsxpgFwII62+6v9X4NtuYjR+fOwTYHlPJxFZVWVuw+wiXDbf0UurQL4+7z+vKPz7fx0dpMrhjVtZEr+CbtwaRcpU+uVKu3ft8xiiuqmNj7144IM8Z0Z3RSex7+6hcOFZR5MbrWq3qSPn0GoZpLE4Rq9ZbsysHfTzilZ4eabX5+wqOXDaai0sqt729g7up9/LTjMDsOFpJfatGmJ2DX4UIiQwKIiwz2diiqjfJoE5NS7rBkVy7Du8UQFXL8bKRJseH848L+PDB/G6syjn9E1Tk6hDd+P5o+nSJbMtRWZeehIlLiIxHRdahV82iCUK3a0eIKthzI547JKQ73/2Zsd64c1ZXDheUczC8lO7+M7LwyXlmSzu/mrOLjWePo2t73BokZY9h1qJBzB3bydiiqDdMEoVq1pWm5GAMTe8fWe0ygvx+JMaEkxoTWbJuUEse0l5bz29dW8fEfxhEb4VvNLEeKKzhWYqF3R9+tQSnX6TMIVWPtnqNYqupOi+Vdi3fmEB0ayOAuMU06r0+nSF7//SgOFpRxzZzVFJZZPBRh67TzUCEAveO1i6tqPk0QCoDMYyVc/tIKnv0hzduh1DDGsGRXDhN6xeLv1/R29BHd2/PijBHsOFjIzLfWUmap8kCUrdOuQ7b5qlLitQahmk8ThAIgp7AcgDlLM8grqfByNDa7DhdxqKC8wealxpzetyP/nTaElelHuW3uBqp8ZA6nnYcKiQoJoKP2YFIu0AShAMgrtTXBFJVX8sqSdC9HY7N4p216jYkprk3EOHVYIvdf2J9F2w7x7A+73BFaq7frsPZgUq7TBKEAKLAniEGJ0by+bA9Hisq9HBEs3pVLz7jw4x4+N9fvx/fg0mGJPPP9LpbvznVDdK1XdQ8mff6gXKUJQgGQV2JLEP+4sD9llipmL/ZuLaLMUsWq9CPHjZ52hYjw8NSBJMeGc9vcjTVNaiej3CLtwaTcQxOEAmxrFwMM7xbDlKGJvLlij1e/RNfsOUp5pZVTXWxeqi08OIDnZwynoNTCHR9sPGmfR+yy92DSB9TKVZogFGCrQUQEBxDg78etZ/bGUmV48afdXovnpx05BPn7MSa5vVuv27dTFA9ePIClabm88GPr6bHlTrsOV/dg0iYm5RpNEAqAvNIKokNtU1kkxYZz6bBE3lm194SJ8ArLLHy24QBbMvM9FktJRSXz1mdyWp84woLcP5Zz+qiuXDwkgae+28nK9CONHm+MYdP+vFY3RqQ+1T2YdA4m5SpNEAqwPaSuThAAt57ZG6vV8Lz9V/YvWQXc++kWxv7ne27/YCMXPbeUK15awcKtB93eVDNvXSZ5JRZmTkp263WriQj/uXQQ3TuEc9vcDRzIK23w+Ge+38WU55fxwPxtHonH3XbpHEzKTTRBKMDWxBQT9muC6No+jGkjuzJ39X4ueWEZ5/9vCfPWZXL+oM58eNMp/P2CfmTllzLrnXWc/t+fmLM0g+LySpfjsFoNry3NYEiXaEZ2b+fy9eoTERzA81cPp6S8iktfWMb27AKHxz33wy6e/m4X3dqH8d6qffyQeshjMbmDMYadhwvprc8flBtoglCAbRxE7QQBcPMZvQj0F/JLLdx/YX9W3zuZx6cNYXRSe26YmMxPfz6NF2cMp2NkMA99+QsXP7eU3TlFLsXx3fZD7DlSwg0Tkz3+C7h/QhQfzjoFQbjipRUsTzu+++tLP+/mv9/s5NJhiXxzxyT6dorkrx9vaRVdgOuTU1ROXolFnz8ot9AEoQBbL6baTUwAiTGhrPn7ZL6/81Sum5BEdJ0EEuDvx3mDOvPxH8bxzvVjOFZiYepzy/gx9XCz43h1aQaJMaGc10KzkPbrHMUnfxxH55gQrnl9NZ9vPGCLY0k6j3ydysVDEnh82hBCAv15evpQCkot3PNJ613qNM0+xYZ2cVXuoAlCYYwhv8RCdGjQCfvCggKc+iU/oXcs828eT9f2YVz35hqe/zGtyV+imzPzWJ1xlN+P70GAf8v900yICeWjWeMY0b0dt83dyE1vr+VfX23ngkGdefKKITXzQPXtFMWfz0nhm18O8fG6zBaLryl21nRx1RqEcp0mCEWZxUpFlfWEGkRTdWkXxrw/jOPCwQk8vmgHN7+3gZIK559LvLIkg8jgAK70whrT0aGBvHndaC4aksCibYc4Z0A8T08fekKiun5CMmOS2vPPL35h/9GSFo+zMTsPFxEdGqg9mJRbaIJQ5JXaJuer+wyiOUKD/Pnf9KHcc15fvt6azU1vr8PqRC+nA3mlLNiSzfTRXYkMcT2O5ggO8OeZK4fywY1jee7q4QQ6qMX4+wlPXDEEgLs+3NTqBtvtOlRISnyE9mBSbqEJQtVMsxHjYg2imohw06k9eWjKQJbsyuX15XsaPeeNZRkAXDs+yS0xNJefnzAmuYPD5FCtS7sw/nnxAFbvOdqqBtsZY9h5qIhe+vxBuYkmCFUzzYarTUx1zRjTjcn94nl0YSqpBx13IwXb4Lu5q/dz/qDObpmYryVcOjyRqUMTePK7nfxsn3XW23KKyskv1R5Myn00QaiaGkTdXkquEhEevWwQUSGB3Pb+xnoX7HlrxV4KyyuZOdG7tYemqB5s1yc+ktvmbmgVzyN0kSDlbpogFPk1zyBO7MXkqg4RwTw+bTA7DhXy2MIdx+0rraji759t4fFFOzg1Ja7Jy4p6W1hQAC/9ZgRVVsMf3l3n8RXrjDEs3ZXLtJeWc+GzS05YRlWXGVXupglCeayJqdrpfTpyzSndmbMso2YRoM2ZeVzwvyW8s3IfN05KZvbvRnjk3p7WIzacp68cytYDBfzjs60eGR9hjGF5Wi5XvLyC37y2iv1HS9meXchfPtp83P12VfdgitAeTMo9NEEo8kosBPgJ4UH+HrvHPef3o3fHCO76aBNPfrODS19YTklFFe/dMIZ7z+9HcIDn7u1pZ/aL59YzevHRukzeX73frdfenl3AlbNXcvWrq9h3tISHpwzg57+exj3n9WXhtoO89POv63ZoDyblbu6fKlO1OdWjqD35xVI9Ennq88v43w9pXDi4M/+eOsjtzz285bbJKWzKzOfB+dvYf6yE9mFBRIcGEhUaQFRoIMO6tiO0iQnYajX86b315JdYePCi/kwf3Y2QQNs1rp+QxMb9eTy+KJXBXaIZ17MDOw8VccHgzp4onvJRmiAUeaWWFvmiHpAQzcu/HUFFpZVzBnQ6qX7p+vsJz0wfyu/mrOaln3dTt6UpJT6Ct68fQ3xUiNPX/CH1MOk5xTwzfShThiYet8/WAWAwOw8Vcsv7G3jtmpG2Hkwd9fmDch9NEIr8EovbxkA05oy+8S1yH2+ICQti/s0TsFoNRRWVFJRayC+1kHa4iHs/2cLlLy3nnevH0L1DuFPXm704ncSYUC4Y5LhWEB5se0g+5bllXP/mWgCdxVW5lT6DUA4n6lPN5+cnRIUE0qVdGAMSopkyNJF3Z46lsKySy19awY6DhY1eY8O+Y6zec5TrJiQ1OC9VclwET1wxhKPFtp5o2oNJuZMmCEVeaYVHuriqXw3tGsOHN52Cn8AVL69gw75jDR4/e3E6USEBTHdiXqqzB3Tiz2enMKxbjPZgUm6lCUKRV6I1iJaQEh/Jx7PGERMWyIxXV7GszvoT1fYeKWbhtoP8Zmx3woOdawW++YzefPrH8SfVcx3lfZogfFyV1VBYVqkJooV0bR/GRzedQtd2YVz3xhqW7z4xSby6JINAPz+uHdej5QNUqhZNED6uwD5Izh0zuWaH1pwAABJ6SURBVCrndIwK4b2ZY+jeIYzr31jL6oyjNfuOFlfw0br9TB2WQMcm9HhSyhM0Qfg4T4+iVo51iAjm3RvGkhATwu9fX826vbYk8daKPZRZrMycmOzdAJVCE4TPy9MahNfERQbz/syxdIwK4do5a1iVfoS3VuzljL4dtbuqahU8miBE5FwR2SEiaSJyt4P9wSLygX3/KhHpYd8eKCJvisgWEdkuIvd4Mk5flldi6x7paLlR5XnVzU3twoO46pWVHC2u4MZJWntQrYPHEoSI+APPA+cB/YGrRKR/ncOuB44ZY3oBTwGP2rdPA4KNMYOAEcBN1clDuZc2MXlf5+hQ3r9xLAkxoYzs3o4xSe29HZJSgGdHUo8G0owx6QAiMheYAvxS65gpwIP29x8Dz4mtn54BwkUkAAgFKoD6V5xRzZavTUytQmJMKN/fdSpWK9pVVbUanmxiSgRqT22Zad/m8BhjTCWQD3TAliyKgWxgH/BfY8zROuciIjeKyFoRWZuT0zpW9WprahYL0hqE1wUH+Dd5Qj+lPKm1PqQeDVQBCUAScJeInNAwa4yZbYwZaYwZGRcX19IxnhTySy2EB/k3uAazUso3efJb4QBQe56ALvZtDo+xNydFA0eAq4GFxhiLMeYwsAwY6cFYfVZeiUWn2VBKOeTJBLEG6C0iSSISBEwH5tc5Zj5wjf395cAPxrZE1j7gDAARCQfGAqkejNVn5ZdWEKXNS0opBzyWIOzPFG4GFgHbgQ+NMdtE5CERudh+2GtABxFJA+4EqrvCPg9EiMg2bInmdWPMZk/F6svyS1tuqm+lVNvi0fUgjDELgAV1tt1f630Zti6tdc8rcrRduV9eiYWecTpFtFLqRPpk0sfll1q0i6tSyiFNEC6684ONPPfDLm+H0SzGmBZbblQp1fbokqMusFoNX27JxhjDhYMT6BHr3FKSrUWZxUpFpVXHQCilHNIahAuy8kupqLRiqTI8tqjtdbKqGUWt8zAppRzQBOGCjNxiACb0imXBloM1Uza3FXmlton69BmEUsoRTRAuSM+xJYh/TR1IfFQw//pqO7ZhHG2DTrOhlGqIJggXZOQWEx7kT/cOYdx1dh827MtjwZaDTp1bZqli6a5cNu7P83CU9dOZXJVSDdGH1C5Izy0mKS4cEeGy4V2YszSDRxemMrl/R4IDjp90zRhD6sFCluzKYcmuXFZnHKW80kpYkD8//eU0Oka2/PKS+VqDUEo1QGsQLsjILSIp1jbIzN9PuO+Cfuw7WsLbK/bWHFNcXslbK/ZwxhM/c94zS/jPglQO5pcxY0x3npg2hIpKK09/551usjrVt1KqIVqDaKbyyioyj5VyybAuNdsm9o7j1JQ4nv0hjfG9Yvls4wHeX7WPgrJKhnSN4dHLBjEpJY7O0aE152zOzOOdVfu4bnwPenVs2WUm80or8PcTIoL1n4FS6kRag2imfUdKMAaS64x9uPf8fhSWWTjvmSW8sjidCb1jmfeHcXz+p/FcOarbcckB4NYzexMW6M8jX7d8N9m8EgvRoYG6QI1SyiH96dhM6fYurslxxyeIPp0i+fsF/TlUUMZvxnana/uwBq/TISKYWaf15PFFO1iZfoSxyR08FnNdOlGfUqohWoNopuoxEI5GT183IYl7zu/XaHKodv2EJDpHh/CfBduxWluum2x+qUWn+lZK1UsTRDNl5BQTGxFMVIjrX7Ahgf7cdXYfNmfm8+WWbDdE5xzbYkGaIJRSjmmCaKaM3OITnj+44pJhifTrHMVjC1Mpr6xy23Ubok1MSqmGaIJopvTcYpLcmCD8/YR7z+9L5rHS47rJelJeSYWOgVBK1UsTRDMUlFnILSonKc69s7dO7B3HJHs32cIyi1uvXVeV1VBYXkm0rketlKqHJohmyLDPweTOGkS1v5zdh/xSC68v2+P2a9dWWGbBGLSJSSlVL00QzVDdg8mdzyCqDeoSzVn943llSXrNSGdP0In6lFKN0QTRDOm5xfgJdOvgXDfWprp9cm8KyyqZszTDI9cHnWZDKdU4TRDNkJFbTJd2YSdMyOcuAxKiOW9gJ+YszSCvpMIj98jTmVyVUo3w+QRhjOHnnTk1M5s6wzZJn2eXF71tcm8Kyyt5dYlnahHViUdrEEqp+vh8gsjILeaaOauZvWS3U8cbY8jIcW8XV0f6dorigsGdeX1ZBkeL3V+LKKipQWgvJqWUYz6fIJLjIrhwcGdeX7aH3KLyRo/PKSynuKLqhDmYPOH2M3tTYqnilSXpbr+2PqRWSjXG5xMEwB1npVBmqeLFnxqvRVRP0ufpGgRA7/hILh6SwJvLnUteTZFfaiEsyJ+gAP0noJRyTL8dgJ5xEVw2vAtvr9xLdn5pg8dmtGCCANt04GWWKmYvbrwWsf9oCU99u5MyS+NTdeSVWrT2oJRqkCYIu1vP7I0xhmd/SGvwuIzcYoIC/Eios66Dp/SMi2Dq0ETeWL6HzZn1r19dWlHFzLfW8sz3u3jm+8ZXqKteC0IppeqjCcKua/swpo/qxodr9rPvSEm9x6XnFJHUIRw/v5ZbZOfeC/rRMTKYG95c67CGY4zh3k+3sONQISO6t2P24nS2ZeU3eM2CUp3JVSnVME0Qtdx8Ri/8/YSnv99Z7zHpucUt8oC6ttiIYF67ZhQlFVXc8OZaSioqj9v/9sq9fLrhAHdOTuG1a0bSLiyIu+dtobLKWu8180p1oj6lVMM0QdQSHxXC707pzmcbDpB2uPCE/ZVVVvYdKWmx5w+19ekUybNXDWN7dgF3fLCxZmGhdXuP8tAXv3Bm34786fRexIQF8c+LB7DlQH6D8znllViI0S6uSqkGaIKoY9apPQkN9Oepb09sx888Vkql1XglQQCc3rcj913Qn0XbDvH4NzvIKSznj++uJ7FdKE9eObSm2ev8QZ2Y3C+eJ77dUW9zWb42MSmlGqEJoo4OEcFcNyGJr7Zks2HfseP2ZdSzDnVLum58D64a3Y0Xf9rN5S8tJ7/UwoszRhzXXCQiPDx1AAF+ftz76RaMOX4Z0zJLFeWVVl1uVCnVIE0QDtwwMZm4yGCufmUVH6zZV/MF++sYiAivxSYiPDRlAON6dmDvkRL+79JB9E+IOuG4ztGh/O3cPixNy+WT9QeO26cT9SmlnBHg7QBao+jQQL64eQJ3friRv83bws87c/i/SwaTkVtEdGgg7bz8xRro78er14xke3YBI7q3r/e4GWO689nGLB78Yhtfbz1IgJ/g7y+UVdjGSehDaqVUQzRB1KNTdAjvXD+G2UvS+e+iHWzYt5iQQH+SYsMRabkurvUJCwpoMDkA+PkJj18+mL9/tpWsvFKqrIZKqxWrgZT4CAYlRrdQtEqptkgTRAP8/IRZp/ZkXM8O3Pr+BjJyi7l0WKK3w2qS5LgI3ps51tthKKXaIE0QThjcJYavbp3I7MXpnNG3o7fDUUqpFqEJwknhwQHccVaKt8NQSqkW49FeTCJyrojsEJE0Ebnbwf5gEfnAvn+ViPSotW+wiKwQkW0iskVEQjwZq1JKqeN5LEGIiD/wPHAe0B+4SkT61znseuCYMaYX8BTwqP3cAOAdYJYxZgBwGuD8km9KKaVc5skaxGggzRiTboypAOYCU+ocMwV40/7+Y+BMsXUROhvYbIzZBGCMOWKMaXwOa6WUUm7jyQSRCOyv9TnTvs3hMcaYSiAf6ACkAEZEFonIehH5q6MbiMiNIrJWRNbm5OS4vQBKKeXLWutI6gBgAjDD/r+XiMiZdQ8yxsw2xow0xoyMi4tr6RiVUuqk5skEcQDoWutzF/s2h8fYnztEA0ew1TYWG2NyjTElwAJguAdjVUopVYcnE8QaoLeIJIlIEDAdmF/nmPnANfb3lwM/GNvER4uAQSISZk8cpwK/eDBWpZRSdXhsHIQxplJEbsb2Ze8PzDHGbBORh4C1xpj5wGvA2yKSBhzFlkQwxhwTkSexJRkDLDDGfOWpWJVSSp1I6k4F3VaJSA6w1/4xGtsD77ocbW9sW33vY4FcF0JuLAZXjnel/A19bg3l17I3fb+z2+srb93PJ0P5fflvX3dbd2OM44e4xpiT7gXMdnZ7Y9saeL/W0/E293hXyt/Q59ZQfi27e8relPKejOX35b99U+7bWnsxueqLJmxvbFt9792pqddt7HhXyt/Q59ZQfi170/c7u72h8p5s5fflv73T9z1pmphamoisNcaM9HYc3uLL5fflsoNvl9/Xyn6y1iBawmxvB+Blvlx+Xy47+Hb5farsWoNQSinlkNYglFJKOaQJQimllEOaIAARmSMih0VkazPOHWFfryJNRP4ntRasFpFbRCTVvqbFY+6N2n08UX4ReVBEDojIRvvrfPdH7jpP/e3t++8SESMise6L2H089Hd/WEQ22//m34hIgvsjdw8Plf9x+3/zm0XkUxGJcX/kLUcThM0bwLnNPPdFYCbQ2/46F0BETsc2nfkQY1vT4r+uh+kxb+Dm8ts9ZYwZan8tcC1Ej3kDD5RdRLpim7Z+n4vxedIbuL/sjxtjBhtjhgJfAve7GqQHvYH7y/8tMNAYMxjYCdzjYoxepQkCMMYsxjbVRw0R6SkiC0VknYgsEZG+dc8Tkc5AlDFmpbE97X8LmGrf/QfgEWNMuf0ehz1biubzUPnbBA+W/Sngr9imimmVPFF2Y0xBrUPD8b3yf2NsSxcArMQ2SWmbpQmifrOBW4wxI4A/Ay84OCYR28yz1WqveZECTBTbUqo/i8goj0brfq6WH+Bme1V7joi081yobudS2UVkCnDA2Be8amNc/ruLyL9FZD+26fpbcw3CEXf8u692HfC12yNsQR6brK8tE5EIYBzwUa1m5eAmXiYAaA+MBUYBH4pIsmkD/YrdVP4XgYex/YJ8GHgC238wrZqrZReRMOBebM1LbYqb/u4YY+4D7hORe4CbgQfcFqQHuav89mvdB1QC77onOu/QBOGYH5Bnb0etIbZ1ttfZP87H9iVYuwpZe82LTOATe0JYLSJWbBN9tYWl71wuvzHmUK3zXsHWHt0WuFr2nkASsMn+JdMFWC8io40xBz0cu6vc8e++tnexreXSJhIEbiq/iFwLXAic2RZ+EDbIXRNPtfUX0APYWuvzcmCa/b1ge9js6LzV2GoJgq06eb59+yzgIfv7FGxLq4q3y9mC5e9c65g7gLneLmNLlb3OMXuAWG+XsQX/7r1rHXML8LG3y9jC5T8X29o1cd4um1v+//F2AK3hBbwPZAMWbL/8r8f2K3AhsMn+B7+/nnNHAluB3cBz1UkACALese9bD5zh7XK2cPnfBrYAm7H96urcUuXxdtnrHNNqE4SH/u7z7Ns3Y5sULtHb5Wzh8qdh+zG40f56ydvldOWlU20opZRySHsxKaWUckgThFJKKYc0QSillHJIE4RSSimHNEEopZRySBOEOqmJSFEL32+5m65zmojk22dFTRWRRid7FJGpItLfHfdXCjRBKNUkItLg7APGmHFuvN0SYxvVOwy4UETGN3L8VEAThHIbTRDK59Q3Y6eIXGSfXHGDiHwnIvH27Q+KyNsisgx42/55joj8JCLpInJrrWsX2f/3NPv+j+01gHdrrRlwvn3bOvtaAg1OQ2KMKcU26Kp6MsCZIrJGRDaJyDwRCRORccDFwOP2WkdPZ2YmVaohmiCUL6pvxs6lwFhjzDBgLrbpuqv1ByYbY66yf+4LnAOMBh4QkUAH9xkG3G4/NxkYLyIhwMvAefb7xzUWrH0m3N7AYvumT4wxo4wxQ4DtwPXGmOXYRqz/xdjW39jdQDmVcopO1qd8SiMzdnYBPrDP9x8EZNQ6db79l3y1r4xtrY9yETkMxHP8FNAAq40xmfb7bsQ2708RkG6Mqb72+8CN9YQ7UUQ2YUsOT5tfJ/sbKCL/AmKACGBRE8uplFM0QShf43DGTrtngSeNMfNF5DTgwVr7iuscW17rfRWO/1ty5piGLDHGXCgiScBKEfnQGLMR20poU40xm+wzh57m4NyGyqmUU7SJSfkUY1vxLENEpgGIzRD77mh+nbb5Gg+FsANIFpEe9s9XNnaCvbbxCPA3+6ZIINverDWj1qGF9n2NlVMpp2iCUCe7MBHJrPW6E9uX6vX25ptt2NYOB1uN4SMRWQfkeiIYezPVH4GF9vsUAvlOnPoSMMmeWP4BrAKWAam1jpkL/MX+kL0n9ZdTKafobK5KtTARiTDGFNl7NT0P7DLGPOXtuJSqS2sQSrW8mfaH1tuwNWu97OV4lHJIaxBKKaUc0hqEUkophzRBKKWUckgThFJKKYc0QSillHJIE4RSSimH/h/Crza/NVItTQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold1-224-stage2\")\n", " learner = to_fp16(learner)\n", " learner.data = fold_data\n", " learner.freeze()\n", " learner = to_fp16(learner)\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.1260770.1436870.9639180.9657140.9718680.9704080.97333300:16
10.1252680.1359610.9639180.9649300.9718680.9702250.97343900:15
20.1429210.1306620.9536080.9561780.9639090.9620320.97060500:16
30.1239990.1294270.9587630.9606310.9681640.9664130.97197800:16
40.0980740.1279460.9587630.9606310.9681640.9664130.97197800:16
50.0852460.1274570.9587630.9606310.9681640.9664130.97197800:16
60.1051250.1283580.9587630.9606310.9681640.9664130.97197800:17
70.1231630.1285050.9587630.9606310.9681640.9664130.97197800:15
80.0935920.1277190.9587630.9606310.9681640.9664130.97197800:16
90.1064460.1261490.9587630.9606310.9681640.9664130.97197800:15
100.1048750.1252840.9587630.9606310.9681640.9664130.97197800:16
110.1196910.1236480.9587630.9606310.9681640.9664130.97197800:16
120.1094670.1236110.9587630.9606310.9681640.9664130.97197800:17
130.1274930.1248960.9587630.9606310.9681640.9664130.97197800:16
140.1105760.1258330.9587630.9606310.9681640.9664130.97197800:16
150.1181260.1246760.9587630.9606310.9681640.9664130.97197800:16
160.1040710.1255510.9587630.9606310.9681640.9664130.97197800:16
170.1166270.1257160.9587630.9606310.9681640.9664130.97197800:16
180.1203180.1257160.9536080.9561780.9639090.9620320.97060500:16
190.0940560.1273080.9587630.9606310.9681640.9664130.97197800:15
200.0929970.1267150.9587630.9606310.9681640.9664130.97197800:16
210.1205430.1269030.9587630.9606310.9681640.9664130.97197800:16
220.1285310.1269200.9587630.9606310.9681640.9664130.97197800:16
230.1138490.1271800.9587630.9606310.9681640.9664130.97197800:16
240.1141200.1288640.9587630.9606310.9681640.9664130.97197800:16
250.1200710.1279000.9587630.9606310.9681640.9664130.97197800:16
260.1265430.1274190.9587630.9606310.9681640.9664130.97197800:16
270.1192670.1270120.9587630.9606310.9681640.9664130.97197800:16
280.1058360.1262860.9536080.9561780.9639090.9620320.97060500:17
290.1113130.1243860.9587630.9606310.9681640.9664130.97197800:16
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9639175534248352.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(6.5e-07), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold1-256-stage1\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold1-256-stage1\")" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:13<00:27]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.164138#na#00:13

\n", "\n", "

\n", " \n", " \n", " 29.17% [14/48 00:07<00:17 0.3288]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold1-256-stage1\")\n", " learner = to_fp16(learner)\n", " learner.unfreeze()\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.1724330.1342410.9639180.9649300.9718680.9702250.97343900:19
10.1188660.1301750.9639180.9649300.9718680.9702250.97343900:20
20.1417790.1268890.9587630.9606310.9681640.9664130.97197800:19
30.1323670.1275520.9587630.9606310.9681640.9664130.97197800:19
40.1103490.1274140.9587630.9606310.9681640.9664130.97197800:19
50.1160750.1275510.9587630.9606310.9681640.9664130.97197800:18
60.1225530.1265190.9587630.9606310.9681640.9664130.97197800:18
70.1255420.1255160.9536080.9561780.9639090.9620320.97060500:19
80.1167210.1255330.9536080.9561780.9639090.9620320.97060500:19
90.0973570.1246830.9536080.9561780.9639090.9620320.97060500:19
100.0996340.1236080.9536080.9561780.9639090.9620320.97060500:20
110.1083310.1231610.9536080.9561780.9639090.9620320.97060500:19
120.1128510.1209210.9536080.9561780.9639090.9620320.97060500:20
130.1156380.1212060.9536080.9561780.9639090.9620320.97060500:19
140.1127420.1215540.9536080.9561780.9639090.9620320.97060500:19
150.1132670.1224700.9536080.9561780.9639090.9620320.97060500:19
160.1051300.1208600.9536080.9561780.9639090.9620320.97060500:18
170.1147210.1211040.9536080.9561780.9639090.9620320.97060500:19
180.1076700.1220710.9536080.9561780.9639090.9620320.97060500:19
190.0953210.1217870.9536080.9561780.9639090.9620320.97060500:19
200.1146110.1219150.9536080.9561780.9639090.9620320.97060500:19
210.1122190.1204260.9536080.9561780.9639090.9620320.97060500:18
220.0836060.1205890.9536080.9561780.9639090.9620320.97060500:19
230.1006250.1220700.9536080.9561780.9639090.9620320.97060500:19
240.0938870.1221150.9536080.9561780.9639090.9620320.97060500:18
250.0962460.1220100.9536080.9561780.9639090.9620320.97060500:19
260.1005010.1222760.9536080.9561780.9639090.9620320.97060500:18
270.1059060.1218160.9536080.9561780.9639090.9620320.97060500:18
280.1136980.1222290.9536080.9561780.9639090.9620320.97060500:18
290.1194130.1215020.9536080.9561780.9639090.9620320.97060500:19
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9639175534248352.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(5.5e-06), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold1-256-stage2\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold1-256-stage2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fold2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 224x224" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "with gpu_mem_restore_ctx():\n", " fold_data = get_fold_data(idxs[1], img_size=224, bs=16)\n", " fold_data" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:11<00:22]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.124285#na#00:11

\n", "\n", "

\n", " \n", " \n", " 60.42% [29/48 00:09<00:06 0.4332]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold1-256-stage2\")\n", " learner = to_fp16(learner)\n", " learner.data = fold_data\n", " learner.freeze()\n", " learner = to_fp16(learner)\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.1258830.0273690.9844560.9873920.9884260.9881460.99540300:16
10.1239850.0277590.9844560.9873920.9884260.9881460.99540300:16
20.1219930.0283090.9844560.9873920.9884260.9881460.99540300:16
30.1085460.0283630.9844560.9873920.9884260.9881460.99540300:16
40.1402050.0265920.9844560.9873920.9884260.9881460.99540300:16
50.1410170.0260010.9844560.9873920.9884260.9881460.99540300:15
60.1265540.0253850.9896370.9913890.9921300.9919540.99693400:17
70.1474100.0247150.9896370.9913890.9921300.9919540.99693400:15
80.1233010.0246750.9896370.9913890.9921300.9919540.99693400:15
90.1472200.0233020.9896370.9913890.9921300.9919540.99693400:16
100.1627930.0237270.9896370.9913890.9921300.9919540.99693400:16
110.1433930.0232250.9896370.9913890.9921300.9919540.99693400:15
120.1353400.0221540.9896370.9913890.9921300.9919540.99693400:15
130.1183710.0223290.9896370.9913890.9921300.9919540.99693400:16
140.1181560.0218050.9896370.9913890.9921300.9919540.99693400:16
150.1076430.0219030.9896370.9913890.9921300.9919540.99693400:16
160.1058590.0226360.9896370.9913890.9921300.9919540.99693400:16
170.1081230.0217020.9896370.9913890.9921300.9919540.99693400:16
180.1294000.0214030.9896370.9913890.9921300.9919540.99693400:14
190.1294830.0200810.9896370.9913890.9921300.9919540.99693400:15
200.1268890.0206610.9896370.9913890.9921300.9919540.99693400:16
210.1218420.0213540.9896370.9913890.9921300.9919540.99693400:15
220.1059180.0215040.9896370.9913890.9921300.9919540.99693400:15
230.1132760.0218330.9896370.9913890.9921300.9919540.99693400:16
240.1344720.0217690.9896370.9913890.9921300.9919540.99693400:16
250.1392260.0218690.9896370.9913890.9921300.9919540.99693400:16
260.1152210.0212610.9896370.9913890.9921300.9919540.99693400:16
270.1095470.0212950.9896370.9913890.9921300.9919540.99693400:16
280.1187900.0211320.9896370.9913890.9921300.9919540.99693400:15
290.1070730.0211690.9896370.9913890.9921300.9919540.99693400:16
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.984455943107605.\n", "Better model found at epoch 6 with accuracy value: 0.9896373152732849.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(2e-05), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold2-224-stage1\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold2-224-stage1\")" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:14<00:29]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.124220#na#00:14

\n", "\n", "

\n", " \n", " \n", " 27.08% [13/48 00:07<00:20 0.2864]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold2-224-stage1\")\n", " learner = to_fp16(learner)\n", " learner.unfreeze()\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.1058720.0259170.9844560.9873920.9884260.9881460.99540300:17
10.1157050.0256440.9844560.9873920.9884260.9881460.99540300:18
20.1376060.0248870.9896370.9913890.9921300.9919540.99693400:17
30.1260650.0236980.9896370.9913890.9921300.9919540.99693400:17
40.1574270.0227300.9896370.9913890.9921300.9919540.99693400:19
50.1562530.0202060.9896370.9913890.9921300.9919540.99693400:18
60.1187960.0192810.9896370.9913890.9921300.9919540.99693400:18
70.1116140.0191350.9896370.9913890.9921300.9919540.99693400:19
80.0937120.0212310.9896370.9913890.9921300.9919540.99693400:18
90.0997580.0214800.9896370.9913890.9921300.9919540.99693400:17
100.1025420.0220220.9896370.9913890.9921300.9919540.99693400:19
110.0826700.0206340.9896370.9913890.9921300.9919540.99693400:20
120.0999170.0209400.9948190.9955560.9958330.9957480.99846600:18
130.0946530.0205930.9948190.9955560.9958330.9957480.99846600:18
140.1101170.0195870.9948190.9955560.9958330.9957480.99846600:18
150.1054710.0199900.9948190.9955560.9958330.9957480.99846600:18
160.0955830.0190840.9948190.9955560.9958330.9957480.99846600:18
170.0810090.0195460.9948190.9955560.9958330.9957480.99846600:19
180.0697410.0204520.9948190.9955560.9958330.9957480.99846600:18
190.0803600.0201810.9948190.9955560.9958330.9957480.99846600:18
200.0910220.0193030.9948190.9955560.9958330.9957480.99846600:19
210.0854160.0200810.9948190.9955560.9958330.9957480.99846600:18
220.0898030.0201840.9948190.9955560.9958330.9957480.99846600:18
230.0851570.0189570.9948190.9955560.9958330.9957480.99846600:18
240.0802020.0183240.9948190.9955560.9958330.9957480.99846600:17
250.0708950.0182780.9948190.9955560.9958330.9957480.99846600:18
260.0761240.0186750.9948190.9955560.9958330.9957480.99846600:20
270.0807120.0195900.9948190.9955560.9958330.9957480.99846600:19
280.0726120.0191400.9948190.9955560.9958330.9957480.99846600:17
290.0884430.0184530.9948190.9955560.9958330.9957480.99846600:18
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.984455943107605.\n", "Better model found at epoch 2 with accuracy value: 0.9896373152732849.\n", "Better model found at epoch 12 with accuracy value: 0.9948186278343201.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(4.5e-05), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold2-224-stage2\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold2-224-stage2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 256x256" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "with gpu_mem_restore_ctx():\n", " fold_data = get_fold_data(idxs[1], img_size=256, bs=16)\n", " fold_data" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:12<00:25]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.133597#na#00:12

\n", "\n", "

\n", " \n", " \n", " 47.92% [23/48 00:08<00:09 0.1674]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold2-224-stage2\")\n", " learner = to_fp16(learner)\n", " learner.data = fold_data\n", " learner.freeze()\n", " learner = to_fp16(learner)\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.1098540.0124921.0000001.0000001.0000001.0000001.00000000:15
10.1027580.0131730.9948190.9923080.9962960.9954390.99389200:16
20.1351150.0140770.9948190.9923080.9962960.9954390.99389200:16
30.1208400.0150450.9948190.9923080.9962960.9954390.99389200:16
40.1159410.0155250.9948190.9923080.9962960.9954390.99389200:16
50.1152040.0151870.9948190.9923080.9962960.9954390.99389200:16
60.0961670.0149360.9948190.9923080.9962960.9954390.99389200:15
70.0816380.0154890.9948190.9923080.9962960.9954390.99389200:16
80.0991970.0151360.9948190.9923080.9962960.9954390.99389200:17
90.0920330.0153500.9948190.9923080.9962960.9954390.99389200:16
100.0899960.0156640.9948190.9923080.9962960.9954390.99389200:16
110.0911780.0154260.9948190.9923080.9962960.9954390.99389200:16
120.0882220.0163950.9948190.9923080.9962960.9954390.99389200:17
130.0807730.0164480.9948190.9923080.9962960.9954390.99389200:16
140.0994590.0161000.9948190.9923080.9962960.9954390.99389200:16
150.1041480.0164120.9948190.9923080.9962960.9954390.99389200:17
160.1064030.0155690.9948190.9923080.9962960.9954390.99389200:16
170.0898010.0157310.9948190.9923080.9962960.9954390.99389200:16
180.1047660.0153650.9948190.9923080.9962960.9954390.99389200:16
190.0914530.0148300.9948190.9923080.9962960.9954390.99389200:16
200.0984960.0148230.9948190.9923080.9962960.9954390.99389200:16
210.1016790.0158850.9948190.9923080.9962960.9954390.99389200:16
220.0945370.0164680.9948190.9923080.9962960.9954390.99389200:16
230.1012340.0165310.9948190.9923080.9962960.9954390.99389200:16
240.0901970.0156900.9948190.9923080.9962960.9954390.99389200:16
250.1035210.0154130.9948190.9923080.9962960.9954390.99389200:16
260.0928550.0155880.9948190.9923080.9962960.9954390.99389200:16
270.1055410.0157570.9948190.9923080.9962960.9954390.99389200:16
280.1161830.0163190.9948190.9923080.9962960.9954390.99389200:17
290.1209260.0165470.9948190.9923080.9962960.9954390.99389200:16
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 1.0.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(6e-07), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold2-256-stage1\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold2-256-stage1\")" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:16<00:32]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.104069#na#00:16

\n", "\n", "

\n", " \n", " \n", " 25.00% [12/48 00:07<00:23 0.2394]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold2-256-stage1\")\n", " learner = to_fp16(learner)\n", " learner.unfreeze()\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.1078420.0143190.9948190.9923080.9962960.9954390.99389200:21
10.0842460.0150950.9948190.9923080.9962960.9954390.99389200:19
20.1167140.0152830.9948190.9923080.9962960.9954390.99389200:19
30.1079470.0164310.9948190.9923080.9962960.9954390.99389200:19
40.1115130.0160620.9948190.9923080.9962960.9954390.99389200:19
50.1030520.0166480.9948190.9923080.9962960.9954390.99389200:21
60.0926100.0160930.9948190.9923080.9962960.9954390.99389200:21
70.0795750.0157020.9948190.9923080.9962960.9954390.99389200:20
80.0857870.0166050.9948190.9923080.9962960.9954390.99389200:22
90.0881640.0162350.9948190.9923080.9962960.9954390.99389200:21
100.0967530.0153490.9948190.9923080.9962960.9954390.99389200:21
110.0887760.0152710.9948190.9923080.9962960.9954390.99389200:21
120.0926640.0149390.9948190.9923080.9962960.9954390.99389200:21
130.0782240.0147410.9948190.9923080.9962960.9954390.99389200:19
140.0946290.0153240.9948190.9923080.9962960.9954390.99389200:21
150.0960020.0160580.9948190.9923080.9962960.9954390.99389200:20
160.0957460.0160500.9948190.9923080.9962960.9954390.99389200:20
170.0864280.0156410.9948190.9923080.9962960.9954390.99389200:20
180.0947510.0160620.9948190.9923080.9962960.9954390.99389200:19
190.0942470.0153900.9948190.9923080.9962960.9954390.99389200:20
200.0878270.0152140.9948190.9923080.9962960.9954390.99389200:20
210.0678030.0154970.9948190.9923080.9962960.9954390.99389200:19
220.0684050.0146620.9948190.9923080.9962960.9954390.99389200:19
230.0855040.0152350.9948190.9923080.9962960.9954390.99389200:20
240.0884380.0149930.9948190.9923080.9962960.9954390.99389200:21
250.0905170.0151910.9948190.9923080.9962960.9954390.99389200:21
260.0758940.0145750.9948190.9923080.9962960.9954390.99389200:19
270.0933250.0140700.9948190.9923080.9962960.9954390.99389200:20
280.0932790.0136030.9948190.9923080.9962960.9954390.99389200:20
290.1032590.0147120.9948190.9923080.9962960.9954390.99389200:19
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9948186278343201.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(1.5e-05), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold2-256-stage2\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold2-256-stage2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fold-3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 224x224" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "with gpu_mem_restore_ctx():\n", " fold_data = get_fold_data(idxs[2], img_size=224, bs=16)\n", " fold_data" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:12<00:24]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.087336#na#00:12

\n", "\n", "

\n", " \n", " \n", " 50.00% [24/48 00:09<00:09 0.2332]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold2-256-stage2\")\n", " learner = to_fp16(learner)\n", " learner.data = fold_data\n", " learner.freeze()\n", " learner = to_fp16(learner)\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.1196820.0112790.9948190.9964290.9958330.9959280.99845200:16
10.1423740.0118550.9948190.9964290.9958330.9959280.99845200:15
20.1070270.0126760.9948190.9964290.9958330.9959280.99845200:15
30.1027380.0132330.9948190.9964290.9958330.9959280.99845200:16
40.1022900.0132720.9948190.9964290.9958330.9959280.99845200:15
50.1024140.0158480.9948190.9964290.9958330.9959280.99845200:16
60.0892640.0137680.9948190.9964290.9958330.9959280.99845200:14
70.1156300.0153390.9948190.9964290.9958330.9959280.99845200:15
80.1064370.0174480.9948190.9964290.9958330.9959280.99845200:16
90.1030600.0155120.9948190.9964290.9958330.9959280.99845200:16
100.0868020.0203450.9948190.9964290.9958330.9959280.99845200:16
110.0826140.0175040.9948190.9964290.9958330.9959280.99845200:16
120.0819590.0158110.9948190.9964290.9958330.9959280.99845200:16
130.0889980.0162910.9948190.9964290.9958330.9959280.99845200:16
140.0645150.0174590.9948190.9964290.9958330.9959280.99845200:15
150.0632160.0128630.9948190.9964290.9958330.9959280.99845200:14
160.0706810.0117500.9948190.9964290.9958330.9959280.99845200:14
170.0661460.0106860.9948190.9964290.9958330.9959280.99845200:16
180.0780630.0139980.9948190.9964290.9958330.9959280.99845200:14
190.0772190.0140880.9948190.9964290.9958330.9959280.99845200:15
200.0937070.0129030.9948190.9964290.9958330.9959280.99845200:16
210.0839090.0156120.9948190.9964290.9958330.9959280.99845200:15
220.0823660.0160540.9948190.9964290.9958330.9959280.99845200:16
230.0747290.0168920.9948190.9964290.9958330.9959280.99845200:16
240.0868230.0177880.9896370.9929820.9916670.9918330.99690200:15
250.0722050.0174770.9896370.9929820.9916670.9918330.99690200:15
260.0597190.0170520.9896370.9929820.9916670.9918330.99690200:16
270.0758820.0181110.9896370.9929820.9916670.9918330.99690200:15
280.0716270.0177690.9896370.9929820.9916670.9918330.99690200:16
290.0634660.0168500.9948190.9964290.9958330.9959280.99845200:16
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9948186278343201.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(2.5e-04), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold3-224-stage1\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold3-224-stage1\")" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:13<00:26]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.078205#na#00:13

\n", "\n", "

\n", " \n", " \n", " 20.83% [10/48 00:06<00:25 0.2737]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold3-224-stage1\")\n", " learner = to_fp16(learner)\n", " learner.unfreeze()\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.1196280.0117890.9948190.9964290.9958330.9959280.99845200:18
10.1028660.0115310.9948190.9964290.9958330.9959280.99845200:18
20.1224510.0115580.9948190.9964290.9958330.9959280.99845200:17
30.1116900.0116540.9948190.9964290.9958330.9959280.99845200:19
40.1084970.0120260.9948190.9964290.9958330.9959280.99845200:19
50.1099660.0127170.9948190.9964290.9958330.9959280.99845200:17
60.1049120.0122270.9948190.9964290.9958330.9959280.99845200:18
70.1119110.0122900.9948190.9964290.9958330.9959280.99845200:18
80.0962080.0123930.9948190.9964290.9958330.9959280.99845200:18
90.1028970.0114760.9948190.9964290.9958330.9959280.99845200:19
100.0974370.0115050.9948190.9964290.9958330.9959280.99845200:17
110.1135360.0120800.9948190.9964290.9958330.9959280.99845200:18
120.1079630.0127900.9948190.9964290.9958330.9959280.99845200:18
130.1023870.0126150.9948190.9964290.9958330.9959280.99845200:18
140.1116740.0131580.9948190.9964290.9958330.9959280.99845200:18
150.1151690.0127660.9948190.9964290.9958330.9959280.99845200:18
160.0957680.0129680.9948190.9964290.9958330.9959280.99845200:19
170.1144780.0125470.9948190.9964290.9958330.9959280.99845200:17
180.1152160.0125870.9948190.9964290.9958330.9959280.99845200:18
190.1109990.0135990.9948190.9964290.9958330.9959280.99845200:19
200.0941530.0131810.9948190.9964290.9958330.9959280.99845200:19
210.0857870.0137220.9948190.9964290.9958330.9959280.99845200:18
220.0906580.0134100.9948190.9964290.9958330.9959280.99845200:18
230.0912880.0129180.9948190.9964290.9958330.9959280.99845200:17
240.1007300.0121920.9948190.9964290.9958330.9959280.99845200:17
250.0960140.0124140.9948190.9964290.9958330.9959280.99845200:17
260.1060670.0122300.9948190.9964290.9958330.9959280.99845200:17
270.1152010.0128240.9948190.9964290.9958330.9959280.99845200:18
280.1054290.0124420.9948190.9964290.9958330.9959280.99845200:18
290.1117750.0123040.9948190.9964290.9958330.9959280.99845200:18
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9948186278343201.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(7e-06), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold3-224-stage2\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold3-224-stage2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 256x256" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "with gpu_mem_restore_ctx():\n", " fold_data = get_fold_data(idxs[2], img_size=256, bs=16)" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:11<00:23]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.076025#na#00:11

\n", "\n", "

\n", " \n", " \n", " 52.08% [25/48 00:09<00:08 0.1735]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner = learner.purge()\n", " learner.load(\"best-effb3-sipak-multiclass-fold3-224-stage2\")\n", " learner = to_fp16(learner)\n", " learner.data = fold_data\n", " learner.freeze()\n", " learner = to_fp16(learner)\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.0750380.0145950.9896370.9929820.9916670.9918330.99690200:15
10.0956840.0141050.9896370.9929820.9916670.9918330.99690200:16
20.0871530.0130230.9896370.9929820.9916670.9918330.99690200:15
30.0871050.0121890.9948190.9964290.9958330.9959280.99845200:15
40.0894620.0127030.9948190.9964290.9958330.9959280.99845200:16
50.0798170.0128460.9948190.9964290.9958330.9959280.99845200:16
60.0781460.0126370.9948190.9964290.9958330.9959280.99845200:15
70.0975940.0134250.9948190.9964290.9958330.9959280.99845200:17
80.0962260.0128180.9948190.9964290.9958330.9959280.99845200:16
90.1054610.0131900.9948190.9964290.9958330.9959280.99845200:16
100.1025910.0130160.9948190.9964290.9958330.9959280.99845200:16
110.0873800.0126100.9948190.9964290.9958330.9959280.99845200:16
120.0815810.0125440.9948190.9964290.9958330.9959280.99845200:16
130.1005530.0121430.9948190.9964290.9958330.9959280.99845200:15
140.1070740.0121410.9948190.9964290.9958330.9959280.99845200:16
150.0894520.0121200.9948190.9964290.9958330.9959280.99845200:15
160.1007590.0128650.9948190.9964290.9958330.9959280.99845200:15
170.1043660.0123530.9948190.9964290.9958330.9959280.99845200:15
180.0933630.0124700.9948190.9964290.9958330.9959280.99845200:17
190.0816550.0126420.9948190.9964290.9958330.9959280.99845200:16
200.0850960.0123870.9948190.9964290.9958330.9959280.99845200:16
210.0981420.0123590.9948190.9964290.9958330.9959280.99845200:15
220.1223970.0122940.9948190.9964290.9958330.9959280.99845200:16
230.1208370.0119030.9948190.9964290.9958330.9959280.99845200:15
240.1070890.0123300.9948190.9964290.9958330.9959280.99845200:16
250.1052190.0115860.9948190.9964290.9958330.9959280.99845200:16
260.0957790.0114150.9948190.9964290.9958330.9959280.99845200:16
270.1008880.0114270.9948190.9964290.9958330.9959280.99845200:16
280.0991450.0117610.9948190.9964290.9958330.9959280.99845200:16
290.1051860.0127850.9948190.9964290.9958330.9959280.99845200:16
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9896373152732849.\n", "Better model found at epoch 3 with accuracy value: 0.9948186278343201.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(6e-07), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold3-256-stage1\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold3-256-stage1\")" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:15<00:30]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.096834#na#00:15

\n", "\n", "

\n", " \n", " \n", " 27.08% [13/48 00:07<00:20 0.2831]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold3-256-stage1\")\n", " learner = to_fp16(learner)\n", " learner.unfreeze()\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.0657770.0125360.9948190.9964290.9958330.9959280.99845200:19
10.0806680.0126010.9948190.9964290.9958330.9959280.99845200:17
20.0880320.0133530.9896370.9929820.9916670.9918330.99690200:19
30.0941670.0142100.9948190.9964290.9958330.9959280.99845200:19
40.0990770.0213360.9948190.9964290.9958330.9959280.99845200:19
50.1007490.0182070.9896370.9929820.9916670.9918330.99690200:18
60.0912410.0072081.0000001.0000001.0000001.0000001.00000000:18
70.0814850.0049771.0000001.0000001.0000001.0000001.00000000:18
80.0904370.0097571.0000001.0000001.0000001.0000001.00000000:18
90.0720240.0086581.0000001.0000001.0000001.0000001.00000000:18
100.0662330.0070751.0000001.0000001.0000001.0000001.00000000:18
110.0657510.0073231.0000001.0000001.0000001.0000001.00000000:18
120.0627780.0089861.0000001.0000001.0000001.0000001.00000000:18
130.0533090.0084041.0000001.0000001.0000001.0000001.00000000:18
140.0456450.0074751.0000001.0000001.0000001.0000001.00000000:18
150.0691660.0075321.0000001.0000001.0000001.0000001.00000000:19
160.0757460.0070021.0000001.0000001.0000001.0000001.00000000:18
170.0487000.0076511.0000001.0000001.0000001.0000001.00000000:19
180.0498120.0080141.0000001.0000001.0000001.0000001.00000000:19
190.0435040.0074321.0000001.0000001.0000001.0000001.00000000:19
200.0592100.0091251.0000001.0000001.0000001.0000001.00000000:18
210.0590220.0093301.0000001.0000001.0000001.0000001.00000000:19
220.0425860.0077831.0000001.0000001.0000001.0000001.00000000:18
230.0371960.0075411.0000001.0000001.0000001.0000001.00000000:17
240.0455160.0086091.0000001.0000001.0000001.0000001.00000000:19
250.0366710.0081321.0000001.0000001.0000001.0000001.00000000:18
260.0448530.0082141.0000001.0000001.0000001.0000001.00000000:19
270.0316650.0084151.0000001.0000001.0000001.0000001.00000000:18
280.0355380.0085451.0000001.0000001.0000001.0000001.00000000:18
290.0395190.0082761.0000001.0000001.0000001.0000001.00000000:18
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9948186278343201.\n", "Better model found at epoch 6 with accuracy value: 1.0.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(2e-04), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold3-256-stage2\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold3-256-stage2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fold-4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 224x224" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "with gpu_mem_restore_ctx():\n", " fold_data = get_fold_data(idxs[3], img_size=224, bs=16)\n", " fold_data" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:11<00:22]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.092468#na#00:11

\n", "\n", "

\n", " \n", " \n", " 47.92% [23/48 00:08<00:09 0.1216]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold3-256-stage2\")\n", " learner = to_fp16(learner)\n", " learner.data = fold_data\n", " learner.freeze()\n", " learner = to_fp16(learner)\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.0729470.0233440.9896370.9886710.9916670.9909520.98476200:15
10.0700260.0215210.9896370.9886710.9916670.9909520.98476200:15
20.0912410.0213490.9896370.9886710.9916670.9909520.98476200:15
30.0924720.0218750.9896370.9886710.9916670.9909520.98476200:15
40.0772220.0214520.9896370.9886710.9916670.9909520.98476200:16
50.0771290.0211880.9896370.9886710.9916670.9909520.98476200:15
60.0779540.0227240.9896370.9886710.9916670.9909520.98476200:16
70.0861360.0228850.9896370.9886710.9916670.9909520.98476200:15
80.0838150.0231540.9896370.9886710.9916670.9909520.98476200:16
90.0996220.0239490.9896370.9886710.9916670.9909520.98476200:16
100.0802500.0238280.9896370.9886710.9916670.9909520.98476200:15
110.0805120.0260430.9896370.9886710.9916670.9909520.98476200:15
120.0789440.0263370.9896370.9886710.9916670.9909520.98476200:15
130.0730930.0264980.9896370.9886710.9916670.9909520.98476200:15
140.0664880.0249680.9896370.9886710.9916670.9909520.98476200:16
150.0800370.0247640.9896370.9886710.9916670.9909520.98476200:16
160.0634010.0245880.9896370.9886710.9916670.9909520.98476200:15
170.0713940.0260920.9896370.9886710.9916670.9909520.98476200:15
180.0799670.0259080.9896370.9886710.9916670.9909520.98476200:15
190.0749110.0270910.9896370.9886710.9916670.9909520.98476200:16
200.0866640.0268140.9896370.9886710.9916670.9909520.98476200:16
210.0803570.0270600.9896370.9886710.9916670.9909520.98476200:16
220.0679850.0273200.9896370.9886710.9916670.9909520.98476200:16
230.0825130.0274460.9896370.9886710.9916670.9909520.98476200:16
240.0639330.0275690.9896370.9886710.9916670.9909520.98476200:17
250.0855750.0265970.9896370.9886710.9916670.9909520.98476200:15
260.0948620.0276730.9896370.9886710.9916670.9909520.98476200:17
270.0873470.0279100.9896370.9886710.9916670.9909520.98476200:17
280.0783460.0270930.9896370.9886710.9916670.9909520.98476200:17
290.0677800.0268920.9896370.9886710.9916670.9909520.98476200:17
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9896373152732849.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(1e-04), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold4-224-stage1\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold4-224-stage1\")" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:14<00:28]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.084187#na#00:14

\n", "\n", "

\n", " \n", " \n", " 25.00% [12/48 00:07<00:23 0.2065]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold4-224-stage1\")\n", " learner = to_fp16(learner)\n", " learner.unfreeze()\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 0.00% [0/30 00:00<00:00]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime

\n", "\n", "

\n", " \n", " \n", " 0.00% [0/48 00:00<00:00]\n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "ename": "KeyboardInterrupt", "evalue": "", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mgpu_mem_restore_ctx\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mlearner\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit_one_cycle\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m30\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmax_lr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mslice\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2e-05\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcallbacks\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmodel_callback\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlearner\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"best-effb3-sipak-multiclass-fold4-224-stage2\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mlearner\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msave\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"last-effb3-sipak-multiclass-fold4-224-stage2\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/.local/lib/python3.6/site-packages/fastai/utils/ipython.py\u001b[0m in \u001b[0;36m__exit__\u001b[0;34m(self, exc_type, exc_val, exc_tb)\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0mtraceback\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclear_frames\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexc_tb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 63\u001b[0m \u001b[0mgc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcollect\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 64\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mexc_type\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexc_val\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwith_traceback\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mexc_tb\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mgpu_mem_restore_ctx\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mlearner\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit_one_cycle\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m30\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmax_lr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mslice\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2e-05\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcallbacks\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmodel_callback\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlearner\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"best-effb3-sipak-multiclass-fold4-224-stage2\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mlearner\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msave\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"last-effb3-sipak-multiclass-fold4-224-stage2\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/.local/lib/python3.6/site-packages/fastai/train.py\u001b[0m in \u001b[0;36mfit_one_cycle\u001b[0;34m(***failed resolving arguments***)\u001b[0m\n\u001b[1;32m 21\u001b[0m callbacks.append(OneCycleScheduler(learn, max_lr, moms=moms, div_factor=div_factor, pct_start=pct_start,\n\u001b[1;32m 22\u001b[0m final_div=final_div, tot_epochs=tot_epochs, start_epoch=start_epoch))\n\u001b[0;32m---> 23\u001b[0;31m \u001b[0mlearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcyc_len\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmax_lr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwd\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mwd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcallbacks\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcallbacks\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 24\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 25\u001b[0m def fit_fc(learn:Learner, tot_epochs:int=1, lr:float=defaults.lr, moms:Tuple[float,float]=(0.95,0.85), start_pct:float=0.72,\n", "\u001b[0;32m~/.local/lib/python3.6/site-packages/fastai/basic_train.py\u001b[0m in \u001b[0;36mfit\u001b[0;34m(***failed resolving arguments***)\u001b[0m\n\u001b[1;32m 198\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlr\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwd\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlr\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mwd\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 199\u001b[0m \u001b[0mcallbacks\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mcb\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mcb\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcallback_fns\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mlistify\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdefaults\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mextra_callback_fns\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mlistify\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcallbacks\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 200\u001b[0;31m \u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mepochs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmetrics\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmetrics\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcallbacks\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcallbacks\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0mcallbacks\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 201\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 202\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcreate_opt\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mFloats\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwd\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mFloats\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0.\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m->\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/.local/lib/python3.6/site-packages/fastai/basic_train.py\u001b[0m in \u001b[0;36mfit\u001b[0;34m(***failed resolving arguments***)\u001b[0m\n\u001b[1;32m 99\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mxb\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0myb\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mprogress_bar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtrain_dl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mparent\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mpbar\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 100\u001b[0m \u001b[0mxb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0myb\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcb_handler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_batch_begin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0myb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 101\u001b[0;31m \u001b[0mloss\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mloss_batch\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mxb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0myb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mloss_func\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mopt\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcb_handler\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 102\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcb_handler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_batch_end\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mloss\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;32mbreak\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 103\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/.local/lib/python3.6/site-packages/fastai/basic_train.py\u001b[0m in \u001b[0;36mloss_batch\u001b[0;34m(***failed resolving arguments***)\u001b[0m\n\u001b[1;32m 32\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mopt\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 33\u001b[0m \u001b[0mloss\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mskip_bwd\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcb_handler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_backward_begin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mloss\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 34\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mskip_bwd\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mloss\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 35\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mcb_handler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_backward_end\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mopt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 36\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mcb_handler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_step_end\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mopt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzero_grad\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/.local/lib/python3.6/site-packages/torch/tensor.py\u001b[0m in \u001b[0;36mbackward\u001b[0;34m(***failed resolving arguments***)\u001b[0m\n\u001b[1;32m 193\u001b[0m \u001b[0mproducts\u001b[0m\u001b[0;34m.\u001b[0m \u001b[0mDefaults\u001b[0m \u001b[0mto\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;31m`\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 194\u001b[0m \"\"\"\n\u001b[0;32m--> 195\u001b[0;31m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mautograd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgradient\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mretain_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcreate_graph\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 196\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 197\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mregister_hook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhook\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/.local/lib/python3.6/site-packages/torch/autograd/__init__.py\u001b[0m in \u001b[0;36mbackward\u001b[0;34m(***failed resolving arguments***)\u001b[0m\n\u001b[1;32m 97\u001b[0m Variable._execution_engine.run_backward(\n\u001b[1;32m 98\u001b[0m \u001b[0mtensors\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgrad_tensors\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mretain_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcreate_graph\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 99\u001b[0;31m allow_unreachable=True) # allow_unreachable flag\n\u001b[0m\u001b[1;32m 100\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 101\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(2e-05), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold4-224-stage2\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold4-224-stage2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 256x256" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "with gpu_mem_restore_ctx():\n", " fold_data = get_fold_data(idxs[3], img_size=256, bs=16)\n", " fold_data" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:12<00:24]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.089664#na#00:12

\n", "\n", "

\n", " \n", " \n", " 56.25% [27/48 00:09<00:07 0.1223]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold4-224-stage2\")\n", " learner = to_fp16(learner)\n", " learner.data = fold_data\n", " learner.freeze()\n", " learner = to_fp16(learner)\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.0810450.0165190.9948190.9963640.9958330.9959150.99846400:16
10.1015810.0171810.9948190.9963640.9958330.9959150.99846400:16
20.0788210.0181850.9948190.9963640.9958330.9959150.99846400:16
30.0774820.0181680.9948190.9963640.9958330.9959150.99846400:16
40.0712860.0191580.9948190.9963640.9958330.9959150.99846400:16
50.0826990.0188090.9948190.9963640.9958330.9959150.99846400:16
60.0743720.0192760.9948190.9963640.9958330.9959150.99846400:16
70.0889590.0186290.9948190.9963640.9958330.9959150.99846400:16
80.0813690.0185620.9948190.9963640.9958330.9959150.99846400:16
90.0786990.0184030.9948190.9963640.9958330.9959150.99846400:16
100.0797400.0184000.9948190.9963640.9958330.9959150.99846400:17
110.0746380.0191070.9948190.9963640.9958330.9959150.99846400:16
120.0613090.0188550.9948190.9963640.9958330.9959150.99846400:16
130.0757110.0190810.9948190.9963640.9958330.9959150.99846400:16
140.0792770.0185190.9948190.9963640.9958330.9959150.99846400:17
150.0649290.0189520.9948190.9963640.9958330.9959150.99846400:16
160.0770220.0187150.9948190.9963640.9958330.9959150.99846400:16
170.0790030.0187940.9948190.9963640.9958330.9959150.99846400:16
180.0694770.0193000.9948190.9963640.9958330.9959150.99846400:16
190.0719920.0192320.9948190.9963640.9958330.9959150.99846400:16
200.0820080.0190370.9948190.9963640.9958330.9959150.99846400:16
210.0940080.0191780.9948190.9963640.9958330.9959150.99846400:17
220.0879720.0191450.9948190.9963640.9958330.9959150.99846400:17
230.0959670.0194120.9948190.9963640.9958330.9959150.99846400:18
240.0763120.0190410.9948190.9963640.9958330.9959150.99846400:16
250.0804240.0192060.9948190.9963640.9958330.9959150.99846400:16
260.0801180.0193020.9948190.9963640.9958330.9959150.99846400:16
270.0811520.0186420.9948190.9963640.9958330.9959150.99846400:16
280.0710130.0181590.9948190.9963640.9958330.9959150.99846400:17
290.0911150.0186920.9948190.9963640.9958330.9959150.99846400:15
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9948186278343201.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(4e-06), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold4-256-stage1\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold4-256-stage1\")" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:14<00:28]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.092941#na#00:14

\n", "\n", "

\n", " \n", " \n", " 29.17% [14/48 00:08<00:20 0.3591]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold4-256-stage1\")\n", " learner = to_fp16(learner)\n", " learner.unfreeze()\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.0923320.0175220.9948190.9963640.9958330.9959150.99846400:18
10.0836630.0174200.9948190.9963640.9958330.9959150.99846400:18
20.0715770.0177050.9948190.9963640.9958330.9959150.99846400:19
30.0682570.0176310.9948190.9963640.9958330.9959150.99846400:18
40.0746130.0201240.9948190.9963640.9958330.9959150.99846400:18
50.0654960.0215610.9948190.9963640.9958330.9959150.99846400:18
60.0659290.0286820.9896370.9886710.9916670.9909520.98476200:18
70.0544410.0313370.9844560.9842560.9879630.9871010.97875200:18
80.0529350.0326690.9896370.9886710.9916670.9909520.98476200:17
90.0400330.0369270.9896370.9886710.9916670.9909520.98476200:19
100.0537060.0329050.9948190.9963640.9958330.9959150.99846400:18
110.0425080.0281710.9948190.9963640.9958330.9959150.99846400:19
120.0467220.0358410.9844560.9844160.9872220.9865720.98317900:18
130.0466150.0291340.9844560.9842560.9879630.9871010.97875200:18
140.0539000.0298080.9844560.9842560.9879630.9871010.97875200:19
150.0413500.0295260.9844560.9842560.9879630.9871010.97875200:18
160.0327950.0296300.9844560.9842560.9879630.9871010.97875200:19
170.0462880.0395900.9844560.9842560.9879630.9871010.97875200:18
180.0431010.0435570.9896370.9886710.9916670.9909520.98476200:19
190.0402240.0344740.9844560.9842560.9879630.9871010.97875200:19
200.0324390.0338810.9844560.9842560.9879630.9871010.97875200:18
210.0290530.0379740.9844560.9842560.9879630.9871010.97875200:18
220.0261750.0347550.9844560.9842560.9879630.9871010.97875200:19
230.0362240.0361390.9844560.9842560.9879630.9871010.97875200:19
240.0413970.0369580.9844560.9842560.9879630.9871010.97875200:19
250.0359830.0361760.9844560.9842560.9879630.9871010.97875200:18
260.0365200.0357520.9844560.9842560.9879630.9871010.97875200:18
270.0345880.0360130.9844560.9842560.9879630.9871010.97875200:19
280.0250630.0364180.9844560.9842560.9879630.9871010.97875200:19
290.0198790.0359910.9844560.9842560.9879630.9871010.97875200:19
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9948186278343201.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(2.5e-04), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold4-256-stage2\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold4-256-stage2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Fold-5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 224x224" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "with gpu_mem_restore_ctx():\n", " fold_data = get_fold_data(idxs[4], img_size=224, bs=16)\n", " fold_data" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:12<00:24]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.103727#na#00:12

\n", "\n", "

\n", " \n", " \n", " 56.25% [27/48 00:10<00:07 0.2965]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold4-256-stage2\")\n", " learner = to_fp16(learner)\n", " learner.data = fold_data\n", " learner.freeze()\n", " learner = to_fp16(learner)\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.1212360.0142940.9948190.9963640.9955560.9956910.99386100:15
10.0890180.0128490.9948190.9963640.9955560.9956910.99386100:16
20.0938410.0125440.9948190.9963640.9955560.9956910.99386100:17
30.0878900.0116040.9948190.9963640.9955560.9956910.99386100:16
40.0925240.0130810.9948190.9963640.9955560.9956910.99386100:17
50.0791690.0132350.9948190.9963640.9955560.9956910.99386100:17
60.0831390.0138170.9948190.9963640.9955560.9956910.99386100:17
70.0902640.0144360.9948190.9963640.9955560.9956910.99386100:17
80.0902280.0136260.9948190.9963640.9955560.9956910.99386100:17
90.0869280.0131490.9948190.9963640.9955560.9956910.99386100:17
100.0837830.0139850.9948190.9963640.9955560.9956910.99386100:17
110.0867250.0134070.9948190.9963640.9955560.9956910.99386100:17
120.0820410.0141490.9948190.9963640.9955560.9956910.99386100:17
130.0744800.0149440.9948190.9963640.9955560.9956910.99386100:16
140.0912020.0142300.9948190.9963640.9955560.9956910.99386100:17
150.0915310.0147350.9948190.9963640.9955560.9956910.99386100:17
160.0771460.0147920.9948190.9963640.9955560.9956910.99386100:16
170.0760560.0147900.9948190.9963640.9955560.9956910.99386100:16
180.0694960.0138120.9948190.9963640.9955560.9956910.99386100:16
190.0708990.0138370.9948190.9963640.9955560.9956910.99386100:16
200.0736470.0139660.9948190.9963640.9955560.9956910.99386100:17
210.0655910.0141900.9948190.9963640.9955560.9956910.99386100:17
220.0656940.0136880.9948190.9963640.9955560.9956910.99386100:17
230.0673140.0140870.9948190.9963640.9955560.9956910.99386100:16
240.0927740.0135940.9948190.9963640.9955560.9956910.99386100:17
250.0709340.0138250.9948190.9963640.9955560.9956910.99386100:16
260.0656010.0134130.9948190.9963640.9955560.9956910.99386100:15
270.0624560.0136370.9948190.9963640.9955560.9956910.99386100:16
280.0738630.0133630.9948190.9963640.9955560.9956910.99386100:15
290.0669950.0139450.9948190.9963640.9955560.9956910.99386100:15
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9948186278343201.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(1e-04), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold5-224-stage1\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold5-224-stage1\")" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:14<00:28]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.069076#na#00:14

\n", "\n", "

\n", " \n", " \n", " 14.58% [7/48 00:06<00:36 0.1375]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold5-224-stage1\")\n", " learner = to_fp16(learner)\n", " learner.unfreeze()\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.0984690.0130780.9948190.9963640.9955560.9956910.99386100:18
10.0845360.0130830.9948190.9963640.9955560.9956910.99386100:18
20.0940020.0128040.9948190.9963640.9955560.9956910.99386100:18
30.0921070.0123450.9948190.9963640.9955560.9956910.99386100:18
40.0990280.0125990.9948190.9963640.9955560.9956910.99386100:18
50.0768630.0127210.9948190.9963640.9955560.9956910.99386100:18
60.1050500.0132570.9948190.9963640.9955560.9956910.99386100:19
70.0957120.0131240.9948190.9963640.9955560.9956910.99386100:17
80.0940260.0121300.9948190.9963640.9955560.9956910.99386100:18
90.0812220.0128410.9948190.9963640.9955560.9956910.99386100:18
100.0708700.0129980.9948190.9963640.9955560.9956910.99386100:18
110.0837740.0129750.9948190.9963640.9955560.9956910.99386100:18
120.0834700.0128370.9948190.9963640.9955560.9956910.99386100:18
130.1061960.0120990.9948190.9963640.9955560.9956910.99386100:18
140.0949750.0118840.9948190.9963640.9955560.9956910.99386100:17
150.0790500.0121380.9948190.9963640.9955560.9956910.99386100:18
160.0865340.0124600.9948190.9963640.9955560.9956910.99386100:18
170.0765360.0123990.9948190.9963640.9955560.9956910.99386100:18
180.0877010.0126230.9948190.9963640.9955560.9956910.99386100:18
190.0714710.0128150.9948190.9963640.9955560.9956910.99386100:17
200.0617340.0127690.9948190.9963640.9955560.9956910.99386100:19
210.0677390.0127270.9948190.9963640.9955560.9956910.99386100:18
220.0578280.0124510.9948190.9963640.9955560.9956910.99386100:18
230.0663850.0121750.9948190.9963640.9955560.9956910.99386100:18
240.0787190.0119550.9948190.9963640.9955560.9956910.99386100:18
250.0826060.0121490.9948190.9963640.9955560.9956910.99386100:18
260.0806650.0121190.9948190.9963640.9955560.9956910.99386100:18
270.0761450.0121420.9948190.9963640.9955560.9956910.99386100:18
280.0918780.0123100.9948190.9963640.9955560.9956910.99386100:18
290.1028060.0129240.9948190.9963640.9955560.9956910.99386100:18
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 0.9948186278343201.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(1e-05), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold5-224-stage2\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold5-224-stage2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 256x256" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [], "source": [ "with gpu_mem_restore_ctx():\n", " fold_data = get_fold_data(idxs[4], img_size=256, bs=16)\n", " fold_data" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:12<00:24]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.065625#na#00:12

\n", "\n", "

\n", " \n", " \n", " 39.58% [19/48 00:08<00:12 0.1287]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ " with gpu_mem_restore_ctx():\n", " learner.load(\"last-effb3-sipak-multiclass-fold5-224-stage2\")\n", " learner = to_fp16(learner)\n", " learner.data = fold_data\n", " learner.freeze()\n", " learner = to_fp16(learner)\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.0901440.0035181.0000001.0000001.0000001.0000001.00000000:16
10.0584220.0038661.0000001.0000001.0000001.0000001.00000000:17
20.0727440.0040671.0000001.0000001.0000001.0000001.00000000:15
30.0845410.0043131.0000001.0000001.0000001.0000001.00000000:16
40.0714160.0044021.0000001.0000001.0000001.0000001.00000000:16
50.0634490.0044921.0000001.0000001.0000001.0000001.00000000:15
60.0672910.0043631.0000001.0000001.0000001.0000001.00000000:16
70.0948120.0044601.0000001.0000001.0000001.0000001.00000000:16
80.0805970.0045101.0000001.0000001.0000001.0000001.00000000:16
90.0802380.0044541.0000001.0000001.0000001.0000001.00000000:16
100.0681130.0044381.0000001.0000001.0000001.0000001.00000000:16
110.0702640.0043651.0000001.0000001.0000001.0000001.00000000:15
120.0819320.0042171.0000001.0000001.0000001.0000001.00000000:16
130.0982010.0041911.0000001.0000001.0000001.0000001.00000000:16
140.0772470.0041821.0000001.0000001.0000001.0000001.00000000:16
150.0918580.0041181.0000001.0000001.0000001.0000001.00000000:16
160.0795040.0041591.0000001.0000001.0000001.0000001.00000000:16
170.0851190.0040561.0000001.0000001.0000001.0000001.00000000:16
180.0813800.0041631.0000001.0000001.0000001.0000001.00000000:16
190.0857380.0042251.0000001.0000001.0000001.0000001.00000000:16
200.0713080.0042171.0000001.0000001.0000001.0000001.00000000:16
210.0929730.0042271.0000001.0000001.0000001.0000001.00000000:16
220.0735160.0042411.0000001.0000001.0000001.0000001.00000000:16
230.0555660.0042761.0000001.0000001.0000001.0000001.00000000:15
240.0648240.0043171.0000001.0000001.0000001.0000001.00000000:16
250.0791580.0045181.0000001.0000001.0000001.0000001.00000000:16
260.0777710.0043801.0000001.0000001.0000001.0000001.00000000:16
270.0802160.0042801.0000001.0000001.0000001.0000001.00000000:16
280.0806330.0042411.0000001.0000001.0000001.0000001.00000000:16
290.0612090.0044041.0000001.0000001.0000001.0000001.00000000:17
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 1.0.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(2e-05), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold5-256-stage1\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold5-256-stage1\")" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " \n", " 33.33% [1/3 00:14<00:29]\n", "
\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.083740#na#00:14

\n", "\n", "

\n", " \n", " \n", " 16.67% [8/48 00:06<00:32 0.1405]\n", "
\n", " " ], "text/plain": [ "" ] }, "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" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.load(\"best-effb3-sipak-multiclass-fold5-256-stage1\")\n", " learner = to_fp16(learner)\n", " learner.unfreeze()\n", " learner.lr_find()\n", " learner.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracyprecisionrecallf_betakappa_scoretime
00.0982430.0038261.0000001.0000001.0000001.0000001.00000000:18
10.0723860.0040431.0000001.0000001.0000001.0000001.00000000:18
20.0842130.0041951.0000001.0000001.0000001.0000001.00000000:19
30.0628080.0040641.0000001.0000001.0000001.0000001.00000000:18
40.0614590.0043021.0000001.0000001.0000001.0000001.00000000:19
50.0916520.0044241.0000001.0000001.0000001.0000001.00000000:19
60.0726660.0042821.0000001.0000001.0000001.0000001.00000000:18
70.0640030.0045501.0000001.0000001.0000001.0000001.00000000:18
80.0734800.0044941.0000001.0000001.0000001.0000001.00000000:18
90.0673930.0043951.0000001.0000001.0000001.0000001.00000000:19
100.0808830.0045641.0000001.0000001.0000001.0000001.00000000:18
110.0617320.0046851.0000001.0000001.0000001.0000001.00000000:19
120.0698390.0046881.0000001.0000001.0000001.0000001.00000000:19
130.0789370.0047121.0000001.0000001.0000001.0000001.00000000:19
140.0832190.0046541.0000001.0000001.0000001.0000001.00000000:19
150.0766470.0046531.0000001.0000001.0000001.0000001.00000000:18
160.0657080.0045191.0000001.0000001.0000001.0000001.00000000:19
170.0614610.0043201.0000001.0000001.0000001.0000001.00000000:18
180.0766510.0044201.0000001.0000001.0000001.0000001.00000000:18
190.0695360.0044171.0000001.0000001.0000001.0000001.00000000:18
200.0723320.0042851.0000001.0000001.0000001.0000001.00000000:19
210.0739300.0042831.0000001.0000001.0000001.0000001.00000000:18
220.0699400.0044511.0000001.0000001.0000001.0000001.00000000:18
230.0630850.0043401.0000001.0000001.0000001.0000001.00000000:18
240.0700100.0043361.0000001.0000001.0000001.0000001.00000000:19
250.0790780.0043711.0000001.0000001.0000001.0000001.00000000:19
260.0785630.0046591.0000001.0000001.0000001.0000001.00000000:19
270.0817340.0046291.0000001.0000001.0000001.0000001.00000000:17
280.0746010.0045071.0000001.0000001.0000001.0000001.00000000:19
290.0793820.0045081.0000001.0000001.0000001.0000001.00000000:19
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Better model found at epoch 0 with accuracy value: 1.0.\n" ] } ], "source": [ "with gpu_mem_restore_ctx():\n", " learner.fit_one_cycle(30, max_lr=slice(8e-07), callbacks=model_callback(learner, \"best-effb3-sipak-multiclass-fold5-256-stage2\"))\n", " learner.save(\"last-effb3-sipak-multiclass-fold5-256-stage2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Exporting the final model" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [], "source": [ "learner.load(\"best-effb3-sipak-multiclass-fold5-256-stage2\")\n", "learner.freeze()\n", "learner.export(\"best-256-progressive-effb3-sipak-multiclass.pkl\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Testing on 30 images (in valid folder)" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "ImageDataBunch;\n", "\n", "Train: LabelList (966 items)\n", "x: ImageList\n", "Image (3, 224, 224),Image (3, 224, 224),Image (3, 224, 224),Image (3, 224, 224),Image (3, 224, 224)\n", "y: CategoryList\n", "normal_Superficial-Intermediate,normal_Superficial-Intermediate,normal_Superficial-Intermediate,normal_Superficial-Intermediate,normal_Superficial-Intermediate\n", "Path: ../../../Dataset/Sipakmed Dataset/wsi_dataset;\n", "\n", "Valid: LabelList (29 items)\n", "x: ImageList\n", "Image (3, 224, 224),Image (3, 224, 224),Image (3, 224, 224),Image (3, 224, 224),Image (3, 224, 224)\n", "y: CategoryList\n", "normal_Superficial-Intermediate,normal_Superficial-Intermediate,normal_Superficial-Intermediate,normal_Superficial-Intermediate,normal_Superficial-Intermediate\n", "Path: ../../../Dataset/Sipakmed Dataset/wsi_dataset;\n", "\n", "Test: None" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_data = (ImageList.from_folder(data_path)\n", " .split_by_folder(train=\"train\", valid=\"test\")\n", " .label_from_folder()\n", " .transform(None, size=224)\n", " .databunch(bs=1)\n", " .normalize(imagenet_stats))\n", "all_data" ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [], "source": [ "imgs, labels = all_data.valid_ds.x, all_data.valid_ds.y\n", "binary_classes = [\"Abnormal\", \"Benign\", \"Normal\"]" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [], "source": [ "def get_label(label):\n", " if \"abnormal\" in label:\n", " return \"Abnormal\"\n", " elif \"normal\" in label:\n", " return \"Normal\"\n", " elif \"benign\" in label:\n", " return \"Benign\"\n", "\n", "y_preds, y_true = [], []\n", "for img, label in zip(imgs, labels):\n", " y_true.append(get_label(str(label)))\n", " y_preds.append(get_label(str(learner.predict(img)[0])))" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [], "source": [ "multi_y_preds, multi_y_true = [], []\n", "for img, label in zip(imgs, labels):\n", " multi_y_true.append(str(label))\n", " multi_y_preds.append(str(learner.predict(img)[0]))" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['abnormal_Dyskeratotic',\n", " 'abnormal_Koilocytotic',\n", " 'benign_Metaplastic',\n", " 'normal_Parabasal',\n", " 'normal_Superficial-Intermediate']" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "multi_classes = all_data.classes\n", "multi_classes" ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [], "source": [ "from sklearn.metrics import confusion_matrix\n", "\n", "np.set_printoptions(precision=2)\n", "\n", "def plot_confusion_matrix(y_true, y_pred, classes, normalize=False, title=\"Confusion matrix\", cmap=plt.cm.Blues):\n", " cm = confusion_matrix(y_true, y_pred)\n", " if normalize:\n", " cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n", " fig, ax = plt.subplots()\n", " im = ax.imshow(cm, interpolation='nearest', cmap=cmap)\n", " # We want to show all ticks...\n", " ax.set(xticks=np.arange(cm.shape[1]),\n", " yticks=np.arange(cm.shape[0]),\n", " # ... and label them with the respective list entries\n", " xticklabels=classes, yticklabels=classes,\n", " title=title,\n", " ylabel='Actual',\n", " xlabel='Predicted')\n", "\n", " # Rotate the tick labels and set their alignment.\n", " plt.setp(ax.get_xticklabels(), rotation=45, ha=\"right\",\n", " rotation_mode=\"anchor\")\n", "\n", " # Loop over data dimensions and create text annotations.\n", " fmt = '.2f' if normalize else 'd'\n", " thresh = cm.max() / 2.\n", " for i in range(cm.shape[0]):\n", " for j in range(cm.shape[1]):\n", " ax.text(j, i, format(cm[i, j], fmt),\n", " ha=\"center\", va=\"center\",\n", " color=\"white\" if cm[i, j] > thresh else \"black\")\n", " return ax" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot non-normalized confusion matrix\n", "plot_confusion_matrix(y_true, y_preds, classes=binary_classes, title='Binary Confusion Matrix')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot normalized confusion matrix\n", "plot_confusion_matrix(y_true, y_preds, normalize=True, classes=binary_classes, \n", " title='Normalized Binary Confusion Matrix')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZ0AAAGGCAYAAACgzlz6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdd5gW5fn28e9JExS7xMhibwiKhaLGhsYullhiSyKaWBIVS2L0jb9ETTQxmgR77L3G2HtBMYoFsGHBDkZRIypiF13O94/7XnxctwG7M/vA9TmOPfZ5pl4zC3PNXeYe2SaEEEIoQoeyAwghhDD3iKQTQgihMJF0QgghFCaSTgghhMJE0gkhhFCYSDohhBAKE0knhHZMkiWt0MT85yQNnoXtXizp+NkKrp2QtLKkpyR9LGnYbGznbEm/b83YyiDpE0nLlR1HYyLphNAGJE2UNE3SYvWmP5kTyTKzsM3vJArbfW2PnK1gCyCpi6RjJb0s6dN8fi6clfPQgN8C99ue3/Zps7oR2wfY/lMrxPMt+bgt6ZB60w/J049t4XZGSvpFc8vZ7m77tVkMt81F0gmh7UwAdq/7Imk1YN7ywinVv4HtgD2ABYHVgceBH7bCtpcGnmuF7bSll4Cf1Zu2V57eKiR1aq1ttaVIOiG0ncv49oVmL+DSygXq371KGirpofobkrQfsCfw21x9ckuePlHSpo0FIGl9SQ9L+lDSG5KGNrDMwpJulTRZ0pT8uVe9mF7L1VcTJO2Zp68g6QFJUyW9J+maRmLYFNgM2N72GNtf255q+0zbF+Rlekq6WdIHkl6RtG/F+sdK+pekS3MMz0kakOfdB2wMnJHPy0pNnVMlwyW9K+kjSc9IWjXP+1ZJUtK+OZYPcmw9K+ZZ0gG55PahpDMlqbG/AzAGmFdS37x+X6Brnt7s30HSCcAGFcd5RkUcB0p6GXi5YtoKuXT5lKSD8/SOkkZJ+kMTcba5SDohtJ1HgQUkrSKpI7AbcPmsbMj2ucAVwEm5+mTb5taRtDRwB3A60ANYA3iqgUU7ABeRSgxLAZ8DdRe1+YDTgK1szw/8oGIbfwLuBhYGeuX9NGRTYLTtN5oI92rgTaAnsDPwZ0mbVMzfLi+zEHBzXXy2NwEeBA7K56W5ksPmwIbASqQS14+B9+svlPf9lzx/CeD1vP9KQ4CBQL+83BbN7LvyJmSv/L1So38H20fXO86DKtbbAVgb6FO5MdvTgJ8Af5S0CnAU0BE4oZk421QknRDaVt2FZjNgPDCpwH3vAdxr+yrbX9l+3/Z3kk6efp3tz2x/TLoobVSxyHRgVUndbL9tu64q6yvSBbKn7S9sf6eEli0KvN1YkJKWBNYDjszbeQo4n2+XEh+yfbvtWtI5Xb1FZ+C7vgLmB3oDsj3edkOx7QlcaPsJ218C/w9Yt14b1Im2P7T9X+B+UlJvyuXA7pI608ANSAv+Do35i+0PbH9ef4btZ4HjgRuB3wA/zeewNJF0Qmhbl5Eu/kOpV7XW2nK1S93PUsCSwKstWG9eSedIel3SR8B/gIUkdbT9KbArcADwtqTbJPXOq/4WEDA6V3nt08gu3ieVFhrTE/ggX2jrvA7UVHx/p+LzZ0DXWWnDsH0fqfRwJvCupHMlLdBITK9XrPcJ6Tiaiql7M/v+L/AK8Gfg5folv6b+Ds0cVlMlSIBLSDcHt9t+uZll21wknRDakO3XSR0Ktgaub2CRT/l254LvN7W5ZvbVveLnv6SL0fItCPPXwMrA2rYXIFU/QUoo2L7L9makxPECcF6e/o7tfW33BPYHzlLD3bvvBQZVthPV8xawiKT5K6YtxayXCps8p7ZPs92fVB21EnBEIzEtXfclVzMuOhsx1bmUdL4bugFp8u9A43//5l4VcBZwK7CFpPVnLtzWF0knhLb3c2CTXGqo7ylgx3yXu0JetjH/A2bm+YsrgE0l/VhSJ0mLSmqoCmh+UvvBh5IWAY6pmyFpcUnb54vul8AnpOo2JO1SkUimkC5+0+tv3Pa9wD3ADZL651jmzw3x++Q7/oeBv0jqKqlfPg+z1P5FE+dU0kBJa+cqrk+BLxqKGbgK2FvSGpLmIZVOHrM9cRZjqnMNqV3pXw3Ma/TvkM3s3x9JPwX6k0raw4BLJDVZImtrkXRCaGO2X7U9tpHZw4FppAvKJaRE0ZgLgD65t9SNLdjvf0klrF8DH5Auxg21hZwCdAPeI3V+uLNiXgfgcNKd/wekNoZf5nkDgcckfUJq3D+kiedDdgZuJ110pwLPAgNIpSBIXcuXyfu5ATgmJ6tZ0dQ5XYBUUptCqj57Hzi5/gbyvn8PXEdqj1qe1A4zW2x/bvvehtpfaPrvAHAqsHPu2dbs80i5ivUU4Ge2P7F9JTCWdH5Ko3iJWwghhKJESSeEEEJhIumEEEIoTCSdEEIIhYmkE0IIoTCRdEIIIRSmKkYlDaE1aZ75rXkXLTuMFllzucWaXyiEduiJJx5/z3aP+tMj6YS5juZdlHkGH112GC0y6tp9m18ohHaoW2e93tD0qF4LIYRQmEg6IYQQChNJJ4QQQmEi6YQQQihMJJ0QQgiFiaQTQgihMJF0QgghFCaSTgghhMJE0gkhhFCYSDohhBAKE0knhBBCYSLphBBCKEwknRBCCIWJpBNCCKEwkXRCCCEUJpJOCLNpxZ4L8ug/dpzx878r9uKgIauWHVaj7r7rTvr1XZm+vVfg5JNOLDucJlVTrFBd8ZYVq2wXtrMQ2oMOCy/jtnqJW4cO4tXz92CjI2/iv5M/me3tTWnll7jV1tayWp+VuO2Oe6jp1Yv11xnIJZdfxSp9+rTqflpDNcUK1RVvEbF266zHbQ+oPz1KOi0kafavIG1A0rGSftPE/IslTZD0tKSXJF0qqdcs7muipFZ9f7KkhST9qgXLLSNpj4rvAySd1pqxtIaNV+vJhHc+apWE0xbGjB7N8suvwLLLLUeXLl3YZdfduPWWm8oOq0HVFCtUV7xlxhpJp0SSinpd+BG2VwdWBp4E7pPUpaB9N3ecCwHNJh1gGWBG0rE91vaw2Qyt1e2ywfL868FXyw6jUW+9NYlevZac8b2mpheTJk0qMaLGVVOsUF3xlhlrJJ0GSLpR0uOSnpO0X8X04XnaCEk98rSRkv4qaXQuSWyQp3eVdJGkZyQ9KWnjPH2opJsl3QeMyN9vlHRPLkkcJOnwvM6jkhbJ6+0raUwusVwnad6ZPS4nw4F3gK0k7SPplIrj2zcf43ySbsv7elbSrvXOTzdJd+Tl55N0YT7+JyVt38hxds/n7Yl8TrbPmzsRWF7SU5JOVnJy3u8zFfs+EdggL3eYpMGSbs376l5xrsdJ2mlmz01r6NypA9sMXJrrH55Qxu5DqAqRdBq2j+3+wABgmKRFgfmAsbb7Ag8Ax1Qs38n2IODQiukHkq7zqwG7A5dI6prnrQXsbHuj/H1VYEdgIHAC8JntNYFHgJ/lZa63PTCXWMYDP5+N43sC6A38C9hWUuc8fW/gQmBL4C3bq9teFbizYt3uwC3AVbbPA44G7svHvzFwsqT5GjjOL4Af2V4rL/d3SQKOAl61vYbtI/J5WANYHdg0b2+JvNyDebnh9Y7n98BU26vZ7gfcV/+AJe0naayksf7y41k8bU3bYq0leeq193h36udtsv3W0LNnDW+++caM75MmvUlNTU2JETWummKF6oq3zFgj6TRsmKSngUeBJYEVgenANXn+5cD6Fctfn38/TqoGIs+/HMD2C8DrwEp53j22P6hY/37bH9ueDEwlXdQBnqnY3qqSHpT0DLAn0Hc2jk85rk9IF+ghknoDnW0/k/e7WS7BbWB7asW6NwEX2b40f98cOErSU8BIoCuwVAPHKeDPksYB9wI1wOINxLY+KaHV2v4fKcEPbOZ4NgXOrPtie0r9BWyfa3uA7QGaZ/5mNjdrfrx++65aAxgwcCCvvPIyEydMYNq0aVx7zdVsM2S7ssNqUDXFCtUVb5mxFtWmUDUkDSZdxNa1/ZmkkaQLaX2V3f6+zL9radk5/bTe9y8rPk+v+D69YnsXAzvYflrSUGBwC/bTmDWBEfnz+cDvgBeAiwBsvyRpLWBr4HhJI2z/MS8/CthS0pVOXR8F7GT7xcodSFq73nHuCfQA+tv+StJEGj6vVWneeTqxyRo1HHT2g2WH0qROnTox/NQz2HabLaitrWWvofvQp+/s3L+0nWqKFaor3jJjjaTzXQsCU3LC6Q2sk6d3AHYGriY1aD/UzHYeJF1o75O0Eunu/0VSldOsmB94O1eF7QnMdKtfrs46GFiCXGVm+zFJS+a4+uXlegIf2L5c0ofALyo284f8cyapA8BdwMGSDrZtSWvafrKB3S8IvJsTzsbA0nn6x/nY6jwI7C/pEmARYEPgCFLJqLEiyj2k6sxDc/wLN1TaaUufffk1vX52WZG7nGVbbrU1W261ddlhtEg1xQrVFW9ZsUb12nfdCXSSNJ7UeP1onv4pMEjSs8AmwB8bWb/OWUCHXB12DTDU9pfNrNOU3wOPkUoaL8zkuifn6sKXSFVVG9ueVjH/X8Coigv1asDoXGV2DHB8ve0dAnSTdBLwJ6AzME7Sc/l7Q64ABuTz8bO6Y7D9PjAqdxw4GbgBGAc8Tar6+63td/K02ty54bB62z4eWDhv42lSm1EIoR2Kh0MDuRfYcNsjml14DtCWD4e2ttZ+ODSEosTDoeE7lB7MfAn4fG5JOCGEckWbzhxC0pnAevUmn2r7osbWsf0h3/SoCyGENhdJZw5h+8CyYwghhOZE9VoIIYTCRNIJIYRQmEg6IYQQChNJJ4QQQmEi6YQQQihMJJ0QQgiFiaQTQgihMJF0QgghFCaSTgghhMJE0gkhhFCYSDohhBAKE0knhBBCYWLAzzDXWXO5xRhVJe+pWXjgQWWHMFOmjDmj7BBCOxclnRBCCIWJpBNCCKEwkXRCCCEUJpJOCCGEwkTSCSGEUJhIOiGEEAoTSSeEEEJhIumEEEIoTCSdEEIIhYmkE0IIoTCRdEIIIRQmkk4IIYTCRNIJIYRQmEg6IYQQChNJJ4QQQmEi6YQQQihMJJ0QZtPdd91Jv74r07f3Cpx80ollh9Osg/fcmMf/fTRjr/0dl/xlKPN0ab/vcqy2c1tN8ZYVaySdEGZDbW0thw47kJtuuYMnxz3PtVdfxfjnny87rEb17LEgv9p9I9bb8yQG7PJnOnbowC5b9C87rAZV27mtpnjLjDWSzmyQ9EnZMTRE0rGSftPE/Isl7Zw/LyLpSUl7N7H8HyVtmj+PlDSgFWPdQVKfFiw3VFLPiu/nt2S9tjZm9GiWX34Fll1uObp06cIuu+7GrbfcVHZYTerUsSPd5ulMx44d6Na1C29Pnlp2SA2qtnNbTfGWGWsknXZGUmF1HZIWBO4CzrV9UWPL2f6D7XvbKIwdgJYkj6HAjKRj+xe2S7+NfOutSfTqteSM7zU1vZg0aVKJETXtrclTOeXSEbx0x5+YcM8JfPTJ54x49IWyw2pQ1Z3bKoq3zFgj6bSQpBslPS7pOUn7VUwfnqeNkNQjTxsp6a+SRkt6SdIGeXpXSRdJeiaXLjbO04dKulnSfcCI/P1GSfdImijpIEmH53UelbRIXm9fSWMkPS3pOknzzsQhdQfuAK60/c+8vTXy9sdJukHSwnn6jJJRvXOyez6WZyX9tWL6lpKeyHGNkNRB0ssV56eDpFckbQRsB5ws6SlJyzcUQ973AOCKvFy3yhJX/f3NxDmY6yw0fzeGDF6NVYYcw3KbH8183bqw29YDyw4rzEUi6bTcPrb7ky5+wyQtCswHjLXdF3gAOKZi+U62BwGHVkw/ELDt1YDdgUskdc3z1gJ2tr1R/r4qsCMwEDgB+Mz2msAjwM/yMtfbHmh7dWA88POZOJ5/AA/ZHl4x7VLgSNv9gGfqHc+35KquvwKbAGsAA3NVWQ/gPGCnHNcutqcDlwN75tU3BZ62/QBwM3CE7TVsv9pQDLb/DYwF9szLfV4Rx3f210i8+0kaK2ns5Pcmz8RpalrPnjW8+eYbM75PmvQmNTU1rbb91rbJ2r2Z+Nb7vDflE77+ejo33vc066y+bNlhNajazm01xVtmrJF0Wm6YpKeBR4ElgRWB6cA1ef7lwPoVy1+ffz8OLJM/r5+Xw/YLwOvASnnePbY/qFj/ftsf254MTAVuydOfqdjeqpIelPQM6YLedyaO5z5ge0nfgxlVbQvlRABwCbBhE+sPBEbanmz7a+CKvPw6wH9sT8jHWXdMF/JNstwH+E513izEQBP7+xbb59oeYHtAj8V6NLPJlhswcCCvvPIyEydMYNq0aVx7zdVsM2S7Vtt+a3vjnQ8YtNqydOvaGYCNB63MixP+V3JUDau2c1tN8ZYZa/vtK9mOSBpMujtf1/ZnkkYCXRtY1BWfv8y/a2nZef603vcvKz5Pr/g+vWJ7FwM72H5a0lBgcAv2U+dqYBRwe101X1uy/Yak/0naBBjEN6WeqtapUyeGn3oG226zBbW1tew1dB/69J2Z3F+sMc++zg33PskjVx7J17XTefqFN7ngulFlh9Wgaju31RRvmbFG0mmZBYEpOeH0Jt1dQyop7ky6gO8BPNTMdh4kXWzvk7QSsBTwIqlqbVbMD7wtqXPe7ky1BNoeLun7pFLZNsAUSRvYfhD4KanKsDGjgdMkLQZMIVUXnk4qCZ4laVnbEyQtUlH6OJ9U0rvMdm2e9nE+DmxPldRYDDOWq6ep/RViy622Zsutti5yl7Pl+LNv5/izby87jBaptnNbTfGWFWsknZa5EzhA0nhSkng0T/8UGCTp/4B3gV2b2c5ZwD9zddjXwFDbX0qa1bh+DzwGTM6/G7ooN8n2kZIuAi4D9iZdwOcFXsvfG1vvbUlHAfcDAm6zfROk9hPgekkdSOdls7zazaRqtcqqtauB8yQNIyXwvYCzG4jh4jz9c2DdijgmN7G/EEI7I9vNLxVCK8i9zYbb3qDMOPr3H+BRj40tM4QWW3jgQWWHMFOmjDmj7BBCO9Gtsx63/Z1n+qKkEwqRS0W/ZA5pywkhzJpIOnMwSWcC69WbfGpTD4K2FdsnAu17MKoQQpuLpDMHs31g2TGEEEKleE4nhBBCYSLphBBCKEwknRBCCIWJpBNCCKEwkXRCCCEUJpJOCCGEwkTSCSGEUJhIOiGEEAoTSSeEEEJhIumEEEIoTCSdEEIIhYmkE0IIoTAx4GcI7Vi1vZ/m1zc/X3YIM+Xv2/UpO4S5TpR0QgghFCaSTgghhMJE0gkhhFCYSDohhBAKE0knhBBCYSLphBBCKEwknRBCCIWJpBNCCKEwkXRCCCEUptERCSSdDrix+baHtUlEIYQQ5lhNDYMztrAoQgghzBUaTTq2LykykBBCCHO+Zgf8lNQDOBLoA3Stm257kzaMK4QQwhyoJR0JrgDGA8sCxwETgTFtGFMIIYQ5VEuSzqK2LwC+sv2A7X2AKOWEEEKYaS15n85X+ffbkrYB3gIWabuQQgghzKlaknSOl7Qg8GvgdGAB4LA2jSqEEMIcqdnqNdu32p5q+1nbG9vub/vmIoILoRrcfded9Ou7Mn17r8DJJ51YdjjNqrZ4p9fW8q/f7MRtf/5V2aE0q5rObVmxtqT32kU08JBobtsJYa5WW1vLocMO5LY77qGmVy/WX2cgQ4Zsxyp92udrkKstXoBxt13GwjXLMe3zT8sOpUnVdG7LjLUlHQluBW7LPyNI1WuftGVQcwJJy0h6thW2M0DSaa0RU8U2L5b0maT5K6adIsmSFmtm3d+1wr53noX1Bkv6QcX3AyT9bHZiaQ1jRo9m+eVXYNnllqNLly7ssutu3HrLTWWH1ahqi/eT99/h9Sf+wyqb7lR2KM2qpnNbZqwtqV67ruLnCuDHwIC2Dy0A2B7bRkMOvQJsDyCpA6lH4qQWrDdbSWc2DAZmJB3bZ9u+tKRYZnjrrUn06rXkjO81Nb2YNKklp7Ec1RbvQxeeyLo//TXpn2j7Vk3ntsxYZ+UvuSLwvdYOZA7VSdIVksZL+rekeSX1l/SApMcl3SVpCQBJIyX9VdJoSS9J2iBPHyzp1vy5h6R7JD0n6XxJr0taLJeqxks6L8+7W1K3ZmK7Gtg1fx4MjAK+rpsp6Sc5lqcknSOpo6QTgW552hV5uRvzsTwnab+K9T+RNDxPH5EfMv4WSX+QNEbSs5LOlaQ8fZik5yWNk3S1pGWAA4DD8r43kHSspN/k5VeQdK+kpyU9IWn5mf5LhXZn4tiRdFtwEb63fN+yQwmtqNmkI+ljSR/V/QC3kEYoCM1bGTjL9irAR8CBpB6AO9vuD1wInFCxfCfbg4BDgWMa2N4xwH22+wL/BpaqmLcicGae9yHQXH3ES0APSQsDu5OSEACSViElpPVsrwHUAnvaPgr43PYatvfMi++Tj2UAMEzSonn6fMDYHM8DjRzPGbYH2l4V6AYMydOPAta03Q84wPZE4GxgeN73g/W2c0U+9tVJpaG36+9I0n6SxkoaO/m9yc2cmpbr2bOGN998Y8b3SZPepKamptW239qqKd63X3iSiWNGctkBm3H38N8w6ZnHuOfU9nvpqaZzW2aszXYksD1/c8uERr1he1T+fDmpampV4J58U9+Rb18gr8+/HweWaWB76wM/ArB9p6QpFfMm2H6qmfXrux7YDVgb2L9i+g+B/sCYHGc34N1GtjFM0o/y5yVJye99YDpwTZ5+Od8cW6WNJf0WmJf07NdzpJuaccAVkm4EbmzqAHK7VI3tGwBsf9HQcrbPBc4F6N9/QKOjp8+sAQMH8sorLzNxwgR61tRw7TVXc/FlV7bW5ltdNcW77k8OY92fpKczJj07mqduvpjNDvlryVE1rprObZmxtqT32gjbP2xuWmhQ/Yvbx8BzttdtZPkv8+9aWvYMVUPr1q3fXPUapKTwOHCJ7ek5wQAoT/t/Ta0saTCwKbCu7c8kjaRifL56vnUuJHUFzgIG2H5D0rEV624DbAhsCxwtabUWHEspOnXqxPBTz2DbbbagtraWvYbuQ5++7bc6qNrirSbVdG7LjLWp9+l0Jd2BLparYOquSAsA7bPM2P4sJWld248AewCPAvvWTZPUGVjJ9nMt3N4oUkeOv0raHFh4doKz/bqko4F7680aAdwkabjtdyUtAsxv+3XgK0mdbX8FLAhMyQmnN7BOxTY6ADuTqu32AB6qt4+6BPOepO552X/nTg1L2r5f0kOkklh3UsJeoIFj+FjSm5J2sH2jpHmAjrY/m+UTM5O23Gprttxq66J2N9uqLV6AmlUHUbPqoLLDaFY1nduyYm2qTWd/0l1w7/y77ucm4Iy2D22O8CJwoKTxpARxOuni+ldJTwNPUdEjqwWOAzZX6oq9C/AO6WI8y2yfY/vVetOeB/4PuFvSOOAeYIk8+1xgXO5IcCeps8R44ERSUq3zKTAox7oJ8Md6+/gQOA94FriLbwaR7QhcLukZ4EngtLzsLcCP6joS1DuMn5Kq+cYBDwPfn7WzEUJoa7Kbrt6WdLDt0wuKJzQh38XX2v5a0rrAP3NDf7sj6RPb3cuOoyH9+w/wqMfiHYVt4dc3P192CDPl79u1vwc35xTdOutx2995vKYl7QbTJS2U7zap6+1k+6zWDjI0ayngX7kKahqwb8nxhBDCTGnJczr71iUcANtTiItdKWy/bHtN26vnrsZNvtdI0pm5OqryZ++CYm2XpZwQQrlaUtLpKEnO9XCSOgJd2jas0BpsH1h2DCGEUKklSedO4BpJ5+Tv+wN3tF1IIYQQ5lQtSTpHAvuRhiGB9OBe9A4KIYQw01oy4Od04DFgIjCI1P11fNuGFUIIYU7U1MOhK5HG5NodeI88pIntjYsJLYQQwpymqeq1F4AHgSG2XwGQFK+pDiGEMMuaql7bkTQY5f15yPwf8s1QOCGEEMJMazTp2L7R9m6kYXDuJw23/z1J/8zjfoUQQggzpSUdCT61faXtbYFepPGw2u9LLUIIIbRbM/XmUNtTbJ8brzUIIYQwK9r/i8dDCCHMMSLphBBCKEwknRBCCIWZ2VcihxBCo6rt/TRbn/Vw2SG02O2/mpn3PbZfUdIJIYRQmEg6IYQQChNJJ4QQQmEi6YQQQihMJJ0QQgiFiaQTQgihMJF0QgghFCaSTgghhMJE0gkhhFCYSDohhBAKE0knhBBCYSLphBBCKEwknRBCCIWJpBNCCKEwkXRCCCEUJpJOCCGEwkTSCWE23X3XnfTruzJ9e6/AySedWHY4zaqmeKspVoArh67F+Xuszrm7r84/d+1XdjhNKuvcxptDQ5gNtbW1HDrsQG674x5qevVi/XUGMmTIdqzSp32+QbOa4q2mWCsdfv1zfPTF12WH0aQyz22UdOZikiZKWqyJ+bWSnpL0rKRrJc3bCvscLOnW2d1OE9sfKumMttp+fWNGj2b55Vdg2eWWo0uXLuyy627cestNRe1+plVTvNUUa7Up89xG0qlSkooopX5uew3bqwLTgANaslJBsbULb701iV69lpzxvaamF5MmTSoxoqZVU7zVFGsdG07eoQ9n79aPbfouXnY4jSrz3EbSKZGkZSSNl3SepOck3S2pm6Q1JD0qaZykGyQtnJcfKekUSWOBQ/L34ZLG5u0MlHS9pJclHV+xnxslPZ73sd8shvsgsIKkbSU9JulJSfdKWjzv41hJl0kaBVyWj+1BSU/knx9UbGsBSbdJelHS2ZI65G38Mx/Lc5KOq4j/REnP5/PxtzytwThCKNMh/36W/a8ex1E3jWeHft+nX88Fyg6p3YmkU74VgTNt9wU+BHYCLgWOtN0PeAY4pmL5LrYH2P57/j7N9gDgbOAm4EBgVWCopEXzMvvY7g8MAIZVTG+RXHLZKsfyELCO7TWBq4HfVizaB9jU9u7Au8BmttcCdgVOq1huEHBwXn55YMc8/eh8LP2AjST1y7H+COibz0ddMm0qjoaOYb+c0MZOfm/yzBx+k3r2rOHNN9+Y8X3SpDepqalpte23tmqKt5pirfPep9MA+PDzr3jotQ/ovXj3kiNqWJnnNpJO+SbYfip/fpx0EV7I9gN52iXAhhXLX1Nv/Zvz72eA52y/bftL4DWgrvw8TKrEBhsAACAASURBVNLTwKN52ootjK2bpKeAscB/gQuAXsBdkp4BjgD6VsZi+/P8uTNwXl7uWlKCqTPa9mu2a4GrgPXz9B9LegJ4Mm+3DzAV+AK4QNKOwGd52abi+A7b5+ZkPaDHYj1aePjNGzBwIK+88jITJ0xg2rRpXHvN1WwzZLtW235rq6Z4qylWgK6dOtCtc4cZnwcstSATPvismbXKUea5nWvq3tuxLys+1wILNbP8p42sP73etqYDnSQNBjYF1rX9maSRQNcWxva57TUqJ0g6HfiH7Zvzto9tJLbDgP8Bq5Nubr6omOd6+7GkZYHfAANtT5F0MdDV9teSBgE/BHYGDgI2AZqKozCdOnVi+KlnsO02W1BbW8teQ/ehT98m81+pqineaooVYOF5O/PHbXoD0LGDGPHiZMa8/mHJUTWszHMbSaf9mQpMkbSB7QeBnwIPNLNOUxYEpuSE0xtYZzbjWxCoa3Hcq5nl3rQ9XdJeQMeKeYNyknmdVPV2LrAAKWlNze0zWwEjJXUH5rV9e24vem0m42hzW261NVtutXWZIcyUaoq3mmJ9+6Mv2feqp8sOo8XKOreRdNqnvYCzcxfl14C9Z2NbdwIHSBoPvEiqYpsdxwLXSpoC3Acs28hyZwHXSfpZjqGyFDQGOANYAbgfuCEnpyeBF4A3gFF52fmBmyR1BQQcPpNxhBDaEdn1azpCmLP17z/Aox4bW3YYoR3Y+qyHyw6hxW7/1Q+aX6gd6dZZj+eOQd8SHQlCCCEUJqrX5nK5S/KIBmb90Pb7RccTQpizRdKZy+XEskazC4YQQiuI6rUQQgiFiaQTQgihMJF0QgghFCaSTgghhMJE0gkhhFCYSDohhBAKE0knhBBCYSLphBBCKEwknRBCCIWJpBNCCKEwkXRCCCEUJpJOCCGEwsSAnyGEuVY1vaOmmt7905Qo6YQQQihMJJ0QQgiFiaQTQgihMJF0QgghFCaSTgghhMJE0gkhhFCYSDohhBAKE0knhBBCYSLphBBCKEwknRBCCIWJpBNCCKEwkXRCCCEUJpJOCCGEwkTSCSGEUJhIOiGEEAoTSSeEEEJhIumEEEIoTCSdEGbT3XfdSb++K9O39wqcfNKJZYfTrGqKt5piheqL98qha3H+Hqtz7u6r889d+xWyz3hddQizoba2lkOHHchtd9xDTa9erL/OQIYM2Y5V+vQpO7QGVVO81RQrVF+8dQ6//jk++uLrwvY3x5Z0JE2UtFgT84+W9JykcZKekrR2ATHtImm8pPslDZB0WjPL3y5poWaWafA4JQ2VdEYz6y4jaY+WRd92Ko9BUpMvgpe0kKRfFRNZ88aMHs3yy6/AssstR5cuXdhl19249Zabyg6rUdUUbzXFCtUXb1naZdKR1KYlMEnrAkOAtWz3AzYF3mjD/UlSB+DnwL62N7Y91vawptazvbXtD9sqLmAZYKaSTlv/bWz/oJlFFgLaTdJ5661J9Oq15IzvNTW9mDRpUokRNa2a4q2mWKH64gWw4eQd+nD2bv3Ypu/iheyzzZJOvoseL+m8XKK4W1I3SWtIejSXMG6QtHBefqSkUySNBQ7J34dLGpu3M1DS9ZJelnR8xX5ulPR43sd+LQxvCeA9218C2H7P9lt5e5V33QMkjcyfj5V0maRHcgz7VsRwhKQx+ZiOqzj+FyVdCjwL/B5YH7hA0smSBku6NS/bXdJFkp7J29ipgVhm5Tjr4rtY0mmSHpb0mqSd86wTgQ1ySe8wSR1zbHXHsn9ef7CkByXdDDyfvz8g6aa8vRMl7SlpdD6G5fN6PSRdl7c3RtJ6efqi+d/Dc5LOB1QR6ycV52SEpCfyNreviHn5HPPJjZ3/Bs7Bfvnf0tjJ702emdMXwhzrkH8/y/5Xj+Oom8azQ7/v06/nAm2+z7Yu6awInGm7L/AhsBNwKXBkLmE8AxxTsXwX2wNs/z1/n2Z7AHA2cBNwILAqMFTSonmZfWz3BwYAwyqmN+VuYElJL0k6S9JGLTyefsAmwLrAHyT1lLR5Ps5BwBpAf0kbVhz/Wbb72j4OGAvsafuIetv9PTDV9mr5vNzXwL5n5TgrLUFKekNIF26Ao4AHba9hezipJDbV9kBgILCvpGXzsmsBh9heKX9fHTgAWAX4KbCS7UHA+cDBeZlTgeF5ezvleZD+5g/lfxc3AEs1EO8XwI9srwVsDPxdknLMr+aYj2jm/M9g+9z8b2tAj8V6zMx5a1LPnjW8+eY3heRJk96kpqam1bbf2qop3mqKFaovXoD3Pp0GwIeff8VDr31A78W7t/k+2zrpTLD9VP78OLA8sJDtB/K0S4DKC8Q19da/Of9+BnjO9tu5dPIaUFeOHSbpaeDRPG3F5oKy/QnQH9gPmAxcI2loC47nJtuf234PuJ90ods8/zwJPAH0rojhdduPtmC7mwJnVsQ3pYFlZvo467nR9nTbzwONlaM3B34m6SngMWDRiv2Mtj2hYtkxFX+PV0mJHNLfapmK4zojb+9mYAFJ3Ul/88vzsd4GNHS8Av4saRxwL1DTSNxNnf82N2DgQF555WUmTpjAtGnTuPaaq9lmyHZF7X6mVVO81RQrVF+8XTt1oFvnDjM+D1hqQSZ88Fmb77ete699WfG5llQf35RPG1l/er1tTQc6SRpMurCta/uzXBXWtSWB2a4FRgIjJT0D7AVcDHzNN8m4/rbcwHcBf7F9TuUMScs0cDyzpCXHKelAoK7Kb+sGNlN5/tTA/LrpB9u+q4H9N/a3gW//fabzzb+rDsA6tr+ot71Gdv8tewI9gP62v5I0kYb/tg2e/6J06tSJ4aeewbbbbEFtbS17Dd2HPn37lhFKi1RTvNUUK1RfvAvP25k/btMbgI4dxIgXJzPm9bZsQk6K7jI9FZgiaQPbD5KqZR5oZp2mLAhMyRfi3sA6LVlJ0srAdNsv50lrAK/nzxNJpaA7SFVClbaX9BdgPmAwqarnc+BPkq6w/YmkGuCrmTyOe0hVh4fm+BauV9pp9jhtn0lFaamFF/aPgfkrvt8F/FLSfflCvxIwOy2hd5Oq2uraXtbIJd//kDowHC9pK2DhBtZdEHg3x7ExsHQTMX/n/Nt+dzbinilbbrU1W27VUJ5vn6op3mqKFaor3rc/+pJ9r3q68P2W8ZzOXsDZkuYlVZPtPRvbuhM4QNJ44EVS1VNLdAdOV+qO/DXwCqmqDeA4UmP/n0gloUrjSNVqiwF/yp0P3pK0CvBIvtB/AvyEVLJrqeOBMyU9m9c7Dri+FY6zOeOA2lxtdzGpDWYZ4IncfjIZ2GE2tj+MdFzjSP/W/kNqBzoOuErSc8DDwH8bWPcK4JZcCh0LvABg+31Jo/K5uiO36zR0/gtLOiGElpNdv8YoNETSscAntv9Wdixh9vTvP8CjHhtbdhghzJStz2ryEbZ25/5D1ns8dwT7lnb5nE4IIYQ50xw9DE7uVjyigVk/tP3+zGzL9rGtElQIIczF5uikkxPLGmXHEUIIIYnqtRBCCIWJpBNCCKEwkXRCCCEUJpJOCCGEwkTSCSGEUJhIOiGEEAoTSSeEEEJhIumEEEIoTCSdEEIIhYmkE0IIoTCRdEIIIRQmkk4IIYTCxPt0wlxH0mS+eVNsa1oMeK8NttsWqilWqK54qylWaLt4l7bdo/7ESDohtBJJYxt6aVV7VE2xQnXFW02xQvHxRvVaCCGEwkTSCSGEUJhIOiG0nnPLDmAmVFOsUF3xVlOsUHC80aYTQgihMFHSCSGEUJhIOiGEEAoTSSeEEEJhIumEEEIrkTRf2TG0d5F0QpiLSVLZMcwpJC0IHC9p17Jjac8i6YQwm+ou3JJWldSn7HiaUhHrYElruZ13X62Id11JK7XzJDkPMAEYLGmHsoNpTsW5XVFSH0nzF7HfSDohzAZJsm1JQ4BrgG6S2u3/qxzrNsDpwHfGxWpPJHXI8W4BXEE7j9f2u8C1wJPAkPaeePK53QG4DDgKOENSmw+H027/c4TQnknqCjP+4y4L/D9gL9uP255ebnTfJqlLxeeFgN8C+9m+q7yoGiepO4Dt6ZK+BxwD/ML2qLqSWXsq8VSUGGT7beAqYAztPPFIWg44GNgYeAxYBXi1rc9tJJ0QZpKkhYETK6ojvgAmARMldZLUMS/3vbJirCOpB6mdoa6BW6RqoIl5fpf8e9FSAqxH0iLAfhXxfAi8CTya53fN0xcpIbzvqCjpbgmcK+lwYFngQlLi2UrSzqUGmdW7+egGTCWVyn4O7AnsbnsKMKjiPLe6SDohzDwBfwcWkbQe8AEwP7Ca7a9t10paFzi4qHryxtieDJwP9JDUL19UHgZ+LWlh29MkDQaulrRQOyhB1AL/BjpL+pHtaaRzOxzA9heS1idVBXUvMU5yPJa0NfBn4CZgbeC0/Ps84FlgG0mLlxcl5BuhHSX9KFeh/YV0XhcC9ieVfF+VtClwNrBEW8XSqa02HMKcRlIX29Nsf5CvzTuS7hB/DpwC/EPSdcBnwH7AEbY/LinWzkAH218Cr5Gq/zaUdBhwNbA9cIekS4BhwG9sf1hGrDneLkAX21Nzm9h+wAqS3gN2BW6SdCNwH7APcKztT8qKt46keYH1STGuSCrl/Av4E+mcnwXU2P5faUEC+UboIWAU0BXYyPZESf8BpgM/l/QS6d/CEbYntFUsMfZaCC0gqROwJal2YDKwKXAlsDWwBfAr0suwNgYWB+60fV9d9UsJsW4PvAXUANvb/qmkE4GlgRNJL7H7Malk8Zrt+8uItSLe9YAF8s+KwMXAj4BlSCWIB0kXxC+A8WWd2xxvXZXaUrb/K2kx0oX8GlJCfAu4l3Ruty4zmdfJJdgFSAlxKeAfts/L8zYA+gELA4/YHtGm59Z2/MRP/DTzA3QEegOPA/8D+uXp3yddDG8E1io7zop41wFeJrXdDKmYfhKpoXv1smOsF++GwAjgDWDHPG0x4DekUuSWZcdYL95tgNuB3vn70qRqwQ7AIFKVZu92EGddwaJ7xbSVSe1Nv83fVwR6FRVTtOmE0AK2a4EpgIEXgf55+jvA5cBIUoP9wnUdCcpQ1yZj+1HSRfxD4Ov84CK2f0u6Ez+hPbSJVHQvf5RUDfgE0F3SErbfIw27PxnYQtL3SwrzWyQNIrXp/c72C5K62n4d+By4AbgeuMX2CyXHWVci2x64VtLdkna2/SJwEDBU0vmkm5DCzm1Ur4XQhIr/uIuQkk5XUtfSo4BHbf9DUi/Sne5E25PaQawrkJJNB1KD8OnAObavyN1k3waWsP1aWbHCt+LdgtTwfiKwGaka82Xbp+Vk2Rd4px3Fuy+wJnAssAcwBPja9paSepP6F7xYVvVfpXxuTwC2A34H/Aw4xPZFkpYnVQvfbntEUTFFSSeEJuSLzA6kO9ixpGdcOgPnkJ48v5DUMP9xmQkHvtWT6l+kKqlLSbEeTuqG/CdSb6o1y76Aw4x4twP+AYx26qRxG3ALsJKkC4DxwKdlxlvRo6+u49WNpCq0m0ntNgcAn0paz/YLuSRBGQlH0lKSKl/KtgQpsQwEVgV+CfxN0kG2XyV1IBlRZK/FKOmE0ARJK5Geht8L+Jr0MN07wD+BnqQLzq227ywtSGZcGJcA7iR1gX2J1E5yLLAT0B1YA5hg+4GSwvyW3PPrbOB4UtvTRsC2wHGk6p4fkEqP95QYY13pZjNSh5HnSKMOfAHMa/sjSX1Jif7Htp8rK9Y6ktYCpuakUvfs0yXAn20/IulyUslyg1w9XKjoMh1Chbpu0fnzPMA04CNSD68vJJ1MKvVMtH0FqW6cMqpScrfoLrY/BbrlWF+0/Uhe5IZ8QdzW9nBJ45xHS2gPVT+2P8vtXxeTH64lNWpfQupx9xyUG2tOOJuTSo6Hk6oq1wYuAMbmZ5wuAA4rM+FIWhrY3/bvbD8haYSkhWz3d+ri/zqpy/yCpE4xe5SRcCCq10KYIV8Ad5I0RFJ/0gN0HUmDOG6e/xP/l3RRnC+vU9dwX0a36E2AtSX9DDgD+BToKemsikU/AXrlGGcMz1NS1U/dcDFrStpAUnfbe5LG/vqz7SNIJcevSQ8ulhZrjrNDLiXsAewMfEUq4XQmPUe0FqmH4B62by6yiqoBHwM7S/ozgO0fAv+TVFeqvZ3UVfpU4ErbY8oJM6rXQvgWScuQngnpDGxo+yVJBwMrkS44T5KePt+r7GoqSRuSukD3JNXN/ytfJG8mdRa4hdQGdajte8uL9Bu5Dec4Upfd7sAlzmPASdqN9EDlsbZvKDHGTra/rvi+EOnJ/cuBHwLzAi8AFwF/sT21lEAzSZ1tf5Wft7mS1HPuV3nevcAXtofk7z1tv1Vm6TFKOiFk+U71Q9IF5UNSmwK2TwduJT2fsxFpyJD20C7yNHAb8AqpW3Qv2x+QYnwZ+B4pGZWWcCTNnxMhklYDDgU2J3WRXps0NMsuuet0P+D3tm8oo9SgNKYetr+WtKGkw/KFvCupO3R3oAtp3LenSSWGUhMOQE4425F6VJ4P7FrXmcD2psCikkblxd/J00srbURJJ8z1KhqL58vtI+S2kEuBK3K36BWBj1zycCYw49mWHsBDpKF4upPalkaQqv56AF1tT8zLl/XkfndSSewJUuP7vKTRGhYi9VgbCtR1Px5u+7qy4lUaAPMsYByppHsxaYy6+Ulj650J7EIagWJBUjK/tcgYG5KT8zykdsbLbF8paQHgEeBh2/vm5QbZHl1iqDNER4IwV6tIONuTuhV3Av5p+8ZcrXaBpJVJ9fe/JJV2yo53Oqm+/gLSMCt/ldQT2IH0TMs+pCfmJ0J5d7W2P5H0CKlKahpwo+2n8nm92PY4SY+RSg7PV6xXRry1pGFs9iT19vuV7f/k0tlWpGdx/gbcDXxu+6kSYvyOfK6+kPQ8qTRG7lE3FHhM0vu2j2ovCQeiei3M5XLC2RL4A6lx+DXgEkk/tf0w6UL+GfD/bI8tMdQ6K8KMO9z7gQEAuZRwNjAa+FGOvTS5NIbty4A7SN2Nt1d6xcKrpGdFfg38HjjP9vjSggVyj8WRpHaaxYGf5OnPkBLi+sA024+UnXAqOmT0kdRXaSTzx4FhkpbMi31N6qBRalf+hkT1WpgrVZRw5gUGA++Tng05jHTh+QdwtO2zK5Yte4DJjsADwFPAe6Qnza8Cxtn+Y2PrFRvtt+JdFng7dzXfhFSVdqftS3IbxEbA3S7xZXKVVaukpPKV0vD+hwMjbZ8kqR9pOJ4dbb9VVqyVJG1FKnldD/yCNC7g0aQHQN8mDTz7c5c4kGtjIumEuVb+j3sQsBupqvky4I+2R0u6mlSltkGZ7TgVF8WtSNVQNwJ9SMOZLE7qJr0IqXRT+htLK+LdkvRMy2hSm8MwYAVSafJ+Uk+wr5zeDlp2ctwWOJD0UrNbbV8m6Yc5/g/zz9m2by46xobkZH4xsDdp8M7TSaNMfCxpDVKb0xe2HysvysZF9VqYK0lalVSq+b3tj51ebvYq6QG6LUjvGPlJ2R0H8kWx7iVhH9v+1PYY2weTRkV4FNgA2L3MOOvkeNcmVaftTepR9QjpjvxZ4DrSayEWq0uSJbY51Y379kfSzcfrpKrVXzmNRXYYqQ3vTy7/OZxKk0kdBzYhdT/fMiecIeQRJ9prwoHoSBDmQrkqZTtgddJdYd2DoWNIY2rtB/y6PTS+5rh2Ag7PVSWdgOm2p9u+H7hf6eVbu0i6stSusKkdpzOpp9ontg/LpYm/57aGHWxfKOmxMqupKko4da+83ps0iOtAUoeB6yRh+yxJY5y6oZf5kGpdvPM7vRTQpLbGlUmvJKiVNBD4P9ILBUvvxt2UKOmEuUJF4+s8uVv0OaT32O8hqb/TqwuuJD1HMtj2Le3kzrYjsCTpAgPp2jc9d+musxyp11rZN5F2elPpYNKzIcdVXKg/JL2QDVKbQ2kqSjjnkLpITySNhHCs7dtJpbJTJdXUJZwy5Xi3A0YoDcO0Ht+8gO9YSX8gPZ/zF7eDsd+aE0knzBXyf9ztSV2gryNdpC8n9VYbmp9jqCtBvFW3TtFxViTHpfJFbxpwMtBf0mb5rvYHwJWSeufSxafAAba/KjHeDUivPN7YaUTodUi9qa7OF8wdgMeg3AcTAXIX+EOAE2y/TRoq6BVg6VyV+RnphXyljhpeR9KipLeo/o30zNNBpF6La5Gq2j4Dhtm+qZ3cKDWp7DujEAqRL4pHkf7znkPqAr2VpK9I3WN/LukF2x+VGGPlM0O/AWoljQX+S2p8/5ukR0klicP9zUvCri4lYGYk862A4aTk+G9Jf7J9Sm7UfoRUEtvG9iTVG2KmSPmCPD+pt9dypI4YdSMQvEKqWt2c9EbNZ+rWKbnKchCpZPOu0zBHXUnVZ/sDPWyfVrl82Qm9JaL3WphjVV4wJO1KenahljQe2Z62J+T/xAsD89l+paQ4O9eVUpQe8rwZ+ClpgMl1SG0NV5BeIvd90rD14/LyZff8+h6pc8AvSGPAnUt6M+ndtk+QVEMaOeES28cWHWdlrBXflyH1pvsC+LftJ/L0bsCCtt8pO9nkeDYgjWD9CKkL9O62R0nqQnpgdV/Su3LeKDvWmRFJJ8zRclXUQqShYvYmjQ491PZrSgNMbgnsW0bVVI6vB+l9Mqfafl5piPprgPXzHXgNqYfSw7YvLCPGSkoPIvayPT43Xo8nndvFSe0Kg0gXyLtIw/2foTSE0C2kXnbvFXmBrEiOW5CGsHmZNI5eLendSJ+TukmXNupyQ5Te/noZ6Rw+Kuko0vk7wfbDOfEsaHtyqYHOgmjTCXMUScsqvU64zlBApNJDZ9Jd43Sl96D8H3BtiQmnS75odAGOlLSi7ddJXYuPkTRvbld4lvSMS+VbLMuyAHCZpFNJz4cs5/RelkVJVUAG3iWNA/cwgO2XgVVtTy76jjwnnG1Jr6l4gNTN+BxSNdsppFLuDjmZtgtKo4fXkG6W6kZGOJEU/1+U3lA6rRoTDkTSCXOe+YATJR2Sv3cBOtv+gjR2Wg/gGNIQ+kfavq2MC7mkxUl32tjemzSo5B+V3lR6CemByhtzteAw4J68bNkvXptEqvL5JXC/0/hpHUgN8VMl3USqbju5rtoqqy0qxnzjsZ+kjSStQhq9elfS+G+9SMnwFFIJ7STSQJkfFxVfUyStQ6qi/JTUbvN9SUcC2D6JVIKcVl6Esy+q18IcQ1LH3LtrNdKF7/9I3Y0nAKNIF/aepCFvOjgNjFhWm8gCpCqpz4H5c3XVKaS725NyrHuTSmljbd9ddIyV6rWPrUEaFeFM0vNMF+bp/UgX9U9d0qsfcs+0K0kP+n5Bage7hNTL61pSW9lHpDHJPga2yl3oSydpOdKwRufZPl9plO7+pO7cL9g+rtQAW0n0XgtzhHxRrM13ts+T3vR4DbAsKQHtRapeM+lC+QKU1i26LuF9Sur11VXS320fmqutjgSOt/2XomNrSEW7yCakEaOfIj0R/wpwt6QPgWdIpZ9flVUayx0EHgF2tX2PpI1zTJCS9yu2X1YaMeEx4LT2knAyk17b/UtJ1zu9Zno06Tp9oKTlbb9aboizL6rXwhwhXxS3IzW+rpl7d21Pajh+kfRU/47ALyu6GhdKmdPDnfM4PZB6NKnkdaCk3rYPIZV+TlAajLRU9RriTyO1Lx1OepByNOkcn0gqXdxVcvXfVFJyWQ/AacSGjsASpIv50pKuIo1fd7vt5xvbUBHqqnWVRoteh1QaOxS4DxguaRHbn5MS6S/mhIQDUb0W5hCS+pNGh97Z6RXTS5CqV7qT7mr/7jQcS3voCrsZqcrkNdJF/FLShbsLqWrleUmruMTh/iV9P3cQQNI8wO9I3bYXJVWrbWf7zTy/7qVxb5RYXVlXtdqDNJzRZaQS2a9JJZ83co+v1UiDYT7XTv4tbEsaV28UaVimw0nJZ1/Ss0T7ux2MitCaIumEqpfbR3qQ3s1yL6ldYTPSXe+vSY3Yi9geWVJ83we65eeC1iMNv/MHUnXKATnmk4BTSc8S/a7Mah9Ji5Gqzq6xvX+e9ltSqaYTaYj/SfmC2dn29WXFWqki8XyP1FmgBljI9pe5J+BnJYcIfKv0uCSp08BPSM9jnQSsZ/vD3GX6IOAi20+XGG6ri+q1UNXycywnkQbufIFUPfFa/n0TsJLtcbZHFt1LLdemdSWN5bVinrwIcKnta2z/i9TWtCGp7ekPwDntoJ2hG2kUhN2VxvqClBi/AK7MCWdt0ggE7WZwyZxwOtl+F1gbeAc4Is8rPeFI6prb8yz9//bOPd7O+Urj3yepuoREhChCU7RIMRgRBKHjXpKijVJVKa0yZegkNVWpoCl1V2raQRHqlnFJRtxvk7hV0Li2WkXDuBRNkSoS1vzx/HbyOpKQONnvPifr+/nsT/d+93uOdXZ23/Wu27PUE7eW34mdy0hg1+JwvoDTgUd0NocD6XSSjs8y+I52epllGFQu5p/EKYq/NE6sY0aktGq/UrGjG/ANST3KOc/iCf7eEfFq3XWGik1HYHmdHSSdjZszLgIGSroNbykdEV4B0HRkpfAPEB6o/UREvIoHVQ+XdGpzrfsgpa18C6xHtxMeCF4dd1cOwTWbpyRtAZyN55/ers3ghUg6naRDUlJWlKaAibjwugzwjqxXdQ5OU91ek30ryBP74N08Sxd7L8PT+bfKgp2bAxsCtV5gii1HSFpZ0mLA/bjteFdgDRzVXIhTQYfiNQW1KHEXhzNJ0tA5vV8cT9cyPLkO/rxrJbw76BEsfHoRcEWp2f03vunYV9LxeHB1eHQAtegFJVumkw6HrE/2H5L6YO2pa/Aw5XIR8WdJz+Pi8R/rKBaXC/EhQJ9yh9ur+n5E/Luk7+G04BK4E+z+ZtpYpRTYR+JFcOvgwcQj8F34MCwfcxMeotwHNz8A9bScR8TfywV6tKS3I2LcHM6pptr+AvWLd+L5oFdwo8OOku6OiFskvYoVJ3rjxoE7W8DWhUY2qaCIKgAAGZlJREFUEiQtjzyl/2082PkXLGnzJzyx3R3XcwbhWslRddlZRdKyeDh1Ol4M9iyWhumFN1S+gMU7LyuF7lZQMz4Mp9HWxHb/H3Y6m+I27lvxRfGRGu0UzGqR3w04FeuTXTOHcxuNBUsBM8NrIppKpWlgNSzU+lrpsDsJb4I9pHRafioiftts++og02tJSyNPmF+Jnc04fDf4dWDziDgSGI1beZ8ANpSn4mulFIv/BhyHswlL4w663liFYBDe8Di1kbev+662zNz8EtcZbsSzIg/jqKZPmRcZWLfDKZ/TMrJu3dXYUZ4m6Uttzm04nGVxO/Iaddkrr5G+FRgv6dyS9jseWFbSjcD1OFJfJMj0WtKyyLIgVwInR8QF5fDlkg7B6YmpEXEX8IKkR3H31+r4Ylkb4eHPLuWu9njc1DADuLLRjaTKOoNWISL+V16HvS9OAV2AVxTUbmflAj4EpwG7SjopvLhsJnY8i0XE2JJWm1maNcbiBWdNm3lqOLxi72fxTdKeOIq8vzieAyQdjCP4KRFxb7Psq5uMdJJWZk/gOWBim4L12bh9d7/GgfCg4pvAzpK6NLPAXdqi30fF8fwdR2OfBA6WtFmx7b1m2Tc/lG608/FmygNxCrD2eki5gG+Pa0/fw23d50oaEhET8I6kUyWtWBxOT9xAcExETGqWnfKM00hJq8pDtSfglOqrpZNxI6C/pMsj4o2IOCUibq2jIaMu0ukkrczZuOPnX3FdAXCRGOuqrSGpa8XJvAecFV453ZQLpLxKeLgsR9841qg7zIp4cIvsP4BppZW6aarL80t4iPYiLDbZpRyrs97UuCBvxOxVzT3xd+BESUNLTWejiHipnLsLcHRE3Nlkcz+DZ7EOxpmkM7Gw6CBJK5W60ibAP0naoFqjarKdtZGNBElLUi7W75UUyY/K4bHA5JKr/wqwA05PNFpS67BzDewU3wQmRMQ95XhVlbnxt1Q3hNa68fMjntsrPO9SC5WU2hIlSmg4+YuwsOgz8szQm8CwaJH9MrKO2u74Jug4YHMcld8A3BYeru203WkfRkY6SUvSJko4thweikUbtyjHrixRTW2pqrAI4y+xpM1gSZuV41E5571SZ5ghabFyEa3lglMu4v8i6ThJW5dOqg9Q6hKvSurabBsbFFt3AM6UNKIcnoZVEPYoHXfTsSJ37Q6nErXci1W4u+B04F1Y+mh3YDu5RX2RJZ1O0hJ8SF2k4XjexeKIF+IBuuubbOYsqjn4iHgCr2p+FxjScDyN88oFfGbppPpPvDOnFnslbYzngz6FJXgOkKWEqudWO7+OlLXtmk4pwp8C3AEMlXQC7v67DA/UXowFUmsrwss7b4BZTrLheO7B8kddsZL4vfjffkp46+ciGeVApteSFqCkTA4CJkbExHJsTumpHnho8eaIuL3uFJWkbYGd8PT+RCzWeQgWGr0hIia1sf0q4LioT3h0I+AsvE/oHlmOZRscPVwcVmJuOJweuBB/VOPfpEk2Nj7bz2PJoP4R8XN5IPhs4EHc6PA8sGpJsdX1PVgKa6edGhEXl2ONz68nbnZYBas4vIO11FqygaSZZKSTtALL4uLr9tX01FwK8j+K2dI2tXT8FNt2xnfhD+GW2EaX0hm4U22wpJ4VhzMOF7bvaKatbbqiZmDh0f0ASqR4Kx66HSZpyUqEczWWEWqawyk2NZbF3QGMAn4gaZOIeB53020JHF5OfabxM820sWLrm8AxwI9KjbGhhLAydo6bRsRk3PBwXjock5FO0hLIQ6D74I6f8Y2CfJtzGvMXiwFdG8XlZlPaYkfhafjP4XTVOKAvTgO+hiX1/yDPvfwcRxJNa91tY++WwGoR8Wt51fQ5wLiI+HF5fyfg6Yj4fUlz/ho4o9kOp9iyHnAA1iS7F3erbY3rNpMlrYiHVR9otm1Vql1nkr6II8gjIuKKUn96LSL+q04bW5aIyEc+anlQbnoqrz+NW4tPADarnoedDDgqOhfLhtRp60o4argXa5R9Hk/vXwYs3ebc5er6bIHNsEN8D29NBS8LuxNfyNv+XBegb0229sMSR78Fti3Hlgf+Da9WGNDsz/FD7O0OLF6e7wQ8jQVSu1Y/z7rtbbVHpteSWqjWRSSdImkvXBM5s/zvLuUOHfx/8kad4UocNbzYTHuLrdtIGiZp44h4obw1LbwKYDGcajs6IqY3/sbys03f/Fjs3ZLZW0n3B0ZJ+k5YFeFQrOqwZqXJoEu4G/CZZtlZ+R5sgW84vo/VEPaQtHJEvIJXYV+PGzVqpWLvEHzzc4mkgeFU5YE45frVyrmZUmtL3V4vH4vuA6sXP4RlV67D8xf98BbQk8qjZzm3B87zb1GTrRthfbeLcIv0d8vxu3FdZCpe4Vzn57kScFjl9deBn1Veb4aVHPYvr7vX/R0odvQHfgbsW14vhVN8Z+FmAfCG0tptLbZsj5tHVsIK548Be5T3dsbirk2NxDvSIyOdpBZKXWRnYDcs5tkHeAb4AU6hnYTbYaeVusiJwMho4oR5JQLohVNS342Ir2MHuZ6kfSNi82LzLhExvk3hvtl0B26UVYvBF7+VJC1Zoph7cLv5TyR9KSJer81S3tfkMAB/F1bR7LXS++MGh6MkLR416r9J+oykQyuH1se1pv74BmkMcLykr0XEdcAG0eRIvCORjQRJ02jb2loujkvj6OEr+KJ5Oa6NHBAlTVXOXS5qSFNJGgwMxwrRV0XEkaVVdlvgy8ADEXFGs+2aG6UR4JfAXyPicEljyltnMFuh+7fAWsC3ooYLQCVFtQrwYjh1ugdumx8F3BcR75S/Ze2ImNJsG9vY2xPX754Ld9E1bkQuBP4tIv4k6SacFt4vvMMnmQsZ6SRNo1xoOkxdRNKGWEPru8AI4KslQngTF7avxqm1WqlGV+GOvtOAXpJGRsS+eC/Od3DN5GS8i2gJ6m053xF3qF0g6RKcOj0PD1IOlFcXvNUCDqdrREzD6bQJks4CCMsDvQF8WZa9eQs4Nh3Oh5ORTtI0ynDipcB9WC/rkYg4S9LdWAzzsziFNb5GMwGQ1BdP7O8GbFgulLvjovxR4dbYLtEihWJJ/4LFJl+JiGvKcOUPgcdjdmt0d2Ag/hv2iZp248hL+cYD3wJewp/xrlhLb//yfGi52NdGJSLrh1OVS+KB2YkRMaLMan0NC6OOiIja12J3COouKuWjcz+YfWPTC2+h3K68HoLTQI3i8SbA+tWfqdHmHbA44xAczYwCupX3huIL0IotYGfjsx2A62HHAb+htELjpowrgdPL625YnHT9umwtzz+N63VQWorxLNPe5fnqdX6ubT7bXXH0vUl53RunJ0dVzu3b9m/Mx9wfGekkC52OVBeRtC5wOu4Ce7SkgXYAXsUX7+nyzpaX5vmLmoSk/njv0MRwI8OnsdzOdRExskQ8n4iyPK5OJA0C1sbrun8F/DAizi/vHYvXN5/UtvbXZBs/GWWttaz9NgZH3w9UhpNXwHNO10fEYXXY2ZHJzaHJQqVNXeTTwBmS7gungG7Bgoh/rNPGBrJ445eAdbEsD7hm8x5WCB4h6RjglXosnCMDgMHA86XL68+SdgNuLhfQI6D+VQqSBmDttCfwBs2rgNGSeuN//8F49TQ1OpzueJZpZHj53kzcCv9E6aCMYt/LkjbHDjSZT9LpJAuNUhcZjBWNH4mIh2UJmxPLBfEKSeOixrpI9WJcophf4C66r0l6PSKmSLodO8c/12lr1V55lfeL4ZrYC3gw8TfFoU+Vt2yu2vi5ui7kxdZNsEbZXuU7sA9eK34NXsjWDdfJ7qjDRpglw9QPt+YvL+9Jehq3768VRXanOJvtgNHhVenJfJLda8lCQd6D8gtgCv4/79GSukXEVcBRwCmyjlat+d1yUdxF0jmSGvppl+AayTcl/XNEzIiI6yPi8TpthVn27gRcgcUwJ2CZmwl4XmgLeVncn6P5WzPnxrI4lbpdeX0Z8CTwNzxce3REXFvXjFNp3b8Od6D9DW8dPQUPqZ4P/ELS9yQdDFwA3B8RM+uwtTOQTidpd0pdZATeeTMONwz0AA6XtHREXAFsHBEv1XUHXrF1AN7Rcwm+AI7GA3+/xgvCviVpmbouiG0pnVSjcUPDa1ibbIlSE7sVO/Sl5/4bmk9E3ITTk9+UtFe5YDfmsW6sRJp1fRc+hWV2ZuBI52bgNrz/5mZcj1wSp9MOiogJNdnZKchGgqRdKXWRw3ANZ2hETCwptW3wheclnGpRRLSCltYw3Jl0UHm9F1aKHojrOjPC20Fro8yKvFuer4EbG55mdsrqT5I2j4i7Ja0WEVPrtHdulBbj47A0z4V121OlpFA3w9/Z8SUK3x8vizsyIv5YZ4NDZyJrOsnHpiPVReZw4XgG2FpSH+D5iLhUXs7WJyIerMXIgqRlIuKN8MT+lngO523sbF7BC86mS9oKOELSAa3qcAAi4rpSkD9B0s24JlX7nFOZH5uIF631l3R/RDwv6VysknCqpL3xbFntN0odnYx0knZB0i54rqU3vpudieXeVwIujJr3n1SRl4R9BngZD/uNwTWGe3BKbQywW9Q0PFlsXArPCp2BBSWvBh4AXgC+gBfFnYyHan+A50bG1WPt/CFphYh4uW47ACT9M06jfa1EM2PxVtKfRMRLJeLpFhFP1WpoJyKdTvKxKXWRc/Dek03wRfFk3B77HZymGgFMr7Edttq6eznWe9sBGIvXKfwQt3SvjOdxrq3Dziql9fk/gL/j7q67S3ptF5wKWgI7y1sj4vpM/8wfpWPtWuCEiDivHOuBndDr2JGncGc7k+m1pD3oB9wVXiN9u6SpeCZjII4aZkTEG3UaWBxOfywsemjJ25+HI4iuETESQFLviPhLK1zAI+JqSW9gVYEv4EaHqbies2pEDG+c2wr2dkCeBX6PG1x+FeY1SQfh4dXlgHQ67Ux2ryXzzRw6uZ4BlpLUR9YjuxTnyPtExO/rKsQ37KzYuymeG1qzDFI+g4dBh0k6rZzzMtTaSfU+IuIWYD9gv9L5NQN3rQ2StGLjb2sVe1uZyvdh/ZJi7YZXpP8GGFfqTUTEa7ihoPYW+c5IpteSBaIj1EUayNIwL4Tl8r+MBymPAX4TETPK+31aedhP0q5YSn8Snie5OFJgcr6RN36OwlHjWsDx2OmcCqwBbN8KXZWdmYx0ko9M5U5xAE4/9MVzIcOxYvAn8J3jsVi7rC4V4zUkHVae74hnLc6XdDlwO0X3i/cPUraswwEoDuYAfGE8PSL+p1VmhzoKZQj0m8BWeA5neeCh8BqN4cBzuEU6WYhkpJPMF/qgwGRfXBe5PCJOKOfUWheRJWKexHevn8A1kal4d/1g3EAwrDyvXUJ/flBNy+w6A/IytqNwpLgNXu/wVInaHwReb4UW7s5ORjrJPOlodRFZCfgpYE1gD2CriJgEPBsRP8UXl90j4kzgwI7kcKCeZXYdlcp3t4ek7uXf+k28Gvvfi8MZhJte+qTDaQ7pdJJ5UnEcq8kinWcCR+IZnP6N9BSwPd4EWadKsMLS82vhrY5bAX0l/aByQZmGxSbBXWBJJ6V0LA7Bke4tkvbEW1PvBg6UNBrrAw6PiEdrNHWRItNryRwp8yC7RsTppS7yM2AyTlcdjJ3Mvlir6s7SVVU7peD+Y9xR9wfcRXcpns25GuuWHRERN9RlY9IcJK2Ho5jv4qaXnbHDmYLrkSsAj5X5p2w5bxI5p5PMjcDyH33w92R/ZtdFxuO6yPI46hmKI4hakXfV/wirGW8H/BdOp3wVR2FrA98osjx5kenElO/tcODt8AK7hyS9CpyF06rXVM/P70LzyEgn+QCavSFxdaxcPC0iNiozOO9JOhOYHBFjJK3eKhIh5UKzEtATRzt7Y4XrF3CK5bWIuK0+C5NmIKlvRDwjaX9gL9y+f1lpmT8Vd6xdmDce9ZA1neR9dOS6SEQ8FxGTgUHAryPiSTzbsg5eiX1bthl3biQtA5wtb/88D+/u2RQ4XhZy3Q14CjK6qYtMryXvoxRf29ZFvgFcKmlNXBcZAhzROL8mU+fFI7hQvBhep3BoFPXlFrU3+Rg0IvDy8k08/HmkpBERcZKkb+A6ZB+8D2eSKusikuaSTid5H52kLnIdsDhu7c61wp0USYsD75SU70A8Z/OIpAew4sRxkt6MiJ8XiZt+QPdG+rhO2xdlMr2WtOU5fFe4AVaN/idgC+x09gJGRsQUaN2oISJeDy8J2zMiJmRKrfMhaR3g58DnyqFBwLWS1i0RzGNYQfrwok5xEV4guCFeQ53URDqd5H10srrIu9C6zjFZMOSV3Rdhx/IHgIj4CV5RcYWk9SLiHVxvHI819t4p758YEa/XY3kCmV5L5k6Hr4t0FDuTj4683G4UXnk9RlKXcqx7RJwsaRpwsaQJeI5sr4i4p9Rw/oGX3iU1kk4nmRtZF0lakbeAGXixHcD3ccpsbUmP4EHQJ4FVgH2LBBLZNNA65JxOMk8qMzut2jSQLCI0voOS9sYzWOsAv8OrNX6P26H/EBFn12hm8iFkpJN8GFkXSVqCynfwBuBRvBr9UuCtiHhX0tZYJSNpYdLpJPMknU3SahSl7b8CDzeOSdoYRzrfq8uu5KOR3WtJkrQkkrp9hHN6SfoKcAlu50+ZoxYnnU6SJC1HcTiTJA39kFPfwfubhkVuU+0QZCNBkiQtSYlgRgMjImLcPM6bJWnTRhInaUGyppMkSUvRiFYiYqykmcDppXPtmjmc27U0ESwFzCxDoEkLk+m1JElahkpr/jJlU+3VwGHAaZK+1ObchsNZFrgLWKMGk5P5JCOdJElagsoczhCs89dV0kkRMa5EPKeV9ehjK/NjPYCxWDHjd7X+AclHIiOdJElaguJwtgdG4tbnJYFzJQ2JiAlYfeBUSSsWh9MTD4Ye01AeSFqfjHSSJKmdSlptIyxlszHeAHs5cKKkxSPiCkl3RcTL5cd2AY6OiDvrsTpZELJ7LUmS2qik1JaIiLfKsV5YRfrgsnb6NrzTaVjF4SQdlEyvJUlSG8Xh7ACcKWlEOTwNeA3YQ9ImwHTgx+lwOgfpdJIkqQ1JnwVOAe4Ahko6AVgRuAyrR18MnBMR99ZmZNKuZHotSZKmUkmpfR7oBvQvK6VXBs4GHgTOB54HVi0ptlQ57ySk00mSpOlI+gJuEpgMrA/sHhH3SVoRRzePAMNTXaDzkU4nSZKmImk94ADgv4F7cbfa1rhuM7k4nj4R8UB9ViYLi6zpJEmy0GlI20jqh/XUtgIWj4gZuFPtNuB4SQMi4qV0OJ2XdDpJkixUKjWcLYAf4yHPybg7beWIeAWvJriesjQw6bxkei1JkoWOpP7A14H7I2JMEeg8B7dH/zQini0SNzNqNTRZ6GSkkyTJQqOy32YAsDOwiqSlIuJNYH9gZeCoojiQDmcRICOdJEnanUpKbRXgxaIGvQdwEDAKuC8i3pG0BLB2REyp096keaTTSZJkoSBpR+Bo4EmgK3AIsD2wL3AicFfuv1n0SMHPJEnaHUmfA04HvgW8BOwGjAN2AFYAjgSG4nXTySJEOp0kSdqFNqoBbwOTImJSWSH9U0mrAUMi4meSro2IaTWam9RENhIkSdIulBrOIEkHAusAX5Q0rKIq8CqwSnn+dC1GJrWTkU6SJB+LStPAAKyd9gTwOHAVMFpSb+CPwGC8eprUUVt0yUaCJEk+NmUFwbHA9yPiYUn7AKsDn8I1nN/hjrVrazQzaQEy0kmSpD1YFtgW2A54GK8mGAosgaOc00s0lGrRizjpdJIk+dhExE2Sdsf6ac9HxKWSLi9vT2k4mnQ4STqdJEnahYgYL2kmcJykT0bEhVhTLUlmkTWdJEnaFUmDgRNwuu3F3ImTVEmnkyRJuyNphYh4uW47ktYjnU6SJEnSNHI4NEmSJGka6XSSJEmSppFOJ0mSJGka6XSSJEmSppFOJ0mSdkHSu5KmSHpU0tiyknpBf9cFkr5cnp8rqd88zt1a0uYL8N94RtLyC2pjsmCk00mSpL34R0RsEBHr4j0536m+KWmBhtEj4oCIeHwep2wNzLfTSeohnU6SJAuDScCaJQqZJGk88LikrpJOkjRZ0sNlDQIyZ0l6QtItQO/GL5J0h6SNy/MdJT0o6SFJt0rqi53b4SXK2lLSCpKuLP+NyZIGlp/tJekmSY9JOhdQcz+SBFIGJ0mSdqZENDsBN5RDGwHrRsTTkr4NvBYR/SUtDtwl6SZgQ2AtoB+wIl6N8Ks2v3cF4Bxgq/K7louIv0r6BTA9Ik4u510CnBYRd5bFcTfi/T5HA3dGxLGSvgjsv1A/iGSOpNNJkqS9WFLSlPJ8EnAeTnvdFxGNpW3bA+s36jVAD+CzwFbApRHxLvC8pNvm8Ps3BSY2fldE/HUudmwL9JNmBTLdJS1d/hu7l5+dICk3l9ZAOp0kSdqLf0TEBtUD5cL/9+oh4JCIuLHNeTu3ox1dgE0j4q052JLUTNZ0kiRpJjcCB0laDEDS5yR1AyYCe5aaz0rANnP42XuBrSR9pvzscuX4G8AylfNuAg5pvJDUcIQTgb3LsZ2Anu32VyUfmXQ6SZI0k3NxveZBSY8Cv8QZl6vxsrfHgTHAPW1/sAiIfhu4StJDQGNfz/8AuzUaCYBDgY1Lo8LjzO6iOwY7rcdwmm3qQvobk3mQgp9JkiRJ08hIJ0mSJGka6XSSJEmSppFOJ0mSJGka6XSSJEmSppFOJ0mSJGka6XSSJEmSppFOJ0mSJGka6XSSJEmSpvH/0wAyTmIaMggAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot normalized confusion matrix\n", "plot_confusion_matrix(multi_y_true, multi_y_preds, normalize=False, classes=multi_classes, \n", " title='Multi-class Confusion Matrix')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAakAAAGGCAYAAADB1n64AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzde3gV1dn38e9PIorlkMhBm6AFQY1EKUrAouKpKLUEaBVFRSvFin0rYO1jtdWngocWLVqsVWs9YpEKRa0RVBRRfBSLgIggBytKqCQqBwmIYJBwv3/MStwJ2UmAhMzG+3NdubJnrTUz96y9M/deayZ7y8xwzjnn4mifhg7AOeecS8aTlHPOudjyJOWccy62PEk555yLLU9SzjnnYsuTlHPOudjyJOXcHiBppqSfhceDJL1Yx9tvJ8kkpdXldqvYj0nqWE39Ykmn7sJ2x0m6ZbeCiwlJR0paIOlzSSN2Yzv3SfpdXcbWECRtknTYrq7vScrtFSQVSFot6VsJZT+TNLMBw6qSmU0wszP35D5D/2yV1KpS+dsh8bTbhW3ukFjMLMfMZu5WsHuApMaSRkl6X9IXoX8e3pV+qMI1wCtm1szM7trVjZjZz83s5jqIp4Jw3CbpykrlV4byUbXcTvkbr+qYWVMz+3AXw/Uk5fYqjYAra2xVA0X2xr+NFcAFZQuSjgEOaLhwGtQTQD/gQqAF8F3gLeD7dbDt7wCL62A79ek/wE8qlV0SyutEXY3q98Y/RPfNNQa4WlJ6VZWSTpA0V9KG8PuEhLqZkn4vaRawGTgsvKv8RXi3/bmkmyV1kPSGpI2S/impcVg/Q9JUSWskrQ+P2yaJY7Ck18Pja8J0SNnPV5LGhboWkh6S9LGkQkm3SGoU6hpJul3SWkkfAn1q0T/jqXhiugT4e6XYKrw7Toy1UruhwCCgLP4pobxAUq9kAUg6KfRfsaSPJA2uok21fRli+jA8JyskDQrlHSW9Gp7ftZImJYmhF3AG0N/M5prZNjPbYGb3mNlDoU2mpGckfSZpuaTLEtYfFZ77v4cYFkvKDXUvA6cBd4d+OaK6Pg1viMYqmgXYKGmRpKNDXYWRqqTLQiyfhdgyE+pM0s/Da7VY0j2SlOx5AOYCB0jKCevnAPuH8hqfB0m/B3omHOfdCXFcIel94P2Eso6KRq8LJA0P5Y0kzZJ0QzVxepJye5V5wEzg6soVkg4EngXuAloCfwKeldQyodnFwFCgGbAylPUGugLfI5rGuR+4CDgEOJqvRyb7AI8QvYs+FNgC3F1TwGb2xzAd0hQ4ClgDlJ1cxwHbgI7AscCZQNnJ7jIgL5TnAgNq2hcwG2gu6aiQ7M4HHqvFelXFfT8wASiLv29N60j6DvA88BegNdAFWFBF06R9qWg69y7gLDNrBpyQsI2bgReBDKBt2E9VegFzzOyjasKdCKwCMon69g+STk+o7xfapAPPlMVnZqcDrwHDQr/UNDI5EzgZOIJoRHcesK5yo7Dv0aH+20Svz4mVmuUB3YDOoV3vGvad+KblkrCcKOnzYGbXVzrOYQnr/Qg4HuiUuDEz20r0t3OTpKOA3xDNfvy+uiA9Sbm9zQ3AcEmtK5X3Ad43s/HhnfPjwDIg8eQ6zswWh/qvQtkfzWyjmS0G3gVeNLMPzWwD0Qn3WAAzW2dmT5rZZjP7nOgP75TaBi2pCfA08Gcze17SQcAPgV+a2RdmthoYS5RYIDoJ3WlmH5nZZ0QnsNooOzGdASwFCmsbYx24EHjJzB43s69Cn+2QpGrRl9uBoyU1MbOPw3MD8BXRCTXTzL40sx1GgEFL4ONkQUo6BDgRuDZsZwHwIBVHoa+b2XNmVkrUp9+tVQ/s6CuiN0XZgMxsqZlVFdsg4GEzm29mJcBvgR6qeA3tVjMrNrP/Aq8QvQmozmPABZL2pYo3LLvxmh5tZp+Z2ZbKFWb2LnAL0Wv9auDi0IdJeZJye5XwRzCV6F1aoky+Hh2VWQlkJSxX9c7604THW6pYbgog6QBJf5O0UtJG4P+A9LLpuVp4CHjPzG4Ly98B9gU+DtM3xcDfgDYJx5MYb+VjS2Y8UbIYTKWpvrqmitOYhxKNPj+oxXpJ+9LMvgAGAj8n6ptnJWWHVa8BBMwJU3BDkuxiHdFoJJlM4LNwYi5T+bXyScLjzcD+2oVrMGb2MtHo5B5gtaT7JTVPEtPKhPU2ER1HdTE1rWHf/wWWA38gegNX4fW/G6/p6kaoAI8Svb6fM7P3a2jrScrtlUYSTYcl/gEXEf1hJDqUiiOJ3flKgP8BjgSON7PmRFM4EJ00qyXpN0TTPZcmFH8ElACtzCw9/DQ3s5xQ/zHRSb/MobUJ0sxWEt1A8UPgqSqafEHFmykOrm5zNeyracLPf4mOqUMtwqy2L83sBTM7gyjRLAMeCOWfmNllZpYJXA7cq6pvl38J6K4k1wyJXisHSmqWUFb5tbIzqu1TM7vLzLoSTY8dAfw6SUzlr98w7dlyN2Iq83ei/q7qDUtNr+lkz39Nf0f3Er2R7C3ppJoC9CTl9jpmtpzouk7i/6g8Bxwh6UJJaZIGEp0UptbRbpsRjayKw/WvkbVZSdJZIc4fJ06PhCmfF4E7JDWXtI+imzbKplv+CYyQ1FZSBjuOHKtzKXB6GJVUtgA4O7yL7kjFxFnZp8DO/P/LBKCXpPPCc9BSUlVTUkn7UtJBkvqHk3QJsIlo+g9J5yYknvVEJ8vtlTduZi8B04F/SeoaYmkWbjwYEkYUbwCjJe0vqXPoh126fkc1fSqpm6Tjw5TbF8CXVcUMPA78VFIXSfsRjX7eNLOCXYypzCSi62L/rKKuptf0zj7/SLqY6BrvYKLX/aOSqh3xeZJye6ubgPL/mTKzdUQXlv+HaJrkGiDPzNbW0f7uBJoAa4luUJhWy/UGEt1EsDRhauy+UPcToDGwhOik+wRfT1M9ALwAvAPMp+pRUZXM7AMzm5ekeiywlegE9ChRYknmIaBTmI58uhb7/S/RCO5/gM+ITt5VXcupri/3AX5FNLL4jOgayf8Ldd2ANyVtIrqZ4cpq/j9nANEbl0nABqLrjblEoyyIbohpF/bzL2BkSG67oro+bU70XK4nms5bR3SXagVh378DniQaRXfg6+uTu8zMtpjZS1VdP6Lm1/SfgQHhzr8a/x8sTPneCfzEzDaZ2T+IbnYaW+165l966JxzLqZ8JOWccy62PEk555yLLU9SzjnnYsuTlHPOudjyJOWccy626vW7Z5yLI6U1MTVuVnPDGDj2qFr9j65zsTN//ltrzazyx5PtNE9S7htHjZux35HnNXQYtTLrzRo/o9a5WGqyr2r7UV3V8uk+55xzseVJyjnnXGx5knLOORdbnqScc87Flicp55xzseVJyjnnXGx5knLOORdbnqScc87Flicp55xzseVJyjnnXGx5knLOORdbnqScc87Flicp55xzseVJyjnnXGx5knLOORdbnqScq8F9IwexcsZo5k2+LmmbO64ZwLv5I5kz6bd0yW5bXj6o7/Esyr+BRfk3MKjv8XsiXF58YRqdc44kJ7sjY/546w71JSUlXHThQHKyO9LzhONZWVBQXjfmttHkZHekc86RTH/xBY83hWNNxXir4knKuRqMnzKb/lfck7S+90md6HBoa47ufyPDbnmcu647H4CM5gdw/dCzOPni2+l50RiuH3oW6c2a1GuspaWl/HLEFeRPeZ63Fy5h8sTHWbpkSYU24x5+iIz0DBYvW87wK6/i+uuuBWDpkiVMnjSR+e8s5pmp07hy+C8oLS31eFMw1lSMNxlPUrUkaVNDx1AVSaMkXV1N/ThJKyS9I+k/kv4uqW2y9jXsq0BSq12Ptsptpkv6RS3atZN0YcJyrqS76jKWZGbN/4DPNmxOWp93Smf+MXUOAHMWFdCiWRMObtWcM044ihmzl7F+42aKP9/CjNnLOPPETvUa69w5c+jQoSPtDzuMxo0bc+7A85k6Jb9Cm6lT8hl08SUAnH3OAGa+PAMzY+qUfM4deD777bcf7dq3p0OHjsydM8fjTcFYUzHeZDxJNSBJaXtoV782s+8CRwJvAy9LaryH9l3TcaYDNSYpoB1QnqTMbJ6ZjdjN0OpEZpt0Vn2yvny58NNiMtukk9k6nVWfJpSvLiazdXq9xlJUVEjbtoeUL2dltaWwsHDHNodEbdLS0mjeogXr1q2jsHDHdYuKKq77TY43lWJNxXiT8SRVBUlPS3pL0mJJQxPKx4ayGZJah7KZkm6TNCeMVHqG8v0lPSJpkaS3JZ0WygdLekbSy8CMsPy0pOlhpDJM0q/COrMlHRjWu0zS3DAielLSATt7XBYZC3wCnCVpiKQ7E47vsnCM35L0bNjXu5IGVuqfJpKeD+2/JenhcPxvS+qf5Dibhn6bH/qkf9jcrUAHSQskjVFkTNjvooR93wr0DO2uknSqpKlhX00T+nqhpHN2tm+cc/HkSapqQ8ysK5ALjJDUEvgWMM/McoBXgZEJ7dPMrDvwy4TyK4jywjHABcCjkvYPdccBA8zslLB8NHA20A34PbDZzI4F/g38JLR5ysy6hRHRUuDS3Ti++UA28E+gr6R9Q/lPgYeBHwBFZvZdMzsamJawblNgCvC4mT0AXA+8HI7/NGCMpG9VcZxfAj82s+NCuzskCfgN8IGZdTGzX4d+6AJ8F+gVtvft0O610G5speP5HbDBzI4xs87Ay5UPWNJQSfMkzbNtW3ax26pWtLqYtgdnlC9nHZRO0epiitYU0/aghPI26RStKa7TfVeWmZnFqlUflS8XFq4iKytrxzYfRW22bdvGxg0baNmyJVlZO66bmVlx3W9yvKkUayrGm4wnqaqNkPQOMBs4BDgc2A5MCvWPAScltH8q/H6LaFqKUP8YgJktA1YCR4S66Wb2WcL6r5jZ52a2BthAlAQAFiVs72hJr0laBAwCcnbj+BTi2kR0Qs+TlA3sa2aLwn7PCCPEnma2IWHdfOARM/t7WD4T+I2kBcBMYH/g0CqOU8AfJC0EXgKygIOqiO0kogRYamafEr0h6FbD8fQCyu9sMLP1lRuY2f1mlmtmuUqr25sXnn11ERfmdQeg+zHt2LhpC5+s3cj0N5bSq0c26c2akN6sCb16ZDP9jaV1uu/Kcrt1Y/ny9ylYsYKtW7cyedJE+uT1q9CmT14/Jox/FICnnnyCU047HUn0yevH5EkTKSkpoWDFCpYvf59u3bt7vCkYayrGm8yeuiaSMiSdSnTS62FmmyXNJDrxVmYJj0vC71Jq16dfVFouSXi8PWF5e8L2xgE/MrN3JA0GTq3FfpI5FpgRHj8IXAcsAx4BMLP/SDoO+CFwi6QZZnZTaD8L+IGkf5iZESWfc8zsvcQdSDq+0nEOAloDXc3sK0kFVN2vsfPo6MH07Ho4rdKbsnzazdx833Psm9YIgAefeJ1pry+m90k5LH5mJJu//IrLRz0GwPqNmxn9wDRef+waAP5w/zTWb0x+A0ZdSEtLY+yf76Zvn96UlpZyyeAhdMrJ4aZRN3Bc11zy+vZj8JBLGTL4YnKyO5KRcSDjJ0wEoFNODuecex7Hdu5EWload951D40aNfJ4UzDWVIw3GUXnGVcmXCv5mZn1DaOLBUTTX68AF5jZREn/CxxkZsNDErvazOaFO9/mmVk7Sb8CcszsUklHANOJRlIXALlmNizsb3Cl5YKwvDaxTtJaoBOwHngOKDSzwZJGAZvM7PYkxzMOmGpmT4TpteHhJ8fMtoY284kSSGczWy8pE/jMzL6UlBf640dlsQE3EE1x/kLSH4DmwHAzM0nHmtnbVRzXlUDH0GenEY3g2gOfA/PN7Duh3dnA5UQJ8kBgHnA80cjrT2VTpOHNxNVmlifpVmB/M/tlqMuoajRVZp8D2th+R56XrDpW1s+9u6FDcG6XNNlXb5lZ7u5ux6f7djQNSJO0lOhi/exQ/gXQXdK7wOnATUnWL3MvsE+YnpsEDDazkhrWqc7vgDeJRjLLdnLdMWH68j9EU2enlSWo4J/ArIQT+zHAnDCFNxK4pdL2rgSaSPojcDOwL7BQ0uKwXJUJQG7oj5+UHYOZrQNmhRslxgD/AhYC7xAlsmvM7JNQVhpu5riq0rZvATLCNt4huublnNsL+EjKEe6SG2tmM2psvBfwkZRz9c9HUm63KfpH2v8AW74pCco5l1r8xom9hKR7gBMrFf/ZzB5Jto6ZFfP1HYfOORc7nqT2EmZ2RUPH4Jxzdc2n+5xzzsWWJynnnHOx5UnKOedcbHmScs45F1uepJxzzsWWJynnnHOx5UnKOedcbHmScs45F1uepJxzzsWWJynnnHOx5UnKOedcbHmScs45F1v+AbPuG+fYow5l1pup8T1NGd2GNXQIO8W//8rVNR9JOeeciy1PUs4552LLk5RzzrnY8iTlnHMutjxJOeeciy1PUs4552LLk5RzzrnY8iTlnHMutjxJOeeciy1PUs4552LLk5RzzrnY8iTlnHMutjxJOeeciy1PUs4552LLk5RzzrnY8iTlnHMutjxJOVcLL74wjc45R5KT3ZExf7x1h/qSkhIuunAgOdkd6XnC8awsKCivG3PbaHKyO9I550imv/hCvcZ538hBrJwxmnmTr0va5o5rBvBu/kjmTPotXbLblpcP6ns8i/JvYFH+DQzqe3y9xpkoVfo21WJNxXir4knKuRqUlpbyyxFXkD/led5euITJEx9n6ZIlFdqMe/ghMtIzWLxsOcOvvIrrr7sWgKVLljB50kTmv7OYZ6ZO48rhv6C0tLTeYh0/ZTb9r7gnaX3vkzrR4dDWHN3/Robd8jh3XXc+ABnND+D6oWdx8sW30/OiMVw/9CzSmzWptzjLpFLfplKsqRhvMp6kdoOkTQ0dQ1UkjZJ0dTX14yQNCI8PlPS2pJ9W0/4mSb3C45mScusw1h9J6lSLdoMlZSYsP1ib9erC3Dlz6NChI+0PO4zGjRtz7sDzmTolv0KbqVPyGXTxJQCcfc4AZr48AzNj6pR8zh14Pvvttx/t2renQ4eOzJ0zp95inTX/Az7bsDlpfd4pnfnH1Gj/cxYV0KJZEw5u1ZwzTjiKGbOXsX7jZoo/38KM2cs488T6795U6ttUijUV403Gk1TMSErbg/tqAbwA3G9mjyRrZ2Y3mNlL9RTGj4DanA0HA+VJysx+ZmZLkjevO0VFhbRte0j5clZWWwoLC3dsc0jUJi0tjeYtWrBu3ToKC3dct6io4rp7UmabdFZ9sr58ufDTYjLbpJPZOp1VnyaUry4ms3V6vceTSn2bSrGmYrzJeJKqJUlPS3pL0mJJQxPKx4ayGZJah7KZkm6TNEfSfyT1DOX7S3pE0qIwejktlA+W9Iykl4EZYflpSdMlFUgaJulXYZ3Zkg4M610maa6kdyQ9KemAnTikpsDzwD/M7K9he13C9hdK+pekjFBePvKq1CcXhGN5V9JtCeU/kDQ/xDVD0j6S3k/on30kLZd0CtAPGCNpgaQOVcUQ9p0LTAjtmiSO6Crvbyf6wDkXc56kam+ImXUlOlmOkNQS+BYwz8xygFeBkQnt08ysO/DLhPIrADOzY4ALgEcl7R/qjgMGmNkpYflo4GygG/B7YLOZHQv8G/hJaPOUmXUzs+8CS4FLd+J4/gS8bmZjE8r+DlxrZp2BRZWOp4Iw9XYbcDrQBegWpu5aAw8A54S4zjWz7cBjwKCwei/gHTN7FXgG+LWZdTGzD6qKwcyeAOYBg0K7LQlx7LC/JPEOlTRP0rw1a9fsRDdBZmYWq1Z9VL5cWLiKrKysHdt8FLXZtm0bGzdsoGXLlmRl7bhuZmbFdfekotXFtD04o3w566B0ilYXU7SmmLYHJZS3SadoTXG9x5NKfZtKsaZivMl4kqq9EZLeAWYDhwCHA9uBSaH+MeCkhPZPhd9vAe3C45NCO8xsGbASOCLUTTezzxLWf8XMPjezNcAGYEooX5SwvaMlvSZpEVECyNmJ43kZ6C+pDZRP/aWHxAHwKHByNet3A2aa2Roz2wZMCO2/B/yfma0Ix1l2TA/zdXIdAuwwvbgLMVDN/iows/vNLNfMclu3al3DJivK7daN5cvfp2DFCrZu3crkSRPpk9evQps+ef2YMP5RAJ568glOOe10JNEnrx+TJ02kpKSEghUrWL78fbp1775T+69Lz766iAvzov13P6YdGzdt4ZO1G5n+xlJ69cgmvVkT0ps1oVePbKa/sbTe40mlvk2lWFMx3mT22PWPVCbpVKJ3/z3MbLOkmcD+VTS1hMcl4XcptevnLyotlyQ83p6wvD1he+OAH5nZO5IGA6fWYj9lJgKzgOfKph3rk5l9JOlTSacD3fl6VBV7aWlpjP3z3fTt05vS0lIuGTyETjk53DTqBo7rmkte334MHnIpQwZfTE52RzIyDmT8hIkAdMrJ4Zxzz+PYzp1IS0vjzrvuoVGjRvUW66OjB9Oz6+G0Sm/K8mk3c/N9z7FvWrS/B594nWmvL6b3STksfmYkm7/8istHPQbA+o2bGf3ANF5/7BoA/nD/NNZvTH4DRl1Jpb5NpVhTMd5kZGY1t/qGk9Qf+JmZ9ZWUDSwAfgC8AlxgZhMl/S9wkJkND0nsajObJ6kV0ZRgO0m/AnLM7FJJRwDTiUZSFwC5ZjYs7G9wpeWCsLw2sU7SWqKbDtYDzwGFZjZY0ihgk5ndnuR4xgFTzeyJcC3pOKAPMBcYZmavhW20MLOrKrWfCVwNFBKNKruG/b8A/AV4A5gPnGxmKyQdWDa6kXROaDPezK4NZX8B5pfduBFGq1XFMAX4k5m9EtqVxbEy2f6S6do112a9Oa+6JrGR0W1YQ4ewU9bPvbuhQ3Ax0WRfvWVmu30nsI+kamca8HNJS4H3iE7OEI1+uocEtRoYWMN27gX+GqbntgGDzaxE0q7G9TvgTWBN+N1sZzdgZtdKegQYD/wUuDfcgPFhWE623seSfkOUqAU8a2b5EF3/AZ6StA9Rv5wRVnuGaJovcapvIvCApBHAAOAS4L4qYhgXyrcAPRLiWFPN/pxzKc5HUm6PCXfjjTWzng0Zh4+k6o+PpFwZH0m5lBJGXf+PFLoW5ZxreJ6k9mKS7gFOrFT85+r+cbe+mNmtwI4fHuacc9XwJLUXM7MrGjoG55zbHf5/Us4552LLk5RzzrnY8iTlnHMutjxJOeeciy1PUs4552LLk5RzzrnY8iTlnHMutjxJOeeciy1PUs4552LLk5RzzrnY8iTlnHMutjxJOeeciy3/gFnnYizVvp/Jv//K1TUfSTnnnIstT1LOOediy5OUc8652PIk5ZxzLrY8STnnnIstT1LOOediy5OUc8652PIk5ZxzLrY8STnnnIutpJ84IekvgCWrN7MR9RKRc845F1T3sUjz9lgUzjnnXBWSJikze3RPBuKcc85VVuMHzEpqDVwLdAL2Lys3s9PrMS7nnHOuVjdOTACWAu2BG4ECYG49xuScc84BtUtSLc3sIeArM3vVzIYAPopyzjlX72rzfVJfhd8fS+oDFAEH1l9IzjnnXKQ2SeoWSS2A/wH+AjQHrqrXqJxzzjlqMd1nZlPNbIOZvWtmp5lZVzN7Zk8E51xcvPjCNDrnHElOdkfG/PHWHepLSkq46MKB5GR3pOcJx7OyoKC8bsxto8nJ7kjnnCOZ/uILHmuC+0YOYuWM0cybfF3SNndcM4B380cyZ9Jv6ZLdtrx8UN/jWZR/A4vyb2BQ3+PrPVZIrb5NxXirUmOSkvSIpIcr/+yJ4JyLg9LSUn454grypzzP2wuXMHni4yxdsqRCm3EPP0RGegaLly1n+JVXcf111wKwdMkSJk+ayPx3FvPM1GlcOfwXlJaWeqzB+Cmz6X/FPUnre5/UiQ6Htubo/jcy7JbHueu68wHIaH4A1w89i5Mvvp2eF43h+qFnkd6sSb3Gmmp9m2rxJlObGyemAs+GnxlE032b6jOovYGkdpLerYPt5Eq6qy5iStjmOEmbJTVLKLtTkklqVcO6yd/y1n7fA3ZhvVMlnZCw/HNJP9mdWGpr7pw5dOjQkfaHHUbjxo05d+D5TJ2SX6HN1Cn5DLr4EgDOPmcAM1+egZkxdUo+5w48n/3224927dvToUNH5s6Z47EGs+Z/wGcbNietzzulM/+YGsUwZ1EBLZo14eBWzTnjhKOYMXsZ6zdupvjzLcyYvYwzT+xUr7GmWt+mWrzJ1Ga678mEnwnAeUBu/YfmAMxsXj19BNVyoD+ApH2I7tgsrMV6u5WkdsOpQHmSMrP7zOzve2LHRUWFtG17SPlyVlZbCgsLd2xzSNQmLS2N5i1asG7dOgoLd1y3qKg23bz3x1obmW3SWfXJ+vLlwk+LyWyTTmbrdFZ9mlC+upjM1un1Gkuq9W2qxZvMrnzA7OFAm7oOZC+VJmmCpKWSnpB0gKSukl6V9JakFyR9G0DSTEm3SZoj6T+SeobyUyVNDY9bS5ouabGkByWtlNQqjNqWSnog1L0oqaa5j4nAwPD4VGAWsK2sUtJFIZYFkv4mqZGkW4EmoWxCaPd0OJbFkoYmrL9J0thQPiP8U3gFkm6QNFfSu5Lul6RQPkLSEkkLJU2U1A74OXBV2HdPSaMkXR3ad5T0kqR3JM2X1GGnnynnXCzV5prU55I2lv0AU4g+gcLV7EjgXjM7CtgIXEF0h+QAM+sKPAz8PqF9mpl1B34JjKxieyOBl80sB3gCODSh7nDgnlBXDJxTQ2z/AVpLygAuIEpaAEg6iiiBnWhmXYBSYJCZ/QbYYmZdzGxQaD4kHEsuMEJSy1D+LWBeiOfVJMdzt5l1M7OjgSZAXij/DXCsmXUGfm5mBcB9wNiw79cqbWdCOPbvEo22Pq68I0lDJc2TNG/N2jU1dE1FmZlZrFr1UflyYeEqsrKydmzzUdRm27ZtbNywgZYtW5KVteO6mZkV161LqRRrbRStLqbtwRnly1kHpVO0upiiNcW0PSihvE06RWuK6zWWVOvbVIs3mdpM9zUzs+YJP0eY2ZN7Iri9wEdmNis8fgzoDRwNTJe0APhfoG1C+6fC77eAdlVs7yRCMjGzacD6hLoVZraghvUrewo4HzgeSDzxfx/oCswNcX4fOCzJNkZIegeYDRxClFWaURMAACAASURBVCwBtgOTwuPHQuyVnSbpTUmLiKYbc0L5QmCCpItIGN1VJVxXyzKzfwGY2ZdmtsNFDjO738xyzSy3dasdBnXVyu3WjeXL36dgxQq2bt3K5EkT6ZPXr0KbPnn9mDA++rjLp558glNOOx1J9Mnrx+RJEykpKaFgxQqWL3+fbt2779T+99ZYa+PZVxdxYV4UQ/dj2rFx0xY+WbuR6W8spVePbNKbNSG9WRN69chm+htL6zWWVOvbVIs3mdp8dt8MM/t+TWWuSpW/6uRzYLGZ9UjSviT8LqV2/8NW1bpl69fmVqdJRAntUTPbHmbbABTKflvdypJOBXoBPcxss6SZJHy+YyUV+kLS/sC9QK6ZfSRpVMK6fYCTgb7A9ZKOqcWx1Ju0tDTG/vlu+vbpTWlpKZcMHkKnnBxuGnUDx3XNJa9vPwYPuZQhgy8mJ7sjGRkHMn5CNDDtlJPDOeeex7GdO5GWlsadd91Do0aNPNbg0dGD6dn1cFqlN2X5tJu5+b7n2Dct2ueDT7zOtNcX0/ukHBY/M5LNX37F5aMeA2D9xs2MfmAarz92DQB/uH8a6zcmvwGjLqRa36ZavMnIrOqvjAonkQOAV4iuWZSdwZoD08wse08EmKrCdZQVwAlm9m9JDwLvA5cBF4eyfYEjzGxxOMFfbWbzwh1288ysXUgEV5tZnqR7gP+a2W2SzgReAFoDTYGpYdqMcK2mqZmNShLbuND+CUmXAy+Z2QeSCoim7doA+UTTfaslHQg0M7OVktYDbczsK0n9gZ+ZWV9J2cAC4AdmNlOSAReY2URJ/wscZGbDy/YNvAS8RzTia0Q0EnsCuAk41MwKQv+sJPpw40uB5mY2MhzDKGCTmd0uaTZwq5k9LWk/oFFVo6kyXbvm2qw3/Zto6kNGt2ENHcJOWT/37oYOYa/VZF+9ZWa7fZNdddN9lxO9y84Ov8t+8gF/ZmvnPeAKSUuBDML1KOC2MEW2gIQ71mrhRuBMRbe2nwt8QjQ622Vm9jcz+6BS2RKiqcgXJS0EpgPfDtX3AwvDjRPTiG4OWQrcSpRoynwBdA+xnk6UfBL3UQw8ALxLlGzLPrS4EfBYmAJ8G7grtJ0C/LjsxolKh3Ex0bTjQuAN4OBd6w3nXNwkHUmVN5CGm9lf9lA8rhphlFBqZtsk9QD+Gm5siB1Jm8ysaUPHURUfSdUfH0m5MnU1kqrNdY/tktLDu1nK7gYzs3t3d+dupx0K/FPR/zVtJZo6dM65vVZt/k/qsrIEBWBm6/GTY4Mws/fN7Fgz+264dbva7/WSdE+YHkv8+ekeijWWoyjnXGqpzUiqkSRZmBeU1AhoXL9hubpgZlc0dAzOObc7apOkpgGTJP0tLF8OPF9/ITnnnHOR2iSpa4GhRB9LA9E/WvrdU8455+pdbT5xYjvwJlAAdCe6nbh+/7XbOeeco5qRlKQjiD7T7QJgLeEjbszstD0TmnPOuW+66qb7lhF9nluemS0HkORfG++cc26PqW6672yiT5N+JXwFxPf5+qORnHPOuXqXNEmZ2dNmdj7RxyK9QvT1EW0k/TV8bpxzzjlXr2pz48QXZvYPM+tL9LUSb+PfJ+Wcc24P2Klv5jWz9eF7efxrOpxzztW7Xfn6eOecc26P8CTlnHMutjxJOeeci62d/Ypy55xLKtW+nymVvv8q1fq2rvhIyjnnXGx5knLOORdbnqScc87Flicp55xzseVJyjnnXGx5knLOORdbnqScc87Flicp55xzseVJyjnnXGx5knLOORdbnqScc87Flicp55xzseVJyjnnXGx5knLOORdbnqScc87Flicp55xzseVJyrlaePGFaXTOOZKc7I6M+eOtO9SXlJRw0YUDycnuSM8TjmdlQUF53ZjbRpOT3ZHOOUcy/cUXPNYUjfe+kYNYOWM08yZfl7TNHdcM4N38kcyZ9Fu6ZLctLx/U93gW5d/AovwbGNT3+HqNM1Gq9G11PEk5V4PS0lJ+OeIK8qc8z9sLlzB54uMsXbKkQptxDz9ERnoGi5ctZ/iVV3H9ddcCsHTJEiZPmsj8dxbzzNRpXDn8F5SWlnqsKRjv+Cmz6X/FPUnre5/UiQ6Htubo/jcy7JbHueu68wHIaH4A1w89i5Mvvp2eF43h+qFnkd6sSb3FWSaV+rY6nqS+wSQVSGpVTX2ppAWS3pU0WdIBdbDPUyVN3d3tVLP9wZLq9Hu2586ZQ4cOHWl/2GE0btyYcweez9Qp+RXaTJ2Sz6CLLwHg7HMGMPPlGZgZU6fkc+7A89lvv/1o1749HTp0ZO6cOXUZXsrGmmrxzpr/AZ9t2Jy0Pu+UzvxjarT/OYsKaNGsCQe3as4ZJxzFjNnLWL9xM8Wfb2HG7GWceWKneouzTCr1bXU8SaUoSWl7YDdbzKyLmR0NbAV+XpuV9lBse0xRUSFt2x5SvpyV1ZbCwsId2xwStUlLS6N5ixasW7eOwsId1y0qqrjuNzXWVIy3Oplt0ln1yfry5cJPi8lsk05m63RWfZpQvrqYzNbp9R7P3tK3nqQakKR2kpZKekDSYkkvSmoiqYuk2ZIWSvqXpIzQfqakOyXNA64My2MlzQvb6SbpKUnvS7olYT9PS3or7GPoLob7GtBRUl9Jb0p6W9JLkg4K+xglabykWcD4cGyvSZoffk5I2FZzSc9Kek/SfZL2Cdv4aziWxZJuTIj/VklLQn/cHsqqjMM5t3fxJNXwDgfuMbMcoBg4B/g7cK2ZdQYWASMT2jc2s1wzuyMsbzWzXOA+IB+4AjgaGCypZWgzxMy6ArnAiITyWgkjo7NCLK8D3zOzY4GJwDUJTTsBvczsAmA1cIaZHQcMBO5KaNcdGB7adwDODuXXh2PpDJwiqXOI9cdATuiPsuRbXRxVHcPQkADnrVm7ZmcOn8zMLFat+qh8ubBwFVlZWTu2+Shqs23bNjZu2EDLli3Jytpx3czMiuvWpVSKNRXjrU7R6mLaHpxRvpx1UDpFq4spWlNM24MSytukU7SmuN7j2Vv61pNUw1thZgvC47eITtrpZvZqKHsUODmh/aRK6z8Tfi8CFpvZx2ZWAnwIlI3XR0h6B5gdyg6vZWxNJC0A5gH/BR4C2gIvSFoE/BrISYzFzLaEx/sCD4R2k4kSUpk5ZvahmZUCjwMnhfLzJM0H3g7b7QRsAL4EHpJ0NlB2UaC6OHZgZveH5J7bulXrWh5+JLdbN5Yvf5+CFSvYunUrkydNpE9evwpt+uT1Y8L4RwF46sknOOW005FEn7x+TJ40kZKSEgpWrGD58vfp1r37Tu1/b401FeOtzrOvLuLCvGj/3Y9px8ZNW/hk7Uamv7GUXj2ySW/WhPRmTejVI5vpbyyt93j2lr7dq64dpKiShMelQE2T1V8kWX97pW1tB9IknQr0AnqY2WZJM4H9axnbFjPrklgg6S/An8zsmbDtUUliuwr4FPgu0ZuhLxPqrNJ+TFJ74Gqgm5mtlzQO2N/MtknqDnwfGAAMA04HqoujTqWlpTH2z3fTt09vSktLuWTwEDrl5HDTqBs4rmsueX37MXjIpQwZfDE52R3JyDiQ8RMmAtApJ4dzzj2PYzt3Ii0tjTvvuodGjRrVV6gpFWuqxfvo6MH07Ho4rdKbsnzazdx833Psmxbt78EnXmfa64vpfVIOi58ZyeYvv+LyUY8BsH7jZkY/MI3XH4sG+3+4fxrrNya/AaOupFLfVkdmlc8Xbk+R1A6YGm5MQNLVQFOi6a1hZvaapFFACzO7KiSYq81sXmhfvhxO1FebWV5iHZAF/MzM+krKBhYAPzCzmZIKgFwzW5skvk1m1rRS2dthe29JegRob2anhjg3mVnZNaOxwCozu0PST4GHzUwhzueJRkkrw+P7geVE05zHAq2BhcC1wBPAAWa2WlIL4EMza1lNHIPDMQ1L1u9du+barDfnJX1e3DdHRrekL5PYWT+3Tm9arXdN9tVbYfp+t/hIKp4uAe4Lt3x/CPx0N7Y1Dfi5pKXAe0RTfrtjFDBZ0nrgZaB9knb3Ak9K+kmIIXGUNRe4G+gIvAL8y8y2h8SzDPgImBXaNgPyJe0PCPjVTsbhnEthPpJy3zg+knJlfCRVf+pqJOU3TjjnnIstn+77hgu3eM+oour7ZrZuT8fjnHOJPEl9w4VE1KXGhs451wB8us8551xseZJyzjkXW56knHPOxZYnKeecc7HlSco551xseZJyzjkXW56knHPOxZYnKeecc7HlSco551xseZJyzjkXW56knHPOxZYnKeecc7HlHzDrnPvGSqXvaEql776qSz6Scs45F1uepJxzzsWWJynnnHOx5UnKOedcbHmScs45F1uepJxzzsWWJynnnHOx5UnKOedcbHmScs45F1uepJxzzsWWJynnnHOx5UnKOedcbHmScs45F1uepJxzzsWWJynnnHOx5UnKOedcbHmScs45F1uepJyrhRdfmEbnnCPJye7ImD/eukN9SUkJF104kJzsjvQ84XhWFhSU1425bTQ52R3pnHMk0198wWNN4XhTKdb7Rg5i5YzRzJt8XdI2d1wzgHfzRzJn0m/pkt22vHxQ3+NZlH8Di/JvYFDf4+s91up4knKuBqWlpfxyxBXkT3metxcuYfLEx1m6ZEmFNuMefoiM9AwWL1vO8Cuv4vrrrgVg6ZIlTJ40kfnvLOaZqdO4cvgvKC0t9VhTMN5UihVg/JTZ9L/inqT1vU/qRIdDW3N0/xsZdsvj3HXd+QBkND+A64eexckX307Pi8Zw/dCzSG/WpF5jrc5em6QkFUhqVU399ZIWS1ooaYGken+7IOlcSUslvSIpV9JdNbR/TlJ6DW2qPE5JgyXdXcO67SRdWLvo60/iMUh6o4a26ZJ+sWcii8ydM4cOHTrS/rDDaNy4MecOPJ+pU/IrtJk6JZ9BF18CwNnnDGDmyzMwM6ZOyefcgeez33770a59ezp06MjcOXM81hSMN5ViBZg1/wM+27A5aX3eKZ35x9QohjmLCmjRrAkHt2rOGSccxYzZy1i/cTPFn29hxuxlnHlip3qNtTqxTFKS0up5+z2APOA4M+sM9AI+qsf9SdI+wKXAZWZ2mpnNM7MR1a1nZj80s+L6igtoB+xUkqrv58bMTqihSTqwR5NUUVEhbdseUr6cldWWwsLCHdscErVJS0ujeYsWrFu3jsLCHdctKqq47jc11lSLN5VirY3MNums+mR9+XLhp8Vktkkns3U6qz5NKF9dTGbrat8r16t6S1LhXfpSSQ+EEcuLkppI6iJpdhjB/EtSRmg/U9KdkuYBV4blsZLmhe10k/SUpPcl3ZKwn6clvRX2MbSW4X0bWGtmJQBmttbMisL2Et/V50qaGR6PkjRe0r9DDJclxPBrSXPDMd2YcPzvSfo78C7wO+Ak4CFJYySdKmlqaNtU0iOSFoVtnFNFLLtynGXxjZN0l6Q3JH0oaUCouhXoGUaSV0lqFGIrO5bLw/qnSnpN0jPAkrD8qqT8sL1bJQ2SNCccQ4ewXmtJT4btzZV0YihvGV4PiyU9CCgh1k0JfTJD0vywzf4JMXcIMY9J1v9V9MHQ8Fqat2btmp3pPudcA6rvkdThwD1mlgMUA+cAfweuDSOYRcDIhPaNzSzXzO4Iy1vNLBe4D8gHrgCOBgZLahnaDDGzrkAuMCKhvDovAodI+o+keyWdUsvj6QycDvQAbpCUKenMcJzdgS5AV0knJxz/vWaWY2Y3AvOAQWb260rb/R2wwcyOCf3ychX73pXjTPRtoiSZR3SiB/gN8JqZdTGzsUQjvQ1m1g3oBlwmqX1oexxwpZkdEZa/C/wcOAq4GDjCzLoDDwLDQ5s/A2PD9s4JdRA956+H18W/gEOriPdL4MdmdhxwGnCHJIWYPwgx/7qG/i9nZveH11Zu61atd6bfyMzMYtWqrwfahYWryMrK2rHNR1Gbbdu2sXHDBlq2bElW1o7rZmZWXLcupVKsqRZvKsVaG0Wri2l7cEb5ctZB6RStLqZoTTFtD0oob5NO0Zr6nNCpXn0nqRVmtiA8fgvoAKSb2auh7FEg8YQyqdL6z4Tfi4DFZvZxGP18CJSNnUdIegeYHcoOrykoM9sEdAWGAmuASZIG1+J48s1si5mtBV4hOjGeGX7eBuYD2QkxrDSz2bXYbi+g/Aqnma2vos1OH2clT5vZdjNbAhyUpM2ZwE8kLQDeBFom7GeOma1IaDs34fn4gCjxQ/RctUs4rrvD9p4BmktqSvScPxaO9VmgquMV8AdJC4GXgKwkcVfX/3Uit1s3li9/n4IVK9i6dSuTJ02kT16/Cm365PVjwvhHAXjqySc45bTTkUSfvH5MnjSRkpISClasYPny9+nWvXtdhpeysaZavKkUa208++oiLsyLYuh+TDs2btrCJ2s3Mv2NpfTqkU16syakN2tCrx7ZTH9jaYPFWa/XF4CShMelRNcTqvNFkvW3V9rWdiBN0qlEJ8IeZrY5TM3tX5vAzKwUmAnMlLQIuAQYB2zj6+RdeVtWxbKA0Wb2t8QKSe2qOJ5dUpvjlHQFUDYF+cMqNpPYf6qivqx8uJlVuD827D/ZcwMVn5/tfP262gf4npl9WWl7SXZfwSCgNdDVzL6SVEDVz22V/V+X0tLSGPvnu+nbpzelpaVcMngInXJyuGnUDRzXNZe8vv0YPORShgy+mJzsjmRkHMj4CRMB6JSTwznnnsexnTuRlpbGnXfdQ6NGjeor1JSKNdXiTaVYAR4dPZieXQ+nVXpTlk+7mZvve45906J9PvjE60x7fTG9T8ph8TMj2fzlV1w+6jEA1m/czOgHpvH6Y9cA8If7p7F+Y/IbMOqbzCqfd+tow9FJeqqZHR2WrwaaAj8GhpnZa5JGAS3M7Kpw4r3azOaF9uXL4SR5tZnlJdYRvbv+mZn1lZQNLAB+YGYzw0ktN4x6Ksd2JLDdzN4Py7cQjfCGSXoJuMPMnpc0FjjWzE4Nsf4I+B7wLaJ37t8jmn68Gfi+mW2SlAV8BRyQePzVHZOkW4H9zeyXoV2Gma0vOwbgxJ09zjAyzA3HNC7E8kSo22RmTSV1Bf5kZqeE8qFECe7ckBiOAAqJpv4S+7/K56OK4/oH8LaZlV076mJmCxTd1bjazG6RdBbwHNDazNYmxHYl0NHMhks6jWgKtD3wOTDfzL4TtnlmVf1vZqsrP+9lunbNtVlvzktW7VwsZXQb1tAh7JQvF9zzVrhcs1vqeyRVlUuA+yQdQDRt99Pd2NY04OeSlgLvEU2F1UZT4C+Kbu/eBiwnmvoDuJHo5oabiUZaiRYSTfO1Am4ON1sUSToK+HcYIWwCLiIaOdbWLcA9kt4N690IPFUHx1mThUBpmEYcR3QNqR0wP1z/WUOUmHfVCKLjWkj0Wvs/outYNwKPS1oMvAH8t4p1JwBTwih3HrAMwMzWSZoV+ur5cF2qqv5PmqScc6mj3kZSe5swktpkZrc3dCxu9/hIyqWib+pIKpb/J+Wcc85Bw0z37THhNu0ZVVR938zW7cy2zGxUnQTlnHOu1vbqJBUSUZeGjsM559yu8ek+55xzseVJyjnnXGx5knLOORdbnqScc87Flicp55xzseVJyjnnXGx5knLOORdbnqScc87Flicp55xzseVJyjnnXGx5knLOORdbnqScc87Fln+flPvGkbQGWFkPm24F7PBN0DGVSrFCasWbSrFC/cX7HTNrvbsb8STlXB2RNK8uvuRtT0ilWCG14k2lWCH+8fp0n3POudjyJOWccy62PEk5V3fub+gAdkIqxQqpFW8qxQoxj9evSTnnnIstH0k555yLLU9SzjnnYsuTlHPOudjyJOWcc3VE0rcaOoa9jScp577BJKmhY9hbSGoB3CJpYEPHsjfxJOXcbio70Us6WlKnho6nOgmxnirpOIv57b0J8faQdETMk+p+wArgVEk/auhgapLQt4dL6iSpWUPHVBVPUs7tBkkyM5OUB0wCmkiK7d9ViLUP8Bdgtz9XrT5J2ifE2xuYQMzjNbPVwGTgbSAv7okq9O2PgPHAb4C7JcXu45Fi+8fkXJxJ2h/K/9DbA78FLjGzt8xse8NGV5GkxgmP04FrgKFm9kLDRZWcpKYAZrZdUhtgJPAzM5tVNvKL04gqYUQiM/sYeByYS8wTlaTDgOHAacCbwFHAB3HqW/Ak5dxOk5QB3JowPfIlUAgUSEqT1Ci0a9NQMZaR1JroOknZBX0RTUsVhPrG4XfLBgmwEkkHAkMT4ikGVgGzQ/3+ofzABghvBwkj6R8A90v6FdAeeJgoUZ0laUCDBhlUerPSBNhANOq7FBgEXGBm64HuCf3c4DxJObfzBNwBHCjpROAzoBlwjJltM7NSST2A4Q09z29ma4AHgdaSOoeT0BvA/0jKMLOtkk4FJkpKj8G76FLgCWBfST82s61EfTsWwMy+lHQS0dRU0waMkxCPSfoh8AcgHzgeuCv8fgB4F+gj6aCGixLCG6ezJf04TOmNJurXdOByopH1B5J6AfcB3264aCtKa+gAnEsVkhqb2VYz+yycy88megd6KXAn8CdJTwKbgaHAr83s8waKdV9gHzMrAT4kmo48WdJVwESgP/C8pEeBEcDVZlbcELGGeBsDjc1sQ7imNxToKGktMBDIl/Q08DIwBBhlZpsaKt4ykg4ATiKK8XCiUdQ/gZuJ+vxeIMvMPm2wIIHwxul1YBawP3CKmRVI+j9gO3CppP8QvRZ+bWYrGjDcCvyz+5yrBUlpwA+IZh/WAL2AfwA/BHoDvyD68rjTgIOAaWb2ctl0UAPE2h8oArKA/mZ2saRbge8AtxJ96eN5RCOXD83slYaINSHeE4Hm4edwYBzwY6Ad0QjlNaIT6JfA0obq2xBv2RTfoWb2X0mtiE78k4gSaBHwElHf/rAhk3+ZMEJuTpRADwX+ZGYPhLqeQGcgA/i3mc1oqL6tiicp52ohTJccTnSXWVvgDDNbKOlgopP96cBNZja/AcMsJ+l7RHdt7QsMM7OpofyPwCHArWb2TgOGWIGkk4lukDgCuNLMngon/8FE/T3NzKY1YIgVhDskrwB+ZWbLJH2HaAr4PCCXaCR4u5kta8AwExNq07KRp6QjgceAyWb2R0mHA1vMbFVDxpqMX5NyrhbMrBRYDxjwHtA1lH9C9Ac/k+gGhYyyGycaQtk1JTObDcwguvFgm6J/NMXMriF6p//7OFzTSbhdfzbRtOR8oKmkb5vZWqKvkVgD9A5vCBqcpO5ECem6kKD2N7OVwBbgX8BTwJQYJaj+wGRJL0oaYGbvAcOAwZIeJLobMRZ9WxUfSTlXjYQ/9AOJktT+RLfq/gaYbWZ/ktSWaBqtwMwKYxBrR6LktA/RBfC/AH8zswnhtuOPgW+b2YcNFStUiLc30Y0GtwJnEE2rvm9md4XkmgN8EqN4LwOOBUYBFwJ5wDYz+4GkbKL7Kd6Lw5RZ6NvfA/2A64CfEI1UH5H0/9s77zC7ymqN/15C6B1DjUpvApceJDRRqpDQBCkiERDhAgKCKNKRIr3JhUsNvUhJpEhHWoAAN1RBOigd6RhJYN0/3u+QTQxImZzvzGT9nmce5uzZM6ycTL61V3vX3DhNfVVE3FDRzM8kI6kk+QwaA4+XAffgGaPewMlYWeB03IjwTk0HBZ/oNLsIN3KchW3dFbd1H4i7zRavfeDDx/YOAI4C7i5NKVcCfwTmk3Qa8BfgvZr2NjoeW41mlwPLAENx3elnwHuS+kfEoyVSoVK97BuSmksMZ8WOaGlgYWA74AhJO0TEk7hh5oYO6Or8VDKSSpLPQNJ8uA71Y2A0Hn58CfgfYDZ8QF1Ru15SDplZgT/hluK/Aivip/0NgKmAxYCnI+LPlcz8BKUz7iTgt3huayVgHWB/nH5aDken11W0sRU9rYobZB7GqhIjgSki4m1J38IPBhtFxMO1bG0haQngreKEWrNng4GDI2KYpHNw5LpCSVd3NNmCniQNWm3m5fNJgQ+At3EH3EhJh+Oo6pmIOBfn9qmR2ilt5pNExHvA5MXWxyJiWLnlsnKArhMRR0t6IIoaRiekoiLi/VK/O5MyDI2bUwbjjsSHoa6txUGthiPTXXHqtB9wGnCPPGN2GrBLTQdVGje2jYg9I+I+STdImi4iliwjE8/iEYRpgV7Apt3BQUGm+5LkY8qBuYGktSUtiQcee2HR0NXKP/rn8CE6ZfmeVqNCjTbzVYB+krYATgDeA2aTdGLj1ndxdxzRkGuq1bpd/ru4pBVKx9lmuAvx4IjYHUemo/GgaTVbi50TlShkU2BDYBSOoHrj7r0lgMfxgT+0csrsHWBDSQcDRMR3gZcltaLmq3Dr+bHAeRExvI6ZX5xM9yVJA0lz4Jmc3sCKEfFXSTvi1uiRWEbmYKzTVzVtVtq2D8Npx90i4qJyqA7FzRF/xDW0nSPi+nqWjqHUoPbHkkFTAYOjaAhK+iEegN0vIi6raOPEETG68Xo6rMxwDvBdYArgUeAM4JCIeKuKoQVJvSNiVJl3Og93Fm5fvnY9MDIi1i6vZ4uIFzohkv68ZCSVJIXyJPwmPoDexDURIuJ44ArgZVw3+WltB1W4H7gSeAK3mfeNiH9gGx8HZsLOq5qDkjR1cZxIWgTYGVgNt5z3w1I9Pyit6IsCe0fEZTWiElmTkYgYLWlFSbuUg38y3F4+FTAJ1g28H0ckVR0UQHFQA3DH6anAxq3miYj4HjCjpNvL7S+V693CQUFGUknSLI5PWeo7lFrOWcC5pc18XuDtqCxvAx/PFvUBbsPSTFPh2tgNOBXZB5gsIp4p99dSZpgKR3r34WaDKbAax3S4o29LoNXOfXREXFLLXllw9UTgARxJn4k1DqfG2oy/B36AFUamxc7/inbaOC6KM58U10nPjojzJE0DDAPuiIhtyn3LRMTdFU390mTjRDJB03BQA3Gb9sTA/0TE5SXNd5o8ob8Ebt+t6qSKvR/hgxat0wAAIABJREFUesNpWHbnd5JmA9bFM0U/Ab5PUTqv2HTwrqRhOEX2AXB5RIwo7+uZYcWOu3Bk8kjj+2rY+yGWNdoMd0NuHxG3lOhvTTwLdQRwLVZnGFHBxn+jvFcjJT2Coz1Kx+GWwF2SXo+IX3VXBwWZ7ksmcIqDWgPYBxfDnwIGS/pRRNyBD/73gV9HxD0VTW0xL3z8BH0TluChRCEnAXcD6xXbq1GiPSLibOBq3L49UF4Z8iSe1fkFsDdwSkT8pZqxQOnovBnXmWYGNi/XH8QOdHngg4gYVttBNRpQFpL0LVlp/15gJ0lfL7eNxg0pHSMl9WXJdF8yQdKIoKYAVgZex7M5u+CD6ijgNxFxUuPe2oKmvYA/AyOA17CSwPnAAxFxwKd9X3ut/YS9cwIvltb9VXBq708RMbjUUFYCro2KyxebqV7shEbJ6yp2BW4Oa9stiuWZ1o+IF2rZ2kTSmjiyuxTYGlgA+A0e2H0RCx1vFRWFg7uKdFLJBEv5h74D8EOc+j4bi8TeLekCnOJboWYdqnGIronTYpcDC2F5m5lx2/kMOHqqvhG4Ye8aeKboblwz2QmYB0erN+FOuVHh7bu1nek6WCz2LTyYfbak7xb73ywfJ0XE0HbbOC6K8z8TGATMj+1cPCLekbQYrpmNjIi76lnZdWS6L5kgkbQwjpr2joh3wssAn8QDj6vjHTub126UKIdoa6neOxHxXkQMj4gdserFncAKwCY17WxR7O2H03uDcMfZMPzE/xBwCV5z8rWWU61YM2vpBh6AH1aexane7cNadrvgGuSBUX8OqsmruFFiFdzOv0ZxUGtTFEV6ioOCbJxIJkBKamcA8F/4qbM1yDsca7L9FPhFJxSbi10b4JUQN5XGjo8i4qOIuAm4SV5W9wNJ59VM65Q6VG/cyfduROxSopUjS61k3Yg4XdJdNdNmjQiqtYJ+EBYNXho3SFwiiYg4UdLwcFt/zaHilr1Th5doBq6Vzg/0DS80XBrYCy/grN4W35VkJJVMEDSKzZOWNvOTgdOBTSUtGV7FcR6e41k5Iv7YIU/OvfD+p/nL6ygpsm817pkLd/XVfuiM8CbglfFszv6Ng/1NvMAQXDOpRiOCOhm3nD+DlS72i4ircNR3rKTZWw6qJsXeAcANsixXf8YsrNxP0j54PuqQ6ADtwK4mnVQyQVD+oQ/ELeWX4EP9HNzNt2WZI2lFKC+0vqfddjac6TfKIfkBcDiwpKRVy1PzcsB5khYo0ct7wM8iYlRFe1fAK8i/E1YsXxZ3m11QDth1gbug/iBpGSn4OXBQRLyIpaOeAL5ZUqvvA0tEZVX7FpJmxFuKj8AzZzvgrs4lcOrvfWCniBjSIQ9WXUrtJ68kaQvlEP0V/sd+Mm4pX1PSKNxuvJWkRyPi7Yo2Nme2dgM+lHQP8BxuNjhC0p04Utk1xizVu6CKwXzs/NcEjsbO9A+SDoyIY0oRfxiO9L4fEX/XWJJD7aQc4FPjbri5cONJS2HiCZzqXQ34Zbj1vLoQr7xgsT/wSlj2ajKcztsW6BMRxzXvr/0AMD7I7r6kx9I8YCRtjGdHPsR6dptFxNPlH/30wJQR8UQlO3u3oiB5KHco8CMsaLosrpWci5cuzoLXMDxQ7q/dGTcTbobYGmsI/i/e/HttRBwkaXasjDE4IvZrt51NWxuv58DdhiOBP0TEfeX65MC0EfFSbedU7FkBK6wPwy3lm0TE7ZImwQPG2+BdUc/XtnV8kk4q6dGU1Nh0WDpoEFYv3zIinpIFTdcAtqmRKiv29cH7lI6NiEfklQsXAsuXJ/zZcQfXHRFxeg0bm8iDo30j4i+lWP8X/N7OjOsiy+AD9Rq8vuIEWVLqj7gL8bV2HqgNZ7o6ljR6HOswfoh3g/0Tt513lCq4vF35bPwe3inpV/j9Oygi7iiOatqIeLWqoW0ga1JJj0LSnPJ67xZbAsLRSW/8VPqRvAdoL+Diig5qknLITALsIWneiHgWt2rvK2mKUhd5CM8YNbfE1mIa4GxJx+L5nLnCe4lmxCmpAF7BOoJ3AETE48DCEfFqu5/4i4NaB69d+TNu2z4Zp/2OwVH0usX5dgSyuv3s+OGqpXxxKLb/EHkD8AcTgoOCdFJJz2NK4FBJPy+vJwF6R8RIrL3XB9gXr4TYIyKurHHwS5oZP8kTEYOwiOkB8ibgwXgA9vKSptwJuK7cW3tR4d9xCmo74Kaw/t5EuPHgLUlDcPrv8FYarfBhu2wsDyo/lbSSpAWxuvrGWD+wL3aex+AI8DAszPpOu+z7LCQti1Om7+G60yyS9gCIiMNwhPpBPQvbT6b7kh6DpF6l+20RfFDuhdu3nwZux45gNiyBNFFYiLNWTWcanCL7JzB1SZ8dg5+eDyu2DsJR4D0RcW27bWwyVn1vMax68Xs8T3Z6ub4odgLvRaVVJqVz7zw8mD0S1/EG4y64i3Gt722safcOsGYZSaiOpLmwzNUpEXGqrCK/JG6PfzQi9q9qYCWyuy/pEZRD9MPy5PwI3qR6ITAndlg/xum+wAfro1CtzbzlIN/DXXGTSToyInYuabQ9gN9GxCHttm1cNOo6q2BF8xFY8eAJ4FpJbwIP4uhq+1rRXmmIGAZsHBHXSfpOsQns7J+IiMdlRYy7gOM6xUEVAvg7sJ2kS8Nr3+/G5/R/S5o7Ip6sa2L7yXRf0iMoh+gAXGxevHS/DcSF8sewasP6wHaN1u22okJ4GHfS8ADxb3Bk99+SFoiIn+Po6iBZ/LYqYzUeHIfrY7viwde78Xt8KI5erqmcjnwLO6P+AGFFjl7ArPjw/6ak87H+4VUR8cin/aB20Eozy2rmy+Job2fgRuBoSTNExD+x4916QnRQkOm+pIcgaUmsXr5heOX7rDjdMxV+aj4yLM/TCa3Fq+IUzlP40D8LH/ST4FTPI5IWjIrrKyTNUhoikDQpsCdug58Rp/kGRMTfytdbSxafr5g+baV6+2B5q7NxxPcLHFk9XzriFsHiqw93yO/COliX8XYs07Urdlbb4FmubaMDVC9qkk4q6faU+k4fvJvoelwXWRU/Vf8CF+1niIibK9k3CzB5mcvqj+WY9sHpnZ8Vmw8DjsWzXHvWTENJ+hpO5V0YEduWa7/EUdPEeGXF38sB2zsiLq1la5OGo5oJN0fMDkwXEf8qnZLvVzYR+ER0+nXcJLE5noc7DOgfEW+WFvQdgDMi4v6K5lYn031Jt6bMER2GhWIfxemSp8p/hwDzRcQDEXFzu7v4SnZvMqwFN2+5PANwVkRcGBEX4VrZirh2tg9wcgfUSSbHKhebyFpxYEc6EjivOKh+WGGiY8RMi4OaOCJeAfoBLwG7l69Vd1CSJiv1yJA0PW7Vvw07o72BdYqDWgWnJ/eY0B0UpJNKuj9T4yfmd8ssyUrl8J8Ep0xead1YY0antL6/1rBjSuDHkqYt9zyPFRpmiojXa9dJGjbtgeWWVpd0Im5GORvoL+lGvAV49/BKi7YjK9n/G+EB6Ikj4nU8WLyLpKPaa92/U9r0l8d6hmviAe65cPfpQFxzekrS8sCJeP7sX9UM7iDSSSXdkpJCozRB3IILzVMDH8h6Z6fgtNlNlezrIysygHdTTVXsvQCrL9wgC8QuBywOVD2Qii17SJpNUm/gHtzGvQ4wN46aBuPU1E547UYVpfjioG6VtNG4vl4cVa8y7Logfr+rEt6d9SAW2j0buKjUHP+AH1K2kHQIHjTeLXqgmvmXJVvQk26HrG/3K0l9sXbZ5Xj4dYaIeFbSC7hY/niN4ng5uHcE+pYn6BmbX4+IX0jaFacpJ8Odcve008YmpaFgb7w4cUE8SLoHfsofhOWErsVDr5vjZg+gTgt/RLxXDvSDJP0rIoaM455m6u8VqC8Wi+ezXsONHWtIuiMirpf0OlYUmQk3StzWAbZ2DNk4kXQ8sgrDT/Eg7itY4uhJPJE/Da5HrYRrPXvVsrOJpOnwMPG7eJHe81gqaEa8AfZFLBZ7QSnsd4La9s44rTcPtvvv2Ekti9vib8CH6IMV7RR8PHKwHnAU1re7fBz3thoppgBGh9eetJVGk8Q3sDDwW6UD8XC8aXnH0ok6S0T8X7vt6w5kui/paGQFgUuwcxqCnzZ/BCwXEXsCB+HW6MeAxWXVg6qU4vibwIE4WzEV7jCcCatMrIQ3qD7XqjvUfmouM08n4zrJNXhW5wEcNfUt8zr9azuo8j5NLeseXoYd69GS1h3r3paDmg63d89dy155rfsNwFBJp5Y05CHAdJKuAa7GmYBkHGS6L+lYZJmYS4AjIuLMcvlCSTvidMlzEXE78KKkh3B33Fz4cK1GeFh3ovLUfAhu4hgFXNLq1lJjPUenEBF/ltfTb4FTUmfilRvV7Wwc+ANxWrKXpMPDi/5GY0fVOyIuLmm+0aU55WK8ELBtM2ctB1nsnRc/VG2Mo9R7iqPaWtL2OEMwIiLubJd93Y2MpJJOZmPgb8AtYxXoT8Tt0Fu2LoQHS98H1pI0UTsL+qXN/BM0HNV7ONqbBNhe0reLbR+1y74vQunWOwNvft0WpySr13PKgb8arp3titvkT5U0MCKuxDvCjpI0c3FQ0+OGif0j4tZ22SnPmO0t6evyEPShOMX7eun0XAJYWtKFEfFORBwZETfUaEDpLqSTSjqZE3FH1H/jugjgojjW5ZtbUq+GU/oIOCG8Ar4tB6q82ns3eb1C61qrbvJxRIVbjv8JvFFa09umCv5FCQ89n43FTScq12rWy1oH+BKMWZ0+Pf4dOEzSRqUmtUREvFzuXRvYNyJua7O5c+JZuO1xpup4LGS7kqRZS11sGeC/JC3WrLG12c5uQzZOJB1JOdw/Kimbfcrli4HhpdbwA2B1nC5ptfjWsHNu7ETfB66MiGHlelM1vPVnaW7grbpR93PeO2N43qgKjRTfZCUKaT0UnI2FbJ+RZ7beBwZFh+xXknX41scPTQcCy+Go/0/AjeFh6Oze+5xkJJV0JGNFIQeUyxthkdDly7VLStRULXUWFv08GUscDZD07XI9Gvd8VOokoyT1LodulQOqHPrflXSgpJVLp9m/Ueoqr0vq1W4bWxRbVweOl7R7ufwGVrnYoHQkvosV46s7qEZUdCdWiZ8Ipydvx1JY6wOryi3/yecknVTSEfyHuk7LUX2IxTgH44HHq9ts5sc0awgR8Rhenf4hMLDlqFr3lQN/dOk0+x+8M6qKvZKWwvNZs2BJpq1laanmvc3OuD1lbcS2U5oOjgRuBjaSdCjujrwAD0CfgwV5qzUdyDufgI+dastRDcNyWL2w0v2d+O9+RHirbkZRn5NM9yXVKSmc7YBbIuKWcm1c6bJp8ZDpdRFxU+2UmaTvAWtidYZbsDjsjljY9k8RcetYtl8KHBj1hG6XAE7A+7SGyfI838HRyTlhpfCWg5oWNx7s1fo7aZONrff2W1hCaumI+L08wH0icB9u7HgB+HpJ+dX6PZgCa+8dFRHnlGut92963NwxO1bp+ABr8XVkw0wnk5FU0glMh4vNqzXTZZ/SgLBPjJE6qtIRVWxbCz/l349bjFtdXMfiTr4BkqZvOKghuJB/czttHatrbBQWut0SoESiN+Ah6UGSJm9EUJdhWam2OahiU2u54s3AfsCvJS0TES/gbsMVgF3Krc+0vqedNjZsfR/YH9in1EhbShezYWe6bEQMxw0ep6WD+nJkJJV0BPLQ7ua4I2poqwFhrHta8y+9gV6tYnq7KW3G+2G1g/lw+mwIMAdOS76FV0T8VZ47+j2OVNrWCj2WvSsA34iIc+XV76cAQyLit+XrawJPR8SjJe16LnBsux1UsWURYGusaXcn7uZbGdedhkuaGQ8X39tu25o0u/IkfR9HqHtExEWlfvZWRPxvTRt7DBGRH/lR5YPykNR4/U3cqn0o8O3mfdgpgaOuU7GMTE1bZ8VRyZ1Y4+5bWJ3hAmCqse6dodZ7C3wbO9CP8FZi8HK92/DBP/b3TQTMUcnWhbDk1f8B3yvXvgb8HK8K6dfu9/E/2DsNMGn5fE3gaSzI26v5fta2t7t/ZLovqUKzriPpSEmb4JrO8eW/a5cIAHwotOokl+Co5KV22lts/Y6kQZKWiogXy5feCK+26I1Tf/tGxLutP2P53rZvVi32rsCYrb9bAftJ+llY9WInrNoxT6OpYqJwt+Qz7bKz8XuwPH5A+SVWu9hA0mwR8RpeTX81bkypSsPegfhh6TxJ/cOp021xCviHjXszxfdVqe0l82PC/cDq2vdjGZ6r8PzLQnjL7uHlY/py77S4TrF8JVuXwPqAZ+OW8x3K9TtwXec5vFK95vs5K7Bz4/WPgOMar7+NlTq2Kq+nqf07UOxYGjgO2KK8ngKnHE/AzRHgDcDVbS22rIabZWbFCvwPAxuUr62FxYTbGun35I+MpJIqlLrOWsB6WDy2L/AM8Guc0jsctxe/Ueo6hwF7RxsVBBoRxow4RbZDRPwIO9RFJG0REcsVm9eOiKFjNSq0m2mAa2RVbfBhOaukyUuUNAy37x8sad2IeLuapXyiqaMf/l2YXWPWvG+FGzr2kjRpVNQPlDSnpJ0alxbFtbKl8QPVWcAhkjaLiKuAxaLNkX5PJhsnkrYxdqtwOUynwtHJD/AheyGu7WwdJW1W7p0hKqTNJA0AdsMK5pdGxJ6l9fh7wIbAvRFxbLvt+jRK48PJwD8iYhdJZ5UvHcsYBfn/A+YHtokKB0AjZTY78FI4lbsBHkPYD7g7Ij4of5YFImJEu20cy97pcf3xb+Euw9aDy2Dg5xHxpKRrcZp6y/AOq6SLyEgqaRvlYOo2dR1Ji2MNth2A3YEflgjkfVzIvwyn+qrSjN7CHY9HAzNK2jsitsB7oX6Gaz5H4F1ck1G3hX8N3MF3pqTzcCr3NDz42l9exTGyAxxUr4h4A6f3rpR0AkBYLuodYENZBmkkcEA6qK4nI6mkbZRh0vOBu7He2oMRcYKkO7D46rw4pTa0opkASJoDKzKsByxeDtb1cRPCXuFW44miQwrjkr6LxU1fi4jLyzDsb4BHYkyr+TRAf/xn2Dwq7YaSl1gOBbYBXsbv8TpYi3Gr8vlGxTlUoxHxLYRTp5PjAedbImL3Miu3GRbi3T0iqq+p75HULorlR8/+YMyD0Ix4y+uq5fVAnJZqFcuXARZtfk9Fm1fHYqADcbS0HzBl+dpG+MCauQPsbL23/XA970DgLkprOW5CuQQ4pryeEovhLlrL1vL5N3G9EUqLNp4l27R8PlfN93Ws93YdHN0vU17PhNOl+zXunWPsP2N+dN1HRlLJeKc71XUkLQwcg7vkHippqdWB1/Fh/668s+jlz/xBbULS0njv1i3hxo1vYvmlqyJi7xJRTRxl2WJNJK0ELAA8iwVXfxMRZ5SvHYDXqR8+du2yzTZOEmXNvKwdeBaO7u9tDJP3wXNmV0fEzjXsnJDIzbzJeGWsus43gWMl3R1OSV2PBTgfr2ljC1ksdF1gYSzTBK45fYQVrHeXtD/wWh0Lx0k/YADwQumCe1bSesB15cDdA+qvBpHUD2vvPYY31F4KHCRpJvz3PwCvgqeig5oGz5LtHV5WORqPFjxWOkyj2PeqpOWww03GM+mkkvFGqesMwIrbD0bEA7Kk0WHlAL1I0pCoWNdpHt4lSjoJdxluJuntiBgh6SbsTJ+taWvTXklz4c64EyS9iAdJ7yoPAM/JW2y/3vq+Wgd/sXUZrHG3Sfkd2ByYC88YLYXTkHtFJeFd+FiWayE86vA1eU/Y03gcYv4oMkzFOa0KHBQRt9eyd0Iiu/uS8YK8B+gkYAT+x76vpCkj4lJgL+BIWYetar65HKJrSzpFUkt/7zxc4/mJpCUjYlREXB0Rj9S0FT62d03gIiy+eiWWPboSz2stLy9XfDbav5X205gOp3ZXLa8vAJ4A3sTD0PtGxBW1ZszKKMRVuEPvTbzV90g8VHwGcJKkXSVtD5wJ3BMRo2vYOiGSTirpckpdZ3e882kIbpCYFthF0lQRcRGwVES8XOsJv2FrP7yj6jx8YB6EBzTPxQv1tpE0da0DdGxKp9lBuIHjLaxtN1mp6d2AHwCm+vSf0H4i4lqcLv2JpE3KAd+ah7umEcnW+l2YBcsujcKR1HXAjXj/03W4njo5Tu9tFxFXVrJzgiQbJ5IupdR1dsY1qI0i4paS4vsOPqhexqkfRUQnaLENwp1b25XXm2Al8/64LjUqvH23GmVW58Py+dy4keNpxqTQnpS0XETcIekbEfFcTXs/jdKyfSCWahpc254mJaX7bfw7O7RE+Vvh5Yp7RsTjNRs6JmSyJpV8ZbpTXWccB80zwMqS+gIvRMT58jLDvhFxXxUjC5Kmjoh3wooMK+A5qH9h5/QaXgj4rqQVgT0kbd2pDgogIq4qDQiHSroO19Sqz5mV+b1b8GLCpSXdExEvSDoVq2AcJWlTPNtX/cFqQiMjqaRLkLQ2niuaCT8tj8brC2YFBkfl/T9N5KV6cwKv4uHMs3CNZBhO8Z0FrBeVhl2LjVPgWa1jsYDpZcC9wIvAKnix4hF4CPrXeG5nSB1rvxiS+kTEq7XtAJC0JE7rbVaipYvx1t+DI+LlElFNGRFPVTV0AiadVPKVKXWdU/Den2XwIXoEbjf+GU6b7Q68W7G9uNkKfSHWC1wduBivB/kNbpGfDc9DXVHDziallfxXwHu4++2Oku5bG6emJsPO9YaIuDrTUV+M0tF3BXBoRJxWrk2Lndbb2PGnUGxlMt2XdAULAbeH17rfJOk5PBPTH0cloyLinZoGFge1NBay3anUHU7DEUqviNgbQNJMEfFKJxz4EXGZpHewasQquLHjOVyP+npE7Na6txPs7YY8DzyKG3pOD/OWpO3wsPEMQDqpymR3X/KFGUen2zPAFJL6ynp25+Mcf9+IeLRW40HLzoa9y+K5rXnK4OszeHh3kKSjyz2vQtVOs08QEdcDWwJbls64UbirbyVJM7f+bJ1ibyfT+H1YtKR8pwQ2x1JSQ0q9jIh4CzdQVB85SDLdl3xJukNdp4UsFfRieP3DhnjwdX/grogYVb7et5OHMyWtg1dD3Irnec6JFDT9wsgbdffDUen8wCHYSR0FzA2s1gldp8kYMpJKPjeNJ9F+OB0yB57L2Q0rWk+Mn0wPwNp3tVS255a0c/l8DTzrcoakC4GbKLpxfHLwtWMdFEBxSFvjg/SYiPhjp8xudRfK0O5PgBXxHNTXgPvDa2F2A/6GW86TDiIjqeQLoX8XNJ0D13UujIhDyz1V6zqyZNAT+Ol4YlzTeQ74IU73rY4V2QfQASshvgiqtPyxJyAvL9wLR6LfwetKnipZgfuAtzuhJT75JBlJJZ9Jd6vryErVTwHzABsAK0bErcDzEfE7fBitHxHHA9t2JwcFdZY/dlcav7vTSpqm/F2/j1fV/6I4qJVwk0/fdFCdSTqp5DNpOJpvyKKwxwN74hmopVvpMmA1vGm1poq1wqsU5sdbU1cE5pD068YB9AYWNwV3ySU9lNLRORBH0tdL2hhvJb4D2FbSQVhfcreIeKiiqclnkOm+ZJyUeZx1IuKYUtc5DhiO02fbY6e0BdY6u610nVWnNBj8Fncc/hV3GZ6PZ6Muw7p3e0TEn2rZmLQHSYvgKGkH3OSzFnZQI3A9tQ/wcJk/yxb+DiXnpJJPI7AcTF/8e7IVY+o6Q3Fd52s4qtoIRyhVkbQssA9W214V+F+c3vkhjvIWAH5cZJryUOrBlN/b3YB/hRc+3i/pdeAEnOa9vHl//i50LhlJJf+GxmwgnQsra78REUuUGaiPJB0PDI+IsyTN1SmSMeVgmhWYHkdTm2IF9hdxyuetiLixnoVJO5A0R0Q8I2krYBM8DnFBGUE4Cnf0Dc4Hle5B1qSST9Cd6zoR8beIGA6sBJwbEU/g2aIF8Yr6G7Ntu2cjaWrgRHm77ml4d9WywCGycPB6wFOQ0VN3IdN9yScoxeax6zo/Bs6XNA+u6wwE9mjdX8nUz+JBXBjvjdeD7BRFHbxD7U2+Aq0Iv7x8Hw/r7ilp94g4XNKPcR21L94Hdasa60+SziadVPIJekhd5ypgUtwqn2u+eyiSJgU+KCno/njO6UFJ92JFkQMlvR8Rvy+SRwsB07TS2TVtTz4/me5LxuZv+KlzMaxq/l/A8thJbQLsHREjoHOjkoh4O7xUb+OIuDJTfD0PSQsCvwfmK5dWAq6QtHCJkB7GCue7FPWRs/HCzcXxWvikm5BOKvkEPayu8yF0rjNNvhySFsJO52GcjiYiDsYrVy6StEhEfIDrpUOxRuMH5euHRcTbdSxPvgyZ7ks+jW5f1+kudiafH3kZ5H54Bf1ZkiYq16aJiCMkvQGcI+lKPMe3SUQMKzWof+IlkUk3Ip1U8mlkXSfpREYCo/AiSIBf4hTeApIexIO7TwCzA1sUSSyySaL7knNSyWfSmJnq1CaJZAKh9TsoaVM8A7cg8Be8KuZR3F7+14g4saKZSReTkVTyn8i6TtIRNH4H/wQ8BCyDJa9GRsSHklbGKihJDyKdVPKZpHNKOo2iBP8P4IHWNUlL4Uhq11p2JeOH7O5LkqQjkTTl57hnRkk/AM7D4xEpe9XDSCeVJEnHURzUrZI2+g+3foD3lw2K3FbcI8nGiSRJOpISIR0E7B4RQz7jvo8ljsaSSEp6AFmTSpKko2hFQxFxsaTRwDGls+/ycdzbqzRNTAGMLkO7SQ8i031JknQMjVGHqcsm6MuAnYGjJa071r0tBzUdcDswdwWTk/FMRlJJknQEjTmogVgnspekwyNiSImojpbUu0RYrfm9aYGLsSLKX6r+AZLxQkZSSZJ0BMVBrQbsjVvJJwdOlTQwIq7E6hJHSZq5OKjp8SDv/i1liaTnkZFUkiTVaaT5lsDSRkvhDcsXAodJmjQiLpJ0e0S8Wr5tbWDfiLitjtVJO8juviRJqtFI8U0WESPLtRmxyvn2ZQ38jXhMuIf3AAAFMElEQVSn2aCGg0omEDLdlyRJNYqDWh04XtLu5fIbwFvABpKWAd4FfpsOasIknVSSJNWQNC9wJHAzsJGkQ4GZgQuwuvk5wCkRcWc1I5OqZLovSZK20kjxfQuYEli6rHifDTgRuA84A3gB+HpJ+aUK/wRKOqkkSdqOpFVwU8RwYFFg/Yi4W9LMOHp6ENgt1SOSdFJJkrQVSYsAWwN/AO7E3Xwr47rT8OKo+kbEvfWsTDqFrEklSTLeaUkdSVoI6/GtCEwaEaNwJ9+NwCGS+kXEy+mgkhbppJIkGa80alDLA7/FQ7nDcffebBHxGl61cTVlyWaStMh0X5Ik4x1JSwM/Au6JiLOKIOwpuN38dxHxfJE8GlXV0KTjyEgqSZLxRmO/Uz9gLWB2SVNExPvAVsBswF5FUSIdVPJvZCSVJEmX00jxzQ68VNTKNwC2A/YD7o6IDyRNBiwQESNq2pt0LumkkiQZL0haA9gXeALoBewIrAZsARwG3J77n5L/RArMJknS5UiaDzgG2AZ4GVgPGAKsDvQB9gQ2wuvfk+RTSSeVJEmXMJYqxL+AWyPi1rLS/XeSvgEMjIjjJF0REW9UNDfpJmTjRJIkXUKpQa0kaVtgQeD7kgY1VCNeB2Yvnz9dxcik25GRVJIkX4lGk0Q/rL33GPAIcClwkKSZgMeBAXgVPKnDl3xesnEiSZKvTFmpcQDwy4h4QNLmwFzALLgG9Rfc0XdFRTOTbkhGUkmSdAXTAd8DVgUewKs2NgImw1HUMSXaSjXz5AuRTipJkq9MRFwraX2sv/dCRJwv6cLy5REtx5QOKvmipJNKkqRLiIihkkYDB0qaJCIGY02+JPnSZE0qSZIuRdIA4FCc/nspd0IlX4V0UkmSdDmS+kTEq7XtSLo/6aSSJEmSjiWHeZMkSZKOJZ1UkiRJ0rGkk0qSJEk6lnRSSZIkSceSTipJki5B0oeSRkh6SNLFZUX8l/1ZZ0rasHx+qqSFPuPelSUt9yX+H89I+tqXtTFpD+mkkiTpKv4ZEYtFxMJ4T9TPml+U9KXEAyJi64h45DNuWRn4wk4q6R6kk0qSZHxwKzBPiXJulTQUeERSL0mHSxou6YGy1gOZEyQ9Jul6YKbWD5J0s6SlyudrSLpP0v2SbpA0B3aGu5QobgVJfSRdUv4fwyX1L987o6RrJT0s6VRA7X1Lki9DyiIlSdKllIhpTeBP5dISwMIR8bSknwJvRcTSkiYFbpd0LbA4MD+wEDAzXvVx+lg/tw9wCrBi+VkzRMQ/JJ0EvBsRR5T7zgOOjojbyqLFa/B+q32B2yLiAEnfB7Yar29E0iWkk0qSpKuYXNKI8vmtwGk4DXd3RLSWHK4GLNqqNwHTAvMCKwLnR8SHwAuSbhzHz18WuKX1syLiH59ix/eAhaSPA6VpJE1V/h/rl++9UlJuBu4GpJNKkqSr+GdELNa8UBzFe81LwI4Rcc1Y963VhXZMBCwbESPHYUvSzciaVJIk7eQaYDtJvQEkzSdpSuAWYONSs5oV+M44vvdOYEVJc5bvnaFcfweYunHftcCOrReSWo7zFmDTcm1NYPou+1Ml4410UkmStJNTcb3pPkkPASfjjM5leDniI8BZwLCxv7EI1v4UuFTS/UBrX9UfgfVajRPATsBSpTHjEcZ0Ge6PndzDOO333Hj6MyZdSArMJkmSJB1LRlJJkiRJx5JOKkmSJOlY0kklSZIkHUs6qSRJkqRjSSeVJEmSdCzppJIkSZKOJZ1UkiRJ0rGkk0qSJEk6lv8HcMn7jeCCHToAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot normalized confusion matrix\n", "plot_confusion_matrix(multi_y_true, multi_y_preds, normalize=True, classes=multi_classes, \n", " title='Normalized Multi-class Confusion Matrix')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Results (first save results.csv)" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " accuracy precision recall f_beta kappa_score\n", "0 0.963918 0.964930 0.971868 0.970225 0.973439\n", "1 0.994819 0.992308 0.996296 0.995439 0.993892\n", "2 1.000000 1.000000 1.000000 1.000000 1.000000\n", "3 0.994819 0.996364 0.995833 0.995915 0.998464\n", "4 1.000000 1.000000 1.000000 1.000000 1.000000\n", "*-**-**-**-**-**-**-**-**-**-*\n", "Results :-\n", "Accuracy : 99.0711 % | 1.0717 %\n", "Precision : 99.0720 % | 1.0316 %\n", "Recall : 99.2799 % | 0.8373 %\n", "F_beta : 99.2316 % | 0.8836 %\n", "Kappa_score : 99.3159 % | 0.7888 %\n" ] } ], "source": [ "def compute_results(fname):\n", " df = pd.read_csv(fname)\n", " print(df)\n", " print(\"*-*\" * 10)\n", " print(\"Results :-\")\n", " mean_df = np.mean(df, axis=0)\n", " mean_error_df = np.mean(np.abs(mean_df - df), axis=0)\n", " for col, mean, error in zip(list(df.columns), list(mean_df.values), list(mean_error_df.values)):\n", " print(f\"{col.capitalize()} : {mean * 100:.4f} % | { error * 100:.4f} %\")\n", "\n", "compute_results(\"results.csv\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.9" } }, "nbformat": 4, "nbformat_minor": 4 }