{"cells":[{"metadata":{"trusted":true},"cell_type":"code","source":"import matplotlib.pyplot as plt\nimport numpy as np\n\nfrom sklearn import model_selection\nimport torch\nfrom torch import nn, optim\nfrom torch.nn import functional as F\nfrom torch.utils import data\nfrom torchvision import models, transforms","execution_count":1,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Improving Performance with Data Augmentation"},{"metadata":{"trusted":true},"cell_type":"code","source":"DEVICE = torch.device(\"cuda\") if torch.cuda.is_available() else torch.device(\"cpu\")","execution_count":2,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Loading the training data"},{"metadata":{"trusted":true},"cell_type":"code","source":"mnist_arr = np.loadtxt(\"../input/train.csv\", delimiter=',', skiprows=1, dtype=np.uint8)","execution_count":24,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Split training data into training and validation subsets\n\n**First step is to split the raw training data into training and validation datasets. The validation dataset will be used to help us prevent overfitting."},{"metadata":{"trusted":true},"cell_type":"code","source":"_prng = np.random.RandomState(42)\ntraining_features, validation_features, training_target, validation_target = (\n    model_selection.train_test_split(mnist_arr[:, 1:],\n                                     mnist_arr[:, 0],\n                                     test_size=0.10,\n                                     random_state=_prng)\n)","execution_count":25,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Create custom `DataSet` class to handle transformations"},{"metadata":{"trusted":true},"cell_type":"code","source":"class DataSetWithTransforms(data.Dataset):\n    \n    def __init__(self, features, target, feature_transforms=None):\n        super().__init__()\n        self._features = features\n        self._target = torch.from_numpy(target).long()\n        self._feature_transforms = feature_transforms\n        \n    def __getitem__(self, index):\n        if self._feature_transforms is None:\n            features = self._features[index]\n        else: \n            features = self._feature_transforms(self._features[index])\n        target = self._target[index]\n        return (features, target) \n    \n    def __len__(self):\n        n_samples, _ = self._features.shape\n        return n_samples\n","execution_count":26,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# data augmentation should only apply to training data\n_feature_transforms = transforms.Compose([\n    transforms.Lambda(lambda array: array.reshape((28, 28, 1))),\n    transforms.ToPILImage(),\n    transforms.RandomAffine(degrees=15, translate=(0.1, 0.1), shear=15, scale=(1.0, 1.1)),\n    transforms.ToTensor(),\n])\n\ntraining_dataset = DataSetWithTransforms(training_features, training_target, _feature_transforms)\n","execution_count":27,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# data augmentation should not be applied to validation data\n_feature_transforms = transforms.Compose([\n    transforms.Lambda(lambda array: array.reshape((28, 28, 1))),\n    transforms.ToPILImage(),\n    transforms.ToTensor(),\n])\n\nvalidation_dataset = DataSetWithTransforms(validation_features, validation_target, _feature_transforms)","execution_count":28,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Create a custom DataLoader**** for training and validation datasets"},{"metadata":{"trusted":true},"cell_type":"code","source":"class WrappedDataLoader:\n    \n    def __init__(self, data_loader, f):\n        self._data_loader = data_loader\n        self._f = f\n        \n    def __len__(self):\n        return len(self._data_loader)\n    \n    def __iter__(self):\n        for batch in iter(self._data_loader):\n            yield self._f(*batch)","execution_count":29,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"_batch_size = 32\n_training_data_loader = data.DataLoader(training_dataset, batch_size=_batch_size, shuffle=True)\ntraining_data_loader = WrappedDataLoader(_training_data_loader, lambda X, y: (X.to(DEVICE), y.to(DEVICE)))\n_validation_data_loader = data.DataLoader(validation_dataset, batch_size=1024)\nvalidation_data_loader = WrappedDataLoader(_validation_data_loader, lambda X, y: (X.to(DEVICE), y.to(DEVICE)))\n","execution_count":30,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Exploring transformed images"},{"metadata":{"trusted":true},"cell_type":"code","source":"fig, axes = plt.subplots(5, 6, sharex=True, sharey=True, figsize=(20, 20))\nfor i in range(5):\n    for j in range(6):\n        if j == 0:\n            _ = axes[i, j].imshow(training_features[i].reshape((28, 28)), cmap=\"gray\")\n        else:\n            _ = axes[i, j].imshow(training_dataset[i][0][0], cmap=\"gray\")\n        \n        if i == 0 and j == 0:\n            axes[i, j].set_title(\"Original Digit\")\n        if i == 0 and j > 0:\n            axes[i, j].set_title(f\"Augmented Digit {j}\")        \nfig.tight_layout()","execution_count":31,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 1440x1440 with 30 Axes>","image/png":"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jz++ZXbDDTcU186YMaOYX3zxxcV87dq1xRx6ybx584r5unXrOjr+smXLivn27ds7On7J1KlTi/l1113XMps9e3Zx7bXXXltVE0ybNq2YH3300S2zQw89tLi2Xb+edtppxfyQQ8qv/+/du7dltnLlyuLa66+/vphDv+nkcXA7b33rWzta34l2e+fPfvazYj44OFh97sWLF1evhVovvPBCMd+zZ08xnz59ejFvt/eW3H333cW8Xb+tWbOmmO/cuXPENUFJu+eWU6ZMKeal545j+bwxwnPHfuYdzAAAAAAAVDFgBgAAAACgigEzAAAAAABVDJgBAAAAAKhiwAwAAAAAQBUDZgAAAAAAqhgwAwAAAABQZXK3C6C9adOmFfOjjz66ZXbooYcW165bt66Yn3baacX8kEPKr1Hs3bu3ZbZy5cri2uuvv76Yb9q0qZhDP7n88suL+XPPPVfMX//61xfzKVOmFPMjjzyymJccf/zxxfyGG24o5jNmzGiZXXzxxcW1a9euLebQygsvvFDM9+zZ0zKbPn16cW27vbOdu+++u5gPDg62zNasWVNcu3PnzqqaoFs6eRzczsMPP1zMO9kbI9rvjyXt9s4777yzmM+ePbtldu2111bVBJ2aM2dOy+zBBx8cx0r+pauuuqpltnz58nGsBDrX6XPL0v441nuj5479yzuYAQAAAACoYsAMAAAAAEAVA2YAAAAAAKoYMAMAAAAAUMWAGQAAAACAKgbMAAAAAABUMWAGAAAAAKDK5G4XQHsvvPBCMd+zZ0/LbPr06cW1p512WlVN+9x9993FfHBwsGW2Zs2a4tqdO3dW1QS9atq0aS2zo48+urj20EMPLebr1q0r5u16/ZBDWr/euHfv3uLalStXFvO1a9cW8+uvv75ltmnTpuJaqDVr1qxifsopp4zZua+66qpivnz58jE7N/SbTh4Hd3PvjCjvn+32zhkzZhTz97znPcX84osvbpm125ehVru99dJLL22Z5ZxHu5yf0+65Z7uehF5Sel4ZMbbPLcdyb4xo34ueO/Yu72AGAAAAAKCKATMAAAAAAFUMmAEAAAAAqGLADAAAAABAFQNmAAAAAACqGDADAAAAAFDFgBkAAAAAgCqTu10A7c2aNauYn3LKKWN27quuuqqYL1++fMzODQebF154oWW2Z8+e4trp06cX89NOO62qpn3uvvvu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AQAAAACoYsAMAAAAAEAVA2YAAAAAAKoYMAMAAAAAUMWAGQAAAACAKinnPHo3S2n0bjbCVq9e3ZjNnTt3FCthuDZs2NCYnXHGGcW1Dz/88EiXM5rW55xnt7lAN3v14osvLuaf+cxninlKqZg/+OCDjdlJJ51UXPvEE08U83/4h38o5g899FAxX7p0aWP2yCOPFNdOnTq1mE+ePLmYt1HqpeHYz/utjda9GtHfe+umTZsas5kzZ45iJb9p3bp1jdn69euLa1esWDHS5QzbggULivnxxx9fzE844YTqe2/cuLGYv/3tby/mnd4Hx1hP7629rHSGjnCO7kedzgVjvO+P+7215LLLLivm11xzTavrP/XUU8X8sccea8xe85rXtLr3/qrH+60te2uP+oM/+IPGrHRGjojYtWvXSJczau65555i3uac3EmPn6OH1au+wQwAAAAAQBUDZgAAAAAAqhgwAwAAAABQxYAZAAAAAIAqBswAAAAAAFQxYAYAAAAAoIoBMwAAAAAAVVLOefRultLo3WyEbdq0qTGbOXPmKFbym9atW9eYrV+/vrh2xYoVI13OsC1YsKCYH3/88cX8hBNOqL73xo0bi/nb3/72Yv7II49U33sUrM85z25zgW726mWXXVbMr7nmmlbXf+qpp6rXPvbYY8W80z83f/zHf1x97/1Zm37r8V5rq3WvRvT33nrkkUc2Zueee25x7WmnnVbMH3jggWK+atWqYl7aW3ft2lVc28smT55czD/96U8X8/nz5zdm06ZNK6699tpri/nSpUuL+Rjr6b11LJXOyBFjf04uKfV5xP57jm5zho7ovK930uV9f9zvrSVbt24t5tOnTx+lSsaXTu814/hzrb2VntL2nFxSOkNH9Pw5eli96hvMAAAAAABUMWAGAAAAAKCKATMAAAAAAFUMmAEAAAAAqGLADAAAAABAFQNmAAAAAACqGDADAAAAAFAl5ZzLL0jpixHx9ojYkXOeNfSzqyLi/RHxxNDLPpJzvrPjzVIq36yHHXnkkY3ZueeeW1x72mmnFfMHHnigmK9ataqYr1u3rjHbtWtXcW0vmzx5cjH/9Kc/Xcznz5/fmE2bNq249tprry3mS5cuLeZjbH3OeXabC3SzVy+77LJifs0113Tr1vu1U045pZgvWLCgmB9//PGN2QknnFBV03CV+q3He62t1r0a0d97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AAAAqhgwAwAAAABQxYAZAAAAAIAqBswAAAAAAFQxYAYAAAAAoIoBMwAAAAAAVQyYAQAAAACoMnGsC6CzJUuWFPMJEyY0Zrfddlurew8MDBTzuXPnFvMPf/jDjdmrXvWq4tpVq1YV80mTJhXzadOmNWYLFy4srr355puLOYy0Uh9HjG0vl/p4OC666KLqtQcccEAxX716dfW1odbrXve6Yv6Od7yjmP/93/99Mf/Rj360zzWNlFmzZhXzZcuWNWavf/3ri2uffvrpYn7ppZcWc3vz2Cn9M/93f/d3xbWdzlxnnHFGVU17lfa3NufU4bC/wX/XaX8snXfPPffc4tpOZ+G77rqrmHfzLNzpc+3hhx9ezEu8VzAWSr3cz59b9Wp3+QYzAAAAAABVDJgBAAAAAKhiwAwAAAAAQBUDZgAAAAAAqhgwAwAAAABQxYAZAAAAAIAqBswAAAAAAFSZONYF0NlrX/vaYn7//fc3ZnfddVdx7cte9rJifu211xbzM888s5h/4QtfaMzOOeec4tpt27YV804OOOCAxmz16tWtrg01lixZ0piV+jhibHu51McRnXu5jWOOOaaYz5w5s5i/5jWvGclyICLKvRwRMWHChGJ+2223tbr/wMBAYzZ37tzi2g9/+MPF/FWvelUxX7VqVWM2adKk4tpp06YV84ULFxbzm2++uZjTPd///ver147l/tbmnBoxtvvbpZdeWsy3bt1azEv73+7du4troVan94p169Y1Zp32TmfhF9bN94oI7xfjlc+t+67t59bS+T6iP3rRN5gBAAAAAKhiwAwAAAAAQBUDZgAAAAAAqhgwAwAAAABQxYAZAAAAAIAqBswAAAAAAFQxYAYAAAAAoMrETi9IKX0xIt4eETtyzrOGfnZVRLw/Ip4YetlHcs53dqvI/d3LX/7yYj579uxi/vWvf7363l/60peK+YknnljM3/jGNxbzwcHBfS1pxBxzzDGN2cyZM4trBwYGivnu3buramJ8e+1rX9uYbd26tdW1u9nL3e7jCRMmNGZnnXVWce2LX/ziYj558uRirpepUerliIj777+/mN91113F/GUve1kxv/baaxuzM888s7j2C1/4QjE/55xzivm2bduKeckBBxxQzFevXl19bcZOp34Yy/2tl8+pGzduLOZXXnllMW+z/9n76EXj+SxcMpbvFRHeL8Yrn1tf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MjTaA0An8+bNa3X+hhtuGKZJYNe3cePG6rObNm0axkmGVylltEdgQLXZiV47+uijO2Znn312evbLX/5ymv/u7/5u1UxQa88990zzY445Js1PP/30jtnkyZPTs48++miaX3vttWn+xBNPpHkb06dPT/MvfelL1dfesGFDmi9evLj62vRet53JtNmniN7uVC/3KaL7Tk2dOrVjZmegf7TpiXREveUVzAAAAAAAVFEwAwAAAABQRcEMAAAAAEAVBTMAAAAAAFUUzAAAAAAAVFEwAwAAAABQRcEMAAAAAECVodEeYCzYc8890/yYY45J89NPPz3NJ0+e3DF79NFH07PXXnttmj/xxBNp3sb06dPTfOrUqWm+YcOGNF+8ePFOzwSMvEmTJnXMun0P+9d//dc0b5qmaiboZ1/96lc7Zv/4j//Y6truneysbs/XurnpppvS/PDDD291/cxJJ52U5jNnzkzziy66KM1vvvnmjtmECRPSsxdccEGad7u/vfe97+2Y3XbbbelZRlcvd6qX+xTRbqfa7FNEb3dq7ty56Vl4JW16oG4dUDdZRxTRrifqZUcU0a4n0hGNLq9gBgAAAACgioIZAAAAAIAqCmYAAAAAAKoomAEAAAAAqKJgBgAAAACgioIZAAAAAIAqCmYAAAAAAKoMjfYAu4KpU6em+U033ZTmhx9++HCO81+cdNJJaT5z5sw0v+iii9L85ptvTvMJEyZ0zC644IL0bNM0aT537tw0h53Vdpf/5E/+JM1PP/30nZ7pJZMnT07zd73rXdXXHm1HH310xyz7HhIRUUpJ89e+9rVp/vTTT6c59KPp06d3zLp9H9uwYcNwj8MYd9ddd6X5uHHj0vyWW25J88997nM7PdNLHnjggTQ/7rjj0vzSSy9N88985jNpvnbt2o7Z7Nmz07NHHXVUmj/00ENpvnTp0jRn9Bx77LGtzi9btizNs53rtm8rV65M817uVJt9iujtTtknXkm351zdXHfddR2zXnZEEe16ol52RBHteiId0ejyCmYAAAAAAKoomAEAAAAAqKJgBgAAAACgioIZAAAAAIAqCmYAAAAAAKoomAEAAAAAqKJgBgAAAACgytBoDzAojj322I7ZsmXL0rPjxo1L81tuuSXNV65cmeYPPPBAx+y4445Lz1566aVp/pnPfCbN165dm+azZ8/umB111FHp2YceeijNly5dmubw87I9jui+y0888USa33HHHTs70rB5/etfn+bdZh9N8+bNqz67YsWKNH/66aerr83Ydu2111ZlEe33bcKECWl+wQUXdMyapknPzp07t2omxrZu98/M2Wefnea33nprmm/btq36sbu5//770/xHP/pRms+fPz/N77777o7Z0FD+Y9iLL76Y5u9///vTfMuWLWlObx1wwAEds4svvrjVtXfbLX+NWLZzvd63NjvVZp8iertT9olX8gu/8Atp3qYn6mVHFNGuJ+plRxTRrie65JJL0rPdOiS73k7XVzCXUj5fSnmmlPKdl33sslLK90spK7f/5//u7ZgAAAAAAPSbHXmLjJsj4uRX+Pj/aJrmyO3/+frwjgUAAAAAQL/rWjA3TXNPRPxwBGYBAAAAAGCAtPlL/s4vpaze/hYar+70SaWUOaWU5aWU5S0eC+gxuwqDw77CYLCrMDjsKwwGuwr9qbZgvj4iDomIIyPiBxHxyU6f2DTNgqZppjZNM7XysYARYFdhcNhXGAx2FQaHfYXBYFehP1UVzE3T/EvTND9tmmZbRNwQEW8Z3rEAAAAAAOh3VQVzKeXAl/32PRHxneEZBwAAAACAQTHU7RNKKX8dEcdHxP6llA0R8ecRcXwp5ciIaCLiiYg4t4czjogDDjggzS+++OKO2W675T392Wefnea33nprmm/bti3NM/fff3+a/+hHP0rz+fPnp/ndd9+d5kN1NZErAAAgAElEQVRDnb/EXnzxxfTs+9///jTfsmVLmrNr6rarN9xwQ8fsHe94R6vHPuKII9L8lltuSfOVK1d2zB544IH07H333ZfmDz74YJpfdNFFaX7zzTd3zCZMmJCePfHEE9P8S1/6Uppv2LChY7b77runZ9l1/fZv/3ar86effnqaT548Oc1POumkjtnMmTPTs232bUccddRRHbOHHnooPbt06dI0f9WrXpXm7r27pl4+D+6mzfPctsaPH5/ml112WZq3uUd1ex78gQ98IM1XrVpV/dj03sc+9rGO2caNG9Oz55xzTpqff/75ab5o0aI0H03ZbN32bf/9909zO8Vwa3NvjGjXE/WyI4po1xP1siPaEYcddljH7Nhjj03Peh7bW13/n22a5qxX+PCNPZgFAAAAAIAB0u4lBwAAAAAAjFkKZgAAAAAAqiiYAQAAAACoomAGAAAAAKCK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6aVifunSpcrHBv6pbdu2VV67f//+Yv7II49UPjb0ysjISDE/ePBgw2xubq64du/evcX88uXLxRxYGrfeemsx37dvXzFfu3ZtMZ+YmGiYnTx5sri2nx04cKDy2sOHDxfzmZmZYj41NdXSebyDGQAAAACASmwwAwAAAABQiQ1mAAAAAAAqscEMAAAAAEAlNpgBAAAAAKjEBjMAAAAAAJXYYAYAAAAAoJKbmt0hpfTViPiPEfFmzvn35297LCL+KCL+bv5un885H12sklQ3MjJSzA8ePFjM5+bmivnevXuL+eXLl4s5cM3Xv/71Yv6pT32qmN91113FfN++fcX84YcfLuZA6+65556O1q9bt67y2v3793d0buAfbd++vZhv3bq1mB85cqRhtmfPnkqdoJduvfXWYt7s9ebatWsbZhMTE8W1J0+eLOZ1duDAgUU79uHDh4v5zMxMMZ+amupmHZaB1atXF/NDhw4V89HR0WI+OTlZzHfs2FHM62p8fLyYf+1rX1u0c+/cubOYX716tZi/5z3vaek8rbyD+b9FxB8scPuf5ZyH5//YXAYAAAAAWGaabjDnnP8iIn61BF0AAAAAAOgjnXwG886U0ksppa+mlBr/rAsAAAAAADekqhvMT0bE70TEcES8HhENP1QopXRvSul0Sul0xXMBS8CsQv8wr9AfzCr0D/MK/cGsQj01/SV/C8k5v/H21ymlpyLiu4X7HoqIQ/P3zVXOByw+swr9w7xCfzCr0D/MK/QHswr1VOkdzCmlwev++omIONudOgAAAAAA9Ium72BOKT0XEWMRsT6l9FpEfCEixlJKwxGRI+JcRPzxInYEAAAAAKCGmm4w55y3L3DzVxahCxXdeuutDbN9+/YV165dW/79jBMTE8X85MmTxRxozfbtC/1T+4+2bt1azL/73YafVBQREY899li7lYCKtm3bVszvuuuuYr5///5i/sgjj7TdCW5UpdfBL7/8cnHtyMhIMT948GAxn5ubK+Z79+5tmF2+fLm4Fnph9erVxfzQoUPFfHR0tJhPTk42zHbs2FFcW2fj4+PF/IEHHli0c+/cubOYX716tZgfPXq0mDd7TUN/WrduXTEv7QONjY0V1544caKYb968uZi/+uqrxbz03D08PFxcOzg4WMy3bNlSzEs2btxYzNesWVPMm32/38zFixcbZgMDA8W1K1eu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\n"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"# Train a CNN"},{"metadata":{"trusted":true},"cell_type":"code","source":"def _checkpoint(epoch, model_fn, opt, path):\n    kwargs = {\"epoch\": epoch,\n              \"model_state_dict\": model_fn.state_dict(),\n              \"optimizer_state_dict\": opt.state_dict()}\n    torch.save(kwargs, path)\n\n\ndef _partial_fit(model_fn, loss_fn, X_batch, y_batch, opt):\n    # forward pass\n    loss = loss_fn(model_fn(X_batch), y_batch)\n\n    # back propagation\n    loss.backward()\n    opt.step()\n    opt.zero_grad() # don't forget to reset the gradient after each batch!\n\n\ndef fit(model_fn, loss_fn, training_data_loader, opt, validation_data_loader=None, number_epochs=1, path=\"checkpoint.pkl\"):\n    lowest_validation_loss = np.inf # initialize validation loss for checkpointing!\n    for epoch in range(number_epochs):\n        model_fn.train()\n        for X_batch, y_batch in training_data_loader:\n            _partial_fit(model_fn, loss_fn, X_batch, y_batch, opt)\n        \n        # compute validation loss after each training epoch\n        if validation_data_loader is not None:\n            model_fn.eval()\n            with torch.no_grad():\n                batch_losses, batch_sizes = zip(*[(loss_fn(model_fn(X), y), len(X)) for X, y in validation_data_loader])\n                validation_loss = np.sum(np.multiply(batch_losses, batch_sizes)) / np.sum(batch_sizes)\n                if validation_loss < lowest_validation_loss:\n                    print(f\"Training epoch: {epoch}, Lowest validation loss: {validation_loss}\")\n                    _checkpoint(epoch, model_fn, opt, path)\n                    lowest_validation_loss = validation_loss\n        print(f\"Completed {epoch} out of {number_epochs} training epochs.\")\n","execution_count":53,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"class LambdaLayer(nn.Module):\n    \n    def __init__(self, f):\n        super().__init__()\n        self._f = f\n        \n    def forward(self, X):\n        return self._f(X)\n    ","execution_count":54,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"lenet5 = nn.Sequential(\n    nn.Conv2d(1, 6, kernel_size=5),\n    nn.ReLU(),\n    nn.MaxPool2d(2),\n    nn.Conv2d(6, 16, kernel_size=5),\n    nn.ReLU(),\n    nn.MaxPool2d(2),\n    LambdaLayer(lambda X: X.view(X.size(0), -1)),\n    nn.Linear(256, 120),\n    nn.ReLU(),\n    nn.Linear(120, 84),\n    nn.ReLU(),\n    nn.Linear(84, 10)\n)\nlenet5.to(DEVICE)\n\nloss_fn = nn.CrossEntropyLoss()\n\nopt = optim.Adam(lenet5.parameters())","execution_count":55,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"fit(lenet5, loss_fn, training_data_loader, opt, validation_data_loader, number_epochs=100)","execution_count":56,"outputs":[{"output_type":"stream","text":"Training epoch: 0, Lowest validation loss: 0.12977632880210876\nCompleted 0 out of 100 training epochs.\nTraining epoch: 1, Lowest validation loss: 0.07325625419616699\nCompleted 1 out of 100 training epochs.\nTraining epoch: 2, Lowest validation loss: 0.05923570692539215\nCompleted 2 out of 100 training epochs.\nTraining epoch: 3, Lowest validation loss: 0.055332034826278687\nCompleted 3 out of 100 training epochs.\nTraining epoch: 4, Lowest validation loss: 0.04921663552522659\nCompleted 4 out of 100 training epochs.\nTraining epoch: 5, Lowest validation loss: 0.047314416617155075\nCompleted 5 out of 100 training epochs.\nCompleted 6 out of 100 training epochs.\nCompleted 7 out of 100 training epochs.\nCompleted 8 out of 100 training epochs.\nTraining epoch: 9, Lowest validation loss: 0.03736569732427597\nCompleted 9 out of 100 training epochs.\nCompleted 10 out of 100 training epochs.\nCompleted 11 out of 100 training epochs.\nCompleted 12 out of 100 training epochs.\nTraining epoch: 13, Lowest validation loss: 0.02924310602247715\nCompleted 13 out of 100 training epochs.\nCompleted 14 out of 100 training epochs.\nCompleted 15 out of 100 training epochs.\nCompleted 16 out of 100 training epochs.\nCompleted 17 out of 100 training epochs.\nCompleted 18 out of 100 training epochs.\nTraining epoch: 19, Lowest validation loss: 0.029201313853263855\nCompleted 19 out of 100 training epochs.\nCompleted 20 out of 100 training epochs.\nCompleted 21 out of 100 training epochs.\nTraining epoch: 22, Lowest validation loss: 0.028491783887147903\nCompleted 22 out of 100 training epochs.\nCompleted 23 out of 100 training epochs.\nCompleted 24 out of 100 training epochs.\nCompleted 25 out of 100 training epochs.\nCompleted 26 out of 100 training epochs.\nTraining epoch: 27, Lowest validation loss: 0.02602885663509369\nCompleted 27 out of 100 training epochs.\nCompleted 28 out of 100 training epochs.\nCompleted 29 out of 100 training epochs.\nCompleted 30 out of 100 training epochs.\nCompleted 31 out of 100 training epochs.\nTraining epoch: 32, Lowest validation loss: 0.025981754064559937\nCompleted 32 out of 100 training epochs.\nCompleted 33 out of 100 training epochs.\nCompleted 34 out of 100 training epochs.\nCompleted 35 out of 100 training epochs.\nCompleted 36 out of 100 training epochs.\nCompleted 37 out of 100 training epochs.\nCompleted 38 out of 100 training epochs.\nCompleted 39 out of 100 training epochs.\nCompleted 40 out of 100 training epochs.\nCompleted 41 out of 100 training epochs.\nCompleted 42 out of 100 training epochs.\nCompleted 43 out of 100 training epochs.\nCompleted 44 out of 100 training epochs.\nCompleted 45 out of 100 training epochs.\nCompleted 46 out of 100 training epochs.\nCompleted 47 out of 100 training epochs.\nCompleted 48 out of 100 training epochs.\nCompleted 49 out of 100 training epochs.\nCompleted 50 out of 100 training epochs.\nCompleted 51 out of 100 training epochs.\nCompleted 52 out of 100 training epochs.\nCompleted 53 out of 100 training epochs.\nCompleted 54 out of 100 training epochs.\nCompleted 55 out of 100 training epochs.\nCompleted 56 out of 100 training epochs.\nCompleted 57 out of 100 training epochs.\nCompleted 58 out of 100 training epochs.\nCompleted 59 out of 100 training epochs.\nCompleted 60 out of 100 training epochs.\nCompleted 61 out of 100 training epochs.\nCompleted 62 out of 100 training epochs.\nCompleted 63 out of 100 training epochs.\nCompleted 64 out of 100 training epochs.\nCompleted 65 out of 100 training epochs.\nCompleted 66 out of 100 training epochs.\nCompleted 67 out of 100 training epochs.\nCompleted 68 out of 100 training epochs.\nCompleted 69 out of 100 training epochs.\nCompleted 70 out of 100 training epochs.\nCompleted 71 out of 100 training epochs.\nCompleted 72 out of 100 training epochs.\nCompleted 73 out of 100 training epochs.\nCompleted 74 out of 100 training epochs.\nCompleted 75 out of 100 training epochs.\nCompleted 76 out of 100 training epochs.\nCompleted 77 out of 100 training epochs.\nCompleted 78 out of 100 training epochs.\nCompleted 79 out of 100 training epochs.\nCompleted 80 out of 100 training epochs.\nCompleted 81 out of 100 training epochs.\nCompleted 82 out of 100 training epochs.\nCompleted 83 out of 100 training epochs.\nCompleted 84 out of 100 training epochs.\nCompleted 85 out of 100 training epochs.\nCompleted 86 out of 100 training epochs.\nCompleted 87 out of 100 training epochs.\nCompleted 88 out of 100 training epochs.\nCompleted 89 out of 100 training epochs.\nCompleted 90 out of 100 training epochs.\nCompleted 91 out of 100 training epochs.\nCompleted 92 out of 100 training epochs.\nCompleted 93 out of 100 training epochs.\nCompleted 94 out of 100 training epochs.\nCompleted 95 out of 100 training epochs.\nCompleted 96 out of 100 training epochs.\nCompleted 97 out of 100 training epochs.\nCompleted 98 out of 100 training epochs.\nCompleted 99 out of 100 training epochs.\n","name":"stdout"}]},{"metadata":{},"cell_type":"markdown","source":"## Make predictions using the test data\n\n### Load the testing data"},{"metadata":{"trusted":true},"cell_type":"code","source":"_testing_features = np.loadtxt(\"../input/test.csv\", delimiter=',', skiprows=1, dtype=np.int64)\n_scaled_testing_features = np.divide(_testing_features, 255, dtype=np.float32)\nscaled_testing_features_tensor = torch.from_numpy(_scaled_testing_features)","execution_count":57,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Reset the model parameters using the checkpoint"},{"metadata":{"trusted":true},"cell_type":"code","source":"checkpoint = torch.load(\"checkpoint.pkl\")\nlenet5.load_state_dict(checkpoint[\"model_state_dict\"])\nlenet5.eval()","execution_count":58,"outputs":[{"output_type":"execute_result","execution_count":58,"data":{"text/plain":"Sequential(\n  (0): Conv2d(1, 6, kernel_size=(5, 5), stride=(1, 1))\n  (1): ReLU()\n  (2): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n  (3): Conv2d(6, 16, kernel_size=(5, 5), stride=(1, 1))\n  (4): ReLU()\n  (5): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)\n  (6): LambdaLayer()\n  (7): Linear(in_features=256, out_features=120, bias=True)\n  (8): ReLU()\n  (9): Linear(in_features=120, out_features=84, bias=True)\n  (10): ReLU()\n  (11): Linear(in_features=84, out_features=10, bias=True)\n)"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"output = lenet5(scaled_testing_features_tensor.view(-1, 1, 28, 28).to(DEVICE))\npredictions = torch.argmax(output, dim=1)","execution_count":59,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Visually check model predictions"},{"metadata":{"trusted":true},"cell_type":"code","source":"fig , axes = plt.subplots(5, 5, sharex=True, sharey=True, figsize=(20, 20))\nidx = 0\nfor i  in range(5):\n    for j in range(5):\n        _ = axes[i, j].imshow(scaled_testing_features_tensor[idx].reshape((28, 28)), cmap=\"gray\")\n        axes[i, j].set_title(f\"Predicted digit: {predictions[idx]}\")\n        idx += 1\nfig.tight_layout()","execution_count":60,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 1440x1440 with 25 Axes>","image/png":"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AAAAADAwMAYAAAAAIImBMQAAAAAAAwNjAAAAAACSGBgDAAAAADAwMAYAAAAAIImBMQAAAAAAAwNjAAAAAACSJBvMdgEAAAAAsJhtttlm3cwznvGMbuawww4by3aS5Pvf/34386Y3vamb+dCHPtTN3HbbbSPVxGQ4whgAAAAAgCQGxgAAAAAADAyMAQAAAABIYmAMAAAAAMDAwBgAAAAAgCQGxgAAAAAADAyMAQAAAABIYmAMAAAAAMCgWmuTW6xqcostYhtvvHE384AHPGAClaydPffcs5t54QtfOJa1Xvayl3Uzl1122VjWWuQubK3tOulF9RpYXFprNek19RlYdOzTAJMw8V6jz0zGKHOa9773vd3MgQce2M1Mcs6XJFX9XfFLLrmkm9l77727mR/96Ecj1cQajdRnHGEMAAAAAEASA2MAAAAAAAYGxgAAAAAAJDEwBgAAAABgYGAMAAAAAEASA2MAAAAAAAYGxgAAAAAAJDEwBgAAAABgsMFsF8D4/emf/mk384pXvGIClcxdJ5100myXAAAAACwCJ5xwQjdzwAEHdDO//OUvu5k3vOENI9U0in333bebeexjH9vN/Pqv/3o387a3va2b2WeffboZxsMRxgAAAAAAJJnmEcZVdXmSW5LcneSu1tqu4ygKAAAAAIDJG8cpKZ7eWrt+DNsBAAAAAGAWOSUFAAAAAABJpj8wbkn+qaourKqjVxWoqqOr6oKqumCaawGsll4DzDR9BpgEvQaYafoM0DPdU1Ls0Vq7qqp+JclnquqS1tqXVw601k5PcnqSVFWb5noAq6TXADNNnwEmQa8BZpo+A/RM6wjj1tpVw7/XJflwkiePoygAAAAAACZvnQfGVbVJVW12z/tJfifJReMqDAAAAACAyZrOKSkemuTDVXXPds5srZ0zlqpYrT322KObOfjggydQyfz2nve8p5u5/fbbu5mXvOQl3cy3v/3tkWqChWibbbbpZnbfffcJVDK/3Xzzzd3MueeeO4FKYOHaaKONuplDDz10pG29/OUv72Ye85jHdDN33HFHN7Pxxht3M295y1u6mde85jXdzH/8x390MwDAfzbK7+tRHH744d3MBz7wgbGslSSnnHJKN3PyySd3MyeeeGI384xnPKOb2WKLLbqZG264oZuhb50Hxq21HyR5whhrAQAAAABgFk3rHMYAAAAAACwcBsYAAAAAACQxMAYAAAAAYGBgDAAAAABAEgNjAAAAAAAGBsYAAAAAACQxMAYAAAAAYFCttcktVjW5xRaoiy++uJvZcccdJ1AJSfKjH/2omznooIO6mQsuuGAc5cxFF7bWdp30onrN9B1zzDHdzFZbbdXNjNKPDjjggJFqGpf11us/V7pixYoJVDK6n/3sZ93M2972tm7mi1/8YjfzpS99aZSS5pTWWk16TX1mflm2bFk38453vKOb2XXX0X6lnXTSSd3Ml7/85W7mtttu62ae+cxndjN77rlnNzNKT99rr726mQXMPg1do+z3XHLJJd3MKPsqSbLxxht3M9ttt1038/SnP32k9Xo++tGPdjOj/P20yE281+gzc8fDHvawbuaaa66ZQCVrZ8stt+xmzj///G5mhx126GZe97rXdTN/8id/0s0sciP1GUcYAwAAAACQxMAYAAAAAICBgTEAAAAAAEkMjAEAAAAAGBgYAwAAAACQxMAYAAAAAICBgTEAAAAAAEkMjAEAAAAAGGww2wWwdo499thu5swzz+xmfuVXfmUc5Yzk+OOPHyn32c9+dizrPetZz+pmTjnllG5m44037ma23XbbbuaAAw7oZr7xjW90M3fffXc3AwcddFA3c+CBB3Yze+21Vzez+eabdzMrVqzoZujbaqutupk/+ZM/6WZG6UcvetGLupmvfe1r3QxMyu67797NfOITn+hm/uVf/qWb+S//5b+MVNNll102Um4cTj/99G5mlH3Dr3zlK93MZptt1s3ccsst3QzMR3/7t3/bzYzSI4455pixbCcZ7e+srbfeuptprY20Xs+RRx7ZzTzhCU8Yy1qwEF1zzTWzXcI6GaXPPPCBD+xmRulFe+yxx0g1MX2OMAYAAAAAIImBMQAAAAAAAwNjAAAAAACSGBgDAAAAADAwMAYAAAAAIImBMQAAAAAAAwNjAAAAAACSGBgDAAAAADDYYLYLYO184Qtf6GYOPvjgbmaXXXYZRzkjOeecc0bKXXrppWNZ75JLLulmXvCCF3QzO++88zjKyate9apu5tRTT+1mbrrppnGUwwK3fPnybuaAAw6YQCXMRY95zGO6ma233noClcBoRvl+POuss7qZb3zjG93Ms571rJFqmo+e+9zndjNbbLFFN3PXXXeNoxyYc4444ohu5tnPfnY3M0rPOvnkk7uZ2267rZtJkhNPPLGbqapuZunSpd3MS1/60m7mcY97XDfzzne+s5s58sgjuxmYSzbbbLNuprXWzdx6663jKGfivvvd73YzN9xwQzczSg/9x3/8x5FqYvocYQwAAAAAQBIDYwAAAAAABgbGAAAAAAAkMTAGAAAAAGBgYAwAAAAAQBIDYwAAAAAABgbGAAAAAAAkMTAGAAAAAGCwwWwXwPh96UtfGktmITvmmGO6ma9+9asTqASmPPCBD+xmXvKSl3QzJ5100jjKGckvf/nLbub73//+BCpZOz/84Q+7mf32228ClYzusY99bDfzrW99awKVwGT91V/9VTez/vrrdzP/7b/9t3GUMyc985nP7Gbe/OY3dzOvetWrupk77rhjpJpgvvn4xz/ezey0007dzF/+5V92MzfddFM3Mxd/1j772c92M9/+9re7mSOOOKKbOfLII0eqCeaKW265pZtZunRpN7PFFlt0Mz/60Y9GqmmSNt98827mcY97XDdzww03dDOf//znR6qJ6XOEMQAAAAAASUYYGFfVu6vquqq6aKX7tqiqz1TV94d/HzKzZQIAAAAAMNNGOcL4jCR73+++E5N8rrX2qCSfG24DAAAAADCPdQfGrbUvJ7n/iUT2S/Le4f33Jtl/zHUBAAAAADBh63rRu4e21q4Z3v9JkoeuLlhVRyc5eh3XARiJXgPMNH0GmAS9Bphp+gzQs64D4/+ntdaqqq3h46cnOT1J1pQDmA69Bphp+gwwCXoNMNP0GaBnlHMYr8q1VfWwJBn+vW58JQEAAAAAMBvWdWD8sSSHDe8fluSj4ykHAAAAAIDZ0j0lRVV9IMmeSbasqh8nOTnJXyT5YFX9fpIrkjxvJouEcbv55ptnuwS4j+23376bOfXUU7uZFStWjKOckXz/+9/vZh7/+MdPoJKF76abbupmzj///G5m991372Z22223buYzn/lMN6PP0nPggQd2M/vv37+u8l577dXN3HDD/a/fPD884xnP6Gbe8573dDMnnHBCN3P66aePVBNzz3bbbdfNXH755TNex1z10Ieu9nI7/88oPyOj7Pf85Cc/Gamm+egBD3jAbJcA89rPfvazsWSWLFnSzbzqVa/qZn71V3+1m0mSSy+9tJv5gz/4g26mqrqZT3ziE93MxRdf3M0wHt2BcWvt+av5UH8PFgAAAACAeWNdT0kBAAAAAMACY2AM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pXGUwwgOOuigbmaU/9eTTjqpm1mxYsVINY3DK1/5yomtBZOy4447djPveMc7RtrWe97znm7ms5/97EjbAqZnzz337GY+97nPdTObbrppN/PGN76xm9l77727ma233rqbSZI777yzm3n729/ezfzN3/xNN3PxxRePVBOw7pYuXdrNHHrood3M4x73uG7muOOOG6mmW2+9tZv5sz/7s27m2GOPHWm9ntbaWLZDnyOMAQAAAABIYmAMAAAAAMDAwBgAAAAAgCQGxgAAAAAADAyMAQAAAABIYmAMAAAAAMDAwBgAAAAAgCQGxgAAAAAADDaY7QJm01/8xV90M621CVQy5Ytf/GI3c+aZZ3Yz73rXu7qZ7bbbrpv54Ac/2M086UlP6mbG6ZZbbulmTj311LGstddee3UzT3va08ay1iGHHNLNLFmypJs54IADxlEOc9Ty5cu7mTe/+c3dzIte9KJu5mtf+9pINc0lb3jDG0bKbbPNNt3MihUrpltOkmS33XbrZrbeeuuxrDUup512Wjdz9dVXT6ASGJ+NNtqomznrrLO6mcsvv3yk9Y4//vhuZpL7mDAfXXLJJd3MKL+PXvnKV3Yzu+yySzfz+Mc/vptZtmxZNzOK733veyPlXvGKV3Qz55xzznTLATo222yzbubYY4/tZl7+8pd3Mw984AO7mVH+brz11lu7mblovtY9HznCGAAAAACAJAbGAAAAAAAMDIwBAAAAAEhiYAwAAAAAwMDAGAAAAACAJAbGAAAAAAAMDIwBAAAAAEhiYAwAAAAAwKBaa5NbrGpyi41glM99xYoVE6hkyk033dTN3HjjjROoZMrSpUu7mU033XRs61177bXdzOGHH97N/NM//dMYqkke8pCHdDPvfve7u5knP/nJ3cyv/uqvjlRTz/rrrz+W7YzRha21XSe96FzrNaO46667uplx9aOrrrqqm7nlllu6marqZib5O+aRj3zkSLkHPehB3cwke/8o1luv//zuKDW/5S1v6Wb+x//4H93MzTff3M1MUmut/804ZvOxzyxmhx12WDfzxje+sZt5+tOfPtJ63/72t0fKMa/Yp5mDzjzzzG7m4IMPHsta49rv+dCHPtTNvPjFLx6ppuuvv36kHPPKxHuNPrNmj370o7uZd77znd3MHnvs0c384he/6GZ23333buab3/xmNzPKvCNJnvSkJ3Uz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AKBiYAwAAAAAQEQYGAMAAAAAUDEwBgAAAAAgIgyMAQAAAACoDOnrAvq73/zmN8XMk08+Wcx897vfLWaee+65WjXRe9/73veKmW233baY+elPf1rMzJgxo5hZc801i5m11167mKnzGPrzn/9czDCwHXTQQX1dwqDx9NNPFzPXXnttMTNx4sQmyoHWbLXVVsXMddddV8yMHDmyiXIGvX322aeY2XLLLYuZ+++/v4ly6GIbbrhhMTN16tQWKulx4oknFjPTp09voRL6oyuuuKKvS2AAOPXUU4uZ448/voVK6tt///2LmXXXXbfWtm677bZi5tJLLy1m5syZU2s9+g9HGAMAAAAAEBEGxgAAAAAAVAyMAQAAAACICANjAAAAAAAqBsYAAAAAAESEgTEAAAAAABUDYwAAAAAAIsLAGAAAAACAypC+LqC/+973vtdIpr8ZNWpUMbPbboRAicQAACAASURBVLsVMy+99FIxs/vuu9eqKaVUzOSca22rZMyYMY1sZ7/99itm3va2txUzw4cPL2Y++MEPFjMf/vCHi5lbbrmlmKF7TZs2rZhZf/31G1nrvvvuayRT5+doIFtttfJrt3UyTanTi6Hk3//934uZzTffvIVK6qvz2L/ssstqbeurX/1qMfPEE08UM6eddloxc9hhhxUza6yxRjGzyy67FDP3339/McPANmHChGJm/Pjxjaw1b968YuaKK65oZC3aU2c/9BOf+EQLlUA9c+bMKWauvvrqFiqpr84+zTbbbFNrW7vuumsxc9JJJxUzv//974uZk08+uZi55JJLihma4QhjAAAAAAAiwsAYAAAAAICKgTEAAAAAABFhYAwAAAAAQMXAGAAAAACAiDAwBgAAAACgYmAMAAAAAEBEGBgDAAAAAFAxMAYAAAAAICIihvR1AfSNSy65pJh573vf20Ilr3vssceKmdVXX72Y2WCDDZooJ2699dZi5rjjjitm7rvvvibKidGjRxczt912WyNr0T9tv/32xcyWW25ZzCxdurSJcuL0008vZs4999xG1hrI6twfTd1ndfrRf/3XfzWyFoPbkUceWcxcfvnlxUxTv9P/8z//s5j55S9/Wcz84Ac/aKKciIhYY401ipmRI0cWMznnJsqJF154oZHtwGqrNXNM0h577FHMPPDAA42sRTNGjRpVzFxxxRXFzLve9a4myomUUiPbYXCrMzupk+lvhg0bViv3t3/7t8XMxIkTi5lPfvKTxcwFF1xQzHzkIx8pZj73uc8VM5QVf5unlM5JKT2RUrpzmesmp5QeTin9tvq3e2fLBAAAAACg0+q8/HtuRExYzvXfyjlvV/37ebNlAQAAAADQtuLAOOd8Q0Q83UItAAAAAAD0od6cYOrolNLt1Skr1m2sIgAAAAAA+sSqDozPioitImK7iHg0Ir65omBK6aiU0pyU0pxVXAugSK8BOk2fAdqg1wCdps8AJUNW5Ytyzo+/9nFK6YcRceVKslMjYmqVbeZtnAHeQK8BOk2fAdqg1wCdps8AJat0hHFKaaNlLu4TEXc2Uw4AAAAAAH2leIRxSumiiBgXEeunlP4QEZMiYlxKabuIyBGxMCI+28EaAQAAAABoQXFgnHM+aDlXn92BWmjR9ddfX8w88cQTxcwdd9xRzFx22WW1alqwYEExc+qppxYzRx55ZDFT5/Z/4QtfKGbmz59fzDTlqaeeam0t+qeddtqpmNlmm21aqIS6Nt1002KmTq+p4/nnny9mDjnkkGJmzhynsqP3HnjggWLmb/7mb1qopP/667/+62Jm/Pjxjaz1wgsvFDO/+tWvGlmLge3EE08sZpYuXVrMnHfeecXM448/XszQv+y1117FzOjRo4uZOo+huXPnFjNXX311MQOD1Z/+9KdaudmzZzeSqbOf8f3vf7+YOfjgg4uZK69c4Vlz31RmsFvVN70DAAAAAGCAMTAGAAAAACAiDIwBAAAAAKgYGAMAAAAAEBEGxgAAAAAAVAyMAQAAAACICANjAAAAAAAqBsYAAAAAAERExJC+LoC+ccIJJ/R1Cf/N3/3d3xUz+++/fzEzb968YuZLX/pSMTN//vxiBpqy/fbbFzOnnHJKC5X0uPDCC4uZiy66qIVK+q9NN920mLnhhhuKmc0226yJcmLJkiXFzJw5cxpZC+i9DTfcsLW1rr766mLmgQceaKESut0999xTzIwePbqYefDBB4uZl156qVZN9B9nnHFGMbN06dJG1jrvvPOKmccff7yRtYDeq/P8cssttyxmJk+eXMwcdNBBxcyVV15ZzAx2jjAGAAAAACAiDIwBAAAAAKgYGAMAAAAAEBEGxgAAAAAAVAyMAQAAAACICANjAAAAAAAqBsYAAAAAAESEgTEAAAAAAJUhfV0AA99aa61VK3fllVcWM0OGlB+y+++/fzFz991316oJ2lLnsT1s2LAWKunx8ssvN5Lpj0aMGFHM7L777sXMF77whWJms802q1VTE6666qrW1gJWbuutty5mTjjhhBYqgWb97Gc/K2Y+8YlPFDPHHntsMXPzzTcXMzNmzChmKNthhx2KmQsvvLCFSnp85zvfKWbOOuusFioB2vSe97ynke28/e1vb2Q7g50jjAEAAAAAiAgDYwAAAAAAKgbGAAAAAABEhIExAAAAAAAVA2MAAAAAACLCwBgAAAAAgIqBMQAAAAAAEWFgDAAAAABAZUhfF0B3W3vttYuZiy++uNa21llnnWLm61//ejFz991311oP6B77779/MfOxj32s1rY23HDDYmbChAm1ttWWH/3oR8XMCSec0EIlMHANGVLeLd5nn31qbes73/lOMTNixIha2yr51a9+VcycddZZjawFTamz33/uuecWMwceeGAxc/PNN9cpqSutv/76xcwZZ5xRzNTpRyNHjqxVUxOef/75YuaVV15poRKgjqFDhxYzRx55ZDFT5znfM888U8wcccQRxQxljjAGAAAAACAiDIwBAAAAAKgYGAMAAAAAEBEGxgAAAAAAVAyMAQAAAACICANjAAAAAAAqBsYAAAAAAESEgTEAAAAAAJUhfV0A3W2TTTYpZj72sY/V2tbChQuLmW984xu1tgX0zn777VfMfPjDH26hkh7rr79+MbPuuuvW2tZqq5VfK126dGmtbZW8+uqrxcwFF1xQzJxwwgnFzHPPPVerJugv3v3udxcz8+bNK2ZGjRpVzLz//e8vZnbZZZdi5qijjipmmvTkk08WM0ceeWQxU+f7CHXMnz+/mLn88suLmTr7GRtvvHExc8MNNxQzt9xySzGz//77FzMbbrhhMXPAAQcUMyeddFIxU2dfJaK5/ZWm3H///cVMncfHV7/61SbKAVaizvOriIjddtutmPn0pz9dzOy6667FTM65mKnz3OmRRx4pZigr/iZKKW2WUpqZUro7pXRXSul/Vdevl1K6LqV0X/V/vWfqAAAAAAD0S3VeunwlIv4p5zwmInaIiC+klMZExMkRMSPnPDoiZlSXAQAAAADoUsWBcc750Zzzr6uPX4iIeyJik4jYKyLOq2LnRcTenSoSAAAAAIDOe1NvepdS2iIi3h8R/yciRuScH60+9VhEjGi0MgAAAAAA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zJjRQiXQY9KkSa2tNXv27NbWomz8+PHFzMyZM4uZcePGNVBNve3MmjWrkbVoV1N9Rg8pa/Nnto46P7N+rsscYQwAAAAAQEQYGAMAAAAAUDEwBgAAAAAgIgyMAQAAAACoGBgDAAAAABARBsYAAAAAAFQMjAEAAAAAiAgDYwAAAAAAKinn3N5iKbW3WBfaYIMNipnHHnushUoGvvPPP7+YOeywwzpfyMB3W855bNuL6jX01vrrr1/MzJw5s5jZYostipl3vOMdxczixYuLmcEs55zaXlOfacczzzxTzLz1rW9toZLudsMNNxQz48ePb6GSrmafpkFtPget89ieNWtW5wuhtsmTJxczkyZNamStOvd9y/2x9V7TjX1m3LhxxUydffU6Ump9N7NfafPnsSn6flGtPuMIYwAAAAAAIsLAGAAAAACAioExAAAAAAARYWAMAAAAAEDFwBgAAAAAgIgwMAYAAAAAoGJgDAAAAABARBgYAwAAAABQGdLXBfC6P/7xj8XMz372s2Jmzz33bKKcWp5++uli5rbbbqu1rWnTphUzO+20UzGz9957FzMjRoyoVRMwOE2fPr2Y2WabbYqZffbZp5hZvHhxrZpgMNp6662LmS996UvFzDHHHNNEObXde++9xUydfagddtihiXJi7ty5jWwH+ptZs2Y1kmHwGjduXF+XwCpwv/XezJkza+XqfK+nTJnSy2p6TJo0qZgZP358MaPvN8MRxgAAAAAARISBMQAAAAAAFQNjAAAAAAAiwsAYAAAAAICKgTEAAAAAABFhYAwAAAAAQMXAGAAAAACAiDAwBgAAAACgYmAMAAAAAEBERAwpBVJK50TEHhHxRM552+q6yRHxDxHxZBX7Ys75550qcrDIORcz3/72t4uZhx56qJh54IEHipnrr7++mHnmmWcaWauuH/zgB8XMqaeeWswcc8wxxczVV19dzEyYMKGYAfqX448/vpgZO3ZsMXPrrbcWM9dee22tmoDle/LJJ4uZL37xi8VMnX2aJt13333FzOabb17M/OIXv2iinPj+97/fyHagjnHjxrW21uzZs1tbi/bsvPPOra01a9as1tZicKvTGydNmtTIduqo+9gfP358I9uaPHlyrfWaWItm1DnC+NyIWN5U7Fs55+2qf4bFAAAAAABdrjgwzjnfEBFPt1ALAAAAAAB9qDfnMD46pXR7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Fy6sZs4666xO1gHGjz57MeNLq3MYAwAAAAAw8RkYAwAAAAAQEQbGAAAAAAA0DIwBAAAAAIgIA2MAAAAAABoGxgAAAAAARISBMQAAAAAADQNjAAAAAAAiImLqWBfA+nna057W217HHntsNfPQQw9VMyMjI63223fffauZN73pTdXMDjvs0Gq/mh/96EedrAPjzemnn17NfOADH6hmSinVzCWXXFLNnHHGGdUMwMY44IADqpnrr7++mtlqq626KCciIu69995q5q677upsPxhP5s+f38k68+bN62Sdye6ss86qZhYuXNhJBhgfZs+e3et+XfV9+uMIYwAAAAAAIsLAGAAAAACAhoExAAAAAAARYWAMAAAAAEDDwBgAAAAAgIgwMAYAAAAAoGFgDAAAAABARBgYAwAAAADQyFJKf5tl9rfZBHXiiSdWMx/60IeqmalTp3ZRztD65je/Wc284x3vqGaWLFnSRTkT2bJSyqy+N53MveZlL3tZNXPttddWM216xM0331zNvOpVr6pmfvazn1UzsC6llOx7z8ncZ8abF73oRdXM5ZdfXs386Z/+aRflRETERRddVM184AMfqGbuueeeDqqhI57TDKn58+dXMwcffHA1M3v27I0vpqWFCxe2yi1atKiaaXP/GVd67zX6zOTUtjfMmzevk/0ye3+6ztq16jOOMAYAAAAAICIMjAEAAAAAaBgYAwAAAAAQEQbGAAAAAAA0DIwBAAAAAIgIA2MAAAAAABoGxgAAAAAARISBMQAAAAAAjSyl9LdZZn+bTWLHH398NTN37txq5iUveUkX5fRu/vz51cxHP/rRauaRRx7poJpJb1kpZVbfm07mXvP5z3++mjnqqKOqmaVLl1Yzhx9+eDWzcuXKagY2Vikl+95zMveZPs2aVf8n5Morr6xmdtpppy7KiY985COtcpdddlk1s2zZso0th355TgP0ofdeo8+wLm1mhmeddVY102ZOQ29a9RlHGAMAAAAAEBEGxgAAAAAANAyMAQAAAACICANjAAAAAAAaBsYAAAAAAESEgTEAAAAAAA0DYwAAAAAAIsLAGAAAAACAxtSxLoDuXXzxxZ1kgOFz++23VzN77bVXNfPqV7+6mnnkkUda1QSwoW6++eZqZsaMGT1UAgAw+Zx11lnVzMEHH9xDJfSteoRxZu6SmTdl5h2ZeXtmntxcPz8z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\n"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"## Reformat predictions"},{"metadata":{"trusted":true},"cell_type":"code","source":"# submission format for kaggle\n!head ../input/sample_submission.csv","execution_count":61,"outputs":[{"output_type":"stream","text":"ImageId,Label\r\r\n1,0\r\r\n2,0\r\r\n3,0\r\r\n4,0\r\r\n5,0\r\r\n6,0\r\r\n7,0\r\r\n8,0\r\r\n9,0\r\r\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"import time\n\nimport pandas as pd\n\ntimestamp = time.strftime(\"%Y%m%d-%H%M%S\")\nnumber_predictions, = predictions.shape\n(pd.DataFrame({\"ImageId\": range(1, number_predictions + 1), \"Label\": predictions.cpu()})\n   .to_csv(f\"submission-{timestamp}.csv\", index=False))","execution_count":62,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"!head submission-*.csv","execution_count":63,"outputs":[{"output_type":"stream","text":"==> submission-20190512-053336.csv <==\r\nImageId,Label\r\n1,2\r\n2,0\r\n3,9\r\n4,0\r\n5,3\r\n6,7\r\n7,0\r\n8,3\r\n9,0\r\n\r\n==> submission-20190512-061940.csv <==\r\nImageId,Label\r\n1,2\r\n2,0\r\n3,9\r\n4,0\r\n5,3\r\n6,7\r\n7,0\r\n8,3\r\n9,0\r\n","name":"stdout"}]},{"metadata":{},"cell_type":"markdown","source":"## Submit to Kaggle!\n\nOnce you have successfully submited your predictions then you can check the [Digit-Recognizer competition](https://www.kaggle.com/c/digit-recognizer) website and see how well your best model compares to your peers."},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"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.3"}},"nbformat":4,"nbformat_minor":1}