{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "from fastai.basics import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## MNIST SGD" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Get the 'pickled' MNIST dataset from http://deeplearning.net/data/mnist/mnist.pkl.gz. We're going to treat it as a standard flat dataset with fully connected layers, rather than using a CNN." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "!mkdir data/mnist" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "!rm data/mnist.pkl.gz" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "--2019-01-03 20:09:52-- http://deeplearning.net/data/mnist/mnist.pkl.gz\n", "Resolving deeplearning.net (deeplearning.net)... 132.204.26.28\n", "Connecting to deeplearning.net (deeplearning.net)|132.204.26.28|:80... connected.\n", "HTTP request sent, awaiting response... 200 OK\n", "Length: 16168813 (15M) [application/x-gzip]\n", "Saving to: ‘data/mnist/mnist.pkl.gz’\n", "\n", "data/mnist/mnist.pk 100%[===================>] 15.42M 4.11MB/s in 4.1s \n", "\n", "2019-01-03 20:09:56 (3.74 MB/s) - ‘data/mnist/mnist.pkl.gz’ saved [16168813/16168813]\n", "\n" ] } ], "source": [ "!wget http://deeplearning.net/data/mnist/mnist.pkl.gz -O data/mnist/mnist.pkl.gz" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "path = Path('data/mnist')" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[PosixPath('data/mnist/mnist.pkl.gz')]" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "path.ls()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "with gzip.open(path/'mnist.pkl.gz', 'rb') as f:\n", " ((x_train, y_train), (x_valid, y_valid), _) = pickle.load(f, encoding='latin-1')" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(50000, 784)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.imshow(x_train[0].reshape((28,28)), cmap='gray')\n", "x_train.shape" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "x_train,y_train,x_valid,y_valid = map(torch.tensor, (x_train,y_train,x_valid,y_valid))" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(torch.Size([50000, 784]), tensor(0), tensor(9))" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n,c = x_train.shape\n", "x_train.shape, y_train.min(), y_train.max()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In lesson2-sgd we did these things ourselves:\n", "\n", "```python\n", "x = torch.ones(n,2) \n", "def mse(y_hat, y): return ((y_hat-y)**2).mean()\n", "y_hat = x@a\n", "```\n", "\n", "Now instead we'll use PyTorch's functions to do it for us, and also to handle mini-batches (which we didn't do last time, since our dataset was so small)." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "bs = 64" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "train_ds = TensorDataset(x_train, y_train) # PyTorch dataset wrapping tensors.\n", "valid_ds = TensorDataset(x_valid, y_valid)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "data = DataBunch.create(train_ds, valid_ds, bs=bs)" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "x,y = next(iter(data.train_dl))" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(torch.Size([64, 784]), torch.Size([64]))" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x.shape, y.shape" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "class Mnist_Logistic(nn.Module):\n", " def __init__(self):\n", " super().__init__()\n", " self.lin = nn.Linear(784, 10, bias=True)\n", " \n", " def forward(self, xb): return self.lin(xb) # xb is a batch of X" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "model = Mnist_Logistic().cuda()" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Mnist_Logistic(\n", " (lin): Linear(in_features=784, out_features=10, bias=True)\n", ")" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Linear(in_features=784, out_features=10, bias=True)" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.lin" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "torch.Size([64, 10])" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model(x).shape" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " torch.Size([10, 784])\n", " torch.Size([10])\n" ] } ], "source": [ "# Sanity check\n", "for param in model.parameters():\n", " print(type(param.data), param.size())" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[torch.Size([10, 784]), torch.Size([10])]" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[p.shape for p in model.parameters()]" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "lr = 2e-2" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "loss_func = nn.CrossEntropyLoss() # combines Log Softmax and NLL loss" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [], "source": [ "def update(x, y, lr):\n", " wd = 1e-5 # new\n", " y_hat = model(x) # was y_hat = x@a\n", " # weight decay\n", " w2 = 0.\n", " for p in model.parameters(): w2 += (p**2).sum()\n", " # add to regular loss\n", " loss = loss_func(y_hat, y) + w2*wd # was mse(y, y_hat)\n", " loss.backward()\n", " with torch.no_grad():\n", " for p in model.parameters():\n", " p.sub_(lr * p.grad) # was a.sub_(lr * a.grad)\n", " p.grad.zero_() # was a.grad.zero_()\n", " return loss.item()" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [], "source": [ "losses = [update(x, y, lr) for x, y in data.train_dl]" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(losses)" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [], "source": [ "class Mnist_NN(nn.Module):\n", " def __init__(self):\n", " super().__init__()\n", " self.lin1 = nn.Linear(784, 50, bias=True)\n", " self.lin2 = nn.Linear(50, 10, bias=True)\n", " \n", " def forward(self, xb):\n", " x = self.lin1(xb)\n", " x = F.relu(x) # add non-linearities\n", " return self.lin2(x)" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [], "source": [ "model = Mnist_NN().cuda()" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [], "source": [ "losses = [update(x, y, lr) for x, y in data.train_dl]" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(losses)" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [], "source": [ "model = Mnist_NN().cuda()" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [], "source": [ "def update(x, y, lr):\n", " opt = optim.Adam(model.parameters(), lr)\n", " y_hat = model(x)\n", " loss = loss_func(y_hat, y)\n", " loss.backward()\n", " opt.step()\n", " opt.zero_grad()\n", " return loss.item()" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [], "source": [ "losses = [update(x, y, 1e-3) for x, y in data.train_dl]" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(losses)" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [], "source": [ "learn = Learner(data, Mnist_NN(), loss_func=loss_func, metrics=accuracy)" ] }, { "cell_type": "code", "execution_count": 76, "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": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "learn.lr_find()\n", "learn.recorder.plot()" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Total time: 00:02

\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
epochtrain_lossvalid_lossaccuracy
10.1420470.1276800.963500
\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "learn.fit_one_cycle(1, 1e-2)" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "

" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "learn.recorder.plot_lr(show_moms=True)" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEKCAYAAAD9xUlFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xt8VPWd//HXJ8nkfr9AgATCTeUeQgSsNyitFdZVW6mVrdta27La9ud2bbd1u7u97XbX7cW13fahq21xbV2s1XqpK1VrtXgXkDuI3IKEBBICJOSeyXx/f8whBkgghAxnMnk/H495ZObMmZn3JAPvObfvMeccIiIiAHF+BxARkeihUhARkS4qBRER6aJSEBGRLioFERHpolIQEZEuKgUREemiUhARkS4qBRER6ZLgd4AzlZ+f70pKSvyOISIyqKxZs+agc67gdPMNulIoKSlh9erVfscQERlUzGxPX+bT6iMREemiUhARkS4qBRER6TLotimISOzo6OigsrKS1tZWv6PEjOTkZIqKiggEAv16vEpBRHxTWVlJRkYGJSUlmJnfcQY95xx1dXVUVlYyduzYfj2HVh+JiG9aW1vJy8tTIQwQMyMvL++slrxUCiLiKxXCwDrb3+eQKoVN++p5ZPVeWjs6/Y4iIhKVhkwpNLcHue6e1/jaoxtY9JOXaWwL+h1JRHxWV1dHaWkppaWlFBYWMmrUqK7b7e3tfXqOz3zmM2zbti3CSc+dIbOh+ZmN+2kLhlgyu5jlb+3lvpW7uP3D5/kdS0R8lJeXx7p16wD49re/TXp6Ol/96lePm8c5h3OOuLiev0MvW7Ys4jnPpSGzpLBwaiE/vqGUf/voNBZOLeQnL2zn357ZinPO72giEmV27NjB1KlTueWWWygrK6O6upqlS5dSXl7OlClT+O53v9s17yWXXMK6desIBoNkZ2dzxx13MGPGDC666CJqamp8fBf9M2SWFNKSErimdBQAP7p+BqmJCdy3chfxccbXr7zA53Qi8p3fb2ZLVcOAPufkkZl86y+n9OuxW7ZsYdmyZdx7770A3HnnneTm5hIMBpk/fz6LFy9m8uTJxz2mvr6eyy+/nDvvvJPbb7+dX/7yl9xxxx1n/T7OpSGzpNBdamIC3188nevKirj3zzt5c1ed35FEJMqMHz+eCy+8sOv28uXLKSsro6ysjK1bt7Jly5aTHpOSksLChQsBmDVrFhUVFecq7oAZMksKJ4qPM/7l2imsqjjE3z+6gT98+VJSE4fsr0PEd/39Rh8paWlpXde3b9/Oj3/8Y9566y2ys7O58cYbezwWIDExset6fHw8weDg26FlSC4pHJOamMAPFk/nvUPN/ODZ2Nl7QEQGVkNDAxkZGWRmZlJdXc2zzz7rd6SIGdKlADBnXB43XFjMQ2++x6Gmvu2CJiJDS1lZGZMnT2bq1Kl8/vOf5+KLL/Y7UsTYYNv7pry83A30SXbePXCUK/5zJV+/8gJunTd+QJ9bRHq3detWJk2a5HeMmNPT79XM1jjnyk/32CG/pABw3vAM5o7L5VevV+hoZxEZ0lQKntsWTKSqvpX/+tN2v6OIiPhGpeD5wPh8risr4r//vIu9h5r9jiMi4guVQjdf/ch5OOBXb/Tp/NYiIjFHpdDNiKwUPjJlOL9ZtZeWdm1bEJGhR6Vwgps+MJb6lg5+u2av31FERM45lcIJLizJoXxMDve8tFN7IonEuHnz5p10INrdd9/NF77whV4fk56eDkBVVRWLFy/u9XlPt+v83XffTXPz+9svFy1axJEjR/oaPWJUCicwM75yxflU17fy85d3+R1HRCJoyZIlPPzww8dNe/jhh1myZMlpHzty5EgeffTRfr/2iaXwzDPPkJ2d3e/nGygqhR5cND6Py84r4NdvvEcoNLgO7hORvlu8eDFPP/00bW1tAFRUVFBVVUVpaSkLFiygrKyMadOm8eSTT5702IqKCqZOnQpAS0sLN9xwA9OnT+cTn/gELS0tXfPdeuutXUNuf+tb3wLgJz/5CVVVVcyfP5/58+cDUFJSwsGDBwG46667mDp1KlOnTuXuu+/uer1Jkybx+c9/nilTpnDFFVcc9zoDRSPA9eK6slH87cPrWLv3MLPG5PodRyT2rbgD9m8c2OcsnAYL7+z17ry8PGbPns0f/vAHrrnmGh5++GE+8YlPkJKSwuOPP05mZiYHDx5k7ty5XH311b2e//iee+4hNTWVDRs2sGHDBsrKyrru+973vkdubi6dnZ0sWLCADRs2cNttt3HXXXfx4osvkp+ff9xzrVmzhmXLlvHmm2/inGPOnDlcfvnl5OTksH37dpYvX87999/P9ddfz2OPPcaNN944ML8rj5YUevHBC4aRmBDHMxv3+x1FRCKo+yqkY6uOnHN84xvfYPr06XzoQx9i3759HDhwoNfnWLlyZdd/ztOnT2f69Old9z3yyCOUlZUxc+ZMNm/e3OOQ29298sorfPSjHyUtLY309HQ+9rGP8fLLLwMwduxYSktLgcgNza0lhV5kJAe4bGIBKzZW84+LJhEX1/M3BBEZIKf4Rh9J1157Lbfffjtvv/02LS0tlJWV8cADD1BbW8uaNWsIBAKUlJT0OFR2dz0tRezevZsf/vCHrFq1ipycHG666abTPs+pxqNLSkrquh4fHx+R1UdaUjiFRdMKqapvZV2l/3sEiEhkpKenM2/ePG6++eauDcz19fUMGzaMQCDAiy++yJ49pz6g9bLLLuOhhx4CYNOmTWzYsAEID7mdlpZGVlYWBw4cYMWKFV2PycjI4OjRoz0+1xNPPEFzczNNTU08/vjjXHrppQP1dk9LpXAKH5o8nEC8sWJjtd9RRCSClixZwvr167nhhhsA+OQnP8nq1aspLy/noYce4oILTn3K3ltvvZXGxkamT5/O97//fWbPng3AjBkzmDlzJlOmTOHmm28+bsjtpUuXsnDhwq4NzceUlZVx0003MXv2bObMmcPnPvc5Zs6cOcDvuHcRGzrbzIqBB4FCIATc55z78QnzGPBjYBHQDNzknHv7VM8biaGzT+WzD6zinf1HeeXr83vdyCQi/aOhsyMjWofODgJfcc5NAuYCXzSzySfMsxCY6F2WAvdEME+/LJo2gn1HWli3V6uQRCT2RawUnHPVx771O+eOAluBUSfMdg3woAt7A8g2sxGRytQfx1Yh/d8GrUISkdh3TrYpmFkJMBN484S7RgHdBxmq5OTi8FVWSngvpGc2VutANpEIGGxnf4x2Z/v7jHgpmFk68BjwZedcw4l39/CQk96RmS01s9Vmtrq2tjYSMU/pL6aPoKq+lbV7D5/z1xaJZcnJydTV1akYBohzjrq6OpKTk/v9HBE9TsHMAoQL4SHn3O96mKUSKO52uwioOnEm59x9wH0Q3tAcgain9OHJw0kOxPG7t/fp6GaRAVRUVERlZSV+fNmLVcnJyRQVFfX78RErBW/Pol8AW51zd/Uy21PAl8zsYWAOUO+ci7qV9xnJARZMGs7zWw7wr9dO1V5IIgMkEAgwduxYv2NIN5FcfXQx8NfAB81snXdZZGa3mNkt3jzPALuAHcD9QO/j1frsson51BxtY3tNo99RREQiJmJLCs65V+h5m0H3eRzwxUhlGEiXTCwAYOW7tZw3PMPnNCIikaEjmvtoVHYK4wrSeHn7Qb+jiIhEjErhDFw2sYA3d9fRFtQZ2UQkNqkUzsClE/Np7QixpkK7popIbFIpnIE54/JIiDNe3qFVSCISm1QKZyA9KYGyMTm8vF37VItIbFIpnKFLJ+SzuaqBusY2v6OIiAw4lcIZuvS8ApyDV3fW+R1FRGTAqRTO0LRRWWSlBHhFq5BEJAapFM5QfJxx8YQ8Xt5+UIN4iUjMUSn0wyUTCqiub2VnbZPfUUREBpRKoR8unZgPoL2QRCTmqBT6oTg3lZK8VA15ISIxR6XQT5dOLOCNXXW0B0N+RxERGTAqhX66ZGI+ze2dvP2ehrwQkdihUuini8bnER9nvKJVSCISQ1QK/ZSZHKC0OFvjIIlITFEpnIULS3LZUlVPa4eG0haR2KBSOAulxVl0dDq2Vjf4HUVEZECoFM5CaXEOAOv2HvE5iYjIwFApnIXCrGSGZyaxXqUgIjFCpXCWSouztaQgIjFDpXCWZhRnU1HXzJHmdr+jiIicNZXCWSotzga0XUFEYoNK4SxNG5WFGazfW+93FBGRs6ZSOEsZyQEmDktnfaWWFERk8FMpDIAZReGNzTrpjogMdiqFATCjOJtDTe1UHm7xO4qIyFlRKQyAYxub12pjs4gMciqFAXB+YQZJCXE6iE1EBj2VwgAIxMcxbVSWdksVkUFPpTBAZhRns2lfPR2dOhObiAxeKoUBUlqcTVswxLb9R/2OIiLSbyqFAaIjm0UkFqgUBkhRTgq5aYkqBREZ1FQKA8TMKC3O1h5IIjKoqRQG0IyibHbUNnK0tcPvKCIi/aJSGEClo7NxDjZWanA8ERmcIlYKZvZLM6sxs0293D/PzOrNbJ13+WakspwrM4qyAFinwfFEZJBKiOBzPwD8FHjwFPO87Jy7KoIZzqns1ETG5qex7j2VgogMThFbUnDOrQQORer5o9WMoiwNoy0ig5bf2xQuMrP1ZrbCzKb0NpOZLTWz1Wa2ura29lzmO2OlxdkcaGijul4jporI4ONnKbwNjHHOzQD+C3iitxmdc/c558qdc+UFBQXnLGB/zPAOYtOuqSIyGPlWCs65Budco3f9GSBgZvl+5Rkok0ZkEog3DaMtIoOSb6VgZoVmZt712V6WOr/yDJTkQDyTR2RqSUFEBqWI7X1kZsuBeUC+mVUC3wICAM65e4HFwK1mFgRagBtcjJzPckZxNo+tqaQz5IiPM7/jiIj0WcRKwTm35DT3/5TwLqsxp7Q4mwdf38OOmkbOL8zwO46ISJ/5vfdRTJrRNWLqYZ+TiIicGZVCBIzNSyM7NcCaPSoFERlcVAoREBdnzBqdw2qVgogMMiqFCCkvyWVXbRN1jW1+RxER6TOVQoSUl+QAaBWSiAwqKoUImTYqi8T4OJWCiAwqKoUISQ7EM60oS9sVRGRQUSlEUPmYHDZW1tPa0el3FBGRPlEpRNCsMTm0d4bYuE9nYhORwUGlEEGzxoQ3Nq+u0CokERkcVAoRlJeexLiCNFZXDLlzDYnIIKVSiLALx+Sy5r3DhEIxMdafiMS4PpWCmY03syTv+jwzu83MsiMbLTbMKsnhSHMHuw42+h1FROS0+rqk8BjQaWYTgF8AY4H/jViqGFKu7QoiMoj0tRRCzrkg8FHgbufc3wEjIhcrdozNTyMvLZFVKgURGQT6WgodZrYE+DTwtDctEJlIscXMmDUmh9V7tLFZRKJfX0vhM8BFwPecc7vNbCzw68jFii2XTMxnT10z2/Yf9TuKiMgp9akUnHNbnHO3OeeWm1kOkOGcuzPC2WLGlVMKAXhpW43PSURETq2vex+9ZGaZZpYLrAeWmdldkY0WO4ZlJjO+II03dtX5HUVE5JT6uvooyznXAHwMWOacmwV8KHKxYs/ccXmsqjhMsDPkdxQRkV71tRQSzGwEcD3vb2iWMzB3XB6NbUE2VzX4HUVEpFd9LYXvAs8CO51zq8xsHLA9crFiz5xxuQC8uVurkEQkevV1Q/NvnXPTnXO3erd3Oeeui2y02DIsI5lxBWm8sUu7popI9OrrhuYiM3vczGrM7ICZPWZmRZEOF2vmjstj1e5DdGocJBGJUn1dfbQMeAoYCYwCfu9NkzMwd1weR9uCbNF2BRGJUn0thQLn3DLnXNC7PAAURDBXTJo7NrxdQbumiki06mspHDSzG80s3rvcCOh/tjN07HiFl97VQWwiEp36Wgo3E94ddT9QDSwmPPSFnKGrpo/ktZ117DvS4ncUEZGT9HXvo/ecc1c75wqcc8Occ9cSPpBNztDiWUU4B79bU+l3FBGRk5zNmdduH7AUQ0hxbipzx+Xy+Np9OKe9kEQkupxNKdiApRhiPlZWxK6DTazde8TvKCIixzmbUtDX3H5aOLWQpIQ4nly7z+8oIiLHOWUpmNlRM2vo4XKU8DEL0g8ZyQE+PHk4v99QrQHyRCSqnLIUnHMZzrnMHi4ZzrmEcxUyFi2cOoJDTe2sr9QqJBGJHmez+kjOwiUT8okz+PO2Wr+jiIh0USn4JCs1wMzROTy/VQeyiUj0iFgpmNkvvQH0NvVyv5nZT8xsh5ltMLOySGWJVteUjmRrdYPGQhKRqBHJJYUHgCtPcf9CYKJ3WQrcE8EsUWnh1BGYwXNb9vsdRUQEiGApOOdWAqc6ecA1wIMu7A0g2zu725BRkJFE2egcnt9ywO8oIiKAv9sURgF7u92u9KYNKVdOKWRzVQMVB5v8jiIi4msp9HREdI8HxJnZUjNbbWara2tja2+dq2aEVyE9tb7K7ygiIr6WQiVQ3O12EdDj/4zOufucc+XOufKCgtg6jcOIrBRml+Ty5DqNhSQi/vOzFJ4CPuXthTQXqHfOVfuYxzdXl45kZ20TW6q1F5KI+CuSu6QuB14HzjezSjP7rJndYma3eLM8A+wCdgD3A1+IVJZot2jqCBLijKfWaRWSiPgrYkNVOOeWnOZ+B3wxUq8/mOSkJXL5eQU8tb6Kr195AXFxGoBWRPyhI5qjxNWlI6mub2VVxan24hURiSyVQpT48OThpATieVJ7IYmIj1QKUSI1MYEPTx7OMxuraQ9qOG0R8YdKIYpcUzqSI80dvLIjto7FEJHBQ6UQRS6dWEB2aoAntReSiPhEpRBFEhPiWDRtBM9tPkBze9DvOCIyBKkUosw1M0bS0tHJH3WeBRHxgUohylxYksuIrGSeWrfP7ygiMgSpFKJMXJzxlzNG8tK2WqrrW/yOIyJDjEohCn3qojEA3PPSTp+TiMhQo1KIQkU5qXy8vJiH39qrpQUROadUClHqi/PHE3JOSwsick6pFKKUlhZExA8qhSh2bGnhZy/u8DuKiAwRKoUoVpSTyicuDC8t6BzOInIuqBSi3N8umEggPo4fPLfN7ygiMgSoFKLcsMxkPn/pWP5vQzXr9x7xO46IxDiVwiCw9PLx5KUl8u8rthI+YZ2ISGSoFAaB9KQEblswkTd2HeKlbRpWW0QiR6UwSCyZPZoxean80xObqGlo9TuOiMQolcIgkZgQx13Xl1JztJUfPfeu33FEJEapFAaRWWNyuHHuGB5Zs5eXtmlobREZeCqFQeZrH7mAkrw07lzxDqGQNjqLyMBSKQwyKYnx3LZgAu/sP8q9KzUukogMLJXCIHRt6SgWXDCMe17cSV1jm99xRCSGqBQGITPjtgUTOdoW5K9/8RYdnSG/I4lIjFApDFIzirP5/nXT2VLdwLJXd/sdR0RihEphELv+wmIumZDPvX/exf56HbsgImdPpTDI/fNVk2luD/Ll36ylsS3odxwRGeRUCoPc+YUZfO/aaayqOMy3n9rsdxwRGeRUCjHgullF3HxxCY+9XcnW6ga/44jIIKZSiBFfnD+B7JQAV/3XK3zt0fUEtUeSiPSDSiFGZKcm8sBnZnPllEIeWV3Jv694x+9IIjIIqRRiyIzibH72yTL+as5ofvHKbh5ZvdfvSCIyyKgUYtA3r5rM7JJcvvboBv7q/jfYrfM7i0gfqRRiUHIgngc/O5vbPjiB13bWcfVPX+GJtfv8jiUig4BKIUYlB+K5/Yrz+ePtlzMuP42v/HY9P3x2G7tqG/2OJiJRLKKlYGZXmtk2M9thZnf0cP9NZlZrZuu8y+cimWcomjAsnV9/bg6Fmcn89MUdfOiuP7NiY7XfsUQkSkWsFMwsHvgZsBCYDCwxs8k9zPob51ypd/l5pPIMZRnJAZZ/fi5LLxvH+YWZ3PrQ2/z4j9v9jiUiUSghgs89G9jhnNsFYGYPA9cAWyL4mtKL0XmpfGPRJFraO/nKb9dx9wvvkpMW4KMzR5GRHPA7nohEiUiuPhoFdN8nstKbdqLrzGyDmT1qZsURzCOET9Lzo4+XUj4mh28+uZmrf/qq9k4SkS6RLAXrYdqJ54/8PVDinJsO/BH4nx6fyGypma02s9W1tbUDHHPoSUmM5+GlF3H/p8rZe6iZ+T98iY/f+xoVKgeRIS+SpVAJdP/mXwRUdZ/BOVfnnDt26rD7gVk9PZFz7j7nXLlzrrygoCAiYYea+Djjw5OH88gtFzG+II11e49wzc9e5Vdv7OFIc7vf8UTEJ5EshVXARDMba2aJwA3AU91nMLMR3W5eDWyNYB7pQdnoHF74yjye/7vLKclL5Z+f2MT8H77EK9sP+h1NRHwQsVJwzgWBLwHPEv7P/hHn3GYz+66ZXe3NdpuZbTaz9cBtwE2RyiOnVpKfxm/+5iJ+smQmOWmJfPZ/VrHy3Vqd6lNkiDHnTlzNH93Ky8vd6tWr/Y4R0+oa2/j4va+z62ATeWmJXH9hMbd/+DwC8TrWUWSwMrM1zrny082nf+Vykrz0JH79uTl89pKxzBydzT0v7eSy77/IT/+0XdsbRGKclhTktH67ei/3rdzF9prwEBn/fNVkPnvJWJ9TiciZ6OuSgkpB+uzFd2r47tNb2H2wiRlFWXzpgxNpagvS3N5JdmqAMXmpTB6RiVlPeyOLiJ9UChIRnSHHvzy9hQdeq+jx/uGZSfz13DH8zeXjtQ1CJIqoFCSiDjW18/Cq9ygfk0tRTgrbaxqpONjEc1v28+qOOkZkJbNo2gi+NH8COWmJfscVGfJUCuKb57cc4LtPb2bvoRYgPFLroqmFXDeriD11zcwem0tyIN7nlCJDi0pBfNUeDLFt/1F+9Pw2Nlc1UHu0reu+xIQ4irJTmDoqi89cXEJDa5DkhDgKMpIYk5dGfJy2SYgMNJWCRJVN++r5xSu76Qw58tOT2FxVz9q9R2gPHn9wXFpiPFdNH8n1FxYzZWQmzkEwFMIBB+pbqT3axvTibNKTIjnAr0jsUSlI1Nt7qJmN++rJT0/icHM7lYdbeGHrAV7bWXfSvGZw7KOaEojnG4su4LpZRaQmqhxE+kKlIIPW4aZ2Vmzaz+NrK2kLhpg8IpPCrGTy05NIiDN+t3Yfb+0+REZSAlNGZTJnbB63zhuv7RQip6BSkJjlnOOFrTXct3IXFXVN1BxtY3RuKjd9oIQFk4bx/T9so6G1g5qGNm68aAwTCtIZm59GYVay39FFfKNSkCHjtR0H+eZTm9nhHXHdkziDj0wp5PzCDD46cxRj8tLOYUIR/6kUZEgJhRzbaxp5fst+xuanc+l5+aQlJrClqoE9h5p4en01a/ce5kBDeC+oBRcM47YFE5k2Kos47e0kQ4BKQaQHO2oaefD1Ch5fu4+jrUFyUgNcMbmQ/Q2tBOKNjORA+JSBBrPG5HD5eQUU5aT6nFrk7KkURE6hobWD36+v4g+b9rP2vSMkJsQxPDOZmoZW6pqOHwl2dkkuZWNymDQig4VTR5CYoOE7ZPBRKYj0QyjkaA12kpQQz/NbDrCh8ggPvr6HxrYgED46+4rJw/mL6SMoyk4lKRCnvZ5kUFApiAyQ9mAIM3hmYzX3v7yLTfsauu7LS0vk6tKRHGnuYMKwdC6ekM8FhRkqCok6KgWRCHDO8drOOl58p4a4OOPtPYdZvefwcfMkB+K4ZEI+F0/I58KSXKaOyopIlvqWDjKSEjjS0kGuBh2U0+hrKehwUJEzYGZc7P2HD+GSONzcQUognqOtHby+q441ew6zYtN+/ri1BoAZxdlMKszg8vMKaO8M8cauQwCUjc6mtaOTt987ggFbqhsoyEji4gn5VB5u5rzhGRxtDVJ5uJm2jhCNbUFWVRxieGYyIed490AjifFxtHeGGF+QRnFuKuML0slMDlBekkNnyHG4uZ2ZxTkMy0zS0ov0iZYURCKgPRjivUPNrNhYzX0v76KlvZNgqPd/a1kpASaNyKC6vpU9dc0E4o2OzvD8mckJHG0LMjIrhZy0ADmpiRxtDTJlZCaHmtqpa2ynsS3IoaZ2Glo7aG7vPOn5E+PjmHd+AeOHpVPT0EZKYhyFmclMHpnJvPOGabfcIUCrj0SiSGtHJ9v2H6XmaBuXTsynozPE5qoGQiHH7LG5JHQ7IdHeQ80UZITHg3IORmanEOwMHTfPqVQcbGJHTSNHWsLbOTbtq+f1XXU8u2k/IecYnpnM0dZg18bz4ZlJGMb5hRnkpScyOjeVXbVN1DW10dLeSXZqImPz05g4LJ3hmcmUjc4hKzUQkd+TRI5KQUSOEwo5Op0jEB9HezBEc3uQldsP8tzm/bQHQ2yorKejM0RdUzuZyQlMHJ5BSiCejfvqqW/pOO658tLCRTG+IJ3hWclkJCWQkZzA2Pw0RuWk9HhsRyjktETiI21TEJHjxMUZceFD80hMiCMxIZGrZ4zk6hkjj5uv8nAzeWlJpCSGt0EEO0MEQ46dtY28tqOOtmAnlYdb2H2wiRWbqmloDZ70WqNzU2lo7WB6UTYt7UHaOx3vVDdwQWEGl04sYGdtIxOHpRMMOeLMGJGdTMgBzjF5ZCYzirL7vGQkA0tLCiLSbx2dIV7fWceYvPCSwZ66ZlZVHGJLVQOZKQFe23mQAw1tzBqTw5SRmby0rZb3DjUzMiuZqvrWrhMqdZ6wvSU/PZFxBemMy09jXEEaOamJpCclUJybSnFOqlZf9YOWFEQk4gLxcVx2XkHX7TF5acfd7kmbd3Bg7dE2slICxMcZlYeb6eh0BEMh3tp9iD+9U8PW6gZ21jSedIQ5QG5aIlkpAYZlJHHpxHzSkxJwQPmYXKaOysTMcM4RcuHXO5PzboRCjvbO0JDdW0tLCiIS1fbXt7LvSAtJCXFs2ldPQ2sH6yvrqW1o41Bz+0mj4+anJ9HW0UlbMER7Z/jMfpnJCYzMTiEnNZEdtY20tncyOi+VWWNymDgsHczYWHmE13bWUXWkhfg4oyQvjbSkBHYfbCIlEE9BRhKFWclMHZnF9KIs5ozL7Sqb/fWtdHSGCMTH0drRyZi8VMyia/uJNjSLSMxzznGgoY3m9iBJgXj+tPUA6yvrSU9KoDPkSE2KJy0xgYONbeyoaaSpLUgw5LigMJO1ew9TcbCJ7muuJo/IZPywdNKT4jnU1M47ULzuAAAKcUlEQVTBxnayUwIE4uNo6ehk7+Fmdh9s6joL4Nj8NAoyknhr96HjcmWlBKhv6SA1MZ5gyDF3XB6FmUnEx8UxIiuZqaMySUtM4Fdv7KG1o5P5FwxjZFYKyYF4WjqCXQWWmhjPlqoGslMTaQ+GmFbU/wMhVQoiIqfR3B6k6kj4W/7o3FTS+nDu72MHEW6pauClbTUcamrnI1MKyU9P6jq+ZN3eI2QkJ9DRGcIwXt5eS2swREt7Jy0dJx9H0lcvfnUeY/P7dy4QlYKISJQJhRwHm9pY+94RAvFGVkoiZaOzefdAIztrG0lLSiAhzqhraqehpYO6xnbOL8zgaGsHiQlxLJg0nPQ+FFdPtKFZRCTKxMUZwzKS+ciUwuOmn1+YwfmFGT6lOp52BBYRkS4qBRER6aJSEBGRLioFERHpolIQEZEuKgUREemiUhARkS4qBRER6aJSEBGRLoNumAszqwX29PPh+cDBAYwzkJStf5Stf5StfwZztjHOuVOPa84gLIWzYWar+zL2hx+UrX+UrX+UrX+GQjatPhIRkS4qBRER6TLUSuE+vwOcgrL1j7L1j7L1T8xnG1LbFERE5NSG2pKCiIicwpApBTO70sy2mdkOM7vDh9f/pZnVmNmmbtNyzex5M9vu/czxppuZ/cTLusHMyiKcrdjMXjSzrWa22cz+NlrymVmymb1lZuu9bN/xpo81sze9bL8xs0RvepJ3e4d3f0mksnmvF29ma83s6WjK5b1mhZltNLN1Zrbam+b739R7vWwze9TM3vE+dxdFQzYzO9/7fR27NJjZl6Mk2995/wY2mdly79/GwH/enHMxfwHigZ3AOCARWA9MPscZLgPKgE3dpn0fuMO7fgfwH971RcAKwIC5wJsRzjYCKPOuZwDvApOjIZ/3Gune9QDwpveajwA3eNPvBW71rn8BuNe7fgPwmwj/7m4H/hd42rsdFbm816kA8k+Y5vvf1Hu9/wE+511PBLKjJVu3jPHAfmCM39mAUcBuIKXb5+ymSHzeIv6LjYYLcBHwbLfb/wD8gw85Sji+FLYBI7zrI4Bt3vX/Bpb0NN85yvkk8OFoywekAm8DcwgfpJNw4t8XeBa4yLue4M1nEcpTBLwAfBB42vuPwfdc3fJVcHIp+P43BTK9/+As2rKdkOcK4NVoyEa4FPYCud7n52ngI5H4vA2V1UfHfqHHVHrT/DbcOVcN4P0c5k33La+3mDmT8DfyqMjnraJZB9QAzxNe6jvinAv28Ppd2bz764G8CEW7G/gaEPJu50VJrmMc8JyZrTGzpd60aPibjgNqgWXeqrefm1lalGTr7gZguXfd12zOuX3AD4H3gGrCn581RODzNlRKwXqYFs27XfmS18zSgceALzvnGk41aw/TIpbPOdfpnCsl/M18NjDpFK9/TrKZ2VVAjXNuTffJfuc6wcXOuTJgIfBFM7vsFPOey3wJhFel3uOcmwk0EV4l05tz/rvz1s1fDfz2dLP2MC0Sn7cc4BpgLDASSCP8d+3ttfuda6iUQiVQ3O12EVDlU5buDpjZCADvZ403/ZznNbMA4UJ4yDn3u2jLB+CcOwK8RHjdbbaZJfTw+l3ZvPuzgEMRiHMxcLWZVQAPE16FdHcU5OrinKvyftYAjxMu1Gj4m1YClc65N73bjxIuiWjIdsxC4G3n3AHvtt/ZPgTsds7VOuc6gN8BHyACn7ehUgqrgInelvpEwouFT/mcCcIZPu1d/zThdfnHpn/K27NhLlB/bNE1EszMgF8AW51zd0VTPjMrMLNs73oK4X8cW4EXgcW9ZDuWeTHwJ+etWB1Izrl/cM4VOedKCH+e/uSc+6TfuY4xszQzyzh2nfD68U1Ewd/UObcf2Gtm53uTFgBboiFbN0t4f9XRsQx+ZnsPmGtmqd6/12O/s4H/vEV6Y020XAjvJfAu4fXR/+jD6y8nvC6wg3CLf5bwOr4XgO3ez1xvXgN+5mXdCJRHONslhBctNwDrvMuiaMgHTAfWetk2Ad/0po8D3gJ2EF7ET/KmJ3u3d3j3jzsHf9t5vL/3UVTk8nKs9y6bj33mo+Fv6r1eKbDa+7s+AeREUbZUoA7I6jbN92zAd4B3vH8HvwKSIvF50xHNIiLSZaisPhIRkT5QKYiISBeVgoiIdFEpiIhIF5WCiIh0USlI1DGzTm+EyvVm9raZfeA082eb2Rf68LwvmVlUnl/XL2b2gJktPv2cMlSoFCQatTjnSp1zMwgPXvjvp5k/m/CokFGp2xGnIlFPpSDRLhM4DOGxmczsBW/pYaOZXePNcycw3lu6+IE379e8edab2Z3dnu/jFj4/w7tmdqk3b7yZ/cDMVnlj4v+NN32Ema30nnfTsfm7s/A5C/7De863zGyCN/0BM7vLzF4E/sPC4/E/4T3/G2Y2vdt7WuZl3WBm13nTrzCz1733+ltvXCrM7E4z2+LN+0Nv2se9fOvNbOVp3pOZ2U+95/g/3h/YTSQskkcG6qJLfy5AJ+Gjqt8hPLrjLG96ApDpXc8nfLSmcfKQ5AuB14BU7/axo09fAn7kXV8E/NG7vhT4J+96EuEjbccCX+H9I4HjgYweslZ0m+dTvH9k8wOEhzeO927/F/At7/oHgXXe9f8A7u72fDnee1sJpHnTvg58k/Cwydt4/zS62d7PjcCoE6b19p4+Rnik2XjCA6sdARb7/TfXJXouWqyVaNTiwqOiYmYXAQ+a2VTCBfBvFh7tM0R4eODhPTz+Q8Ay51wzgHOu+0Bgxwb7W0O4TCA8LtD0buvWs4CJhMfM+qWFBwt8wjm3rpe8y7v9/M9u03/rnOv0rl8CXOfl+ZOZ5ZlZlpf1hmMPcM4dtvAIrJOBV8PD3JAIvA40AK3Az71v+U97D3sVeMDMHun2/np7T5cBy71cVWb2p17ekwxRKgWJas65180sHygg/O2+gPCSQ4eFRyhN7uFhRu/DBLd5Pzt5//NvwP9zzj170hOFC+gvgF+Z2Q+ccw/2FLOX600nZOrpcT1lNeB559ySHvLMJjwY2g3Al4APOuduMbM5Xs51Zlba23sys0U9vJ5IF21TkKhmZhcQXtVRR/jbbo1XCPMJnyYR4Cjh04ge8xxws5mles+Re5qXeRa41VsiwMzO80YZHeO93v2ER5Ht7fy7n+j28/Ve5lkJfNJ7/nnAQRc+Z8VzhP9zP/Z+c4A3gIu7bZ9I9TKlEx6k7Rngy4QHlcPMxjvn3nTOfZPwGbaKe3tPXo4bvG0OI4D5p/ndyBCjJQWJRikWPtMahL/xfto512lmDwG/t/BJ6I9tc8A5V2dmr5rZJmCFc+7vvW/Lq82sHXgG+MYpXu/nhFclvW3h9TW1wLWERz/9ezPrABoJbzPoSZKZvUn4S9ZJ3+493yZ8prENQDPvD2v8r8DPvOydwHecc78zs5uA5WaW5M33T4TL70kzS/Z+L3/n3fcDM5voTXuB8MioG3p5T48T3qaxkfCowX8+xe9FhiCNkipyFrxVWOXOuYN+ZxEZCFp9JCIiXbSkICIiXbSkICIiXVQKIiLSRaUgIiJdVAoiItJFpSAiIl1UCiIi0uX/A0GS9lG0kQQfAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "learn.recorder.plot_losses()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.7" } }, "nbformat": 4, "nbformat_minor": 1 }