Skip to content

Instantly share code, notes, and snippets.

@gngdb
Last active February 5, 2023 17:19
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gngdb/70b8d6f6c2d838de7948d11128de037d to your computer and use it in GitHub Desktop.
Save gngdb/70b8d6f6c2d838de7948d11128de037d to your computer and use it in GitHub Desktop.
Graphing performance for a report.
Name Top 1 Error Mult-Adds Params Citation
NASNet-A 2.65 ? 2.76e7 zoph2017learning
NASNet-B 3.73 ? 2.6e6 zoph2017learning
NASNet-C 3.59 ? 3.1e6 zoph2017learning
DenseNet-40-12 5.24 ? 1e6 huang2016densely
DenseNet-100-12 4.1 ? 7e6 huang2016densely
DenseNet-100-24 3.74 ? 2.72e7 huang2016densely
DenseNet-100-40 3.46 ? 2.56e7 huang2016densely
ResNet-110 6.61 7.6e9 1.7e6 he2016deep
PNASNet-5 3.41 ? 3.2e6 liu2017progressive
AmoebaNet-A 3.34 ? 2.8e6 real2017large
AmoebaNet-B 3.37 ? 3.2e6 real2017large
DARTS 2.83 ? 3.4e6 liu2018darts
WRN-40-4 4.53 ? 8.9e6 zagoruyko2016wide
WRN-16-8 4.27 ? 11e6 zagoruyko2016wide
WRN-28-10 4.00 ? 3.65e7 zagoruyko2016wide
CondenseNet-94 5.00 1.22e8 3.3e5 huang2017condensenet
CondenseNet-86 5.00 6.5e7 5.2e5 huang2017condensenet
CondenseNet-160 3.46 1.084e9 3.1e6 huang2017condensenet
CondenseNet-182 3.76 5.13e8 4.2e6 huang2017condensenet
Moonshine-G(N/8) 5.06 4.558e5 8.64e7 crowley2017moonshine
Moonshine-BG(2-M/4) 6.03 1.657e5 2.82e7 crowley2017moonshine
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Making a plot of top 1 errors versus parameter and Mult-Add use, including as many of the recent published efficient networks I can think of.\n",
"\n",
"*Notes on estimates where required*:\n",
"\n",
"* WRN-50-2 Mult-Add count is estimated to be 146 times the parameter count, as that relationship is true for a WRN-50-2 on CIFAR-10 that we used in experiments.\n",
"\n",
"(Thanks to [this stackoverflow question.](https://stackoverflow.com/questions/46027653/adding-labels-in-x-y-scatter-plot-with-seaborn))"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import math\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import numpy as np\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.patches as mpatches\n",
"from matplotlib.collections import PatchCollection"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"plt.style.use('ggplot')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"df_perf = pd.read_csv(\"imagenet_top1.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Top 1 Error</th>\n",
" <th>Mult-Adds</th>\n",
" <th>Params</th>\n",
" <th>Citation</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Conv MobileNet</td>\n",
" <td>28.30</td>\n",
" <td>4.866000e+09</td>\n",
" <td>29300000.0</td>\n",
" <td>howard2017mobilenets</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>MobileNet</td>\n",
" <td>29.40</td>\n",
" <td>5.690000e+08</td>\n",
" <td>4200000.0</td>\n",
" <td>howard2017mobilenets</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.75 MobileNet</td>\n",
" <td>31.25</td>\n",
" <td>3.250000e+08</td>\n",
" <td>2600000.0</td>\n",
" <td>howard2017mobilenets</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.5 MobileNet</td>\n",
" <td>36.30</td>\n",
" <td>1.490000e+08</td>\n",
" <td>1300000.0</td>\n",
" <td>howard2017mobilenets</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.25 MobileNet</td>\n",
" <td>49.40</td>\n",
" <td>4.100000e+07</td>\n",
" <td>500000.0</td>\n",
" <td>howard2017mobilenets</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>GoogleNet</td>\n",
" <td>31.10</td>\n",
" <td>1.550000e+09</td>\n",
" <td>6800000.0</td>\n",
" <td>szegedy2015going</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>Squeezenet</td>\n",
" <td>42.50</td>\n",
" <td>1.700000e+09</td>\n",
" <td>1250000.0</td>\n",
" <td>iandola2016squeeze</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>ShuffleNet</td>\n",
" <td>32.40</td>\n",
" <td>1.400000e+08</td>\n",
" <td>1878000.0</td>\n",
" <td>zhang2017shuffle</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>ShuffleNet 2x</td>\n",
" <td>24.70</td>\n",
" <td>5.270000e+08</td>\n",
" <td>7512000.0</td>\n",
" <td>zhang2017shuffle</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>NASNet-A</td>\n",
" <td>26.00</td>\n",
" <td>5.640000e+08</td>\n",
" <td>5300000.0</td>\n",
" <td>zoph2017learning</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>NASNet-B</td>\n",
" <td>27.20</td>\n",
" <td>4.880000e+08</td>\n",
" <td>5300000.0</td>\n",
" <td>zoph2017learning</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>NASNet-C</td>\n",
" <td>27.50</td>\n",
" <td>5.560000e+08</td>\n",
" <td>4900000.0</td>\n",
" <td>zoph2017learning</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>PNASNet-5</td>\n",
" <td>25.80</td>\n",
" <td>5.880000e+08</td>\n",
" <td>5100000.0</td>\n",
" <td>liu2017progressive</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>AmoebaNet-A</td>\n",
" <td>25.50</td>\n",
" <td>5.550000e+08</td>\n",
" <td>5100000.0</td>\n",
" <td>real2017large</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>AmoebaNet-C</td>\n",
" <td>24.30</td>\n",
" <td>5.700000e+08</td>\n",
" <td>6400000.0</td>\n",
" <td>real2017large</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>DARTS</td>\n",
" <td>26.90</td>\n",
" <td>5.950000e+08</td>\n",
" <td>4900000.0</td>\n",
" <td>liu2018darts</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>Moonshine-G(4)</td>\n",
" <td>26.61</td>\n",
" <td>1.395000e+09</td>\n",
" <td>8100000.0</td>\n",
" <td>crowley2017moonshine</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>Moonshine-G(N)</td>\n",
" <td>32.98</td>\n",
" <td>5.590000e+08</td>\n",
" <td>3100000.0</td>\n",
" <td>crowley2017moonshine</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>DenseNet-121</td>\n",
" <td>25.02</td>\n",
" <td>6.000000e+09</td>\n",
" <td>9000000.0</td>\n",
" <td>huang2016densely</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>DenseNet-169</td>\n",
" <td>23.80</td>\n",
" <td>7.000000e+09</td>\n",
" <td>12000000.0</td>\n",
" <td>huang2016densely</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>DenseNet-201</td>\n",
" <td>22.58</td>\n",
" <td>8.000000e+09</td>\n",
" <td>20000000.0</td>\n",
" <td>huang2016densely</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>DenseNet-264</td>\n",
" <td>22.15</td>\n",
" <td>1.150000e+10</td>\n",
" <td>33000000.0</td>\n",
" <td>huang2016densely</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>WRN-50-2</td>\n",
" <td>21.90</td>\n",
" <td>1.000000e+10</td>\n",
" <td>68900000.0</td>\n",
" <td>zagoruyko2016wide</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>CondenseNet-8</td>\n",
" <td>29.00</td>\n",
" <td>2.740000e+08</td>\n",
" <td>2900000.0</td>\n",
" <td>huang2017condensenet</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>CondenseNet-4</td>\n",
" <td>26.20</td>\n",
" <td>5.290000e+08</td>\n",
" <td>4800000.0</td>\n",
" <td>huang2017condensenet</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>MobileNetV2</td>\n",
" <td>28.00</td>\n",
" <td>3.000000e+08</td>\n",
" <td>3400000.0</td>\n",
" <td>sandler2018inverted</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>MobileNetV2_1.4</td>\n",
" <td>25.30</td>\n",
" <td>5.850000e+08</td>\n",
" <td>6900000.0</td>\n",
" <td>sandler2018inverted</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Name Top 1 Error Mult-Adds Params \\\n",
"0 Conv MobileNet 28.30 4.866000e+09 29300000.0 \n",
"1 MobileNet 29.40 5.690000e+08 4200000.0 \n",
"2 0.75 MobileNet 31.25 3.250000e+08 2600000.0 \n",
"3 0.5 MobileNet 36.30 1.490000e+08 1300000.0 \n",
"4 0.25 MobileNet 49.40 4.100000e+07 500000.0 \n",
"5 GoogleNet 31.10 1.550000e+09 6800000.0 \n",
"6 Squeezenet 42.50 1.700000e+09 1250000.0 \n",
"7 ShuffleNet 32.40 1.400000e+08 1878000.0 \n",
"8 ShuffleNet 2x 24.70 5.270000e+08 7512000.0 \n",
"9 NASNet-A 26.00 5.640000e+08 5300000.0 \n",
"10 NASNet-B 27.20 4.880000e+08 5300000.0 \n",
"11 NASNet-C 27.50 5.560000e+08 4900000.0 \n",
"12 PNASNet-5 25.80 5.880000e+08 5100000.0 \n",
"13 AmoebaNet-A 25.50 5.550000e+08 5100000.0 \n",
"14 AmoebaNet-C 24.30 5.700000e+08 6400000.0 \n",
"15 DARTS 26.90 5.950000e+08 4900000.0 \n",
"16 Moonshine-G(4) 26.61 1.395000e+09 8100000.0 \n",
"17 Moonshine-G(N) 32.98 5.590000e+08 3100000.0 \n",
"18 DenseNet-121 25.02 6.000000e+09 9000000.0 \n",
"19 DenseNet-169 23.80 7.000000e+09 12000000.0 \n",
"20 DenseNet-201 22.58 8.000000e+09 20000000.0 \n",
"21 DenseNet-264 22.15 1.150000e+10 33000000.0 \n",
"22 WRN-50-2 21.90 1.000000e+10 68900000.0 \n",
"23 CondenseNet-8 29.00 2.740000e+08 2900000.0 \n",
"24 CondenseNet-4 26.20 5.290000e+08 4800000.0 \n",
"25 MobileNetV2 28.00 3.000000e+08 3400000.0 \n",
"26 MobileNetV2_1.4 25.30 5.850000e+08 6900000.0 \n",
"\n",
" Citation \n",
"0 howard2017mobilenets \n",
"1 howard2017mobilenets \n",
"2 howard2017mobilenets \n",
"3 howard2017mobilenets \n",
"4 howard2017mobilenets \n",
"5 szegedy2015going \n",
"6 iandola2016squeeze \n",
"7 zhang2017shuffle \n",
"8 zhang2017shuffle \n",
"9 zoph2017learning \n",
"10 zoph2017learning \n",
"11 zoph2017learning \n",
"12 liu2017progressive \n",
"13 real2017large \n",
"14 real2017large \n",
"15 liu2018darts \n",
"16 crowley2017moonshine \n",
"17 crowley2017moonshine \n",
"18 huang2016densely \n",
"19 huang2016densely \n",
"20 huang2016densely \n",
"21 huang2016densely \n",
"22 zagoruyko2016wide \n",
"23 huang2017condensenet \n",
"24 huang2017condensenet \n",
"25 sandler2018inverted \n",
"26 sandler2018inverted "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_perf"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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y3/88UebxMEf4eLiQlRUFPn5+bRq1YrWrVtToUIFNm3aZLOm38nJifHjxxMSEkLjxo359ddf+fLLL695bd9v7dq1iwYNGtCgQQPS09OZOXMmDRo04JVXXrllXBMnTqRy5co2n4CAgD90j1WqVGHLli0cPnwYT09PunTpQqNGjW75esCbeemll/j555/JyMjg+eeftzmXl5fHkCFDqFOnDt7e3uTl5fHFF1/cdt8WiwU3N7ebJhbeeustrFYrzz33HD4+Pjz22GN06NDhpv2GhYVRt25dmjZtSsWKFVm3bt1160VERODl5YW7u/s15/z9/SlbtixLliwBCvZneOaZZwgMDKR169bUrFmToKAgmzbvvfceAQEBvPDCCzRv3pzLly/b7L3g6OjI2bNn6dOnj9n+ySeftNkHQkREij+LcT8XNYqIiNxjmZmZVKlShcmTJzNkyJCiDqfQzZ8/n+HDh5OVlVXUoYiIiEgxpc0MRUTkgbZhwwYcHBx49tlnOXv2LBMmTMBisdCtW7eiDk1ERESkWFKiQEREHmgXL15k4sSJHDt2jNKlS+Pp6UlMTAyVKlUq6tBEREREiiUtPRARERERERERkzYzFBERERERERFTsV568Nt3GovcDldXV86dO1fUYcifgMaaFBaNNSksGmtSGDTOpLAU5lh77LHHCuU6d0IzCkR+w85O/ySkcGisSWHRWJPCorEmhUHjTArLn32s/bnvXkRERERERERsKFEgIiIiIiIiIiYlCkRERERERETEpESBiIiIiIiIiJiUKBARERERERERkxIFIiIiIiIiImJSokBERERERERETEoUiIiIiIiIiIhJiQIRERERERERMSlRICIiIiIiIiImJQpERERERERExKREwUPIw8MDf39/fH19sVqtREREkJ+fXyjXXrNmDVWqVOGHH34wy1q3bk1qaupN2y1cuJBLly5d99zOnTsJDAzEz8+PwMBAYmJizHOXL19mxIgRtGrVCi8vLzZu3GjT9ssvv+Txxx9n3759d3FXIiIiIiIicpVDUQcgd87Z2ZmoqCgA0tLSGDRoEJmZmQwfPrxQrl+5cmVmz57N/Pnzb7vNokWLeO655yhZsuQ151xdXVm2bBnu7u4cOnSIHj16kJCQAMDs2bOpUKECMTEx5Ofn8+uvv5rtsrKyWLJkCQ0aNLj7mxIRERERERFA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ffv2171GdHQ00dHRtGnTBoCLFy+SkpJCs2bNAChTpgzBwcEsXryYkiVLmu2++eYbkpOTzeOsrCyysrLu9BGLiIiIiFyj2CUK4uPjSUhIsJlaLCIPn/zEBIyVEeDgQA33R9kUl4SxMoL87mE2yYLfbjb4e46OjuZ/29vbk5ubC0CHDh348MMPeeSRR6hfvz4uLi437KNTp0707duX119/3ab8Zte1WCw3Pf59P4MHD6Znz543rNOvXz8CAwN5/vnnzbL8/Hw2bNhgkzwQEREREbkXit3Sg0aNGilJIFIMGFvWgYMDODnTskolLhsGK4+eLCinYHr/t99+S7NmzdiwYQN5eXmkp6ezZ88e6tevf9O+W7RoQWJiIh9//DEdOnS4ad2mTZsyZMgQOnfubFN+s+vu3buXEydOmF/mmzRpcsP+fXx8WLNmDRcuXADg9OnT12zSWL58eTp06MCqVavMMm9vb5YtW2YeJyUlAVC6dGnNLBARERGRu1LsEgUiUkyknQFHJ6DgF/kFga345nQ6rRauwdfXl3fffZdKlSrRtm1bnn32Wfz9/enWrRtjxozh0UcfvWnX9vb2WK1WduzYgb+//03rWiwWBgwYcM3rDG923YYNGzJ16lRat26Nh4eHzSaIv+ft7U3nzp3p2LEjfn5+9O/f/7pf9MPCwmw2Qpw0aRL79u3DarXi4+PDihUrAPD392fz5s3azFBERERE/jCLcbP5sw+5U6dOFXUI8pBxc3O776/ck9uTN2MMZJwHJ+f/K8zJhnLlsR8+pegCu0c01qSwaKxJYdFYk8KgcSaFpTDH2tU9tR4kmlEgIg8kS8DfITe3IDlgGAV/c3MLykVERERE5L5RokBEHkh2dT2xdA+DcuXhQiaUK4/ldxsZioiIiIjIvVfs3nogIsWHXV1PUGJARERERKRQaUaBiIiIiIiIiJiUKBARERERERERkxIFIiIiIiIiImJSokBERERERERETEoUiIiIiIiIiIhJiQIRERERERERMSlRICIiIiIiIiImJQpERERERERExKREgYiIiIiIiIiYil2iID4+noiIiKIOQ0REREREROSh5FDUAdxrjRo1olGjRkUdhoiIiIiIiMhDqdjNKBARERERERGRP06JAhERERERERExKVEgIiIiIiIiIiYlCkRERERERETEpESBiIiIiIiIiJiUKBARERERERERkxIFIiIiIiIiImJSokBERERERERETEoUiIiIiIiIiIhJiQIRERERERERMSlRICIiIiIiIiImJQpERERERERExKREgYiIiIiIiIiYlCgQEREREREREZMSBSIiIiIiIiJiUqJARERERERERExKFIiIiIiIiIiISYkCERERERERETEVu0RBfHw8ERERRR2GiIiIiIiIyEPJoagDuNcaNWpEo0aNijoMERERERERkYdSsZtRICIiIiIiIiJ/nBIFIiIiIiIiImJSokBERERERERETEoUiIiIiIiIiIhJiQIRERERERERMSlRICIiIiIiIiImJQpERERERERExKREgYiIiIiIiIiYlCgQEREREREREZMSBSIiIiIiIiJiUqJARERERERERExKFIiIiIiIiIiISYkCERERERERETEpUSAiIiIiIiIiJiUKRERERERERMSkRIGIiIiIiIiImJQoEBERERERERGTEgUiIiIiIiIiYlKiQERERERERERMShSIiIiIiIiIiEmJAhERERERERExKVEgIiIiIiIiIiYlCkRERERERETEpESBiIiIiIiIiJiUKBARERERERERkxIFIiIiIiIiImJSokBERERERERETMUuURAfH09ERERRhyEiIiIiIiLyUHIo6gDutUaNGtGoUaOiDkNERERERETkoVTsZhSIiIiIiIiIyB+nRIGIiIiIiIiImJQoEBEREREpQuHh4fj6+mK1WvH39+f7778v6pDuWkZGBsuWLSvqMETkDyp2exSIiIiIiDws4uPj+eqrr9i8eTNOTk6cO3eOy5cvF3VYd+2///0vy5cvp3fv3kUdioj8AZpRICIiIiJSRM6ePYurqytOTk4AuLq64u7uzo4dO/Dy8qJz586MHTuWXr16AfDuu+8yf/58s33r1q1JTU0F4NNPP6Vdu3b4+/szYsQI8vLyAIiOjqZDhw4EBATQv39/Lly4wL59+/D398ff3x8/Pz8ef/xxAI4dO0aPHj0IDAykS5cuHDlyBIBhw4YxduxYOnbsSPPmzfnyyy/NGD744AOCgoKwWq3MmDEDgKlTp3L8+HH8/f2ZNGnSfX6KInKvKVEgIiIiIlJEvL29OXXqFK1atWLUqFF8++23ZGdn88Ybb7Bs2TI+++wzzp49e8t+Dh8+zIYNG/j888+JiorC3t6edevWce7cOcLDw1mzZg1btmyhXr16LFiwgHr16hEVFUVUVBQ+Pj4MGDAAgBEjRjBp0iQ2b97M2LFjGTVqlHmNM2fO8Pnnn/Phhx/yzjvvAAVJiJSUFDZu3MjWrVvZv38/u3fvZvTo0VStWpWoqCjGjh17fx6eiNw3WnogIiIiIlKI8hMTMLasg7QzOLtVYtO/phB3MZfY2FgGDhzIoEGDeOKJJ/jLX/4CwHPPPcdHH3100z5jYmJITEwkKCgIgOzsbNzc3EhISCA5OZlOnToBcOXKFTw9Pc12GzZsIDExkVWrVnHhwgUSEhIICwszz/92GURgYCB2dnbUqFGDX375BShIFERHR9OmTRsALl68SEpKijlDQUQeTkoUiIiIiIgUkvzEBIyVEeDgAKXLQMZ57NYsoln3MFoMH84zzzzD2rVrsVgs121vb29Pfn6+eZyTkwOAYRh07drVZgYAwNatW/Hy8mLevHnX9PXjjz/y7rvvsm7dOrPfsmXLEhUVdd1rOzo6mv9tGIb5d/DgwfTs2dOm7tXlECLycNLSAxER4ZdffmHQoEE0b96cwMBAOnToQGRk5D29RtOmTTl37twt64SGhprHX375JcOGDbtpm6SkJLZt23ZPYhQRud+MLesKkgROzmCxcPTiZVIuZBeUAwcOHKBixYqcOHGCY8eOAfD555+b7T08PEhMTAQgMTGREydOANCqVSu+/PJL0tLSADh//jwnT57E09OTuLg4UlJSALh06RJHjx7lv//9L6+88grh4eFUqFABgDJlyuDh4cEXX3xREKthcODAgZvej4+PD2vWrOHChQsAnD59mrS0NEqXLk1WVta9eGQiUgQ0o0BE5E/OMAxCQkLo2rUrc+fOBeDkyZNs3bq1SOLZt28fP/74IzVr1ryt+gcOHGD//v34+fnd58hERO6BtDMFMwn+50JuLuNj9pKRvZsSm/fw5JNPMn36dNq1a0evXr1wdXWlSZMmHDp0CICgoCA++eQT/P39qV+/vrk8oUaNGowYMYIXX3wRwzBwcHBgypQpeHp6MnPmTAYNGmQuIxgxYgQJCQmcPHmSN954w4wlKiqK999/n1GjRhEeHk5ubi6dOnWidu3aN7wdb29vDh8+TMeOHQEoVaoUc+bM4cknn6Rx48a0bt0aX19f7VMg8pCxGFfnDRVDp06dKuoQ5CHj5uZmZuJF7qcHaax98803zJo1i08//fSac9nZ2YwaNYr9+/djb2/P+PHjadmy5Q3LL126xLBhwzh69CjVqlXj5MmTTJkyhXr16tG0aVMiIyNxdXXl008/ZcmSJVy+fJkGDRrwzjvvYG9vT9OmTQkLC+P777/n/fff58svv+Srr75i1qxZXLx4kbfeeotDhw6Rm5vL66+/jq+vrxmPu7s7gwcPNtfhSoEHaaxJ8aaxdnvyZoyBjPMFMwquysmGcuWxHz7lum1iY2OZP38+y5cvL6QoH1waZ1JYCnOsPfbYY4VynTuhpQciIn9yycnJ1KlT57rnli1bBsC2bduYN28ew4YNIzs7+4blH374IeXKleOrr75i2LBh7N+//5o+b7Qz91UdOnQgMTHRnCZ7VXh4OC1btmTTpk2sXbuWSZMmkZuby/Dhw+nYsSNRUVFKEojIA88S8Hf4/+zdeVjU5f7/8dewCJqkIoVC7mVqUKZjmksqDLig4s/1aFmdstAytzbTsq+aWanHvaJFq1N2SOtIqYmgfvEkpYD7vqS5giK4A7LM7w++fo7IIirMsDwf19Ulc3+2N3pfc8685l4yM3PCAas158/MzJx2ACglmHoAAMhl/Pjx2rRpkypVqqTatWvr73//uyTp/vvv13333ac///xTsbGx+bZv2rRJzz//vCSpSZMmatq0aZ77F7Qy9zWOjo4aPny45s+fr86dOxvt69evV2RkpLF/eHp6uk6cOFEyfwkAUEIcfFsqe3CIseuBPDxl6tJHDr4tC7ymbdu2atu2rQ2rBFDRERQAQAV0/dZc91/J0or9//3A/f777ys5OVndunVTrVq18r2+oFlrRZnNVtDK3Nfr27ev5s2bp8aNG+e67rPPPtP999+f69zNmzff9JkAUJo4+LaUCgkGAMDemHoAABWMsTXX+RTpLje1u9tV6adO6KtpU4xzUlNTJeXsQvDvf/9bknTo0CGdOHFCjRo1KrD9scceM1bL3r9/v7H41vUKWpn7es7OznrhhRf0xRdfGG0dO3bUokWLjDBi586dkqSqVauysjYAAEAxIigAgArmxq25TK6V9bmltf5YvUpt2rRRUFCQRo0apfHjx+uZZ55RVlaW/P39NXz4cM2aNUsuLi6Ftp89e1YWi0ULFixQ06ZN5ebmluv516/MbbFYNGjQICUmJuapc9CgQcrKyjJejx49WhkZGbJYLPLz89NHH30kKWdI7oEDBxQQEKDw8PCS/csDAACoANj1ALhOeVpJ19vbW3369NG8efMkSZmZmXr00Uf16KOP2mTV5OtXuL/e6tWrtX//fo0YMaJYnrNu3TrNmDFDFy9elIuLixo1aqR33nlH3t7ekqSJEyeqe/fuatOmjXHN22+/rbCwMB04cECStGjRIlWpUkUDBw4slpqKwp59LWvc0JytuUym/zZardLli3L84IuCLyzKvbOylJGRIVdXVx05ckQDBw7Uf/7zH1WqVOkOq8btKk/vayjd6GuwBfoZbKWi73rAGgVAOVWlShXt27dPqampqly5stavX1/gfHNbCgwMVGBgYLHca+/evXr77bf11Vdf6YEHHpCUE0QcO3ZM3t7eSklJ0ebNmzV58mTjmm3btun8+fO57vO3v/1NwcHBNg0K7MrDM+/WXFfTc9rvUGpqqvr376+MjIcvEEEAACAASURBVAxJ0rRp0wgJAAAAyhimHgDlWOfOnbVmzRpJ0rJly9S7d2/jWEpKip577jlZLBb16NFDu3fvLrR95syZGjt2rPr166fHH39cX375pSTpypUrGjJkiDEc/Pqh3wsXLlSXLl3k7++vgwcPSpLCwsI0YcIESTlDyd955x316tVLjz/+uJYvX25c+8knn6h79+6yWCyaMWNGvr/fggULNHLkSCMkkHKCiGujB1asWJFr1fysrCxNmTJFb7/9dq77VK5cWXXq1NGWLVtu5a+3zCrJrbmqVq2qX3/9VVFRUYqKipKfn18xVAwAAABbIigAyrHg4GCFh4crLS1Ne/bs0aOPPmocmzlzpnx8fBQVFaVx48Zp1KhRhbZL0sGDB/Xdd99pxYoV+sc//qGMjAytW7dOtWrVUlRUlNauXZvrg7m7u7siIiI0ZMgQY0u7GyUmJmrZsmX6+uuvNW3aNElSdHS0Dh8+rBUrVmj16tXavn27/vjjjzzX7t+/Xz4+PgX+/rGxsfL19TVeL1q0SIGBgfL0zPvN+cMPP6yNGzcWeK/yxMG3pUyDQ6RqNaTLF6VqNWQaHFLo1lwAAACoOJh6AJQj1295p4yrapKVquPHjys8PDzPN7ubNm3S559/LilnFfqUlBRduHChwHZJ8vf3l4uLi1xcXOTh4aEzZ86oSZMmmjJliqZOnSqLxaLWrVsbz+jWrZuknA/hv/76a741d+3aVQ4ODmrcuLHOnDkjKScoiI6ONqYoXLlyRYcPH861zsCNkpOTNXDgQKWmpuqpp57SsGHDdPr0adWsWVOSlJCQoOXLl2vp0qX5Xu/h4WGMeqgI2JoLAAAABSEoAMoJY8s7J6echeqsVlkXhyrgER9NnjxZS5cuVUpKinF+fuuYmkymAtslycXFxWhzdHRUVlaWGjVqpF9//VVr167VtGnT1LFjR40ZMybX+dfOzc/189evPdtqtWrEiBEaMmRIrnO/+uorfffdd5Kkf/7zn2rcuLF27typhx56SO7u7oqMjNSnn36qy5cvS5JcXV2Vnp4uKWcrvSNHjqhdu3aScubSt2vXThs2bJAkpaeny9XVVQAAAEBFx9QDoJy4ccs7ySQ5OWmAS4bGjBmjpk2b5jq/TZs2+umnnyRJMTExcnd3l5ubW4HtBUlISFDlypXVt29fDRs2TDt27Ljj36VTp04KCwszPvCfOnVKSUlJevbZZxUZGanIyEjVqlVLL730kubOnWvsXiDlBADXPPDAAzpy5IgkyWKxaOvWrdq4caM2btyoypUrGyGBJP35559q0qTJHdcOAAAAlHWMKADKi6TEnJEE16vkotqXL2ro0KF5Th87dqzGjh0ri8UiV1dXzZ49u9D2guzdu1fvvfeeTCaTnJ2djXUG7kTHjh114MAB9erVS1LODg7z5s2Th4dHrvOaNm2qSZMmadSoUbp06ZJq1Kghb29vvfrqq5Jypkp8++23Gjx48E2fGRsbq7Fjx95x7QAAAEBZZ7LmN864nDh58qS9S0AZU5b35s2aMSHvlnfpaVK1GnJ8bar9CrOz3r176+uvv1a1atUKPGfnzp0KDQ3VvHnzbFZXWe5rKFvoa7AV+hpsgX4GW7FlX/Py8rLJc24FUw+AcqIkt7wryyZOnKgTJ04Uek5ycrLeeOMNG1UEAAAAlG5MPQDKCQfflsoeHPLfXQ88PGXq0qfCb3nXokWLm57zxBNP2KASAAAAoGwgKADKEba8AwAAAHCnmHoAAAAAAAAMBAUAAAAAAMBAUAAAAAAAAAwEBQAAAAAAwEBQAAAAAAAADAQFAAAAAADAQFAAAAAAAAAMBAUAAAAAAMBAUAAAAAAAAAwEBQAAAAAAwEBQAAAAAAAADAQFAAAAAADAQFAAAAAAAAAMBAUAAAAAAMBAUAAAAAAAAAxO9i6gqI4fP64ffvhBbm5u8vX1VZs2bexdEgAAAAAA5Y5dg4KPP/5YmzdvVrVq1TRz5kyjfevWrVq0aJGys7Pl7++v3r17a8uWLerWrZuaNm2qDz/8kKAAAAAAAIASYNepB506ddL48eNztWVnZ+vLL7/U+PHjNWvWLG3YsEHHjx/XE088oQ0bNuif//ynLl26ZKeKAQAAAAAo3+waFDRr1kxVq1bN1Xbw4EHVqlVLnp6ecnJyUtu2bRUbG6tq1app6NChevLJJ+Xm5manigEAAAAAKN+KPPXg+PHjqlq1qqpXr660tDT9/PPPcnBwUM+ePeXi4lJsBSUnJ6tmzZrG65o1a+rAgQM6ffq0/v3vfys9PV29evXK99qoqChFRUVJkj744AN5eHgUW12oGJycnOg3sAn6GmyFvgZboa/BFuhnsJWK3teKHBTMmTNHY8aMUfXq1fXNN9/o1KlTcnZ21meffaZXXnml2AqyWq152kwmk+69916FhIQUeq3FYpHFYjFeJyUlFVtdqBg8PDzoN7AJ+hpshb4GW6GvwRboZ7AVW/Y1Ly8vmzznVhQ5KDhz5oy8vLxktVoVGxurmTNnqlKlShoxYkSxFlSzZk2dPXvWeH327FnVqFGjWJ8BAAAAAADyV+Q1CpydnZWamqqDBw+qZs2auvvuu+Xs7KyMjIxiLahRo0Y6deqUTp8+rczMTMXExMhsNhfrMwAAAAAAQP6KPKKgXbt2mjx5slJTU9W1a1dJ0uHDh3Xvvffe9sNnz56t3bt36+LFixo2bJgGDBggPz8/Pffcc5o6daqys7PVuXNn1alT57afAQAAAAAAis5kzW9RgAJs27ZNjo6O8vHxkSQdOnRIqampxuvS5uTJk/YuAWUM895gK/Q12Ap9DbZCX4Mt0M9gK6xRcAseeeSRXK8bNWpUrMUAAAAAAAD7KjQomDhxokwm001vMmnSpGIr6E7FxcUpPj7+pjskAAAAAACAvAoNCvz8/IyfExMTtW7dOnXs2FH33HOPkpKSFB0drc6dO5d4kbfCbDaz+CEAAAAAALep0KCgU6dOxs8TJkzQhAkTci0s2L59e33yyScaMGBAiRUIAAAAAABsp8jbIx4/flyenp652u69916dOHGi2IsCAAAAAAD2UeSgoFmzZvr444916tQpXb16VSdPntQnn3yiJk2alGR9AAAAAADAhoq868HLL7+sL774QmPHjlV2drYcHR312GOP6aWXXirJ+gAAAAAAgA0VOSioWrWqRo8erezsbF24cEF33323HByKPCABAAAAAACUAYUGBYmJiQUeO3PmjPHzjWsXAAAAAACAsqnQoGDkyJFFuklYWFixFFMc4uLiFB8fr5CQEHuXgtvUunVrHT9+3N5lACWqXr16iomJsXcZAAAAQB6FBgXXBwDr1q3Tjh071L9/f91zzz06c+aMli5dKl9f3xIv8laYzWaZzWZ7l4E7cPz4cbvtpuHh4aGkpCS7PBsVi7e3t71LAAAAAPJV5EUGwsLCNGzYMNWuXVtOTk6qXbu2XnzxRf3rX/8qyfoAAAAAAIANFTkosFqtOn36dK62M2fOKDs7u9iLAgAAAAAA9lHkXQ+CgoI0efJkderUyRieHR0draCgoJKsDwAAAAAA2FCRg4JevXqpbt26+v3333XkyBFVr15dw4cPV/PmzUuyPgAAAAAAYENFDgokqXnz5rmCgezsbG3evFktWrQo9sIAAAAAAIDt3VJQcM1ff/2l6Oho/fbbb8rOztYXX3xR3HUBAAAAAAA7KHJQcOHCBf3nP/9RdHS0/vrrL5lMJv3973+Xn59fSdYHAAAAAABs6KZBwR9//KH//d//1bZt2+Tt7a327dvr9ddf14QJE9SmTRs5Ozvbok4AAAAAAGADNw0KZs2apapVq2rMmDF67LHHbFHTHYmLi1N8fLxCQkLsXQoAAAAAAGXOTYOC4cOHKzo6Wv/4xz/UqFEjtW/fXm3btpXJZLJFfbfMbDbLbDbbuwwAAAAAAMqkmwYFnTp1UqdOnXTmzBlFR0dr1apV+uabbyRJW7Zs0RNPPCEHB4cSLxQAAAAAAJS8Ii9meM8996hfv37q16+f9u7dq+joaH399df6/vvvFRoaWpI1AgAAAAAAG7mt7RGbNGmiJk2a6LnnnlNsbGxx1wQAAAAAAOzktuYMTJs2TZLk7Oystm3bFmtBAAAAAADAfm4rKNi7d29x1wEAAAAAAEqB2woKrFZrcdcBAAAAAABKgdtao+DFF18s7joA2Ej2jnhZI36SkhIlD0+ZuvSRg29Le5cFAAAAoJQo8oiCjz76yPi5ffv2xs8zZswo3oqAUix7R7yyZkxQ1rihypoxQdk74m1ybXHJ3hEv6+JQ6XyKdJebdD5F1sWhdqkFsDVvb2+98sorxuvMzEz5+vrq6aeftsnzW7dureTk5Dztq1ev1vz584vtOevWrVNQUJCeeOIJBQQE6Mknn9SJEyeM4xMnTtQff/whSerXr5+6detmHNu2bZv69esnSdqzZ49Gjx5dbHUBAICyo8hBwa5du26pHShv7uRDdmn5gG6N+ElycpJcXCWTKedPJ6ecdqCcq1Klivbt26fU1FRJ0vr161WrVi07VyUFBgZqxIgRxXKvvXv36u2339bs2bO1fv16RUZG6m9/+5uOHTsmSUpJSdHmzZvVpk0b45qkpCStXbs2z72aNm2qU6dO5QoZAABAxXDTqQdhYWGScr55ufbzNYmJibrnnntKprLbFBcXp/j4eIWEhNi7FJQQew2dz/UhW/q/P9Ny2m/y/Du5tlglJeYEFder5JLTjgIxXaP86Ny5s9asWaMePXpo2bJl6t27tzZu3Cgp50P0q6++qqNHj8rV1VUfffSRmjVrVmD7zJkzdeLECR09elQnTpzQ0KFD9fzzz+vKlSsKCQnRqVOnlJ2drVGjRik4OFiStHDhQkVGRiozM1OhoaG6//77FRYWpu3bt2vq1KkaPXq03NzctG3bNp05c0YTJkxQjx49JEmffPKJfvnlF129elVdu3bVa6+9luf3W7BggUaOHKkHHnjAaOvZs6eSkpIkSStWrFDnzp1zXTN8+HDNmTNHfn5+ee4XEBCg8PBwvfTSS8XzDwAAAMqEm44oOHv2rM6ePavs7Gzj52v/eXh4aOzYsbaos8jMZjMhQTlm12/mkxJzPlRfr6gfsgu51qZTEjw8pavpuduupue0I1+lZTQIikdwcLDCw8OVlpamPXv26NFHHzWOzZw5Uz4+PoqKitK4ceM0atSoQtsl6eDBg/ruu++0YsUK/eMf/1BGRobWrVunWrVqKSoqSmvXrs31wdzd3V0REREaMmSIPv3003xrTExM1LJly/T1118b2xFHR0fr8OHDWrFihVavXq3t27cb0weut3//fvn4+BT4+8fGxsrX1zdXW8uWLVWpUiVt2LAhz/mPPPKIEaQAAICK46YjCq59i9C4cWNZLJYSLwgojF2/mffwzPmweO3ZkvEh+6bfOBd0beUqOR9CnZxyfwgdHFIi31ibuvTJeZ7ScoKKq+lSZqZMXfrc1v0qwjftpWY0CG5Lrj6acVVNslJ1/PhxhYeH5/kGfdOmTfr8888l5azFk5KSogsXLhTYLkn+/v5ycXGRi4uLPDw8dObMGTVp0kRTpkzR1KlTZbFY1Lp1a+MZ19YDePjhh/Xrr7/mW3PXrl3l4OCgxo0b68yZM5JygoLo6GgFBgZKkq5cuaLDhw/nmkJwo+TkZA0cOFBXr17VoEGDNGzYMJ0+fVo1a9bMc+6oUaM0Z84cTZgwIVd7zZo1lZjIiCMAACqaQkcUJCYmGv/5+vrmen39f4DN3Mm3+nfI1KWPlJkppadJVmvOn5mZ0oO+N/3GucBrrVabrhng4NtSpsEhUrUa0uWLUrUaMt1mKFFhvmm3Y5/DncnTR61WWReHKuARH02ePFm9e/fOdX5+W/+aTKYC2yXJxeW/fcPR0VFZWVlq1KiRfv31VzVp0kTTpk3TrFmzjHOunX/t3PxUqlQpT01Wq1UjRoxQZGSkIiMjtWHDBg0aNEhfffWVAgICFBAQoISEBDVu3Fg7d+6UlDN6ITIyUs8//7wuX74sSXJ1dVV6enqeZ7Zv317p6enavHlzrvb09HS5urrmOR8AAJRvhY4oGDlyZJFucuPaBUCJKeRb/ZLm4NtS2YND8nyDXpRvnAu89rtPbL5mgINvy2L5JrzCfNNuxz6HO5Onj8okOTlpgEOG7h4zRk2bNlVMTIxxfps2bfTTTz9pzJgxiomJkbu7u9zc3ApsL0hCQoKqV6+uvn376q677tIPP/xwx79Lp06dNH36dPXp00d33XWXTp06JWdnZz377LN69tlnjfNeeuklDR06VC1atDDWKbi2eKMkPfDAAzpy5Ijatm2b5xkjR47UuHHjVK9ePaPtzz//1IMPPnjH9QMAgLKl0KCAAAClTXEPnb9V+X3Izirih/18ry3LH0IryMKI9u5zuAMF9NHaly9q6NCheU4fO3asxo4dK4vFIldXV82ePbvQ9oLs3btX7733nkwmk5ydnY11Bu5Ex44ddeDAAfXq1UtSzg4O8+bNk4eHR67zmjZtqkmTJmnUqFG6dOmSatSooYYNGxq7Kvj7++vbb7/V4MGD8zzD398/z7SEmJgY+fv733H9AACgbDFZ8xtTWU6cPHnS3iXgNnh7exe6Hdetzou/lfM9PDyM1cGLKmvGhLwf9tPTpGo15Pja1EKvNYZGOznl/hA6OGdBztI8//9Ofu+ypiTWYrhZP8edq0h9tDA3vq/17t1bX3/9tapVq1bodenp6erbt6+WLVsmJ6ebLmkE3Nb/hgK3in4GW7FlX/Py8rLJc25FkYOCiRMnGnMybzRp0qRiLaq4EBSUTcX5AaqwD+L5fdC7nTeEW31Gvtff8CFU0h3d0xbu9Peu6AgKSh59NMeN72ubN2+Wq6urmjVrVuh1f/75pxISEvKdpgDkhw9wsAX6GWylogcFRf6K4MbVoc+dO6d169apQ4cOxV4UUFxsMY++oPUHivpBJN8pCTMmlPr5/3f6ewMljT6avxYtWhTpvIYNG6phw4YlXA0AACiNihwUdOrUKU9bmzZt9PHHH6tfv37FWRNQfGw0j764Fgg0lJH5/8X+ewPFjD4KAABw6wrdHvFm3N3d9ddffxVXLUDx8/DMGW58vbKwWGBZrRsAAABAmVfkEQVr167N9frq1avauHGjGjduXOxFAcWlrK5Yb++6S2LxPgAAAABlQ5GDgv/85z+5Xru4uOjBBx9UUFBQsRd1J+Li4hQfH6+QkBB7l4JSoKzOUbZn3bkWgLvLTTqfIuviUGVXsAXgAAAAgIrqpkHBtZUeX3755XyPp6eny83NLd9j9mA2m2U2m+1dBkqRsjpH2V5122IBSAAAAACl102DgoICguuFhYUVSzEASoEyspAiAAAAgJJx06Cgbt26ysjIUMeOHdWhQwe5u7vboi4A9uLhKZ1P+e+IAomFFAEAAIAK5KZBwfTp03X06FFFR0dr4sSJ8vb21hNPPKHWrVurUqVKtqgRgA3ZeyFFAAAAAPZVpO0R69atqyFDhmj+/PkKCgpSfHy8XnzxRf35558lXR8AG3PwbSnT4BCpWg3p8kWpWg2ZWMgQAAAAqDCKvOuBJCUkJGj37t06cOCAGjRooKpVq5ZUXQDsqKwuAAkAAADgzt00KLh06ZJ+++03RUdHKy0tTR06dNCkSZPk4eFhi/oAAAAAAIAN3TQoCAkJ0b333qsOHTqocePGknJGFiQkJBjn+Pj4lFyFAAAAAADAZm4aFFSvXl1Xr17VmjVrtGbNmjzHTSaT5s+fXyLFAQAAAAAA27ppULBgwQJb1AEAAAAAAEqBIu16AAAAAAAAKgaCAgAAAAAAYCAoAAAAAAAABoICAAAAAABgICgAAAAAAACGchcUxMXFKTQ01N5lAAAAAABQJt10e8Syxmw2y2w227sMAAAAAADKpHI3ogAAAAAAANw+ggIAAAAAAGAgKAAAAAAAAAaCAgAAAAAAYCAoAAAAAAAABoICAAAAAABgICgAAOSxbt06dejQQe3atdP8+fPzPefdd99VQECAAgIC1L59ezVt2tQ4VqdOHePYs88+m+/1o0ePVqNGjXTp0iWjbeLEifL29lZycnKBtR07dkx+fn75Hnvttde0f/9+SVLr1q0Lvc+1c1544QXj9fLlyzV69OhCr9m5c6fWrFlT6DkAAABlmZO9CwAAlC5ZWVmaMGGCvv/+e9WuXVvdu3dXYGCgGjdunOu8SZMmGT8vXLhQO3fuNF67uroqMjLyps9q0KCBIiIi1LdvX2VnZysmJka1atW67dpnzJhxy9ds27ZN+/bt04MPPlik83ft2qXt27fL39//lp8FAABQFjCiAACQy5YtW1S/fn3Vq1dPlSpVUnBwsCIiIgq9ZtmyZerdu/ctPys4OFg///yzJCkmJkZms1lOTv/NsENDQ+Xn5yc/Pz99/vnnRntmZqZGjRoli8WiF154QampqZKkfv36adu2bXme8+OPPyooKEgBAQF64403lJWVZRwbNmyY5s2bl+eaK1euaOzYsUZQEhERoatXr2rGjBn6+eefFRAQoPDw8Fv+nQEAAEo7ggIAQC4JCQny8vIyXteuXVsJCQkFnn/8+HEdO3ZM7dq1M9rS09PVrVs39ejRQ6tWrSrw2gYNGujs2bM6d+6cwsPDFRwcbBzbvn27fvjhBy1fvly//PKLFi9ebIxaOHTokJ566ilFRUXJzc1NX3/9dYHPOHDggH7++WctW7ZMkZGRcnR01E8//WQc79mzp3bs2KHDhw/num7OnDlq166dVq5cqSVLlmjKlCnKzMzUa6+9pl69eikyMjJXvQAAAOUFUw8AAJKk7B3xskb8pKz4rbImX1b2jng5+LaUJJlMpgKvCw8PV1BQkBwdHY22TZs2qVatWvrrr780YMAANWnSRPXr18/3+u7duys8PFxbtmzRhx9+mOseXbt2VZUqVSRJ3bp108aNGxUYGCgvLy+1atVKktSnTx8tXLhQw4YNy/f+v/32m3bs2KHu3btLktLS0uTh4WEcd3R01PDhwzV//nx17tzZaF+/fr0iIyP16aefSsoJP06cOFHg3wMAAEB5QVAAAMgJCRaHSk5Oqu3urpOHTsi6OFTZg0N06tQpeXp6FnhteHi4pk6dmqvt2joD9erV0+OPP66dO3cWGBQEBwerS5cu6t+/vxwc/jvQzWq1FvjMG4OLwoIMq9Wq/v3766233irwnL59+2revHm51mGwWq367LPPdP/99+c6d/PmzQXeBwAAoDxg6gEAQNaInyQnJ8nFVY941tThC1d0NDVd6SuXKDw8XIGBgfled/DgQZ0/f15ms9loO3funNLT0yVJycnJio2NzbMQ4vW8vb315ptv6plnnsnV3qZNG0VERCg1NVVXrlzRqlWr1Lp1a0nSiRMnFBcXJyknqLg2uiA/7du31/Lly5WUlCRJSklJ0fHjx3Od4+zsrBdeeEFffPGF0daxY0ctWrTICCyuTXuoWrVqrp0aAAAAyhuCAgCAlJQoVXKRJDk5OGhKhxYasvoP+S1cqp49exo7AkyfPl2rV682Lru2rsD13+gfOHBA3bt3l8ViUf/+/TVixIhCgwJJGjJkSJ4RB76+vurfv7+CgoLUo0cPDRo0SD4+PpKkBx54QEuWLJHFYtG5c+fyhAzXa9y4sd544w0NGjRIFotFgwYNUmJiYp7zBg0alGuRw9GjRysjI0MWi0V+fn766KOPJElt27bVgQMHWMwQAACUWyZrYWM7y7iTJ0/auwTcBm9vb7vNA/bw8DC+dQRKkj37eX6yZkyQzqdILq7/bUxPk6rVkONrUwu+EKUe72uwFfoabIF+BluxZV+7fhHp0oIRBQAAmbr0kTIzc8IBqzXnz8zMnHYAAABUKCxmCMAurq2wr6REycNTpi59jBX2YXsOvi2VPTiEfxMAAAAQFACwvetX2NddbtL5FGOFfT6Y2o+Db0uJv38AAIAKj6kHAGzu+hX2ZTLl/OnklNMOAAAAwK7KXVAQFxen0NBQe5cBoDDXrbBvqOSS0w4AAADArsrd1AOz2ZxrP28ApZCHZ94V9q+m57QDAAAAsKtyN6IAQOnHCvsAAABA6VXuRhQAKP3svcI+Oy4AAAAABSMoAGAX9lphnx0XAAAAgMIx9QBAhcKOCwAAAEDhCAoAVCzsuAAAAAAUiqAAQMXi4Zmzw8L12HEBAAAAMBAUAKhQ2HEBAAAAKBxBAYAKxcG3pUyDQ6RqNaTLF6VqNWRiIUMAAADAwK4HACoce+24AAAAAJQFjCgAAAAAAAAGggIAAAAAAGAgKAAAAAAAAAaCAgAAAAAAYCAoAAAAAAAABoICAAAAAABgICgAAAAAAAAGggIAAAAAAGAgKAAAAAAAAAaCAgAAAAAAYCAoAAAAAAAABoICAAAAAABgICgAAAAAAAAGggIAAAAAAGAgKAAAAAAAAAaCAgAAAAAAYCAoAAAAAAAABid7F1Dc4uLiFB8fr5CQEHuXgtt03333ydvb295lACWqXr169i4BAAAAyFe5CwrMZrPMZrO9y8Ad2Lhxo92e7eHhoaSkJLs9HxUHfQ0AAAClFVMPAAAAAACAgaAAAAAAAAAYCAoAAAAAAICBoAAAAAAAABgICgAAAAAAgIGgAAAAAAAAGAgKAAAAAACAgaAAAAAAAAAYCAoAAAAAAICBoAAAAAAAABgICgAAAAAAgIGgAAAAAAAAGAgKAACAXa1bt04dOnRQu3btNH/+/HzPCQsLk6+vrwICAhQQEKDFixfne563t7deeeUV43VmZqZ8fX319NNPF1rDzJkz9emnn+ZpT0hI0AsvvCBJiomJuel9YmJi5O3trdWrVxttTz/9tGJiYgq9LiwsTAkJCYWeAwCArRAUAAAAu8nKytKECRP07bffat26dVq2bJn279+f77m9evVSZGSkIiMjC9cnMAAAHXhJREFUNXjw4HzPqVKlivbt26fU1FRJ0vr161WrVq3brq9WrVr6/PPPb+ma2rVra+7cubd0zZIlS5SYmHhL1wAAUFIICgAAgN1s2bJF9evXV7169VSpUiUFBwcrIiLiju7ZuXNnrVmzRpK0bNky9e7d2ziWkpKi5557ThaLRT169NDu3buNY7t27VL//v3Vrl07fffdd5KkY8eOyc/PL88zrly5orFjx6p79+4KDAzMVXOzZs109913a/369Xmu2759u/r27auuXbtq8ODBSkxM1PLly7Vt2zaNGDFCAQEBRsgBAIC9EBQAAAC7SUhIkJeXl/G6du3aBQ7BX7lypSwWi1544QWdOHGiwHsGBwcrPDxcaWlp2rNnjx599FHj2MyZM+Xj46OoqCiNGzdOo0aNMo7t2bNH33zzjX755RfNmjWr0KkAc+bMUbt27bRy5UotWbJEU6ZM0ZUrV4zjo0aN0pw5c3Jdk5GRobffflufffaZVq1apYEDB+rDDz9Ujx499Mgjj2j+/PmKjIxU5cqVC/4LAwDABggKAACl3pw5c9S5c2dZLBYFBARo8+bNat26tZKTk2/pPl9++aU6duyoESNGKD09XQMHDlRAQIDCw8PVr18/bdu2rdDr+/Xrp27duhmvt23bpn79+hV6zbFjx/Tvf//7luqsCLJ3xCtrxgRlffeJrDvilL0j3jhmMpnynB8QEKA//vhDUVFR6tChg0aPHl3gvZs1a6bjx48rPDw8z2iATZs2qW/fvpKk9u3bKyUlRRcuXJAkdenSRZUrV5a7u7vatm2rrVu3FviM9evXa8GCBQoICFC/fv2Unp6eK7xo3bq1JGnjxo1G26FDh7Rv3z797W9/U0BAgObOnatTp04V9tcEAIBdONm7AAAAChMXF6eoqCitWrVKLi4uSk5O1tWrV2/rXl9//bW+/fZb1a1bV/Hx8crMzFRkZKQk6Z///GeR7pGUlKS1a9fmOxw9P9eCgv/3//7fbdVcHmXviJd1cajk5KTa7u46eeiErItDlT04RKdOnZKnp2eea9zd3Y2fn3zySb3//vuFPiMwMFCTJ0/W0qVLlZKSYrRbrdY8514LJm4MKPILLK6/z2effab7778/V/uZM2eMn0eOHKm5c+fK0dHRuKZx48b65ZdfCq0dAAB7Y0QBAKBUO336tNzd3eXi4iIp5wPjtcXpFi5cqC5dusjf318HDx6UlHf1ej8/Px07dkxvvvmmjh49qr///e9asGCBRo4cqV27dikgIEBHjhzJ9czo6Gj17NlTXbp00YsvvqjLly8bx4YPH55nSLmUsyjflClT1L17d1ksFiN4eP/997Vp0yYFBATos88+K9a/m7LKGvGT5OQkubjqEc+aOnzhio6mpit95RKFh4crMDAwzzXXL/S3evXqPB/QbzRw4ECNGTNGTZs2zdXepk0b/fTTT5Jydihwd3eXm5ubJCkiIkJpaWlKTk7W77//rkceeaTA+3fs2FGLFi0ygoedO3fme8758+eNdRAaNWqk5ORkxcXFScqZirBv3z5J0l133aVLly4V+jsBAGArBAUAgFKtY8eOOnnypNq3b6+33npLv//+u3HM3d1dERERGjJkSL5b213vww8/lKenp5YsWaKXX35Z06dP12OPPabIyEjVr1/fOC85OVlz5sxRWFiYIiIi9Mgjj+T6gN+yZUtVqlRJGzZsyHX/77//Xm5ublq5cqVWrFihxYsX6+jRoxo/frzxnBdffLF4/lLKuqREqVJO8OPk4KApHVpoyOo/5LdwqXr27KkHH3xQkjR9+nRjm8GFCxca00++/PJLzZ49u9BHeHl5aejQoXnax44dq+3bt8tisej999/PdZ9HH31UTz/9tHr27KnRo0cXulvC6NGjlZGRIYvFIj8/P3300Uf5njdy5EhjekGlSpUUGhqq999/XxaLRYGBgUZoMGDAAI0bN47FDAEApQJTDwAApU72jvicb52TEuXq4amV06cq9kqmYmJiNHz4cL311luSZKwX8PDDD+vXX38tlmfHx8dr//79Cg4OlpTzrW/Lli1znXNtoboJEyYYbdHR0dqzZ49WrFghSbp48aIOHz4sZ2fnYqmrXPHwlM6nSC6ukiS/el7yq+UuVashx+sWF3z99deNn9966y3j370wBw4cyNPWtm1btW3bVpJUo0YNLVq0KM85r776ar73q1OnjtauXZvnPpUrV843HLj+HClnCsT1axf4+PgYIxquFxQUpKCgoMJ+NQAAbIagAABQqlw/f113uUnnU+QQ9oXaDA5R29deU5MmTbRkyRJJMqYjODo6Kisry/g5OzvbuF96evotPd9qteqJJ57Qxx9/XOA57du31/Tp07V58+Zc7e+99546deqUqy0mJuaWnl8RmLr0yfk3VlrOyIKr6VJmpkxd+ti7NAAAIKYeAABKmevnr8tk0qErV3X4clpOu3L2ur/vvvsKvL5OnTrasWOHJGnHjh06evToLT2/ZcuWio2N1eHDhyVJqampOnToUJ7zRo4cmStM6Nixo7755htlZGRIylnh/sqVK6patWquNQ4gOfi2lGlwiFSthnT5olSthkyDQ+Tg2/LmFwMAgBLHiAIAQOmSlJgzkuD/XM7M1Lu/bdX5tD/kvGqj6tevr48++khRUVH5Xt69e3ctXbpUAQEBat68uRo2bHhLj69Zs6ZmzZqll19+2dhd4Y033lCjRo1ynefv76+aNWsarwcPHqxjx46pa9euslqtcnd318KFC9W0aVM5OjrKYrFowIABrFPwfxx8W0oEAwAAlEoma377BJUTJ0+etHcJKGM8PDyUlJRk7zJQAdDXCpY1Y0Ku+euSpPS0nPnrr021X2FlFH0NtkJfgy3Qz2ArtuxrXl5eNnnOrWDqAQCgVDF16SNlZuaEA1Zrzp/MXwcAALAZggIAQKnC/HUAAAD7Yo0CAECpw/x1AAAA+2FEAQAAAAAAMBAUAAAAAAAAA0EBAAAAAAAwEBQAAAAAAAADQQEAAAAAADAQFAAAAAAAAANBAQAAAAAAMBAUAAAAAAAAA0EBAAAAAAAwEBQAAAAAAAADQQEAAAAAADAQFAAAAAAAAANBAQAAAAAAMBAUAAAAAAAAA0EBAAAAAAAwEBQAAAAAAACDk70LKKqkpCR9+eWXcnNzk5eXl3r37m3vkgAAAAAAKHfsGhR8/PHH2rx5s6pVq6aZM2ca7Vu3btWiRYuUnZ0tf39/9e7dWydPnlSLFi0UEBCg+fPn27FqAAAAAADKL7tOPejUqZPGjx+fqy07O1tffvmlxo8fr1mzZmnDhg06fvy4GjRooJiYGE2aNEkPPfSQnSoGAAAAAKB8s+uIgmbNmun06dO52g4ePKhatWrJ09NTktS2bVvFxsbK0dFR/fv3V7NmzTRz5kx17tw5z/2ioqIUFRUlSfrggw/k4eFR8r8EyhUnJyf6DWyCvgZboa/BVuhrsAX6GWylove1UrdGQXJysmrWrGm8rlmzpg4cOKCAgAAtWbJEv/32m+655558r7VYLLJYLMbrpKSkEq8X5YuHhwf9BjZBX4Ot0NdgK/Q12AL9DLZiy77m5eVlk+fcilIXFFit1jxtJpNJdevW1auvvmqHigAAAAAAqDhK3faINWvW1NmzZ43XZ8+eVY0aNexYEQAAAAAAFUepCwoaNWqkU6dO6fTp08rMzFRMTIzMZrO9ywIAAAAAoEKw69SD2bNna/fu3bp48aKGDRumAQMGyM/PT88995ymTp2q7Oxsde7cWXXq1LFnmQAAAAAAVBh2DQpGjx6db3uLFi3UokULG1cDAAAAAABK3dSDOxUXF6fQ0FB7lwEAAAAAQJlU6nY9uFNms5k1DQAAAAAAuE3lbkQBAAAAAAC4fQQFAAAAAADAQFAAAAAAAAAMBAUAAAAAAMBAUAAAAAAAAAwEBQAAAAAAwEBQAAAAAAAADOUuKIiLi1NoaKi9ywAAAAAAoExysncBxc1sNstsNtu7DAAAAAAAyqRyN6IAAAAAAADcPoICAAAAAABgICgAAAAAAAAGggIAAAAAAGAgKAAAAAAAAAaCAgAAAAAAYCAoAAAAAAAAhnIXFMTFxSk0NNTeZQAAAAAAUCY52buA4mY2m2U2m+1dBgAAAAAAZVK5G1EAAAAAAABuH0EBAAAAAAAwEBQAAAAAAAADQQEAAAAAADAQFAAAAAAAAANBAQAAAAAAMBAUAAAAAAAAA0EBAAAAAAAwEBQAAAAAAABDuQsK4uLiFBoaau8yAAAAAAAok5zsXUBxM5vNMpvN9i4DAAAAAIAyqdyNKAAAAAAAALePoAAAAAAAABgICgAAAAAAgIGgAAAAAAAAGAgKAAAAAACAgaAAAAAAAAAYCAoAAAAAAICBoAAAAAAAABgICgAAAAAAgIGgAAAAAAAAGAgKAAAAAACAodwFBXFxcQoNDbV3GQAAAAAAlElO9i6guJnNZpnNZnuXAQAAAABAmVTuRhQAAAAAAIDbR1AAAAAAAAAMBAUAAAAAAMBAUAAAAAAAAAwEBQAAAAAAwEBQAAAAAAAoN9atW6cOHTqoXbt2mj9/fr7nhIaGqlOnTrJYLBowYICOHz9uHKtTp45atWqlgIAAPfvss/leP3r0aDVq1EiXLl0y2iZOnChvb28lJycXWNuxY8fk5+eX77GhQ4dq9+7dkqT69esrKSmp0N+zfv366tu3r/F66dKlBdZ7zdatW7Vy5cpCz5EICgAAAAAA5URWVpYmTJigb7/9VuvWrdOyZcu0f//+POf5+Pjo119/VVRUlIKCgvTee+8Zx1xdXRUbG6vIyEh99dVXBT6rQYMGioiIkCRlZ2crJiZGtWrVuu3av/jiCzVr1uyWromLi9OuXbuKfD5BAQAAAACgQtmyZYvq16+vevXqqVKlSgoODjY+zF+vXbt2qly5siSpZcuWOnXq1C0/Kzg4WD///LMkKSYmRmazWU5OTsbx0NBQ+fn5yc/PT59//rnRnpmZqVGjRsliseiFF17QlStXJEmdOnVSXFxcnud8++23euyxx9S8eXOFhIQoKyvLOPbaa6/p/fffz3PN5cuX9dxzz6lVq1Z69NFHFR4erqtXr2rixIkKCwtT8+bNFRYWVuDvRlAAAAAAACgXEhIS5OXlZbyuXbu2EhISCr3m+++/V+fOnY3X6enpevzxx9WjRw+tWrWqwOsaNGigs2fP6ty5cwoPD1dwcLBxbPv27frhhx+0fPly/fLLL1q8eLF27twpSTp06JCeeuopRUVFyc3NTR9//HGBz9izZ4/CwsK0YcMGbd26VY6Ojvruu++M4wMGDNDmzZt18ODBXNdNnTpVfn5+io2N1bp16/T6668rIyNDkydP1sCBA7V161YNHDiwwOcSFAAAAAAAyrTsHfHKmjFBWd99IuuOOGXviDeOmUymAq/78ccftW3bNg0fPtxo27Rpk37//XctWLBA7777ro4cOVLg9d27d1d4eLi2bNmi1q1b57pH165dVaVKFd11113q1q2bNm7cKEny8vJSq1atJEl9+vTRb7/9VuD916xZo/j4eLVq1UrNmzfXmjVr9OeffxrHHR0d9frrr2vatGm5rlu9erU++OADNW/eXJ06dVJaWpqOHj1a4HNu5HTzUwAAAAAAKJ2yd8TLujhUcnJSbXd3nTx0QtbFocoeHKJTp07J09Mz3+vWr1+vuXPn6scff5SLi4vRfm2dgXr16unxxx/Xzp07Vb9+/XzvERwcrC5duqh///5ycPjv9/BWq7XAem8MLgoLMqxWq5555pk8QcD1hgwZomnTpumhhx7Kdd2PP/6oBx98MNe518KKm2FEAQAAAACgzLJG/CQ5OUkurnrEs6YOX7iio6npSl+5ROHh4QoMDMxzzc6dOzVu3DgtWrRIHh4eRvu5c+eUnp4uSUpOTlZsbKwaN25c4LO9vb315ptv6plnnsnV3qZNG0VERCg1NVVXrlzRqlWrjBEHJ06cMNYiCA8PV/v27Qu8v7+/v5YuXarTp08bNf3111+5znF2dtaYMWM0e/Zso61Lly6aN2+eEVhs2bJFkuTm5qaLFy8W+LxrCAoAAAAAAGVXUqJUKWdEgJODg6Z0aKEhq/+Q38Kl6tmzp/Gt+vTp07V69WpJ0pQpU3T58mWFhITk2gbxwIED6t69u8xms/r3768RI0YUGhRIOd/o3zjiwNfXV/3791dQUJB69OihQYMGycfHR5L0wAMPaMmSJbJYLDp37lyuaQ83atasmd577z0FBgbq4YcfVkBAQL4LLz7//PPKzMw0Xr/zzjvKyMjQww8/LB8fH73zzjuSpM6dO2v37t03XczQZC1sTEQZd/LkSXuXgDLGw8PjpvuVAsWBvgZboa/BVuhrsAX6GfKTNWOCdD5FcnH9b2N6mlSthhxfm3pb97RlX7t+8cXSotyNKIiLi1NoaKi9ywAAAAAA2ICpSx8pMzMnHLBac/7MzMxpx20pd4sZms1mmc1me5cBAAAAALABB9+Wyh4ckrNWQVKi5OEpU5c+cvBtae/SyqxyFxQAAAAAACoWB9+WEsFAsSl3Uw8AAAAAAMDtIygAAAAAAAAGggIAAAAAAGAgKAAAAAAAAAaCAgAAAAAAYCAoAAAAAAAABoICAAAAAABgICgAAAAAAAAGggIAAAAAAGAgKAAAAAAAAAaCAgAAAAAAYCAoAAAAAAAABoICAAAAAABgICgAAAAAAAAGggIAAAAAAGAwWa1Wq72LAAAAAAAApQMjCoDrjBs3zt4loIKgr8FW6GuwFfoabIF+Blup6H2NoAAAAAAAABgICgAAAAAAgMHxf/7nf/7H3kUApUnDhg3tXQIqCPoabIW+Bluhr8EW6GewlYrc11jMEAAAAAAAGJh6AAAAAAAADAQFAAAAAADA4GTvAgB7SUpK0oIFC3Tu3DmZTCZZLBZ1795dP/zwg9asWaO7775bkjRo0CC1aNHCztWiLLt69areffddZWZmKisrS23atNGAAQN0+vRpzZ49W5cuXVKDBg30yiuvyMmJt2XcnoL62YIFC7R7925VqVJFkvTyyy+rfv369i0W5UJ2drbGjRsnd3d3jRs3jvc0lJgb+xrvaygJL7/8slxdXeXg4CBHR0d98MEHunTpkmbNmqUzZ87onnvu0ZgxY1S1alV7l2oTvHujwnJ0dNSQIUPUsGFDpaamaty4cXr44YclSUFBQerVq5edK0R54ezsrHfffVeurq7KzMzUxIkT1bx5cy1fvlxBQUFq166dPvvsM61du1aBgYH2LhdlVEH9TJKGDBmiNm3a2LlClDcrV66Ut7e3UlNTJUnffvst72koETf2NYn3NZSMd9991/iyUJKWLVsmX19f9e7dW8uWLdOyZcv01FNP2bFC22HqASqsGjVqGCuZVq5cWd7e3kpOTrZzVSiPTCaTXF1dJUlZWVnKysqSyWTSrl27jP+T06lTJ8XGxtqzTJRxBfUzoCScPXtWmzdvlr+/vyTJarXynoYScWNfA2wpNjZWHTt2lCR17NixQr2vMaIAkHT69GkdPnxY999/v/bu3auIiAitX79eDRs21NNPP11hhhih5GRnZ+vNN99UQkKCunTpIk9PT1WpUkWOjo6SJHd3d4Iq3LEb+9kDDzyg1atX6/vvv9fSpUvl4+OjJ598Us7OzvYuFWXcV199paeeesr4hvfixYu8p6FE3NjXruF9DSVh6tSpkqSAgABZLBadP39eNWrUkJTzJeOFCxfsWZ5NERSgwktLS9PMmTP17LPPqkqVKgoMDFS/fv0kSWFhYfrmm2/00ksv2blKlHUODg6aPn26Ll++rBkzZujEiRP2Lgnl0I397OjRoxo8eLCqV6+uzMxMhYaGKjw83HiPA25HfHy8qlWrpoYNG2rXrl32LgflWEF9jfc1lIQpU6bI3d1d58+f13vvvScvLy97l2RXBAWo0DIzMzVz5kx16NBBrVu3liRVr17dOO7v768PP/zQXuWhHLrrrrvUrFkzHThwQFeuXFFWVpYcHR2VnJwsd3d3e5eHcuJaP9u6daux3oqzs7M6d+6sX375xc7Voazbt2+f4uLitGXLFl29elWpqan66quveE9Dscuvr82dO1cjR46UxPsaite196xq1aqpVatWOnjwoKpVq6aUlBTVqFFDKSkpudYvKO9YowAVltVq1aeffipvb2/16NHDaE9JSTF+3rRpk+rUqWOP8lCOXLhwQZcvX5aUszL9jh075O3trYceekh//PGHJOl///d/ZTab7VkmyriC+tm19zSr1arY2Fje03DHBg8erE8//VQLFizQ6NGj5ePjo5EjR/KehmJXUF/jfQ3FLS0tzZjekpaWpu3bt6tu3boym82Kjo6WJEVHR6tVq1b2LNOmGFGACmvfvn1av3696tatq9dff11SzlaIGzZs0JEjR2QymXTPPffoxRdftHOlKOtSUlK0YMECZWdny2q16vHHH1fLli113333afbs2frXv/6lBg0ayM/Pz96logwrqJ9NmjTJmFNZr1493tNQYp588kne02ATc+fO5X0Nxer8+fOaMWOGpJwFgdu3b6/mzZurUaNGmjVrltauXSsPDw+NHTvWzpXajslqtVrtXQQAAAAAACgdmHoAAAAAAAAMBAUAAOD/t3f/oE2tcRjHnyRHh5aEqE0MDoIURAMNYodiQ1TEtZSWolhTcKgR7OAfOhm6lIIopYOOiUtEEMUOXezgYrOoi9GKQ4fWZEyDjbqlSY7DpS/mmt700uRKe78fKJz3974557f24bzvAQAAMAgKAAAAAACAQVAAAAAAAAAMggIAAAAAAGAQFAAAAAAAAMP60w0AAIDGRkZGzHWpVJJlWXI6/8r7Y7GYIpFI056VTqc1Pz+vL1++KBgMKh6Pb7o2k8no7t272rt3b019cnJSR44caVpPAADgv0NQAADADvD48WNzPTY2pmvXrikUCrXkWW63W319fVpZWdHy8nLD9X6/Xw8fPmy4rlqtSpIJODarNVKpVORyuba8HgAA/DsEBQAA7AKlUkmpVErv3r2T0+lUOBzWpUuXZFmWMpmMHj16pEgkopcvX6q9vV2XL1/WqVOn6t7rxIkTkqRisbjtvuLxuEKhkD58+KBsNqsHDx5oZmbmt5pt20okElpaWpLH49HAwIDOnj0rSXry5IkKhYKq1arev3+v0dFRnT59etu9AQCA+ggKAADYBZ49e6ZcLqfp6WlVq1Xdu3dPc3NzGhwclCStrq6qXC4rkUjo8+fPun//vjo7O+X3+1veWzqd1p07d+T3++VwOOrWJiYmdPToUY2PjyuXy2lqakqBQEDHjh2TJL19+1bj4+O6ceOGyuVyy3sGAOD/jMMMAQDYBdLptC5cuCCPxyOv16vBwUEtLCyYeZfLpaGhIVmWpVAopK6uLr1586Ypz87n87py5UrN38aWAkk6d+6cDh06JMuyzJaBX2v5fF7ZbFbDw8Pas2ePOjs7debMmZr+g8GgTp48KafT+dt5CAAAoLl4owAAgB3Otm0Vi0V1dHSYms/n09evX83Y4/HU/IP99/ntaHRGwa991autra3V7W9xcdGMDxw40JReAQBAY7xRAADADudwOOT1elUoFEytUCho//79Zvz9+3eVSqVN5/+kffv2NexvY8sCAABoPYICAAB2gXA4rOfPn+vHjx/69u2bZmdnaz6ZWKlU9OLFC5XLZX369EkfP35UT09P3XtVq1WVSiVVKhXZtm2uWyUQCOjw4cN6+vSp1tfXtby8rNevXzf1k48AAGDr2HoAAMAucPHiRaVSKd2+fVtOp1O9vb3q7+838z6fTy6XS1evXlVbW5uuX7+ugwcP1r3Xq1evlEwmzTgajer8+fOKxWJ11+fzeY2MjNTUbt68qe7u7i317nA4dOvWLSWTScViMbndbkWjUR0/fnxLvwcAAM3lsG3b/tNNAACA1tn4POI/nSMAAACwga0HAAAAAADAICgAAAAAAAAGWw8AAAAAAIDBGwUAAAAAAMAgKAAAAAAAAAZBAQAAAAAAMAgKAAAAAACAQVAAAAAAAACMn9Yyi5vfmy4MAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 1008x504 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"xlabel = 'Top 1 Error'\n",
"ylabel = 'Mult-Adds'\n",
"ax = sns.lmplot(xlabel, # Horizontal axis\n",
" ylabel, # Vertical axis\n",
" data=df_perf, # Data source\n",
" fit_reg=False, # Don't fix a regression line\n",
" height = 7,\n",
" aspect = 2) # size and dimension\n",
"\n",
"plt.title('Imagenet: Top 1 Error vs Mult-Adds')\n",
"# Set x-axis label\n",
"plt.xlabel(xlabel)\n",
"# Set y-axis label\n",
"plt.ylabel(ylabel)\n",
"\n",
"def select_outside_box(points, box_edges):\n",
" inside, outside = [], []\n",
" bx0, bx1, by0, by1 = box_edges[0]+box_edges[1]\n",
" for i, (x, y) in enumerate(points):\n",
" inside_box = x>bx0 and x<bx1 and y>by0 and y<by1\n",
" if inside_box:\n",
" inside.append(i)\n",
" else:\n",
" outside.append(i)\n",
" return inside, outside\n",
"\n",
"def draw_rectangle(box_edges):\n",
" width, height = box_edges[0][1]-box_edges[0][0], box_edges[1][1]-box_edges[1][0]\n",
" rectangle = mpatches.Rectangle((box_edges[0][0],box_edges[1][0]), width, height,\n",
" linewidth=1,edgecolor='black',facecolor='none', fill=False)\n",
" return rectangle\n",
"\n",
"def label_point(x, y, val, ax, box_edges=None):\n",
" a = pd.concat({'x': x, 'y': y, 'val': val}, axis=1)\n",
" overlap_list = []\n",
" if box_edges is not None:\n",
" drop_idxs, keep_idxs = select_outside_box([(point['x'], point['y'])\n",
" for i,point in a.iterrows()], box_edges)\n",
" rows = [list(a.iterrows())[i] for i in keep_idxs]\n",
" else:\n",
" rows = a.iterrows()\n",
" for i, point in rows:\n",
" #j = closest_idx((point['x'], point['y']), proposed)\n",
" #px, py = proposed.pop(j)\n",
" #if len(str(point['val'])) > 10:\n",
" # proposed = remove_close((px,py), proposed, ax, eps=0.2)\n",
" #else:\n",
" # proposed = remove_close((px,py), proposed, ax, eps=0.1)\n",
" px,py = point['x'], point['y']\n",
" plt.annotate(str(point['val']),\n",
" xy=(point['x'], point['y']),\n",
" #xytext=(0, 0),\n",
" xytext=(px, py),\n",
" xycoords='data', #ha='right', va='bottom',\n",
" #bbox=dict(boxstyle='round,pad=0.5', alpha=0.5),\n",
" #arrowprops=dict(arrowstyle = '->'),\n",
" #arrowprops=dict(arrowstyle=\"simple,tail_width=0.3\",\n",
" # alpha=.5,\n",
" # connectionstyle=\"arc3,rad=0.1\"))\n",
" )\n",
" if box_edges is not None:\n",
" ax.add_patch(draw_rectangle(box_edges))\n",
" return drop_idxs\n",
" \n",
"ax.set(yscale=\"log\")\n",
"\n",
"box_edges = ((24.,30),(2e8,8e8))\n",
"\n",
"remaining = label_point(df_perf['Top 1 Error'],\n",
" df_perf['Mult-Adds'],\n",
" df_perf['Name'], plt.gca(),\n",
" box_edges)\n",
"\n",
"plt.savefig(\"top1-multadd.pdf\", bbox_inches='tight')"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"remaining = df_perf.iloc[remaining]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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qL/WW+j/8Y9/nBYtWmTu3Ln5yU9+knbt2qVz5861+vTr1y8jRozIzTffnGuuuSabbrrpSl+/VCot1VZWVpaOHTvmrLPOWuP6AQAAYEOz3pb3t2jRIknStGnT7L777nnttdeW6vPiiy/m7bffzu67756xY8eu0vVbtmyZWbNm1TyfNWtWmjdvvmZFAwAAwAZsvYT+BQsWZP78+TWP//a3v6Vjx461+rz++usZOXJkzjnnnJx66qmZN29ebrvttpV+jW233TbvvvtuZsyYkaqqqkycONGSfQAAADZq62V5/9y5c3P55ZcnSRYvXpx99tknu+yyS60+CxcuzJlnnlmzW/+QIUPy8MMPL3WtESNGZOrUqfnoo49y8sknZ8CAAendu3cqKioyaNCgXHLJJamurs5+++2XDh06rPP3BgAAAPVVWWlZN8NvxKZNm1bXJUBatWqVmTNn1nUZsBRjk/qqvozN9u3bZ/DgwRk+fHiS5IYbbsjHH39ca3+hPn36pFOnTrn++utr2p599tkMHz48CxcuzKJFi3LYYYflrLPOypgxY3LWWWfl/vvvr9kLqXfv3vmv//qvL5zcuOmmm3L00UfX+inkz0ycODGDBg1Khw4dUiqV0rJly1x33XVp1arV2voY+F/1ZVzCvzI2N3zt2rVb6b715if7AAA2dJtssknuvffezJ49e5nHX3311ZRKpTz55JP55JNPatqHDh2aSy+9NOPHj8+DDz6YQw89tObYVlttlauvvnqV6rj55ptrbq1clj322CPjx4/PAw88kF122SW//vWvV+n6AGw4hH4AgLWkoqIiRx11VG688cZlHv/Tn/6Ub33rW+nZs2fuv//+mvZZs2alTZs2Ndfo1KlTzbE+ffrklVdeWeYmyBMmTMihhx6aAw88MIMHD87HH3+cUaNGZfr06TniiCNy+OGHf2G9pVIp8+bNS9OmTVfn7QKwARD6AQDWouOPPz5/+tOf8uGHHy517K677sphhx2W/v3754477qhpP/HEE9OzZ89873vfy6233poFCxbUHCsvL88pp5ySa665pta1Zs+enauuuipjxozJuHHjsvPOO+fGG2/M9773vbRp0yZjx47NH/7wh2XW+NRTT6Vv377Zfffd8+ijj+bII49cS+8egPpG6AcAWAPVU57N4suHZfF5JySfLsoWb7ySww8/PKNGjarVb/LkyWnZsmW+9KUvZZ999smUKVPywQcfJEnOOOOM3HPPPenZs2fuuOOOHH300bXO/cY3vpFJkyblrbfeqml79tln88orr6Rfv37p27dvxo4dm3feeWelav5sef8zzzyTb3/72/nJT36yhp8CAPXVetm9HwCgiKqnPJvS70YmlZXJFo2TUiml343MoEMH5uAzfpBvf/vbNX3vuOOOvPbaa9lzzz2TJPPmzcs999yTgQMHJkm+8pWv5Ctf+UqOOuqo7LTTTrX2BaisrMxJJ52U6667rqatVCqlZ8+etTYEXJZ77703v/zlL5Ok5teUPu+AAw7IiSeeuPofAgD1mpl+AIDVVBp3+5LAv8mmSVlZkrKksjLNJo7PoYcemv/+7/9OklRXV+fPf/5zHnjggTz55JN58skn85//+Z81S/wfeOCBfPaDSq+//nrKy8uXus9+wIABeeyxxzJr1qwkya677pqnn346r7/+epJk/vz5+fvf/54kadSoUebNm5ck+fd///eMHz8+48ePz84777zUe3jqqafy5S9/ee1/OADUC0I/AMDqmjk9abhJ7baGmyQzp+ekk06qma1/4okn0rZt22y11VY13fbaa6+8+uqrmT59ev74xz+mR48e6du3b04//fRce+21qaioqH3Zhg0zaNCgmp/ZatmyZa688soMGTIkffr0yaGHHloT+o866qgcffTRy93I77N7+vv06ZM//vGPufDCC9fWJwJAPVNW+uxrZZIk06ZNq+sSwG+nUm8Zm9RXdTU2F18+LJk7Z8lM/2cWLkiaNk/F2Zes93qoX/zNpL4yNjd87dq1W+m+ZvoBAFZT2YHfTKqqlgT9UmnJ/6uqlrQDQD0g9AMArKbyLrumbOBJSdPmyccfJU2bp2zgSSnvsmtdlwYASezeDwCwRsq77JoI+QDUU2b6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACgooR8AAAAKSugHAACAghL6AQAAoKCEfgAAACioypXt+M4776RRo0Zp1qxZFixYkLvuuivl5eU59NBDs8kmm6zLGgEAAIDVsNIz/VdddVU++eSTJMktt9ySF198Ma+88kpuvPHGdVYcAAAAsPpWeqb//fffT7t27VIqlfL000/niiuuSMOGDXPaaaety/oAAACA1bTSob9BgwaZP39+3nnnnbRs2TJNmjTJ4sWL8+mnn67L+gAAAIDVtNKhv3v37rn44oszf/78HHTQQUmS119/PVtuueU6Kw4AAABYfSsd+o8//vg899xzqaioyI477pgkKSsry3HHHbfOigMAAABW30qH/iTZeeedaz3fdttt12oxAAAAwNrzhaH/wgsvTFlZ2QovctFFF621ggAAAIC14wtDf+/evWseT58+PQ899FD23XfftG7dOjNnzsyECROy3377rfMiAQAAgFX3haG/V69eNY+HDRuWYcOGpUOHDjVt++yzT371q19lwIAB66xAAAAAYPWUr2zHd955J23atKnVtuWWW+af//znWi8KAAAAWHMrHfo7d+6c66+/Pu+++24WLVqUadOm5Ve/+lW23377dVkfAAAAsJpWevf+IUOG5Oabb86ZZ56Z6urqVFRUZI899sipp566LusDAAAAVtNKh/5GjRpl6NChqa6uzocffpgmTZqkvHylFwoAAAAA69kXhv7p06cv99j7779f8/hf7/UHAAAA6t4Xhv7TTz99pS4yZsyYtVIMAAAAsPZ8Yej/fJh/6KGHMmXKlBxxxBFp3bp13n///fzhD39Ily5d1nmRAAAAwKpb6Zvyx4wZk5NPPjlbbbVVKisrs9VWW2Xw4MG57bbb1mV9AAAAwGpa6dBfKpUyY8aMWm3vv/9+qqur13pRAAAAwJpb6d37DznkkFx88cXp1atXWrVqlZkzZ2bChAk55JBD1mV9AAAAwGpa6dB/2GGHpWPHjvnrX/+aN954I82aNcspp5ySXXbZZV3WBwAAAKymlQ79SbLLLrvUCvnV1dWZNGlSunbtutYLAwAAANbMKoX+z7z55puZMGFCHnvssVRXV+fmm29e23UBAAAAa2ilQ/+HH36YRx99NBMmTMibb76ZsrKyfPe7303v3r3XZX0AAADAalph6H/iiSfy8MMP57nnnkv79u2zzz775JxzzsmwYcOy1157pUGDBuujTgAAAGAVrTD0X3nllWnUqFHOOOOM7LHHHuujJgAAAGAtWGHoP+WUUzJhwoT88pe/zLbbbpt99tkn3bp1S1lZ2fqoDwAAAFhNKwz9vXr1Sq9evfL+++9nwoQJue+++3LLLbckSf7nf/4nPXv2THl5+TovFAAAAFg1ZaVSqbSqJ7300kuZMGFCnnjiiTRs2DAjR45cF7WtFTNnzsyoUaPSuHHjtGvXLv379//C/tOmTVtPlcHytWrVKjNnzqzrMmApxib1lbFJfWRcUl8Zmxu+du3arXTf1frJvu233z7bb799Bg0alKeffnqlz6uurs55552XFi1a5Lzzzludl87111+fSZMmpWnTprniiitqHZs8eXJGjx6d6urq7L///unfv3+mTZuWrl27pm/fvrn22mtX6zUBAABgQ7Ra6/J/9rOfJUkaNGiQbt26rfR599xzT9q3b7/MY3Pnzs38+fNrtb333ntL9evVq1cuuOCCpdqrq6szatSoXHDBBbnyyivz+OOP55133snWW2+diRMn5qKLLsoOO+yw0rUCAADAhm61Qv9LL720yufMmjUrkyZNyv7777/M41OnTs1ll12WRYsWJUkeeOCBjB49eql+nTt3TqNGjZZqf+2119K2bdu0adMmlZWV6datW55++uk89NBDOeKIIzJ8+PBMmjRpma/9zDPP1OtbFAAAAGB1rNby/tXYBiC//vWvc/TRRy81m/+ZvffeOzNmzMiIESOy995756GHHsqPfvSjlb7+7Nmz07Jly5rnLVu2zKuvvpq+fftm7Nixeeyxx9K6detlnrvbbrtlt912W7U3BAAAAPXcaoX+wYMHr1L/Z599Nk2bNs0222yTF154Ybn9+vXrlxEjRuTmm2/ONddck0033XSlX2NZX0SUlZWlY8eOOeuss1apXgAAACiClV7ef9lll9U83meffWoeX3755Ss89+WXX84zzzyTIUOGZMSIEXn++edz9dVXL9XvxRdfzNtvv53dd989Y8eOXdnSkiyZ2Z81a1bN81mzZqV58+ardA0AAAAokpUO/cubof+imfvPDBw4MDfccEOuu+66DB06NDvuuGNOP/30Wn1ef/31jBw5Muecc05OPfXUzJs3L7fddtvKlpdtt9027777bmbMmJGqqqpMnDjRkn0AAAA2aitc3j9mzJgkSVVVVc3jz0yfPn2598mvqoULF+bMM89M27ZtkyRDhgzJww8/vFS/ESNGZOrUqfnoo49y8sknZ8CAAendu3cqKioyaNCgXHLJJamurs5+++2XDh06rJXaAAAAYEO0wtD/2ZL56urqWsvnk6RVq1YZMGDAKr3gDjvssMyfztt+++1rF1ZZmT59+izVb+jQocu9dteuXdO1a9dVqgcAAACKaoWh/9RTT02SdOrUaZkhHAAAAKifvjD0T58+veZxly5daj3/vDZt2qzdqgAAAIA19oWh/18321uef73XHwAAAKh7Xxj6hXkAAADYcK30T/YBAAAAG5YVbuT3mQsvvDBlZWXLPHbRRRettYIAAACAtWOlQ3/v3r1rPf/ggw/y0EMPpUePHmu9KAAAAGDNrXTo79Wr11Jte+21V66//vocfvjha7MmAAAAYC1Yo3v6W7RokTfffHNt1QIAAACsRSs90//ggw/Wer5o0aI8+eST6dSp01ovCgAAAFhzKx36H3300VrPN9lkk/yf//N/csghh6z1ogAAAIA1t8LQP3PmzCTJkCFDlnl84cKFady48dqtCgAAAFhjKwz9ywv7nzdmzJi1UgwAAACw9qww9Hfs2DGffvpp9t133/To0SMtWrRYH3UBAAAAa2iFof8Xv/hF3nrrrUyYMCEXXnhh2rdvn549e2bPPfdMw4YN10eNAAAAwGpYqZ/s69ixY4455phce+21OeSQQ/Lss89m8ODB+cc//rGu6wMAAABW00qF/s+89957mTp1al599dVsvfXWadSo0bqqCwAAAFhDK1zeP2/evDz22GOZMGFCFixYkB49euSiiy5Kq1at1kd9AAAAwGpaYeg/6aSTsuWWW6ZHjx7p1KlTkiUz/u+9915Nnx133HHdVQgAAACslhWG/mbNmmXRokX5y1/+kr/85S9LHS8rK8u11167TooDAAAAVt8KQ/911123PuoAAAAA1rJV2sgPAAAA2HAI/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwDAOtK+ffv83//7f2ueV1VVpUuXLjn22GO/8LwrrrgiN9xww1Lt7733Xk488cQkycSJE1d4nYkTJ6Z9+/a5//77a9qOPfbYTJw48QvPGzNmTN57772aWn72s5/VOv78889n3333zfz583PMMcekZ8+e2W+//fLTn/70C68LrH9CPwAArCObb755Xn755cyfPz9J8sgjj6Rt27arfb22bdvmpptuWqVzttpqq1x99dWrdM7YsWMzffr0JEm/fv1y11131Tp+1113pX///kmSk08+OY888kjGjRuXp59+Og8++OAqvRawbgn9AACwDu233375y1/+kiS54447asJyksyZMyeDBg1Knz598vWvfz1Tp06tOfbCCy/kiCOOSPfu3fPb3/42SfL222+nd+/eS73GJ598kjPPPDMHH3xwDjjggIwbN67mWOfOndOkSZM88sgjS533t7/9Ld/61rdy0EEHZeDAgZk+fXr+/Oc/57nnnstpp52Wvn37pn379mnSpEkmTZpUc97dd9+dfv36ZbPNNkv37t2TJA0bNkyXLl3y7rvvruEnBqxNQj8AAKxD/fr1y5133pkFCxbkxRdfzNe+9rWaY1dccUV23HHHPPDAAznvvPPy/e9/v+bYiy++mFtuuSV33313rrzyyprl9sty1VVXpXv37rnnnnsyduzY/PjHP84nn3xSc/z73/9+rrrqqlrnfPrpp/nhD3+YG2+8Mffdd1++/e1v59JLL83Xv/717Lzzzrn22mszfvz4bLbZZunfv3/uvPPOJMmzzz6b5s2bZ5tttql1vblz52b8+PHZZ5991ujzAtauyrouYF2bOXNmRo0alcaNG6ddu3a1vlkFAIC1rXrKsymNuz3vz5mZfLoo2y+en3feeSd33nnnUrP0Tz31VM1y/X322Sdz5szJhx9+mCQ58MADs9lmm2WzzTZLt27dMnny5Oywww7LfM1HHnkk48ePr9kHYOHChfnnP/9Zc3zPPfdMkjz55JM1bX//+9/z8ssv58gjj1xSd3V1ttxyy2Ve/7DDDku/fv0yfPjw3HnnnenXr1+t41VVVRkyZEgGDRqUL3/5yyv9WQHr3noJ/YsWLcrw4cNTVVWVxYsXZ6+99sqAAQNW61rXX399Jk2alKZNm+aKK66odWzy5MkZPXp0qqurs//++6d///6ZNm1aunbtmr59++baa69dG28HAACWqXrKsyn9bmRSWZmyRk2SUiml341M3513zMUXX5w//OEPmTNnTk3/Uqm01DXKyspq/f9f25elVCrlxhtvzHbbbVer/f333695fPrpp+fqq69ORUVFzTmdOnXK3XffvcL31b59+3To0CF//etfc8899yx1j/+5556brbfeumaTQaD+WC/L+xs0aJDhw4fnF7/4RS677LJMnjw5r7zySq0+c+fOrdng5DPLWsLUq1evXHDBBUu1V1dXZ9SoUbngggty5ZVX5vHHH88777yTrbfeOhMnTsxFF1203G9GAQBgbSiNuz2prEw22fR/Q3pZUlmZAZt8mjPOOCNf/epXa/Xfa6+9cvvttydZstN+ixYt0rhx4yTJuHHjsmDBgsyePTt//etfs/POOy/3dffdd9+MHj265kuE559/fpl95s6dW7NvwLbbbpvZs2fnmWeeSbJkuf/LL7+cJNliiy0yb968Wuf369cv//Ef/5GvfOUradeuXU37pZdemo8++igXXXTRqnxUwHqyXkJ/WVlZNt100yTJ4sWLs3jx4qW+qZw6dWouu+yyLFq0KEnywAMPZPTo0Utdq3PnzmnUqNFS7a+99lratm2bNm3apLKyMt26dcvTTz+dhx56KEcccUSGDx9ea/ORz3vmmWcycuTINX2bAABs7GZOTxpuUrut4SbZauG8nHDCCUt1P/PMM/O3v/0tffr0yU9/+tOMGDGir+w+1AAAE+lJREFU5tjXvva1HHvssTn00EMzdOjQL9z1f+jQofn000/Tp0+f9O7dO5dddtky+51++uk1G+01bNgwI0eOzE9/+tP06dMnBxxwQM0XAAMGDMh5552Xvn371kzMHXrooXnllVdy2GGH1Vxv2rRpufrqq/PKK6/kwAMPTN++ffO73/1u5T4rYL0oKy1rTdE6UF1dnR/84Ad57733cuCBB+boo49eqs+dd96Zl19+OXvvvXfuu+++/OhHP6r5suDzZsyYkUsvvbTW8v4nnngikydPzsknn5xkyX1Nr776avr27ZuxY8emcePG2XTTTVf4W6bTpk1bw3cKa65Vq1aZOXNmXZcBSzE2qa+MTeqLxZcPS+bOSTbZNJWVlamqqkoWLkiaNk/F2ZfUdXmQxN/MIvj8apsVWW8b+ZWXl+cXv/hFPv7441x++eV566230rFjx1p9+vXrlxEjRuTmm2/ONddcs8zAvzzLux+qY8eOOeuss9a4fgAAWJGyA7+55J7+LEipYoslgb+qKmUHfrOuSwM2Uuv9J/u22GKLdO7cOZMnT17q2Isvvpi33347u+++e8aOHbtK123ZsmVmzZpV83zWrFlp3rz5GtcLAAArq7zLrikbeFLStHlK8z5MmjZP2cCTUt5l17ouDdhIrZfQ/+GHH+bjjz9OsmQn/ylTpqR9+/a1+rz++usZOXJkzjnnnJx66qmZN29ebrvttpV+jW233TbvvvtuZsyYkaqqqkycODG77bbbWn0fAACwIuVddk3F2Zek9cg/puLsSwR+oE6tl+X9c+bMyXXXXZfq6uqUSqXsvffe2XXX2n/8Fi5cmDPPPLNmg5IhQ4bk4YcfXupaI0aMyNSpU/PRRx/l5JNPzoABA9K7d+9UVFRk0KBBueSSS1JdXZ399tsvHTp0WB9vDwAAAOql9baR34bCRn7UBzZXob4yNqmvjE3qI+OS+srY3PCtykZ+6/2efgAAAGD9EPoBAACgoIR+AAAAKCihHwAAAApK6AcAAICCEvoBAACgoIR+AAAAKCihHwAAAApK6AcAAICCEvoBAACgoIR+AAAAKCihHwAAAApK6AcAAICCEvoBAACgoIR+AAAAKCihHwAAAApK6AcAAICCEvoBAACgoIR+AAAAKCihHwAAAApK6AcAAICCEvoBAACgoIR+AAAAKCihHwAAAApK6AcAAICCEvoBAACgoIR+AAAAKCihHwAAAApK6AcAAICCEvoBAACgoIR+AAAAKCihHwAAAApK6AcAAICCEvoBAAA2QjNmzMgpp5ySbt26pVevXjnmmGPy97//fY2uOXHixBx77LFrqcIvdsUVV2TbbbfNzJkza9r+7d/+bYXnXX311cs99uGHH+a4445Lnz59st9++2XMmDFrpda6JPQDAABsZEqlUr73ve9l7733zsSJE/Pwww/nBz/4Qa0AvSFo0aJFRo4cuUrnXHPNNcs99utf/zqdOnXKAw88kD/84Q+5+OKLs2jRojUts04J/QAAABuZxx9/PA0aNKg1K7/jjjtmjz32yI9//OP07t07+++/f+68884kS2bwDz/88Jx44onp2bNnTjvttJRKpSTJQw89lJ49e6Z///659957a673ySef5Mwzz8zBBx+cAw44IOPGjUuSjBkzJieccEKOOuqodO/ePT/5yU+SJIsXL87QoUNrXvvGG29Mkrzxxhs56qijctBBB+Ub3/hGXnvttZrXOPLII3PXXXdlzpw5S73HP/7xjznkkEPSt2/fnHvuuVm8eHF++tOfZsGCBenbt29OO+20pc4pKyvLvHnzUiqV8vHHH6dZs2aprKxc04+7Tm3Y1QMAALDKXn755XTp0mWp9nvuuScvvPBCxo8fn9mzZ+fggw/OXnvtlSR5/vnn8+CDD6Zt27bp169fnn766ey0004555xz8vvf/z5bb711Tj755JprXXXVVenevXt++ctfZu7cuTnkkEPSo0ePJMkLL7yQcePGpWHDhunZs2e++93vZtasWXnvvffy4IMPJknmzp2bJDn33HPz85//PNtss00mTZqU888/P2PHjk2SbLHFFjnyyCMzatSonH322TWv/eqrr+auu+7KHXfckQYNGuT888/P7bffngsuuCCjR4/O+PHjl/m5fPe7383xxx+frl27Zt68efnVr36V8vINe65c6AcAANgIVE95NqVxt+f9OTNT/caMlJq3XarPU089lf79+6eioiKtW7fOXnvtleeeey6NGjXKLrvsknbt2iVJdthhh7z99tvZfPPN07Fjx2yzzTZJkm9961v5zW9+kyR55JFHMn78+Nxwww1JkoULF+af//xnkmSfffZJkyZNkiSdOnXKP//5z3Tq1ClvvfVWfvjDH2b//ffPvvvum48//jjPPvtsTjrppJoa/3W5/aBBg3LAAQfU6vPYY49lypQpOfjgg5MkCxYsSKtWrVb4GT388MPZYYcdMnbs2Lzxxhv5zne+kz333DONGzdeuQ+5HhL6AQAACq56yrMp/W5kUlmZskZN0mnT2bnn8cdSPeXZlHfZtabfZ0v2l6Vhw4Y1jysqKlJVVZVkyZL4ZSmVSrnxxhuz3Xbb1WqfNGlSrWuVl5enqqoqzZo1y/jx4/Pwww/n17/+de6+++5cdNFFadKkyXJn5pOkadOm6d+/f/7rv/6r1msfccQROf/885d7XrLkHv7f/va3SZJbb701Y8aMyWmnnZaysrJsvfXW6dChQ1577bV87Wtf+8Lr1Gcb9joFAAAAVqg07vaksjLZZNOUlZWl+1e+lEXV1fnt5T+v6TN58uQ0a9Ysd911VxYvXpxZs2blySefzC677LLc62633XZ566238sYbbyRJ7rjjjppj++67b0aPHl3zRcLzzz//hTXOnj071dXVOeSQQ3LOOedkypQpady4cTp06JC77757yfsolfLCCy8sde5JJ52U3/zmN1m8eHGSJSsJ/vznP9dsTDhnzpy88847SZIGDRrk008/TZIcf/zxGT9+fMaPH5+2bdumffv2eeyxx5Ik77//fv7xj3/ky1/+8hfWXd+Z6QcAACi6mdOTLf7/JeplZWW58d975KJHns6vunXLJptski996Uu56KKL8vHHH6dv374pKyvLsGHDsuWWW9baPO/zNt1001x22WU59thj06JFi+yxxx556aWXkiRDhw7N8OHD06dPn5RKpXzpS1/KLbfcstwS33333Zx55pmprq5OkppZ+muvvTbnn39+rrrqqlRVVaVfv37ZYYcdap3bokWLHHTQQbnpppuSLLll4Nxzz813vvOdlEqlVFZW5pJLLsmXvvSlHHXUUenTp0+6dOmSa6+9ttZ1hg4dmjPOOCP7779/SqVSLrjggrRo0WIVP+z6paz0Res3NkLTpk2r6xIgrVq12uB+LoWNg7FJfWVsUh8Zl9Qniy8flsydk2yyaSorK5cszV+4IGnaPBVnX1LX5bGKPttbYWVY3g8AAFBwZQd+M/nfoF8qlZYE/qqqJe0UmtAPAABQcOVddk3ZwJOSps1Tmvdh0rR5ygaeVGsTP4rJPf0AAAAbgfIuuyZddnXryUbGTD8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEGVlUqlUl0XAQAAAKx9ZvqhHjrvvPPqugRYJmOT+srYpD4yLqmvjM2Ni9APAAAABSX0AwAAQEEJ/VAP9enTp65LgGUyNqmvjE3qI+OS+srY3LjYyA8AAAAKykw/AAAAFJTQDwAAAAVVWdcFwMZs5syZue666/LBBx+krKwsffr0ycEHH5zf//73+ctf/pImTZokSb7zne+ka9eudVwtG5Pljc0kuffee3PfffeloqIiXbt2zdFHH13H1bIxWd7YvPLKKzNt2rQkySeffJLNN988v/jFL+q4WjYmyxubb7zxRm666aYsWrQoFRUVOeGEE7LddtvVdblsRFY0NhcsWJDWrVvn9NNPz+abb17X5bIOCP1QhyoqKnLMMcdkm222yfz583Peeedlp512SpIccsghOeyww+q4QjZWyxubH3zwQZ555plcfvnladCgQebOnVvXpbKRWd7YPOOMM2r63HLLLf7hynq3vLH5m9/8Jocffni+9rWvZdKkSfnNb36T//iP/6jrctmILG9sjhw5Msccc0w6d+6cBx98MHfddVeOPPLIui6XdcDyfqhDzZs3zzbbbJMk2WyzzdK+ffvMnj27jquC5Y/N+++/P/369UuDBg2SJE2bNq3LMtkIrejvZqlUyl//+td07969rkpkI7W8sVlWVpb58+cnWbIKpXnz5nVZJhuh5Y3NadOm5atf/WqSZKeddsqTTz5Zl2WyDgn9UE/MmDEjr7/+es2Sv3HjxuXss8/O9ddfn3nz5tVxdWzMPj8233333bz00ku54IILMnz48Lz22mt1XR4bsX/9u5kkL774Ypo2bZqtttqqDitjY/f5sXncccfl1ltvzSmnnJJbb701AwcOrOvy2Ih9fmx26NAhzzzzTJLkiSeeyKxZs+q4OtYVoR/qgQULFuSKK67I8ccfn8033zwHHHBArrnmmlx22WVp3rx5brnllroukY3Uv47N6urqzJs3L5dcckmOOeaYXHnllfHLr9SFfx2bn3n88cfN8lOn/nVs3n///TnuuOPyq1/9Kscdd1xuuOGGui6RjdS/js1TTjkl48aNyw9+8IPMnz8/lZXu/C4qoR/qWFVVVa644or06NEje+65Z5KkWbNmKS8vT3l5efbff//8/e9/r+Mq2Rgta2y2aNEie+65Z8rKyrLddtulvLw8H330UR1XysZmWWMzSRYvXpynnnoq3bp1q8Pq2Jgta2xOmDCh5vHee+9thRR1Ylljs3379vnhD3+YSy+9NN27d0+bNm3quErWFaEf6lCpVMoNN9yQ9u3b5+tf/3pN+5w5c2oeP/XUU+nQoUNdlMdGbHljc/fdd8/zzz+fJJk2bVqqqqrSuHHjuiqTjdDyxmaSTJkyJe3atUvLli3rqDo2Zssbmy1atMjUqVOTJM8//3zatm1bVyWykVre2PxsM97q6urcfvvt6du3b12VyDpWVrIuE+rMSy+9lAsvvDAdO3ZMWVlZkiU/z/f444/njTfeSFlZWVq3bp3Bgwfb+If1anljc6eddsr111+fN998M5WVlTnmmGOy44471nG1bEyWNza7du2a6667Lv/2b/+WAw44oI6rZGO0vLG5+eabZ/To0amurk6DBg1ywgkn1GyqBuvD8sbme++9l3HjxiVJ9thjjwwcOLDmOMUi9AMAAEBBWd4PAAAABSX0AwAAQEEJ/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEFV1nUBAMC6ccwxx9Q8XrRoUSorK1NevuT7/sGDB6dHjx5r7bUeffTR3HfffXnjjTfSuXPnDBs2bLl9J0+enJ/97Gdp2LBhrfaLL744W2+99VqrCQAQ+gGgsG699daax0OGDMlJJ52UnXbaaZ28VuPGjXPooYfm9ddfzz/+8Y8V9t9yyy1zzTXXrLBfdXV1ktR8WbG8thVZvHhxKioqVro/ABSF0A8AG6lFixbllltuyVNPPZXy8vJ079493/nOd1JZWZnJkydn1KhR6dGjR+69995sscUWOeqoo7L33nsv81q77LJLkuSDDz5Y47qGDRuWnXbaKc8991zefPPNXH311fnlL3+5VFupVMpNN92UV155JU2aNMk3vvGN9OrVK0ny29/+NjNnzkx1dXX+53/+JyeccEJ69uy5xrUBwIZG6AeAjdTvf//7vPXWW7n88stTXV2dSy+9NHfddVe++c1vJknef//9VFVV5aabbsrUqVNz2WWXZdttt82WW265zmt79NFHc8EFF2TLLbdMWVnZMtt+9KMfpVOnTjn77LPz1ltv5Sc/+Unatm2b7bffPkny5JNP5uyzz873v//9VFVVrfOaAaA+spEfAGykHn300QwYMCBNmjRJs2bN8s1vfjOPPPJIzfGKioocfvjhqayszE477ZQuXbrkiSeeWCuvPWPGjBx//PG1/vts2X6S9O7dO+3atUtlZWXNsvzPt82YMSNvvvlmBg4cmAYNGmTbbbfNvvvuW6v+zp07p2vXrikvL19q/wAA2FiY6QeAjVCpVMoHH3yQVq1a1bS1bt06s2fPrnnepEmTWmH5X4+viRXd0//5upbVNmfOnGXWN2XKlJrnLVu2XCu1AsCGzEw/AGyEysrK0qxZs8ycObOmbebMmWnRokXN8w8//DCLFi1a7vG61Lx58xXW99ltAQCwMRP6AWAj1b1794wdOzYfffRR5s6dm9tvv73Wz/gtXrw4f/zjH1NVVZXnn38+f/vb37Lnnnsu81rV1dVZtGhRFi9enFKpVPN4XWnbtm06duyY2267LZ9++mn+8Y9/ZMKECWv1ZwgBoAgs7weAjdS3v/3t3HLLLTnzzDNTXl6ebt26pV+/fjXHW7dunYqKipx44onZfPPNc+qpp6ZNmzbLvNYDDzyQm2++ueb50UcfnT59+mTw4MHL7D9jxowcc8wxtdqGDh2aXXfddaVqLysryxlnnJGbb745gwcPTuPGjXP00Ufnq1/96kqdDwAbi7JSqVSq6yIAgPrls5/s+6L77gGA+s/yfgAAACgooR8AAAAKyvJ+AAAAKCgz/QAAAFBQQj8AAAAUlNAPAAAABSX0AwAAQEEJ/QAAAFBQ/x9byb3KCbcHqQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 1008x504 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"xlabel = 'Top 1 Error'\n",
"ylabel = 'Mult-Adds'\n",
"ax = sns.lmplot(xlabel, # Horizontal axis\n",
" ylabel, # Vertical axis\n",
" data=remaining, # Data source\n",
" fit_reg=False, # Don't fix a regression line\n",
" height = 7,\n",
" aspect = 2) # size and dimension\n",
"\n",
"plt.title('Subset: Imagenet: Top 1 Error vs Mult-Adds')\n",
"# Set x-axis label\n",
"plt.xlabel(xlabel)\n",
"# Set y-axis label\n",
"plt.ylabel(ylabel)\n",
" \n",
"ax.set(yscale=\"log\")\n",
"\n",
"remaining = label_point(remaining['Top 1 Error'],\n",
" remaining['Mult-Adds'],\n",
" remaining['Name'], plt.gca())\n",
"\n",
"plt.savefig(\"subset-top1-multadd.pdf\", bbox_inches='tight')"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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nnjiCbVp00arV6+WmxtPswIArozwAABwS8vOztbu3bu1atUqde/eXZJ09OhRu8XjHnjgAf300086cOCA+eX1zJkzysjIUFBQkCSZPw8fPqxevXpddz1l7cfT07PcVv5v1qyZPv30U/3888/m7IOjR48qMzNTzZo1M4+z2WxKSUlRhw4dJMn8jJo2bVoudd1MzZo109///ncVFRWZsw+2bdum8+fP291jWQUFBalZs2ZauHChCgoK1L59ezVu3NjumHr16mn48OEaPny4FixYoOjoaM2ZM8duVsyv1atX77KBiWEY2rRpk+Lj481xkpubq0OHDl11RsPWrVt18eJFzZw507z3zZs3X+stX5G/v78GDRqkQYMG6amnnlKXLl108OBB1j4AADhExAwAuKXVqFFDNWvW1Lx585SRkaEtW7ZowIABqly5snmM1WpVy5YtNWTIEKWkpGjHjh0aPHiwPDw8zN+8NmzYUNHR0YqJidGiRYt04MAB7dixQx9//LHefvvtMtdT1n7uu+8+rV+/XsePH1dWVpbZfv/99+svf/nLDX0mQ4cOVbVq1TRgwAD961//MhcSbNiwoR599FHzOA8PD7344ovavHmzfvjhBw0ePFj+/v7q16/fFfvOy8vT9u3btX37dhUVFen48ePavn27/v3vf1+1rry8PJ08edLuzy/fjnAtXnjhBZ06dUrDhw/Xrl27tGHDBj3zzDOyWq1q06bNdfU5ZMgQ/fWvf9WSJUvsZh1I0rPPPqvVq1fr4MGDSk9P1z/+8Q81aNDAYXDgiMViUePGjbVo0SLt2rVL33//fanFHq+kcePGstlsmjFjhjIzM/X3v/9db7311nXV8Wvjxo3TP/7xD2VkZGjfvn367LPPdNddd6lu3bo3pX8AwO2L8AAAcEtzc3PTsmXLdPDgQT344IN6+umn9eKLL9o9526xWPTll1+qatWq+t3vfqdevXqpR48eatKkiby9vc3j5s6dq5deeklTpkzRAw88oLCwMH3yySf67W9/e001laWfd955R2lpabrvvvtUs2ZNs33fvn12YcL1qFatmhITE2Wz2dSpUyd17dpVfn5+WrVqld0aAV5eXnr99dcVHR2tNm3a6Oeff9bXX39t95n82ubNm9WqVSu1atVK2dnZmjFjhlq1aqXf//73V61r0qRJql27tt2fS7NFrlW9evW0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7xZYsiBJRe0fbDKZii2XJA+P/50e4urqqtzcXNWvX1/fffedHnroIU2cOFHTpk0z6lypf6VuUdzd3QvFZLPZNHDgQMXFxSkuLk4///yzevXqpfnz58tischisejUqVPy8/MzjiL19vZWXFyc/va3vykjI0OS5Onpqezs7EL3bNmypbKzs7Vly5YC5dnZ2fL09CxUHwAAlD0kDwCUSTabTX/729/0xBNPKCEhQT/++KPefPPNUrdjs7e3tyIjI2+qzZXTBooyf/58+fn5ad26dVqyZIneffddXb58+VbDdApb7DLJzS3/dA+TSZJJcnNTD48cvf7662rYsGGB+i1atNCyZcsk5SeBvL29ValSpWLLi3Pq1CmVL19eXbt21YABA5ScnHzLr6V169aKiooykgAnT55USkqKXnjhBSOh4OPjo1deeUUzZ87U/v37jbZXNoiU8pNLhw8fLvIegwYN0scff1yg7L///a8efPDBW44fAACUfm7ODgAAnOHnn39WuXLlCswSaNKkiWw2m8aNG6f169fLZDJp0KBBCg8PV0JCgj788EN5eXlp7969evjhhzVr1iyZTCatX79eY8eOlbe3d4H15JcuXdLo0aO1Z88eWa1W/f3vf1doaKgWLFigZcuWKTMzU4cPH1b79u01evRo5ebm6u9//7t27Nghk8mknj176qWXXtLhw4c1atQonT17VuXLl9fkyZPVoEEDSdKzzz6rb7/9Vq+88oq8vLwKvMalS5dq7ty5unz5spo1a6aJEydq0qRJysrKksVi0YMPPqjZs2cXaGMymXTx4kXZbDZlZGTo3nvvlZtbKf2nIuV0/oyDq7l7qEbGBb344ouFqg8dOlRDhw6V2WyWp6encURhceXF2bNnj9577z2ZTCaVK1fO2LfgVrRq1Ur79+9X586dJeWfHDFr1ixVq1atQL2GDRvqnXfe0eDBg3Xx4kV5eXmpXr16xmkObdu21cKFC9W7d+9C92jbtm2hJQ0JCQlq27btLccPAABKP5OtqPmYpdSJEyecHQJKIc4HLpu++OILHTlyRO+8806B8lWrVumrr77S119/rdTUVIWFhWnlypU6ePCg+vXrpx9++EE+Pj4KDw/XmDFj9PDDD6tly5b69ttvVbduXQ0YMECZmZlasGCBJk6cKD8/P3Xt2lXp6enq0KGD1q5dqx9//FHjxo1TbGys3N3d9fTTT+tf//qXzp49qwkTJuif//ynJCk9PV1VqlRRjx499P7776tevXrasmWLJk6cqMWLF2vq1KmqWLGiMjMzlZubq2HDhumBBx7Q/v37tX//fr333nv6/PPPVa5cOY0cOVKPPvqounfvbtQpysWLF/XCCy/o4MGDunjxoj755BOZzeY7/t/jTsidMip/yYLHVdPus7OkKl5yHTbeeYE52LWfcV26dNGXX36pKlWq2G2XnZ2trl27Kjo6uvQmkOBw/JsKR2PMwZEcPd5q1qzpsHvdiFL/fwOJiYlKSkpSRESEs0MBUMLlJSflT2VPOa28o2dl8/IpVGfTpk3q0qWLXF1d9ac//UktWrTQ9u3bdc899+iRRx4xPsQbN26so0ePqkKFCvrzn/+sevXqSZK6du2qhQsXSpLi4+MVFxdnbFaXnZ2t48ePS8pfY35lIz0/Pz8dP35cfn5+OnLkiEaPHq22bduqVatWysjIKPQZd+0ygn79+ikkJKRAnZ9++knJyckKCwuTJGVlZRX6lbooP/74oxo3bqzFixfr8OHD6tWrl5o3b253mn5JZQp9Jn/PA2VJ7h7S5WzJapUp9Blnh+ZUb7/9to4fP37d5MHx48f11ltvkTgAAACS7oLkQWBgoAIDA50dBoASztg8z81NqlhJfp7pWv3zT8pLTipwXKS9yVhXb2Tn6uoqq9Uq6X+b513LZrNpzpw5xhKDK/bv31+gLxcXF1mtVt17772Ki4vTjz/+qPnz52vFihV65513VLlyZcXFxRUbV5UqVYxfk6++d/fu3TVy5Mhi20n5exx8/fXXkqSvvvpKUVFRGjhwoEwmk+rWratatWrpwIEDBY40LC1c/AOU1zvCSBipWnWZQp8p88eDPvroozdUr169ekZSDAAAgA0TAZQJ126eF1Tnfl3Oy9PXU9436mzbtk333nuvli9frtzcXJ09e1YbN27UI488Umy/DRo00JEjR4xN6KKjo41rrVq10rx584yExJVd8IuTmpqqvLw8dejQQW+88YaSk5NVqVIl1apVSytWrMh/HTabdu3aVahtRESEFi5caOzg37JlS61cudKYWpeWlqZjx45JksqVK6ecnBxJKrThnq+vr3766SdJ0u+//67//ve/ql27tt24SzIX/wC5Dhsv1/c/l+uw8WU+cQAAAPBHlfqZBwBwQ67Z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\n",
"text/plain": [
"<Figure size 1008x504 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"xlabel = 'Top 1 Error'\n",
"ylabel = 'Params'\n",
"ax = sns.lmplot(xlabel, # Horizontal axis\n",
" ylabel, # Vertical axis\n",
" data=df_perf, # Data source\n",
" fit_reg=False, # Don't fix a regression line\n",
" height =7,\n",
" aspect =2) # size and dimension\n",
"\n",
"plt.title('Imagenet: Top 1 Error vs Params')\n",
"# Set x-axis label\n",
"plt.xlabel(xlabel)\n",
"# Set y-axis label\n",
"plt.ylabel(ylabel)\n",
" \n",
"ax.set(yscale=\"log\")\n",
"\n",
"box_edges = ((24.,28.),(4e6,1e7))\n",
"\n",
"remaining = label_point(df_perf['Top 1 Error'], df_perf['Params'], df_perf['Name'], plt.gca(), box_edges)\n",
"\n",
"plt.savefig(\"top1-params.pdf\", bbox_inches='tight')"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"remaining = df_perf.iloc[remaining]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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hJdfflm//fab1q5dqwULFqhbt26ysbH851q9evU0ZMgQrVmzRl27dv3bD3BMJpP5z8tf76SQpD179ujixYv6+OOP5ePjo5o1a+r8+fOFqjU6OlpNmjTRgAED5O3trerVq1ssxnmnHn30UfXv31/ff/+9RowYodmzZ9+1uQHg34LADwAokI+Pj2bPnq24uDgdO3ZMP/74o/r27asyZcrIz89PkhQQEKB9+/bpk08+0eHDh/X555/r22+/zTdXiRIl1KNHD23fvl1xcXHq3r276tata17hv3///lq5cqUOHz6svXv3asmSJapYsaJKliypRx99VMHBwerZs6cWLFigQ4cOadeuXZo3b54mTpxo3keVKlW0YcMGJScnWwSWmjVrFst3rFevXl0mk0khISE6cuSIli5dqjFjxlj06du3r86ePas+ffooKSlJGzZs0HvvvSfpz6vBL7/8sqpUqaK2bdtq7dq1Onr0qLZu3aoJEyZo6dKlha6nMPNUqlRJNjY2Wrlypc6dO6fU1FRJuYv41axZU9u2bbuj92TYsGHatGmThg8frv3792vFihUaPHiwgoODzbfzSzJ/w8KePXu0YcMGDRw4UB07drxpYD59+rTi4+PNjx4cOHBA8fHxFo9Y3MiFCxd05swZi5+0tLTbOsb//Oc/WrRokUJCQnTw4EEtWrRI48eP17Bhw/IF9cLw8PBQy5YtNWLECCUkJOjVV181b0tMTNSIESO0efNmHTt2TJs3b9aWLVvk5eV1W7VLuX9uHnjgAc2YMUO//vqr1q5dq3fffbdQYx977DHt2LFDK1as0KFDhzRlyhQtX778tmu5LiUlRQMGDNCGDRt09OhRbd++XVFRUXd0nADwb0XgBwAU6Nlnn9XChQvVpk0bPfbYY+rRo4eqV6+uzZs3y93dXVJu4B87dqwmTJig+vXra/369RZf23dd+fLl1atXL3Xq1EnNmjWTk5OTvv/+e3PINQxDb7/9turUqaPmzZsrPT1dq1atMm+fM2eOBg0apHHjxsnLy0v+/v6aP3++qlatat5HSEiItm/fripVqujBBx80t+/fv7/QVyzvRL169TRz5kyFhYXJy8tLU6ZM0fTp0y36eHp6atmyZYqJiVGDBg00cOBAjR07VpLMK607Ojpq48aNatiwoXr06KEaNWqoY8eO2rZtmypVqlToegozT7ly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X/7yF13+FeavvvpKAQEB6tWrl2JiYoz1nT9/XmPGjFH37t3VuXNnxcbGSpKioqL07LPPKiwsTG3bttXkyZMlXQrao0ePNrY9f/58SdLhw4cVFhamrl276sknn9TBgweNbTz11FNavXq1Tp06VWAfly9frh49eigoKEgvvfSS8vLy9Pe//13Z2dkKCgrSX/7yl0KPzaJFi9SjRw/5+vreziEGANPipX0AAAD3sB9//FGNGjUqMH3NmjX6/vvvFRcXp/T0dHXv3l2PPfaYJGnPnj3asGGD/P39FRISou3bt6tx48YaO3asPv30Uz300EN67rnnjHW99957atu2rd555x1lZGSoR48eat++vSTp+++/V2xsrDw8PBQQEKBnnnlGaWlpOnHihDZs2CBJysjIkCS99NJLeuutt1SnTh3t3LlT48aN07JlyyRJ5cqV01NPPaXIyEi9+OKLxrYPHDig1atXKzo6WqVKldK4ceO0YsUKvfrqq1q8eLHi4uIKPS6//fab1q5dq08//VRJSUl34EgDgPkQ+AEAAO4xzuREuWJXSKkn5TyaJpe3f4Ex27ZtU69evWSz2fTAAw/oscce065du1S+fHk1bdpU1apVkyQ98sgjOnr0qMqWLatatWqpTp06kqQ+ffroo48+kiR9/fXXiouL09y5cyVJOTk5+vXXXyVJ7dq1U8WKFSVJ9evX16+//qr69evryJEjeu211xQYGKgOHTro3LlzSkxMVEREhFHjhQsX3GoeOnSoOnfu7Dbmm2++UXJysrp37y5Jys7Olp+f33WP0YQJE/Tqq6/KZrPd2EEFgPsQgR8AAOAe4kxOlOvf8yS7XSpXQfVLZ2jN5m/kTE50+43oy7fpF8bDw8P422azKTc3V5JksVgKHe9yuTR//nzVq1fPbfrOnTvd1mW1WpWbm6tKlSopLi5OGzdu1AcffKD//Oc/evPNN1WxYsWrXpGXJC8vL/Xq1Usffvih27b79u2rcePGXXU5Sfrggw/0r3/9S5K0dOlS7d69WyNHjpQkpaena8OGDbLb7erates11wMA9xOe4QcAALiHuGJXXAr7nqUli0Vta9fQBadT/5r2ljEmKSlJlSpV0urVq5WXl6e0tDQlJCSoadOmV11vvXr1dOTIER0+fFiSFB0dbczr0KGDFi9ebHyJsGfPnmvWmJ6eLqfTqR49emjs2LFKTk5WhQoVVLNmTf3nP/+5tB8ul77//vsCy0ZEROijjz5SXl6epEt3EHz++efGSwhPnTqlY8eOSZJKlSqlixcvSpKGDBmiuLg4xcXFyd/fX1u3blVCQoISEhLUo0cP/f3vfyfsA0A+XOEHAAC4l6SelMpVMD5aLBbN79Zeb369Xf/Xpo08PT1Vo0YNvfnmmzp37pyCgoJksVg0fvx4Va5c2e1FeVcqXbq0pk6dqsGDB8vHx0ctW7bUDz/8IEkaPXq0JkyYIIfDIZfLpRo1amjJkiVXLfG3337TmDFj5HQ6Jcm4Oj9r1iyNGzdO7733nnJzcxUSEqJHHnnEbVkfHx917dpVCxYskHTpMYGXXnpJTz/9tFwul+x2u6ZMmaIaNWooLCxMDodDjRo10qxZs279mALAfcriutb9YPeh48ePF3cJkOTn51fifm4Idxc9gfzoCeRnlp7ImzZeyjh16Qr/ZTnZkpe3bC9OKb7CSiCz9ATuHHoC+ZXUnrj8npbr4ZZ+AACAe4ilS28pN/dSyHe5Lv13bu6l6QAA3AQCPwAAwD3E2qi5LAMiJC9v6dxZyctblgERbi/sAwDgRvAMPwAAwD3G2qi5RMAHANwmrvADAAAAAGBCBH4AAAAAAEyIwA8AAAAAgAkR+AEAAAAAMCECPwAAAAAAJkTgBwAAAADAhAj8AAAAAACYEIEfAAAAAAATIvADAAAAAGBCBH4AAAAAAEyIwA8AAAAAgAkR+AEAAAAAMCECPwAAAAAAJkTgBwAAAADAhAj8AAAAAACYkMXlcrmKuwgAAAAAAHBncYUf96RXXnmluEvAPYaeQH70BPKjJ5AfPYH86AnkZ/aeIPADAAAAAGBCBH4AAAAAAEzI9r//+7//W9xFAIWpU6dOcZeAeww9gfzoCeRHTyA/egL50RPIz8w9wUv7AAAAAAAwIW7pBwAAAADAhAj8AAAAAACYkL24C8D9JTU1VbNnz9bp06dlsVjkcDjUvXt3Y/7q1av10UcfaeHChapYsWKB5fv3769atWpJkvz8/PTyyy8XWe24O67WE59++qm+/PJLow+efvpp/elPfyqwfFJSkhYvXiyn06nAwED16tWrqHcBd9jt9sSoUaNUunRpWa1W2Ww2vfXWW0W9C7jDrvX/HTExMVq7dq1sNpv+9Kc/aeDAgQWW5zxhPrfbE5wnzOdqPTFjxgwdP35cknT+/HmVLVtW//znPwssz3nCfG63J8xyniDwo0jZbDYNGjRIderUUVZWll555RU1btxYNWrUUGpqqpKTk+Xn53fV5T08PAr9HyRKrqv1hCT16NFDPXv2vOqyTqdTkZGReu211+Tr66tx48apRYsWqlGjRlGVj7vgdnrisgkTJhT6pSFKpqv1xOnTp7Vjxw5NmzZNpUqVUkZGRoFlOU+Y0+30xGWcJ8zlaj3x/PPPG2OWLFmismXLFliW84Q53U5PXGaG8wS39KNIeXt7G2/BLFOmjKpXr6709HRJ0ocffqiwsDBZLJbiLBFF7Fo9cT0HDx6Uv7+/qlSpIrvdrjZt2mj79u13s1wUgdvpCZjT1Xpi3bp1CgkJUalSpSRJXl5eBZblPGFOt9MTMKfr/X+Hy+XSt99+q7Zt2xZYlvOEOd1OT5gJV/hRbFJSUnTo0CHVq1dPO3bskI+Pj2rXrn3NZS5evKhXXnlFNptNISEhatmyZdEUiyJxZU/88MMPio2N1ddff606depo8ODBKl++vNv49PR0+fr6Gp99fX114MCBoi4bd9HN9sRlU6ZMkSQFBQXJ4XAUZcm4y67siaVLl+qHH37QJ598olKlSmnQoEGqV6+e23jOE+Z3sz1xGecJ87qyJy7bt2+fvLy8VLVq1QLjOU+Y3832xGVmOE8Q+FEssrOzNX36dA0ZMkQ2m00rVqzQa6+9dt3l5syZIx8fH508eVITJ05UrVq15O/vXwQV4267sifKli2rzp07KzQ0VJIUFRWlJUuWaOTIkW7LFParotwhYh630hOSNGnSJPn4+CgjI0OTJ09WtWrV1LBhw6IuH3dB/p5wOp3KzMzUlClT9NNPP2nGjBmaNWuW23mA84S53UpPSJwnzCx/T1y2efPmq17J5TxhbrfSE5J5zhPc0o8il5ubq+nTp6t9+/Zq1aqVTp48qZSUFI0dO1ajRo1SWlqaXn75ZZ0+fbrAsj4+PpKkKlWqqGHDhjp8+HARV4+7IX9PSFKlSpVktVpltVoVGBion376qcByvr6+SktLMz6npaXJ29u7yOrG3XOrPSH99zzh5eWlRx99VAcPHiyyunH3FNYTPj4+atWqlSwWi+rVqyer1aqzZ8+6Lcd5wrxutScuj5M4T5hNYT0hSXl5edq2bZvatGlT6HKcJ8zrVntCMs95gsCPIuVyuTR37lxVr15dTzzxhCSpVq1aWrhwoWbPnq3Zs2fL19dXb7/9tipVquS2bGZmpi5evChJOnPmjH788UdepmIChfWEJJ06dcr4e9u2bapZs2aBZevWravffvtNKSkpys3N1ZYtW9SiRYsiqRt3z+30RHZ2trKysoy/d+/ebfyyB0quq/XEo48+qj179kiSjh8/rtzcXFWoUMFtWc4T5nQ7PcF5wpyu1hOSlJycrGrVqrndtn8lzhPmdDs9YabzBLf0o0j9+OOP+vrrr1WrVi2NHTtW0tV/WkuSfvrpJ8XFxem5557Tr7/+qvnz58tqtcrpdKpXr14EfhO4Wk9s3rxZhw8flsVi0QMPPKDhw4dLuvSc3bx58zRu3DjZbDYNHTpUU6ZMkdPp1OOPP15oCETJcjs9kZGRoWnTpkm69O19u3bt1LRp02LbF9wZV+uJTp06ac6cOXrhhRdkt9s1atQoWSwWzhP3gdvpCc4T5nStf2MWdus25wnzu52eMNN5wuIq7KEVAAAAAABQonFLPwAAAAAAJkTgBwAAAADAhAj8AAAAAACYEIEfAAAAAAATIvADAAAAAGBCBH4AAAAAAEzIXtwFAACAu2PQoEHG3xcuXJDdbpfVeum7/uHDh6t9+/Z3bFubNm3S2rVrdfjwYTVs2FDjx4+/6tikpCT94x//kIeHh9v0iRMn6qGHHrpjNQEAcL8j8AMAYFJLly41/h41apQiIiLUuHHju7KtChUqKDg4WIcOHdLPP/983fGVK1fW+++/f91xTqdTkowvKq427Xry8vJks9lueDwAAGZA4AcA4D514cIFLVmyRNu2bZPValXbtm319NNPy263KykpSZGRkWrfvr1iYmJUrlw5hYWFqXXr1oWuq2nTppKk06dP33Zd48ePV+PGjbVr1y798ssvmjlzpt55550C01wulxYsWKD9+/erYsWKevLJJ9WxY0dJ0r/+9S+lpqbK6XTqu+++07PPPquAgIDbrg0AgJKEwA8AwH3q008/1ZEjRzRt2jQ5nU69/fbbWr16tXr37i1J+v3335Wbm6sFCxZo7969mjp1qurWravKlSvf9do2bdqkV199VZUrV5bFYil02uuvv6769evrxRdf1JEjRzR58mT5+/urQYMGkqSEhAS9+OKL+tvf/qbc3Ny7XjMAAPcaXtoHAMB9atOmTerXr58qVqyoSpUqqXfv3vr666+N+TabTaGhobLb7WrcuLEaNWqkrVu33pFtp6SkaMiQIW7/uXyrviR16tRJ1apVk91uN27Fv3JaSkqKfvnlFw0YMEClSpVS3bp11aFDB7f6GzZsqD/96U+yWq0F3hcAAMD9gCv8AADch1wul06fPi0/Pz9j2gMPPKD09HTjc8WKFd2Ccv75t+N6z/BfWVdh006dOlVofcnJycZnX1/fO1IrAAAlFVf4AQC4D1ksFlWqVEmpqanGtNTUVPn4+Bifz5w5owsXLlx1fnHy9va+bn2XHwUAAOB+ReAHAOA+1bZtWy1btkxnz55VRkaGVqxY4fZTfXl5eVq+fLlyc3O1Z88e7d69W61atSp0XU6nUxcuXFBeXp5cLpfx993i7++vWrVq6ZNPPtHFixf1888/Kz4+/o7+1CAAACUdt/QDAHCf6t+/v5YsWaIxY8bIarWqTZs2CgkJMeY/8MADstlsCg8PV9myZTVy5EhVqVKl0HWtX79eCxcuND4PHDhQDodDw4cPL3R8SkqKBg0a5DZt9OjRat68+Q3VbrFY9Pzzz2vhwoUaPny4KlSooIEDB+rhhx++oeUBALgfWFwul6u4iwAAAPeWyz/Ld63n7AEAwL2NW/oBAAAAADAhAj8AAAAAACbELf0AAAAAAJgQV/gBAAAAADAhAj8AAAAAACZE4AcAAAAAwIQI/AAAAAAAmBCBHwAAAAAAE/r/ATw7G8FYdq3MAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 1008x504 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"xlabel = 'Top 1 Error'\n",
"ylabel = 'Params'\n",
"ax = sns.lmplot(xlabel, # Horizontal axis\n",
" ylabel, # Vertical axis\n",
" data=remaining, # Data source\n",
" fit_reg=False, # Don't fix a regression line\n",
" height = 7,\n",
" aspect = 2) # size and dimension\n",
"\n",
"plt.title('Subset: Imagenet: Top 1 Error vs Params')\n",
"# Set x-axis label\n",
"plt.xlabel(xlabel)\n",
"# Set y-axis label\n",
"plt.ylabel(ylabel)\n",
" \n",
"ax.set(yscale=\"log\")\n",
"\n",
"box_edges = ((24.,30),(3.5e8,8e8))\n",
"\n",
"label_point(remaining['Top 1 Error'],\n",
" remaining['Params'],\n",
" remaining['Name'], plt.gca())\n",
"\n",
"plt.savefig(\"subset-top1-multadd.pdf\", bbox_inches='tight')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And we can plot the same Parameter Graph for CIFAR-10:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"cifar_perf = pd.read_csv(\"cifar10_top1.csv\")"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Name</th>\n",
" <th>Top 1 Error</th>\n",
" <th>Mult-Adds</th>\n",
" <th>Params</th>\n",
" <th>Citation</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>NASNet-A</td>\n",
" <td>2.65</td>\n",
" <td>?</td>\n",
" <td>27600000.0</td>\n",
" <td>zoph2017learning</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>NASNet-B</td>\n",
" <td>3.73</td>\n",
" <td>?</td>\n",
" <td>2600000.0</td>\n",
" <td>zoph2017learning</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>NASNet-C</td>\n",
" <td>3.59</td>\n",
" <td>?</td>\n",
" <td>3100000.0</td>\n",
" <td>zoph2017learning</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>DenseNet-40-12</td>\n",
" <td>5.24</td>\n",
" <td>?</td>\n",
" <td>1000000.0</td>\n",
" <td>huang2016densely</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>DenseNet-100-12</td>\n",
" <td>4.10</td>\n",
" <td>?</td>\n",
" <td>7000000.0</td>\n",
" <td>huang2016densely</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>DenseNet-100-24</td>\n",
" <td>3.74</td>\n",
" <td>?</td>\n",
" <td>27200000.0</td>\n",
" <td>huang2016densely</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>DenseNet-100-40</td>\n",
" <td>3.46</td>\n",
" <td>?</td>\n",
" <td>25600000.0</td>\n",
" <td>huang2016densely</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>ResNet-110</td>\n",
" <td>6.61</td>\n",
" <td>7.6e9</td>\n",
" <td>1700000.0</td>\n",
" <td>he2016deep</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>PNASNet-5</td>\n",
" <td>3.41</td>\n",
" <td>?</td>\n",
" <td>3200000.0</td>\n",
" <td>liu2017progressive</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>AmoebaNet-A</td>\n",
" <td>3.34</td>\n",
" <td>?</td>\n",
" <td>2800000.0</td>\n",
" <td>real2017large</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>AmoebaNet-B</td>\n",
" <td>3.37</td>\n",
" <td>?</td>\n",
" <td>3200000.0</td>\n",
" <td>real2017large</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>DARTS</td>\n",
" <td>2.83</td>\n",
" <td>?</td>\n",
" <td>3400000.0</td>\n",
" <td>liu2018darts</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>WRN-40-4</td>\n",
" <td>4.53</td>\n",
" <td>?</td>\n",
" <td>8900000.0</td>\n",
" <td>zagoruyko2016wide</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>WRN-16-8</td>\n",
" <td>4.27</td>\n",
" <td>?</td>\n",
" <td>11000000.0</td>\n",
" <td>zagoruyko2016wide</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>WRN-28-10</td>\n",
" <td>4.00</td>\n",
" <td>?</td>\n",
" <td>36500000.0</td>\n",
" <td>zagoruyko2016wide</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>CondenseNet-94</td>\n",
" <td>5.00</td>\n",
" <td>1.22e8</td>\n",
" <td>330000.0</td>\n",
" <td>huang2017condensenet</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>CondenseNet-86</td>\n",
" <td>5.00</td>\n",
" <td>6.5e7</td>\n",
" <td>520000.0</td>\n",
" <td>huang2017condensenet</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>CondenseNet-160</td>\n",
" <td>3.46</td>\n",
" <td>1.084e9</td>\n",
" <td>3100000.0</td>\n",
" <td>huang2017condensenet</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>CondenseNet-182</td>\n",
" <td>3.76</td>\n",
" <td>5.13e8</td>\n",
" <td>4200000.0</td>\n",
" <td>huang2017condensenet</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>Moonshine-G(N/8)</td>\n",
" <td>5.06</td>\n",
" <td>4.558e5</td>\n",
" <td>86400000.0</td>\n",
" <td>crowley2017moonshine</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>Moonshine-BG(2-M/4)</td>\n",
" <td>6.03</td>\n",
" <td>1.657e5</td>\n",
" <td>28200000.0</td>\n",
" <td>crowley2017moonshine</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Name Top 1 Error Mult-Adds Params \\\n",
"0 NASNet-A 2.65 ? 27600000.0 \n",
"1 NASNet-B 3.73 ? 2600000.0 \n",
"2 NASNet-C 3.59 ? 3100000.0 \n",
"3 DenseNet-40-12 5.24 ? 1000000.0 \n",
"4 DenseNet-100-12 4.10 ? 7000000.0 \n",
"5 DenseNet-100-24 3.74 ? 27200000.0 \n",
"6 DenseNet-100-40 3.46 ? 25600000.0 \n",
"7 ResNet-110 6.61 7.6e9 1700000.0 \n",
"8 PNASNet-5 3.41 ? 3200000.0 \n",
"9 AmoebaNet-A 3.34 ? 2800000.0 \n",
"10 AmoebaNet-B 3.37 ? 3200000.0 \n",
"11 DARTS 2.83 ? 3400000.0 \n",
"12 WRN-40-4 4.53 ? 8900000.0 \n",
"13 WRN-16-8 4.27 ? 11000000.0 \n",
"14 WRN-28-10 4.00 ? 36500000.0 \n",
"15 CondenseNet-94 5.00 1.22e8 330000.0 \n",
"16 CondenseNet-86 5.00 6.5e7 520000.0 \n",
"17 CondenseNet-160 3.46 1.084e9 3100000.0 \n",
"18 CondenseNet-182 3.76 5.13e8 4200000.0 \n",
"19 Moonshine-G(N/8) 5.06 4.558e5 86400000.0 \n",
"20 Moonshine-BG(2-M/4) 6.03 1.657e5 28200000.0 \n",
"\n",
" Citation \n",
"0 zoph2017learning \n",
"1 zoph2017learning \n",
"2 zoph2017learning \n",
"3 huang2016densely \n",
"4 huang2016densely \n",
"5 huang2016densely \n",
"6 huang2016densely \n",
"7 he2016deep \n",
"8 liu2017progressive \n",
"9 real2017large \n",
"10 real2017large \n",
"11 liu2018darts \n",
"12 zagoruyko2016wide \n",
"13 zagoruyko2016wide \n",
"14 zagoruyko2016wide \n",
"15 huang2017condensenet \n",
"16 huang2017condensenet \n",
"17 huang2017condensenet \n",
"18 huang2017condensenet \n",
"19 crowley2017moonshine \n",
"20 crowley2017moonshine "
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cifar_perf"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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AwwfPrwYWiQiIiIiIiJiDsX62jovLy9SU1ON7dTUVDw8PIqxRSIiIiIiIiLmUKwBfdWqVUlKSuL06dNkZ2ezY8cOrFZrcTZJREREpFhVqFCBl19+2djOzs6mdu3adO/e/Y4cv379+pw9e7ZA+vr162/r24c2b95M27ZtadKkCaGhofTv358TJ04Y+8eOHcv3338PQKdOnWjdurWx76effqJTp0529YWFhZGZmcnKlSsJDg4mJCSErl27GucyYcIEtm/fftvaLyJyN7hjAf3MmTMZM2YMJ0+epH///mzatAlHR0d69erFxIkTGTp0KE888QSVKlW6U00SERERueuUKlWKhIQELl++DEB0dDS+vr7F3Cpo2bIlAwcOvC11/fLLL4wZM4aZM2cSHR1NVFQUTz/9NMeOHQPg3LlzxMfH06BBA6NMSkoKmzZtKrS+Y8eO4evri4ODA2PHjmXZsmVs2LCBgIAAFi5cCECvXr14//33b0v7RUTuFndsDf2QIUMKTQ8MDCQwMPBONUNERETkrte8eXM2btxIu3btWLlyJeHh4ezcuRPIC3aHDx/O77//jqurK5MnT6ZWrVpFpk+bNo0TJ07w+++/c+LECV588UV69+7NpUuX6NevH0lJSeTm5jJ48GCefPJJAD766COioqLIzs4mMjKSatWqsXTpUvbs2cPEiRMZMmQIbm5u/PTTT5w5c4bRo0fTrl07AD744AO++eYbMjMzCQsLY8SIEQXO7/3332fQoEH4+/sbaS1btjT+vnr16gJvOXrppZeYNWsWLVq0KFDfpk2baNasGTabDZvNxqVLl/Dw8CAtLY0qVaoAULFiRc6dO8fp06cpV67crXWQiMhdolin3N8OsbGxREZGFnczRERERG5a7t44cqaOJmfki5CVSYda/qxatYr09HQOHDhAvXr1jLzTpk3jkUceYcOGDYwcOZLBgwdfNR3yXhX86aefsnr1aqZPn05WVhabN2/G19eXDRs2sGnTJrsA2tPTk3Xr1tGtWzfmzp1baJuTk5NZuXIlixYtYtKkSQBs3bqVxMREVq9ezfr169mzZ48xbf5KBw8e5JFHHinyeuzatYvatWvbpQUFBeHs7ExMTEyB/Fu2bKF58+aUKFGCSZMmERwcTGBgIIcOHeK5554z8tWuXZtdu3YVeVwREbMxfUBvtVrp169fcTdDRERE5Kbk7o3D9lkknD8H97mBzUbN79dz7NBBVq1aVeCO9A8//EDHjh0BaNy4MefOnePChQtFpgMEBwfj4uKCp6cn3t7enDlzhpo1a7Jt2zYmTpzIzp07KVOmjHGM/PXqderUMabB/1VYWBgODg5Ur16dM2fOAHkB/datW2nZsiWtWrXi119/JTEx8arnf/bsWUJDQ2ncuLExeHD69Gm7VxvnGzx4MLNmzbJLy8zMJCkpicqVK5OVlcXixYtZt24d8fHxBAQE8O677xp5vby8SE5Ovmp7RETMxPQBvYiIiIiZ2datACcncHEFiwWwgJMTod6lmTBhAuHh4fb5i3jtb1HpAC4uLkaao6MjOTk5VK1albVr11KzZk0mTZrEjBkzjDz5+fPzFsbZ2blAm2w2GwMHDiQqKoqoqChiYmJ47rnn+PjjjwkNDSU0NJRTp05RvXp19u3bB+TNBoiKiuL555/nzz//BMDV1ZWMjIwCx2zcuDEZGRnEx8cbaTt37uTxxx8H4OeffwagSpUqWCwW2rdvT1xcnJE3IyMDV1fXQs9HRMSMFNCLiIiIFKeUZHB2sU9zduEZv/sZOnQoAQEBdrsaNGjAihUrANixYweenp64ubkVmV6UU6dOUbJkSTp27Ej//v3Zu3fvLZ9Ks2bNWLp0qRGYJyUlkZKSwgsvvGAE+b6+vvz73/9m9uzZHDp0yCib/xBAAH9/f44cOVLoMQYNGsScOXOM7fzp9gC+vr4cOnTIeC1ydHQ01apVM/L+9ttv1KhR45bPU0TkbnHHHoonIiIiIoXw9smbbu9yxZ3jzAz8KlfhxRdfLJB92LBhDBs2jJCQEFxdXZk5c+ZV04vyyy+/8Oabb2KxWIy157eqadOmHDp0iA4dOgB5T+x/99138fb2tssXEBDA+PHjGTx4MBcvXsTDw4MKFSowfPhwIG+JwCeffEJERESBYwQHB9tNx//uu++MB+/5+voydOhQnn76aUqUKEGFChWMmQdZWVkcOXKEunXr3vJ5iojcLSy2wuZnmdTJkydvuIy3tzcpKSl/Q2vkdlNfmYv6yzzUV+ai/jKP6+0rYw29k1PenfrMDMjOxhLRD4faQXegpXen8PBwFi1ahLu7e5F5Tp48yauvvsonn3xyzfrWrl3L3r17efXVVwvdr98t81BfmYv6q6Dy5cvftro05V5ERESkGDnUDsIS0Q/cPeDPNHD3uOeDeYCxY8dy4sSJq+YpX778dQXzANnZ2XqQsoj842jKvYiIiEgxc6gdBPd4AP9XgYGBt7W+9u3b39b6RETuBrpDLyIiIiIiImJCpg/oY2NjiYyMLO5miIiIiIiIiNxRpp9yb7VasVqtxd0MERERERERkTvK9HfoRURERERERO5FCuhFRERERERETEgBvYiIiIiIiIgJKaAXERERERERMSEF9CIiIiIiIiImpIBeRERERERExIQU0IuIiIiIiIiYkOkD+tjYWCIjI4u7GSIiIiIiIiJ3lFNxN+BWWa1WrFZrcTdDRERERERE5I4y/R16ERERERERkXuRAnoRERERERERE1JALyIiIiIiImJCCuhFRERERERETEgBvYiIiIiIiIgJKaAXERERERERMSEF9CIiIiIiIiImpIBeRERERERExIQU0IuIiIiIiIiYkOkD+tjYWCIjI4u7GSIiIiIiIiJ3lFNxN+BWWa1WrFZrcTdDRERERERE5I4y/R16ERERERERkXuRAnoRERERERERE1JALyIiIiIiImJCCuhFRERERERETEgBvYiIiIiIiIgJKaAXERERERERMSEF9CIiIiIiIiImpIBeRERERERExIQU0IuIiIiIiIiYkAJ6ERERERERERNSQC8iIiIiIiJiQqYP6GNjY4mMjCzuZoiIiIiIiIjcUU7F3YBbZbVasVqtxd0MERERERERkTvK9HfoRURERERERO5FCuhFRERERERETEgBvYiIiIiIiIgJKaAXERERERERMSEF9CIiIiIiIiImpIBeRERERERExIQU0IuIiIiIiIiYkAJ6ERERERERERNSQC8iIiIiIiJiQgroRURERERERExIAb2IiIiIiIiICSmgFxERERERETEhBfQiIiIiIiIiJqSAXkRERERERMSETB/Qx8bGEhkZWdzNEBExrREjRjB//nxjOyIighEjRhjb48ePJzIykqpVqxIaGkqzZs0YNGgQWVlZAOzYsYMKFSqwfv16o0z37t3ZsWNHgWPt27eP9u3b07x5c0JCQli1apWxb9u2bbRq1YrQ0FDCw8NJTEwstL1vv/02VqsVf39/u/SMjAz69+9Po0aNaNeuHceOHbu5CyIiIiJiEqYP6K1WK/369SvuZoiImNYTTzxBbGwsALm5uZw9e5aEhARjf2xsLI899hiV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lF9++YU333wTi8VCiRIljHXwt6Jp06YcOnSIDh06AHlL5N599128vb0L5P3666/54YcfsNls+Pn5GTMEgoODSU1NpVu3buTk5FCmTBlq1qxpPL8mODiY7777jiZNmnDy5Elmz55NtWrVaNWqFQA9e/Y0bh4WpnTp0gwYMKBA+nfffXdd3wOzsrI4cuRIkd9F5MYooC8ORYwikpJMv+GTWLhwIQDff/89vr6+dtNfGzRowMCBA0lOTmb58uW8/vrrlCxZEicnJ957770Cd76cnZ3p1asXY8eOBfLWq8yYMYMBAwYY74d89dVXqVq1Kl27duX555+nXLlydiNoly9fZuvWrbzzzjtGWv762/Xr1xeYbiP3nvw15W3atGH48OHk5uYycuRINm3aRGZmJj169KBbt27s2LGD6dOn4+HhQUJCAnXq1OHdd9/FYrHw1ltvsX79epycnGjSpAljx44lNTWVkSNHGq9HGT9+PI899hiQt6Z8586dHD582Hhqa76tW7cydepUMjMzqVy5MjNmzOC///2vsabcw8OjwDT0/H/T+evU8gfekrNtXMzKwtHigKVECTqWLc2qVas4ffo0pUqVokuXLnh4eLB27Vp27drF6NGj+fXXX+1+b/PX2FutVo4fP86ff/7J5cuXOXr0KG+88QYDBw6kbdu2DBkyhIULFxpB7759+3jkkUfs2nm7BumK4uPjQ+nSpYmLiyMwMJAvv/ySnj17Anmv21m2bBkDBw5k2bJlxgf/lQ+9y9/esmULS5cutZuxceVDfYYMGUJISIiCeRERuWWWVk/nDcKTDs4u/NK9LWRnY2n1tJGnYcOGNGzYEMhbB57/fftKRaUPHz7cbjv/tW6VKlUq9CGv+VPfAerWrWt853jmmWeMmbh/HSy48hVwL774YqEDEVe6sq7CdOnShS5duhS6r23btnTu3JkRI0ZQvnx543vWtVx5XvkqVarEpk2bOHnyJJ6enoXelKhSpYrdq/A2bNhA27ZtcXJSKHo76CoWh7+MIv7SpyNkpIO3D2XLluXXX381sv71tU6Ojo78+OOPAIU++AIK/oL37t2b3r17G9uNGzc2nk55pV69etGrV68C6SVLluTnn38ukH7lnTeRK9eUr1u3Dnd3d9asWUNGRgbh4eE0bdoUyAtSN23ahK+vL08++SS7du3C39+ftWvXEh0djcVi4fz588D/W1P++OOPc+LECSIiIoxnN1y5pnzWrFlGO65cU16qVCnef/995s2bx9ChQ5k3bx7Lli3D09Pz2if0fwNvp86fw/e+UiSev0jYqq1cSM/gD4sjQ4cOZffu3fj4+BAREcGxY8eIjo6mRYsWeHp68tFHHxlVLVy4kJYtW3L06FEgb+pZr169OHDgAMePH2fcuHE4OTlRrlw5du3aRUhICNnZ2dSvX99uIA1uzyBdvvr163Px4kWysrJYuXIln3/+OdWrV2fSpEkMHTqU9PR0mjdvbjxMaMCAAfTv35/PP/+cChUqFPnK0JEjR1KxYkXj7kKbNm0YOnTota+5iIjITXCoHURuRL+8wfiUZPD2wdLqaRxq3/wStH+ykiVLMmLECE6dOkWFChVuS53ly5fnk08+ua682dnZpn9L2d1EAX0x+OsoIpkZBUYRRe5G+WvKSUmGrExy98bZfVjmr7/eunUrBw8eNNaSFbWm/OGHH+bYsWMEBgbi4uLCiBEjCA4ONp7NsG3btuJbU54/8EbeOR3p3wUy0tmZlknkuSz69+9vDCQ4ODjw2muvsWTJErsR6IYNG/LQQw/Rv39/vvzyS5ycnPjiiy/w8fFh9erVNG/enE8//dS4Ho6OjkybNq3AgMPtHqTLlz/S7u3tTUpKipFet25du/PI5+npeV3rA6/sj6JcaxqjiIjIjXCoHQQK4K9bcb4+tn379sV27H8iBfTFQKOIYkZFPcwxN6IfDrWDOHr0KA4ODsYarxkzZhAYGGhXx5VryiEvgM3OzjbWlG/fvp1Vq1axcOFCli1bZjxorjjWlOcPvPmWcOTUn5fyZtFkZ3PqoVr4HM97uuz1rCkPCwvjyJEjNGrUCMhbwtKoUSNiYmLw8/Pj5MmTlC9fnuzsbC5cuICHh8c1+0JEREREBBTQFxuNIorZFPUwR9u6FaSWr8LIkSPp2bMnFouFpk2bMm/ePN59911KlChRYE35X+WvKQ8ODiYwMJDGjRsDeQ+G+fjjj3nppZeAO7umPH/gzWfdCu5zdCD+UhaBPfqxYvLMG15Tvnv3buPv/v7+xMTE2JW3Wq2sXr2aRo0a3fQT5UVERETk3qOAXkSuz18e5piek0PYqq1kZWfj9O1OOnXqRN++fYG8O9SpqamEhYVhs9kKrCn/q/w15RkZGdhsNsaNGwfAG2+8wahRo+74mvLMzEy+/fbbvDXlIybydmiXvDXl3w26qTXlRXn22WcZNGgQjRo14v7777/mrAIRERERkStZbIW9dNikTp48ecNl/rp2VO5e6qvilTN1dMFXwmSkg7sHjiMmFsiv/jIP9ZW5qL/MQ31lLuov81BfmYv6q6D85yfdDg7XziIikremnOzsvCDeZjPWlOthjiIiIiIixUMBvYhcF4faQVgi+oG7B/yZBu4eWP7vgXgiIiIiInLnaQ29iFw3PcxRREREROTuoTv0IiIiIiIiIiakgF5ERERERETEhBTQi4iIiIiIiJiQAnoRERERERERE1JALyIiIiIiImJCCuhFRERERERETEgBvYiIiIiIiIgJKaAXERERERERMSEF9CIiIiIiIiImpIBeRERERERExIQU0IuIiIiIiIiYkAJ6ERERERERERNSQC8iIiIiIiJiQqYP6GNjY4mMjCzuZoiIiIiIiIjcUU7F3YBbZbVasVqtxd0MERERERERkTvK9HfoRURERERERO5FCuhFRERERERETEgBvYiIiIiIiIgJKaAXERERERERMSEF9CIiIiIiIiImpIBeRERERERExIQU0IuIiIiIiIiYkAJ6ERERERERERNSQC8iIiIiIiJiQgroRURERERERExIAb2IiIiIiIiICSmgFxERERERETEhBfQiIiIiIiIiJqSAXkRERERERMSEFNCLiIiIiIiImJACehERERERERETUkAvIiIiIiIiYkIK6EVERERERERMSAG9iIiIiIiIiAkpoBcRERERERExIQX0IiIiIiIiIiakgF5ERERERETEhBTQi4iIiIiIiJiQAnoRERERERERE1JALyIiIiIiImJCCuhFRERERERETEgBvYiIiIiIiIgJKaAXERERERERMSEF9CIiIiIiIiImpIBeRERERERExIQU0IuIiIiIiIiYkAJ6ERERERERERNSQC8iIiIiIiJiQgroRUTknjBu3Djmz59vbEdERDBixAhje/z48URGRlK1alVCQ0Np1qwZgwYNIisrC4AdO3ZQoUIF1q9fb5Tp3r07O3bsKPR4Xbt2JSAggO7du9ul22w23n77bRo3bkzTpk1ZsGBBoeW3bdtGq1atCA0NJTw8nMTExJs+dxEREflnUkAvIiL3BKvVSmxsLAC5ubmcPXuWhIQEY39sbCyPPfYYlStXJioqio0bN5KUlMQ333xj5PHz82P27NnXdbz+/fsza9asAulffPEFJ0+eJDo6mq1bt/Lkk08WWv61117jvffeIyoqivDw8ELrEhERkXubAnoREbknPPbYY0ZAn5CQQI0aNShdujR//PEHGRkZHD58GHd3dyO/o6Mj9erV49SpU0ZarVq1KFOmDNHR0dc83r/+9S9Kly5dIH3x4sUMHToUB4e8j2Bvb+9Cy1ssFtLS0gBIS0vDx8fn+k9WRERE7glOxd0AERGRO8HX1xcnJydOnDhBbGwsQUFBnDp1iri4OMqUKUNAQADOzs5G/vT0dOLj45kwYYJdPYMHD2by5Mk0adLkptpx5MgRvv76a7799lu8vLyYMGECDz30UIF8U6dOpVu3bri6uuLm5mY3U0BEREQEdIdeRET+4XL3xpEzdTQ5I1/EWtqZH1Z8YQT0QUFBxMbGEhsbi9VqBeDo0aOEhobyyCOPUKFCBWrVqmVXX/369QHYuXPnTbUnMzMTFxcX1q5dS0REBMOHDy803/z581myZAlxcXE888wzjB8//qaOJyIiIv9cCuhFROQfK3dvHLbPIuH8ObjPjaD77yN25Zf88mM8NWvWJDAwkLi4OLuAPn8NfUxMDPHx8XYPwcs3aNAgu7X08fHxhIaGEhoaWmj+K/n5+dG2bVsAWrduzYEDB4C8h/SFhoYyYsQIUlNT2b9/P4GBgQB06NDBWC4gIiIikk8BvYiI/GPZ1q0AJydwcQWLBWslPzYeP4175mUcHR3x8PDgwoULxMXFGQF9Ph8fH0aNGsW7775boN6mTZty/vx59u/fD0BgYCBRUVFERUXRsmXLq7YpLCyMmJgYAL777jtjuv1nn31GVFQUU6dOxd3dnQsXLvDrr78CEB0djb+//y1fDxEREflnUUAvIiL/XCnJ4OxibNb0dOdcRiaB7qX+X1rNmri5ueHp6VmgeFhYGJcvXy50ev2gQYNISkoq8tBPPfUU/fr1IyYmhqCgILZs2QLAgAEDWL16NcHBwUyaNIkpU6YUKOvk5MSUKVPo27cvISEhLF++nDFjxtzImYuIiMg9wGKz2WzF3Yjb5eTJkzdcxtvbm5SUlL+hNXK7qa/MRf1lHv/kvsqZOjpvur2L6/9LzEgHdw8cR0wsvobdgn9yf/3TqK/MRf1lHuorc1F/FVS+fPnbVpfu0IuIyD+WpdXTkJ2dF8TbbHl/ZmfnpYuIiIiYnAJ6ERH5x3KoHYQloh+4e8CfaeDugSWiHw61g4q7aSIiIiK37K58D/2BAwfYtm0bubm5HD9+nDfffLO4myQiIiblUDsIFMCLiIjIP9AdC+jnzJlDfHw87u7uTJs2zUjfvXs3CxcuJDc3l+DgYMLDwwkICCAgIIAffviBqlWr3qkmioiIiIiIiJjGHZty36xZM0aNGmWXlpuby4IFCxg1ahQzZswgJiaG48ePG/u3b99Oo0aN7lQTRUREREREREzjjt2hr1WrFqdPn7ZLO3z4ML6+vvj4+ADQsGFDdu3aRcWKFUlJSaFUqVKUKlWqsOoA2LBhAxs2bADg7bffxtvb+4bb5eTkdFPl5M5TX5mL+ss81Ffmov4yD/WVuai/zEN9ZS7qr79Xsa6hP3v2LF5eXsa2l5cXhw4dAmDTpk00b978quVDQkIICQkxtm/mdQh6jYJ5qK/MRf1lHuorcymqv8aNG0fFihXp06cPABEREZQvX56pU6cCMH78eHx9fZk8eTIPPfQQWVlZ1KlTh2nTplGiRAl27NhB586dWbhwIS1btgSge/fu9O/fn4YNGxbalrS0NJo1a0ZYWBgTJ+a9BnDPnj0MHTqU9PR0WrRowYQJE7BYLIWWz8nJoXXr1vj6+rJ48eJbvjZ3G/1umYv6yzzUV+ai/iroH/PaOpvNViAt/0O/S5cu1KhR4043SURExJSsViuxsbFA3pK2s2fPkpCQYOyPjY3lscceo3LlykRFRbFx40aSkpL45ptvjDx+fn7Mnj37uo85ZcoUGjRoYJf22muv8c4777B9+3YSExPZvHlzkeU//PBD/P39r/t4IiIiYq9YA3ovLy9SU1ON7dTUVDw8PIqxRSIiIub02GOPGQF9QkICNWrUoHTp0vzxxx9kZGRw+PBh3N3djfyOjo7Uq1ePU6dOGWm1atWiTJkyREdHX/N4e/bs4cyZMzRp0sRIS05OJi0tDavVisVioVOnTnz77beFlj958iQbN27kueeeu9lTFhERuecVa0BftWpVkpKSOH36NNnZ2ezYsQOr1VqcTRIRETElX19fnJycOHHiBLGxsQQFBVGvXj3i4uLYs2cPAQEBODs7G/nT09OJj4+nWbNmdvUMHjyYWbNmXfVYubm5TJgwgTFjxtilnzp1Cj8/P2Pbz8/PbsDgSuPGjWPMmDE4OBTrVxERERFTu2Nr6GfOnMn+/ftJS0ujf//+dOnShRYtWtCrVy8mTpxIbm4uzZs3p1KlSneqSSIiIv8o+XfpY2Nj6du3L6dOnSI2NpYyZf5/9u48rsoy///4+wACKYgsuYFZbj9TaRw5o5YLyqKEU1pRKaapZWRZWZPm0len1BazGtyxDNOyyHLUUiNKxVEnE2zBstTSVNwCTBEBPXD//iDPeEIRCzjc8Hr+Q+e6t899rm4fvLnu+7rr2/9g/vPPPysyMlL79u1Tv3791K5dO4d9dOnSRZK0bdu2Sx7nzTffVFhYmAIDAx3ay3qU7kIpKSkKCAjQDTfcoK1bt17xeQIAgBJVFujHjBlz0fZOnTqpU6dOVVUGAAA1SnFGuozkFVLWMXX6NUfbP16r73/ar7Zt26pp06ZKSEiQt7e37r77bkmyP0N/7NgxxcTE6JNPPrFPgtWcbO0AACAASURBVHfeo48+qlmzZsnV1VWStGPHDj311FOSpLFjxyo9PV3btm3Tm2++qby8PJ07d0716tXTfffdpyNHjtj3c+TIETVq1EiZmZkaNmyYJGnIkCHKzMzUJ598ovXr16uwsFC5ubl65JFHNHv27Cr4xgAAqDmcOss9AAD444oz0mUsS5Dc3KR63rLWz9fCzz5T81Zt5OrqKl9fX506dUq7d+/WSy+9pLy8PPu2jRo10sSJEzV79uxSgT40NFQvvfSS/Xb5Tp06KSUlxb78wvWTkpL0zTffaOLEiZIkLy8vpaenq1OnTnr//fc1fPhwBQYGOmwvlUyeJ0lbt27VggULCPMAAPwBpn9wLS0tTQkJCc4uAwCAKmckrygJ8x6eksWito2v1onCc/qr+/9ufW/btq28vb3l5+dXavuoqCjl5+df9Pb6Rx991GG0vbyef/55jR07Vt26dVPz5s0VFhZ2xfsAAADlYzEu9sCbSR0+fPiKt+G9iOZBX5kL/WUe9JW5XNhfRePvl+p5Sxc+p24YUl6uXF943UkV4jyuLXOhv8yDvjIX+qu0GvMeegAA8CcENJLOFjq2nS0saQcAADUegR4AAJOy9L1dstmkwoKSkfnCAslmK2kHAAA1HoEeAACTcgkOkSU2TvLxlfJyJR9fWWLj5BIc4uzSAABAFWCWewAATMwlOEQiwAMAUCsxQg8AAAAAgAkR6AEAAAAAMCHTB3reQw8AAAAAqI1M/wy91WqV1Wp1dhkAAAAAAFQp04/QAwAAAABQGxHoAQCVplmzZoqMjFTv3r0VERGhhIQEFRcXV8mxk5KSFBQUpO+++87eFhYWpoMHD5a53Wuvvab8/PyLLsvJyVFMTIxat26tSZMmOSz75ptvFB4erm7duun//u//ZBiGJOnEiRMaOHCgunXrpoEDB+rXX3+96L4TExPVrVs3BQYGKicnx96+YsUKRUREKCIiQrfeequ++eabcp0/AACo+Qj0AIBK4+npqZSUFG3YsEHvvvuu1q9fr1deeaXKjt+kSRPNmjXrirZ5/fXXLxnoPT09NW7cOP3f//1fqWUTJkzQiy++qM2bN2vfvn3asGGDJGnu3Lnq3r27tmzZou7du2vu3LkX3fff/vY3vfvuuwoKCnJob9asmd5//319+umnGjNmjB566KErOh8AAFBzEegBAFUiICBAM2bMUGJiogzDUFFRkaZOnaro6GhFRERo6dKlkqStW7cqJiZGI0eOVM+ePTV69Gj7aPdzzz2nXr16KSIiQs8++6wkKTs7WyNHjlR0dLSio6O1fft2+zEjIiK0e/du7d27t1Q9qampuuWWW9S3b1898MADysvL06JFi3Ts2DHdeeediomJKbVN3bp11blzZ3l4eDi0Hzt2TLm5ubJarbJYLIqJidHHH38sSUpOTtadd94pSbrzzjvt7b/XoUMHNWvWrFT73/72NzVo0ECS1KlTJ2VmZpb9RQMAgFrD9JPiAQDMo3nz5jIMQ1lZWUpOTpa3t7fWrl2rwsJCDRgwQKGhoZKknTt3av369WrcuLH69++v7du3q3Xr1lq3bp02bdoki8WikydPSpImT56skSNHqnPnzsrMzFRsbKxSU1MlSS4uLho1apRmz56t+Ph4ex05OTmKj49XUlKS6tatq7lz52rhwoV6/PHHtXDhQi1fvlx+fn7lPq+jR4+qSZMm9s9NmjTR0aNHJUlZWVlq1KiRJKlRo0bKzs7+w9/fu+++q759+/7h7QEAQM1CoAcAVKjijHQZySukrGPSubMqzkiXS3CIffn50fbU1FTt2rVLa9askSTl5uZq3759qlOnjjp27KimTZtKktq3b6+DBw+qU6dO8vDw0JNPPqnw8HBFRERIkv7zn/9o9+7d9v2fPn1ap0+ftn++7bbbNGvWLB04cMDelp6ert27d6t///6SpHPnzikk5H81Xqnz53Qhi8Xyh/d3MVu2bNE777yjTZs2XfR4AACg9iHQAwAqTHFGuoxlCZKbm1TPWzIMGcsSVBwbJ5fgEP38889ycXFRQECAJGnatGnq1auXwz62bt0qd3d3+2dXV1fZbDa5ublpzZo12rx5s1atWqXExEQtX75cxcXFWr16ta666qqL1uTm5qa4uDiHZ9cNw1DPnj01b968Ms9n3bp19mf+Z86cqb/85S8XXa9JkyY6cuSI/fORI0fso/IBAQE6duyYGjVqpGPHjsnf31+SFBsbq19++UV/+ctfNHPmzDLr+O677zR27FgtXbpU/v7+ysrKKnN9AABQO/AMPQCgwhjJK0rCvIenZLFIskhubjKSVyg7O1vjx4/X8OHDZbFYFBoaqiVLlujcuXOSpB9//FFnzpy55L7z8vKUm5ur8PBwPfPMM/bZ60NDQ7V48WL7ejt37iy17V133aXNmzfbb3cPCQnR9u3btW/fPklSfn6+fvzxR0mSl5eXfYT/5ptvVkpKilJSUi4Z5qWSW+m9vLyUnp4uwzD0/vvv22+N79Onj5YvXy5JWr58ub192bJlSklJuWyYz8zM1MiRIxUfH6+WLVuWuS4AAKhdTD9Cn5aWpvT0dMXFxTm7FABA1rGSkfnfFBQVKWpVqs7ZbHL7eJtiYmL0wAMPSCoZoT548KCioqJkGIb8/Pz0xhtvXHLXp0+f1ogRI1RYWCjDMDRlyhRJ0tSpUzVx4kRFRETIZrOpS5cuevHFFx22dXd314gRIzR58mRJkr+/v1599VU9/PDDOnv2rCRp3LhxatmypQYPHqx77rlHDRs21Pvvv1+qji5duuj06dM6e/asPv74Y73zzjtq06aNnn/+eT3++OMqKChQ7969FRYWJkl6+OGH9eCDD+qdd95RYGCgEhISLnp+ixYt0rx58/TLL78oIiJCYWFhmjlzpl599VWdOHFCEydOlFQy0/6HH35Yru4AAAA1m8Uo54N4hw4dkpeXlxo0aKCCggKtXr1aLi4uuuWWW0rN9usshw8fvuJtAgICuHXRJOgrc6G/zKMi+6po5iTp5ImSEfrzCgskH1+5Pjm9Qo5R23FtmQd9ZS70l3nQV+ZCf5V2fp6gilDuW+7j4+Ptt0IuWbJEu3bt0u7du7Vw4cIKKwYAYG6WvrdLNltJiDeMkp82W0k7AAAAKlS5b7n/5Zdf1LRpUxmGoe3bt+vll1+Wu7u7Ro8eXZn1AQBMxCU4RMWxcf+b5T6gkSx9b3eY5R4AAAAVo9yBvk6dOsrPz9ehQ4fk7++v+vXrq6ioyD6ZEQAAUkmoFwEeAACg0pU70Hfr1k3PPvus8vPzFRUVJUnat2+fGjZsWGnFAQAAAACAiyt3oB82bJi+/vprubq6qkOHDpIki8Wie++9t9KKAwAAAAAAF3dFr637/Tt4eR8uAAAAAADOUe5An5WVpeXLl2v//v0qKChwWBYfH1/hhQEAAAAAgEsrd6B/5ZVX1LRpU911111yd3evzJoAAAAAAMBllDvQZ2Zmatq0aXJxKfer6wEAAAAAQCUpdzoPCQnRd999V5m1/CFpaWlKSEhwdhkAAAAAAFSpco/QjxgxQk8//bQaNWokHx8fh2UPPfRQhRdWXlarVVar1WnHBwAAAADAGcod6OfNmycXFxcFBgbyDD0AAAAAAE5W7kC/c+dOJSQk6KqrrqrMegAAAAAAQDmU+xn65s2bKzc3tzJrAQAAAAAA5VTuEfr27dtr+vTp6tWrV6ln6MPCwiq8MAAAAAAAcGnlDvQ//PCD/Pz89M0335RaRqAHAAAAAKBqlTvQT5kypTLrAAAAAAAAV6Dcgf5ChmHIMAz7ZxeXcj+KDwAAAAAAKkC5A31OTo4WLVqkXbt2KS8vz2FZUlJShRcGAAAAAAAurdxD6wsXLpSbm5smT54sT09Pvfjii7JarRo5cmRl1gcAAAAAAC6i3IF+9+7dGjVqlK699lpZLBZde+21GjVqlD766KPKrA8AAAAAAFxEuQO9i4uLXF1dJUn16tXTqVOn5OHhoZycnEorDgAAAAAAXFy5n6Fv1aqVvvzyS3Xu3Fl/+ctf9Oqrr8rd3V0tW7aszPouKy0tTenp6YqLi3NqHcCFunTpokOHDjm7DDhRUFCQtm3b5uwyAAAAUIOVO9A/8sgj9pnthw0bpg8//FD5+fnq169fpRVXHlarVVar1ak1AL936NAhZWZmOrsMpwoICFBWVpazy3CawMBAZ5cAAACAGq5cgb64uFiJiYn2UXB3d3fdcccdlVoYAAAAAAC4tHI9Q+/i4qJvvvlGFoulsusBAAAAAADlUO5J8fr166f33ntPNputMusBAAAAAADlUO5n6D/++GP9+uuvWrNmjerXr++wbP78+RVeGAAAAAAAuLQrmhQPAAAAAABUD+UO9O3atavMOgAAAAAAwBUod6CXpP3792vXrl3Kzc21v8JOku6+++4KLwwAAAAAAFxauQP9p59+qjfffFM33HCDvvrqK3Xs2FHffPMN74AHUGsUZ6TLSF4hZR2TAhrJ0vd2uQSHOLssAAAA1FLlnuV+1apVmjhxosaOHSt3d3eNHTtWTzzxhFxdXSuzPgCoFooz0mUsS5BOnpDqeUsnT8hYlqDijHRnlwYAAIBaqtyB/tSpU7r++uslSRaLRcXFxfrrX/+q9HR+mQVQ8xnJKyQ3N8nDU7JYSn66uZW0AwAAAE5Q7lvu/fz8dPz4cTVs2FBNmjRRWlqavL295eZ2RY/hA4A5ZR0rGZm/kLtHSTsAAADgBOVO4/3791dmZqYaNmyomJgYvfLKK7LZbBo+fHhl1gcA1UNAo5Lb7T08/9d2trCkHQAAAHCCywb6wsJCffDBBzp48KCuu+46dejQQX/961+VmJgom80mT0/Py+0CAEzP0vf2kmfoVVAyMn+2ULLZZOl7u7NLAwAAQC112WfoFy1apPT0dAUGBmrbtm1aunSpJMnNzY0wD6DWcAkOkSU2TvLxlfJyJR9fWWLjmOUeAAAATnPZEfqvvvpKL774onx9fRUVFaUpU6ZoxIgRVVFbuaSlpSk9PV1xcXHOLgVADecSHCIR4AEAAFBNlOuWe19fX0lSQECAzpw5U+lFXQmr1Sqr1ersMgAAAAAAqFKXDfRFRUXauXOn/XNxcbHDZ0nq0KFDxVcGAAAAAAAu6bKB3sfHR/Pnz7d/9vLycvhssVg0Z86cyqkOAAAAAABc1GUD/dy5c6uiDlRTzZo1U9u2bWWz2eTq6qo777xTI0eOlIvL/+ZTnDx5stasWaPt27fb25OSkjRt2jQ1btxYhYWFuueee/TAAw8oPj5eH330kSTp+++/V9u2bSVJAwcOVGhoqMaPH6+TJ0/q7Nmz6tKli2bMmFH1Jw0AAAAAJlDu99CjdvL09FRKSookKSsrSw8//LByc3P15JNPSip5BGPdunVq0qSJPv/8c9100032bW+99VZNnz5dOTk56tmzp/r166fHHntMjz32mCSpdevW9n1LUmxsrEaOHKm+fftKknbt2lVVpwkAAAAApnPZ19YB5wUEBGjGjBlKTEyUYRiSpC1btqht27YaOnSoVq5cedHt/Pz8dO211+r48eNl7v/48eNq0qSJ/fP1119fccUDAAAAQA1DoMcVad68uQzDUFZWliRp1apV6t+/v26++WZ99tlnOnfuXKltMjMzVVhYeNmAPnLkSN1111265557tHDhQp08ebJSzgEAAAAAagICPUopzkhX0cxJKhp/v3TurIoz0h2Wnx+dP3v2rNavX6+oqCh5e3vrr3/9q1JTU+3rrV69Wr1799aNN96o+++/X56enmUe9+6779bGjRv197//Xf/97391yy23qLCwsOJPEAAAAABqAAI9HBRnpMtYliCdPCHV85YMQ8ayBHuo//nnn+Xi4qKAgABt3LhRp06dUnh4uLp06aIvvvhCq1atsu/r1ltv1YYNG7RixQo9++yzl73lXpIaN26sgQMHKjExUW5ubvrhhx8q7VwBAAAAwMwI9HBgJK+Q3NwkD0/JYpFkkdzcZCSvUHZ2tsaPH6/hw4fLYrFo5cqVmjlzprZt26Zt27bp888/V2pqqvLz8x32abVadccdd2jRokVlHnvDhg32W/aPHz+uEydOqHHjxpV1qgAAAABgasxyD0dZx0pG5n9TUFSkqFWpOmezye3jbYqJidEDDzyg/Px8paam6sUXX7SvW7duXXXu3FmffPJJqd0+9NBDioqK0iOPPCIvL6+LHjo1NVWTJ0+Wh4eHJOnpp59Ww4YNK/gEAQAAAKBmsBjnH4iuAQ4fPnzF2wQEBNgneINUNHNSye32Hhc8715YIPn4yvXJ6c4rTObqq8DAQGVmZjq7DKcyU39VBjP9P1Db+8ps6C/zoK/Mhf4yD/rKXOiv0po2bVph+2KEHg4sfW8veYZeBZK7h3S2ULLZZOl7u7NLwx9UnJFe8ihF1jEpoJEsfW+XS3BIuZcDAAAAqJ54hh4OXIJDZImNk3x8pbxcycdXltg4Ap5JlZrk8OQJh0kOL7ccAAAAQPXFCD1KcQkOkQjwNYLDJIfSbz8LStqDQy67/PeqejSfuwcAAACAS2OEHqjJso6VPDpxIXePkvbyLL9AVY/mc/cAAAAAUDYCPVCTBTQqmQfhQmcLS9rLs/wCpV5p6OFpf6VhZajq4wEAAABmQ6AHajBL39slm63kTQWGUfLzgkkOL7fcwRWM5leIqj4eAAAAYDIEeqAGu9wkh1c0CeIVjOZXiKo+HgAAAGAypp8ULy0tTenp6YqLi3N2KUC1dLlJDss7CWJVv9KQVygCAAAAZTP9CL3VaiXMA1Wgql9pyCsUAQAAgLKZfoQeQNW93q2qX2nIKxQBAACASzP9CD1Q2/F6NwAAAKB2ItADJsfr3QAAAIDaiUAPmB2vdwMAAABqJQI9YHa83g0AAAColZgUDzA5Xu9W8apqkkEAAADgz2CEHjA5Xu9WsZhkEAAAAGbBCD1QA/B6t4rjMMmg9NvPgpJ2vmMAAABUI4zQA8CFmGQQAAAAJkGgB4ALMckgAAAATIJADwAXsPS9XbLZpMICyTBKfjLJIAAAAKohAj0AXIBJBgEAAGAWTIoHAL/DJIMAAAAwA0boAQAAAAAwIQI9AAAAAAAmRKAHAAAAAMCECPQAAAAAAJgQgR4AAAAAABMi0AMAAAAAYEIEegAAAAAATIhADwAAAACACRHoAQAAAAAwIQI9AAAAAAAmRKAHAAAAAMCECPQAAAAAAJgQgR4AAAAAABMi0AMAAAAAYEJuzi7gz0pLS1N6erri4uKcXQpgFxQUpMDAQGeXAScKCgpydgkAAACo4Uwf6K1Wq6xWq7PLABxs27bN2SU4XUBAgLKyspxdBgAAAFBjccs9AAAAAAAmRKAHAAAAAMCECPQAAAAAAJgQgR4AAAAAYErNmjVTZGSkwsLCdO+99+rkyZN/aD8xMTG6+eab7Z+//vprxcTElLnNwYMH9e9///uSyz/88EP17t1bQUFB+vrrr+3t2dnZ6t27t7y8vDR69GiHbdLT0xUcHKxWrVrp0UcflWEYZdZAoAcAAAAAmJKnp6dSUlK0fv16NWjQQIsXL/7D+8rKytL69evLvf7lAn3btm312muvqWvXrg7tnp6emjp1qmbOnFlqm1GjRmnhwoXas2eP9uzZo48//rjMGgj0AAAAAADTCwkJ0dGjR+2f58+fr+joaEVERNjD85kzZzRkyBBFREQoLCxMq1atsq8/atQoxcfHl9pvUVGRpk6dat/X0qVLJUnPPfecvvjiC0VGRmrhwoWltmvdurVatWpVqr1evXrq3r27PD09HdqPHDmiU6dO6cYbb5TFYtHQoUO1cuXKMs/Z9K+tAwAAAADUbkVFRdq8ebMGDRokSUpNTdW+ffu0Zs0aGYahYcOG6fPPP1d2drYaN25sD+WnTp2y7yMkJETr1q3Tli1b5OXlZW9/55135O3trbVr16qwsFADBgxQaGioJk6cqAULFmjJkiUVcg6ZmZkKCgqyfw4KClJmZmaZ2xDoAQAAAACmUZyRLiN5hZR1TAX5+Yrs0V2HsrIVHBysnj17SioJ9KmpqerTp4+kkpH5ffv2qXPnzpo6daqmT5+uiIgIdenSxWHfjz32mOLj4zVp0iR7W2pqqnbt2qU1a9ZIknJzc7Vv3z7VqVOnQs/rYs/LWyyWMrfhlnsAAAAAgCkUZ6TLWJYgnTwh1fOWp6uLPu7eTv9NTNC5c+fsz9AbhqHRo0crJSVFKSkp2rJliwYNGqSWLVtq3bp1atu2rZ5//nm9+uqrDvvv3r27CgsLtWPHDof2adOm2ff1+eefKzQ0tFRtjz/+uCIjIzVkyJA/dG5BQUE6dOiQ/fOhQ4fUtGnTMrch0AMAAAAATMFIXiG5uUkenpLFIskiubnJe3Oypk6dqgULFujcuXPq1auXkpKSlJeXJ6nk+fSsrCwdPXpUV111le644w49+OCDysjIKHWMRx99VPPmzbN/Dg0N1ZIlS3Tu3DlJ0o8//qgzZ87Iy8vLvn9JevXVV5WSkmK/nf9KNWnSRN7e3vr8889lGIaWLFmi/v37l7kNt9wDAAAAAMwh65hUz9uxzd1DyjqmDh06qF27dlq1apViYmK0Z88e3XrrrZKkunXravbs2dq/f7+mTZsmi8WiOnXq6Pnnny91iPDwcPn7+9s/x8bG6uDBg4qKipJhGPLz89Mbb7yh66+/Xq6uroqIiNBdd92lBx54wGE/69at09NPP62cnBwNHTpU7du317JlyyRJ1157rU6dOqWzZ89q5cqV+uSTT9SuXTvNnz9fw4YNU35+vm6++WaHV+ldjMW43IvtTOTw4cNXvE1AQICysrIqoRpUNPrKXOgv86CvzIX+Mg/6ylzoL/Ogr8ylovuraOakktvtPS6YIb6wQPLxleuT0yvsOJXpcrfRXwluuQcAAAAAmIKl7+2SzVYS4g2j5KfNVtJeCxHoAQAAAACm4BIcIktsnOTjK+XlSj6+ssTGySU4xNmlOQXP0AMAAAAATMMlOESqpQH+9xihBwAAAADAhAj0AAAAAACYEIEeAAAAAAATItADAAAAAGBCBHoAAAAAAEyIQA8AAAAAgAkR6AEAAAAAMCECPQAAAAAAJkSgBwAAAADAhAj0AAAAAACYEIEeAAAAAAATItADAAAAAGBCBHoAAAAAAEyIQA8AAAAAgAkR6AEAAAAAMCECPQAAAAAAJkSgBwAAAADAhAj0AAAAAACYEIEeAAAAAAATItADAAAAAGBCBHoAAAAAAEyIQA8AAAAAgAkR6AEAAAAAMCECPQAAAAAAJkSgBwAAAADAhAj0AAAAAACYEIEeAAAA5dKsWTNFRkaqd+/eioiIUEJCgoqLi6vk2ElJSQoKCtJ3331nbwsLC9PBgwfL3O61115Tfn5+metkZmbKz89PCxYssLdt2LBBPXr0ULdu3TRnzpxLbjt48GBdf/31Gjp0qEP76NGj1aNHD4WFhemJJ57QuXPnyqwBAP4IAj0AAADKxdPTUykpKdqwYYPeffddrV+/Xq+88kqVHb9JkyaaNWvWFW3z+uuvXzbQ//Of/1Tfvn3tn4uKijRp0iS99dZb2rBhg1auXKndu3dfdNsHH3xQ8fHxpdpvu+02bdq0SZ999pkKCgq0bNmyK6obAMqDQA8AAIArFhAQoBkzZigxMVGGYaioqEhTp05VdHS0IiIitHTpUknS1q1bFRMTo5EjR6pnz54aPXq0DMOQJD333HPq1auXIiIi9Oyzz0qSsrOzNXLkSEVHRys6Olrbt2+3HzMiIkK7d+/W3r17S9WTmpqqW265RX379tUDDzygvLw8LVq0SMeOHdOdd96pmJiYi57Hxx9/rGuuuUbt2rWzt3355Ze69tpr1bx5c7m7u6t///5KTk6+6PY9evSQl5dXqfbw8HBZLBZZLBZ17NhRR44cKec3CwDl5+bsAi6muLhYSUlJys/PV4sWLdSrVy9nlwQAAIDfad68uQzDUFZWlpKTk+Xt7a21a9eqsLBQAwYMUGhoqCRp586dWr9+vRo3bqz+/ftr+/btat26tdatW6dNmzbJYrHo5MmTkqTJkydr5MiR6ty5szIzMxUbG6vU1FRJkouLi0aNGqXZs2c7jIrn5OQoPj5eSUlJqlu3rubOnauFCxfq8ccf18KFC7V8+XL5+fmVqv/MmTOaO3eu3n33XS1ZssTefvToUTVt2tT+uUmTJvryyy//0Hd07tw5ffDBB/Y/WABARaqyQD9v3jzt2LFDPj4+evnll+3tX331lRITE1VcXKzw8HANGDBAaWlpysnJkZeXl/z9/auqRAAAAPxOcUa6jOQVUtYx6dxZFWekyyU4xL78/Gh7amqqdu3apTVr1kiScnNztW/fPtWpU0cdO3a0B+T27dvr4MGD6tSpkzw8PPTkk08qPDxcERERkqT//Oc/Dre3nz59WqdPn7Z/vu222zRr1iwdOHDA3paenq7du3erf//+kkpCdEjI/2q8lJkzZ2rkyJGqV6+eQ/v5c7qQxWK57P4uZuLEierSpYu6dOnyh7YHgLJUWaDv1auXoqKiNHfuXHtbcXGxFi1apKefflr+/v6aMGGCrFarDh8+rDZt2igyMlIvv/yygoODq6pMAAAA/KY4I13GsgTJzU2q5y0ZhoxlCSqOjZNLcIh+/vlnubi4KCAgQJI0bdq0UndWbt26Ve7u7vbPrq6ustlscnNz05o1a7R582atWrVKiYmJWr58uYqLi7V69WpdddVVF63Jzc1NcXFxDr9TGoahnj17at68eWWez7p16+zP/M+cOVNffvml1qxZo+nTpys3N1cWi0UeHh4KDg7W4cOH7dsdOXJEjRo10o4dO/TUU09JksaOHas+ffqUebxXXnlF2dnZev3118tcDwD+qCoL9O3atdPx48cd2vbu3avGjRurUaNGkqSbbrpJ27dvl7+/v9zc57yvmAAAHytJREFUSkpzceExfwAAAGcwkleUhHkPz99aLJKbm4zkFcpueq3Gjx+v4cOHy2KxKDQ0VEuWLFG3bt1Up04d/fjjj2rSpMkl952Xl6f8/HyFh4erU6dO6t69uyQpNDRUixcv1qhRoySV3K7foUMHh23vuusuzZ8/3z5yHxISokmTJmnfvn267rrrlJ+fr8OHD6tly5by8vLS6dOn5efnp5tvvlk333yzfT///ve/7f89f/58WSwWDR8+XDabTfv27dOBAwfUuHFjrVq1SnPnztX/+3//TykpKeX67pYtW6aNGzcqKSmJ32cBVBqnPkOfk5PjcEu9v7+/9uzZo+joaL3xxhv6/vvvdf31119y+08//VSffvqpJOmFF16w/3X4Sri5uf2h7VD16Ctzob/Mg74yF/rLPGpCX/1yIksWr/r2280LiooUtTpVNptNHp+mKzY2VmPGjJGLi4seffRRZWdnq1+/fjIMQ1dffbWWL18uHx8fubu7278LT09PeXt7y93dXbGxsSooKJBhGJo5c6YCAgI0d+5cPfbYY+rbt69sNpu6d++uXr16ydvbW56envb9PPLII/rHP/4hX19f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\n",
"text/plain": [
"<Figure size 1008x504 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"xlabel = 'Top 1 Error'\n",
"ylabel = 'Params'\n",
"ax = sns.lmplot(xlabel, # Horizontal axis\n",
" ylabel, # Vertical axis\n",
" data=cifar_perf, # Data source\n",
" fit_reg=False, # Don't fix a regression line\n",
" height = 7,\n",
" aspect =2 ) # size and dimension\n",
"\n",
"plt.title('CIFAR-10: Top 1 Error vs Params')\n",
"# Set x-axis label\n",
"plt.xlabel(xlabel)\n",
"# Set y-axis label\n",
"plt.ylabel(ylabel)\n",
" \n",
"ax.set(yscale=\"log\")\n",
"\n",
"box_edges = ((3.2,3.8),(2e6,5e6))\n",
"\n",
"remaining = label_point(cifar_perf['Top 1 Error'], cifar_perf['Params'], cifar_perf['Name'], plt.gca(), box_edges)\n",
"\n",
"\n",
"plt.savefig(\"cifar-top1-params.pdf\", bbox_inches='tight')"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"remaining = cifar_perf.iloc[remaining]"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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U9myZfXkk0/a9SlRooS6d++u8PBwffvtt4qKitKJEyfuOG6pUqVUtWrVTMGAJG3YsEG9e/dWx44dVbt2bVWoUCFXK3F27dqlX375RR999JGaNWumRx555L4+J6Jw4cLq1KmTJk+erI0bN2rHjh2ZvhoUAPDXQTgAABbQrFkzTZkyRdu2bdPJkye1Zs0aDRo0SJ6enuaFS2BgoA4cOKBJkybp6NGjmj59ur755ptMYxUsWFC9e/dWXFyctm3bpp49e6pWrVoKDAyUJL344otauXKljh49qr1792rRokUqV66cPDw8VLVqVfXp00f9+/fXnDlzdOTIEe3cuVMzZ87URx99ZB6jUqVKWrdunc6ePWt3sfLII49o0qRJ2c6zYMGCmj17ttatW6fAwEBFRUXp2LFj2r17tz755BM1bNjwnt6/FStW6MyZMwoLC1PNmjXtfnr16qWoqCidOnUq2/1bt26typUr67333rvjcX777TczdEhOTlZiYqLi4+O1f/9+s0/37t1VpEgRhYaGaufOnVqzZo1eeukldevWTeXLlzf7NW/eXCNHjryn+d721FNPqXr16urSpYu2bNmiXbt2KTQ0VM7Ozurbt69d3/fee0/fffed9u3bp379+un69et3fCDijRs3zLmmpKTo559/Vnx8vA4ePJhjXdevX9f58+ftfn7++ed7mmOfPn3k5uambt26KT4+Xj/99JO6dOmiRx991G41yN3o2bOnIiMjFR4eru7du9utCBg+fLiWLl2qw4cP6+DBg5o/f748PT3l4+NzT8eSMlbMLFy4UNu3b9eePXvUq1evXAVhlStXlpOTkyZMmKBjx44pOjpar7322j3X8Xtjx45VRESE9u/fr6NHj2r27NlycXHJccUHAODBIRwAAAto3bq15s2bpzZt2ujhhx9W79699dBDD2nTpk3y8vKSlBEOjBkzRh988IF8fX21du1avf3225nG8vHx0YABA9SxY0f5+/urQIECWrx4sXkBZBiGhgwZopo1a6pp06ZKTk5WVFSUuX3atGl65ZVXNHbsWFWvXl0BAQH66quvVLlyZfMY48aNU1xcnCpVqqQSJUqY7QcPHszxzmbr1q21detWlSxZUn379tUjjzyitm3bavPmzZo+ffo9vX9Tp06Vv7+/ypQpk2lbixYtVKxYMfPbFrJis9k0bNgwzZgxQ0eO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OMIBAAAAAAAsjnAAAAAAAACLIxwAAAAAAMDiCAcAAAAAALA4wgEAAAAAACyOcAAAAAAAAIsjHAAAAAAAwOIIBwAAAAAAsDjCAQAAAAAALI5wAAAAAAAAiyMcAAAAAADA4ggHAAAAAACwOMIBAAAAAAAsjnAAAAAAAACLIxwAAAAAAMDiCAcAAAAAALA4wgEAAAAAACyOcAAAAAAAAIsjHAAAAAAAwOIIBwAAAAAAsDjCAQAAAAAALI5wAAAAAAAAiyMcAAAAAADA4ggHAAAAAACwOMIBAAAAAAAsjnAAAAAAAACLIxwAAAAAAMDiCAeYnpQhAAAgAElEQVQAAAAAALA4wgEAAAAAACyOcAAAAAAAAIsjHAAAAAAAwOIIBwAAAAAAsDjCAQAAAAAALI5wAAAAAAAAiyMcAAAAAADA4ggHAAAAAACwOMIBAAAAAAAsjnAAAAAAAACLIxwAAAAAAMDiCAcAAAAAALA4wgEAAAAAACyOcAAAAAAAAIsjHAAAAAAAwOIIBwAAAAAAsDjCAQAAAAAALI5wAAAAAAAAiyMcAAAAAADA4ggHAAAAAACwOMIBAAAAAAAsjnAAAAAAAACLIxwAAAAAAMDiCAcAAAAAALA4wgEAAAAAACyOcAAAAAAAAIsjHAAAAAAAwOIIBwAAAAAAsDjCAQAAAAAALI5wAAAAAAAAiyMcAAAAAADA4ggHAAAAAACwOMIBAAAAAAAsjnAAAAAAAACLIxwAAAAAAMDiCAcAAAAAALA4wgEAAAAAACyOcAAAAAAAAIsjHAAAAAAAwOIIBwAAAAAAsDjCAQAAAAAALI5wAAAAAAAAiyMcAAAAAADA4ggHAAAAAACwOMIBAAAAAAAsjnAAAAAAAACLIxwAAAAAAMDiCAcAAAAAALA4wgEAAAAAACyOcAAAAAAAAIsjHAAAAAAAwOIIBwAAAAAAsDjCAQAAAAAALI5wAAAAAAAAiyMcAAAAAADA4ggHAAAAAACwOMIBAAAAAAAsjnAAAAAAAACLIxwAAAAAAMDiCAcAAAAAALA4wgEAAAAAACyOcAAAAAAAAIsjHAAAAAAAwOIIBwAAAAAAsDjCAQAAAAAALI5wAAAAAAAAiyMcAAAAAADA4ggHAAAAAACwOMIBAAAAAAAsjnAAAAAAAACLIxwAAAAAAMDiCAcAAAAAALA4wgEAAAAAACyOcAAA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cU6dOqU5c+Zo+vTpCgoKUmxs7B3nf+3aNRUpUuRPvYf169c335M71StJixcvVseOHdW0aVN99913dnMpWbKkOUa1atXMbYGBgTp06FCWKzu+//57tWvXTi1bttSAAQOUnJys8PBwXbhwQSEhIerUqdOfmhsAAACAu5PjAwmLFCmiL7/80nzt7u5u99pms2nSpEl5Ux2QjVWrVql58+aqUqWKPD09tXv3bknSvn37tH79enl6eqpx48bq2rWrVqxYoRkzZmjmzJl677339Oabb6pTp07q3Lmz5s+fr5EjR2rmzJl6++231b9/f9WvX19nzpxRt27d9P3330uS9u/fr2XLliklJUXBwcEKCAiQl5eXwsPD5eHhoaSkJLVr107BwcGy2WySpF69emW5FD+74zz//PMqVKiQXnjhhWznHRISIsMwdPLkybv+qMPvpaamat26dWrevLnZll29krR06VLNnz9fR48e1axZs9S+fXtJUv/+/dW0aVM1atRIzZs3V0hIiPksEgcHBw0cOFCff/65JkyYYI6VlJSkCRMmKCIiQgULFtTkyZM1bdo0vfLKK5o2bZoWLFigYsWKZVl3QkKCgoOD5eHhoVdffVUNGjS45/cAAAAAwP/kGA5Mnjw5P+oAcpS+O05G9CLp0gVF/rBbffv3l5TxNZuRkZEKCAiQr6+veSe7QoUKatasmSTpkUce0ebNmyVlfE5+xowZkqSOHTtqzJgxkqSNGzfq0KFD5vGuXbuma9euSZJatmypAgUKqECBAmrcuLHi4+MVEBCgDz/8ULGxsbLZbDp//rx+/vlneXt7S5I8PDzUqVMnhYeHq0CBAua4dzpOTm5fOJ84cULPPfecGjdurEKFCuX6fbuRkqKgJ5pIbgXUoEEDde3a1eyXXb3x8fEqXry4ypYtKx8fHw0dOlS//PKLPD099corr6hDhw76/vvvFRkZqSVLlujbb7819+3QoYMmTpyohIQEsy0uLk6HDh3SM888I0m6deuW6tatm+Pcvb299dNPP6lYsWLatWuX+vTpo3Xr1snDwyNX7x0AAACA7OUYDgB/Bem742T8Z6rk5KTLji7alHBWB8d+KNv4yUpzdJTNZlOLFi3k4uJi7uPg4GC+dnBwUGpqapZj377Tn56erqVLl9pdGP+xz+9fL1q0SImJiYqKipKzs7MaNGigmzdv2vXr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72Ty5MmpqqpqeNhDDskVV1xRDuXatWuXcePGZcyYMampqcmgQYPK4cDw4cMzYsSI3S5IePTRR+fBBx/M97///fTu3Tt9+/bNggUL0rp16735yQCwn6oo7WkuawGtXr26uUuAsvbt2x9wj7hjV3Vjb0o2btjxC+JO27Ymbdqm6rs/aL7CDiDGAgeaphr3xgLsYCywv9m5PtSBzMwBgCZWMeCipLZ2xxeDUmnH/2trd7QDByXjHoADjXAAoIlVduuRiktHJW3aJps/Stq0TcUfLUYIHHyMewAONJ5WALAPVHbrkfhSAIVi3ANwIDFzAAAAAApOOAAAAAAFJxwAAACAghMOAAAAQMEJBwAAAKDghAMAAABQcMIBAAAAKDjhAAAAABSccAAAAAAKTjgAAAAABSccAAAAgIITDgAAAEDBCQcAAACg4IQDAAAAUHDCAQAAACg44QAAAAAUnHAAAAAACk44AAAAAAUnHAAAAICCq27uAppafX19pk6dmi1btuTP//zPc9555zV3SQAAALBf2SfhwPbt23PrrbemtrY2dXV16dWrV4YOHfonHevBBx/Mr3/967Rp0yb33HNPg21LlizJj3/849TX16dfv3756le/mkWLFmX9+vVp1apV2rVrtzcuBwAAAA4q++S2ghYtWuTWW2/N3XffnbvuuitLlizJihUrGvTZuHFjtmzZ0qDtnXfe2eVY5513Xm688cZd2uvr6zNp0qTceOONGTduXF544YW8/fbbWb16dU4++eR885vfzLPPPrt3LwwAAAAOAvskHKioqMhhhx2WJKmrq0tdXV0qKioa9Fm+fHnuuuuubN++PUkyZ86c/PjHP97lWF27dk2rVq12aX/99dfTqVOndOzYMdXV1Tn77LPz8ssv56ijjkrLli2TJJWVllgAAACA/22ffVuur6/PDTfckKuuuirdunXLSSed1GD7WWedldNOOy333Xdf5s2bl//8z//Mdddd1+jjr1+/vsFtA+3atcv69etz5plnZunSpXn00UfzxS9+cbf7Llq0KA899NCfdmEAAABwgNtnCxJWVlbm7rvvzubNmzN27NisWrUqxx9/fIM+gwcPzn333ZeJEyfmgQceKM82aIxSqbRLW0VFRQ499NB8+9vf3uO+p59+ek4//fRGnwsAAAAOJvt8nn3Lli3TtWvXLFmyZJdtr776at56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fE466aT83d/9nQUJOeh80lhIkg0bNpRfL1q0KMcdd9w+rRH2hcaMhZ49e+aVV14p91+zZk06duy4z2uFptSYsZDsuM1m8+bNH7tQIdA41hyAZrZhw4aMHz8+9fX1KZVKOeuss9KjR49MnTo1Xbp0yemnn97cJcI+0ZixMGvWrCxatChVVVVp1aqVFak5KDVmLHTv3j1Lly7Nddddl8rKyowYMSKtW7du7tJhr2rsv5F+9atf5eyzz7aILXxGHmUIAAAABee2AgAAACg44QAAAAAUnHAAAAAACk44AAAAAAUnHAAAAICCEw4AAABAwVU3dwEAwJ5ddtll5dfbt29PdXV1Kit35PtXX311evfuvdfONW/evDz99NP57W9/m65du+amm2762L5LlizJD3/4wxxyyCEN2m+//fb82Z/92V6rCQBoesIBANjPTZkypfx6zJgxGTVqVE499dQmOVfr1q0zaNCgrFy5Mm+++eYn9u/QoUMeeOCBT+xXX1+fJOVQ4+PaPkldXV2qqqoa3R8AaBzhAAAc4LZv356f/OQnWbhwYSorK3POOefk61//eqqrq7NkyZJMmjQpvXv3zqxZs9KyZcsMHz48Z5111m6PddpppyVJPvjgg89c10033ZRTTz01S5cuze9+97vcf//9uffee3dpK5VKeeSRR7JixYocccQR+drXvpbzzjsvSfLTn/40a9euTX19ff7rv/4rV111Vfr06fOZawMAGhIOAMAB7l//9V+zatWqjB07NvX19fnRj36UJ554IhdddFGS5P33309tbW0eeeSRLF++PHfddVe6dOmSDh06NHlt8+bNy4033pgOHTqkoqJit20333xzTj755Hz3u9/NqlWrcscdd6RTp0455ZRTkiQLFizId7/73VxzzTWpra1t8poBoIgsSAgAB7h58+Zl6NChOeKII3LkkUfmoosuyvPPP1/eXlVVlSFDhqS6ujqnnnpqunXrlpdeemmvnPu9997L5Zdf3uC/nbcLJMn555+fY489NtXV1eXbAf647b333svvfve7XHrppWnRokW6dOmSvn37Nqi/a9eu+au/+qtUVlbusr4BALB3mDkAAAewUqmUDz74IO3bty+3HX300Vm/fn35/RFHHNHgS/X/3v5ZfNKaA39c1+7aNmzYsNv6li1bVn7frl27vVIrAPDxzBwAgANYRUVFjjzyyKxdu7bctnbt2hx11FHl9x9++GG2b9/+sdubU9u2bT+xvp23IwAATUc4AAAHuHPOOSfTpk3LRx99lI0bN2bGjBkNHm9YV1eX6dOnp7a2Nq+88kr++7//O2eeeeZuj1VfX5/t27enrq4upVKp/LqpdOrUKccff3wee+yx/OEPf8ibb76Z5557bq8+nhEA+GRuKwCAA9ywYcPyk5/8JNdff30qKytz9tlnZ/DgweXtRx99dKqqqjJy5Mh87nOfy+jRo9OxY8fdHmvOnDmZOHFi+f2IESNSU1OTq6++erf933vvvVx22WUN2q699tr06NGjUbVXVFTkuuuuy8SJE3P11VendevWGTFiRL74xS82an8AYO+oKJVKpeYuAgBoGjsfZbindQEAANxWAAAAAAUnHAAAAICCc1sBAAAAFJyZAwAAAFBwwgEAAAAoOOEAAAAAFJxwAAAAAApOOAAAAAAFJxwAAACAgvu/WB6VgCtRL6AAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 1008x504 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"xlabel = 'Top 1 Error'\n",
"ylabel = 'Params'\n",
"ax = sns.lmplot(xlabel, # Horizontal axis\n",
" ylabel, # Vertical axis\n",
" data=remaining, # Data source\n",
" fit_reg=False, # Don't fix a regression line\n",
" height = 7,\n",
" aspect =2 ) # size and dimension\n",
"\n",
"plt.title('Subset: CIFAR-10: Top 1 Error vs Params')\n",
"# Set x-axis label\n",
"plt.xlabel(xlabel)\n",
"# Set y-axis label\n",
"plt.ylabel(ylabel)\n",
" \n",
"ax.set(yscale=\"log\")\n",
"\n",
"label_point(remaining['Top 1 Error'], remaining['Params'], remaining['Name'], plt.gca())\n",
"\n",
"\n",
"plt.savefig(\"subset-cifar-top1-params.pdf\", bbox_inches='tight')"
]
},
{
"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.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Name Top 1 Error Mult-Adds Params Citation
Conv MobileNet 28.3 4.866e9 2.93e7 howard2017mobilenets
MobileNet 29.4 5.69e8 4.2e6 howard2017mobilenets
0.75 MobileNet 31.25 3.25e8 2.6e6 howard2017mobilenets
0.5 MobileNet 36.3 1.49e8 1.3e6 howard2017mobilenets
0.25 MobileNet 49.4 4.1e7 5.0e5 howard2017mobilenets
GoogleNet 31.1 1.55e9 6.8e6 szegedy2015going
Squeezenet 42.5 1.7e9 1.25e6 iandola2016squeeze
ShuffleNet 32.4 1.4e8 1.878e6 zhang2017shuffle
ShuffleNet 2x 24.7 5.27e8 7.512e6 zhang2017shuffle
NASNet-A 26.0 5.64e8 5.3e6 zoph2017learning
NASNet-B 27.2 4.88e8 5.3e6 zoph2017learning
NASNet-C 27.5 5.56e8 4.9e6 zoph2017learning
PNASNet-5 25.8 5.88e8 5.1e6 liu2017progressive
AmoebaNet-A 25.5 5.55e8 5.1e6 real2017large
AmoebaNet-C 24.3 5.7e8 6.4e6 real2017large
DARTS 26.9 5.95e8 4.9e6 liu2018darts
Moonshine-G(4) 26.61 1.395e9 8.1e6 crowley2017moonshine
Moonshine-G(N) 32.98 5.59e8 3.1e6 crowley2017moonshine
DenseNet-121 25.02 0.6e10 0.9e7 huang2016densely
DenseNet-169 23.8 0.7e10 1.2e7 huang2016densely
DenseNet-201 22.58 0.8e10 2e7 huang2016densely
DenseNet-264 22.15 1.15e10 3.3e7 huang2016densely
WRN-50-2 21.9 1e10 6.89e7 zagoruyko2016wide
CondenseNet-8 29.0 2.74e8 2.9e6 huang2017condensenet
CondenseNet-4 26.2 5.29e8 4.8e6 huang2017condensenet
MobileNetV2 28.0 3e8 3.4e6 sandler2018inverted
MobileNetV2_1.4 25.3 5.85e8 6.9e6 sandler2018inverted
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment