{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Object Recognition with ALL-CNN\n", "> In this project, it will show CNN model for object recognition. The Original Paper is \"Striving for simplicity - The all convolutional net\" from ICLR 2015.\n", "\n", "- toc: true \n", "- badges: true\n", "- comments: true\n", "- author: Chanseok Kang\n", "- categories: [Python, Deep_Learning, Vision]\n", "- image: images/cifar10_result.png" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[This paper](https://arxiv.org/abs/1412.6806) introduced the convolutional neural network obtained state-of-the-art performance at object recognition on the CIFAR-10 image datasaet in 2015." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Required Packages" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "import sys\n", "import tensorflow as tf\n", "from tensorflow.keras import utils\n", "\n", "import numpy as np\n", "import pandas as pd\n", "\n", "import matplotlib as mpl\n", "import matplotlib.pyplot as plt\n", "from PIL import Image\n", "\n", "plt.rcParams['figure.figsize'] = (8, 8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Version check" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Python: 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]\n", "Numpy: 1.18.1\n", "Pandas: 1.0.1\n", "Tensorflow: 2.1.0\n" ] } ], "source": [ "print('Python: {}'.format(sys.version))\n", "print('Numpy: {}'.format(np.__version__))\n", "print('Pandas: {}'.format(pd.__version__))\n", "print('Tensorflow: {}'.format(tf.__version__))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Prepare dataset\n", "The original data is from [here](https://www.cs.toronto.edu/~kriz/cifar.html)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "from tensorflow.keras.datasets import cifar10\n", "\n", "# Load the data\n", "(X_train, y_train), (X_test, y_test) = cifar10.load_data()" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [], "source": [ "labels = ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training Images: (50000, 32, 32, 3)\n", "Test images: (10000, 32, 32, 3)\n" ] } ], "source": [ "# Determine the dataset characteristics\n", "print(\"Training Images: {}\".format(X_train.shape))\n", "print(\"Test images: {}\".format(X_test.shape))" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(32, 32, 3)\n" ] } ], "source": [ "# A single image\n", "print(X_train[0].shape)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Create a grid of 3x3 images\n", "for i in range(9):\n", " plt.subplot(330 + 1 + i)\n", " img = X_train[i]\n", " plt.imshow(img)\n", " plt.title(labels[int(y_train[i][0])])\n", " plt.axis('off')\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Preprocess Data" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "# fix random seed for reproducibiliy\n", "seed = 6\n", "np.random.seed(seed)\n", "\n", "# Normalize the inputs from 0-255 to 0.0-1.0\n", "X_train = X_train.astype('float32')\n", "X_test = X_test.astype('float32')\n", "\n", "X_train /= 255.0\n", "X_test /= 255.0" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(50000, 1)\n", "[6]\n" ] } ], "source": [ "# Class labels shape\n", "print(y_train.shape)\n", "print(y_train[0])" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(50000, 10)\n", "[0. 0. 0. 0. 0. 0. 1. 0. 0. 0.]\n" ] } ], "source": [ "# Convert the label with Onehot Encoder\n", "y_train = utils.to_categorical(y_train)\n", "y_test = utils.to_categorical(y_test)\n", "num_class = y_test.shape[1]\n", "\n", "print(y_train.shape)\n", "print(y_train[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Building the All-CNN model\n", "In this project, we`ll implement ALL-CNN-C model\n", "\n", "- Input - 32 x 32 RGB image\n", "- Layer Architecture\n", " - 3x3 conv. 96 ReLU\n", " - 3x3 conv. 96 ReLU\n", " - 3x3 max-pooling stride 2\n", " - 3x3 conv. 192 ReLU\n", " - 3x3 conv. 192 ReLU\n", " - 3x3 max-pooling stride 2\n", " - 3x3 conv. 192 ReLU\n", " - 1x1 conv. 192 ReLU\n", " - 1x1 conv. 10 ReLU\n", " - global averaging over 6x6 spatial dimensions\n", " - 10-way softmax" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "# import necessary layers\n", "from tensorflow.keras.models import Sequential\n", "from tensorflow.keras.layers import Dropout, Conv2D, Dense, GlobalAvgPool2D, MaxPool2D\n", "from tensorflow.keras.optimizers import SGD" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [], "source": [ "# Define the model function\n", "def allcnn(weights=None):\n", " # define model type = Sequential\n", " model = Sequential()\n", " \n", " # Add model layer\n", " model.add(Conv2D(96, kernel_size=(3, 3), padding='same', input_shape=(32, 32, 3), activation='relu'))\n", " model.add(Conv2D(96, kernel_size=(3, 3), padding='same', activation='relu'))\n", " model.add(MaxPool2D(pool_size=(3, 3), padding='same', strides=(2, 2)))\n", " model.add(Dropout(0.5))\n", " \n", " model.add(Conv2D(192, kernel_size=(3, 3), padding='same', activation='relu'))\n", " model.add(Conv2D(192, kernel_size=(3, 3), padding='same', activation='relu'))\n", " model.add(MaxPool2D(pool_size=(3, 3), padding='same', strides=(2, 2)))\n", " model.add(Dropout(0.5))\n", " \n", " model.add(Conv2D(192, kernel_size=(3, 3), padding='same', activation= 'relu'))\n", " model.add(Conv2D(192, kernel_size=(1, 1), padding='same', activation= 'relu'))\n", " model.add(Conv2D(10, kernel_size=(1, 1), padding='same', activation='relu'))\n", " \n", " model.add(GlobalAvgPool2D())\n", " model.add(Dense(10, activation='softmax'))\n", " \n", " # Load the weights\n", " if weights:\n", " model.load_weights(weights)\n", " \n", " return model" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"sequential_8\"\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "conv2d_39 (Conv2D) (None, 32, 32, 96) 2688 \n", "_________________________________________________________________\n", "conv2d_40 (Conv2D) (None, 32, 32, 96) 83040 \n", "_________________________________________________________________\n", "max_pooling2d_10 (MaxPooling (None, 16, 16, 96) 0 \n", "_________________________________________________________________\n", "dropout_10 (Dropout) (None, 16, 16, 96) 0 \n", "_________________________________________________________________\n", "conv2d_41 (Conv2D) (None, 16, 16, 192) 166080 \n", "_________________________________________________________________\n", "conv2d_42 (Conv2D) (None, 16, 16, 192) 331968 \n", "_________________________________________________________________\n", "max_pooling2d_11 (MaxPooling (None, 8, 8, 192) 0 \n", "_________________________________________________________________\n", "dropout_11 (Dropout) (None, 8, 8, 192) 0 \n", "_________________________________________________________________\n", "conv2d_43 (Conv2D) (None, 8, 8, 192) 331968 \n", "_________________________________________________________________\n", "conv2d_44 (Conv2D) (None, 8, 8, 192) 37056 \n", "_________________________________________________________________\n", "conv2d_45 (Conv2D) (None, 8, 8, 10) 1930 \n", "_________________________________________________________________\n", "global_average_pooling2d_4 ( (None, 10) 0 \n", "_________________________________________________________________\n", "dense_4 (Dense) (None, 10) 110 \n", "=================================================================\n", "Total params: 954,840\n", "Trainable params: 954,840\n", "Non-trainable params: 0\n", "_________________________________________________________________\n", "None\n" ] } ], "source": [ "# Define hyperparamters\n", "learning_rate = 0.01\n", "weight_decay = 1e-6\n", "momentum = 0.9\n", "\n", "# Parameter Grid Search\n", "model = allcnn()\n", "\n", "# Define optimizer and compile model\n", "sgd = SGD(learning_rate=learning_rate, decay=weight_decay, momentum=momentum, nesterov=True)\n", "model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])\n", "\n", "print(model.summary())" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Train on 50000 samples, validate on 10000 samples\n", "Epoch 1/100\n", "50000/50000 [==============================] - 11s 218us/sample - loss: 1.9512 - accuracy: 0.2375 - val_loss: 1.7935 - val_accuracy: 0.3067\n", "Epoch 2/100\n", "50000/50000 [==============================] - 11s 211us/sample - loss: 1.5540 - accuracy: 0.4074 - val_loss: 1.3599 - val_accuracy: 0.4934\n", "Epoch 3/100\n", "50000/50000 [==============================] - 11s 216us/sample - loss: 1.2937 - accuracy: 0.5223 - val_loss: 1.1712 - val_accuracy: 0.5708\n", "Epoch 4/100\n", "50000/50000 [==============================] - 11s 217us/sample - loss: 1.1107 - accuracy: 0.5983 - val_loss: 1.0279 - val_accuracy: 0.6302\n", "Epoch 5/100\n", "50000/50000 [==============================] - 11s 213us/sample - loss: 0.9708 - accuracy: 0.6483 - val_loss: 0.8836 - val_accuracy: 0.6837\n", "Epoch 6/100\n", "50000/50000 [==============================] - 11s 213us/sample - loss: 0.8706 - accuracy: 0.6919 - val_loss: 0.8344 - val_accuracy: 0.7038\n", "Epoch 7/100\n", "50000/50000 [==============================] - 11s 214us/sample - loss: 0.7842 - accuracy: 0.7222 - val_loss: 0.8831 - val_accuracy: 0.6912\n", "Epoch 8/100\n", "50000/50000 [==============================] - 11s 218us/sample - loss: 0.7187 - accuracy: 0.7469 - val_loss: 0.7148 - val_accuracy: 0.7493\n", "Epoch 9/100\n", "50000/50000 [==============================] - 11s 212us/sample - loss: 0.6577 - accuracy: 0.7688 - val_loss: 0.6144 - val_accuracy: 0.7871\n", "Epoch 10/100\n", "50000/50000 [==============================] - 11s 212us/sample - loss: 0.6105 - accuracy: 0.7864 - val_loss: 0.6142 - val_accuracy: 0.7877\n", "Epoch 11/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.5741 - accuracy: 0.7990 - val_loss: 0.5857 - val_accuracy: 0.8023\n", "Epoch 12/100\n", "50000/50000 [==============================] - 11s 211us/sample - loss: 0.5434 - accuracy: 0.8094 - val_loss: 0.5582 - val_accuracy: 0.8128\n", "Epoch 13/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.5121 - accuracy: 0.8215 - val_loss: 0.5465 - val_accuracy: 0.8111\n", "Epoch 14/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.4844 - accuracy: 0.8303 - val_loss: 0.5103 - val_accuracy: 0.8259\n", "Epoch 15/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.4639 - accuracy: 0.8381 - val_loss: 0.5382 - val_accuracy: 0.8232\n", "Epoch 16/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.4445 - accuracy: 0.8436 - val_loss: 0.5216 - val_accuracy: 0.8292\n", "Epoch 17/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.4258 - accuracy: 0.8507 - val_loss: 0.4929 - val_accuracy: 0.8363\n", "Epoch 18/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.4068 - accuracy: 0.8563 - val_loss: 0.5049 - val_accuracy: 0.8325\n", "Epoch 19/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.3917 - accuracy: 0.8616 - val_loss: 0.5115 - val_accuracy: 0.8349\n", "Epoch 20/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.3772 - accuracy: 0.8677 - val_loss: 0.4758 - val_accuracy: 0.8449\n", "Epoch 21/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.3665 - accuracy: 0.8701 - val_loss: 0.4788 - val_accuracy: 0.8431\n", "Epoch 22/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.3534 - accuracy: 0.8752 - val_loss: 0.4976 - val_accuracy: 0.8393\n", "Epoch 23/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.3461 - accuracy: 0.8770 - val_loss: 0.4735 - val_accuracy: 0.8452\n", "Epoch 24/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.3298 - accuracy: 0.8828 - val_loss: 0.4889 - val_accuracy: 0.8456\n", "Epoch 25/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.3220 - accuracy: 0.8862 - val_loss: 0.4937 - val_accuracy: 0.8445\n", "Epoch 26/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.3155 - accuracy: 0.8882 - val_loss: 0.4512 - val_accuracy: 0.8530\n", "Epoch 27/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.3057 - accuracy: 0.8913 - val_loss: 0.5041 - val_accuracy: 0.8447\n", "Epoch 28/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.2955 - accuracy: 0.8951 - val_loss: 0.5083 - val_accuracy: 0.8474\n", "Epoch 29/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.2910 - accuracy: 0.8964 - val_loss: 0.5262 - val_accuracy: 0.8432\n", "Epoch 30/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.2867 - accuracy: 0.8974 - val_loss: 0.4747 - val_accuracy: 0.8564\n", "Epoch 31/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.2738 - accuracy: 0.9029 - val_loss: 0.4954 - val_accuracy: 0.8509\n", "Epoch 32/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.2679 - accuracy: 0.9047 - val_loss: 0.4716 - val_accuracy: 0.8597\n", "Epoch 33/100\n", "50000/50000 [==============================] - 10s 209us/sample - loss: 0.2643 - accuracy: 0.9060 - val_loss: 0.5434 - val_accuracy: 0.8457\n", "Epoch 34/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.2567 - accuracy: 0.9099 - val_loss: 0.5056 - val_accuracy: 0.8520\n", "Epoch 35/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.2556 - accuracy: 0.9080 - val_loss: 0.5048 - val_accuracy: 0.8489\n", "Epoch 36/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.2483 - accuracy: 0.9117 - val_loss: 0.4827 - val_accuracy: 0.8579\n", "Epoch 37/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.2428 - accuracy: 0.9151 - val_loss: 0.5077 - val_accuracy: 0.8509\n", "Epoch 38/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.2391 - accuracy: 0.9150 - val_loss: 0.5151 - val_accuracy: 0.8542\n", "Epoch 39/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.2393 - accuracy: 0.9155 - val_loss: 0.4748 - val_accuracy: 0.8594\n", "Epoch 40/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.2329 - accuracy: 0.9171 - val_loss: 0.4654 - val_accuracy: 0.8653\n", "Epoch 41/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.2255 - accuracy: 0.9191 - val_loss: 0.5062 - val_accuracy: 0.8573\n", "Epoch 42/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.2266 - accuracy: 0.9201 - val_loss: 0.5217 - val_accuracy: 0.8610\n", "Epoch 43/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.2242 - accuracy: 0.9207 - val_loss: 0.4751 - val_accuracy: 0.8644\n", "Epoch 44/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.2152 - accuracy: 0.9235 - val_loss: 0.5211 - val_accuracy: 0.8579\n", "Epoch 45/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.2166 - accuracy: 0.9231 - val_loss: 0.4649 - val_accuracy: 0.8697\n", "Epoch 46/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.2114 - accuracy: 0.9246 - val_loss: 0.5254 - val_accuracy: 0.8570\n", "Epoch 47/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.2087 - accuracy: 0.9247 - val_loss: 0.4847 - val_accuracy: 0.8628\n", "Epoch 48/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.2086 - accuracy: 0.9267 - val_loss: 0.5284 - val_accuracy: 0.8564\n", "Epoch 49/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.2013 - accuracy: 0.9284 - val_loss: 0.5377 - val_accuracy: 0.8554\n", "Epoch 50/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.2010 - accuracy: 0.9288 - val_loss: 0.4966 - val_accuracy: 0.8664\n", "Epoch 51/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1942 - accuracy: 0.9299 - val_loss: 0.5608 - val_accuracy: 0.8558\n", "Epoch 52/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.1926 - accuracy: 0.9318 - val_loss: 0.5056 - val_accuracy: 0.8673\n", "Epoch 53/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1949 - accuracy: 0.9311 - val_loss: 0.4883 - val_accuracy: 0.8635\n", "Epoch 54/100\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "50000/50000 [==============================] - 10s 205us/sample - loss: 0.1888 - accuracy: 0.9332 - val_loss: 0.5422 - val_accuracy: 0.8574\n", "Epoch 55/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.1885 - accuracy: 0.9330 - val_loss: 0.5360 - val_accuracy: 0.8629\n", "Epoch 56/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.1882 - accuracy: 0.9325 - val_loss: 0.5075 - val_accuracy: 0.8679\n", "Epoch 57/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.1834 - accuracy: 0.9348 - val_loss: 0.5165 - val_accuracy: 0.8645\n", "Epoch 58/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.1809 - accuracy: 0.9354 - val_loss: 0.5259 - val_accuracy: 0.8639\n", "Epoch 59/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.1738 - accuracy: 0.9384 - val_loss: 0.5745 - val_accuracy: 0.8530\n", "Epoch 60/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.1698 - accuracy: 0.9405 - val_loss: 0.5370 - val_accuracy: 0.8645\n", "Epoch 61/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.1744 - accuracy: 0.9381 - val_loss: 0.5868 - val_accuracy: 0.8539\n", "Epoch 62/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.1748 - accuracy: 0.9380 - val_loss: 0.5534 - val_accuracy: 0.8665\n", "Epoch 63/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.1669 - accuracy: 0.9408 - val_loss: 0.5320 - val_accuracy: 0.8667\n", "Epoch 64/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.1634 - accuracy: 0.9422 - val_loss: 0.5764 - val_accuracy: 0.8621\n", "Epoch 65/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.1639 - accuracy: 0.9415 - val_loss: 0.5295 - val_accuracy: 0.8664\n", "Epoch 66/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.1604 - accuracy: 0.9435 - val_loss: 0.5840 - val_accuracy: 0.8638\n", "Epoch 67/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1633 - accuracy: 0.9422 - val_loss: 0.5513 - val_accuracy: 0.8629\n", "Epoch 68/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.1592 - accuracy: 0.9442 - val_loss: 0.5619 - val_accuracy: 0.8599\n", "Epoch 69/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1652 - accuracy: 0.9417 - val_loss: 0.5597 - val_accuracy: 0.8650\n", "Epoch 70/100\n", "50000/50000 [==============================] - 10s 205us/sample - loss: 0.1598 - accuracy: 0.9435 - val_loss: 0.5407 - val_accuracy: 0.8673\n", "Epoch 71/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1539 - accuracy: 0.9450 - val_loss: 0.5509 - val_accuracy: 0.8651\n", "Epoch 72/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.1525 - accuracy: 0.9454 - val_loss: 0.5781 - val_accuracy: 0.8675\n", "Epoch 73/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.1584 - accuracy: 0.9447 - val_loss: 0.5658 - val_accuracy: 0.8579\n", "Epoch 74/100\n", "50000/50000 [==============================] - 10s 206us/sample - loss: 0.1502 - accuracy: 0.9473 - val_loss: 0.6248 - val_accuracy: 0.8586\n", "Epoch 75/100\n", "50000/50000 [==============================] - 10s 209us/sample - loss: 0.1522 - accuracy: 0.9452 - val_loss: 0.5733 - val_accuracy: 0.8632\n", "Epoch 76/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1500 - accuracy: 0.9459 - val_loss: 0.5960 - val_accuracy: 0.8628\n", "Epoch 77/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1447 - accuracy: 0.9492 - val_loss: 0.5895 - val_accuracy: 0.8644\n", "Epoch 78/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1437 - accuracy: 0.9499 - val_loss: 0.5247 - val_accuracy: 0.8641\n", "Epoch 79/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1454 - accuracy: 0.9480 - val_loss: 0.5667 - val_accuracy: 0.8658\n", "Epoch 80/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1432 - accuracy: 0.9497 - val_loss: 0.5354 - val_accuracy: 0.8723\n", "Epoch 81/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1437 - accuracy: 0.9505 - val_loss: 0.5759 - val_accuracy: 0.8647\n", "Epoch 82/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1418 - accuracy: 0.9500 - val_loss: 0.5877 - val_accuracy: 0.8703\n", "Epoch 83/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.1387 - accuracy: 0.9505 - val_loss: 0.5735 - val_accuracy: 0.8690\n", "Epoch 84/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.1407 - accuracy: 0.9510 - val_loss: 0.5740 - val_accuracy: 0.8737\n", "Epoch 85/100\n", "50000/50000 [==============================] - 10s 209us/sample - loss: 0.1334 - accuracy: 0.9532 - val_loss: 0.5730 - val_accuracy: 0.8710\n", "Epoch 86/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1342 - accuracy: 0.9532 - val_loss: 0.5903 - val_accuracy: 0.8663\n", "Epoch 87/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1328 - accuracy: 0.9540 - val_loss: 0.5985 - val_accuracy: 0.8659\n", "Epoch 88/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1376 - accuracy: 0.9514 - val_loss: 0.5755 - val_accuracy: 0.8648\n", "Epoch 89/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.1319 - accuracy: 0.9536 - val_loss: 0.5957 - val_accuracy: 0.8661\n", "Epoch 90/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.1333 - accuracy: 0.9530 - val_loss: 0.5988 - val_accuracy: 0.8633\n", "Epoch 91/100\n", "50000/50000 [==============================] - 10s 209us/sample - loss: 0.1282 - accuracy: 0.9554 - val_loss: 0.6002 - val_accuracy: 0.8674\n", "Epoch 92/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.1333 - accuracy: 0.9531 - val_loss: 0.5531 - val_accuracy: 0.8706\n", "Epoch 93/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.1310 - accuracy: 0.9544 - val_loss: 0.5540 - val_accuracy: 0.8720\n", "Epoch 94/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.1241 - accuracy: 0.9567 - val_loss: 0.6359 - val_accuracy: 0.8632\n", "Epoch 95/100\n", "50000/50000 [==============================] - 10s 207us/sample - loss: 0.1281 - accuracy: 0.9551 - val_loss: 0.6134 - val_accuracy: 0.8645\n", "Epoch 96/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.1275 - accuracy: 0.9557 - val_loss: 0.5925 - val_accuracy: 0.8708\n", "Epoch 97/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.1226 - accuracy: 0.9574 - val_loss: 0.6412 - val_accuracy: 0.8678\n", "Epoch 98/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.1239 - accuracy: 0.9570 - val_loss: 0.6448 - val_accuracy: 0.8597\n", "Epoch 99/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.1227 - accuracy: 0.9574 - val_loss: 0.5598 - val_accuracy: 0.8750\n", "Epoch 100/100\n", "50000/50000 [==============================] - 10s 208us/sample - loss: 0.1250 - accuracy: 0.9565 - val_loss: 0.6793 - val_accuracy: 0.8644\n" ] } ], "source": [ "from tensorflow.keras.callbacks import ModelCheckpoint\n", "\n", "checkpoint = ModelCheckpoint('best_weights.hdf5', monitor='val_loss', save_best_only=True)\n", "\n", "# Define additional training parameters\n", "epochs = 100\n", "batch_size = 32\n", "\n", "# Fit the model\n", "history = model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=epochs, \n", " batch_size=batch_size, verbose=1, callbacks=[checkpoint])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Uh oh. It's apparent that training this deep convolutional neural network is going to take a long time, which is not surprising considering the network has about almost 1 million parameters. Updating this many parameters takes a considerable amount of time; unless, of course, you are using a Graphics Processing Unit (GPU). This is a good time for a quick lesson on the differences between CPUs and GPUs.\n", "\n", "The **central processing unit (CPU)** is often called the brains of the PC because it handles the majority of necessary computations. All computers have a CPU and this is what Keras and Theano automatically utilize.\n", "\n", "The **graphics processing unit (GPU)** is in charge of image rendering. The most advanced GPUs were originally designed for gamers; however, GPU-accelerated computing, the use of a GPU together with a CPU to accelarate deep learing, analytics, and engineering applications, has become increasingly common. In fact, the training of deep neural networks is not realistic without them.\n", "\n", "The most common GPUs for deep learning are produced by NVIDIA. Furthermore, the NVIDIA Deep Learning SDK provides high-performance tools and libraries to power GPU-accelerated machine learning applications. An alternative would be an AMD GPU in combination with the OpenCL libraries; however, these libraries have fewer active users and less support than the NVIDIA libraries.\n", "\n", "If your computer has an NVIDIA GPU, installing the CUDA Drivers and CUDA Tookit from NVIDIA will allow tensorflow to utilize GPU-accelerated computing. The original paper mentions that it took approximately 10 hours to train the All-CNN network for 350 epochs using a modern GPU, which is considerably faster (several orders of magnitude) than it would take to train on CPU." ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "image/png": "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CgrYeyM1iSXOObZs2UJRURGDBg0K+3GtNn0759bX1Y6Dbf6Wsve+ruC357vfee/h97vtDZwMvOSc2xqE80vAKWGXTkREWrVr1y66du2qkI5xZkbXrl33ueVjn/qozawAGAO83+BUX/zuLHWKgmPNHRcRkQhSSMeH/fk9hR3UZpaN31Lw+865HQ1PN/EQ18Lxpu5/hZnNNbO5xcXF4RZLRESirKSkhDvuuGO/HnvqqadSUlLS+oWBG2+8kVtvvbX1CzuQsILazFLxIf2gc+7JJi4pAvqH/NwPWNfC8Uacc3c558Y558Z1797sHukiIhJjWgrqmpqaFh87e/Zs8vLyDkSxOoxWgzoY0f03YGmwgXpTngEuNm8CsN05tx54ATjJzPLNLB84KTgmIiIdxLXXXsuKFSsYPXo0V199Na+//jpTpkzhggsuYOTIkQCceeaZHH744QwfPpy77rprz2MLCgrYvHkzq1atYujQoXz9619n+PDhnHTSSVRUVLT4vB9//DETJkygsLCQs846i23b/Djl2267jWHDhlFYWMj06dMBeOONNxg9ejSjR49mzJgx7Ny58wC9G5EXzqjvicBFwEIz+zg4dh0wAMA5dycwGz81azl+etZlwbmtZnYT8GHwuF8657ZGrvgiIhLqF88uZsm6hr2TbTOsTw43nDa82fM333wzixYt4uOPfUS8/vrrfPDBByxatGjP6OZ77rmHLl26UFFRwRFHHME555xD165d97rPsmXLePjhh7n77rs5//zzeeKJJ7jwwgubfd6LL76YP/7xj0yaNImf//zn/OIXv2DWrFncfPPNrFy5kvT09D3N6rfeeiu33347EydOpLS0lIyMjLa+Le2m1aB2zr1F033Nodc44FvNnLsHuGe/SiciInFp/Pjxe01Buu2223jqqacAWLt2LcuWLWsU1IMGDWL06NEAHH744axatarZ+2/fvp2SkhImTZoEwCWXXMJ5550HQGFhITNnzuTMM8/kzDPPBGDixIn88Ic/ZObMmZx99tn069cvYq/1QIvJTTlERGT/tFTzbU9ZWVl7vn/99dd5+eWXeffdd8nMzGTy5MlNTlFKT0/f831ycnKrTd/Nee6555gzZw7PPPMMN910E4sXL+baa69l2rRpzJ49mwkTJvDyyy8zZMiQ/bp/e9MSoiIi0iadO3dusc93+/bt5Ofnk5mZySeffMJ7773X5ufMzc0lPz+fN998E4AHHniASZMmUVtby9q1a5kyZQq33HILJSUllJaWsmLFCkaOHMk111zDuHHj+OSTT9pchvaiGrWIiLRJ165dmThxIiNGjGDq1KlMmzZtr/OnnHIKd955J4WFhRx22GFMmDAhIs/797//nSuvvJLy8nIOOugg7r33XmpqarjwwgvZvn07zjl+8IMfkJeXx/XXX89rr71GcnIyw4YNY+rUqREpQ3sw370cW8aNG+e0H7WISHiWLl3K0KFDo10MCVNTvy8zm+ecG9fU9R2+6btsdzWlu6ujXQwREZH90uGD+rjfvs6v/r2k9QtFRERiUIcP6qy0FMoqW14ZR0REJFZ1+KDOTE+mXE3fIiISpzp+UKelqI9aRETiVocP6uz0FMrV9C0iInGqwwd1ZloyZZWqUYuIxJLs7GwA1q1bx7nnntvkNZMnT6a1qbqzZs2ivLx8z8/7um1mc2JpO80OH9RZaSmU71aNWkQkFvXp04fHH398vx/fMKg74raZHT6oM9OTKVMftYjIAXPNNdfstR/1jTfeyG9/+1tKS0s5/vjjGTt2LCNHjuRf//pXo8euWrWKESNGAFBRUcH06dMpLCzkK1/5yl5rfV911VWMGzeO4cOHc8MNNwB+o49169YxZcoUpkyZAtRvmwnwu9/9jhEjRjBixAhmzZq15/nibTvNDr+EaHZ6CmWV1Tjn8Ftri4h0YP+5FjYsjOw9e42EqTc3e3r69Ol8//vf55vf/CYAjz32GM8//zwZGRk89dRT5OTksHnzZiZMmMDpp5/e7N/iP//5z2RmZrJgwQIWLFjA2LFj95z79a9/TZcuXaipqeH4449nwYIFfPe73+V3v/sdr732Gt26ddvrXvPmzePee+/l/fffxznHkUceyaRJk8jPz4+77TQ7fo06LYVaB7ura6NdFBGRDmnMmDFs2rSJdevWMX/+fPLz8xkwYADOOa677joKCws54YQT+OKLL9i4cWOz95kzZ86ewCwsLKSwsHDPuccee4yxY8cyZswYFi9ezJIlLS9k9dZbb3HWWWeRlZVFdnY2Z5999p4NPNq6neacOXP2lHHmzJn84x//ICXF13vrttO87bbbKCkp2XO8LTp8jTorPRnwS4lmpCZHuTQiIgdYCzXfA+ncc8/l8ccfZ8OGDXuagR988EGKi4uZN28eqampFBQUNLm9ZaimatsrV67k1ltv5cMPPyQ/P59LL7201fu0tI9FvG2nmRA1akBTtEREDqDp06fzyCOP8Pjjj+8Zxb19+3Z69OhBamoqr732GqtXr27xHsceeywPPvggAIsWLWLBggUA7Nixg6ysLHJzc9m4cSP/+c9/9jymuS02jz32WJ5++mnKy8spKyvjqaee4phjjtnn1xUL22l2/Bp1mq9Fa9ETEZEDZ/jw4ezcuZO+ffvSu3dvAGbOnMlpp53GuHHjGD16dKs1y6uuuorLLruMwsJCRo8ezfjx4wEYNWoUY8aMYfjw4Rx00EFMnDhxz2OuuOIKpk6dSu/evXnttdf2HB87diyXXnrpnntcfvnljBkzpsVm7uZEezvNDr/N5ZzPirn4ng944qqjOHxgl4jcU0Qklmiby/iibS4bqO+jVtO3iIjEnw4f1PV91Gr6FhGR+NPhgzorCOpS1ahFRCQOdfigzgyavlWjFpGOLBbHG0lj+/N76vBBnZ3ua9TqoxaRjiojI4MtW7YorGOcc44tW7bs82plHX56VnpKEkmmGrWIdFz9+vWjqKiI4uLiaBdFWpGRkUG/fv326TEdPqjNjKy0FNWoRaTDSk1NZdCgQdEuhhwgHb7pG7SDloiIxK+ECOqsYActERGReJMYQZ2WorW+RUQkLiVEUGemqelbRETiU0IEtZq+RUQkXiVEUGemJVOuUd8iIhKHEiKos1WjFhGROJUQQZ2ZlqIatYiIxKWECOqs9GTKKqu1vJ6IiMSdhAjqzLQUah3sqqqNdlFERET2SUIEdVawg5b6qUVEJN4kRlAHe1Krn1pEROJNggS1f5mqUYuISLzp8LtnMauQUV0nAGdodTIREYk7Hb9GbUmkuwoAyrTet4iIxJmOH9RpWaTW+qAuV41aRETiTGIEdc0uQDVqERGJPx0/qFMzSa4uB1AftYiIxJ2OH9RpWfVBrVHfIiISZ1od9W1m9wBfBjY550Y0cf5qYGbI/YYC3Z1zW81sFbATqAGqnXPjIlXwsKVmYlXlJJnmUYuISPwJp0Z9H3BKcyedc//nnBvtnBsN/AR4wzm3NeSSKcH59g9pgDQf1NqTWkRE4lGrQe2cmwNsbe26wAzg4TaVKNLSsqGynCztoCUiInEoYn3UZpaJr3k/EXLYAS+a2TwzuyJSz7VPUjOhqpysNKNUNWoREYkzkVyZ7DTg7QbN3hOdc+vMrAfwkpl9EtTQGwmC/AqAAQMGRK5UaZmAIz+tVvOoRUQk7kRy1Pd0GjR7O+fWBV83AU8B45t7sHPuLufcOOfcuO7du0euVKlZAOSnVGketYiIxJ2IBLWZ5QKTgH+FHMsys8513wMnAYsi8Xz7JC0TgC6pVZSr6VtEROJMONOzHgYmA93MrAi4AUgFcM7dGVx2FvCic64s5KE9gafMrO55HnLOPR+5oocpzdeoc1OrKNuuGrWIiMSXVoPaOTcjjGvuw0/jCj32OTBqfwsWMUHTd25ypVYmExGRuJMAK5P5pu+cpErK1UctIiJxpuMHdaoP6s7JlZRVVuOci3KBREREwtfxgzroo85OqsQ5qKhSrVpEROJHwgR1lu0GoEyrk4mISBzp+EEdNH1n4oNaU7RERCSedPygDmrUndgFqEYtIiLxpeMHdXIaWDIZQVCrRi0iIvGk4we1GaRlkV7rg7pUc6lFRCSOdPygBkjNJN3V1ajV9C0iIvEjMYI6LYvU2ro+atWoRUQkfiRIUGeSWl0OqEYtIiLxJTGCOjWL5JoKQH3UIiISXxIjqNMySaouJznJNOpbRETiSmIEdWomVllOZlqy5lGLiEhcSYygTsuGqjKy0lJUoxYRkbiSIEGdCZVlZKWrRi0iIvElMYI6NRMqy8lKT6FMNWoREYkjiRHUaVlQXUFWqlGuGrWIiMSRxAjqYAet/NQa1ahFRCSuJEZQBzto5aVWacETERGJKwkV1PkplVrwRERE4kpKtAvQLoKm75zkKsp3W5QLIyIiEr6EqlHnJO+mvKqG2loX5QKJiIiEJzGCOqhRZydV4RzsqlY/tYiIxIfECOqgRp2dtBvQxhwiIhI/EiuozQe15lKLiEi8SIygDpq+O+GDWnOpRUQkXiRGUKfVBfUuAM2lFhGRuJEYQZ3qm74zXFCjVh+1iIjEicQI6pQ0SEolI6hRawctERGJF4kR1ABpmaTVVADqoxYRkfiROEGdmkVarQ/qcjV9i4hInEicoE7LJGVPjVpN3yIiEh8SJ6hTM0mqriA5yTSYTERE4kbiBHVaNlZVTlZasqZniYhI3EigoM6EyjKy0lNUoxYRkbiROEGd6oM6UzVqERGJI4kT1GlZUFVOdnoKO1WjFhGROJE4QR3UqHM6pbK9oirapREREQlL4gR1WiZUlZOfmUZJeWW0SyMiIhKWBArqbKjeRX6nJLaVKahFRCQ+JE5QB1tddk+vYceuampqXZQLJCIi0rrECepgq8tu6X4gmfqpRUQkHiROUAdbXXZJ9QG9Tf3UIiISBxInqIMadV6qr1GXlKtGLSIisS+BgtrXqPNSfEBr5LeIiMSDVoPazO4xs01mtqiZ85PNbLuZfRz8+3nIuVPM7FMzW25m10ay4PssaPrOSdoNqEYtIiLxIZwa9X3AKa1c86ZzbnTw75cAZpYM3A5MBYYBM8xsWFsK2yZB03fnJPVRi4hI/Gg1qJ1zc4Ct+3Hv8cBy59znzrlK4BHgjP24T2QENepO7CLJVKMWEZH4EKk+6qPMbL6Z/cfMhgfH+gJrQ64pCo41ycyuMLO5Zja3uLg4QsUKEdSok6rLye2USkmFatQiIhL7IhHUHwEDnXOjgD8CTwfHrYlrm11lxDl3l3NunHNuXPfu3SNQrAaCwWRU+mVEt6lGLSIicaDNQe2c2+GcKw2+nw2kmlk3fA26f8il/YB1bX2+/ZZaF9Rl5GamatS3iIjEhTYHtZn1MjMLvh8f3HML8CFwqJkNMrM0YDrwTFufb78lp0ByGlSVBRtzqEYtIiKxL6W1C8zsYWAy0M3MioAbgFQA59ydwLnAVWZWDVQA051zDqg2s28DLwDJwD3OucUH5FWEKzUTKsvJy0zl0w07o1oUERGRcLQa1M65Ga2c/xPwp2bOzQZm71/RDoC0LKgqJ69TmqZniYhIXEiclcnAB3VlGfmZqZRX1rC7uibaJRIREWlRYgV1aiZUlpGXlQbAdvVTi4hIjEusoN7T9J0KoClaIiIS8xIrqIMadX6mr1FripaIiMS6xArqtExfo85UjVpEROJDggV19p7pWQDbtYyoiIjEuMQK6tRMqCzd0/StGrWIiMS6xArqoOk7My2ZtOQkzaUWEZGYl1hBnZoFNZVYbQ25mamaniUiIjEvsYI62OrSr/edqhq1iIjEvAQL6vqtLv0yoqpRi4hIbEusoA7Z6jJPTd8iIhIHEiuo92r61sYcIiIS+xIrqFODoA7mUpeUV+F35BQREYlNiRXUdX3UVWXkZaZRWVNLRZV20BIRkdiVWEEdUqPO1zKiIiISBxIrqNP2HkwGsK1M/dQiIhK7EjOog6ZvgO0VqlGLiEjsSqyg3qvpu269b9WoRUQkdiVWUO+pUdfvoFWiPmoREYlhiRXUScmQnL5XH3WJatQiIhLDEiuowdeqK8tIT0kmMy1Zo75FRCSmJWZQV5UDkNcpVU3fIiIS0xIvqFMzobIMgLzMNDV9i4hITEu8oE7Pht07AcjP0laXIiIS2xIvqLN6QFkxAHmd0ijRPGoREYlhiRfUnXvBzvUAezbmEBERiVUJGNS9oXwLVFcGQV1Jba120BIRkdiUgEHd038t3Uh+Zhq1Dnburo5umURERJqRgEHd23/duWHPet8a+S0iIrEqAYO6l/+6cz15nbTVpYiIxLYEDOqgRl26kfwsLSMqIiKxLfGCOrMbWLKvUe9p+laNWkREYlPiBXVSEmT39H3UnVSjFhGR2JZ4QQ3BXOoN5KqPWkREYlyCBnVv2LmBlOQkcjJSVKMWEZGYlaBB3TNkdTItIyoiIrErQYO6N1Rsherd5GemqulbRERiVoIGdTCXunSjtroUEZGYlphBnV236MkGumWnU7xzd3TLIyIi0ozEDOqQ1cl65aazaedubcwhIiIxKUGDum697430zMmgptaxuUy1ahERiT2JGdSZXSEpBXaup2dOBgAbtyuoRUQk9iRmUIesTrYnqHfsinKhREREGkvMoIZgdbL19AqCeoOCWkREYlCrQW1m95jZJjNb1Mz5mWa2IPj3jpmNCjm3yswWmtnHZjY3kgVvs869oXQj3bLTSDLYpKAWEZEYFE6N+j7glBbOrwQmOecKgZuAuxqcn+KcG+2cG7d/RTxAghp1SnIS3bLTVaMWEZGYlNLaBc65OWZW0ML5d0J+fA/o1/ZitYPsXlCxDap20TMng407NJhMRERiT6T7qL8G/CfkZwe8aGbzzOyKlh5oZleY2Vwzm1tcXBzhYjUhZHUyH9SqUYuISOyJWFCb2RR8UF8Tcniic24sMBX4lpkd29zjnXN3OefGOefGde/ePVLFat6eudQb6JmTrqAWEZGYFJGgNrNC4K/AGc65LXXHnXPrgq+bgKeA8ZF4vogIXZ0sJ4Nt5VXsqqqJbplEREQaaHNQm9kA4EngIufcZyHHs8ysc933wElAkyPHo6Jz/XrfdXOptea3iIjEmlYHk5nZw8BkoJuZFQE3AKkAzrk7gZ8DXYE7zAygOhjh3RN4KjiWAjzknHv+ALyG/dOpCySlQukGeg6on0vdv0tmlAsmIiJSL5xR3zNaOX85cHkTxz8HRjV+RIxISgqmaPk+atDqZCIiEnsSd2UyaLw62XYFtYiIxJbEDursnrBzI7mdUklLSVKNWkREYk5iB3Xn3rBzPWZGLy16IiIiMSjBg7oX7CqBqgp65WRoGVEREYk5CR7U9Yue9MhJ18YcIiIScxI8qHv6r6Ub99SonXPRLZOIiEiIBA/quhr1enrmZLCrqpYdu6qjWyYREZEQCmrwc6lz/RQtjfwWEZFYkthB3SkfktN8UHfWoiciIhJ7Ejuozfy+1Ds30CtXi56IiEjsSeyghj2rk9VtzLFJG3OIiEgMUQX38W0AACAASURBVFDn9IYdX5CRmkxup1TVqEVEJKYoqPMGQskaqK2lZ066+qhFRCSmKKjzC6Cm0m93mZOhoBYRkZiioM4v8F+3raKnlhEVEZEYo6AOCepeORkU79xNTa1WJxMRkdigoM7tD5YU1KjTqXWwuVQjv0VEJDYoqFPSIKffnqZv0KInIiISOxTUAPkD9wpqTdESEZFYoaCGPUFdtzrZRi16IiIiMUJBDX5AWelGuqXXkGSwUTVqERGJEQpqgPxBACRvX0v3zlr0REREYoeCGhpN0dJcahERiRUKatgrqHvkZLBph/qoRUQkNiioATK7QmoWbFtF79wM1m2vwDkteiIiItGnoAa/L3V+AWxbRf/8THbuqmZ7RVW0SyUiIqKg3iMI6gFdMwFYvaU8uuURERFBQV0vvwBKVjOwSycAVm9VUIuISPQpqOvkF0BVOf3TywBYq6AWEZEYoKCuE4z8ziorolt2Oqu3lEW3PCIiIiio6+UP9F+3rWJg10z1UYuISExQUNfJG+C/blvFwC6ZavoWEZGYoKCuk9oJOvf2U7S6ZLJ+xy52V9dEu1QiIpLgFNShgilaA7tm4hys3VoR7RKJiEiCU1CHyi+AbasZGMylVvO3iIhEm4I6VH4B7PiC/jnJABr5LSIiUaegDpU3EHB0r9lEZlqyFj0REZGoU1CHCuZS27bVDNDIbxERiQEK6lB7trtcSf8umkstIiLRp6AOld0TUjL2zKVes7Wc2lptdykiItGjoA6VlOT7qYMpWrurayku3R3tUomISAJTUDcU7KI1oGsWoO0uRUQkuhTUDeUPhK2rGJAfbHepKVoiIhJFCuqG8gugcid903eRZFr0REREoktB3VAw8jtt52r65HXSXGoREYmqsILazO4xs01mtqiZ82Zmt5nZcjNbYGZjQ85dYmbLgn+XRKrgB0xe3XaXfi61+qhFRCSawq1R3wec0sL5qcChwb8rgD8DmFkX4AbgSGA8cIOZ5e9vYdtFg32p1fQtIiLRFFZQO+fmAFtbuOQM4H7nvQfkmVlv4GTgJefcVufcNuAlWg786EvvDJndYNsqBnTJYktZJaW7q6NdKhERSVCR6qPuC6wN+bkoONbc8UbM7Aozm2tmc4uLiyNUrP2UP9BP0erid9HSyG8REYmWSAW1NXHMtXC88UHn7nLOjXPOjevevXuEirWfQvalBo38FhGR6IlUUBcB/UN+7gesa+F4bMsvgJK1DMhPA7ToiYiIRE+kgvoZ4OJg9PcEYLtzbj3wAnCSmeUHg8hOCo7FtryB4GrI2b2JvMxU1qhGLSIiUZISzkVm9jAwGehmZkX4kdypAM65O4HZwKnAcqAcuCw4t9XMbgI+DG71S+dcS4PSYsOeXbTqN+cQERGJhrCC2jk3o5XzDvhWM+fuAe7Z96JFUUhQD+hayPy1JVEtjoiIJC6tTNaUnL5gyVCymoFdMvmipILK6tpol0pERBKQgropySmQ1x+2rWJwr87U1DqWbyqNdqlERCQBKaibE0zRGt4nB4DF67ZHtzwiIpKQFNTNyRsI21ZT0DWLTqnJLFm/I9olEhGRBKSgbk5+AZRvJrmqjCG9O7N4nYJaRETan4K6OXUjv0tWM7xPDkvX7cAPbhcREWk/CurmhOyiNax3Ljt3V1O0rSK6ZRIRkYSjoG5O/iD/VQPKREQkihTUzemUD+k5sG01h/XqTJLBEvVTi4hIO1NQN8csGPm9iozUZA7unq0BZSIi0u4U1C3J90ENMLxPjqZoiYhIu1NQtyS/AEpWg3MM65PD+u272FpWGe1SiYhIAlFQtyS/AKp3QelGhvfJBdRPLSIi7UtB3ZKQXbSG9tbIbxERaX8K6pbk1c2lXk2XrDR652aon1pERNqVgroleQP815ABZRr5LSIi7UlB3ZLUDOjcZ09QD+udw+fFpVRU1kS3XCIikjAU1K3JH+hHfgPD+uRS6+DTjTujXCgREUkUCurWBPtSA80vJbpbwS0iIgeGgro1XQ6GHeugdBP98jvROSNl7ylay1+GmwfC5uXRK6OIiHRYCurWDD0NcLDgUcyMYb0bDCj74K/gaqB4adSKKCIiHZeCujU9hkC/I+CjB/asUPbJhh3U1DrYsR6WveCv2/5FdMspIiIdkoI6HGMugs2fQtFcRvTJZVdVLcs3lcL8h8DVgiXDjqJol1JERDogBXU4RpwNqZnw3/sZPSAPgI/XbPG17IJj/Hxr1ahFROQAUFCHI70zDD8LFj3JoM6O3E6pbF/6Omxb6Wvbuf38gDMREZEIU1CHa8xFUFlK0tJnGDMgj0OKnoT0XBh2OuT0hR2qUYuISOQpqMM1YAJ0PQT++wATeiczsfIdKoefA6mdIKePr1HXasUyERGJLAV1uMxgzIWw5l1O23ov6VbF4p5n+nO5ff0UrdKN0S2jiIh0OArqfTHqArBk+n72AAtrC3irtI8/ntPPf9WAMhERiTAF9b7o3BMGnwzAa5mn8NGabf54bl//VVO0REQkwlKiXYC4M/F7ULGNzVmn8d9PS3DOYTl1Qa2R3yIiElmqUe+rARPgq88zdNAASsqrWLWlHDrl+3nWavoWEZEIU1Dvp7ED8gH475ptfqBZTh81fYuISMQpqPfTIT2yyU5P4b9rSvyBnL6qUYuISMQpqPdTcpIxqn9uyICyflr0REREIk5B3QZj+ufzyYadlFdW+xr1zg1QUxXtYomISAeioG6DsQPzqKl1LCzaHkzRcj6sRUREIkRB3Qaj+wcDytaW1C96ouZvERGJIAV1G3TJSqOga6Yf+Z0TrFK2XSO/RUQkchTUbTR2QD4frSnB1QW1atQiIhJBCuo2GjMgj+KduymqSIO0zpqiJSIiEaWgbqPxg7oC8PbyzX5AmWrUIiISQQrqNhrcM5s+uRm89ukmP0VLQS0iIhGkoG4jM2PykB68tWwzNZ21OpmIiESWgjoCphzWg7LKGr6ozYeyTVC9O9pFEhGRDiKsoDazU8zsUzNbbmbXNnH+92b2cfDvMzMrCTlXE3LumUgWPlZ86eCupCUnsWBHlj+g7S5FRCRCWt2P2sySgduBE4Ei4EMze8Y5t6TuGufcD0Ku/w4wJuQWFc650ZErcuzJSk/hyIO6MGdTOl8GH9RdBkW7WCIi0gGEU6MeDyx3zn3unKsEHgHOaOH6GcDDkShcPJl8WA/mbcv0P2hAmYiIREg4Qd0XWBvyc1FwrBEzGwgMAl4NOZxhZnPN7D0zO7O5JzGzK4Lr5hYXF4dRrNgy5bDurHN+qpZWJxMRkUgJJ6itiWOumWunA48752pCjg1wzo0DLgBmmdnBTT3QOXeXc26cc25c9+7dwyhWbBnULYseXbtQmtRZNWoREYmYcIK6COgf8nM/oLnRUtNp0OztnFsXfP0ceJ29+687DDNjymE9+KImn5oS1ahFRCQywgnqD4FDzWyQmaXhw7jR6G0zOwzIB94NOZZvZunB992AicCSho/tKCYf1p0vartQXrw62kUREZEOotWgds5VA98GXgCWAo855xab2S/N7PSQS2cAjzjnQpvFhwJzzWw+8Bpwc+ho8Y5mwkFd2WTdSCpdH+2iiIhIB9Hq9CwA59xsYHaDYz9v8PONTTzuHWBkG8oXVzJSk0nr0p+skpdxleVYWma0iyQiInFOK5NFWI9+fqzc2tXLo1wSERHpCBTUETb40CEALFzcYVv4RUSkHSmoI6xHwVAA1q+YH+WSiIhIR6CgjrScvlSk5JJdspTNpdqcQ0RE2kZBHWlm1PQYwVBbzatLN0W7NCIiEucU1AdA1sAxDElayyuLtUKZiIi0jYL6ALDeo0inii+WL6C8sjraxRERkTimoD4Qevmp44fUrmTOZ5ujXBgREYlnCuoDoeuhuJQMxqat4aUlG6NdGhERiaQd68A1tzdV5CmoD4TkFKzHMCZkruOVTzZSXVMb7RKJiEgk7N4JvxsKb89qt6dUUB8ovUZSUL2CkvJKPly1LdqlERGRSNj8mf/a9dB2e0oF9YHSayRpldsZmLJNzd8iIh1FcRDU3Q9rt6dUUB8ovUcBcE6frby4ZAOuHfszRETkANn8GSSlQH5Buz2lgvpA6TEMMKbkbqBoWwVL1++MdolERKStNn8GXQ6G5NR2e0oF9YGSng1dD2awW0lykvHM/HXRLpGIiLRV8afQfXC7PqWC+kDqVUj65sUcP6QHj89bS2W1Rn+LiMStmirYthK6Kag7jl4joWQNF4/JY3NpJS8u2RDtEomISFPKt8LKOfDu7fDi9VBZ1viarZ9DbTV0a7+BZAAp7fpsiaZ3IQBHZa2jb14nHnp/DV8u7BPlQomIyB4bFsKjF/macqg+Y2DE2XsfK/7Uf+3WflOzQDXqA6uXD+rkjYuYMb4/76zYwsrNTXxKExGRyPhkNrw1K/yVw976PVRshRN+ARc+CT9YAikZUPRh42vr5lCr6bsDye4B2T1hw0LOH9eflCTj4Q/WRLtUIiId15u3wss3wHt3tH5t+VZY+iwUToejvw+HHA+5fX1teu0Hja/f/Bnk9PODhduRgvpA61UIGxbQIyeDE4b25PF5Reyurol2qUQk1pRvhRJ9kG+TynJYPx/SsuGFn8Kn/2n5+gWPQU0ljL147+P9jvD3qdq19/HNn7V7szcoqA+8XiOh+BOo3s0FRw5ga1klLyzWSmUi0sC/vg1/OwlqtDXuflv3kR/sdcaf/Bihx7/m+6Cb4hx8dL+vPfcasfe5/uOhtsqHdej1m5e164pkdRTUB1qvkf4/nPULOLqgMwPz03jovVXRLpWIxJJdO2D5S7BzPax4NdqliV9r3vVfB02CGY9ARg48NB12NlE5WvcRbFrcuDYN0G+8/1oU0vy94wuoLG33/mlQUB94wVKi/O0Ekn7TkzcqzuUf66ax+eXfR7dcIhI7lr3om2CTUmD+w9EuTfxa8z50HwqZXSCnjw/riq3w8PTG060+uh9SOsGIcxrfp3NPyBsIa9+vPxalgWSgoD7wuh4MZ98NJ9wIx11P2Zeu4UM3hLy3fwUbFkW7dCISC5Y+6weeHn4pfPIcVJREu0Txp7bWDwAbcGT9sT6j4Zy/wvqP4bFL/IIl4EN74RMw/CzIyG36fv3Hw9oP60ePR2EzjjoK6vZQeD4c/QM49sdknXQdr468hZLaTCqfuLL+PxwRSUxVFbDsJRgyDUZfADW7YcnT0S5V/CleCru3Q/8Jex8fMg2m/c53LTzzHR+8i5+Gyp0w9qLm79dvPJRugO1r/c+bP4WMPMjqfuBeQzO04EkUfO2kI7hxweX8qfh3fr7fpKujXSQRiZYVr0FVGQw9DfqM9U2r8x/xteuGqishJa3di7hfamth+cu+n/foH0JaZtPX1VT5Fb+KP4FNn/hALCuG8m1QsQ12bYfjfw5HXtHy8615z38dMKHxuXGX+Xu+9ms/bXbN+9D1EBhwVPP363+E/7r2A8gb4AeSdRsMZq2/9ghTUEdBr9wMeh15Hs++/y5ffuN/sSGnQs/h0S6WiETD0md9Ta3gGB8Co6bDK7/04dXloPrrXvklvP0HOPg4GHEuDDkV0jtHr9zN2bXD97O//xfYusIf27ICzr2nccitfsf3H+/aHhwwH4qde0Nefz9yu2iuf91HfA2Skpt/3rXv++6D5rafPPZqKN3o7wV+gZOWQrfnCN+HXfQhjDzXr0o2+KRw3oGIU1BHyVWTD+b0D77KJPuEnKevgstfaddt00TiWm0NWFJUajcRVVMFn86Gw06t//+/8Cvwyk0w/1GY8hN/7OOH4M3fwsCjYdNSeOoKv3rW8LPhtFmQkh6Z8mxb7cM/s8v+Pf6/D8J/rvHNyv2OgCnX+aU5X/2V3/o3tPVw3X/hwfMhpzdMvQW6D/E11oY178VPwz8v8bXzwSc3/9xr3oX+Rzb/34SZf56yzf5eo2a0/FqSU6HvWF+jrtgGZZvafY3vOuqjjpKu2emcffQorq64xM/Ve2tWtIskEh9qquGPh8OLP4vcPcs2w6Inwl92MlJWvQm7Snyzd53cfjDoWF8rdc436T77PX/s4qfhewvgqy/60crzH4rMdK7KcnjpBvjjWLj9SN8cvy+c80tx/uubfgDX5a/C5S/7mugxP/YfPl77lW89AN/E/cDZ0CkfLnratyL0Gd108/iQaZDVA+be2/zz71jvF4tpqSkbfI38vPvg+wv9yO7W9DsCNiyA9Qv8z1EY8Q0K6qi6/JiDeDftS7yXNQXeuHnvyfUi0rTlL/la2nt/9n/wI2HOrfD4V1tfyaotKrY1niK09FlIzYKDp+x9fNQMKFntV856ZKYP7/P+7mt5SUl+ZPOXZ0FaZ/jshbaV67MX4Y4j4e1Zvkk9sws8cJavBYez+Eptrf/Q9PKN/vEXPgn9Dq8/bwan3QZ9D4cnv+FHtT9wpn8tFz/tl+xsSXIqjLkQlr0A24uavmZtXf/0kU2fD2UWfotB/yP9OhgLH/M/t/M+1HUU1FGU2ymVb0w6mG9smUFlRld48orGS9aJJBrnfGBWljd9/r//gMxufpnIcGvVc++F2c0M2qytgcVP+u9fuA6qd+97mVtTvhXu+BLcNtYHVd3zLv03HHoipHba+/qhp/kAf+oK3zx+wWONwyUlDQ6e7Odg709LgHPw9LfgofN8X+yls+Hsv8DXX/Wjz+f8H9x/Oqx6G1a95Wvunz7vg331O37Fr60r4emr4N0/wfhv+KmoTQ12S82A6Q/5BUgeucCPdL/oKT99NRyHXxKsJPZA0+fXvAepmXs2QoqYfsGAskVPQXK6n1sdBQrqKLtsYgGp2V35Teq3/ajHV2+KdpFEomvVm36A0eu/aXyutBg+ex5Gz/D9nctfgmUvt3y/qgo/EOuDu5quga96yw8yOvzSoKYexmYO+8I533RdVuybeh+5AP55qQ/ssk17N3vXSc+G4WeCJcP59zW/vvShJ/sVszYu3vdyrXoLPv4HHHkVXPkWFEz0x9Oy4Mw74Mw7fT/yfafCfdN8Lfvhr/hgv3cq3Hk03DYaFjwCU34GU//X1/ab07kXzHgYBk70te59GUCbX+AH0X10f9O1/DXv+Rp7pMf5ZHeH/EF+VH7XQ1oezHYAaTBZlGWmpXDdqUP44WO7mTH4Kxz27u0w+BQYdEy0iyYSHR/d779+8Ff40nf9dJo6Cx/zTZGjL/QjoufeAy/+FA6aDMnN/Dlb9IRfnQpg3n0w9eYG5x/3tfNTbvYfBObc6pueO/eKzOtZ8CgsfcYvenTUt30T8xu3wOKnIDmt+QFSp/6ff/09hjR/70NP9F+XvdB4verdO+G5H8ExP2p6kY63fu/7fk+4sela8OgZ/u/QpqW+nCnpPgid8/eu+5fb17//4egzBi6bHd61DY27DB690LcgDDm1/vjuUl+7P+aH+3ff1vQf7z/ARanZG1SjjglnjenLUQd15aI106jOH+SbknbtiHaxJFGteM2P/o2G8q2w5Bk45ES/pGboIEvnfLN333E+vFLS4MSbfEvUvGYGGjnnpwn1GOZHSM9/yNew61Tv9s83ZJpvfj7pJv+8L/9i7/usfsd3TT33Y1+mhY9D0bzWm5xL1vgm9wFf8qGbnOqnCV35lh8cNvbi5qdYpWW1HNLgP0z0HuWboxua93f/IeGZ7/h+5FDr58OKV2DCVb5Zujm5/fyHgYMm+fnJfQ+HfuN8n/qw02HMzPBDuq0GnwLZvRr/rr+YC66m8UInkVLX/B2lgWSgoI4JZsavzhpBSVUaf8z5kW/KevRCbXkn7W/3TnjofHj+2ug8/8J/+pW5jv+5Hyk892+wc4M/t+6/sGmJD4c6Q6b5+cev/cYP1mpozXt+1O74K2DcV/183cVP1Z9f/oofdT3iXP9z14Nhwjd9oBfN8/N/H73QN/V+9oKv0b98AzzxNfjrcfD0N31fc1Nqa+CpK32Yn3Xn3s2m3Q+DS56Fab9t2/sFvvm76AP/IadOTRW8f6dval/7Pnz84N6PeWsWpOf4ucnxIjnVryS27KW9/zaueR+w+gVKIq3gaH//3qMPzP3DoKCOEQd3z+bKSQfxh0/zWT7+V36S/e1Hwtu3aZlRaT+fv+5rlMteav/1pp3ztcDeo/1CF5Ou9v/t19Wq//sPP3c4dBMFMzg5COmXbmhcw/3gL34t58Lz/R/crof65vI6ix6HTl32HnV97I/9whmPXuj/H1z+qu+D/eFSuHYN/KQIvvm+b1Ke/5DfnrKpsH77D7D6bTj1Fsg/gIOQBp8MrtZ/6Kiz5F9+6csz7vA1zZdvqA/yLSv8EqXjvtr8Otexqm6nq3tOgVmFcMtB8Mb/+haTA/VaegyF78yDw6YemPuHQUEdQ7455RAGds3k64uHs+sb7/kmpZeuh79Mgi8+inbxJBF89rwfwFRbVT86ub003Hawy0G+r3juPX6VrkWPw9DTG/9B7l0IE78LH/3djz6us2Odb9Yec5FvRjbz4VT0oe/TrCzzo8uHnbH3IKT0znDSr/0As9EXwHf/6z801M3xTe/sm6SP/zlMvq5xWK+f7+cIv/ILX97WFtZoqz5j/Sj4ZcE0Lefgndv8h5LBp/hae0WJH1AH8M4fISnVN3vHm7wBcNxPfXN//yP97+6ob8G0Ww/s83Y9OKqL62gwWQzJSE3ml2eM4JJ7PuDOj3fz/RkP+z+Ws6+GB8+D7833o0Fl/yx83DdzHnF5tEsSm2prfV/nsNP9B8NFT+zdzNycrZ/7cDr4uLbVauq2HRx5bv2xY3/sRxU/eJ5vtm6uPMff6JtDX/yZX35y5Lk+4F3t3r/vUdP9fN+598LAL0FVOYw8r/H9Cs8Lpki10H8LMPka//X13/iWCPAfKDLyfP/5+CsO/B/4pCTfj/zZ8/7Dwup3/O/jy7P8uV4j4Mhv+Hnnh57km8FHz4zcYLn2dmzi7Y2goI4xkwZ358uFvbnj9RWcNaYvA4dM881wfz0e3v9z0/+Rbl7mm72OuLz5ka/iF3DYvhYOOaH59YA7ul3b/Ye/IV/2c1pDrf/YTxcafIqfkvL2H/yKXVndWr7nM9/1U6qS03xYDzvTNxN2ygu/XLtL/QephtsOdhnka7Uf3Q+5A6Dg2KYfn5TkpxOVbvKDMTvl+zA+bKq/R53MLjDibL+QyJZlkNO3+dWsWgvpOqFhndLJb0Ax8Xv79vrb6tCT/EpmRR/6VoXMbv5DyZ4y/gQWPemb83Hwpe+0X9mkzdT0HYN+Nm0YqUnGjc8sxjnnR1keNg3e/uPeA0bAj2B95AJ4/hp4ZIb/gyeNbVvtp1jUVvvpN4mmfKsfcPX7kT7I3vjfxtd89gJgfsT1iHP8SNol/2r5vjvW+fm4o2f62uPGxfD0lfCnI3xohmvJ01BZWt/sHeqYH/u+6cMvaXmebmoGTH/Qf8h48Fwo3+zL1NDhl/m1qFfO8R8MWrpnuCZf45fC/O5/4YQb2jekwX9AsmTfrP3Z8zD+63svopKRAyf/2v9Oh50Z/kIjEhMU1DGoV24GPzhxMK99WsyLSzb6g8f9DHbvqN/5pc6rv4LNn/na9PJX/OIEdaNkpd7KN/zXg6b4msfWldEtT3upqfb/jcwq9OF80LH+j/q8+xoPFlv2gp+KktXVL0bRbbCvhbVk0ZOA87XIk3/t11C+5Flfc//3D8JfMeuj+32falNbFOYP9Pc9+get36dTPlz4uJ8f3GNY01OH+o+HHsFiG6HN7G118BS/wUQ0dMrzLQOf/Nt/qGmqe2fEOX7lsKm3tH/5pE0U1DHqki8VMKRXZ37xzGLKK6uh5zA/cvX9v9QH8aq34d3bYdzX/ICRGY/A5uXw1xMjtwZyrFjzvt+IYX83IPj8dT8H88w7fM3jzQhMi4kFX3zkV7kKnRscasEjfinIg6fAVe/AV/7ht/erLN179PPODX76U93iG2b+D/vqt/2GB81Z+E+/iEW3Q+ofN+hYP+Dnk3/7fu6WVGyDV3/tpxCNvbj5/tzsHuGvCpU3AL75rv/A0NT9zPxAsDEXRXXKTcTVLX4yakbT3RVm/m9Idvf2LZe0mYI6RqUmJ3HTmSNYt30Xf3x1uT84+Vo/GnfOrb6J++mrfG3jxGA05+CT4LLn/DzUe06O3qIVkbbiVb+I/5bl8O5+LO9YWwufv+EXbcjp45eK/Pih6Neqt66Eu4+D/7QwZ/mDu+GpFkbnfnCXnxf88UONzzkH793pa5bn31+/ZGPvQl+rfv/O+rXll73kv4aukjX8bMD5ZummbF7m+7WbGox11Lf9wiSzr266Cbx8a31Nf84tfuDW4Zc2/zr3VWaXlvvWDzsFzvhT/G+TGWrkuX5O+dHfj3ZJJMIU1DHsiIIunDO2H39983OWbyr101XGXuybLZ/6hh/leuade48E7zMGvvq874t99nvtv21fpC19Fh76Sv1rX/EK7Ny4b/fYtMT3Vw6a5H8++geQlAJvtqGv2jlY+6FfCnLPpvf7YOUcuHsKfDHPL+pRtqXxNdW74fX/8dN/tn7e+HxNVf1uT+/c1ngN5NVvw8aFcOSVjQNp4vf89KMFj/qfP3veD6zqGbIMZffB0Gtk87Xihf8ELAj0BpKSfetFZdneTeClm/x851mF9TX9K9/yNf2Gg9tk3+T2g0v/nbgDJTuwsILazE4xs0/NbLmZNfr4b2aXmlmxmX0c/Ls85NwlZrYs+HdJJAufCH5y6hA6pSbz06cWUlvr/KjvpGTfrPilb8PAJkasdjkITvwFfP5a/brJzdmx3jefP3CWX4kpVjgH8x+Bxy7xO+Jc+m846jt+us3Cf+7bvfb0TwdBndPbrxv88cNNB2BLyrb4Wv0dR8HfToDXfu0XpQmXc76WfP+ZfjT/9If9tJ6GK0eBH8hVHgT44iZqtavf8dPNCqfDtlWwtMHAr/f+7BfzKDy/8WMHTfJzUd+5zTebr3jNjxxuGOgjzvEjjC2DrgAAIABJREFUibetavw6Fv7TrwXdXL9s98NgynX+v9X3/uxr17NG+uc89ES46l1f0+81sunHiwgQRlCbWTJwOzAVGAbMMLNhTVz6qHNudPDvr8FjuwA3AEcC44EbzCw/YqVPAN2y0/nptKG8v3Irf393lW+6Pe5nvh9wSgtb/B3+Vd8M9uLPYPsXe5+rqfIBft+X4XdD/dZ+K9+E2T+Obg28aK5fheqRmfDbIb7VoGCi37O2U76v4fU93Af4vvj8dT9QKbdf/bGjf+AXufjXd3xXwnt3+vdk7YfN3+ezF4L36yd+AY3TboPBU+HDu8Nfm/2F6/z7fOiJ8LWX/OYCA77k1y9uuB7zh3/zH7r6jqvfhjHUJ8/56UDTfutf31u/r//9bVvlzx9+aeMtFMEH8sTv+e6EF37qdwcafErj6+pqyw0/HK37yH/IaarZO9RR3/a/sxd+4qdLjTwPvj0XzrvXj7sQkVaFU6MeDyx3zn3unKsEHgHOCPP+JwMvOee2Oue2AS8BTfw1kJacP64/xw3pwc3/+YQVxaV+DuQlz7Y8zzMpCU7/Y+Mm8KK5fqWzZ74DO9fDpGv8H84v/97/8V36bPu8qIY+ec7PFX/5Bj/FZ9CxMO13cME/9960YNQM35y7YWF4962p8oPu6mrTdTr38n3+a9/zW4s+f41/T/52ol/NqqFtq/2mDN0H+0FZX3/FTxeadLVv+m5uU4hQ6xf4LRQPv6x+b17wq2Vt/by+5g+wYZEv27iv+lrthoV+oGAd5/x7dvBxvutj4vf8NXWD7T64Gyyp5cVdhp7h99ed+zc/UnhQE3OU8wf6kfKv3+znHtdZ+LifNz309JZfc3IKnHuv/3D5vY99v7CmBonsk3CCui+wNuTnouBYQ+eY2QIze9zM+u/jYzGzK8xsrpnNLS4uDqNYicPMuPnskXRKS+aHj82nuqa29QeBX+jhhBv9nr0f/hVm/z/46wl+pO30h3xAT/mJ3+t21Aw/HefVm5re7zVUTbUfABW6s1FbffQAdO4DP17u/6Cfc7ffMKDhh5ER5/jlD5uqVW9Z0bi/uGiury0eNLnx9Uf/AK7fDD/bBP9vpV/5rd84H8ih3QDVu/3Iale796As8LXFQZN890HdwKzmvP0Hv53iCTfsPYJ52OmQ2XXvUdh14Tl6pl8mEWBJyGYS6z+GHUV+Uwrwzdude/stFHeX+vdz2Bl+C8LmJKfUL3wx6Nj6JTIbOv/vfurPk1/3r7O2xvdbH3pSePOF8wf6LpvQFg0RCVs4Qd3UsMiG7aPPAgXOuULgZeDv+/BYf9C5u5xz45xz47p31/SBhnrkZHDTGSOYv7aEO99YEf4Dj/i6b1qd/WM/Qnj81+Fb7/s/8KH9kckpcNz1fk72ghaalmuq4cnL/SppL9/Q8vSb3Tv9aOKXfu5HN9812YdeQ2Vb/IeJkee2PnUks4sfmbzgsb0/UHz+OtwxwW9wX1lef3zlG75mWXB00/cz8/vsZnbxg3CmP+zL8PD0+h16Xrzetzaccbtvim7omB/6gVnzH26+3NtW+ebrwy/1zfihUtJ9IH/ynB8zsGuHf33Dz/blyg1Wz1oUEtSfPOdfV91GASnpfs3jlXN8X/Du7eGt5Tx6JvQb3/RCI3UycmFmsM72C9f596Z0Y+vN3iISEeEEdRHQP+TnfsC60Aucc1ucc3V/ge8GDg/3sRK+00b1YVphb/7wyjIWrwtzpHFSkh99W/gV3yd66v81P7p26Gl+gf//396dx9dVFvgf/zx3y81+szZtuoaWpgulKxQoq6UsQqEKAoojoi9FcNBRx8GZl79R1JFxGUFBBIUBlxFlR1FAllJAKN2gC93TNUmbNPt6c5fn98dzW9M2bdM27b1Jvu/XK6/mnHty7pPDCd/7rOe17/dcO4xF3OP91jwNH/pPtyj+s1+E3R/sf1w07Jrb7xrlVoh6++fuZ6tWuCbTA615yjXR9zToqSen3+CWuqx4zW1XLnf92tklrsn4T7f/o6m/YqGbK3tgOB5KVpFrbo+G4Xcfc09zevcBmH2bq/n2ZMz57rq9dc+hWyP+fq+bv33WbT2/PuMmt2rUit+6kdhdrfs/gnDSAvfAitr1bnvtn2HUOS7Iu58jmOtGiZfO+MdzdA8nkAGf/Zv7b384/iBc+4hrit/4EgSy95/KJSInTG+CegkwzhgzxhgTAK4H9uvEM8Z0H/Y5H1ib+P5FYJ4xJi8xiGxeYp8co+9eNZlQRoAvPfYeTe29fPxl/hj4yINHfl6rMa6pvHmna3rtLhaBJ252c2rnfc/VIq991PUf/+HGfzQ5t+xytdplj7iR1f/0rHs04OcXudWg3r7v4AFrqx53c327Tw06nHHzXPC+/3uo3eA+DGTkw80vub7QVY+79wm3uhHLZRf07rx7FZfDdb92a0H/6XYXeHO/dejjjXHN6A1bep5z3LbHBfCU69xgwJ4UnOL6gpc94gaRDT3dhe1eE+YDxn1IqtsMtWv/0ey9V1q2a0EBOPMLfT9H2ON14wYu/xFcdlfPg9REpM8d8QkO1tqoMeaLuID1Ag9ba9cYY+4EllprnwNuN8bMB6JAPXBT4mfrjTHfwYU9wJ3W2vqD3kR6LS8zwD3XT+Wmh5dw86NL+O1nziQ90MsVm3qj7HwXGIt+5GqJDVtcc/jWN13oXfJ9OOtWd2zOUFfLevRKePoW93zevaF97aMw6er9z33WbfDsra4mfMpFbl/9Frcq1dxv9T5YfAGYfA2s+I1bscx43DrLOUNdGarfc48Hbal2NfUDB5L16jpcAPPvdU381z7i3vNwyq9wffxv3u360bv/Lu8+CNEO9yjGw5l5M/zxk+77K3+6/zlyhroa9JqnwZ/oSx5/+cHnmPMvbmWuSQuO8AseI2Nc94mInDTGpuCCGDNnzrRLly5NdjFS2l9WVfPF/1vOeacW8eAnZxLw9eHaNZXL3WIce3l8kH+K6/Oc+emDj3/nF27UNAZCI1w/b0kPteNoGH4y2a2MdWOib/v1H7i5yF9e7X6212Vc5vq903LgpufdOfcKt7hBc7Xr3ICsf9vW+ychHY8Vv3MfRGbf6h4kkVngFvz4ySQ3TuCGHlYP6y4Wcdcn0gFfXeumgHX37i/dWIOcUjf47JY3TtzvIiInlTFmmbV2Zk+v6ZmI/dTlpw3lewtO4xtPreJrj7/P3ddNxePpo6bO0ulu8FCsy9US80a7OceHcubnoX6zm689/2cuoHriS3NPM3rtu1CzForK3aCpUXOOLqTB1fbnftvNFe8e0uCagK//P3jwQhg+4+SENLg+9q1vuMU9lj3qap6+oBtl35tlHb1+WPAL94HmwJAGN4r7r1+H5kqYrrWDRAYL1aj7ufsXbua/X1jHJ2eP4s6rJmFSfe3itjpXw5xyrZtP/MsLXTPvjBMQPHWbXTPxyX6iUe1611Kw+knAutr0zX/tm3M/eqUb2X3LWz23WohIv6Qa9QB2y/llNLZ38cCiCoJ+D/9++YTUDuvMAph6g2sm7mp3i2ZM7O36OUcpWQtrFI2Hax6C87/uBoZN+0Tfnfvcr7pVyLrP5RaRAU1B3c8ZY7jjsnI6IzF++cYWfF4PX79kfGqH9exb3eIeq59w04J6s2hGf1Q0Hi7v42f/ll1w9KPYRaRfU1APAMYYvjV/EpG45f6Fm/F7PXzl4lOTXaxDKxzn1pXe8IKbsiQiIoekoB4gjDF896rJxGKWn76yEb/H8M8fGpfsYh3ah/4fZBS6OdEiInJICuoBxOMxfP8jpxGJx/nx3zYApG5YD5kEV9+X7FKIiKQ8BfUA4/EYfnjN6QD8+G8biMYtX547LrX7rEVE5JAU1AOQNxHWPo/hnlc2EotbvjrvVIW1iEg/pKAeoLwew10fmYLXY7j3tU1E45Z/uzTFR4OLiMhBFNQDmMdj+N7Vp+H1GH7x+mYsljsuLVdYi4j0IwrqAc7jMXznKreC1QOvV2AwqlmLiPQjCupBwBjDnfMnYy384vXNeAz8a6oviiIiIoCCetDYW7O2wM8XbsYY+No8hbWISKpTUA8iHo9bFMVay32vbaa2JcydV00m6O/D51mLiEifUlAPMnsHmBVmpfGzVzexflcL9984g2Gh9GQXTUREeuBJdgHk5PN4DF+dN54HPjmDzbVtXPmzN3l7c12yiyUiIj1QUA9il0wq4ZnbziGU4efGhxbz4KLNpOLzyUVEBjMF9SA3tjiLZ247h3kTh/Bff1nH53+zjKaOSLKLJSIiCQpqITvo5+efmM43r5jIq+tqmH/vm6ypakp2sUREBAW1JBhj+MycMfzh87MJR+J85Od/54HXNxOOxpJdNBGRQU1BLfuZMSqf52+fw7njCvn+X9cx7yeLeGF1tfquRUSSREEtBynISuNXn5rFr28+gzSfh1t+u5zrH3yHtdXNyS6aiMigo6CWQzrv1CL+cvu5fPfqyWysaWX+vW/y84WbiMVVuxYROVkU1HJYPq+HG2eP4uWvnM/FE4fwgxfW87EH3mZbXVuyiyYiMigoqKVX8jMD3Pfx6dxz/VQ27m7hsnve4L7XNlHT0pnsoomIDGgmFQcJzZw50y5dujTZxZBDqG7q4D+eXs2r62rwegwXji/mulkjuHB8ET6vPvuJiBwtY8wya+3Mnl7TWt9y1IbmpvPwTbPYXNvKH5fu4Mlllby8djfjh2Tz0E0zGZ6XkewiiogMGKpRy3GLxOK8uGYX33hqFWk+Lw99aianjwglu1giIv3G4WrUaqeU4+b3erhiyjCevvVsgn4P1z34Ni+s3pXsYomIDAgKaukzY4uzefrWcygvyeELv1vG3S9v0LrhIiLHSUEtfaooO43HPjebD582lLtf3sjs/3qFO55cyepKrR0uInIs1EctJ8zqyiZ++842nnmvks5InNOH53LV1FI+PGUoQ3KCyS6eiEjKOFwftYJaTrimjghPLNvJk8t28kF1M8bAmWPyuXpqKQuml5Lm8ya7iCIiSaWglpSxqaaVP6+s4rn3q6iobWNobpB/vmgc184cjl9zsEVkkFJQS8qx1vL3zXX8+KX1LN/eyIj8dG6/aBwLppVq0RQRGXQ0PUtSjjGGc8YW8uQXzuZ/b5pFKD3Avz6xkkvveYOX1uzSYzVFRBIU1JJUxhguLC/muS+ew/2fmE48bvncb5ZxzS/eZnFFnQJbRAY9NX1LSonG4vxx6U7ufnkDNS1hirLTmDU6j1mj85k1Op8JQ3Pwekyyiyki0qe01rf0Gz6vh4+fOZIF00p59r1K3qmoY8nWBv6yyq10lhnwMm1kHtNH5TFjVB5nlRUQ8KlhSEQGLtWopV+obOxgyZZ6lm1rYNm2BtbtaiZuobwkm//52FQmDstJdhFFRI6ZRn3LgNMajrJwfQ3f/tMHNLZ38eW5p/L588o0YlxE+iWN+pYBJyvNxxVThvHSl89j3qQSfvji+n0D0GLx1PvwKSJyrFSjlgHhT+9X8c1nV9PYHqEgM8BF5cXMm1TC2acUkJmmoRgikto0mEwGvCtPH8aF5cUsXF/D3z7YzQtrdvH4sp0YA2MKMpk4LIfJpbnMLivg9OG5GKOR4yLSP/SqRm2MuRS4B/ACv7LW3nXA618BPgtEgVrgZmvttsRrMWBV4tDt1tr5R3o/1ajleHVF47ybGHy2pqqJNVXNVDZ2ADB+SDY3nDGCBdOGk5vhT3JJRUSOczCZMcYLbAAuBnYCS4AbrLUfdDvmQmCxtbbdGPMF4AJr7XWJ11qttVlHU2AFtZwI9W1dvLB6F48t2c7KnU2k+TycWVZAfoaf7KCfnHQfpaEMLj+thFBGINnFFZFB5HiD+izgW9baSxLb3wCw1n7/EMdPA+611p6T2FZQS8pZU9XEY+/uYPn2Blo6ozR3RmjpjBKLWwJeD/MmDeG6WSM455RCPFpgRUROsOPtoy4FdnTb3gmceZjjPwP8tdt20BizFNcsfpe19plDFPJzwOcARo4c2YtiiRy7ScNy+c7Vufvts9byQXUzjy/dyTPvVfLnldUMzQ1yUXkxF5UXc/YphaQH9EhOETm5ehPUPVUneqyGG2NuBGYC53fbPdJaW2WMKQNeNcasstZuPuiE1j4IPAiuRt2Lcon0KWMMk4blMml+LndcVs7La3fz3HtVPL2ikt8t3r6vqXzqiBCTE4PThuYGNTBNRE6o3gT1TmBEt+3hQNWBBxlj5gL/AZxvrQ3v3W+trUr8W2GMWQhMAw4KapFUEvR7uWLKMK6YMoxwNMa7W+p5dV0Nb23aw70ba9k7VTs76CPg9RCzdt/87Vmj87liylDmThxCTlCD1UTk+PQmqJcA44wxY4BK4Hrg490PSPRLPwBcaq2t6bY/D2i31oaNMYXAOcAP+qrwIidDms/LueOKOHdcEQAdXTHW7mpmTWUTG3a3ErcWr8fg9RjC0Tivr6/l1XU1BLwezju1iI9ML2XuhCFak1xEjskRg9paGzXGfBF4ETc962Fr7RpjzJ3AUmvtc8APgSzg8UQz4N5pWBOAB4wxcdwqaHd1Hy0u0h+lB7xMH5nH9JF5Pb5urWXFjkaeX1nN8yureXntbgqzAnx0xnCunzWSUfkZtISjNHdEaO6MkBHwURpKV5CLSI+0MpnICRSLWxZtrOWxd7fz8toaYnGLMXDgn50xUJITZEReBjNG5/Hps0dTnBNMTqFF5KTTQzlEUkBNSyfPvVdFc2eUnKCPnHQ/OUEfreEYO+rb2dHQzva6dpZvb8Dn8fDRGcO55fwyRhVk7jtHPG6JW6uHj4gMMFpCVCQFFGcH+ey5ZUc8bltdGw8squCJpTv5w5LtTBqWS1s4SkN7F00dEfxeD2eMyee8cUWce2oh44dka+S5yACmGrVIiqpp7uTht7aypqqJUEaAULqfUIafls4ob27aw6aaVgAKMgOcUpTFqIIMRhdmMjwvHb/Xs29eZZrfw5lj9HASkVSmGrVIP1ScE+SOy8oP+XpVYwdvbtzDkq31bK1rY+GGWmqX7ezx2MyAm272sVkjmD4ypBq4SD+iGrXIANIajlLd2EEs8XdtLTS0de1baa29K0ZZUSaloXS8HoPPY/B5PMwYlcdVU4dpAJtIkmgwmYjQGo7y/Moq/ryympbOKPHEIi3tXTG27GnDY+CcsYUsmFbKtJF55GcGyAn69tW+W8NRKhs6qGrsICfdz7QRIa2DLtJHFNQicliba1t5dkUlT79XyY76jn37/V5DfmaAzkicpo7Ifj9TlJ3GvIlDuGRSCbNG5+P3ukVf1KwucvQU1CLSK3sXa9m6p436ti72tHZR3xYm4PNQGsqgNC+d0lCQnQ0dvLhmF6+tq6UjEtvvHHtXafPt/fJ6yA76mDEqj7PKCphdVsCI/Iwk/YYiqUlBLSInRGckxqINtWysaSUWt/u+IvE4sZglGrdE43H2tHTx7tZ66tu6ABiWG6SsKIsR+RmMKshgTGEmc8YWamS6DFoa9S0iJ0TQ72XepBLmTTrysfG4ZWNNK+9U1LF8ewNb69p5YXU1De2uST0j4OXSySVcM304s8sK1P8tkqAatYgkVXNnhA+qmnlmRSXPr6ymJRxlWG6Qs8cWMnVEiKkjQpSXZFPd1MniLfUsrqhj6bYG6lrDrsYeczX48UOy+eRZo7h6aqlq5tLvqOlbRPqFzkiMF9fs4k/vV7N8e8O+pnKfxxBNPEY0lOFn5qh8SkNB/F4PPq8Hj4GF62v5oLqZ7DQfH50xnCtPH8aEodlkBBTakvoU1CLS71hr2dnQwYodjaypaqI0lM6ZYwoYV5zVY7O4tZbl2xv5zdtb+cuqXXTF4hgDowsymTA0m5KcdCKxOF3ROF2xOGk+D+NLspk4NIfyoTnkBH3Ut3VRsaeNitpW9rR2UV6SzdQRIQqy0gD3QeKtTXt4cc0u3q6oY1xxNheOL+KC8cUaICfHRUEtIoNKXWuYpdsaWFvdnPhqoa7VjV7f+9UWju2rsYNbva2tK9bj+UbkpzO6IJPl2xpo64qRnebjzLICNuxuYXt9OwBlRZnMnTCEuROGMGNUHt7D9LE3d0ZYtKGWdL+XC8YXH/ZYGRwU1CIiB7DWUtsSZk0izHc3dTKyIJOyokxOKcwiL9PP2uoWVmxv4L0djVTUtjFjdB6XTCrhrLICAj4P1lq27Glj4fpaXltfwzsVdURilrwMPxeVD6G8JJtQhp+8jAChDD9rq5t56YPd+44DGJ6XzqfOGs3HZo4gN8O/r3wtnRE6I3EKMgMaWDcIKKhFRE6Cls4Iizbs4eW1u3l1Xc1Bi8QAlBVmcvHEIVw8cQh7Wrt4+K0tvLulnnS/lynDc6ltDbO7qXNf7T7g9TAsFGRYKJ3RhZmcfUoBc8YWEsoInOxfT04gBbWIyElmraUlHKWxLUJjRxcN7RFKQ+mMLc466Ng1VU088tZWNte2MiQnSElukJKcIGk+D9XNnVQ1dlLZ0M7GmlZaOqN4DEwZHmJ2WQEFmQGygj4y03wEfR4a2yPUtoapa+2isaOLvIwAw0JuoZqS3HR8HkNXoq8+EouTHfRTnJ1GUXYafj3nPGkU1CIiA0A0Fuf9nU0s2lDLoo21vL+jkfgh/heeGfCSm+6nvr2Lzki8V+cvyAwwPD+DsUVZjC3OYlxxFkG/l93Nnexu6aSmOUxO0MeC6cMZU5jZh7+ZKKhFRAageNzS1hWlLRyjNRyhoytOKMNPQVZg37Q0ay2N7REqGzvY1dSJxa3hHvB58Hk8tHRG2N0cpqalk93NYbbVtbGpppWalvBB75ed5qOtK0rcwqzReVw7YwQXjC8iErd0dEVp74oRi1ty0/2Jh7r4icYtqyobeaeinncq6li3q4WpI0J8qLyYi8qLD3piWzxuD9snvzezBtqa8gpqERE5Kk0dETbXttIVjVOSE6Q4J42MgI/dzZ08tbySx5ftoKK27bDn8BjweTx0xVyNvrwkm/El2Szd2kBlo3v4y4ShOXg90Ngeoak9Qks4ytjiLOaMLWTO2ELOLMuntiXMW5v28MbGPbxdUUc0ZhkWClKal0FpKJ3Th+dy2WlDyU33H644KU1BLSIifcrNW29g1c4m0gNe0gM+MvxePB4X8vVtERrbu+iKxpk2MsQZYwrIzwzs+9n1u1t4Za0bKe/3egil+8nN8JMR8LKqspl3t9TRGXFz4ffGVGkonTljC8kK+qhs6KCysYOdDe00tEcI+DxcPGEIC6aVUlaUyarKJt7b0cj7Oxqpauwkze8hzech6PcSyghwxug8zjqlgCnDQwf1zVtre6yxx+OWmpYwlY0dDAsFGZqb3mfXU0EtIiL9SjgaY9m2BhZX1FOUncacsYWMKsg4KECttazc2cTTKyp57v2q/ebGB/0eTivNZVRBJpFYnHAkTjgao7qpk3W7WgC3xvykYTl0RuI0dnTR2B6hNRwlM+AjJ+gjJ919eNjT2kV1U8e+aXXfvGIin5kzps9+XwW1iIgMeJFYnEUbatnTGua00hCnDsnCd4iR7PVtXSyuqOPtijrWVbeQFfTtq9VnpfloC8do7ozQ1BGhLRylMCvNjZ5PPOp14tBcSnKDPZ77WCioRUREUtjhglqT5kRERFKYglpERCSFKahFRERSmIJaREQkhSmoRUREUpiCWkREJIUpqEVERFKYglpERCSFKahFRERSmIJaREQkhSmoRUREUpiCWkREJIUpqEVERFKYglpERCSFKahFRERSmIJaREQkhSmoRUREUpiCWkREJIUZa22yy3AQY0wtsK0PT1kI7OnD8w1Wuo59Q9exb+g69g1dx75xvNdxlLW2qKcXUjKo+5oxZqm1dmayy9Hf6Tr2DV3HvqHr2Dd0HfvGibyOavoWERFJYQpqERGRFDZYgvrBZBdggNB17Bu6jn1D17Fv6Dr2jRN2HQdFH7WIiEh/NVhq1CIiIv3SgA5qY8ylxpj1xphNxpg7kl2e/sIYM8IY85oxZq0xZo0x5kuJ/fnGmL8ZYzYm/s1Ldln7A2OM1xizwhjz58T2GGPM4sR1/IMxJpDsMqY6Y0zIGPOEMWZd4r48S/fj0TPG/Evib3q1Meb3xpig7scjM8Y8bIypMcas7ravx/vPOD9N5M5KY8z0433/ARvUxhgvcB9wGTARuMEYMzG5peo3osBXrbUTgNnAbYlrdwfwirV2HPBKYluO7EvA2m7b/w38JHEdG4DPJKVU/cs9wAvW2nLgdNz11P14FIwxpcDtwExr7WTAC1yP7sfeeAS49IB9h7r/LgPGJb4+B9x/vG8+YIMaOAPYZK2tsNZ2AY8BVyW5TP2CtbbaWrs88X0L7n+Kpbjr92jisEeBq5NTwv7DGDMc+DDwq8S2AS4Cnkgcout4BMaYHOA84CEAa22XtbYR3Y/HwgekG2N8QAZQje7HI7LWLgLqD9h9qPvvKuDX1nkHCBljhh7P+w/koC4FdnTb3pnYJ0fBGDMamAYsBoZYa6vBhTlQnLyS9Rt3A18H4ontAqDRWhtNbOu+PLIyoBb430QXwq+MMZnofjwq1tpK4EfAdlxANwHL0P14rA51//V59gzkoDY97NMQ96NgjMkCngS+bK1tTnZ5+htjzBVAjbV2WffdPRyq+/LwfMB04H5r7TSgDTVzH7VEH+pVwBhgGJCJa6Y9kO7H49Pnf+MDOah3AiO6bQ8HqpJUln7HGOPHhfTvrLVPJXbv3tuEk/i3Jlnl6yfOAeYbY7biul4uwtWwQ4mmR9B92Rs7gZ3W2sWJ7Sdwwa378ejMBbZYa2uttRHgKeBsdD8eq0Pdf32ePQM5qJcA4xIjGgO4QRPPJblM/UKiH/UhYK219n+6vfQc8KnE958Cnj3ZZetPrLXfsNYOt9aOxt1/r1prPwG8BlyTOEzX8QistbuAHcaY8YldHwI+QPfj0doOzDbGZCT+xvdeR92Px+ZQ999zwD8lRn/PBpr2NpGUU5WyAAAA1klEQVQfqwG94Ikx5nJcDcYLPGyt/V6Si9QvGGPmAG8Aq/hH3+q/4/qp/wiMxP3RX2utPXCAhfTAGHMB8DVr7RXGmDJcDTsfWAHcaK0NJ7N8qc4YMxU3IC8AVACfxlU0dD8eBWPMt4HrcDM7VgCfxfWf6n48DGPM74ELcE/I2g38J/AMPdx/iQ9B9+JGibcDn7bWLj2u9x/IQS0iItLfDeSmbxERkX5PQS0iIpLCFNQiIiIpTEEtIiKSwhTUIiIiKUxBLSIiksIU1CIiIilMQS0iIpLC/j/Jw8mtNr1EuwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot the training loss\n", "plt.plot(history.history['loss'], label='train loss');\n", "# Plot the validation loss\n", "plt.plot(history.history['val_loss'], label='validation loss');\n", "plt.title('train_loss vs. validation loss on CIFAR-10')\n", "plt.legend();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model Inference" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"sequential_9\"\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "conv2d_46 (Conv2D) (None, 32, 32, 96) 2688 \n", "_________________________________________________________________\n", "conv2d_47 (Conv2D) (None, 32, 32, 96) 83040 \n", "_________________________________________________________________\n", "max_pooling2d_12 (MaxPooling (None, 16, 16, 96) 0 \n", "_________________________________________________________________\n", "dropout_12 (Dropout) (None, 16, 16, 96) 0 \n", "_________________________________________________________________\n", "conv2d_48 (Conv2D) (None, 16, 16, 192) 166080 \n", "_________________________________________________________________\n", "conv2d_49 (Conv2D) (None, 16, 16, 192) 331968 \n", "_________________________________________________________________\n", "max_pooling2d_13 (MaxPooling (None, 8, 8, 192) 0 \n", "_________________________________________________________________\n", "dropout_13 (Dropout) (None, 8, 8, 192) 0 \n", "_________________________________________________________________\n", "conv2d_50 (Conv2D) (None, 8, 8, 192) 331968 \n", "_________________________________________________________________\n", "conv2d_51 (Conv2D) (None, 8, 8, 192) 37056 \n", "_________________________________________________________________\n", "conv2d_52 (Conv2D) (None, 8, 8, 10) 1930 \n", "_________________________________________________________________\n", "global_average_pooling2d_5 ( (None, 10) 0 \n", "_________________________________________________________________\n", "dense_5 (Dense) (None, 10) 110 \n", "=================================================================\n", "Total params: 954,840\n", "Trainable params: 954,840\n", "Non-trainable params: 0\n", "_________________________________________________________________\n", "None\n", "10000/10000 [==============================] - 1s 96us/sample - loss: 0.4512 - accuracy: 0.8530\n", "Accuracy: 0.8529999852180481\n" ] } ], "source": [ "# Load the weights and test it with test data\n", "model_l = allcnn(weights='best_weights.hdf5')\n", "model_l.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])\n", "\n", "print(model_l.summary())\n", "\n", "scores = model_l.evaluate(X_test, y_test, verbose=1)\n", "print('Accuracy: {}'.format(scores[1]))" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{0: 'airplane', 1: 'automobile', 2: 'bird', 3: 'cat', 4: 'deer', 5: 'dog', 6: 'frog', 7: 'horse', 8: 'ship', 9: 'truck'}\n" ] } ], "source": [ "# make dictionary of class labels\n", "classes = range(0, 10)\n", "\n", "# zip the names and labels to make a dictionary of class labels\n", "class_labels = dict(zip(classes, labels))\n", "print(class_labels)" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\r", "9/9 [==============================] - 0s 3ms/sample\n" ] } ], "source": [ "# Generate batch of 9 images to predict\n", "batch = X_test[100:109]\n", "ground_truth = np.argmax(y_test[100:109], axis=-1)\n", "\n", "# Make predictions\n", "predictions = model.predict(batch, verbose=1)" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([4, 5, 6, 3, 1, 1, 3, 6, 8], dtype=int64)" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# use np.argmax)_ tp cpmvert class probabilities to class labels\n", "class_result = np.argmax(predictions, axis=-1)\n", "class_result" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Create a grid of 3x3 images\n", "fig, axs = plt.subplots(3, 3, figsize=(15, 6))\n", "fig.subplots_adjust(hspace=1)\n", "axs = axs.flatten()\n", "\n", "for i, img in enumerate(batch):\n", " # Determine label for each prediction, set title\n", " for key, value in class_labels.items():\n", " if class_result[i] == key:\n", " title = 'prediction: {} \\n Actual: {}'.format(class_labels[key], class_labels[ground_truth[i]])\n", " axs[i].set_title(title)\n", " axs[i].axes.get_xaxis().set_visible(False)\n", " axs[i].axes.get_yaxis().set_visible(False)\n", " \n", " # Plot the image\n", " axs[i].imshow(img)" ] } ], "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.6" } }, "nbformat": 4, "nbformat_minor": 4 }