Skip to content

Instantly share code, notes, and snippets.

@nathanhubens
Created November 21, 2018 14:43
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 nathanhubens/7f09bcdb7f0c350114cc2b55319243b3 to your computer and use it in GitHub Desktop.
Save nathanhubens/7f09bcdb7f0c350114cc2b55319243b3 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%reload_ext autoreload\n",
"%autoreload 2\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from fastai import *\n",
"from fastai.vision import *"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[PosixPath('/home/jupyter/.fastai/data/cifar10/test'),\n",
" PosixPath('/home/jupyter/.fastai/data/cifar10/labels.txt'),\n",
" PosixPath('/home/jupyter/.fastai/data/cifar10/train')]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"path = untar_data(URLs.CIFAR)\n",
"path.ls()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"train = path/'train'\n",
"test = path/'test'\n",
"labels = path/'labels.txt'"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"np.random.seed(42)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"data = (ImageItemList.from_folder(path) \n",
" .random_split_by_pct() \n",
" .label_from_folder() \n",
" .add_test_folder() \n",
" .transform(get_transforms(), size=32) \n",
" .databunch()) "
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {},
"outputs": [],
"source": [
"learn = create_cnn(data, models.resnet34, metrics = accuracy)"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
]
}
],
"source": [
"learn.lr_find()"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"learn.recorder.plot()"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Total time: 01:57\n",
"epoch train_loss valid_loss accuracy\n",
"1 1.115917 1.106326 0.623000 (00:30)\n",
"2 1.006285 0.835603 0.709333 (00:28)\n",
"3 0.853100 0.719762 0.752333 (00:28)\n",
"4 0.781886 0.674901 0.767250 (00:30)\n",
"\n"
]
}
],
"source": [
"learn.fit_one_cycle(4, 1e-2)"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {},
"outputs": [],
"source": [
"learn.unfreeze()"
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
]
}
],
"source": [
"learn.lr_find()"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"learn.recorder.plot()"
]
},
{
"cell_type": "code",
"execution_count": 82,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Total time: 02:10\n",
"epoch train_loss valid_loss accuracy\n",
"1 0.750621 0.658303 0.772083 (00:43)\n",
"2 0.718388 0.612522 0.790167 (00:43)\n",
"3 0.654692 0.594387 0.797083 (00:43)\n",
"\n"
]
}
],
"source": [
"learn.fit_one_cycle(3, slice(1e-5, 1e-4))"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Total time: 00:30\n",
"\n"
]
}
],
"source": [
"interp = ClassificationInterpretation.from_learner(learn, tta=True)"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {},
"outputs": [],
"source": [
"learn.save('stage1-2')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"data2 = (ImageItemList.from_folder(path) \n",
" .random_split_by_pct() \n",
" .label_from_folder() \n",
" .add_test_folder() \n",
" .transform(get_transforms(), size=64) \n",
" .databunch()) "
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {},
"outputs": [],
"source": [
"learn = create_cnn(data2, models.resnet34, metrics = accuracy)"
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {},
"outputs": [],
"source": [
"learn.load('stage1-2');"
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
]
}
],
"source": [
"learn.lr_find()"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"learn.recorder.plot()"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Total time: 01:53\n",
"epoch train_loss valid_loss accuracy\n",
"1 0.904294 1.186156 0.662917 (00:37)\n",
"2 0.715538 0.591912 0.801833 (00:38)\n",
"3 0.535789 0.452024 0.844917 (00:37)\n",
"\n"
]
}
],
"source": [
"learn.fit_one_cycle(3, 2e-2)"
]
},
{
"cell_type": "code",
"execution_count": 103,
"metadata": {},
"outputs": [],
"source": [
"learn.unfreeze()"
]
},
{
"cell_type": "code",
"execution_count": 104,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
]
}
],
"source": [
"learn.lr_find()"
]
},
{
"cell_type": "code",
"execution_count": 105,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"learn.recorder.plot()"
]
},
{
"cell_type": "code",
"execution_count": 106,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Total time: 02:54\n",
"epoch train_loss valid_loss accuracy\n",
"1 0.520122 0.433531 0.850917 (00:58)\n",
"2 0.442724 0.389022 0.867250 (00:58)\n",
"3 0.421657 0.361768 0.876583 (00:58)\n",
"\n"
]
}
],
"source": [
"learn.fit_one_cycle(3, slice(1e-5, 1e-4))"
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
]
}
],
"source": [
"learn.lr_find()"
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"learn.recorder.plot()"
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Total time: 07:45\n",
"epoch train_loss valid_loss accuracy\n",
"1 0.422464 0.358396 0.879750 (00:58)\n",
"2 0.413508 0.358881 0.879750 (00:58)\n",
"3 0.389976 0.338407 0.884833 (00:58)\n",
"4 0.362282 0.328686 0.888000 (00:58)\n",
"5 0.343752 0.304788 0.896833 (00:58)\n",
"6 0.289159 0.290615 0.901417 (00:58)\n",
"7 0.283410 0.296239 0.903000 (00:58)\n",
"8 0.282948 0.290925 0.904167 (00:58)\n",
"\n"
]
}
],
"source": [
"learn.fit_one_cycle(8, slice(1e-5, 1e-4))"
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Total time: 00:39\n",
"\n"
]
}
],
"source": [
"ys,y = learn.TTA()"
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"tensor(0.9072)"
]
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"accuracy(ys, y)"
]
},
{
"cell_type": "code",
"execution_count": 112,
"metadata": {},
"outputs": [],
"source": [
"learn.save('stage2-2')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"data3 = (ImageItemList.from_folder(path) \n",
" .random_split_by_pct() \n",
" .label_from_folder() \n",
" .add_test_folder() \n",
" .transform(get_transforms(), size=96) \n",
" .databunch()) "
]
},
{
"cell_type": "code",
"execution_count": 113,
"metadata": {},
"outputs": [],
"source": [
"learn = create_cnn(data3, models.resnet34, metrics = accuracy)"
]
},
{
"cell_type": "code",
"execution_count": 115,
"metadata": {},
"outputs": [],
"source": [
"learn.load('stage2-2');"
]
},
{
"cell_type": "code",
"execution_count": 116,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
]
}
],
"source": [
"learn.lr_find()"
]
},
{
"cell_type": "code",
"execution_count": 117,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEKCAYAAAA4t9PUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl4VNX5wPHvmxUSAgkkyJJAAFkFZAmIG+6IFhF30KpoK7W/Wqq2Wpe61NZau7nSKipq3XCvqCjiBi4ECPsOIWEJ6ySBkH2b9/fH3MAQEhKSTGYmvJ/nmYe555577zkJmXfOcs8VVcUYY4xpqBB/F8AYY0xws0BijDGmUSyQGGOMaRQLJMYYYxrFAokxxphGsUBijDGmUSyQGGOMaRQLJMYYYxrFAokxxphGCfN3AZpDfHy8Jicn+7sYxhgTVJYsWZKtqgl15TsuAklycjJpaWn+LoYxxgQVEdlan3zWtWWMMaZRLJAYY4xpFJ8GEhEZKyIbRCRdRO6pJc/VIrJWRNaIyJtO2hARWeCkrRSRa7zyvyIimSKy3HkN8WUdjDHGHJ3PxkhEJBSYBlwAZAGLRWSWqq71ytMbuBc4XVX3iUhHZ1cRcIOqbhKRLsASEZmjqvud/Xep6nu+Krsxxpj682WLZCSQrqoZqloGzAQurZbnFmCaqu4DUNW9zr8bVXWT834nsBeoc+aAMcaY5ufLQNIV2O61neWkeesD9BGRH0QkVUTGVj+JiIwEIoDNXsmPOl1eT4hIZE0XF5EpIpImImkul6txNTHGGFMrXwYSqSGt+uMYw4DewNnAJOBFEYk9eAKRzsBrwE2q6naS7wX6ASOA9sDva7q4qk5X1RRVTUlIsMaMMcb4ii8DSRaQ5LWdCOysIc9HqlquqpnABjyBBRFpC3wK/EFVU6sOUNVd6lEKvIynC80YY4yXjXvy+dfcjbjyS31+LV8GksVAbxHpISIRwERgVrU8/wPOARCReDxdXRlO/g+B/6rqu94HOK0URESACcBqH9bBGGOC0sqsPJ7+ahPFZZU+v5bPZm2paoWI3AbMAUKBGaq6RkQeAdJUdZazb4yIrAUq8czGyhGRnwKjgQ4iMtk55WRVXQ68ISIJeLrOlgO3+qoOxhgTrKpaIvExET6/lk+XSFHV2cDsamkPer1X4E7n5Z3ndeD1Ws55btOX1BhjWhZXfiltIsOIivD9Slh2Z7sxxrRAroJSEmJqnNTa5CyQGGNMC+TKLyG+je+7tcACiTHGtEiufGuRGGOMaQRXfikJbSyQGGOMaYCS8koOlFRYi8QYY0zDZBd4pv5aIDHGGNMgVfeQWCAxxhjTIAcDSZtWzXI9CyTGGNPCZBeUAdYiMcYY00BVLZIOdh+JMcaYhnAVlNA+OoLw0Ob5iLdAYowxLUxz3kMCFkiMMabFceWXNsuqv1UskBhjTAvjKrAWiTHGmAZS1WZdZwsskBhjTItSUFpBSbnbAokxxpiGae672sECiTHGtCjNfVc7WCAxxpgWxdXMCzaCBRJjjGlRrGvLGGNMo7jySwkLEWJbhzfbNX0aSERkrIhsEJF0EbmnljxXi8haEVkjIm96pd8oIpuc141e6cNFZJVzzqdFRHxZB2OMCSau/FLi20QSEtJ8H41hvjqxiIQC04ALgCxgsYjMUtW1Xnl6A/cCp6vqPhHp6KS3Bx4CUgAFljjH7gP+A0wBUoHZwFjgM1/VwxhjgomroHnvIQHftkhGAumqmqGqZcBM4NJqeW4BpjkBAlXd66RfCMxV1Vxn31xgrIh0Btqq6gJVVeC/wAQf1sEYY4JKdkEp8c206m8VXwaSrsB2r+0sJ81bH6CPiPwgIqkiMraOY7s67492TgBEZIqIpIlImsvlakQ1jDEmeDT3Xe3g20BSUwedVtsOA3oDZwOTgBdFJPYox9bnnJ5E1emqmqKqKQkJCfUutDHGBCu3W8kuKGtRgSQLSPLaTgR21pDnI1UtV9VMYAOewFLbsVnO+6Od0xhjjkv7isqodGuzLtgIvg0ki4HeItJDRCKAicCsann+B5wDICLxeLq6MoA5wBgRiROROGAMMEdVdwH5IjLKma11A/CRD+tgjDFB49DNiM13Vzv4cNaWqlaIyG14gkIoMENV14jII0Caqs7iUMBYC1QCd6lqDoCI/AlPMAJ4RFVznfe/BF4BWuOZrWUztowxBv/cjAg+DCQAqjobzxRd77QHvd4rcKfzqn7sDGBGDelpwMAmL6wxxgQ5fwUSu7PdGGNaCAskxhhjGsWVX0rr8FCiI0Kb9boWSIwxpoWouqu9uVeOskBijDEthD9uRgQLJMYY02K48kub/R4SsEBijDEthquglPiY5l1nCyyQGGNMi1BW4WZ/UXmzPmK3igUSY4xpAXIK/TP1FyyQGGNMi+Cve0jAAokxxrQIFkiMMcY0igUSY4wxjVIVSJr76YhggcQYY1oEV0Ep7VqHExnWvMujgAUSY4xpEfx1VztYIDHGmBZh94ESv9zVDhZIjDGmRdiSXUhyfLRfrm2BxBhjgty+wjL2FZXTK8ECiTHGmAbIyC4EoIe1SIwxxjREpgUSY4wxjZHhKiAsREhqH+WX61sgMcaYIJeZXUi39lGEh/rnI92nVxWRsSKyQUTSReSeGvZPFhGXiCx3Xj930s/xSlsuIiUiMsHZ94qIZHrtG+LLOhhjTKDLzC70W7cWQJivTiwiocA04AIgC1gsIrNUdW21rG+r6m3eCar6DTDEOU97IB34wivLXar6nq/KbowxwcLtVjKzCzmzd7zfyuDLFslIIF1VM1S1DJgJXNqA81wJfKaqRU1aOmOMaQF25hVTWuGmR3wbv5XBl4GkK7DdazvLSavuChFZKSLviUhSDfsnAm9VS3vUOeYJEfHPrZzGGBMA/D1jC3wbSKSGNK22/TGQrKqDgS+BVw87gUhnYBAwxyv5XqAfMAJoD/y+xouLTBGRNBFJc7lcDauBMcYEuAyXJ5D462ZE8G0gyQK8WxiJwE7vDKqao6qlzuYLwPBq57ga+FBVy72O2aUepcDLeLrQjqCq01U1RVVTEhISGlkVY4wJTJnZhURHhPptwUbwbSBZDPQWkR4iEoGni2qWdwanxVFlPLCu2jkmUa1bq+oYERFgArC6icttjDFBIyO7kB4J0Xg+Ev3DZ7O2VLVCRG7D0y0VCsxQ1TUi8giQpqqzgKkiMh6oAHKByVXHi0gynhbNvGqnfkNEEvB0nS0HbvVVHYwxJtBlZhcwNCnOr2XwWSABUNXZwOxqaQ96vb8Xz5hHTcduoYbBeVU9t2lLaYwxwamkvJKsfcVcPjTRr+WwO9uNMSZIbcstQhV6+nGgHSyQGGNM0KqasdXTj/eQgAUSY4wJWhnZBQAkx/tnscYqFkiMMSZIZboKSYiJJKZVuF/LYYHEGGOClL8Xa6xigcQYY4JURnahX+9or2KBxBhjgtD+ojJyC8usRWKMMaZhDi3W6N8ZW2CBxBhjglJVIPH3PSRggcQYY4JShquQ0BAhKc6/U3/BAokxxgSlzOxCkuJaExHm/49x/5fAGGPMMcvILqRngv/HR8ACiTHGBB3Pc9oLAmLGFlggMcaYoLP7QAkl5W4LJMYYYxpmS47/n9PuzQKJMcYEmW05RQB0a+//GVtggcQYY4LOlpwiwkOFLrGt/V0UwAKJMcYEnW25hSTGRREa4r/ntHuzQGKMMUFma05RwHRrgQUSY4wJKqrKtpwiunewQGKMMaYB9hWVk19aQfcOgTFjC3wcSERkrIhsEJF0Ebmnhv2TRcQlIsud18+99lV6pc/ySu8hIgtFZJOIvC0iEb6sgzHGBJKtztTf7sdD15aIhALTgIuAAcAkERlQQ9a3VXWI83rRK73YK328V/rjwBOq2hvYB/zMV3UwxphAsy3XM/X3eOnaGgmkq2qGqpYBM4FLG3NCERHgXOA9J+lVYEKjSmmMMUFkq3MPSdLx0CIBugLbvbaznLTqrhCRlSLynogkeaW3EpE0EUkVkapg0QHYr6oVdZzTGGNapK05RXRq24pW4aH+LspBvgwkNU1w1mrbHwPJqjoY+BJPC6NKN1VNAa4FnhSRXvU8p+fiIlOcQJTmcrmOvfTGGBOAtuYU0i2AurXAt4EkC/BuYSQCO70zqGqOqpY6my8Aw7327XT+zQC+BYYC2UCsiITVdk6v46eraoqqpiQkJDS+NsYYEwC25hYF1EA71DOQiEgvEYl03p8tIlNFJLaOwxYDvZ1ZVhHARGCWdwYR6ey1OR5Y56THeV0vHjgdWKuqCnwDXOkccyPwUX3qYIwxwa6orAJXfmlADbRD/Vsk7wOVInIi8BLQA3jzaAc44xi3AXPwBIh3VHWNiDwiIlWzsKaKyBoRWQFMBSY76f2BNCf9G+CvqrrW2fd74E4RScczZvJSPetgjDFB7dCMrcC5hwQgrO4sALhVtUJELgOeVNVnRGRZXQep6mxgdrW0B73e3wvcW8NxPwKDajlnBp4ZYcYYc1ypmrEVrC2SchGZhKcr6RMnLdw3RTLGGFOTquXju7cPrBZJfQPJTcCpwKOqmikiPYDXfVcsY4wx1W3NLaRd63DaRQXW9/h6dW054xNTwTMQDsSo6l99WTBjjDGH2xpgizVWqe+srW9FpK2ItAdWAC+LyL98WzRjjDHeAm35+Cr17dpqp6oHgMuBl1V1OHC+74pljDHGW3mlmx37i4O3RQKEOfd8XM2hwXZjjDHNZOf+YirdGnAD7VD/QPIInvtBNqvqYhHpCWzyXbGMMcZ4q5r6G2jLo0D9B9vfBd712s4ArvBVoYwxxhxuq3MzYnKA3YwI9R9sTxSRD0Vkr4jsEZH3RSTR14UzxhjjsS2nkMiwEDrGRPq7KEeob9fWy3jWyeqCZ9n2j500Y4wxzaBqxlZISE2LoPtXfQNJgqq+rKoVzusVwJbUNcaYZrItNzDvIYH6B5JsEfmpiIQ6r58COb4smDHGGA9VdVokgTc+AvUPJDfjmfq7G9iFZxn3m3xVKGOMMYe48kspLq8M7haJqm5T1fGqmqCqHVV1Ap6bE40xxvhY1YytQJz6C417QuKdTVYKY4wxtTq4fHwALo8CjQskgTd1wBhjWqBtOYWECCTGtbxAok1WCmOMMbVavfMAPeKjiQhrzEe27xz1znYRyafmgCFAa5+UyBhjzEGVbmXxllzGDe7s76LU6qiBRFVjmqsgxhhjjrRhdz75JRWMSG7v76LUKjDbScYYYwBYvCUXgJE9LJAYY4xpgEVbcunSrlXADrSDjwOJiIwVkQ0iki4i99Swf7KIuERkufP6uZM+REQWiMgaEVkpItd4HfOKiGR6HTPEl3Uwxhh/UVUWZeYyIoBbI1DPZeQbQkRCgWnABUAWsFhEZjnPf/f2tqreVi2tCLhBVTeJSBdgiYjMUdX9zv67VPU9X5XdGGMCwdacIlz5pQHdrQW+bZGMBNJVNUNVy4CZwKX1OVBVN6rqJuf9TmAvtkikMeY4s6hqfCSAB9rBt4GkK7DdazvLSavuCqf76j0RSaq+U0RGAhHAZq/kR51jnhCRwFuc3xhjmsCizFziosI5sWMbfxflqHwZSGq68736PSkfA8mqOhj4Enj1sBN4nhP/GnCTqrqd5HuBfsAIoD3w+xovLjJFRNJEJM3lcjW8FsYY4yeLt+QyIrk9IoG9kIgvA0kW4N3CSAR2emdQ1RxVLXU2XwCGV+0TkbbAp8AfVDXV65hd6lGK5+FaI2u6uKpOV9UUVU1JSLBeMWNMcNlzoIStOUUBPz4Cvg0ki4HeItJDRCKAiXiesniQ0+KoMh5Y56RHAB8C/3WeF3/EMeIJ0ROA1T6rgTHG+MmiTM/4SCDfiFjFZ7O2VLVCRG4D5gChwAxVXSMijwBpqjoLmCoi44EKIBeY7Bx+NTAa6CAiVWmTVXU58IaIJODpOlsO3OqrOhhjjL8s3pJLVEQoJ3Vp6++i1ElUW/7aiykpKZqWlubvYhhjTL2NfXI+CTGRvPazU/xWBhFZoqopdeWzO9uNMSbA5BWVs2FPflB0a4EFEmOMCThpW3NRDez1tbxZIDHGmACzKDOX8FBhSFKsv4tSLxZIjDEmwCzaksvgxFhahYf6uyj1YoHEGGMCyPbcIlZm5TGqZ3B0a4EFEmOMCShPzN1IWIhw/ahkfxel3iyQGGNMgFi/+wAfLt/B5NOT6dSulb+LU28WSIwxJkD8Y84G2kSG8cuzevm7KMfEAokxxgSAtC25fLluL7ee1YvYqAh/F+eYWCAxxhg/U1Ue/3w9CTGR3HR6sr+Lc8wskBhjjJ99u8HF4i37mHpeb6IifLYEos9YIDHGGD9yuz2tke4dopg44ohn+wUFCyTGGONHX6zdzfrd+dx5QR/CQ4PzIzk4S22MMS3EF2v2EBcVzrjBXfxdlAazQGKMMX7idivzN7kY3SeB0JDAfpzu0VggMcYYP1m76wDZBWWM7h3cjwO3QGKMMX4yb6MLgDP7xPu5JI1jgcQYY/xk3kYXJ3VpS8eY4FkOpSYWSIwxxg/yS8pZunUfZ/UJ7m4tsEBijDF+8ePmHCrcymgLJGZXXjFFZRX+LoYxJsjM2+iiTWQYw7rF+bsojebTQCIiY0Vkg4iki8g9NeyfLCIuEVnuvH7ute9GEdnkvG70Sh8uIquccz4tIn6bM5dbWMaFT8xn4vRUyirc/iqGMSbIqCrzNrg4rVcHIsKC//u8z2ogIqHANOAiYAAwSUQG1JD1bVUd4rxedI5tDzwEnAKMBB4Skaqw/R9gCtDbeY31VR3S9xbwY3p2rfuf/moT+aUVrMzK48kvN9aYZ++BEn72ymLStuT6qpjGmCCz2VXIjv3FLaJbC3zbIhkJpKtqhqqWATOBS+t57IXAXFXNVdV9wFxgrIh0Btqq6gJVVeC/wARfFF5VufeDlfzfm0vZlVd8xP4MVwGvp25l0shuTByRxH/mbSY1I+ewPPuLyrj+pUV8tX4vz3yd7otiGmOC0Hxn2m9LGGgH3waSrsB2r+0sJ626K0RkpYi8JyJVK5bVdmxX531d52w0EeHxKwZTVuHmN28tp6Ly8K6rxz9fT2RYCHec34cHxg0guUM0d769nLyicgCKyiq46ZXFZGYXcnbfBOZvcrFz/5EByRhz/Jm30UXPhGiS2kf5uyhNwpeBpKaxC622/TGQrKqDgS+BV+s4tj7n9JxAZIqIpIlImsvlqmeRD9czoQ2PXjaQRVtyedqrRbEwI4c5a/bwy7N7kRATSXRkGE9eM4S9+aXc979VlFZU8ovXlrBi+36enjSUR8YPRBU+WJp1lKsZY44HJeWVpGbktJjWCPg2kGQB3msiJwI7vTOoao6qljqbLwDD6zg2y3lf6zm9zj1dVVNUNSUhoeG/sMuGJnLFsESe+XoTP27Oxu1W/jJ7HZ3atuJnZ/Q8mO/kpFjuuKAPn67cxaXP/sB3m7L56+WDGTuwE906RHFqzw68k5aF211j3DPGHCcWZuZSWuFuMeMj4NtAshjoLSI9RCQCmAjM8s7gjHlUGQ+sc97PAcaISJwzyD4GmKOqu4B8ERnlzNa6AfjIh3UA4JFLT6JHfDS3z1zOqwu2sCIrj99d2JfWEaGH5bv1rF6M7NGe9bvz+cNP+nO117MFrh6RyLbcIhbZoLsxx7X5G11EhIUwqkcHfxelyfgskKhqBXAbnqCwDnhHVdeIyCMiMt7JNlVE1ojICmAqMNk5Nhf4E55gtBh4xEkD+CXwIpAObAY+81UdqkRHhvHspGHsLy7njx+vZUDntlw+9MihmdAQ4YXrU3jtZyP5+Zk9D9s39qTOxESG8U7a9iOOM8YcHzbszuf9pVmc2rPDEV9Eg5l4Jj+1bCkpKZqWltbo87yeupU/fryGV28eyWm9jn2Rtfs+XMUHS7NYfP/5xLQKb3R5jDHBI8NVwNXPpxIi8M4vTiU5PtrfRaqTiCxR1ZS68gX/nTDN6KejurPswTENCiIAV6ckUVLu5pOVu5q4ZMaYQLYtp4hrX1iIqvLmLacERRA5FhZIjlGbyLAGH3tyYjv6nNDGureMaQF27C/m9pnL+GLN7jrzTXohlZKKSl7/+Smc2DGmmUrYfCyQNCMR4eqUJJZt28+mPfn+Lo4xpoG+WLObi5/6jv8t38mU15bw3LzN1DRMsGZnHte9kMqBknJeu/kU+ndu64fS+p4FkmZ22dCuhIWItUqMCUKlFZU8PGsNU15bQlL71nx++5mMG9yZv362nt+/v/Lgmnt5xeU8PGsNlzzzPfklFbxy00gGJbbzc+l9p+H9NKZBOrSJ5Pz+J/DB0h3cPbYf4aEWy40JdLvzSliydR//mZfO6h0HuOn0ZO65qB+RYaE8PXEoPeOjefrrdLbnFnPpkC7844sN5BaW8dNR3fntBX1pF9WyJ9dYIPGDq0ck8vma3Xy1bi9jB3byd3GMOe7NXbuHxz5bR2RYKAkxkSS0iSQ+JoJd+z0BZIezvFFcVDjTrx/OmJMO/d2GhAh3julLj4Rofv/eKhZk5DAkKZZXbhrJwK4ttxXizQKJH4zunUDHmEjeTdve7IHk7vdWUFzu5slrhhAa4rcV+I0JGK+nbuXBj1bT54QYusa2xpVfQvqefFwFpXSIjmR4chw/O6MHw7vHMaBL21p7ES4bmkivhDZsySli3KDOhBxHf18WSPwgLDSEK4cn8ty8zew5UMIJbZvnec1Z+4p4d0kWqtCpbST3/6SmVf2NOT6oKv/8YiPPfpPOef068uy1ww67SVBVOdbHHQ1OjGVwYmxTFzXgWQe9n1ydkoRb4b0lzbeQY9W1fjK4My98l1njtcsr3cxctI0MV0GzlcuY5lZe6eZ3767k2W/SmTQyieevH37EneZ+fGZe0LFA4ifJ8dGM7NGed9O21zhtMK+onJLyyia7ntutvJuWxem94nnymiGc1qsD932wiqXb9h3Ms3bnASZM+4F7PljFfR+uarJrGwOQX1Lu7yIc9IcPV/P+0izuvKAPf7lsEGE26aVR7KfnR9ekJLElp4hFmYcv5LhzfzHnPzGPi5/6jj0HSprkWgsyctixv5irRyQRHhrCtGuH0aldK37x2hK25xbx1JebGP/s9+w5UMK4wZ1JzchlZdb+Jrm2OT5t2pPP66lbuePt5Zzx+NcMevgLfv3WsqOugL1xTz7rdh3AlV96xDOAmsqW7ELeXbKdm0/vwdTzelvLownYGIkfXTSoEw/NWsPbads5padnJdCisgpu+W8axWWVFJVWMHF6Km/dMopO7Q4fR1FVFmTkkF9SQUxkGG1ahdEmMowusa1pFX7kYnBvL95Ou9bhjBlwAgBx0RG8eGMKl037gXP/+S3llcqlQ7rw8CUnERYqzNvg4oXvMnlm0lDf/yBMi/PR8h38ZuZyABJiIknpHsdpvTyPUujcrhX3Xdz/sPyqypNfbuKprzYdTBOBuKgIhiTFHlxZuyk8N28zYaEh3Hp2z7ozm3qxQOJHURFhXHJyFz5clsUfx59EdEQYv31nBWt3HWDGjSOIaRXG5JcXM3H6At6aMorO7VoDsCorjz99srbGJek7t2vFR786nY5eA/h5ReV8vmY3k0YkHRZk+pwQwzPXDuWfX2xk6nm9udBrSuO1p3Tjxe8zufvCvi3mKW6meagqz83LoF+nGJ6/fjjd2kchIqgqrcJDmT4/g6S41lx/avLB/I9+uo4Xv8/kimGJnNe/I9kFpWQXlOHKL+GLNXu4+vkFpHSP41fnnMjZfRMa3IrYub+Y95dmMWlkNzrGNM8kl+OBBRI/uzolkbcWbePjFbvYc6CEz1bv5v6L+3NOv44AvHrzSG6csYiJ01N5auJQXk/dyvtLs2gfFcGjlw3k5MRYCksrKCitILuglIdnreX/3ljKm7eMIiLM03M5a8UOyircXJWSdMT1z+13Auf2O+GI9MmnJ/PS95nM+CGThy45ybc/BNOiLN22j3W7DvDY5YPo3uHQ4oQiwkOXnMTO/cU8NGsNXWJbc3bfjvzhf6t4a9F2Jp+WzIPjBhwxbfbBcZW8k7ad5+dt5qZXFjOgc1seGDeAU3sd+/M8ps/PQBV+cVavRtfTHGLLyPuZqnLhk/PJLSwnu6CUK4cn8vcrBx/2jWvZtn3c8NIi8ksriAgN4aYzkvnVOSfStoal6D9esZNfv7WMyacl8/B4TwAY98x3uN0w+zdnHlPZ7nxnOZ+v3s2Ce85r8XfmmqZz+8xlfLVuLwvvP4+oiCO/qxaVVXDN86mk7y3g1F4d+Hr9Xm4750R+O6bPUVsaZRVuPlq+g6e+2kTWPs8d5Pdd3L/e0+ezC0o54/GvuWRwF/5+1ckNrt/xxJaRDxJVCzlmF5QyvHscj1428Ig/pqHd4nhryigmn5bM3DtHc+9F/WsMIgCXnNyFn5/Rg1d+3MKHy7JYszOP1TsOcM2II1sjdbnlzJ4UlVXyxqKtDaqbOf5kF5Qye9VurhieWGMQAU+X7kuTU2gfHcHX6/dy99i+/O7CvnV2V0WEhXBVShJf3nkWU8/rzWerd3PeP+fx4ncZ5BSUUl7H4PxL32dSWuHm1rOtNdLUrEUSAApKK5jxfSbXntKN+DaRjT5fRaWb615cyIqs/ZzSowMLNuew6P7ziI2KOOZzXf/SQjbszue7359DZFjLeaKb8Y1p36Tz9zkb+PLOszixY5uj5t25v5gMVyFn9G7Y8322ZBfy8Mdr+HaD62BadEQobVuHk9Q+ihtPTWbswE6Ehgh5ReWc/vjXnNU3gWnXDmvQ9Y5H9W2R2BhJAGgTGcbU83o32fnCQkN49tphXPLM98zb6GLc4M4NCiIAU0b35PqXFjFr+c4ax1hM8HC7lWe+TqdvpzaMHdi5yc9f6VbeXLiN03p1qDOIAHSJbU2X2NYNvl5yfDQvTx7Bgs05bNyTz4GSCvKKy8krLidtSy6/enMp3TtE8fMze7I7r5iC0gp+dfaJDb6eqZ0FkhYqISaSf/90GHe+vZybz+jR4POccWK8Z/bN/AzPEvh241ZQcruV+z5cxczF24mKCGVQYixdG/EhXpNv1u9lx/5iHhjXv+7MTUREOO3EeE478fBWTaVbmbt2N/+Zl8ED/1uRDp/FAAAUtklEQVQNwHn9OjKgS8t8Hoi/2adCCzasWxzf3nUOw7rFNfgcIsIdF/QhfW8B07/LaMLSmeaiqjzw0WpmLt7Odad0w63Kw7PWNPl1/pu6lRPaeh6T4G+hIcLYgZ353/+dxttTRnFNShL3Xtx8Ae54Yy0SU6cLT+rERQM78eSXm7jwpE70Sqi728IEBnWCxhsLt/HLs3tx94V9SYyL4vHP1/PFmt2HLYcOsOdACb9/fyXFZZV0jWtNYlwUibGtaRURyp68EnYfKGF3Xgn7i8sYkhTLOX07MiQplqx9xczf6OKO8/sEVKtVRDilZ4eDN/wa3/DpYLuIjAWeAkKBF1X1r7XkuxJ4Fxihqmkich1wl1eWwcAwVV0uIt8CnYFiZ98YVd17tHIE+mB7MNibX8IF/5pP745teOcXpx5XS2QHK1XlT5+sY8YPmUwZ3ZN7L+qHiFBe6Wbc09+TX1LO3DvPIjrS830ya18R1724kOz8UgZ0acuOfcXsPlCC94omrcND6dyuFVGRoazblU+lW2nXOpyOMZFkZhfywz3nNttq1sb3/D7YLiKhwDTgAiALWCwis1R1bbV8McBUYGFVmqq+Abzh7B8EfKSqy70Ou05VLTI0o44xrXhw3AB+++4KXkvdyo2nJR81f0WlmzU7DzA4sZ2tZeQn32zYy4wfMrnp9OSDQQQgPDSEv1w+kCv+s4An5m7kD+MGkJldyHUvpFJQWsEbt4xiSJJnKfTySje780ooLq/khLataNsq7OB58orL+SE9m2/W72XeRhdXpSRZEDlO+bJraySQrqoZACIyE7gUWFst35+AvwG/q+U8k4C3fFVIU3+XD+vKrBU7efzz9Zzbr2OtS6eoKne/v5IPlu7gr5cPYuLIbs1cUgPw4bKdtI+O4L6L+x8RzId3b8+kkd14+cctDEpsx58/XUelW3lryihO6nLoqX7hoSG1/p7btQ7n4kGduXhQ088AM8HFl52ZXYHtXttZTtpBIjIUSFLVT45ynms4MpC8LCLLReQBsa+7zUZE+MvlgxDgvg9X1bj8PcC/5m7kg6U76BAdwV9mr2NvE61gbOqvsLSCuWt385NBnWt9ot89Y/sRFxXOb2YuR4C3qwURY+rLl4Gkpg/4g588IhICPAH8ttYTiJwCFKnqaq/k61R1EHCm87q+lmOniEiaiKS5XK6aspgG6Brbmnsu6sd3m7K54+3lZBeUHrb/zYXbeObrdCaOSOKdW0+lpMLNQz6YIWSObu7aPZSUu7l0SJda87SLCuexywczIjmOd35xKr1PiGnGEpqWxJeBJAvwvoMtEdjptR0DDAS+FZEtwChgloh4D+xMpFprRFV3OP/mA2/i6UI7gqpOV9UUVU1JSEhoZFWMt+tO6c6vzz2RT1ft4rx/zuPNhdtwu5Wv1+/hgY9Wc3bfBP48YSC9EtrwG2cpi89X7/Z3sY8rHy3fQdfY1nVO/b5gwAm8e+tpJMdHHzWfMUfjy0CyGOgtIj1EJAJPUJhVtVNV81Q1XlWTVTUZSAXGVw2iOy2Wq4CZVceISJiIxDvvw4FxgHdrxTSDkBDht2P68tlvzqRfpxju+3AVl/37B371xjL6d45h2rXDDk4BnTK6J/07t+XBj1aTVxw4T8hryXIKSpm/KZtLTu5is+tMs/BZIFHVCuA2YA6wDnhHVdeIyCMiMr4epxgNZFUN1jsigTkishJYDuwAXmjiopt6OrFjDDOnjOKfV51M1r5iOrSJYMbkEQenk4JnsPbxKwaRXVDKXz9b78fSHj9mr95NpVuP2q1lTFOyRRtNkygqq8CtnnXDavKX2euYPj+DJ68ZwrjBnQPqprWW5qrnfiSvuJw5t4+2qdemUWwZedOsoiLCag0iAHec34feHdtw+9vLGfXY1/z5k7Ws3XmgGUvY9Mor3fzqjaVMn7+51hlszS1rXxGLt+zj0iFdLYiYZmNLpJhm0ToilE+mnsE36118sDSLVxds4cXvM0npHserN488rDssWLzywxY+XbWLT1ftYv3ufB67fFCTLLW/ekceM37IpKzCTe+OMZzYsQ0ndmxDj/jog0+9rM3HK3YBMP5k69YyzSf4/npN0IoMC2XswE6MHdiJfYVlvL80i0dnr+PPn67jscsH+bt4x2R3XglPfrmRc/omMLRbHP+au5HtuUU8f73ngU3HSlVZmJnLtG/S+W5TNjGRYcRGh/Ppql1UNXaiI0K5fFgiN5zavdapurNW7GRYt9habyI0xhcskBi/iIuO4Odn9sRVUMrz8zI4v39HzguAVWPr69HZ6yh3Kw+PP4nuHaJJjo/md++uYMK0H5gxOYUTO9b/nozdeSXc9uZS0rbuI75NBHeP7ctPR3Wnbatwissq2ewqYLOrgHkbXLy9eDuvpW7l1J4duOHU7gxPjiM+OpKQEGHjnnzW7TrAH51HLBvTXGyw3fhVaUUlE6b9iCu/hDm3j6ZDEzwh0td+TM/m2hcX8pvzenPHBX0Opi/dto8p/02jsLSSX57di1vO7EnriLq7un791jLmrt3NfRf35+qUJFqF135MTkEpb6dt543UbezY71m3NCI0hM6xrRBg+75iUu89j4SYwP85msBX38F2CyTG7zbszueSZ77nrL4JTL9+eEAPEpdVuLn46e8oq3DzxR2jj/jQ37m/mD99spbPVu+mS7tW/P6ifow/uUutdVqxfT+XTvuBX597Ir8d07fe5aiodJOakUtmdgFZ+4vZub+EHfuKGN49jvt/MqBRdTSmigUSLxZIAt+L32Xw50/X8bcrBnP1CM+CCKrKvqJyIsJCjjojrDk9P28zj322nhmTUzi3X+1dcakZOfzpk7Ws2XmAYd1ieWri0CPGLVSVa6ankuEq4Nu7zgmYOhpTxe/LyBtzLG4+vQdfrdvLHz9ew/fp2WzJKSQzu5D8kgq6tY/is9+c2eCZXat35PH45+spr3STGBdFUlwUiXGtOTmp3TGNZWzLKeKprzZxfv8TjhpEAEb17MCs287g/SVZ/PnTtdwwYxHv//K0wwbi567dw6LMXP48YaAFERPUrEViAsaO/cVc/dwCRKBHfDTJHaKJjQrnma/Tufn0Hjx4ybF12ZSUV/LM15t4bl4G7aMj6NY+iqx9Rew54FloUgQmjezGXWP6ElfHTKv5G138ZuYyKtzK7KlnHtOsqMVbcvnpiwvp37ktb95yClERYZRXurnwyfkIMOf20XaDpglI1iIxQadrbGt+uOfcI9Lzist5+cdMxp3cud7Pn1+6bR93v7eS9L0FXDk8kQd+MoB2UeGAJ8Ds3F/M66nbeHXBFj5btYu7x/bjmpSkI9amcruVad+k868vN9KnYwz/+emwY55aOyK5PU9NHMr/vbGEX7+5jOevH87MxdvJcBXywg0pFkRM0LMWiQl4BaUVjPnXPKIjw/hk6hl13vT3wvwMHvtsHSe0bcVjlw/i7L4da827btcBHvpoDYu25DKoazvO6B1PovOs8o4xkfxjzga+Wr+XCUO68JfLBxEV0fDvXq+lbuWB/63m8mFdmb/RRa+ENsycMiqgJxeY45sNtnuxQBL8vlm/l5teWXzElFtvqsrf52zg399u5qKBnfjblYOJaRVe57lVlY+W7+TZb9LZmlNIeeWhv4nwUOGBcQO4flT3JvnA/8ecDTz7TToAs247ncGJsY0+pzG+Yl1bpkU5p19HJgzpwr+/TeeiQZ3o16ntYfsr3cqDH63mjYXbmDQyiT9PGERoPZdQFxEmDO3KhKFdqXQre/NLyNpXTNa+Ivp3bnvEtRrjt2P6UKlKeIhYEDEthrVITNDILSzj/H/NIymuNQ+MG0CX2NZ0jInErfDbd1fw8Yqd/PLsXtx9YV/rLjKmCViLxLQ47aMjeOTSk7jtzWVc+dwCAEIEYlqFk1dczj0X9ePWs3r5uZTGHH8skJigMm5wFwZ1bUdGdiG79pewK6+Y3XkljO6TwCW24q0xfmGBxASd7h2i6d7BnjFuTKCwCezGGGMaxQKJMcaYRrFAYowxplEskBhjjGkUnwYSERkrIhtEJF1E7jlKvitFREUkxdlOFpFiEVnuvJ7zyjtcRFY553xa7IYBY4zxK5/N2hKRUGAacAGQBSwWkVmqurZavhhgKrCw2ik2q+qQGk79H2AKkArMBsYCnzVx8Y0xxtSTL1skI4F0Vc1Q1TJgJnBpDfn+BPwNKKnrhCLSGWirqgvUc0v+f4EJTVhmY4wxx8iXgaQrsN1rO8tJO0hEhgJJqvpJDcf3EJFlIjJPRM70OmfW0c5pjDGmefnyhsSaxi4OLuwlIiHAE8DkGvLtArqpao6IDAf+JyIn1XXOwy4uMgVPFxhAgYhs8NrdDsirdkh90ry3a3ofD2TXVJ5jUFM5jiVPbfuOVpfq2/6s29HyteS61bbP6nb0942tX3PVrXpasNStd72upKo+eQGnAnO8tu8F7vXabofnh7TFeZUAO4GUGs71LZACdAbWe6VPAp5vQNmmNyTNe7um90BaE/zcjijHseSpbd/R6hJIdTuWOrSkutW2z+pW5/tG1a+56nYM9Qn4utX08mXX1mKgt4j0EJEIYCIwq2qnquaparyqJqtqMp7B8/GqmiYiCc5gPSLSE09UzFDVXUC+iIxyZmvdAHzUgLJ93MC0j+vxvrHqc66j5alt39HqUn3bn3U7Wr6WXLfa9lndjv6+sZqrbtXTgrluR/DpMvIicjHwJBAKzFDVR0XkETyRdla1vN8Cv3MCyRXAI0AFUAk8pKofO/lSgFeA1nhma/1afVmJYyAiaVqPJZeDkdUtOLXkukHLrl8w1c2nizaq6mw8U3S90x6sJe/ZXu/fB96vJV8aMLDpStmkpvu7AD5kdQtOLblu0LLrFzR1Oy4ebGWMMcZ3bIkUY4wxjWKBpBYiMkNE9orI6gYcW+syLiLya2fZmDUi8remLXW9y9fkdRORh0Vkh9eyNhc3fcnrVT6f/N6c/b9zlvKJb7oSH1P5fPF7+5OIrHR+Z1+IiF+eDuajuv1dRNY79ftQRGKbvuT1LqMv6neV8znirlpeym8aM72sJb+A0cAwYHUDjl2EZ/qz4JkQcJGTfg7wJRDpbHdsQXV7GM9kiRb3e3P2JQFzgK1AfEupG56VIqryTAWea0F1GwOEOe8fBx73R918WL/+QF+c2yP8VTdV307/DWqqOh/I9U4TkV4i8rmILBGR70SkX/Xj6ljG5ZfAX1W11LnGXt/WomY+qltA8GHdngDuppYbYJuDL+qmqge8skbjp/r5qG5fqGqFkzUVSPRtLWrno/qtU9UN1Y/xBwskx2Y6nunGw4HfAf+uIc/RlnHpA5wpIgvFs/TLCJ+W9tg0tm4AtzndCDNEJM53RT1mjaqbiIwHdqjqCl8XtAEa/XsTkUdFZDtwHVDjrEo/aYr/k1VuJvAWd23K+vmVPbO9nkSkDXAa8K5X13lkTVlrSKv6lhcGxAGjgBHAOyLS0/mm4TdNVLf/4FmAU51//4nnj9evGls3EYkC7sfTTRJQmuj3hqreD9wvIvcCtwEPNXFRj1lT1c051/147kl7oynL2BhNWb9AYIGk/kKA/VptaXvx3IG/xNmchecD1bsJnYhn6RfwfJv4wAkci0TEjWc9HZcvC14Pja6bqu7xOu4FoKaFOP2hsXXrBfQAVjh/8InAUhEZqaq7fVz2ujTF/0lvbwKfEgCBhCaqm4jcCIwDzvP3F7Zqmvp351/+HKAJ9BeQjNfgGPAjcJXzXoCTazluMZ5WR9Xg2MVO+q3AI877PnhWR5YWUrfOXnnuAGa2lN9btTxb8NNgu49+b7298vwaeK8F1W0ssBZI8FedmuP/JQEw2O73H26gvoC38KxCXI6nJfEzPN9MPwdWOP9BH6zl2BRgNbAZeLYqWAARwOvOvqXAuS2obq8Bq4CVeL5JdW6u+vi6btXy+C2Q+Oj39r6TvhLPukpdW1Dd0vF8WVvuvPwyI82H9bvMOVcpsAevRXKb+2V3thtjjGkUm7VljDGmUSyQGGOMaRQLJMYYYxrFAokxxphGsUBijDGmUSyQmOOSiBQ08/VeFJEBTXSuSme13tUi8nFdq9qKSKyI/F9TXNuYmtj0X3NcEpECVW3ThOcL00MLBPqUd9lF5FVgo6o+epT8ycAnqhqoTxY1Qc5aJMY4RCRBRN4XkcXO63QnfaSI/Cgiy5x/+zrpk0XkXRH5GPhCRM4WkW9F5D3nORhveD074tuqZ0aISIGzUOIKEUkVkROc9F7O9mIReaSeraYFHFpcso2IfCUiS8Xz/IpLnTx/BXo5rZi/O3nvcq6zUkT+2IQ/RnMcskBizCFPAU+o6gjgCuBFJ309MFpVh+JZHfcvXsecCtyoquc620OB24EBQE/g9BquEw2kqurJwHzgFq/rP+Vcv871lJx1mc7Ds5IAQAlwmaoOw/Psm386geweYLOqDlHVu0RkDNAbGAkMAYaLyOi6rmdMbWzRRmMOOR8Y4LUaa1sRiQHaAa+KSG88K6+Gex0zV1W9nzOxSFWzAERkOZ71lb6vdp0yDi1quQS4wHl/KoeegfIm8I9aytna69xLgLlOugB/cYKCG09L5YQajh/jvJY5223wBJb5tVzPmKOyQGLMISHAqapa7J0oIs8A36jqZc54w7deuwurnaPU630lNf+Nleuhwcna8hxNsaoOEZF2eALSr4Cn8TxPJAEYrqrlIrIFaFXD8QI8pqrPH+N1jamRdW0Zc8gXeJ7HAYCIVC3x3Q7Y4byf7MPrp+LpUgOYWFdmVc3D83jc34lIOJ5y7nWCyDlAdydrPhDjdegc4GbnmRiISFcR6dhEdTDHIQsk5ngVJSJZXq878XwopzgD0GvxLPsP8DfgMRH5AQj1YZluB+4UkUVAZyCvrgNUdRme1WMn4nlwU4qIpOFpnax38uQAPzjThf+uql/g6TpbICKrgPc4PNAYc0xs+q8xAcJ5GmOxqqqITAQmqeqldR1njL/ZGIkxgWM48Kwz02o/AfCoYmPqw1okxhhjGsXGSIwxxjSKBRJjjDGNYoHEGGNMo1ggMcYY0ygWSIwxxjSKBRJjjDGN8v+fdj70NMNQPgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"learn.recorder.plot()"
]
},
{
"cell_type": "code",
"execution_count": 118,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Total time: 01:55\n",
"epoch train_loss valid_loss accuracy\n",
"1 0.481459 0.355658 0.875750 (00:57)\n",
"2 0.465924 0.386298 0.877000 (00:57)\n",
"\n"
]
}
],
"source": [
"learn.fit_one_cycle(2, 1e-5)"
]
},
{
"cell_type": "code",
"execution_count": 119,
"metadata": {},
"outputs": [],
"source": [
"learn.unfreeze()"
]
},
{
"cell_type": "code",
"execution_count": 120,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEKCAYAAAAW8vJGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl4XGXd//H3N/vaJG3SLWmb7tB9CQXKvi8qKCiCgCAoKAqyiMujP/DBR8XlUXYUWXwsCBQERUA2CxaESvedpmlL26RpmzZNmjR75v79MVNIStNmmZMzmfm8rmuuzpy5Z+Z79yT5zH2W+5hzDhERkf3i/C5AREQii4JBRETaUTCIiEg7CgYREWlHwSAiIu0oGEREpB0Fg4iItKNgEBGRdhQMIiLSToLfBXRVbm6uKyws9LsMEZE+ZfHixbucc3mdadvngqGwsJBFixb5XYaISJ9iZps721abkkREpB0Fg4iItKNgEBGRdhQMIiLSjoJBRETaUTCIiEg7CgYREWlHwSAiEuECAcd989azqqy6Vz6vz53gJiISS3bXNnLT3OXML65gX1Mrk/KzPP9MBYOISIRavLmSbz6xlMq6Jn72uclcMmtYr3yugkFEJMI453jknU3c+Y8PGJqdynPfmN0rI4X9FAwiIhHmtr+tZs6CzZw1cRC//PxUslITe/XzFQwiIhFk8eZK5izYzJWzC7n9MxMws16vQUcliYhEiNaA4/YXVjO4Xwq3njXel1AABYOISMSYu2grq8r28l+fOpL0ZP826CgYREQiQHVdM796dR2zRvbnM1OG+FqLgkFEJAL89o1iquqa+PFnJvq2CWk/BYOIiM8+2L6XOQs2c+nRI5gwtJ/f5SgYRET85Jzjxy+sJjMlgVvOHOd3OYCCQUTEV39dVsaCjZV858zxZKcl+V0OoGAQEfHNB9v38l/PrWLmiBwumTXc73I+omAQEfFBdV0z185ZTEZKAg9cOoP4OH93OLelYBAR6WWtAce3n17Ktqp6Hrx0BoP6pfhdUjueBYOZPWpmO81sVQfPX2pmK0K3d81sqle1iIhEkrveKOatdRXc/pmJFBX297ucT/ByxPBH4OxDPL8JOMk5NwX4CfCQh7WIiESEV1Zt5955JVxUVMClR0fOfoW2PDvn2jk338wKD/H8u20eLgAKvKpFRCQSbKyo5Za5y5hakMUd50/y/US2jkTKPoargX909KSZXWNmi8xsUUVFRS+WJSISHs2tAW56ehkJ8XE8eNlMUhLj/S6pQ74Hg5mdQjAYvtdRG+fcQ865IudcUV5eXu8VJyISJvf8cz3LS6v5+QWTGZqd6nc5h+Tr9RjMbArwMHCOc263n7WIiHhl4YeV3P9mCRfOKODcyf5OkNcZvo0YzGw48BxwuXOu2K86RES8VNPQzE1PLyM/J5UfnzfB73I6xbMRg5k9CZwM5JpZKXA7kAjgnPsdcBswAHggtAOmxTlX5FU9IiJ+uP2F1WyrqmfutceSmdK7l+jsLi+PSrrkMM9/FfiqV58vIuK3F1ds47klZdxw6piIPF+hI77vfBYRiUbl1fX88PlVTB2WzfWnjfW7nC5RMIiIhFkg4Lhl7nKaWwPc9cVpJMb3rT+1fataEZE+4OF3NvLuht3c9ukJjMxN97ucLlMwiIiE0ept1fzq1XWcOWEQXzxqmN/ldIuCQUQkTBqaW/n2U8vISUvizgunROyUF4fj6wluIiLR5Ocvr6VkZy1/umoW/dMj42ps3aERg4hIGLy5bif/995mrjpuJCeO69tT9ygYRER6qHRPHbfMXc74QZl89+zxfpfTYwoGEZEeqG9q5do5i2luDfDgZTMietbUztI+BhGRbnLO8YPnVrCmfC+PXFHEqLwMv0sKC40YRES66ZF3NvHXZdu45YxxnHrEIL/LCRsFg4hIN/y7ZBc/e3ktZ08czDdPGeN3OWGlYBAR6aKtlXV8689LGJ2Xwa8vmtpnz1foiIJBRKQLKvc1ccVj79MacDz05SIykqNvV2309UhExCP7Glv4yh8XUrannjlXH90n50HqDI0YREQ6oaklwNcfX8zK0iru+9IMZo3sO9dX6CqNGEREDiMQcHznmeW8vX4Xv7hwMmdMiJ4jkA5GIwYRkUNwzvGTl9bwwvJt3HrWeL541HC/S/KcgkFE5BDmLNjMY//+kK8cV8h1J4/2u5xeoWAQEenAki17+MmLazj1iIH8v09NiLrDUjuiYBAROYhdtY1c9/gShmSl8tuLphEXFxuhANr5LCLyCS2tAW54cil76pp47rrZZKUl+l1Sr1IwiIgc4H9fL+bdDbv51eenMHFolt/l9DptShIRaeO11dt58K0NXDJrOF8o6pvXbO4pBYOISMimXfu4Ze5yphZk8ePzJvhdjm8UDCIiBC+4843HFxMfb9x/6QySE/r+BXe6S/sYRESA2/62inU7anjsyqMoyEnzuxxfacQgIjHv6YVbeGZxKdefOpaTxw/0uxzfKRhEJKatKqvm//1tNSeMzeXbp431u5yIoGAQkZhVXd/MdU8sYUB6End9cRrxMXQS26FoH4OIxCTnHN99djnbqup5+tpjGZCR7HdJEUMjBhGJSc8sKuXV1Tv43tlHMHNEjt/lRBQFg4jEnC276/jvv6/m2FEDuPr4kX6XE3EUDCISU1oDjpvnLiMuzvj1RVNjanK8ztI+BhGJKb/71wYWbd7DXV+cRn52qt/lRCSNGEQkZqwqq+a3rxfzqSlDOH/aUL/LiVgKBhGJCQ3Nrdz49DL6pyfx089OipmL7nSHNiWJSEx4+O2NlOys5U9XzSI7LcnvciKaRgwiEvWcczy/tIxjRvXnxHF5fpcT8TwLBjN71Mx2mtmqDp43M7vHzErMbIWZzfCqFhGJbR9sr2FDxT4+PUX7FTrDyxHDH4GzD/H8OcDY0O0a4EEPaxGRGPbSinLiDM6ZNNjvUvoEz4LBOTcfqDxEk/OBP7mgBUC2mQ3xqh4RiU3OOV5csY3Zo3M17UUn+bmPIR/Y2uZxaWjZJ5jZNWa2yMwWVVRU9EpxIhIdVm/by4e76/j0FH3v7Cw/g+Fgx4q5gzV0zj3knCtyzhXl5WnHkYh03ksry4mPM86aqM1IneVnMJQCba+0XQBs86kWEYlC+zcjHTcml5x0HaLaWX4GwwvAl0NHJx0DVDvnyn2sR0SizMqyarZW1mszUhd5doKbmT0JnAzkmlkpcDuQCOCc+x3wMnAuUALUAV/xqhYRiU0vrignMd44a4I2I3WFZ8HgnLvkMM874Jtefb6IxDbnHC+tKOf4MblkpSX6XU6fojOfRSQqLdtaRVlVvU5q6wYFg4hEpRdXlJMUH8fpEwb5XUqfo2AQkagTCDheXlnOieNyyUrVZqSuUjCISNT5z6ZKyqsbtBmpmxQMIhJ1HnirhAHpSZw5UZuRukPBICJRZfHmSt5ev4trTxpFWpIuOdMdCgYRiSp3vbGeAelJXHbMCL9L6bMUDCISNRZv3sPb63dxzYkaLfSEgkFEosbd/1xP//QkLj9Wo4WeUDCISFRYsmUP84srNFoIAwWDiESFu98IjRa0b6HHFAwi0uct3bKHfxVX8LUTRpGerNFCTykYRKTPu/uf68lJS+TL2rcQFgoGEenTlm+t4q11FXxVo4WwUTCISJ9277z1ZKclcsXsQr9LiRoKBhHps1aVVfPG2p1cfdxIMjRaCBsFg4j0WffOW09mSgJXHFfodylRRcEgIn3S2vK9vLp6B1cdN5J+KZpaO5w6FQxmNtrMkkP3TzazG8ws29vSREQ6dt+8EjKSE7jquJF+lxJ1Ojti+AvQamZjgEeAkcCfPatKROQQinfU8PKqcq6cXajrOXugs8EQcM61AJ8D7nLO3QQM8a4sEZGO3TevhNTEeK4+XqMFL3Q2GJrN7BLgCuDF0DLFtIj0upKdtfx9xTa+fGwhOelJfpcTlTobDF8BjgV+6pzbZGYjgce9K0tE5OAeeLOElIR4vnqCRgte6dSBv865NcANAGaWA2Q65+70sjARkQNtrazjb8u3ceXsQnIzkv0uJ2p19qikt8ysn5n1B5YDj5nZb7wtTUSkvd/P30CcwddOGOV3KVGts5uSspxze4ELgMecczOB070rS0SkvZ01DcxdVMqFMwoYnJXidzlRrbPBkGBmQ4CL+Hjns4hIr3nknU20tAa49qTRfpcS9TobDHcArwIbnHMLzWwUsN67skREPlZd38wTC7Zw7uQhjMxN97ucqNfZnc/PAM+0ebwRuNCrokRE2prz3ofUNrZw3clj/C4lJnR253OBmT1vZjvNbIeZ/cXMCrwuTkSkvqmVR//9IaeMz2PC0H5+lxMTOrsp6THgBWAokA/8PbRMRMRTTy3cQuW+Jr55ikYLvaWzwZDnnHvMOdcSuv0RyPOwLhERmloCPDR/I7MK+1NU2N/vcmJGZ4Nhl5ldZmbxodtlwG4vCxMR+euyMsqrG/jGKToSqTd1NhiuInio6nagHPg8wWkyREQ80dwa4L55JUzK78fJ47SBojd1Khicc1ucc+c55/KccwOdc58leLKbiIgnnl9SxpbKOm48bRxm5nc5MaUnV3C7OWxViIi00dwa4J5565lSkMVpRw70u5yY05NgUISLiCeeXVxK6Z56bjpdowU/9CQYXNiqEBEJaWoJ7luYNiybk8dr34IfDhkMZlZjZnsPcqsheE7DIZnZ2Wa2zsxKzOz7B3l+uJm9aWZLzWyFmZ3bg76ISBR4ZvFWyqrqufH0sRot+OSQU2I45zK7+8ZmFg/cD5wBlAILzeyF0LUd9vsRMNc596CZTQBeBgq7+5ki0rc1trRy/7wSpg/P5iQdieSbnmxKOpxZQIlzbqNzrgl4Cjj/gDYO2H+OexawzcN6RCTCzV1UyrbqBm4+Q/sW/NSpSfS6KR/Y2uZxKXD0AW1+DLxmZtcD6egaDyIxq6E5OFooGpHD8WNy/S4npnk5YjhY3B+4w/oS4I/OuQLgXGCOmX2iJjO7xswWmdmiiooKD0oVEb/NXbSV7XsbuEmjBd95GQylwLA2jwv45Kaiq4G5AM6594AU4BNfFZxzDznnipxzRXl52u4oEm0aW1p58K0NHFWYw+zRA/wuJ+Z5GQwLgbFmNtLMkoCLCc7Q2tYW4DQAMzuSYDBoSCASY+YuKqW8uoFv6yzniOBZMDjnWoBvEbzy21qCRx+tNrM7zOy8ULNbgK+Z2XLgSeBK55zOjxCJIY0trTzwZgkzR+Rw3BiNFiKBlzufcc69TPAQ1LbLbmtzfw1wnJc1iEhkeyY0WvjFhVM0WogQXm5KEhE5pKaWAA++tYEZw7M5YayORIoUCgYR8c2zi0spq6rn25oTKaIoGETEF00tAe5/Mzgn0okaLUQUBYOI+OK5JftHC5oTKdIoGESk1zW3BrjvzRKmFmTp6mwRSMEgIr3u5ZXllO6p5/pTNVqIRAoGEelVzjn+8PZGRuWlc+oRujpbJFIwiEivWrCxklVle/nq8aOIi9NoIRIpGESkVz389kYGpCdxwYx8v0uRDigYRKTXlOys5Z8f7OTyY0eQkhjvdznSAQWDiPSaR97ZSHJCHJcfM8LvUuQQFAwi0it21TbylyVlXDCjgAEZyX6XI4egYBCRXjHnvc00tQS4+viRfpcih6FgEBHPNTS3MmfBZk47YiBjBmb4XY4choJBRDz3lyWlVO5r4msnjvK7FOkEBYOIeKq5NcBD8zcyOT+Lo0f297sc6QQFg4h46qmFW9m8u44bNVlen6FgEBHP7Gts4e431jOrsL+mv+hDFAwi4plH39nErtpGvnfOERot9CEKBhHxROW+Jn4/fyNnTBjEzBE5fpcjXaBgEBFP3DevhLqmFr571ni/S5EuUjCISNiV7qnj8QWb+fzMAsYOyvS7HOkiBYOIhN1vXi/GDG48fZzfpUg3KBhEJKzWlu/l+aVlXDm7kKHZqX6XI92gYBCRsGluDfBfz68kMzmBb5w82u9ypJsS/C5ARKLHr15dx9ItVdz/pRlkpyX5XY50k0YMIhIW8z7YwUPzN3LZMcP51JQhfpcjPaBgEJEeK6+u55a5yzlySD9+9KkJfpcjPaRgEJEeaWkNcMOTS2lqCXD/l6brkp1RQPsYRKRHfvtGMQs/3MPdF09jVJ6utRANNGIQkW57f1MlD7y1gYuPGsb50/L9LkfCRMEgIt3inONnL69lcL8Ubv/MRL/LkTBSMIhIt7y6egfLtlZx0+njSE3SfoVoomAQkS5raQ3w69fWMTovnQtmaBNStFEwiEiXPbe0jJKdtdx61ngS4vVnJNpojYpIlzQ0t3LX68VMLcjirImD/S5HPKBgEJEueXzBZrZVN/C9s3VVtmilYBCRTtvb0Mz9b5ZwwthcZo/J9bsc8YiCQUQ67eH5G9lT18x3zzrC71LEQ54Gg5mdbWbrzKzEzL7fQZuLzGyNma02sz97WY+IdN+u2kYefmcTn5oyhMkFWX6XIx7ybEoMM4sH7gfOAEqBhWb2gnNuTZs2Y4EfAMc55/aY2UCv6hGRnnngzQ00NLdy8xm6Klu083LEMAsocc5tdM41AU8B5x/Q5mvA/c65PQDOuZ0e1iMi3bStqv6jaziP1nxIUc/LYMgHtrZ5XBpa1tY4YJyZ/dvMFpjZ2R7WIyLddO+89TgcN5w21u9SpBd4ObvqwY5jcwf5/LHAyUAB8LaZTXLOVbV7I7NrgGsAhg8fHv5KRaRDH+7ax9xFpVx29HAKctL8Lkd6gZcjhlJgWJvHBcC2g7T5m3Ou2Tm3CVhHMCjacc495Jwrcs4V5eXleVawiHzSXW8UkxhvfPPUMX6XIr3Ey2BYCIw1s5FmlgRcDLxwQJu/AqcAmFkuwU1LGz2sSUS6YN32Gv62fBtXzC5kYGaK3+VIL/EsGJxzLcC3gFeBtcBc59xqM7vDzM4LNXsV2G1ma4A3gVudc7u9qklEuuY3r68jIymBr5842u9SpBd5egU359zLwMsHLLutzX0H3By6iUgEWVFaxaurd3Dj6WPJSU/yuxzpRTrzWUQ+oaU1wE9fWktOWiJXHz/S73KklykYRKQd5xw/+usq/rOpkh+ceySZKYl+lyS9TMEgIu3cO6+EpxZu5fpTx3BR0bDDv0CijoJBRD7yzKKt/Ob1Yi6Yka+pL2KYgkFEAPhXcQU/eG4lJ4zN5c4LpuhaCzFMwSAirCqr5rrHFzN2UCYPXDqDpAT9aYhlWvsiMW7PviaunbOYrNRE/viVo7SzWbw9j0FEIltrwPHtp5dRUdPIM18/lkH9dHazaMQgEtPu+ed65hdXcPt5E5g6LNvvciRCKBhEYtSb63Zyz7z1XDijgC/N0qzF8jEFg0gM2lpZx01PL2P8oEz+57OTdASStKNgEIkxDc2tXPfEEloDjt9dNpPUpHi/S5IIo53PIjHmzn98wMqyah66fCaFuel+lyMRKCaDwTnH62t2cO+8ErbvbeDrJ43msmOGk5ygb04S3f65dgd/fPdDrjpuJGdOHOx3ORKhYioYAgHHK6u3c++8EtaW72XEgDTG5GXwkxfX8Og7m7j5jHF8dno+8XHB7a2V+5pYtnUPq8v2kpOexLhBmYwdmKEpiKVP2rm3gVufXcGEIf343jnj/S5HIljMBMP7myr50V9XUryjllG56fzmoqmcN3UoCfFxvLN+F7945QNueWY5f3h7I+MHZ7JsaxWbd9cd9L1yM5KZUpDF/3x2EkOzU3u5JyJdFwg4bp67nPqmVu65ZLpGx3JIMRMMqYnxOAd3XzyNT08Z+tGoAOD4sbnMHn0cL60s5643ilmwcTfTh+VwyazhTB+WzaT8LKrqmyneUcP6HTWs31HLK6u2c9nD/+Gpa4/RJQ8l4j309kbeKdnFnRdMZszADL/LkQhnwYuo9R1FRUVu0aJF3Xqtcy5sh+Ut3lzJ5Y+8z7CcNJ665hhtXpKItaK0igseeJczJgzigUtn6NDUGGVmi51zRZ1pG1OHq4bzF2LmiP48/OUiPty9j8sf/Q/V9c1he2+RcKjc18RT72/huieWMDAzWTOmSqfFzKYkL8wek8vvLp/JNX9axFcee585Vx9NerL+S8U/u2sb+ceq7fxjVTkLNlbSGnCMGJDGPZdMJytNk+NJ58TUpiSvvLKqnG/+eSmT8rO4+YxxnDAml7g4fTOT3rO3oZnf/2sDj7yziYbmAKNy0zl38hDOmTyYCUP6aaQgXdqUpK+3YXD2pCHcczHc/sJqrnj0fUblpXPl7EIumFFARmgE0dDcSnl1A+XV9TS2BMCBwxEIQGpSPMeMGtBuh7hIZzS2tPL4gi3cN289e+qaOX/aUL5+0miOGJypMJBu04ghjJpaAry8spzH/r2J5aXVZCYnUJibTnl1Pbtqmw752olD+3HH+ROZOaJ/L1Urfdm+xhb+tmwb979ZQllVPSeMzeV7Zx/BpPwsv0uTCNWVEYOCwSNLt+xhznub2bWvifzsVIZmpTA0O5UhWSmkJMVjQJwZZrChopZfvrKO8uoGLpiez/fPOYKBmhdfDqJ4Rw2PL9jMc0vKqG1sYXJ+Ft89ezwnjM3zuzSJcAqGPqiuqYX73yzhD/M3kZQQxzdOHs0Xigp0jkQMamkNsHHXPrZV1VNR00hFbSM79zayels1Cz/cQ1JCHJ+ePIRLjxnBjOHZ2mQknaJg6MM+3LWPO15cw7wPdhJncPzYPD43fShnTRxMWpJ2CUWj8up6lm2pYtnWKpZurWJlaTX1za3t2mQmJ5Cfk8rnpufzhaJh9Nd5M9JFCoYoULKzlr8uLeP5pWWUVdWTlhTPpPws+qUkkJmSSEZyApkpCUzOz2L2mFyyUnUoYl9Q09DM6m17gyGwZQ/LtlaxY28jAEnxcUwY2o9pw7KZOiyLYTlpDMxMIS8zWVNjS48pGKJIIOBYvGUPzy8to2RnLTUNLdQ2NlPT0EJNQwutAUd8nDFjeDYnjctj5oj+7NjbQPGOGop31FKys4Zt1Q0fvd/+jQ6pSfH0T09iQHoS/dOT6J+ezPRh2ZxyxEDyMpP96WwHdtc28sH2muCtfC+bd9cxOCuFcYMyGDMwk7GDMhiYmUxZVT1bdtexpbKOzbvr2NfUQkZyAmlJCaQnxZOenMDI3HSmDcvu9JnqxTtqePL9LVTXNXPWpMGcNC6PlMSP/0g751i2tYq5i0p5fc12MlMSGdY/jeH9UxneP43s1CQ27KqleHtwfZRV1X/02hED0pg+LJtpw7KZNjyHI4dkag4j8YyCIUY0twZYuqWK+cUV/Ku4gpVl1R89lxBnjMxNZ+ygDApy0mi3GdpBXVMrlfua2L2vkcp9TeysaaSqrhkzmD4sm9MnDOL0IwcxJi/D83My9uxr4o21O3h19Q427qqluTVAc4ujuTVAY0uA2saWj9rmZiQzMjeNbVUN7f7IHigzJYF+KYnUNbWwr7GVptZAu+cLB6QxfXgOUwuyKMxNpyAnlaHZqaQlJdDY0sorq7bzxH+28P6mSpLi40hPjmdPXTMZyQmcfuRAzpk8hC2765i7aCvrd9aSmhjP6RMGEXCOraFg2n82fFJ8HKMHZjB+UAZjB2UyYUg/pg7L1uYg6VUKhhi1q7aRVWXV5GenMmJAOkkJnZ/xxDnHmvK9vLFmJ2+s3fFRyGSmJDBxaD8m52cxKT+LMQMzSIyPI86MOIP4OCMlMZ5+KYmkJMa12xFa09BM6Z56SvfUs31vAwYkJcSRFB9HYnwcFTUNvLZmB//ZFDxDd2hWCtOGZ5OcEE9ivJGUEGyXn53KkUP6MX5wJrkZH49m9jW2sKGiluIdteyqbSQ/O/gtfcSANLLT2v/RbQoFzLrtNe024+ysaWzXrn96Eq0BR3V9M8P7p3Hp0cP5/MwCslITeW/jbl5aUc4rq7dTVRf8oz9jeDYXFQ3jU1OGkJnSfnNedV0zVfXBo9IS4mNq9hmJQAoG6bHy6nrmF1eworSaVWXVrN1eQ1NL4JCvSYw3MlMSyUxJoKquuVPzR40ZmMFZEwdx1sTBTM7P6tUjbJxz7KxpZGtlHWVVwQArq6qnsTnA+dOGcnwHZ7A3twZY+GElAzOTGTMws9fqFekJBYOEXXNrgOIdNWytrKM1AAHnCDhHa8DR0Bxgb0Mze+ubQ/+2kJ2WSEFOKvnZaRTkBM/fwKC51dHUEqC5NUBqYjzD+qf53TWRmKApMSTsEuPjmDg0i4lDdWatSLTThk8REWlHwSAiIu0oGEREpB0Fg4iItKNgEBGRdhQMIiLSjoJBRETaUTCIiEg7fe7MZzOrADa3WZQFVB/QrDPLDvV4//1cYFcPS+6onu607ei5rva3o/u93d/DtQvHuo2Uvh6ubWfXbXd+jiGy1q1+jg++3Ot1O8I517lL/Tnn+vQNeKg7yw71eP99YJFXNXanbUfPdbW/h7jfq/09XLtwrNtI6Wu41m13fo4jbd3q5zgy123bWzRsSvp7N5cd6vHBXt8TXXm/Q7Xt6Lmu9tfLvnblPQ/XLhzrNlL6eri2nV23fv4cd+U99XN8+Ocjbd1+pM9tSupNZrbIdXLSqWgQS/2Npb5CbPU3lvoK3vQ3GkYMXnrI7wJ6WSz1N5b6CrHV31jqK3jQX40YRESkHY0YRESknZgJBjN71Mx2mtmqbrx2ppmtNLMSM7vH2lxmzMyuN7N1ZrbazH4Z3qq7z4v+mtmPzazMzJaFbueGv/Ku82rdhp7/jpk5M8sNX8Xd59F6/YmZrQit09fMbGj4K+8ej/r7KzP7INTn580sO/yVd51Hff1C6G9TwMw6vx8i3Ic5ReoNOBGYAazqxmvfB44FDPgHcE5o+SnAG0By6PFAv/vpcX9/DHzH7771Rl9Dzw0DXiV43kyu3/30cL32a9PmBuB3fvfT4/6eCSSE7v8C+IXf/fSwr0cC44G3gKLOvl/MjBicc/OByrbLzGy0mb1iZovN7G0zO+LA15nZEIK/OO+54P/0n4DPhp7+BnCnc64x9Bk7ve1F53nU34jkYV9/C3wXiJgdcV701Tm3t03TdKK/v68551pCTRcABd72onM86uta59y6rtYSM8HQgYeA651zM4HvAA8cpE0+UNrmcWloGcBP8mDhAAAFN0lEQVQ44AQz+4+Z/cvMjvK02p7raX8BvhUagj9qZjneldpjPeqrmZ0HlDnnlntdaBj0eL2a2U/NbCtwKXCbh7WGQzh+jve7iuA37EgVzr52Wsxe89nMMoDZwDNtNisnH6zpQZbt/0aVAOQAxwBHAXPNbFQotSNKmPr7IPCT0OOfAP9L8BcrovS0r2aWBvyQ4CaHiBam9Ypz7ofAD83sB8C3gNvDXGpYhKu/off6IdACPBHOGsMlnH3tqpgNBoKjpSrn3LS2C80sHlgcevgCwT+GbYeaBcC20P1S4LlQELxvZgGC85ZUeFl4N/W4v865HW1e9wfgRS8L7oGe9nU0MBJYHvqFLACWmNks59x2j2vvqnD8HLf1Z+AlIjQYCFN/zewK4NPAaZH4RS4k3Ou28/ze4dKbN6CQNjt2gHeBL4TuGzC1g9ctJDgq2L9j59zQ8q8Dd4TujwO2Ejo3JBJuHvR3SJs2NwFP+d1Hr/p6QJsPiZCdzx6t17Ft2lwPPOt3Hz3u79nAGiDP77553dc2z79FF3Y++/4f0Yv/4U8C5UAzwW/6VxP8VvgKsDz0g3JbB68tAlYBG4D79v/xB5KAx0PPLQFO9bufHvd3DrASWEHwm8qQ3upPb/f1gDYREwwerde/hJavIDgHT77f/fS4vyUEv8QtC90i4igsj/r6udB7NQI7gFc7U4vOfBYRkXZi/agkERE5gIJBRETaUTCIiEg7CgYREWlHwSAiIu0oGCQqmFltL3/ew2Y2IUzv1Rqa2XSVmf39cLN9mlm2mV0Xjs8WORgdripRwcxqnXMZYXy/BPfxRGuealu7mf0fUOyc++kh2hcCLzrnJvVGfRJ7NGKQqGVmeWb2FzNbGLodF1o+y8zeNbOloX/Hh5ZfaWbPmNnfgdfM7GQze8vMng3N3/9Em3nu39o/v72Z1YYmoVtuZgvMbFBo+ejQ44VmdkcnRzXv8fFEfhlm9k8zW2LBufbPD7W5ExgdGmX8KtT21tDnrDCz/w7jf6PEIAWDRLO7gd86544CLgQeDi3/ADjROTed4EyiP2vzmmOBK5xzp4YeTwduBCYAo4DjDvI56cAC59xUYD7wtTaff3fo8w87d01oDpzTCJ5VDtAAfM45N4PgtT/+NxRM3wc2OOemOeduNbMzgbHALGAaMNPMTjzc54l0JJYn0ZPodzowoc3MlP3MLBPIAv7PzMYSnIUysc1rXnfOtZ0T/33nXCmAmS0jOJfNOwd8ThMfTyi4GDgjdP9YPr6+w5+BX3dQZ2qb914MvB5absDPQn/kAwRHEoMO8vozQ7eloccZBINifgefJ3JICgaJZnHAsc65+rYLzexe4E3n3OdC2+vfavP0vgPeo7HN/VYO/jvT7D7eWddRm0Opd85NM7MsggHzTeAegtdGyANmOueazexDIOUgrzfg586533fxc0UOSpuSJJq9RvDaAgCY2f7pi7OAstD9Kz38/AUEN2EBXHy4xs65aoKX1vyOmSUSrHNnKBROAUaEmtYAmW1e+ipwVWj+fsws38wGhqkPEoMUDBIt0systM3tZoJ/ZItCO2TXEJwmHeCXwM/N7N9AvIc13QjcbGbvA0OA6sO9wDm3lOBMmhcTvIBMkZktIjh6+CDUZjfw79Dhrb9yzr1GcFPVe2a2EniW9sEh0iU6XFXEI6ErwdU755yZXQxc4pw7/3CvE/Gb9jGIeGcmcF/oSKIqIvAyqCIHoxGDiIi0o30MIiLSjoJBRETaUTCIiEg7CgYREWlHwSAiIu0oGEREpJ3/D6xIbAMfqfUsAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"learn.lr_find()\n",
"learn.recorder.plot()"
]
},
{
"cell_type": "code",
"execution_count": 121,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Total time: 11:30\n",
"epoch train_loss valid_loss accuracy\n",
"1 0.385306 0.284661 0.903250 (01:26)\n",
"2 0.327198 0.265609 0.911500 (01:26)\n",
"3 0.322610 0.263987 0.908750 (01:26)\n",
"4 0.276746 0.237237 0.922167 (01:26)\n",
"5 0.241836 0.219758 0.924583 (01:26)\n",
"6 0.221802 0.204946 0.932583 (01:26)\n",
"7 0.199259 0.210699 0.932250 (01:26)\n",
"8 0.195873 0.197501 0.935500 (01:26)\n",
"\n"
]
}
],
"source": [
"learn.fit_one_cycle(8, slice(1e-5, 1e-4))"
]
},
{
"cell_type": "code",
"execution_count": 123,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Total time: 00:57\n",
"\n"
]
},
{
"data": {
"text/plain": [
"tensor(0.9294)"
]
},
"execution_count": 123,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ys,y = learn.TTA()\n",
"accuracy(ys, y)"
]
},
{
"cell_type": "code",
"execution_count": 124,
"metadata": {},
"outputs": [],
"source": [
"learn.save('stage3-2')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"gist": {
"data": {
"description": "Cifar.ipynb",
"public": true
},
"id": ""
},
"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.7"
},
"notify_time": "5"
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment