Skip to content

Instantly share code, notes, and snippets.

@nofreewill42
Last active September 4, 2020 04:38
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nofreewill42/84d9fb31d06d123879143f8b3699f1c3 to your computer and use it in GitHub Desktop.
Save nofreewill42/84d9fb31d06d123879143f8b3699f1c3 to your computer and use it in GitHub Desktop.
SimCLR self-supervised pre-training
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Description"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this notebook, I pre-train a model on 64x64 images of ImageNet using SimCLR-motivated self-supervised pre-training.\n\n",
"\n",
"Then I fine-tune it on IMAGENETTE and compare the results with training the model from random weights."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Imports"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from fastai.vision import *\n",
"import torchvision.transforms as T\n",
"\n",
"# from own.show_filts import show_filts"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Model first layer visualization"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import math\n",
"\n",
"def show_filts(model, n_cols=32, figsize=(24,2), global_scale=True):\n",
" filts = list(model.parameters())[0]\n",
" filts = filts.detach().cpu().numpy().transpose(0,2,3,1)\n",
" n_filts = filts.shape[0]\n",
" \n",
" n_rows = math.ceil(n_filts/n_cols)\n",
" fig, axs = plt.subplots(n_rows, n_cols, figsize=figsize)\n",
" axs = axs.flatten()\n",
" for i, ax in enumerate(axs):\n",
" ax = axs[i]\n",
" if i < n_filts:\n",
" filt = filts[i]\n",
" ax.axis('off')\n",
" if global_scale:\n",
" filt = (filt - filts.min())/max(filts.max() - filts.min(), 1e-6)\n",
" else:\n",
" filt = (filt - filt.min())/max(filt.max() - filt.min(), 1e-6)\n",
" ax.imshow(filt)\n",
" else:\n",
" fig.delaxes(ax)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Data"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[PosixPath('/media/nofreewill/Datasets_nvme/Visual/Imagenet-sz/80/val'),\n",
" PosixPath('/media/nofreewill/Datasets_nvme/Visual/Imagenet-sz/80/train')]"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"path = Path('/media/nofreewill/Datasets_nvme/Visual/Imagenet-sz/80')\n",
"path.ls()"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
"class AugDS(Dataset):\n",
" def __init__(self, folder, tfms, recurse=False):\n",
" self.x = get_image_files(folder, recurse=recurse)\n",
" self.tfms = tfms\n",
" \n",
" def __len__(self):\n",
" return len(self.x)\n",
" \n",
" def __getitem__(self, idx):\n",
" img = PIL.Image.open(self.x[idx]).convert('RGB')\n",
" img1 = self.tfms(img)\n",
" img2 = self.tfms(img)\n",
" return torch.stack((img1, img2)), torch.tensor([0, 0])"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [],
"source": [
"size = 64\n",
"tfms = T.Compose([T.RandomResizedCrop(size, scale=(0.5,1.)),\n",
" T.RandomOrder([T.RandomGrayscale(0.1),\n",
" T.ColorJitter(.5,.5,.5,.1),\n",
" T.RandomHorizontalFlip(0.5),\n",
" T.RandomRotation(10., resample=2),\n",
" ]),\n",
" T.ToTensor(),\n",
" ])"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [],
"source": [
"ds_train = AugDS(path/'train', recurse=True, tfms=tfms)"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [],
"source": [
"ds_valid = AugDS(path/'val', recurse=True, tfms=tfms)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def collate_fn(batch):\n",
" inp = [x[0] for x in batch]\n",
" targ = [x[1] for x in batch]\n",
" inp = torch.cat(inp)\n",
" targ = torch.cat(targ)\n",
" return inp, targ"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [],
"source": [
"data = ImageDataBunch.create(ds_train, ds_valid, bs=512, collate_fn=collate_fn)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Sample of augmentation"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"torch.Size([2, 3, 64, 64])"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x, y = data.train_ds[0]\n",
"x.shape"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<PIL.Image.Image image mode=RGB size=64x64 at 0x7F0F98B62250>"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"T.ToPILImage()(x[0])"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAdHUlEQVR4nI16SY9s2XbW6vZposmIzLx5+1eNy/UsGwxCSAw8YcKI/8FPQPwQpvAPGDNkbpANshG27NfUq7p122yiO83eezUMIm+9EgPjk5GhiFSeo9V8q9lrfQgAf/Ff/5OWvFgt+tXqyYuXxfw4TLViklUSkSQeXrRaOBEBYiC4BQAAgJkiIhEBgKkBADMDABKGBwAQYUS4P74hoMfjvRERbohMjEQgwsxMzIQIAL/4+l/CP+ISACjDcbXq+8TLvgUhn6c333/345vdZvv8xYtnN0+uU5sAwt1R2N0dghm0agCIiFatpohASGdN/r8XAiCiQwQS4vkXACEAwsExEOHNd/8TCSLCzQNAhEVSeAQ8WgARCUkA4Ld/9/eSpF/0189fXO7n6vH+zccfvr99eMj7/eH06vTs2ZPVatmIeDgiCqKZkYgBqDsRQQRAENFPhv+HpMfHdwICCkIkQiQEQA8HAAj4fyyBAOFgpvHZe4gIgBEuAJCH4WEcx6n6//41dUtI3ftPd1OGF68IgRhRS35yc73ZrptG+Cyi2tnxBiFNAgg3O6PiH2F+PF8AToBEj18gAgKCA8++gADAz7IC4Pnh5294fpRHCAAsmq7OVudymqbsRan5cHd/msrhmF++POb5GYZ1XdO3qcx+PB4Q4OryqukXGSClBADmHgGIAIjwD+rwKM3jZwKI81/cDD7HEiEhYkDgZ0EBERHw98oiAHg4QAgAUBAYUQhTEkxzjnnEWuL29n4ch4eH23k6EnmeTrXk/f5Ba715cvPy9et+u8W2iwB3d3dmRsQA+wcUiIiAwEfpz3DCAPcIDAgKBMBzFP/MDp81OfsEAyLiMRLk/JRGuG+TBbiJu6mRNJ0kZ4DpePj+V78a7m+Xq0WtlYSWy3539zBN0+s//Hax3TZtQ+eIhGBE/5m08DN7/0yHRwh8jkU4mzcCwgMwgs43/qQB/lz5gHNG8/ONckZSQ75qIjzmXCcrGU0Yk+C2l6UQTNP+++GBZVKntnlyc71edMxtu7h4SgGLbp59HHLfy2Zz0VKrAQEFkgcmN8aIADWIR+cHAFAAP3oAAQAI2cPis4w/A/pPkAEmJiIANDcAgEAkEgBw94CzQmBuU57UnYGEcJH4QhgxSvHJcDKcBnuvD8dO5inXXA67922fjseYhtr38frl85evf7m42BbJKsWc0TsmcHAIBYxAQGQIjiAM/GzhQIzH0EU+x8ZPLgJ8DHwiYpaz+YnOAYcCAKpuBuqoAbnqOOWIYIhOpGvarhWyFFiGsYSbsGDYNMzvx+P97cfffdcEuEe7udgm8Q8/fH/Y5T/503/ebsVVBAnBEJzAKdzDAQkwIgIB6NHCED8Z+/EFP6Ul/JxNP6d+jPO/nysIggCAOVhAdSga41ymXAJIIDqmvklt24AbqToYgAkLI9D5pTrvynE4Mstl32wvtoR0vP10/+Hdi+5F0wqJYOIya7hTQAAhsgeGB2EgIREgAkaEBwQABkZAAPrZ6oCfnUCASI/BTET4OTbOCnhVKI6Txmkq1ZyYW8JepJEkwqqu4RbKjI1QYpRIQtCkFBCs1ra0Isc5S+oaiP3HD1rmxWZFidWUmfrVsut6I7JAM4RAOktPSGdThz+CBeMMHYQzrB4lPWdQ+FxGHl1z9oAHViANmqqNuQagEHXMiySNMCCo21xy1SpNt+yblpnNGJyYy1yT4ZP18maz2O2nj28/vn/3LltUl+e/ePns5RWLSdNcPXn25OmLfr2R1D8i4jFgwc89BH6WEh5zKOJjysQARCAG/FwoH4EEAAHyn//Dv3MDD1LgST2rEpEw9EyLJIkZwovWXHOEt4kXjbTMZETh7jGr9U26uVxdLNL+YRiPp7FOgYy0/LEWm++//Oo5U5zubxtpEKVbNSx8TuRgHh6BSMTn3I+f5f+pgv0+kSKeMxQiQpx/AgAkDNXCgor5MBa1IKIu8bJLDTMCVLNcqqqJUCvE4GhAHkxQTUup23XTJtQ6JeLlYmlTDZamXXVdw1Gn473O3WorHUnPTcsUhARg4BYWfjYvIjECAhI+Wv6zJxACH71x9hgSnOvYuXESM1N1DZqqTrlCYCJaNmnRChO6e6maS42IJNwkEgx0owAAyrWqaduuiLDkXNVJGJMQCRN2ibfrhHU6HI/ufLF+As710y11qVg10OVmvVyuWSQeTY7mZgiEiABEjI8fMBAxAs/4iZ+qcgCAaK21RjEaxrnUihiNUN9QI4QE5p6rlWqI1KXUCQsBRSCRgZcwStx1DSFMuU6zFXNHYhFk6JeyWfdl1jwOp+Obh7shG5xKvnx6dXF1EQgXm+3LV19cbK/ScqHu7sEiSc7NlZ2jAwMYGCEwguP36EcicggA0VLVUBXGcVZVRuga6htOjIhQzXKttRoj9U3TsggAEALgrFZU26ZJraj6NNW52qzgIATICa4u+9Wy2c0RanmehkF3p/FhPNzv1t/+8bdX19fsFqWU0zjV0l+sUkpE6GbnROPhRExMfkYOOPpjkODP2l5xDQ8sZlPOEcEEnWAnyIIOUdVyrmbeiLQkAsgYQGRAZbaqtl5wEqpV59mqmjk5N46QWrxYp3XfaL9YLoq6TodJy3y56q+v1uPu0+7T+6Zd2eSvvvgDLdi2DZEQBhAikUNUdWJGpAhHxIgwN6TPxRuRkBFAIAwCc6lVjQhbxk6gTUiMGl5Uc9EwkFYEiDyIEYiqx1xrBLatAHidXXO4B5EQtSy+Xqa+DSJv265r2/2xaCmN4M2T7c3N9njaHY4P9x/udu8Ov/7b37aXqz/60z9++fJ1t+iX6zUiVzdiAcAwP4f2o81/3x/i+YQgFmaO4zi5KSIk5o6pTQwEtViuWqsiUkOJAAmCCB2haJ1LZU5tK6GqGawieAAzc982drFuhWqZtBQwBddo2+Zme/Xl18+3V4vDMXkuMY/zcfjd3a+jI1C9+/FDILz+8ounL170q3W3WhpEUUVE9/N59bGI/b45DRcN0PA5Z3MnoiZxI9KIBFi1Myo8EQkzPZ4q0CHGXOZcN+u+FTJVLaDFAQEIhbu+sc26Yy7TqeScqtmci2ZtEouA5rGMJyszRyxSxwAKev/ufT4N1ez+4+3zVy9fffnl01evutVSCN3DIEgeT3Lwc/kjZOQYvY4wlZiWvGxFutQjdtVqqaXME2puupY5iptQq4ElYKxmbn1CDqjV5wqz+YzuAl2irqP1uuMoZSyHQ52mbGbtQi6vNpfbi1IOWnPXpNqmsQA6LPs+BSYgJth9/JSn+Xg8DeP41TffrC83geCPBQzgXLh/HsS5wjDkea7hIEyNcMNk1bN6nrXOE7l13BBFiRAmBcrmQwnhWFDxkmalveYjRInoeAp4s724Xi2u8oEsOKrMw6natLq8uLgUwFzybDVC2d2DMSK6JbUtRZ4Pu9P+cGwWp4fb3X53AI/nr192fbe+WCFxEJu7RyDxT12S6AzjyfIEzG2i1CVJ7KrznOtcslZNQpwEERkhwgGg5lJrXjWJRSygqpn5uUlMSSB0uVzUrG4QjhHhiG3Trtfr1XrFBLVULbWql+rqIW1qu9QI17GWYcqnaRhy/mg/vn93Oh6ePr+5vNp+9dUvnr5+sXxyGaHmEITGjRtBsGiReQLQJKkRkjaxgBXTrJZLMbeeEwsDBCG6m4PP06A19+sNC1X1UqqZQ6AINyn1vVxebKyWUksuOmZQVSJuRFCj1FrnOk+1ZFODqrpeLgSJAgghNdJ2HYadjuOcj2/fpNPhfrHodne3Xw/Dl/bVcrPm1Jg7hp0bWSklNANCStgkYkYIqG6mFtXMETklIvYIZjIz9ZjHgdz6toHAUkopqgYBIERR9frFdd93ZSjzWKZchgylarcSJi5jLmXMYymzFXU19ICmaUJLBVe1AGChqMoMm36xWfZ9YlI97XY/fv+26boXgavtBsDPsySHkNNwnPJkTohAQufjgbqpQlVnZE5NIJk7B5pbrTpPU2raRpJbLUVzNXd2DK862bhZfqG5atbhVIZZRw0Q6ttFx00o5LGWSfNsWsEciEmYvRR3yMXNzMJKnSHK9uLiom+01DzNVmuFhETk0Yg0XU+NR7gByMPx02GYJXU1CLkzgGKRq881qhkKkzRAYrVaoBuUWfNcVusNEap6Vq0GjmHuNue2gUaa0/6g0ziO+XQqwwhdS60kItK5lLHOkxaNUkONmj5hOKi6RSmubuqqmttWnm5Xi4QP+6Ecx+E0/vDp+P3vvnv4+CFPw/X11Xp7tby4TKmX1UWiHqe5AuVqOUdXis01xlzmaimlQAaUQDcnd5xzcYu+XYSDWVQLdQpGNQevz24uE8Z4GqZhHGc/zapwxr9E8XkueczzpLVCKW6ALGxa2N00alH1UKuqZbVcXK4XgjFAKIJpjPO0u7uTcLa6WC6ubp5+/e0fbW+ey5/9639Bbft3f/9br5TH2RABm7EMh9Ox5Ny3rSMiC4Sbgzkcj0PTdF3bm7uaO3AgOHDOp1Ziu74ANZ3yOE5FIxcIJBFJLGGWcxnHWiuocalVupYQrGY09+pq5kFV1dUWSdZ9i6qrpnFWc1omYDf2ON7e7T993N3e62yvv6nyr/7sn81q3IZb+/HtnSilkMl/3GI83N4BhYYZgBOFai51GKfNZpNSQ1QdQiEU2QOmnBdJln2nZZ6HaZrqmF3Dc9VaKjjUWsbTcDpNBaQ6Fo31oofQsIAI8/DAIKqqCLBZdcuERaERZpQw05wXSS66TnPWWuqsb/C7uahc3Vy8+/Cp6WizvurSYtpPEhKJvumbH77/ftF10zDMmpvEY5nH8eQQ0ohjhHn1KA5KHIGB2HZtm6TmeZrnea5FuRrlPGlmDJunaZzmqpERpmpBKMKR5wA3cAcA4qpWS+1b2ax7CqvzVGst1WqtbLbdLJddezzsSi7Fpyn72/d30hDn0/FiuXj29Crqw/H+oevXX3/zul/2y1W6ub75za9/ddjvV93ieNgfx+OkBQQM1bWU84CPJQxS263WK6Eoea61AnBQUlWttRFhgrGWalYCZveqQZTCHEyBQgENEZjn06jVLrari74P1ZqzqhWDXLVB364WLdHMFNJoqYfd8ZSzTMfp7uP9k+cvGXE4PQDkpzcvnr96fpqGOS9unm8MXr9/S0J8nS+BgpvEHc91BDd1d2IDLKpd161WS62lTNkNHLkYTHMmh9V6oVpVq2Nk99nBkBrGUEsQDG7IDmgOOVcE3C5XvTR1ynnO1aAAKeCy4c26JwJhUTLAiLCSVT79+BGUyPj9j++H437R02aTiHMuu/WmWa7TC7p62H8Ija+//eLLr15NwxxuP/7wRtU0Yip10ihZ+03bdk3JuZRZqxW3cbJpKlfL1Kcmj2M1LdVy9YpkiEEUVhsCAZwgNDwXL2qdNJvVipHmKU9znZUnhyBe99gLZVMEcIBc/TTMpZjkk1LI/e3uNBw3F0uvc0QehnK/+/Ds2fPArDYB6pNn1y+fvzo8HBb9omu7v2xIZ727PR5+92mYpjzn67V4xDxPlqu6FuWqwCybixWYztNoqmPOim0FyGYJA4wSU4TWCHWaa/XAZb9YtF2Yl1Jy0bHCqJAI14uEoLVmCzgf03N1c5C//pvvBGDV95vtRd/1e91Nc2C2ZElC7j7c3u92zHR9ud1cLKfx+IsvX3SLxfvbd3Uom8snJ/PKDw+76lGG4QRYw8wCA5EkbTZysVxqqerm7nM1aMlqTDl3kKhrE+FczYnVIxcFwr7vhaRMUym1mhdzDeqTLBeN1pznuRrMuczFqhNzK7/61fcrkc1ioZM2h2Y3n06zrrrUosy7fJhOCNSndjgcd8zg2i/Ekz15ffXd3/5mue7+6E+ev/qDzcNur6fp/m5vaWm6NEyjw6nW66QrmOpsU4VsErKIijFNnea+l4bQzrMR06w01towrnrmKPM8DTlySHESwlWfGqGsVqoVp1xdVVd9t1ytpZZSAQ6H0zRNzrDPQ7fqr9ery+WyeTg0y+7pi6fTPOapDHRioeE45NBxHOc8PX/19PmXL75/9+bV6xtU/Pi794f3uxnseMof7g+nOW+uFtNoQUmNpxpzjVzmOk0NwzJxSqyhHgDmpXpxXXXtskO0OedyqjR6k2vtCC47JggPzNaMFauX0LzotAuV1XK5TK3nOk3jqYy74Sj7lJf90PWL7frJi6fjaapaEUKLXaw305TfvH/3/uMH8LhYr7vV4ub66unTp2Usa25O2yvN8N//4q9Ow/39YXyxuIn1VQmYzRxYhNUBAJNwk4SZ3MIBzKDWQhCrcyUpdS46V8zq7tE3qU/sXtXBgaqpmSMBCwBUAY/wiAh3cAVCIRQwqkXrXA4Ph3Gccp4J4fnTpzeXN7dvb+8+3rtBI91wGm73D6mT5aLvWODmajwcodof/9M/fP3LL/7XX/2fabd/e7dbrDdOjarOtah727ZdlyjxednhyLN6LdoSbvo2Eec8jdWninOtGN43bSOkFqpmDrVWrVVEEjNiSEJBj8e9rUPi1Kaub9pF0zCkech6HB/u76ZxOH7a+2whuNpumrYbT8f97rifjhfb1e72Yb3oA3R/2l1tr775J7/cT9Nq2w8fjx9+8w6lKaVMptmsVk0M/bJPKZ3nVSV4LNXUV12zbhNBjMUno9miqHYEnQSBF/WcqyrWXMy0YQ5Aj5CuaRHBze083CMWYAEWFARBQDPPY51P8w73f19/tbhYb4bMrQRE19SGu0WzOu1OH358d/vhPQl8/e1X/XLx6ftPz189Wbz++nJ9cxrG79++nU7H+/1DyeVyvaIk0jRhORc7FTsVo4BN1/VMVnSuMTmVcI9oGFsKcCseWb2WMFVCREY1ZwiptTJRLmWaZlNvuqblJCjoyEiInMdTnUorXdf0Ndvubn9790Bt6heLh7v9zbMn2812dzp+/PB2OO6Wq8Vuv3OG1bLj1Iy70l7I4vpJFdtPhw93n9QdOCxcwSFgrnaadSq2JLroGg6fS50MZ8cawIh9w42Eh6mjqpeiYc5MEOSuyCChGsyqqloRomFpWRIxMyNgONRcw6Lr+oTJzE29uuUh397uTfXh7jCd5iZhv2yfPHleND/s9vtxKJq//faXlxdX0zydhrFZwNffvn7x6ubh9n46nWrUMSO7Z/WpWFHbdrRIBK5FLTvOjhrQCvUtC6EHGJKGVq0IwCJEEIEAKATgZm41wIlIiIRQiJgoAlTV3YWYkd2CkAmAgIVIXYe5/Pi7dw8f76+u11/9wS8W686RSvF52Jvp/m4XBPf79yLN19+8HKeZsZnH8u6Hdx9+fAsGp3EapjxVD7CubZnD3LLFZDBrqOm6p7YVRKgOxahqqBohC5FDIEswCkJUUzVFiMQkjImI6XEgX0vJOSMSEbkHogcAITISEbZtz+5WfXd7/I1+t7hYLDfLXGy5Wlxd3Yyn6d2HN/vT7uXLV8tl0/XNxfrSa7RCXZPI4Ltf/fbN+/v7Y1n23WLRIMVcdLLIwQZBGA2TIDpEBSoB1dzNWJgALRyRLEAgQmtVrUghQg1jYmQGZAjwnOdcMzOLCBM9plwAD6+1QmCSRsIpYjzkYZo/3d1zopun1/Xly64TD1v2fSn50+2nvu+eXF+vNmurpczzeJo315vN4bArD0zGEkGQIybH2cLMFoxdQiSsACVIzasZEQpTRCCiB3iEhJlZsVAiFCFGEAISBALTOuXRXJtWSIgQwwEdCTDc1BQciCgRM1GgV9fTcSx11qnYUJ89vX7x5TNsYspTtpxA5nHsm04SFZ2A/YtvvugvltcvH4bdjkEL2RB+cpwdXIsw9Kkj5rnqoJ6L1aIIfF4dAJF6VHdxV9MabtyIMDABISCCU2Qt0zwBBjFFhEMA4nnpwIRUIMAiEFwQACmEeNUvrOsSUx3L/tMBgCABJby63jbcjcdxOo3H4VS9PH3+bHt5udj0z18///T2zXR36wbT6TiYZ4vk2iAJeDhUkOwxVa1q57XdeTKq5kVVws9UmUACImQEggCMACi1lFqQiIg8/Ly8QoIgxABicHcEY2IhDCJzTU3qmySIgnQ6jKexOEPqOIwW/cp9fDjcVS0k0C4E2dbb7gm3KcZ5mY7H8v1DHerpdBw3pP1mLeDqodQUr3NROzNxIs7MELX4L//jL6VYuAUFJRQhQsRzqFaznIuZdZIIMRDgPCUONDfTimEIDsDn3TQxM0jRigRtagUIgtWSWux3u/u7/d39w/Zq2a3TertQq8dhpz5vLraX63U5LQ5eZ+N+s2lOEacJwxMGYRTA4jhXK7USPq6XiQngkXkmxd0dBKShRigRETAZYs46TwWdEiYMBuQgcgcHqFXLNIsbBCKzsRhSk6RhgFkljKMQihAiYZ5LHvJpOt3f3V/dbL7+wy9X/RaApr2yR9r2bdOr43EuzXL58gvmZffsqq23nxwhOwRQMZ9zqaot0pmEAGe6xVkBN3ePlPhxhXGmryGWorVUAiJgiLPuEIgRUdWsGoezpGCx1CCxM0oisiqgCR3BgAnYALTvW0AY5+n0kN/+9q5O2PSpaVMvl6jt/f3p/d2xRvPq5bN0un9yQ5YXP/wdlL0WS+5Up6lMo5lFaozFATFQVaFWABBzBQxJP+1gEBACodSqaswcP21EPIjJ3E3VwymAEAMREYkwSWpbKXVyDQRBIgCq1dQdSJitTa17HI9DUQW0ftE1krq2qTAPp3mzvWaWrqXrqwsIKGPJaznt6u37D/v9LufMkoKpAiYRj6iq51mMmCpAsBAJIiMTIYCZ5Tm7WZPSZ17DeW0OZlbVwoP4zOAhJAKArm0J3N0fuWCICKTmwziqeS4FAVIjSKhW52k4Hnau9XB8ePmLp6vFqpF2f3folrJcriBitTqSkpZs4GOZ51oXkjziTBPRWs8LMQAQd2sSn8P3TH90hDyXec4RgESfeQsBCO5WazGrAM4sREQsyOTmbddMx10pJRFYAAI6koFjSrVOU85t03aShBgBtFiep7u4R/K+5WaxchVmXK+XDbYBUbNX9dTy5nqtUD5+2lc1QWmaBolU1cNTEgCQCGNJSAjgRAmZzH0cp1IKEiIgEZ3bBySsqrXUCCdEJmJhTmwQzEQE0zS4ayMpwh2ghueI1faq2h1OM7MgUDiCR1gQYCsJFT6++wj00Pebp8+fQF1Nx3wahuE4te0WW97oul8JNu3hMLuaY3gtVTWQRBoAEAgXZkIKiHOad7V5yqaWmoSITBSPRE+qVVUVAIUJEEQEiar5crEoOWutTEjMTkgAtZp5rBe93qEjOaCqtwkAgYEktZ00aFHGbK5374+aa9/SYRdVVbiRlFS1X7c423p70Xar+9v7/e4Q6l6tbdrUNABAcm41mZgYMNxdVad5DgDhhIDM/JlBGFWLhfIj9IGYz7haLPpxHNz9J1ZSIFXz1HaONEyzOpgHIJrHNMzzOHFAJ21Dyat7hXnIP/z2x7/5679998OHxE3bdMfjcX/Y98tWGjF3YuoWHRGWUtRMkogwAFBKDbP8ROB2s1y0lIp47hmEWM5JyExr1YjgxEQkks5cKxFZLBfD6VRLIWZOCRDdI5v16/XDbj/N2SO4aZDZTPM8CfGi67u2SczgZDXCYDiMH99+uv94N5/m6TTd3z64uZkN0zjlycNXq9XN0yfL9aJpz1mfAUBE+Az1M/vOIqZpjgBhQUDmM7EUkbDU6m7EDAHEdKY4m1nXL8475cTMzB7BKRV1JCJOh9MQ5yPImVWqDu6NSGoSBoQ5IrmFKYIjOg7705vv3oR0w3HeXl4eDqf7+3vC9mK9Gofp6mrbN+3u/sEszqRB+Y//7c/hH3H9+3/7b0w1wlkEEYjpzLsw00XfDaeTmfVdw4ju3nZpmMem6Wqth8PhTHL3iDN1mJlTOpORqke4ozuEIyElYnQ4POypVVd6uNvVGFyDA12VIJZ937CcKe7jMAPA/wW3De2yxqo/JQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<PIL.Image.Image image mode=RGB size=64x64 at 0x7F0F995D3BD0>"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"T.ToPILImage()(x[1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Model"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(Conv2d(3, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False),\n",
" Linear(in_features=512, out_features=1000, bias=True))"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model = models.resnet18()\n",
"model.conv1, model.fc"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Sequential(\n",
" (0): Linear(in_features=512, out_features=512, bias=True)\n",
" (1): ReLU(inplace=True)\n",
" (2): Linear(in_features=512, out_features=256, bias=True)\n",
")"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"h, s = 512, 256\n",
"model.fc = nn.Sequential(nn.Linear(model.fc.in_features, h),\n",
" nn.ReLU(inplace=True),\n",
" nn.Linear(h, s),\n",
" )\n",
"model.fc"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Loss"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"device = data.device"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"def loss_fn(inp, targ):\n",
" thau = 1.\n",
" # Similarities\n",
" inp_norm = inp / inp.norm(dim=1)[:,None]\n",
" simils = torch.mm(inp_norm, inp_norm.transpose(0,1))\n",
" # Good and Bad\n",
" N = len(inp_norm)\n",
" eye = (2*torch.eye(N)-1).to(device)\n",
" eye[torch.arange(1,N, step=2), torch.arange(0,N, step=2)] = 1\n",
" eye[torch.arange(0,N, step=2), torch.arange(1,N, step=2)] = 1\n",
" #\n",
" exps = torch.exp(simils)\n",
" num = ((exps/thau)*(eye+1)/2).sum(dim=1)\n",
" den = ((exps/thau)*(-eye+1)/2).sum(dim=1)\n",
" loss = (-torch.log(num/den)).mean()\n",
" return loss"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Train"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"learn = Learner(data, model, loss_func=loss_fn)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1728x144 with 64 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"show_filts(learn.model)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <div>\n",
" <style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
" </style>\n",
" <progress value='0' class='' max='1', style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
" 0.00% [0/1 00:00<00:00]\n",
" </div>\n",
" \n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: left;\">\n",
" <th>epoch</th>\n",
" <th>train_loss</th>\n",
" <th>valid_loss</th>\n",
" <th>time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" </tbody>\n",
"</table><p>\n",
"\n",
" <div>\n",
" <style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
" </style>\n",
" <progress value='99' class='' max='2502', style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
" 3.96% [99/2502 00:26<10:47 5.6221]\n",
" </div>\n",
" "
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
]
},
{
"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.lr_find()\n",
"learn.recorder.plot()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: left;\">\n",
" <th>epoch</th>\n",
" <th>train_loss</th>\n",
" <th>valid_loss</th>\n",
" <th>time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>5.312265</td>\n",
" <td>5.324622</td>\n",
" <td>10:37</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"learn.fit_one_cycle(1, 3e-3)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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xjXfj7P4RDE9+78pFi4xNr2iziTv1SZ/zyjp34+YE7LivXNoW7vI5OXTTEIsthBYY/L1QNWJSxPu+2Zmq2e8T5EYf+fNgV88z5PyChQGOUb5Htfw+ST3cjOz4Mucolk1zu/jLOfN1NJtMaew2Sn36MCInytk/EJBz8VYSCsT5L3P5mcvejiuctwzMca1yjbve67snyUKaV4zuOCM29HsSfMHFRY9ORfkPtOLcdxyBb94xIYz508WnP28N3vhpitb3LvKxpjem3Dci69hnDQz26mzT4sTrzDCSyg+keBa6PQ4Hr0Q+zkI8PeYmYUb/P5k2zmHhf14MU1ynUWWzu7wLFQscn1cyDPWmpnFJowPmTT7v9SavYBPpc7YthTmvSofcJyjecZVM7PRkMVpDkeMQ7EbnA/TCs6c1FlQZBDnOez6hOvr0SB/o5lZr8s+jYe8x83Y7LF+Yd0pyFTjfppP8N51nCJ3ZmYnGzxzbRxyfbe6s8/R3JDx9mUFxrvx+ZezPwf+8207x/sUbbDIX33KWcaTaHEujUYsEBUu8XNri/64nfVZbCfb4TqMJ2c/Mz1QYqzPFDnvspUvoy1/7D+Pra1yr9pynv0yRb+op2clyHN1K8ICU4M1nuMuO8/2ZmZXR3y+Pw7xfj7kFKSeJrPEZ/G+MV4Uznh+H8T9va/R4lmm+DLuFbXJ7GeR1RLPcVurjP0HjzKm1/pPutcsD5wiYEHG9PRL+P8EbyT599srnF/RZxn7X8j74x465bPL9iYLmtbLs6/3Q+cVyiDJQrZxp5heouVXKe0EnkZbJsX5FXOe76aJdnlmKwWds3KTxd82V/2zSOOIe0+8zXWYXZ69uK3+T1IRERERERERERGZa3pJKiIiIiIiIiIiInNNL0lFRERERERERERkruklqYiIiIiIiIiIiMy1wGQye8JiERERERERERERkf/a6P8kFRERERERERERkbmml6QiIiIiIiIiIiIy1/SSVEREREREREREROaaXpKKiIiIiIiIiIjIXNNLUhEREREREREREZlrekkqIiIiIiIiIiIic00vSUVERERERERERGSu6SWpiIiIiIiIiIiIzDW9JBUREREREREREZG5ppekIiIiIiIiIiIiMtf0klRERERERERERETmml6SioiIiIiIiIiIyFzTS1IRERERERERERGZa3pJKiIiIiIi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\n",
"text/plain": [
"<Figure size 1728x144 with 64 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"show_filts(learn.model)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Ixyxq5fHuDeI4xzw59rMzCy4jfN3dBefCYKDeS54v5LMUlcwtPH4h5zDZ87g9bGhyH2PjvMwxCY3g+vlObUMg/KmvpG/PzeIISM1pbwfhqe7/87IEOehsyM8n8P38XyYnuvcpJXVc87oi+H58MkYr69rA93nWG8n11cjg1zLNEeOP2hoyhpHIFPpWtSKU5gA1OzlnrR7LefBdTt4fVY3u4OKXNKGeN1emuMInFl0LWrlJQwUMjNrT2ewWlgT56Emf8fctsy5SYtt5nU3PMjFRNhZhmvNyGUoj5nZuV6etxltDCSNTWLNm1tPzEUte3tiYlMAACAASURBVCqDn3LL7kOtcD/fVZiZLV7oh9rqeVwz5U7jtenNjGDe5xrD3kOtbwHnhWvS3PekFwYYknoklPPajUPu8DyXqWv5XqTdGHy6fAev7dY0zhVmZicrODeseYTn/OExrm+8mVTO+/GcKStRO34t59SIXoZ2m5lV9XONEhvA45F08Vdg/+SpzMmo3bqSYWOxjx5F7Zlp7meP0D2foHbj1QwvKjvsCpF0X/BHW7mu7Uvi+5eYw9yfcc18bjEza/d7A7W0ZL4DiQ7m/cCb6Fbe444Hcf4LqGM4+rL57oCp6gN8Fkxoctyf5/DdlTf6l6QiIiIiIiIiIiLi0/SSVERERERERERERHyaXpKKiIiIiIiIiIiIT9NLUhEREREREREREfFpfh4Pw4xEREREREREREREfIX+JamIiIiIiIiIiIj4NL0kFREREREREREREZ+ml6QiIiIiIiIiIiLi0/SSVERERERERERERHyaXpKKiIiIiIiIiIiIT9NLUhEREREREREREfFpekkqIiIiIiIiIiIiPk0vSUVERERERERERMSn6SWpiIiIiIiIiIiI+DS9JBURERERERERERGfppekIiIiIiIiIiIi4tP0klRERERERERERER8ml6SioiIiIiIiIiIiE/TS1IRERERERERERHxaXpJKiIiIiIiIiIiIj5NL0lFRERERERERETEp+klqYiIiIiIiIiIiPg0vSQVERERERERERERn6aXpCIiIiIiIiIiIuLT9JJUREREREREREREfJpekoqIiIiIiIiIiIhP00tSERERERERERER8Wl6SSoiIiIiIiIiIiI+TS9JRURERERERERExKcFXuw//uC6tz3/vVYUn4rP1TTE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\n",
"text/plain": [
"<Figure size 1728x144 with 64 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"show_filts(learn.model, global_scale=False)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3de3Qc9Z3n/fe3r7pbsiUbXwg2kHAxsY2iOGFIAC8ZMmY2IRB2MBtOAtmMF4bNZfJkdtjsngmb2dmHPGR4SCbz4ENmYiZZAicJ45BhwZBJyBIyBJAZY4wNwQERjMCW5YssWZfu1vf5o0qy3G7Jsq1SS6rP65w+XV1VXf39dUv97d+lfmXujoiIxFei3AGIiEh5KRGIiMScEoGISMwpEYiIxJwSgYhIzKXKHcDxamxs9MWLF5c7DBGRaWXTpk173L2p1LZplwgWL15Ma2trucMQEZlWzOz10bapaUhEJOaUCEREYk6JQEQk5qZdH4GIzBy5XI6dO3fS19dX7lBmjIqKChYtWkQ6nR73c5QIRKRsdu7cSW1tLYsXL8bMyh3OtOfudHZ2snPnTpYsWTLu56lpSETKpq+vjzlz5igJTBAzY86cOcddw1IiEJGyUhKYWCfyfsYmEbz89kH++rGX2dPdX+5QRESmlNgkgh27u/mbn++gs3ug3KGIyBTR2dnJihUrWLFiBaeccgoLFy4cfjwwML7vihtuuIGXX3454kijFZvO4mSY8gqDuhCPiATmzJnD5s2bAbj11lupqanhS1/60hH7uDvuTiJR+nfz+vXrI48zapHWCMys3sx+ZGYvmdl2M7ugaPvZZvaUmfWb2ZdGO85ESITtZoO6IpuIHMOOHTs477zzuPHGG2lubuatt95i7dq1tLS0sHTpUr761a8O7/uBD3yAzZs3k8/nqa+v55ZbbmH58uVccMEF7N69u4ylGL+oawTfADa6+9VmlgGqirbvBT4HfCziOJQIRKa4//5PL7KtvWtCj3nugjq+8pGlJ/Tcbdu2sX79etatWwfAbbfdxuzZs8nn86xatYqrr76ac88994jnHDhwgIsvvpjbbruNL37xi3znO9/hlltuOelyRC2yGoGZ1QEXAX8P4O4D7r5/5D7uvtvdnwVyUcUxJJkIEoGahkRkPM444wze+973Dj++7777aG5uprm5me3bt7Nt27ajnlNZWcnq1asBeM973kNbW9tkhXtSoqwRnA50AOvNbDmwCfi8u/cc74HMbC2wFuAd73jHCQWTSKhGIDKVnegv96hUV1cPL7/yyit84xvf4JlnnqG+vp7rrruu5Fj9TCYzvJxMJsnn85MS68mKso8gBTQDd7n7+UAPcEJ1JHe/291b3L2lqankdNrHlLShGsEJPV1EYqyrq4va2lrq6up46623ePTRR8sd0oSKskawE9jp7k+Hj3/ECSaCiTDU4a8agYgcr+bmZs4991zOO+88Tj/9dC688MJyhzShIksE7v62mb1hZme5+8vApcDRjWqTZLizWH0EIlLCrbfeOrx85plnDg8rheBs3e9973sln/fkk08OL+/ff7gbdM2aNaxZs2biA41A1KOGPgvcG44YehW4wcxuBHD3dWZ2CtAK1AGDZvYF4Fx3n9ihA4zoLFaNQETkCJEmAnffDLQUrV43YvvbwKIoYxiSMI0aEhEpJTZTTCQ1akhEpKT4JAKNGhIRKSk2iWBoZlbVCEREjhSbRDDcNKQ+AhGRI8QuEWjUkIgMueSSS446OezOO+/kT/7kT0Z9Tk1NDQDt7e1cffXVox63tbV1zNe+8847OXTo0PDjyy+//Ijhp5MpNolAo4ZEpNi1117L/ffff8S6+++/n2uvvfaYz12wYAE/+tGPTvi1ixPBww8/TH19/Qkf72TEJhFo1JCIFLv66qt56KGH6O8PrlzY1tZGe3s7K1as4NJLL6W5uZl3v/vdPPjgg0c9t62tjfPOOw+A3t5e1qxZw7Jly7jmmmvo7e0d3u+mm24anr76K1/5CgDf/OY3aW9vZ9WqVaxatQqAxYsXs2fPHgDuuOMOzjvvPM477zzuvPPO4dc755xz+OM//mOWLl3KZZdddsTrnIz4XJhm+MziMgciIqU9cgu8/cLEHvOUd8Pq20bdPGfOHFauXMnGjRu54ooruP/++7nmmmuorKxkw4YN1NXVsWfPHt7//vfz0Y9+dNTrAd91111UVVWxZcsWtmzZQnNz8/C2v/qrv2L27NkUCgUuvfRStmzZwuc+9znuuOMOHn/8cRobG4841qZNm1i/fj1PP/007s773vc+Lr74YhoaGnjllVe47777+Pa3v80f/dEf8cADD3Dddded9NsUmxrB0OenPgIRGWlk89BQs5C78+Uvf5lly5bxoQ99iDfffJNdu3aNeownnnhi+At52bJlLFu2bHjbD37wA5qbmzn//PN58cUXS05fPdKTTz7JlVdeSXV1NTU1NVx11VX88pe/BGDJkiWsWLECmNhpruNTI9CoIZGpbYxf7lH62Mc+xhe/+EWee+45ent7aW5u5p577qGjo4NNmzaRTqdZvHhxyWmnRypVW3jttdf4+te/zrPPPktDQwPXX3/9MY/jY/xYzWazw8vJZHLCmoZiUyPQqCERKaWmpoZLLrmET3/608OdxAcOHGDu3Lmk02kef/xxXn/99TGPcdFFF3HvvfcCsHXrVrZs2QIE01dXV1cza9Ysdu3axSOPPDL8nNraWg4ePFjyWD/+8Y85dOgQPT09bNiwgQ9+8IMTVdySYlMj0OyjIjKaa6+9lquuumq4iegTn/gEH/nIR2hpaWHFihWcffbZYz7/pptu4oYbbmDZsmWsWLGClStXArB8+XLOP/98li5detT01WvXrmX16tXMnz+fxx9/fHh9c3Mz119//fAxPvOZz3D++edHerUzG6saMhW1tLT4scbnlrK3Z4Dmv/wpt37kXK6/cEkEkYnI8dq+fTvnnHNOucOYcUq9r2a2yd2LJwEFYtQ0lBieYqK8cYiITDXxSQQ6j0BEpKRIE4GZ1ZvZj8zsJTPbbmYXFG03M/umme0wsy1m1jzasU5WUmcWi0xJ0615eqo7kfcz6hrBN4CN7n42sBzYXrR9NfDO8LYWuCuqQDRqSGTqqaiooLOzU8lggrg7nZ2dVFRUHNfzIhs1ZGZ1wEXA9QDuPgAMFO12BfBdD/4Kfh3WIOa7+1sTHY9GDYlMPYsWLWLnzp10dHSUO5QZo6KigkWLju/Cj1EOHz0d6ADWm9lyYBPweXfvGbHPQuCNEY93husmPBEcnmtooo8sIicqnU6zZIlG8ZVblE1DKaAZuMvdzwd6gFuK9ik1ccdRX9VmttbMWs2s9UR/OQyNGlIfgYjIkaJMBDuBne7+dPj4RwSJoXifU0c8XgS0Fx/I3e929xZ3b2lqajqhYMwMM40aEhEpFlkicPe3gTfM7Kxw1aVA8WxLPwE+GY4eej9wIIr+gSFJM9UIRESKRD3FxGeBe80sA7wK3GBmNwK4+zrgYeByYAdwCLghymASCdOoIRGRIpEmAnffDBSf0rxuxHYHbo4yhpGSZigPiIgcKTZnFkPQYaymIRGRI8UrESTURyAiUixWiSCZMI0aEhEpEq9EoFFDIiJHiVUiSKhGICJylHglAoPBwXJHISIytcQqESRN5xGIiBSLVSJIJEyzj4qIFIlVIkjqzGIRkaPEKxFo1JCIyFHilQh0QpmIyFFilQhSyQR5JQIRkSPEKxGoRiAicpRYJYJkwsgVdCKBiMhIsUoE6aRqBCIixWKVCJIJI19QIhARGSnSC9OYWRtwECgAeXdvKdreAHwHOAPoAz7t7lujiiedTNCTz0d1eBGRaSnqS1UCrHL3PaNs+zKw2d2vNLOzgb8luLZxJDR8VETkaOVuGjoX+BmAu78ELDazeVG9WCph5NQ0JCJyhKgTgQOPmdkmM1tbYvvzwFUAZrYSOA1YVLyTma01s1Yza+3o6DjhYFKJhGoEIiJFok4EF7p7M7AauNnMLirafhvQYGabgc8C/woc1Yjv7ne7e4u7tzQ1NZ1wMMmkkdM81CIiR4i0j8Dd28P73Wa2AVgJPDFiexdwA4CZGfBaeIuETigTETlaZDUCM6s2s9qhZeAyYGvRPvVmlgkffgZ4IkwOkUglEho+KiJSJMoawTxgQ/BDnxTwfXffaGY3Arj7OuAc4LtmVgC2Af8hwnhIJYy8moZERI4QWSJw91eB5SXWrxux/BTwzqhiKJbSmcUiIkcp9/DRSaXhoyIiR4tVIkhq+KiIyFFilQjSSfURiIgUi1Ui0KRzIiJHi1UiGLpCmesC9iIiw+KVCBIGoH4CEZERYpUIkmEi0HWLRUQOi1UiSCdVIxARKRarRJBMBMVVh7GIyGGxSgRDNQINIRUROSxWiUB9BCIiR4tVIkgpEYiIHCVmiWCoj0BNQyIiQ2KVCDKpoLg5JQIRkWGxSgTZMBH05ZQIRESGRHqpSjNrAw4CBSDv7i1F22cB/wt4RxjL1919fVTxZNNJAPrzSgQiIkMiTQShVe6+Z5RtNwPb3P0jZtYEvGxm97r7QBSBDNUI+nOFKA4vIjItlbtpyIHa8ML1NcBeIB/Viw0nAtUIRESGRZ0IHHjMzDaZ2doS279FcN3iduAF4PPuftS3tJmtNbNWM2vt6Og44WCyqaGmIdUIRESGRJ0ILnT3ZmA1cLOZXVS0/cPAZmABsAL4lpnVFR/E3e929xZ3b2lqajrhYLJp1QhERIpFmgjcvT283w1sAFYW7XID8I8e2AG8BpwdVTyH+wiUCEREhkSWCMys2sxqh5aBy4CtRbv9Drg03GcecBbwalQxVaTVNCQiUizKUUPzgA1BPzAp4PvuvtHMbgRw93XAXwL3mNkLgAF/PsYIo5OmzmIRkaNFlgjc/VVgeYn160YstxPUFCbF4c5iJQIRkSHlHj46qdJJw0znEYiIjBSrRGBmZFMJ1QhEREaIVSKAoHmoTzUCEZFhMUwEqhGIiIwUu0RQkU7SqxqBiMiw2CWC6myKnn4lAhGRIfFLBJkkPf2RzWsnIjLtjCsRmNkZZpYNly8xs8+ZWX20oUWjOpvi0IASgYjIkPHWCB4ACmZ2JvD3wBLg+5FFFaGabIpu1QhERIaNNxEMunseuBK4093/FJgfXVjRqcok1UcgIjLCeBNBzsyuBT4FPBSuS0cTUrSqsyl61DQkIjJsvIngBuAC4K/c/TUzW0JwreFppyaboqc/j7uXOxQRkSlhXJPOufs24HMAZtYA1Lr7bVEGFpXqbIpBh77cIJWZZLnDEREpu/GOGvqFmdWZ2WzgeWC9md0RbWjRqM4GX/5qHhIRCYy3aWiWu3cBVwHr3f09wIeiCys61ZmgEqRzCUREAuNNBCkzmw/8EYc7i6el6uxQItDIIRERGP+Fab4KPAr8yt2fNbPTgVeO9SQzawMOAgUg7+4tRdv/DPjEiFjOAZrcfe844zpuNWEi0LkEIiKB8XYW/xD44YjHrwIfH+drrBrt8pPufjtwO4CZfQT40yiTAEBdZVDkrt5clC8jIjJtjLezeJGZbTCz3Wa2y8weMLNFExzLtcB9E3zMo8yqDE5/OKBEICICjL+PYD3wE2ABsBD4p3DdsTjwmJltMrO1o+1kZlXAHxBMZVFq+1ozazWz1o6OjnGGXFpdhRKBiMhI400ETe6+3t3z4e0eoGkcz7vQ3ZuB1cDNZnbRKPt9hKD/oWSzkLvf7e4t7t7S1DSelx1dXVgj6OpTIhARgfEngj1mdp2ZJcPbdUDnsZ7k7u3h/W5gA7BylF3XMAnNQgDJhFGbTalGICISGm8i+DTB0NG3gbeAqwmmnRiVmVWbWe3QMnAZsLXEfrOAi4EHxx/2yamrTCsRiIiExjtq6HfAR0euM7MvAHeO8bR5wAYzG3qd77v7RjO7MTzmunC/K4HH3L3nOGM/YXWVaY0aEhEJjfc8glK+yBiJIBxiurzE+nVFj+8B7jmJOI7brEo1DYmIDDmZS1XahEUxyWZVpunq1QllIiJwcolg2s7jPEt9BCIiw8ZsGjKzg5T+wjegMpKIJkFdhRKBiMiQMROBu9dOViCTaVZlmt5cgYH8IJnUyVSKRESmv1h+C86qCk4q2987UOZIRETKL5aJYE51FoC9PUoEIiKxTASNNRkA9hxUIhARiWciqA1qBHu6+8sciYhI+cUzEVQrEYiIDIllIqirTJFJJuhQIhARiWciMDPm1GTo7FYfgYhILBMBQGNNVk1DIiLEOhFklAhERIhxIphTk9XwURERYpwIGmuydPb04z5t584TEZkQJ3M9gmMyszbgIFAA8u7eUmKfSwiua5AG9rj7xVHGNKSpNkuu4Ow/lKOhOjMZLykiMiVFmghCq9x9T6kNZlYP/H/AH7j778xs7iTEA8CCWRUAtB/oVSIQkVgrd9PQvwf+MbwU5tBF7ifFwoZgFu039/VO1kuKiExJUScCBx4zs01mtrbE9ncBDWb2i3CfT5Y6iJmtNbNWM2vt6OiYkMAW1AeJoH2/EoGIxFvUTUMXunt72OTzUzN7yd2fKHr99wCXElzo5ikz+7W7/2bkQdz9buBugJaWlgnp3Z1TnSGbSvCmEoGIxFykNQJ3bw/vdwMbgJVFu+wENrp7T9iP8AQlLngfBTNjYX0l7fv7JuPlRESmrMgSgZlVm1nt0DJwGbC1aLcHgQ+aWcrMqoD3AdujiqnYwoZK1QhEJPaibBqaB2wws6HX+b67bzSzGwHcfZ27bzezjcAWYBD4O3cvThaRWTCrkp+/PWn90yIiU1JkicDdX6VEM4+7ryt6fDtwe1RxjGVhQyUdB/vpyxWoSCfLEYKISNmVe/hoWS1urAagrbOnzJGIiJRPrBPBmU01APx2txKBiMRXrBPBksZqzGDH7u5yhyIiUjaxTgSVmSQL6yv5bYcSgYjEV6wTAcCZc2uUCEQk1mKfCM5oquHVjh4GBzUdtYjEkxJBUw29uQLtB3RimYjEU+wTwZlzg5FDr+xS85CIxFPsE8E582sB2PZWV5kjEREpj9gngtqKNKfNqeLF9gPlDkVEpCxinwgAzp1fx7Z21QhEJJ6UCIClC+po6zzEwb5cuUMREZl0SgTA0gWzANj+1sEyRyIiMvmUCIBzF9QBsPVN9ROISPwoEQDz6ipYMKuC5363r9yhiIhMOiWCUMvi2Tzbthd3nWEsIvESaSIwszYze8HMNptZa4ntl5jZgXD7ZjP7iyjjGct7Fzewq6ufnft0hrGIxEuUl6ocsiq8MP1ofunu/3YS4hjTe5fMBuCZ1/Zy6uyqMkcjIjJ51DQUetfcWmZVpnnq1c5yhyIiMqmiTgQOPGZmm8xs7Sj7XGBmz5vZI2a2tNQOZrbWzFrNrLWjoyOSQBMJ4wPvbOSJ33Son0BEYiXqRHChuzcDq4Gbzeyiou3PAae5+3Lgb4AflzqIu9/t7i3u3tLU1BRZsJe8q4ndB/s175CIxEqkicDd28P73cAGYGXR9i537w6XHwbSZtYYZUxjufisIMn84uVoah0iIlNRZInAzKrNrHZoGbgM2Fq0zylmZuHyyjCesjXSz62tYOmCOn7x8u5yhSAiMumiHDU0D9gQfs+ngO+7+0YzuxHA3dcBVwM3mVke6AXWeJkb6FedNZe7/s9vOdCbY1ZlupyhiIhMisgSgbu/CiwvsX7diOVvAd+KKoYTcclZTXzr8R08+coe/nDZ/HKHIyISOQ0fLbLi1HoaqtI8svWtcociIjIplAiKpJIJ/nDZfP55+y66+/PlDkdEJHJKBCV8bMVC+nKDPLxFtQIRmfmUCEp4z2kNvGteDf/wVJtOLhORGU+JoAQz45MXLObF9i42va6pqUVkZlMiGMWV5y+ktiLFPf/SVu5QREQipUQwiupsijXvPZVHtr7Njt3d5Q5HRCQySgRj+I8Xn0FFKsHXH3253KGIiERGiWAMjTVZ1l50BhtffFuXsRSRGUuJ4Bg+88ElNNZkuO2RlzSCSERmJCWCY6jOpvj8pe/kmdf28s/bNRmdiMw8SgTjsGblOzhrXi1//sAW3tyvaxqLyMyiRDAO6WSCu65rJpcf5Kb/tYm+XKHcIYmITBglgnE6vamGO65ZwZadB7j1Jy+WOxwRkQmjRHAcfv/cedy86gzuf/YNvvtUW7nDERGZEJEmAjNrM7MXzGyzmbWOsd97zaxgZldHGc9E+OLvn8WHzpnLXzz4Ij9sfaPc4YiInLTJqBGscvcV7t5SaqOZJYGvAY9OQiwnLZkwvvXvm/nAmY385we28LeP79CwUhGZ1qZC09BngQeAaTM2syKd5NufbOGjyxdw+6Mv89n7/pXO7v5yhyUickKiTgQOPGZmm8xsbfFGM1sIXAmsO+qZR+631sxazay1o6MjolCPT2UmyZ3XrODPPnwWG7e+zaqv/4J7fvUa+cJguUMTETkuUSeCC929GVgN3GxmFxVtvxP4c3cfczymu9/t7i3u3tLU1BRVrMfNzLh51Zls/MIHWX5qPbf+0zYu/+Yv+Zcde8odmojIuNlktW+b2a1At7t/fcS61wALHzYCh4C17v7j0Y7T0tLira2j9juXjbvz2LZd/OVD29i5r5ezT6nlquaFfLx5EXNqsuUOT0Rizsw2jdpXG1UiMLNqIOHuB8PlnwJfdfeNo+x/D/CQu/9orONO1UQwpC9X4Aetb/Djf32T5363n3TS+PDSU7hixUIuelcj2VSy3CGKSAyNlQhSEb7uPGCDmQ29zvfdfaOZ3Qjg7mP2C0xXFekkn7xgMZ+8YDGv7DrIvU//jgc3v8lDW96iNpviwjMbWf3uU/j9c+dRlYny7RcRGZ9JaxqaKFO9RlBKrjDIr3bsYePWt/n5S7vZfTAYYVSTTXHWKbV8eOk83n/6HJYumEUyYcc4mojI8StXjUBC6WSCS86ayyVnzWVw0Pn1a51satvHnu5+nvvdfv7nwy8BUJtN8Z7FDaxcMpuVi2ezdMEsKjNqShKRaCkRTLJEwvi9Mxr5vTMah9e93tnD5jf28/Rre3nmtb384uXgimgJC+Y4WjynmkUNlZw2p4pFDVXMq8vSWBPcMqmpcCqIiExnSgRTwGlzqjltTjVXrFgIQGd3P5te38fW9i62tR9g575DPPXbPfQMHD3KdnZ1hqaaLHPrsjTVZKmvylBflWZOTYbGmixLGquZW5tloDBI255DzK3NsqC+UglERIYpEUxBc2qyXLb0FC5besrwOndnb88AO/f1svtgP3u6+9nd1c/ug33sPtjP7oP9vNrRw/5DAyUTRrH5sypYtmgWpzfVcHpjNY21WRqrs9RXpamvSlOTTRF29IvIDKdEME2YGXNqsuM6J2EgP8iurj729gzQ1tnDnu4B3J13zqtl14E+2g/08mpHD8/v3M/Ptu8mP3j0gIF00qhIJ8kkE1RnU5w5t4Yz59awqKGSU+oqWNxYzazKNLMq01Sk1Y8hMp0pEcxAmVSCU2dXcersKpafWj/mvgP5Qd4+0EdHdz+d3f3s782x/9AA+w/l6OnPkxt0unpz7NjdzZOv7GGgxBQajTVZFjZUsqi+kobqNDXZNLOr08yrq6CpNsu8ugrm1VVQk9Wfm8hUpP/MmMukErxjThXvmFN1zH0Lg05nTz/t+/t4vbOHrr48+8Pmqjf397LtrS4O9Obo7suXTBjVmSRz6yqYWxt0dGfTCZpqssyuztBQlaEik+TUhkrmz6qktiJFtRKHyKTQf5qMWzJhzK2tYG5tBSvGqGm4O939eXYN9WF09bOrK+jL2NUVPH7p7S76coN0dPczkC89Ud/iOVUsbqxmXm0F6ZSRTiZoqs1ySli7OHV2FUsaq9U0JXKSlAhkwpkZtRVpaivSnDm3Zsx93Z2egQL7egbozRV4Y+8h3u7qY1/PAC+2d/G7vYd4sb2LwUGnL1co2RFeW5FiVmWahqoMjTWZoC+lOkMqGXR2V2dTNNVkecfsKpIJIz/oZFJBbaSpNuhzyaYS6hyX2FIikLIyM2qyqeH+g3fNqx1z/57+PLu6+ujpL9DW2UPbnh46ewY40Jtj36EBOrr7eentg+ztGRjuBC+U6Awvlk4asyrT1FWmqa9Mk0klqK/MDA/DbQzv66sy1GRTVGWTVGeC+6p0klRSw3Fl+lIikGmlOpvi9KaglvHuRbPG9ZzegQJvd/Wxc98hIGji6ssV6DjYz57uAczgYF+eA705DhzKsb93gIH8IL/t6OaZtgH2HRrgWDOxJAwaqjLUVqSoSCepq0hTV5miqbaC2ooUVZkkDVWZ4VFWs6szLGyopK4iRXUmRUJTi0gZKRHIjFeZSbKksZoljdUn9Px8YZB9h3Ls6e5nX09wnsahgTw9/Yfvc4VBOnv66ekv0JsrcLAvx5v7+9j8xn66+/P05Ua/YFHCGB6KW5VJYQZmkC847jCrKk1DVZr6ykx4nkeGOdVB0kklE6SSRl1FKmyOS1FXkSadTOA46URCSUaOSYlA5BhSYSf1UH/CicgXBtnfm+NAb47egQKdPQO8ua+X7v4cXb159vcOcKA3T+9AHvfg0n4JMxIGB3pztO05xP7e/ew7lBu1c300Q+eEVGWSVKaTh5fDx5WZFJXpBNlUklTSqM2mqBjaFu5fkR6xfzpJZSZBZSalGs0MoUQgMglSycTw/FAnw93pzRXo7B7gYF+ewqAzUBjkYF+Og3358BYki0TCyBUG6c8P0jtQoC9X4NBAUGMZWt7Xk6M3V6B3oEB/vkCu4PSEyeh41GZTzKpKU1eRpqE6qJEkzUgkjKQZyWR4nzASZlRng+azmooU9ZVpUskERtD0V5VJMpAfxIFUwqjOpqge0SdTnUlRmU4q+UwgJQKRacTMqMqkqJod3b+uu9OfH6QvVxhOEn25weEE0hsmk57+IPF09wf9K129Obr6cuztGeDgYJCkCoPOoA/dM7yuuz9IWOPoxy/JDKrSSarCgQbZVIJ0MkE6GQwzzpR4nEkOrUuQTtmRj5M24hgJ0qkEmfC5Q7dMyqjJpsmmEiTMMAvOw8mmEhg2fK1FO7yImWHhulQiQa4wOBzbVKJEICJHMLPh5qCxz0s/OUO1m709AwwOgvhVopkAAAmnSURBVOP09BfoGciTSQZftvnBQbr78xwaCBJPz0CBQ+F9T3+ennDbQH6QXGGQgcIgA/nB4Kz4gg+vy4XrcwUnlw/3Kwwed81noiQTRiphoyaEwmAQezaVoL4qQyYVJJEvXXYWHzt/4YTHE2kiMLM24CBQAPLFF0UwsyuAvwQGgTzwBXd/MsqYRGRqGK7dlPFKfUNfuP1hIskVBsnlvSh5HE4w3f35oNnKYdCD/fpzQTMWBMmN4eUguQHDtaFUwhjID9KXL5AvBM83gtrFSAkLrmPSlxtkf+8AuYKTThhzT6KfaiyT8Qmscvc9o2z7GfATd3czWwb8ADh7EmISESGZMJKJZOzPTi9r05C7d494WA1Mr+tmiojMAFH3WDjwmJltMrO1pXYwsyvN7CXgfwOfHmWftWbWamatHR0dEYYrIhI/USeCC929GVgN3GxmFxXv4O4b3P1s4GME/QVHcfe73b3F3VuampqijVhEJGYiTQTu3h7e7wY2ACvH2PcJ4AwzaxxtHxERmXiRJQIzqzaz2qFl4DJga9E+Z1o45aOZNQMZoDOqmERE5GhRdhbPAzaE3/Mp4PvuvtHMbgRw93XAx4FPmlkO6AWucS/XyF4RkXiy6fa929LS4q2treUOQ0RkWjGzTcXncg2ZWuc5i4jIpJt2NQIz6wBeP8GnNwKjndw2U6nM8aAyx8PJlPk0dy857HLaJYKTYWato1WNZiqVOR5U5niIqsxqGhIRiTklAhGRmItbIri73AGUgcocDypzPERS5lj1EYiIyNHiViMQEZEiSgQiIjEXm0RgZn9gZi+b2Q4zu6Xc8UwkM2szsxfMbLOZtYbrZpvZT83slfC+IVxvZvbN8H3YEs7xNOWZ2XfMbLeZbR2x7rjLaGafCvd/xcw+VY6yjMco5b3VzN4MP+fNZnb5iG3/JSzvy2b24RHrp83fvZmdamaPm9l2M3vRzD4frp/Jn/NoZZ7cz9rdZ/wNSAK/BU4nmNjueeDccsc1geVrAxqL1v0/wC3h8i3A18Lly4FHCK6v/X7g6XLHP84yXgQ0A1tPtIzAbODV8L4hXG4od9mOo7y3Al8qse+54d90FlgS/q0np9vfPTAfaA6Xa4HfhGWbyZ/zaGWe1M86LjWClcAOd3/V3QeA+4EryhxT1K4A/iFc/geC6z0Mrf+uB34N1JvZ/HIEeDw8mKZ8b9Hq4y3jh4Gfuvted98H/BT4g+ijP36jlHc0VwD3u3u/u78G7CD4m59Wf/fu/pa7PxcuHwS2AwuZ2Z/zaGUeTSSfdVwSwULgjRGPdzL2mz3dlLoS3Dx3fwuCPzZgbrh+Jr0Xx1vGmVD2/xQ2g3xnqImEGVheM1sMnA88TUw+56IywyR+1nFJBFZi3UwaN3vMK8GNMNPfCxi9jNO97HcBZwArgLeAvw7Xz6jymlkN8ADwBXfvGmvXEuumZblLlHlSP+u4JIKdwKkjHi8C2ssUy4Tz0leC2zXU5BPe7w53n0nvxfGWcVqX3d13uXvB3QeBb3P4in8zprxmlib4QrzX3f8xXD2jP+dSZZ7szzouieBZ4J1mtsTMMsAa4CdljmlC2OhXgvsJMDRa4lPAg+HyTwguBmRm9n7gwFC1exo63jI+ClxmZg1hVfuycN20UNSXcyWHr/j3E2CNmWXNbAnwTuAZptnfvZkZ8PfAdne/Y8SmGfs5j1bmSf+sy91rPlk3ghEGvyHoWf+v5Y5nAst1OsEIgeeBF4fKBswBfga8Et7PDtcb8Lfh+/AC0FLuMoyznPcRVJFzBL9+/sOJlBH4NEEH2w7ghnKX6zjL+72wPFvCf/L5I/b/r2F5XwZWj1g/bf7ugQ8QNGdsATaHt8tn+Oc8Wpkn9bPWFBMiIjEXl6YhEREZhRKBiEjMKRGIiMScEoGISMwpEYiIxJwSgUw5ZlYIZ1x83syeM7PfO8b+9Wb2J+M47i/MLFYXOz8WM7vHzK4udxxSXkoEMhX1uvsKd18O/Bfg/z7G/vXAMRNBuZhZqtwxiIxFiUCmujpgHwTzsZjZz8JawgtmNjS74m3AGWEt4vZw3/8c7vO8md024nj/zsyeMbPfmNkHw32TZna7mT0bTvL1H8P1883sifC4W4f2H8mCa0F8LTzmM2Z2Zrj+HjO7w8weB75mwZz6Pw6P/2szWzaiTOvDWLeY2cfD9ZeZ2VNhWX8YzkWDmd1mZtvCfb8ervt3YXzPm9kTxyiTmdm3wmP8bw5P4CZxVu4z63TTrfgGFAjOsHwJOAC8J1yfAurC5UaCs0YNWMyR8/avBv4FqAofD52J+gvgr8Ply4F/DpfXAv8tXM4CrQRzvf9fHD5TOwnUloi1bcQ+nwQeCpfvAR4CkuHjvwG+Ei7/G2BzuPw14M4Rx2sIy/YEUB2u+3PgLwjm13+Zw9carw/vXwAWFq0brUxXEUzLnAQWAPuBq8v9metW3puqrDIV9br7CgAzuwD4rpmdR/Cl/z8tmF11kGCa3Xklnv8hYL27HwJw95Hz+g9NZLaJIIFAMBfNshFt5bMI5nB5FvhOOCnYj9198yjx3jfi/v8dsf6H7l4Ilz8AfDyM5+dmNsfMZoWxrhl6grvvM7N/S3ABkl8FU9GQAZ4CuoA+4O/CX/MPhU/7FXCPmf1gRPlGK9NFwH1hXO1m9vNRyiQxokQgU5q7P2VmjUATwa/4JoIaQs7M2oCKEk8zRp+Ctz+8L3D479+Az7r7UROThUnnD4Hvmdnt7v7dUmGOstxTFFOp55WK1QgurHJtiXhWApcSJI//BPwbd7/RzN4XxrnZzFaMViYLLnmoeWXkCOojkCnNzM4maMboJPhVuztMAquA08LdDhJc5m/IY8CnzawqPMbsY7zMo8BN4S9/zOxdFszqelr4et8mmCFytOs7XzPi/qlR9nkC+ER4/EuAPR7MO/8YwRf6UHkbgF8DF47ob6gKY6oBZrn7w8AXCOaqx8zOcPen3f0vgD0E0xGXLFMYx5qwD2E+sOoY743EgGoEMhVVmtlQM4wBn3L3gpndC/yTmbVyuA8Bd+80s19ZcKH3R9z9z8Jfxa1mNgA8DHx5jNf7O4JmoucsaIvpILgc4iXAn5lZDugm6AMoJWtmTxP8sDrqV3zoVmC9mW0BDnF4WuX/AfxtGHsB+O/u/o9mdj1wn5llw/3+G0HCe9DMKsL35U/Dbbeb2TvDdT8jmIl2yyhl2kDQR/ECwUyV/2eM90ViQrOPipyEsHmqxd33lDsWkROlpiERkZhTjUBEJOZUIxARiTklAhGRmFMiEBGJOSUCEZGYUyIQEYm5/x/RPc7QgYYAygAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"learn.recorder.plot_losses()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Finetune to IMAGENETTE"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[PosixPath('/home/nofreewill/.fastai/data/imagenette2/train'),\n",
" PosixPath('/home/nofreewill/.fastai/data/imagenette2/val'),\n",
" PosixPath('/home/nofreewill/.fastai/data/imagenette2/models')]"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"path = untar_data(URLs.IMAGENETTE)\n",
"path.ls()"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [],
"source": [
"data = ImageDataBunch.from_folder(path, valid='val', size=224, ds_tfms=get_transforms())"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Linear(in_features=512, out_features=1000, bias=True)"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.fc"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Linear(in_features=512, out_features=10, bias=True)"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.fc = nn.Linear(model.fc[0].in_features, data.c)\n",
"model.fc"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"learn = Learner(data, learn.model, metrics=[accuracy])"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <div>\n",
" <style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
" </style>\n",
" <progress value='0' class='' max='1', style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
" 0.00% [0/1 00:00<00:00]\n",
" </div>\n",
" \n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: left;\">\n",
" <th>epoch</th>\n",
" <th>train_loss</th>\n",
" <th>valid_loss</th>\n",
" <th>accuracy</th>\n",
" <th>time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" </tbody>\n",
"</table><p>\n",
"\n",
" <div>\n",
" <style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
" </style>\n",
" <progress value='99' class='' max='147', style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
" 67.35% [99/147 00:17<00:08 8.8530]\n",
" </div>\n",
" "
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
]
},
{
"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.lr_find()\n",
"learn.recorder.plot()"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: left;\">\n",
" <th>epoch</th>\n",
" <th>train_loss</th>\n",
" <th>valid_loss</th>\n",
" <th>accuracy</th>\n",
" <th>time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>1.230672</td>\n",
" <td>1.491550</td>\n",
" <td>0.530191</td>\n",
" <td>00:33</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>0.815679</td>\n",
" <td>1.149348</td>\n",
" <td>0.645096</td>\n",
" <td>00:33</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>0.626133</td>\n",
" <td>0.667822</td>\n",
" <td>0.786497</td>\n",
" <td>00:33</td>\n",
" </tr>\n",
" <tr>\n",
" <td>3</td>\n",
" <td>0.501629</td>\n",
" <td>0.487584</td>\n",
" <td>0.845605</td>\n",
" <td>00:33</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"learn.fit_one_cycle(4, 1e-3)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Wm9mtnzG//caSXAe3R9x75ol0+a9S0R4zdKQc/NSxqmOZWbhpxjrNfg9J7ng/WkJzs1y1SlsMOE1S3l/nb+ZYD9lQixCkMsHL3o4qXNtyPa5TzQ2WWgie+qfJXIpnhFCeZ6vEkfBi7iMahx3F6Mcn8MU71uh7J/t1qP87dWSU7BlEPxsd3X9CV5z4hSaGHP9LL7Gv2/rdY7b3MTZY509e5ZSir+z0+f96DsFkgYh/h4zs3CT7Yx3H/JzcX+9mCW1xv3n/CHbVSpwvbmU9888sSnjKadgY6nur8Ge0xr7vxxhwZvzQ86bSN4vbDNwigS2RhyP0bt8nvpu94pmp03+9qFTxPKus58/F/HX0PiA82484fe0k8ELDRXXuCeOm1xXC0muDb2pXxjnZI3PCusV9nHbmQuz5Ce8n0+VOZfHV1/L9hz6z7ftHNfQcI3zpj4JXow11WGfjGPsu9gp+2O15L8iqA1Z8CbV42fTTgHMWa6fO0VnSxwL6dN/g1ih4p8hy06tswsrLECXZ520mZbC3D/aMRaYGq1xDbmS8fekF0dcLysR9t1TIz7bz5Jd4I8aGPePxRrPgCNnPzUza3d5j5ee5lmmMQl+Flk64fevL3HtrzzD/Sfef9695vmIe0IyzLGU/Rb+neC9FP/+olNsLHaLa/995xxkZhaustDc1gX+zuZ58OK2R84rlEGa70Xih/yeZMcvztgN8fkwm+beFZvxjOWJ99jQU+eV5LTNMb++6hcp7ZzwnUpmwD0utxz82Vj/klRERERERERERETmml6SioiIiIiIiIiIyFzTS1IRERERERERERGZa3pJKiIiIiIiIiIiInMtNJ0GL+gjIiIiIiIiIiIi8p8b/UtSERERERERERERmWt6SSoiIiIiIiIiIiJzTS9JRUREREREREREZK7pJamIiIiIiIiIiIjMNb0kFRERERERERERkbmml6QiIiIiIiIiIiIy1/SSVEREREREREREROaaXpKKiIiIiIiIiIjIXNNLUhEREREREREREZlrekkqIiIiIiIiIiIic00vSUVERERERERERGSu6SWpiIiIiIiIiIiIzDW9JBUREREREREREZG5ppekIiIiIiIiIiIiMtf0klRERERERERERETmml6SioiIiIiIiIiIyFzTS1IRERERERERERGZa3pJKiIiIiIiIiIiInNNL0lF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e+2uf972rIT47BeK83sKlzk/Qk3+HjOzWJLrw3aeYynevxKkiWZm1o/ymvE8987eiPMzMeO5MdniGj59gutyIRF8re8761A2xcI2qSr3yezYL8p52zmvrpxwfRgWOQ9mOXH6M1Tn9/SzHIu9ml8w+G6L467W5Lnjwpj7zI/8D345wXKYZ6GVSyz02d2/gdjyjL1vUOIalmBtLNvZ8Qs/edLOM/ckzf44TXMeFJ1i3GZmW2f87fEEn22bBX5uls465/biQxaOWo5yne1cuOtec5rlWru9yef4e/Xgz5yNEs+LT93n3586xbw3Z7x+uZngs8dinGfQ+uXg78PWSnwHcnzAa75w0xmLaf/9y+qYn61e5x5bavAcNcu4xfdpqQmv2XSK9q0s+GezVotFmrKLnAfpXvB5pH9JKiIiIiIiIiIiInNNL0lFRERERERERERkruklqYiIiIiIiIiIiMw1vSQVERERERERERGRuRaaTr+Fqi4iIiIiIiIiIiIi/5nRvyQVERERERERERGRuaaXpCIiIiIiIiIiIjLX9JJURERERERERERE5ppekoqIiIiIiIiIiMhc00tSERERERERERERmWt6SSoiIiIiIiIiIiJz7f8DI4jSJUrYwsQAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 1728x144 with 64 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"show_filts(learn.model)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Train loss: 0.502"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Training from random weights"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {},
"outputs": [],
"source": [
"model = models.resnet18()\n",
"model.fc = nn.Linear(model.fc.in_features, data.c)"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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M7PEWgYenpvCdbFpNY/5bzV3OMfsCeMedsAarvOtc1N7McNvVFRx/VzayuvM6RieB9nZnzjHbHuH87zQyVpQnXuv7XL6NIMZRrRXotaaz2MpJsYdkpHgz+CO3B0M8ZoRz/uJa1l+mufSwQLea0xbxnP+5X48ls3MbmllyNPVLxlw0icwsTdT/Oa157hnS17C3zT6JEPIwj5yn7OfPcRr4uSGzagVr1jamymamVnDLO6PfnWOoUAzuvgdn+3kemFm1jKd5/yStfw93rmJ37snHSMZdtl68C7Udl/P0KjQKgY8mZlt+YRhO9lz+X22zqsTdR4AACAASURBVOVv6cmxkeNQywypQO3sDl4/Rk1175kuD+T33BrE4zMzvPdBWEXBqahFZjO45MyOINTGZrk/x/dWhr5sS+Q5s+EiQ28ZGfiNvV9y/z95JcOcAg7z+yjJYrCMmVl7PUN0zkdyzMBzaxzvdidh7TnH425ZH16745bzHufwm5y7mVl4C7+79lDudbdN4j2Wp+ciK4ePQO3qeoZIVtb8ArUzExl2bGY29iiD82Z18V769GZeZ258xDmkVbTw3njpXAYirQrj9fRkhPseyaeCAUDTx/JZz1uX+DmMFv/Glzl8ftTnNM+D0Bg+lxjVzx0E2NnuCPPO3oVa/lHe43iyI4V7hOmpDN4bPITzHFrjDjVujeO93JEWBjd1b+P3udzDI7IinzdR8x/xEGqzmrkHjQnhsxMzMzvAcMJ9sbzuDijv/Tqvf0kqIiIiIiIiIiIiXk0PSUVERERERERERMSr6SGpiIiIiIiIiIiIeDU9JBURERERERERERGv5tPTw4asIiIiIiIiIiIiIt5C/5JUREREREREREREvJoekoqIiIiIiIiIiIhX00NSERERERERERER8Wp6SCoiIiIiIiIiIiJeTQ9JRURERERERERExKvpIamIiIiIiIiIiIh4NT0kFREREREREREREa+mh6QiIiIiIiIiIiLi1fSQVERERERERERERLyaHpKKiIiIiIiIiIiIV9NDUhEREREREREREfFqekgqIiIiIiIiIiIiXk0PSUVERERERERERMSr6SGpiIiIiIiIiIiIeDU9JBURERERERERERGvpoekIiIiIiIiIiIi4tX0kFRERERERERERES8mh6SioiIiIiIiIiIiFfTQ1IRERERERERERHx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\n",
"text/plain": [
"<Figure size 1728x144 with 64 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"show_filts(model)"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [],
"source": [
"learn = Learner(data, model, metrics=[accuracy])"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
" <div>\n",
" <style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
" </style>\n",
" <progress value='0' class='' max='1', style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
" 0.00% [0/1 00:00<00:00]\n",
" </div>\n",
" \n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: left;\">\n",
" <th>epoch</th>\n",
" <th>train_loss</th>\n",
" <th>valid_loss</th>\n",
" <th>accuracy</th>\n",
" <th>time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" </tbody>\n",
"</table><p>\n",
"\n",
" <div>\n",
" <style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
" </style>\n",
" <progress value='97' class='' max='147', style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
" 65.99% [97/147 00:18<00:09 5.3480]\n",
" </div>\n",
" "
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.\n"
]
},
{
"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.lr_find()\n",
"learn.recorder.plot()"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: left;\">\n",
" <th>epoch</th>\n",
" <th>train_loss</th>\n",
" <th>valid_loss</th>\n",
" <th>accuracy</th>\n",
" <th>time</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <td>0</td>\n",
" <td>1.549394</td>\n",
" <td>5.853781</td>\n",
" <td>0.170191</td>\n",
" <td>00:33</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>1.231913</td>\n",
" <td>3.160021</td>\n",
" <td>0.296560</td>\n",
" <td>00:33</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>0.957300</td>\n",
" <td>1.171026</td>\n",
" <td>0.643057</td>\n",
" <td>00:33</td>\n",
" </tr>\n",
" <tr>\n",
" <td>3</td>\n",
" <td>0.747713</td>\n",
" <td>0.673766</td>\n",
" <td>0.786497</td>\n",
" <td>00:34</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"learn.fit_one_cycle(4, 1e-3)"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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z5vezximcX+HO9Sh3ZdrUPJmnl/N80cOZYpmZlbXwOv9lp7rUcuLYShDxoRPnGP2fcC9dn43w6gCmhns5UleHgNbEnoYeNhXwt8dH8u9kZlZUt8y1M4f2YrasqSBoUzxv60v4Lz25vF+Pv8+XvNvjGJAlpnZOuO+reQw/67wVndYpkvwpXmoTVrF7zTsxBXUIrbwXDQze389//apdftQu3jrtXad/1PbkjjUfn6B59M8O4ZaniM0xcysYyHDN1Zt4fX9t5vcQVoufVkcs+fMPagdu5lhO9EtrmAbsz0beZ8cP4dhP7VLPCSeOVyYzm5IFKMAACAASURBVMCzUaHcs53byfN+wmzu18zMSpL4rBEYxnvK6GB3wIpLeRivj6iJ/P2XD3G9nJ7JPZyZmc9t3MPuS+QzYvulEtR4tVx1bA8/O209w5z8cnm91mb+h3PM4BMMbSyMXcDPFW5x/DTPOTOzg/m8ju4KY8hq9Druv4+9wb/RzCy8k8euK/wIantm8ZzjTveqdWP5HfXt5XpTWMmkt6KJ7utg2hlughcPcL+Xt5P34+ufcg5pzf3cn92+imvle8FrUDvp+Fkzs5Cyg6hNy2JQ0Ud1DDm6wUPq4d6FDMsMzeM7DJ9EhsxNiXeHM/b1j+KYGfzeq0+41zWXL9P5HS8cxe9oRDyP8aRS97rSFsBngjw/7mv7Djue4e9zDmnnmvk85jv2QdSWNexBLdjH/e87O4/xOeNwPJ+7htXyOvJE/5JUREREREREREREvJpekoqIiIiIiIiIiIhX00tSERERERERERER8Wp6SSoiIiIiIiIiIiJezWdw0N3cXkRERERERERERMQb6F+SioiIiIiIiIiIiFfTS1IRERERERERERHxanpJKiIiIiIiIiIiIl5NL0lFRERERERERETEq+klqYiIiIiIiIiIiHg1vSQVERERERERERERr6aXpCIiIiIiIiIiIuLV9JJUREREREREREREvJpekoqIiIiIiIiIiIhX00tSERERERERERER8Wp6SSoiIiIiIiIiIiJeTS9JRURERERERERExKvpJamIiIiIiIiIiIh4Nb0kFREREREREREREa+ml6QiIiIiIiIiIiLi1fSSVERERERERERERLyaXpKKiIiIiIiIiIiIV9NLUhEREREREREREfFqekkqIiIiIiIiIiIiXk0vSUVE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\n",
"text/plain": [
"<Figure size 1728x144 with 64 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"show_filts(learn.model)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Train loss: 0.748"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Validation accuracy: 79% vs. 84.5%\n",
"\n",
"Looks promising"
]
},
{
"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.7.4"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
@nofreewill42
Copy link
Author

nofreewill42 commented Mar 16, 2020

After pre-training for 50 epochs on ImageNet, I got 92% accuracy on ImageNette with the same training settings.

The first filters the network came up with:

Screenshot from 2020-03-16 08-30-48

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment