Created
October 4, 2021 07:18
-
-
Save BenAji/22cf2651022bd1dce5faeed376166db8 to your computer and use it in GitHub Desktop.
InceptionV3-b32b32e20 Traffic_densety.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "nbformat": 4, | |
| "nbformat_minor": 0, | |
| "metadata": { | |
| "colab": { | |
| "name": "InceptionV3-b32b32e20 Traffic_densety.ipynb", | |
| "provenance": [], | |
| "collapsed_sections": [], | |
| "mount_file_id": "16Gpr18zmTLGRVohNXwSezrNHKeccO4FI", | |
| "authorship_tag": "ABX9TyOYx04Jn9RzTgC2C1HFIgDH", | |
| "include_colab_link": true | |
| }, | |
| "kernelspec": { | |
| "name": "python3", | |
| "display_name": "Python 3" | |
| }, | |
| "accelerator": "GPU" | |
| }, | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "view-in-github", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "<a href=\"https://colab.research.google.com/gist/BenAji/22cf2651022bd1dce5faeed376166db8/inceptionv3-b32b32e20-traffic_densety.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 35 | |
| }, | |
| "id": "b2QBSlMrr-YD", | |
| "outputId": "1f081984-4d4f-4f59-a17e-9cad485cdf61" | |
| }, | |
| "source": [ | |
| "import tensorflow as tf\n", | |
| "tf.__version__\n" | |
| ], | |
| "execution_count": 22, | |
| "outputs": [ | |
| { | |
| "output_type": "execute_result", | |
| "data": { | |
| "application/vnd.google.colaboratory.intrinsic+json": { | |
| "type": "string" | |
| }, | |
| "text/plain": [ | |
| "'2.6.0'" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "execution_count": 22 | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "eoCDmyA3sHAP" | |
| }, | |
| "source": [ | |
| "from tensorflow.keras.layers import Input, Lambda, Dense, Flatten\n", | |
| "from tensorflow.keras.models import Model\n", | |
| "from tensorflow.keras.applications.inception_v3 import InceptionV3\n", | |
| "#from keras.applications.vgg16 import VGG16\n", | |
| "from tensorflow.keras.applications.inception_v3 import preprocess_input\n", | |
| "from tensorflow.keras.preprocessing import image\n", | |
| "from tensorflow.keras.preprocessing.image import ImageDataGenerator,load_img\n", | |
| "from tensorflow.keras.models import Sequential\n", | |
| "#import re\n", | |
| "import numpy as np\n", | |
| "from matplotlib import pyplot as plt\n", | |
| "\n", | |
| "%matplotlib inline\n", | |
| "import sklearn\n", | |
| "from sklearn import metrics\n", | |
| "from sklearn.metrics import confusion_matrix\n", | |
| "from sklearn.metrics import plot_confusion_matrix\n", | |
| "\n", | |
| "#import pandas as pd\n", | |
| "from glob import glob" | |
| ], | |
| "execution_count": 23, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "CJlz29AusL7m" | |
| }, | |
| "source": [ | |
| "IMAGE_SIZE =[224, 224]\n", | |
| "\n", | |
| "train_path='/content/drive/MyDrive/raw_imgs/train'\n", | |
| "valid_path='/content/drive/MyDrive/raw_imgs/valid'" | |
| ], | |
| "execution_count": 24, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "ja2JxxXeuJzm" | |
| }, | |
| "source": [ | |
| "inception = InceptionV3(input_shape=IMAGE_SIZE + [3], weights='imagenet', include_top=False)" | |
| ], | |
| "execution_count": 25, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "E3iemH2EuWVS" | |
| }, | |
| "source": [ | |
| "for layer in inception.layers:\n", | |
| " layer.trainable = False" | |
| ], | |
| "execution_count": 26, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "OQs8y8oOuZ6j" | |
| }, | |
| "source": [ | |
| " folders = glob('/content/drive/MyDrive/raw_imgs/train/*')" | |
| ], | |
| "execution_count": 27, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "VPvK_Eu0xp4v", | |
| "outputId": "e0247a1b-abb2-4e5b-f07b-3869ebd3bfdd" | |
| }, | |
| "source": [ | |
| "folders" | |
| ], | |
| "execution_count": 28, | |
| "outputs": [ | |
| { | |
| "output_type": "execute_result", | |
| "data": { | |
| "text/plain": [ | |
| "['/content/drive/MyDrive/raw_imgs/train/high',\n", | |
| " '/content/drive/MyDrive/raw_imgs/train/low']" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "execution_count": 28 | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "DLHAU62Gugvx" | |
| }, | |
| "source": [ | |
| "x = Flatten()(inception.output)" | |
| ], | |
| "execution_count": 29, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "K9PVpuoouh3s" | |
| }, | |
| "source": [ | |
| "prediction = Dense(len(folders), activation='sigmoid')(x)" | |
| ], | |
| "execution_count": 30, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "qeucQjkXuknT" | |
| }, | |
| "source": [ | |
| "model = Model(inputs=inception.input, outputs=prediction) " | |
| ], | |
| "execution_count": 31, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "zvm0o7WLupNq", | |
| "outputId": "beb58419-dc43-4c9e-ccf0-71efc5a69ea4" | |
| }, | |
| "source": [ | |
| "model.summary()\n" | |
| ], | |
| "execution_count": 32, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "name": "stdout", | |
| "text": [ | |
| "Model: \"model_1\"\n", | |
| "__________________________________________________________________________________________________\n", | |
| "Layer (type) Output Shape Param # Connected to \n", | |
| "==================================================================================================\n", | |
| "input_2 (InputLayer) [(None, 224, 224, 3) 0 \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_94 (Conv2D) (None, 111, 111, 32) 864 input_2[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_94 (BatchNo (None, 111, 111, 32) 96 conv2d_94[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_94 (Activation) (None, 111, 111, 32) 0 batch_normalization_94[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_95 (Conv2D) (None, 109, 109, 32) 9216 activation_94[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_95 (BatchNo (None, 109, 109, 32) 96 conv2d_95[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_95 (Activation) (None, 109, 109, 32) 0 batch_normalization_95[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_96 (Conv2D) (None, 109, 109, 64) 18432 activation_95[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_96 (BatchNo (None, 109, 109, 64) 192 conv2d_96[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_96 (Activation) (None, 109, 109, 64) 0 batch_normalization_96[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "max_pooling2d_4 (MaxPooling2D) (None, 54, 54, 64) 0 activation_96[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_97 (Conv2D) (None, 54, 54, 80) 5120 max_pooling2d_4[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_97 (BatchNo (None, 54, 54, 80) 240 conv2d_97[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_97 (Activation) (None, 54, 54, 80) 0 batch_normalization_97[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_98 (Conv2D) (None, 52, 52, 192) 138240 activation_97[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_98 (BatchNo (None, 52, 52, 192) 576 conv2d_98[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_98 (Activation) (None, 52, 52, 192) 0 batch_normalization_98[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "max_pooling2d_5 (MaxPooling2D) (None, 25, 25, 192) 0 activation_98[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_102 (Conv2D) (None, 25, 25, 64) 12288 max_pooling2d_5[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_102 (BatchN (None, 25, 25, 64) 192 conv2d_102[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_102 (Activation) (None, 25, 25, 64) 0 batch_normalization_102[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_100 (Conv2D) (None, 25, 25, 48) 9216 max_pooling2d_5[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_103 (Conv2D) (None, 25, 25, 96) 55296 activation_102[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_100 (BatchN (None, 25, 25, 48) 144 conv2d_100[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_103 (BatchN (None, 25, 25, 96) 288 conv2d_103[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_100 (Activation) (None, 25, 25, 48) 0 batch_normalization_100[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_103 (Activation) (None, 25, 25, 96) 0 batch_normalization_103[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "average_pooling2d_9 (AveragePoo (None, 25, 25, 192) 0 max_pooling2d_5[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_99 (Conv2D) (None, 25, 25, 64) 12288 max_pooling2d_5[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_101 (Conv2D) (None, 25, 25, 64) 76800 activation_100[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_104 (Conv2D) (None, 25, 25, 96) 82944 activation_103[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_105 (Conv2D) (None, 25, 25, 32) 6144 average_pooling2d_9[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_99 (BatchNo (None, 25, 25, 64) 192 conv2d_99[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_101 (BatchN (None, 25, 25, 64) 192 conv2d_101[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_104 (BatchN (None, 25, 25, 96) 288 conv2d_104[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_105 (BatchN (None, 25, 25, 32) 96 conv2d_105[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_99 (Activation) (None, 25, 25, 64) 0 batch_normalization_99[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_101 (Activation) (None, 25, 25, 64) 0 batch_normalization_101[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_104 (Activation) (None, 25, 25, 96) 0 batch_normalization_104[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_105 (Activation) (None, 25, 25, 32) 0 batch_normalization_105[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "mixed0 (Concatenate) (None, 25, 25, 256) 0 activation_99[0][0] \n", | |
| " activation_101[0][0] \n", | |
| " activation_104[0][0] \n", | |
| " activation_105[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_109 (Conv2D) (None, 25, 25, 64) 16384 mixed0[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_109 (BatchN (None, 25, 25, 64) 192 conv2d_109[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_109 (Activation) (None, 25, 25, 64) 0 batch_normalization_109[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_107 (Conv2D) (None, 25, 25, 48) 12288 mixed0[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_110 (Conv2D) (None, 25, 25, 96) 55296 activation_109[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_107 (BatchN (None, 25, 25, 48) 144 conv2d_107[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_110 (BatchN (None, 25, 25, 96) 288 conv2d_110[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_107 (Activation) (None, 25, 25, 48) 0 batch_normalization_107[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_110 (Activation) (None, 25, 25, 96) 0 batch_normalization_110[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "average_pooling2d_10 (AveragePo (None, 25, 25, 256) 0 mixed0[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_106 (Conv2D) (None, 25, 25, 64) 16384 mixed0[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_108 (Conv2D) (None, 25, 25, 64) 76800 activation_107[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_111 (Conv2D) (None, 25, 25, 96) 82944 activation_110[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_112 (Conv2D) (None, 25, 25, 64) 16384 average_pooling2d_10[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_106 (BatchN (None, 25, 25, 64) 192 conv2d_106[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_108 (BatchN (None, 25, 25, 64) 192 conv2d_108[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_111 (BatchN (None, 25, 25, 96) 288 conv2d_111[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_112 (BatchN (None, 25, 25, 64) 192 conv2d_112[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_106 (Activation) (None, 25, 25, 64) 0 batch_normalization_106[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_108 (Activation) (None, 25, 25, 64) 0 batch_normalization_108[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_111 (Activation) (None, 25, 25, 96) 0 batch_normalization_111[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_112 (Activation) (None, 25, 25, 64) 0 batch_normalization_112[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "mixed1 (Concatenate) (None, 25, 25, 288) 0 activation_106[0][0] \n", | |
| " activation_108[0][0] \n", | |
| " activation_111[0][0] \n", | |
| " activation_112[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_116 (Conv2D) (None, 25, 25, 64) 18432 mixed1[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_116 (BatchN (None, 25, 25, 64) 192 conv2d_116[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_116 (Activation) (None, 25, 25, 64) 0 batch_normalization_116[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_114 (Conv2D) (None, 25, 25, 48) 13824 mixed1[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_117 (Conv2D) (None, 25, 25, 96) 55296 activation_116[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_114 (BatchN (None, 25, 25, 48) 144 conv2d_114[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_117 (BatchN (None, 25, 25, 96) 288 conv2d_117[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_114 (Activation) (None, 25, 25, 48) 0 batch_normalization_114[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_117 (Activation) (None, 25, 25, 96) 0 batch_normalization_117[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "average_pooling2d_11 (AveragePo (None, 25, 25, 288) 0 mixed1[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_113 (Conv2D) (None, 25, 25, 64) 18432 mixed1[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_115 (Conv2D) (None, 25, 25, 64) 76800 activation_114[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_118 (Conv2D) (None, 25, 25, 96) 82944 activation_117[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_119 (Conv2D) (None, 25, 25, 64) 18432 average_pooling2d_11[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_113 (BatchN (None, 25, 25, 64) 192 conv2d_113[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_115 (BatchN (None, 25, 25, 64) 192 conv2d_115[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_118 (BatchN (None, 25, 25, 96) 288 conv2d_118[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_119 (BatchN (None, 25, 25, 64) 192 conv2d_119[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_113 (Activation) (None, 25, 25, 64) 0 batch_normalization_113[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_115 (Activation) (None, 25, 25, 64) 0 batch_normalization_115[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_118 (Activation) (None, 25, 25, 96) 0 batch_normalization_118[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_119 (Activation) (None, 25, 25, 64) 0 batch_normalization_119[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "mixed2 (Concatenate) (None, 25, 25, 288) 0 activation_113[0][0] \n", | |
| " activation_115[0][0] \n", | |
| " activation_118[0][0] \n", | |
| " activation_119[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_121 (Conv2D) (None, 25, 25, 64) 18432 mixed2[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_121 (BatchN (None, 25, 25, 64) 192 conv2d_121[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_121 (Activation) (None, 25, 25, 64) 0 batch_normalization_121[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_122 (Conv2D) (None, 25, 25, 96) 55296 activation_121[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_122 (BatchN (None, 25, 25, 96) 288 conv2d_122[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_122 (Activation) (None, 25, 25, 96) 0 batch_normalization_122[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_120 (Conv2D) (None, 12, 12, 384) 995328 mixed2[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_123 (Conv2D) (None, 12, 12, 96) 82944 activation_122[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_120 (BatchN (None, 12, 12, 384) 1152 conv2d_120[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_123 (BatchN (None, 12, 12, 96) 288 conv2d_123[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_120 (Activation) (None, 12, 12, 384) 0 batch_normalization_120[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_123 (Activation) (None, 12, 12, 96) 0 batch_normalization_123[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "max_pooling2d_6 (MaxPooling2D) (None, 12, 12, 288) 0 mixed2[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "mixed3 (Concatenate) (None, 12, 12, 768) 0 activation_120[0][0] \n", | |
| " activation_123[0][0] \n", | |
| " max_pooling2d_6[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_128 (Conv2D) (None, 12, 12, 128) 98304 mixed3[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_128 (BatchN (None, 12, 12, 128) 384 conv2d_128[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_128 (Activation) (None, 12, 12, 128) 0 batch_normalization_128[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_129 (Conv2D) (None, 12, 12, 128) 114688 activation_128[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_129 (BatchN (None, 12, 12, 128) 384 conv2d_129[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_129 (Activation) (None, 12, 12, 128) 0 batch_normalization_129[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_125 (Conv2D) (None, 12, 12, 128) 98304 mixed3[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_130 (Conv2D) (None, 12, 12, 128) 114688 activation_129[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_125 (BatchN (None, 12, 12, 128) 384 conv2d_125[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_130 (BatchN (None, 12, 12, 128) 384 conv2d_130[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_125 (Activation) (None, 12, 12, 128) 0 batch_normalization_125[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_130 (Activation) (None, 12, 12, 128) 0 batch_normalization_130[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_126 (Conv2D) (None, 12, 12, 128) 114688 activation_125[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_131 (Conv2D) (None, 12, 12, 128) 114688 activation_130[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_126 (BatchN (None, 12, 12, 128) 384 conv2d_126[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_131 (BatchN (None, 12, 12, 128) 384 conv2d_131[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_126 (Activation) (None, 12, 12, 128) 0 batch_normalization_126[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_131 (Activation) (None, 12, 12, 128) 0 batch_normalization_131[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "average_pooling2d_12 (AveragePo (None, 12, 12, 768) 0 mixed3[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_124 (Conv2D) (None, 12, 12, 192) 147456 mixed3[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_127 (Conv2D) (None, 12, 12, 192) 172032 activation_126[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_132 (Conv2D) (None, 12, 12, 192) 172032 activation_131[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_133 (Conv2D) (None, 12, 12, 192) 147456 average_pooling2d_12[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_124 (BatchN (None, 12, 12, 192) 576 conv2d_124[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_127 (BatchN (None, 12, 12, 192) 576 conv2d_127[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_132 (BatchN (None, 12, 12, 192) 576 conv2d_132[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_133 (BatchN (None, 12, 12, 192) 576 conv2d_133[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_124 (Activation) (None, 12, 12, 192) 0 batch_normalization_124[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_127 (Activation) (None, 12, 12, 192) 0 batch_normalization_127[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_132 (Activation) (None, 12, 12, 192) 0 batch_normalization_132[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_133 (Activation) (None, 12, 12, 192) 0 batch_normalization_133[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "mixed4 (Concatenate) (None, 12, 12, 768) 0 activation_124[0][0] \n", | |
| " activation_127[0][0] \n", | |
| " activation_132[0][0] \n", | |
| " activation_133[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_138 (Conv2D) (None, 12, 12, 160) 122880 mixed4[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_138 (BatchN (None, 12, 12, 160) 480 conv2d_138[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_138 (Activation) (None, 12, 12, 160) 0 batch_normalization_138[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_139 (Conv2D) (None, 12, 12, 160) 179200 activation_138[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_139 (BatchN (None, 12, 12, 160) 480 conv2d_139[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_139 (Activation) (None, 12, 12, 160) 0 batch_normalization_139[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_135 (Conv2D) (None, 12, 12, 160) 122880 mixed4[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_140 (Conv2D) (None, 12, 12, 160) 179200 activation_139[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_135 (BatchN (None, 12, 12, 160) 480 conv2d_135[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_140 (BatchN (None, 12, 12, 160) 480 conv2d_140[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_135 (Activation) (None, 12, 12, 160) 0 batch_normalization_135[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_140 (Activation) (None, 12, 12, 160) 0 batch_normalization_140[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_136 (Conv2D) (None, 12, 12, 160) 179200 activation_135[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_141 (Conv2D) (None, 12, 12, 160) 179200 activation_140[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_136 (BatchN (None, 12, 12, 160) 480 conv2d_136[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_141 (BatchN (None, 12, 12, 160) 480 conv2d_141[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_136 (Activation) (None, 12, 12, 160) 0 batch_normalization_136[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_141 (Activation) (None, 12, 12, 160) 0 batch_normalization_141[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "average_pooling2d_13 (AveragePo (None, 12, 12, 768) 0 mixed4[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_134 (Conv2D) (None, 12, 12, 192) 147456 mixed4[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_137 (Conv2D) (None, 12, 12, 192) 215040 activation_136[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_142 (Conv2D) (None, 12, 12, 192) 215040 activation_141[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_143 (Conv2D) (None, 12, 12, 192) 147456 average_pooling2d_13[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_134 (BatchN (None, 12, 12, 192) 576 conv2d_134[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_137 (BatchN (None, 12, 12, 192) 576 conv2d_137[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_142 (BatchN (None, 12, 12, 192) 576 conv2d_142[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_143 (BatchN (None, 12, 12, 192) 576 conv2d_143[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_134 (Activation) (None, 12, 12, 192) 0 batch_normalization_134[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_137 (Activation) (None, 12, 12, 192) 0 batch_normalization_137[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_142 (Activation) (None, 12, 12, 192) 0 batch_normalization_142[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_143 (Activation) (None, 12, 12, 192) 0 batch_normalization_143[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "mixed5 (Concatenate) (None, 12, 12, 768) 0 activation_134[0][0] \n", | |
| " activation_137[0][0] \n", | |
| " activation_142[0][0] \n", | |
| " activation_143[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_148 (Conv2D) (None, 12, 12, 160) 122880 mixed5[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_148 (BatchN (None, 12, 12, 160) 480 conv2d_148[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_148 (Activation) (None, 12, 12, 160) 0 batch_normalization_148[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_149 (Conv2D) (None, 12, 12, 160) 179200 activation_148[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_149 (BatchN (None, 12, 12, 160) 480 conv2d_149[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_149 (Activation) (None, 12, 12, 160) 0 batch_normalization_149[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_145 (Conv2D) (None, 12, 12, 160) 122880 mixed5[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_150 (Conv2D) (None, 12, 12, 160) 179200 activation_149[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_145 (BatchN (None, 12, 12, 160) 480 conv2d_145[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_150 (BatchN (None, 12, 12, 160) 480 conv2d_150[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_145 (Activation) (None, 12, 12, 160) 0 batch_normalization_145[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_150 (Activation) (None, 12, 12, 160) 0 batch_normalization_150[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_146 (Conv2D) (None, 12, 12, 160) 179200 activation_145[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_151 (Conv2D) (None, 12, 12, 160) 179200 activation_150[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_146 (BatchN (None, 12, 12, 160) 480 conv2d_146[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_151 (BatchN (None, 12, 12, 160) 480 conv2d_151[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_146 (Activation) (None, 12, 12, 160) 0 batch_normalization_146[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_151 (Activation) (None, 12, 12, 160) 0 batch_normalization_151[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "average_pooling2d_14 (AveragePo (None, 12, 12, 768) 0 mixed5[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_144 (Conv2D) (None, 12, 12, 192) 147456 mixed5[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_147 (Conv2D) (None, 12, 12, 192) 215040 activation_146[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_152 (Conv2D) (None, 12, 12, 192) 215040 activation_151[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_153 (Conv2D) (None, 12, 12, 192) 147456 average_pooling2d_14[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_144 (BatchN (None, 12, 12, 192) 576 conv2d_144[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_147 (BatchN (None, 12, 12, 192) 576 conv2d_147[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_152 (BatchN (None, 12, 12, 192) 576 conv2d_152[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_153 (BatchN (None, 12, 12, 192) 576 conv2d_153[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_144 (Activation) (None, 12, 12, 192) 0 batch_normalization_144[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_147 (Activation) (None, 12, 12, 192) 0 batch_normalization_147[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_152 (Activation) (None, 12, 12, 192) 0 batch_normalization_152[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_153 (Activation) (None, 12, 12, 192) 0 batch_normalization_153[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "mixed6 (Concatenate) (None, 12, 12, 768) 0 activation_144[0][0] \n", | |
| " activation_147[0][0] \n", | |
| " activation_152[0][0] \n", | |
| " activation_153[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_158 (Conv2D) (None, 12, 12, 192) 147456 mixed6[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_158 (BatchN (None, 12, 12, 192) 576 conv2d_158[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_158 (Activation) (None, 12, 12, 192) 0 batch_normalization_158[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_159 (Conv2D) (None, 12, 12, 192) 258048 activation_158[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_159 (BatchN (None, 12, 12, 192) 576 conv2d_159[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_159 (Activation) (None, 12, 12, 192) 0 batch_normalization_159[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_155 (Conv2D) (None, 12, 12, 192) 147456 mixed6[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_160 (Conv2D) (None, 12, 12, 192) 258048 activation_159[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_155 (BatchN (None, 12, 12, 192) 576 conv2d_155[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_160 (BatchN (None, 12, 12, 192) 576 conv2d_160[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_155 (Activation) (None, 12, 12, 192) 0 batch_normalization_155[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_160 (Activation) (None, 12, 12, 192) 0 batch_normalization_160[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_156 (Conv2D) (None, 12, 12, 192) 258048 activation_155[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_161 (Conv2D) (None, 12, 12, 192) 258048 activation_160[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_156 (BatchN (None, 12, 12, 192) 576 conv2d_156[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_161 (BatchN (None, 12, 12, 192) 576 conv2d_161[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_156 (Activation) (None, 12, 12, 192) 0 batch_normalization_156[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_161 (Activation) (None, 12, 12, 192) 0 batch_normalization_161[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "average_pooling2d_15 (AveragePo (None, 12, 12, 768) 0 mixed6[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_154 (Conv2D) (None, 12, 12, 192) 147456 mixed6[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_157 (Conv2D) (None, 12, 12, 192) 258048 activation_156[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_162 (Conv2D) (None, 12, 12, 192) 258048 activation_161[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_163 (Conv2D) (None, 12, 12, 192) 147456 average_pooling2d_15[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_154 (BatchN (None, 12, 12, 192) 576 conv2d_154[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_157 (BatchN (None, 12, 12, 192) 576 conv2d_157[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_162 (BatchN (None, 12, 12, 192) 576 conv2d_162[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_163 (BatchN (None, 12, 12, 192) 576 conv2d_163[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_154 (Activation) (None, 12, 12, 192) 0 batch_normalization_154[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_157 (Activation) (None, 12, 12, 192) 0 batch_normalization_157[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_162 (Activation) (None, 12, 12, 192) 0 batch_normalization_162[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_163 (Activation) (None, 12, 12, 192) 0 batch_normalization_163[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "mixed7 (Concatenate) (None, 12, 12, 768) 0 activation_154[0][0] \n", | |
| " activation_157[0][0] \n", | |
| " activation_162[0][0] \n", | |
| " activation_163[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_166 (Conv2D) (None, 12, 12, 192) 147456 mixed7[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_166 (BatchN (None, 12, 12, 192) 576 conv2d_166[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_166 (Activation) (None, 12, 12, 192) 0 batch_normalization_166[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_167 (Conv2D) (None, 12, 12, 192) 258048 activation_166[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_167 (BatchN (None, 12, 12, 192) 576 conv2d_167[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_167 (Activation) (None, 12, 12, 192) 0 batch_normalization_167[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_164 (Conv2D) (None, 12, 12, 192) 147456 mixed7[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_168 (Conv2D) (None, 12, 12, 192) 258048 activation_167[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_164 (BatchN (None, 12, 12, 192) 576 conv2d_164[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_168 (BatchN (None, 12, 12, 192) 576 conv2d_168[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_164 (Activation) (None, 12, 12, 192) 0 batch_normalization_164[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_168 (Activation) (None, 12, 12, 192) 0 batch_normalization_168[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_165 (Conv2D) (None, 5, 5, 320) 552960 activation_164[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_169 (Conv2D) (None, 5, 5, 192) 331776 activation_168[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_165 (BatchN (None, 5, 5, 320) 960 conv2d_165[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_169 (BatchN (None, 5, 5, 192) 576 conv2d_169[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_165 (Activation) (None, 5, 5, 320) 0 batch_normalization_165[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_169 (Activation) (None, 5, 5, 192) 0 batch_normalization_169[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "max_pooling2d_7 (MaxPooling2D) (None, 5, 5, 768) 0 mixed7[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "mixed8 (Concatenate) (None, 5, 5, 1280) 0 activation_165[0][0] \n", | |
| " activation_169[0][0] \n", | |
| " max_pooling2d_7[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_174 (Conv2D) (None, 5, 5, 448) 573440 mixed8[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_174 (BatchN (None, 5, 5, 448) 1344 conv2d_174[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_174 (Activation) (None, 5, 5, 448) 0 batch_normalization_174[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_171 (Conv2D) (None, 5, 5, 384) 491520 mixed8[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_175 (Conv2D) (None, 5, 5, 384) 1548288 activation_174[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_171 (BatchN (None, 5, 5, 384) 1152 conv2d_171[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_175 (BatchN (None, 5, 5, 384) 1152 conv2d_175[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_171 (Activation) (None, 5, 5, 384) 0 batch_normalization_171[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_175 (Activation) (None, 5, 5, 384) 0 batch_normalization_175[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_172 (Conv2D) (None, 5, 5, 384) 442368 activation_171[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_173 (Conv2D) (None, 5, 5, 384) 442368 activation_171[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_176 (Conv2D) (None, 5, 5, 384) 442368 activation_175[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_177 (Conv2D) (None, 5, 5, 384) 442368 activation_175[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "average_pooling2d_16 (AveragePo (None, 5, 5, 1280) 0 mixed8[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_170 (Conv2D) (None, 5, 5, 320) 409600 mixed8[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_172 (BatchN (None, 5, 5, 384) 1152 conv2d_172[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_173 (BatchN (None, 5, 5, 384) 1152 conv2d_173[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_176 (BatchN (None, 5, 5, 384) 1152 conv2d_176[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_177 (BatchN (None, 5, 5, 384) 1152 conv2d_177[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_178 (Conv2D) (None, 5, 5, 192) 245760 average_pooling2d_16[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_170 (BatchN (None, 5, 5, 320) 960 conv2d_170[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_172 (Activation) (None, 5, 5, 384) 0 batch_normalization_172[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_173 (Activation) (None, 5, 5, 384) 0 batch_normalization_173[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_176 (Activation) (None, 5, 5, 384) 0 batch_normalization_176[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_177 (Activation) (None, 5, 5, 384) 0 batch_normalization_177[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_178 (BatchN (None, 5, 5, 192) 576 conv2d_178[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_170 (Activation) (None, 5, 5, 320) 0 batch_normalization_170[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "mixed9_0 (Concatenate) (None, 5, 5, 768) 0 activation_172[0][0] \n", | |
| " activation_173[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "concatenate_2 (Concatenate) (None, 5, 5, 768) 0 activation_176[0][0] \n", | |
| " activation_177[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_178 (Activation) (None, 5, 5, 192) 0 batch_normalization_178[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "mixed9 (Concatenate) (None, 5, 5, 2048) 0 activation_170[0][0] \n", | |
| " mixed9_0[0][0] \n", | |
| " concatenate_2[0][0] \n", | |
| " activation_178[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_183 (Conv2D) (None, 5, 5, 448) 917504 mixed9[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_183 (BatchN (None, 5, 5, 448) 1344 conv2d_183[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_183 (Activation) (None, 5, 5, 448) 0 batch_normalization_183[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_180 (Conv2D) (None, 5, 5, 384) 786432 mixed9[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_184 (Conv2D) (None, 5, 5, 384) 1548288 activation_183[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_180 (BatchN (None, 5, 5, 384) 1152 conv2d_180[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_184 (BatchN (None, 5, 5, 384) 1152 conv2d_184[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_180 (Activation) (None, 5, 5, 384) 0 batch_normalization_180[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_184 (Activation) (None, 5, 5, 384) 0 batch_normalization_184[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_181 (Conv2D) (None, 5, 5, 384) 442368 activation_180[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_182 (Conv2D) (None, 5, 5, 384) 442368 activation_180[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_185 (Conv2D) (None, 5, 5, 384) 442368 activation_184[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_186 (Conv2D) (None, 5, 5, 384) 442368 activation_184[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "average_pooling2d_17 (AveragePo (None, 5, 5, 2048) 0 mixed9[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_179 (Conv2D) (None, 5, 5, 320) 655360 mixed9[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_181 (BatchN (None, 5, 5, 384) 1152 conv2d_181[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_182 (BatchN (None, 5, 5, 384) 1152 conv2d_182[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_185 (BatchN (None, 5, 5, 384) 1152 conv2d_185[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_186 (BatchN (None, 5, 5, 384) 1152 conv2d_186[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "conv2d_187 (Conv2D) (None, 5, 5, 192) 393216 average_pooling2d_17[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_179 (BatchN (None, 5, 5, 320) 960 conv2d_179[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_181 (Activation) (None, 5, 5, 384) 0 batch_normalization_181[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_182 (Activation) (None, 5, 5, 384) 0 batch_normalization_182[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_185 (Activation) (None, 5, 5, 384) 0 batch_normalization_185[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_186 (Activation) (None, 5, 5, 384) 0 batch_normalization_186[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "batch_normalization_187 (BatchN (None, 5, 5, 192) 576 conv2d_187[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_179 (Activation) (None, 5, 5, 320) 0 batch_normalization_179[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "mixed9_1 (Concatenate) (None, 5, 5, 768) 0 activation_181[0][0] \n", | |
| " activation_182[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "concatenate_3 (Concatenate) (None, 5, 5, 768) 0 activation_185[0][0] \n", | |
| " activation_186[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "activation_187 (Activation) (None, 5, 5, 192) 0 batch_normalization_187[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "mixed10 (Concatenate) (None, 5, 5, 2048) 0 activation_179[0][0] \n", | |
| " mixed9_1[0][0] \n", | |
| " concatenate_3[0][0] \n", | |
| " activation_187[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "flatten_1 (Flatten) (None, 51200) 0 mixed10[0][0] \n", | |
| "__________________________________________________________________________________________________\n", | |
| "dense_1 (Dense) (None, 2) 102402 flatten_1[0][0] \n", | |
| "==================================================================================================\n", | |
| "Total params: 21,905,186\n", | |
| "Trainable params: 102,402\n", | |
| "Non-trainable params: 21,802,784\n", | |
| "__________________________________________________________________________________________________\n" | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "COqmHYbJvChK" | |
| }, | |
| "source": [ | |
| "model.compile(\n", | |
| " loss = 'categorical_crossentropy',\n", | |
| " optimizer= 'Adam',\n", | |
| " metrics=['accuracy']\n", | |
| ")" | |
| ], | |
| "execution_count": 33, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "PDl8aGTLvJ5V" | |
| }, | |
| "source": [ | |
| "from tensorflow.keras.preprocessing.image import ImageDataGenerator" | |
| ], | |
| "execution_count": 34, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "advj3B6qvMQi" | |
| }, | |
| "source": [ | |
| "train_datagen = ImageDataGenerator(rescale =1./255,\n", | |
| " shear_range = 0.2,\n", | |
| " zoom_range = 0.2,\n", | |
| " horizontal_flip = True)\n", | |
| "\n", | |
| "test_datagen = ImageDataGenerator(rescale= 1./255)" | |
| ], | |
| "execution_count": 35, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "niBi9AlebDUI" | |
| }, | |
| "source": [ | |
| "" | |
| ], | |
| "execution_count": 35, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "1CmLRuCqwcoI", | |
| "outputId": "e346f005-b4de-46fc-e42b-40d913ee6706" | |
| }, | |
| "source": [ | |
| "training_set = train_datagen.flow_from_directory('/content/drive/MyDrive/raw_imgs/train',\n", | |
| " target_size =(224,224),\n", | |
| " batch_size =32,\n", | |
| " class_mode = 'categorical')" | |
| ], | |
| "execution_count": 36, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "name": "stdout", | |
| "text": [ | |
| "Found 436 images belonging to 2 classes.\n" | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "Gty5mz9Hzh_F", | |
| "outputId": "3c02a07f-b6e9-4e56-e525-42fdd1adbb45" | |
| }, | |
| "source": [ | |
| "test_set = test_datagen.flow_from_directory('/content/drive/MyDrive/raw_imgs/valid',\n", | |
| " target_size = (224,224),\n", | |
| " batch_size =32,\n", | |
| " class_mode = 'categorical')" | |
| ], | |
| "execution_count": 37, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "name": "stdout", | |
| "text": [ | |
| "Found 110 images belonging to 2 classes.\n" | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "FqN52WlqwfSA", | |
| "outputId": "8d11e2e9-1be2-4795-f890-3a0e60b03859" | |
| }, | |
| "source": [ | |
| "r = model.fit_generator(\n", | |
| " training_set,\n", | |
| " validation_data=test_set,\n", | |
| " epochs=20,\n", | |
| " steps_per_epoch=len(training_set),\n", | |
| " validation_steps= len(test_set)\n", | |
| ")" | |
| ], | |
| "execution_count": 38, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "name": "stderr", | |
| "text": [ | |
| "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py:1972: UserWarning: `Model.fit_generator` is deprecated and will be removed in a future version. Please use `Model.fit`, which supports generators.\n", | |
| " warnings.warn('`Model.fit_generator` is deprecated and '\n" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "name": "stdout", | |
| "text": [ | |
| "Epoch 1/20\n", | |
| "14/14 [==============================] - 18s 909ms/step - loss: 5.5625 - accuracy: 0.6353 - val_loss: 6.4662 - val_accuracy: 0.4818\n", | |
| "Epoch 2/20\n", | |
| "14/14 [==============================] - 11s 774ms/step - loss: 3.5530 - accuracy: 0.7041 - val_loss: 0.6561 - val_accuracy: 0.9182\n", | |
| "Epoch 3/20\n", | |
| "14/14 [==============================] - 11s 775ms/step - loss: 1.3045 - accuracy: 0.8463 - val_loss: 0.8777 - val_accuracy: 0.8364\n", | |
| "Epoch 4/20\n", | |
| "14/14 [==============================] - 11s 774ms/step - loss: 0.6960 - accuracy: 0.8968 - val_loss: 0.9537 - val_accuracy: 0.8091\n", | |
| "Epoch 5/20\n", | |
| "14/14 [==============================] - 11s 773ms/step - loss: 0.3564 - accuracy: 0.9106 - val_loss: 0.5611 - val_accuracy: 0.8455\n", | |
| "Epoch 6/20\n", | |
| "14/14 [==============================] - 11s 756ms/step - loss: 0.3044 - accuracy: 0.9243 - val_loss: 0.4929 - val_accuracy: 0.8455\n", | |
| "Epoch 7/20\n", | |
| "14/14 [==============================] - 11s 771ms/step - loss: 0.2659 - accuracy: 0.9381 - val_loss: 0.9638 - val_accuracy: 0.8455\n", | |
| "Epoch 8/20\n", | |
| "14/14 [==============================] - 11s 775ms/step - loss: 0.4043 - accuracy: 0.9128 - val_loss: 1.4757 - val_accuracy: 0.8000\n", | |
| "Epoch 9/20\n", | |
| "14/14 [==============================] - 11s 752ms/step - loss: 0.6118 - accuracy: 0.8968 - val_loss: 1.7382 - val_accuracy: 0.7909\n", | |
| "Epoch 10/20\n", | |
| "14/14 [==============================] - 11s 751ms/step - loss: 0.3567 - accuracy: 0.9289 - val_loss: 1.0320 - val_accuracy: 0.8818\n", | |
| "Epoch 11/20\n", | |
| "14/14 [==============================] - 11s 769ms/step - loss: 0.2510 - accuracy: 0.9450 - val_loss: 0.6608 - val_accuracy: 0.8909\n", | |
| "Epoch 12/20\n", | |
| "14/14 [==============================] - 11s 762ms/step - loss: 0.1429 - accuracy: 0.9564 - val_loss: 0.9132 - val_accuracy: 0.8364\n", | |
| "Epoch 13/20\n", | |
| "14/14 [==============================] - 11s 762ms/step - loss: 0.1777 - accuracy: 0.9472 - val_loss: 0.8336 - val_accuracy: 0.8273\n", | |
| "Epoch 14/20\n", | |
| "14/14 [==============================] - 11s 766ms/step - loss: 0.1071 - accuracy: 0.9748 - val_loss: 0.9319 - val_accuracy: 0.8727\n", | |
| "Epoch 15/20\n", | |
| "14/14 [==============================] - 11s 769ms/step - loss: 0.1178 - accuracy: 0.9725 - val_loss: 1.1463 - val_accuracy: 0.8636\n", | |
| "Epoch 16/20\n", | |
| "14/14 [==============================] - 11s 768ms/step - loss: 0.0940 - accuracy: 0.9794 - val_loss: 0.8875 - val_accuracy: 0.8455\n", | |
| "Epoch 17/20\n", | |
| "14/14 [==============================] - 11s 765ms/step - loss: 0.1793 - accuracy: 0.9702 - val_loss: 1.0217 - val_accuracy: 0.8545\n", | |
| "Epoch 18/20\n", | |
| "14/14 [==============================] - 11s 769ms/step - loss: 0.1293 - accuracy: 0.9541 - val_loss: 0.5737 - val_accuracy: 0.9000\n", | |
| "Epoch 19/20\n", | |
| "14/14 [==============================] - 11s 758ms/step - loss: 0.0717 - accuracy: 0.9794 - val_loss: 0.7259 - val_accuracy: 0.8727\n", | |
| "Epoch 20/20\n", | |
| "14/14 [==============================] - 11s 790ms/step - loss: 0.1577 - accuracy: 0.9656 - val_loss: 0.7586 - val_accuracy: 0.8818\n" | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "Eu8_5EZM2tUc" | |
| }, | |
| "source": [ | |
| "# create learning curves to evaluate model performance\n", | |
| "import pandas as pd\n", | |
| "history_frame = pd.DataFrame(r.history)" | |
| ], | |
| "execution_count": 39, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 282 | |
| }, | |
| "id": "AHTn5C9627yr", | |
| "outputId": "f3b965bc-3cca-417f-b07b-acb918ee425c" | |
| }, | |
| "source": [ | |
| "history_frame.loc[:, ['loss', 'val_loss']].plot()" | |
| ], | |
| "execution_count": 40, | |
| "outputs": [ | |
| { | |
| "output_type": "execute_result", | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7fd8eb1cd610>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "execution_count": 40 | |
| }, | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 268 | |
| }, | |
| "id": "3xwmm7r62-j1", | |
| "outputId": "85ffa739-09e1-4a4d-d03e-9e3563b614c5" | |
| }, | |
| "source": [ | |
| "history_frame.loc[:, ['accuracy', 'val_accuracy']].plot();" | |
| ], | |
| "execution_count": 41, | |
| "outputs": [ | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD7CAYAAAB68m/qAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3dd3iUVfbA8e9NIYEQII0kkIQivYQWiqCAIC4qxbIIWHbFtvwU3dVV17Kr6Lqu6+q6zYa9o6K4wKIoK02poYWagLSEkgohE0id+/vjTkIIKZNkes7nefKQmXnnfQ+Tycmde8+9V2mtEUII4f383B2AEEIIx5CELoQQPkISuhBC+AhJ6EII4SMkoQshhI+QhC6EED6i3oSulHpbKZWllNpZy+NKKfVPpdR+pVSKUmqw48MUQghRH3ta6O8CE+t4/Eqgu+3rLuDVpoclhBCioQLqO0BrvVop1bmOQ6YC72szQ2m9UqqdUipWa328rvNGRkbqzp3rOq0QQojqNm/enKO1jqrpsXoTuh06AulVbmfY7qszoXfu3Jnk5GQHXF4IIZoPpdTh2h5z6aCoUuoupVSyUio5OzvblZcWQgif54iEfhSIr3I7znbfBbTW87TWSVrrpKioGj8xCCGEaCRHJPRFwC9s1S4jgPz6+s+FEEI4Xr196EqpT4CxQKRSKgN4EggE0Fq/BiwFrgL2A2eAWc4KVgghRO3sqXKZWc/jGrjHYREJIYRoFJkpKoQQPkISuhBC+AhH1KELIUSdSsutHMopJDWzgMO5Z7goKoTBncJoHxrs7tAapLC4jIVbj9I1KoThXSLw91PuDuk8ktCFEA5TbtWk550hNbOAtBMFpGVZSDtRwIEcC6XlF253mRDeiiGdwhjcKYykTmH0iA71uCRZ4bvdmTz5n50cyy8CICo0iKv6xTB5QAcGJ4Th5wFxS0IXohlJyyzgtVU/gYbWwQGEBgfQOiiQUNv3F9wOCqR1cMAFSVZrzbH8ItJOFJjkbfval2mhuMxaeVx8eEt6tA9lXO/29IhuTY/oUOLDW7E/y8LmQyfZfPgka/blsHCrmbrSOiiAQQntGJwQRlLnMAbGtyM0ONClr1F1x/PPMnfRLpbtyqRndCgf3zCAk4WlLEk5xvxN6by37jCxbYO5un8skwd0IDGuLUq5J7krd20SnZSUpGXqvxCuUW7VvPXDAV74No2gAD/atgzEUlxGQVEZ5db6c0CrFv62ZB9AUIA/R/LOYCkuq3w8pk0w3aNb0zM6lB4xofSIDqV7+9aEBNXfZtRak3HyLMmH89h8+CSbD58i9cRprBqUgp7RoQzpZBL8kIRw4sNbuiRhlls17687xAvLUinXml+P78Edl3Yh0P/c0KOluIzluzNZknKMVWnZlJZrEsJbcXViLJMSY+kT28bhsSqlNmutk2p8TBK6EL7tcG4hD36+nU2HTnJFn2ieva4/ka2DAJNMi0qtFBSVcrqozJbkS7EUmWR/uqi0MvFbisooKC7lbEk5CeGtKhN3j/ahtG3l2FZ0QVEp29JP2RL8SbYeOVX5ByQqNIhJibHcOCyB7tGhDr1uhZ1H83ls4Q5SMvIZ3SOKZ6b2IyGiVZ3PyT9TyrLdJ1iScpwf9+dQbtV0jQphUmIHJifGOixWSehCNENaaz7acIRnl+7B30/x1JS+XDuoo9u6A5qi3KpJyyxg8+GTrP0ph+92Z1JarknqFMbMYQlcnRhLcKB/k69TWFzGS9+l8faPBwkPCeLJyX2YlBjb4Ncs11LMN7tOsHj7MTYczENr6BUTyqTEWCYldqBzZEijY5SELkQzcyK/iIe/SGF1WjaXdo/kL9cn0qFdS3eH5TC5lmK+3HKUTzYe4UBOIW2CA7hucBwzhyXQM6ZxLeHluzN5wjboeePwBH43sRdtWzb9k0fW6SKW7jjO4pTjbD58EoAnJ/dh1qgujTqfJHQhmgmtNV9tO8qT/9lFabnmsat6cfOITl7ZKreH1poNB/P4ZOMRvt5xgpJyK4MT2jFzWAKTEjvQskX9rfYT+UXMXbSLb3adoEd0a/58XX+GdAp3SrxHT51lacpxLuvVnm7tWzfqHJLQhWgGci3FPL5wJ9/sOsGQTmG8OG1Akz7ae5u8whK+3JLBJxuP8FN2IaHBAVw7qCMzhibQp0ObC44vt2o+WHeIF75No7Tcyq8v784dl3SlRYBnz7eUhC6EhziYU0hKxim6tTcVIQH+jkke3+46wWMLd3D6bBkPXNGDOy/t6rH13M6mtWbToZN8svEI/91xnJIyKwPj23HjsAQmDYilVYsAdh3L57Evd7A9I59Lu0fyp2v61zvo6SkkoQvhJmdLyll/IJeVqVmsTMvmcO6ZysdCWvgzMKEdQxLCGNI5nIHx7RrcZ5t/tpSnFu/iyy1H6RPbhr9NH0CvmAtbo83VqTMlfLnlKB9vPML+LAutgwIY3iWclWnZhLUK5InJfZnciEFPd5KELoSLaK05kFPIytRsVqZmseFgHiVlVoID/Rh5USRje0YxOCGMn7ItlSV5e46fq7nu0T60ctbkkE5hdIpoVWuy+WFfDg8t2E5WQTH3jL2IOeO6e3x3gbtordl8+CQfbzzCir1ZTOwXwyMTezu83NIVJKEL4URnSspY91OuSeJpWaTnnQWga1QIY3u0Z2zPKIZ1Ca+1rK6wuOy8mustR05SUGRqriNCWjDYltyTOoXRr2NbrFrz3Nd7eX/dYS6KCuHFGwYyML6dy/6/wr3qSugy9V+IBtJa81O2xdYKz2bjwTxKyq20DPRnVLcI7hp9EWN7RBEfbl+fbEhQAKO6RTKqWyQAVqtmX5blvAT/3e5MAAL9FaHBgeQVlnDbqC48PLGnQ+qvhW+QhC6EnTJOnuGzTel8ufUoGSdNK7xb+9b84uJOjO3ZnqFdwggKaHpy9fNT9IwJpWdMKDcOTwAgx1LMlsMn2XzkJIdyCrl1ZBcuviiiydcSvkUSuhB1KC238v3eLD7ZeIRVadkAXNo9itljLmJszyjiwlxTGRHZOogr+sZwRd8Yl1xPeCdJ6KJBtNaUlmufH3xLzzvDp5vS+Sw5nayCYqLbBHHvZd24YWi8y5K4EA0lCV3YZX9WAYu3H2dJyjEO5hQya1QXHpjQw67V9LxFabmV/+3J5OON6azZl40CxvZsz8xhCVzWM8phNeNCOIvv/DYKhzucW8iSlOMs3n6MvScKUAqGdQ6nf8e2vPXDQb7ecZynpvZjQp9od4faJEdyzzB/0xE+S84gx1JMbNtg7hvXnRuGxtPRh9Y/Eb5PEro4z7FTZ/lvynEWpxwjJSMfgMEJ7Xhych+u6h9LdBuzZdgtF3fisS93cuf7yUzsG8PcKX2Jaes924mVlFn5bncm8zcdYc2+HPwUjOtlWuNjekhrXHgnqUMXNa4G179jWyYlxnJ1Ymytfcal5VbeXHOQf/wvjQA/Px68oge3XNzZo6ecny4q5ZUVP7Fgczo5lhI6tmvJ9KHxTEuKI7attMaF55OJReICeYUlfL3zuEPWaz6Se4bf/2cnq9OySYxry7PX9qdfx7ZOjL5x9mcVcNf7mzmUW8jlvaOZOTyB0d2jPPoPkBDVSUIXwLkdVRZvP8ban3IduqOK1prFKcd5evFu8gqLuW1UF+73oEHTb3ae4LefbaNlC39evnEww7tKDbfwTjJTtBmr2PNw8fZjrN5n9jyMD2/JXaO7OnTPQ6UUUwZ0YEz3KP6ybC9v/nCQr3ee4OmpfRnf232DpuVWzd+Xp/Gv7/czIL4dr908WLpWhM9qfi10azmcyYPWUa6/toucLSnn+71ZLEk5xvd7sygus1buSj5pQAcGuGBX8s2H83j0yx2kZVq4sl8MT052/aBp/plSfv3pVlamZnNDUhxPT+0n0+SF15Mul6q2fAD//S3cvQ4iLnL99Z2kuKycVanZLEk5zvI9mZwpKSeydRBX949h0oAODEkIw8/FfcUlZVbe/OEA/1i+j0B/Px76WU9uHtHJJX3WqScKuOuDZI6dOsuTk/ty0/AEr1oiVYjaSJdLVbn7obwYfvgbTH3Z3dE0SWm5lR/357B4+3G+3X2CgqIywloFMnVgRyYnxjK8a4RbB/xaBPhx99huXN0/lt9/tZMnF+3iyy0ZPHtdf/p2cN6g6X9TjvPQgu2EBAUw/64RTttOTAhP0/wSeqFZj4Pt82H0QxDW2a3hNFS5VbPhQC6LU47xzc4TnDxTSmhwAD/rG8PkAR0YeVEEgR5WQ90pIoT3bxtmGzTdxaR//cCYHlHMGJrA+N7tHRZvuVXz12WpvLbqJwYntOPVm4dU1s0L0Rw0v4RuyYS2CebfNX+DKf90d0T1slo1m4+cZPH2YyzdcYIcSzEhLfy5vE80kxI7MLpHpENW+XOmqoOmb/1wgE+T05n94WaiQoO4ISmOGUMT7F5utianzpRw7ydbWbMvhxuHJ/Dk5D4e/5oI4Wh29aErpSYC/wD8gTe11s9Ve7wT8DYQBeQBN2utM+o6p9v60F+7BNp0hLbxsPlduG8LtEtwfRz10FqzPSOfJduP8d8dxzmeX0RQgB/je7dnUmIHLuvZ3q4dzT1VWbmVFanZzN94hBWpWWjMKoYzh8ZzeZ/oBrXadx87za8+TCYzv5inp/ZlxjDP+3kK4ShNGhRVSvkDacAEIAPYBMzUWu+ucsznwBKt9XtKqXHALK31LXWd120J/YWe0H0CjH0E/jEQBv8CJv3N9XHUQGvN7uOnWZJiFsFKzztLoL9iTI/2TB4Qy/je0bT2kLpuRzp26iyfJafz6aZ0jucXEdk6iGlJccwYGk+niLonOP1n21F+90UK7Vq24NWbBzMoIcxFUQvhHk0dFB0G7NdaH7CdbD4wFdhd5Zg+wAO271cAXzU+XCeylps+9NbR0DYOBt0MWz+AS38LbTu6Lax9mQUsTjnOku3HOJBTiL+f4pJukdw3rjtX9I1p8MbB3qZDu5b85vIe3DuuO6vSsvh4Qzqvr/qJV1f+xCXdIpk5LIEJfaLPW7K3rNzKc1+bevehncN4+abBtA+V/nLRvNmT0DsC6VVuZwDDqx2zHbgO0y1zLRCqlIrQWuc6JEpHOZMHuhxatze3L33AJPQf/wFXPe/SUA7lFLIk5RhLUo5XrmQ4oksEd1zalYn9YggPaeHSeDyBv59iXK9oxvWK5nj+WT5PzuDTTenc8/EWIkJa8POkOGYOTSA0OIB7P9nK2p9y+eXFnXj86j4+vz67cJBj2+DTW6DvNXDZ4xDoW40AR31+fxD4t1LqVmA1cBQor36QUuou4C6AhAQ39HMWZpl/KxJ6uwQYeKPpS7/0AQh1/m4wO4/m8+iXO9hx1KxkmNQpjKem9OXK/jHSwqwitm1L7hvfnXsu68bqfdl8suEIb645yOurDhAaHEBxmZW//jyRaUnx7g5VeIuTh+CjaVBWDGv/Cfu+hWtehY6D3R2Zw9iT0I8CVX9r4mz3VdJaH8O00FFKtQau11qfqn4irfU8YB6YPvRGxtx4FrPRLq2rTEW/5AHY+pFppU/8s1Mvn11QzB3vJaPRPH5Vb65OjKWDrLddJ38/xWU923NZz/Zkni7i8+R0tmfkc++4biTGyU73wk6FufDh9VBeAnd8B6fSYdG98Oblpst19EMQ4P2fiu1J6JuA7kqpLphEPgO4seoBSqlIIE9rbQUexVS8eB6LrYUe0v7cfeFdYMAMSH4bRv0GQp2z7khpuZV7Pt7CqbMlLJg90iNXI/R00W2CmTOuu/sCsFohJw1OHoTuV4Cf91YZNSslZ+CTGSaJ/3IRRPU0X3evg28egdXPQ9rXcM1rENPP3dE2Sb0dj1rrMmAOsAzYA3ymtd6llHpaKTXFdthYIFUplQZEA39yUrxNY6nW5VLh0t+av9zr/uW0S//pv3vYeDCPv1yfKMncWxQXwIGVsOp507p7vjO8Mtwkh1WuHXMRjWQthy/vhIxNcP2bkDDi3GMt28G1r8GMT6AgE+aNhdV/hfIyt4XbVHb1oWutlwJLq933RJXvFwALHBuaE1gyIaAlBFVbJjbiIug/DTa9ZVrpIZEOveznyem8u/YQd1zShakD3VdNI+qgtWl5p2+C9A2QvhGydoG2Agra94a+10L8cNj/P1j1F+g8CrqMdnfkojZaw9cPw94lcOXz0GdKzcf1usr8XJc+CN8/A3uXmkQf1dO18TqA7xU118WSZVZZrGmRptEPQcpnsO7fcPlch10yJeMUj3+1k5EXRfDIlb0cdl7RRKVnTcVDxkaTvNM3nFsWokUoxCXB6Ichfpj5PrjKp6reU+D4dvjiTpj9g0+v3OnVfngJNr0JI++D4b+q+9iQCJj2DvSebBbve+1SGP8HGHG3V3WtNa+EXph1/oBoVZHdod/1sPEN8wZo1fQFnXIsxfzqg81EtQ7i3zcOln0qPUH+UfMRPH0jWEvNfeEXQbfLTfKOHw5Rver+JQ5qDdPehTfGwVez4cbPwU9+th5l+3z431PQ7+dw+VP2P6/fddD5Elj8G/j297BnCVzzStNXZj2TZ7p9KhoPI++DHlc07Zw1aF4J3ZIF4V1rf3z0g7DzC1j3svnr3ASl5Vbu/mgLeYUlfPF/I5tlXblH+uFv5hfr4ntM8o4f1rgutph+MPFZ05pb9y8Y9WvHxyoa56cV8J97oPOlJhk39I9t6/Yw4yNI+RSWPmyWC7n8KRh6h33nqhg8z9h4rvsuJ808pvzNe6e8pOH/Lzs0s4SeaX6Ja9O+N/SZChteh5FzoGXjp5FXDIK+NH2ADIJ6ijN5sO1jM14yoQGtttok3Q4HV8P/noaEkRA/tOnnFE1zPMVMHIrsaZJyQFDjzqOUqX7rMtqUN379EOxdDFP+DWGdzj+2uACObj43/pKxEYrMPBNahpmckzjd/NtxMLSwf7/ehmo+Cb281LZTUT1liaMfgt1fwfrX4LJHG3WpLzZn8O7aQ9w2qgvXDopr1DmEE2x+F0rPmH5RR1AKJv8Tjm2FBbfB7NVNagS4TNFpaNHa97qJTh0xE4eC28BNn58/7tFYbTrATQtgy3uw7HF4daQZYwtqc64FnlkxeA5E9YY+15z79BfRreYxOydpPgm9MAfQF5YsVhfTD3pNgvWvwsV3N/hNsSMjn0cX7uDirhE8dpUMgnqMshLYOA+6jnVsrXHLdvDzd+HtK0xL7oYPXPoL3GDbPob/zDGtxLikc4mnY5JJhN7qTB58+HMz2H37MseuzaQUDLkVul5munKWPmjubxEKcUNMI7DiNWzp3sluzSehV84SrSehA4z5nSl12jAPxjxk9yXMIGiybRB0kAyCepLdX0HBcdOidrS4ITD+SfjuD6aqYtidjr+GI+xfbv7oxA83JXkZm2Dlc4DGlGb2OTcwHD/MjDd58h+nCqVFMP8mU3Z6y0LTdeoMYZ3gF4vg4CoIiTLX8bAKmOaT0CtK0urrcgGITYSeV5kSxuG/sqvlUlpu5Z6PtpBrGwSNaN3IvjvheFqbn2VkD1PN4gwXz4FDa8zH8vjh5j3kSY5tg09/YboEbvz03Hu66DQcTbZVX2w0RQGb3zGPtYo4l9zjhkGHQdCi8ZuQOIW1HBbeBUfWws/fMRUqzuTnBxdd5txrNEHzSegNaaGD+Rj1xmWw6Q0zk7Qezy7dw4aDefztBhkE9TiH15q68UkvOa/f2M/PTB1/bRQsmAV3rTLljZ6gYlGqVuG2vuUqDZTgNnDROPMFpkIje+/59fmptjmFfgEQk2hmWw6Y6f4/WlrDssdg93/gZ8+aksNmrvn0CVQk9BA7E3rHwWa9jrX/hmJLnYd+uSWDd348xKxRnblusAyCepz1r0DLcEic4dzrhESY6eV5B0w5oyeo6FsuL4Gbv4A2sXUf7+cH0X1Mn/E1r8C9m+GhAzDzU1M73SLErHv0+qXw/lTYt9wkVndY+y/Y8BqMuMeUoYrmlNCzzSBGQz4yjn4YzuZB8lu1HlKxHO6IruE8dpWT+u5E4+X+BHv/C0m3uaa7oPMlMOYRSJlvBiDdqfQsfDzdVH/MnN/4qewhEdBzIlz+JNy6BH6711R6ZKfCR9fDKxfD1g/NsrSusmOBGbPoey1c8YzrruvhmlFCz7S/u6VC/FDzUfTHf5oV26rJtc0EjQhpwcs3DnbY7vXCgTa8broKXDlQOfpBM6nlv7+F7DTXXbcqazl8cYdtUao3oNPFjjt3yzC45H74dYrpZlJ+pvrj7/1h9QvmU4EzHVwNC2dDp1Hm+r5WftkEzeeVsGQ1PKGDqXg5k3NuoMimrNzKnI+3kmMp5vVbkmQQ1BOdPWlajv1/7pLNSyr5+cN1b0BgK/j8VtNSdiWt4WtbpdbE58xkOWcIaAEDZ8L//WiqS6L7wvd/hJf6wtKHTNeTI5ScgUM/wpq/wSczzaeOiG5m4pCP7TjUVM1nULQwq3HlTAkjoMsYswFG0m0QaDak+PPXe1l3IJe/3TCA/nEyCOqRNr8HpYWOm0jUEG1i4drXTZfEssfMgKyr/Ph3M5g/8l4YMdv511Pq3MBq5i6zdEbyO2ZdpN6TTRzxw+w/X37GuSnz6RvhRApYbUvaRnQzg59jH/OOSVwu1nwSuiXTTCppjDG/g3evMglixGwWbs3grR8OcutIGQT1WOWlZiJR50vdV43R/XKzxsuP/zBTyPte6/xrpnwGy+eaheYuf9r516suuq8ZTB33B/P6J78FexaZ8seL50Cvq8+v3S4rgRM7bAnclsQLjpnHAlpCxyFmMDZ+OMQNNf35olbNI6GXFpm1FeytcKmu8yjodAn8+HfS4q7nkS92MLxLOI9f7YZB0LJiOLjGaYv72KVVhGlxefKkk93/gdNH4eq/uTeOcX8wZZOL7oPYgWaHLGc5sBK+utu2KNWr7u1bbhNrBlEv/S1s+8i02j+7BcK6QNIsOJNrkvexrVBWZJ7TNsH09VfUvkf3A/9A9/0fvFDzSOiVk4oamdABxjwM709h37JXgaG8fJMbBkHPnjJ9iEfWuva6Nbn8KbjkN+6OomYVE4kiupnSU3fyD4Tr3zJlfgtug9uWOWfvyhM7YP7NZhno6R82flEqRwtqbSbnDb0D9iw2pYbfPQF+gdBhoFngLH6Y+WrTwd3Rer3mkdArt55rwn6hXUZD/AiGZrzLpV3HEenqQdDTx0w9cU6amb4eO8C116/qx7/D8iehTUdInOa+OGpzZL1p+V39omdUQIR1Mqv0fXaLWaP7Zw7eofHUEfPeCG5jFpJy83oiNfLzh77XmAHaU4ehdYwMaDpBM0noFbNEm7CzjFJkDr6P6PQbmRWyDnDyFOOqstPgw+tMC/3mBY0fC3CUa183df1f/Z95Td0dT3XrXzYDZgNmujuSc/pMgaF3mk8OXUZDj5855rzOXJTKGZSCsM7ujsJneUDzxQUKHdBCB5ad7cMWazeGZ7xjdhB3hfRNZiW/smKY9V/PSJ4BQaZkLKKbWXv6xE53R3RO3kGzy8yQWU5dd7pRrngGYvqbGupVz5uNGIoLGn++qotSzfzYeYtSCa/RPBJ6RZdLSNP2flyVlsNbLW/DvzjfzI7b8oFzpz2nLYP3JkNwO7j9W/d2s1TXsp35tNCiNXz0c9f9gatP5USiu9wdyYUCg81Su+0SYMWz8ME18FwCvHoJLHnAbJuWd8C+95TVem5Rqmtfc/6iVMIrNJMulyyTFJswUFRUWs7an3KZljQGNfpqs6b0ojmmJGvyP+tfI6Ohtn5oKiNi+pt+UU/ciLhtnEnqb080Sf22b9xbG1yUD1s/MHXKjv55OEpkN/jVKhNrRrJtn8kNsOPzc0tMhESdK9OLH24GD23zH4DzF6W64k+mRFEImk1Cz2xyd8umQ3mcLS1nbM8oCIs26yJvnGdqfl8ZAVf91Wxt1tRSPq3Nvpf/e9osqD/9AwgKbdo5nSm6r+l++fB68/H/5i/dN9i15X0osbhnIlFDBbeFbuPNF5ip+tl7z02mSd9gZnqCqQiJTTxXzpezHza8av6fI+e47/8gPE4zSeiNnPZfxarUbFr4+zGiq21ig5+fmYXX7XIzOPjlnabFNOnvjW9NW63wzSOw8XXzx2HqK84pcXO0LqNN3fMXt8PCX5l1qV1dXVJeZrpbOl1iWrTexs/f/HGM7mvqtMHsslXRgk/faGZfrn/FPNbnGtM6F6KK5pHQC7PM4vxNsDItm+Fdw2nVotpLFtnNdDWs+zd8/wy8MtxMZul7TcMuUFZskuGuhWZG3YQ/ekbJnb36/9yUVn73B/i2A0z8s2uvv2cR5KfDlc+79rrOFBIJPa80X2Bmv57YYSZMdb/Cu94fwiWaxzvCktWkLpeMk2fYn2VhTI9aWt5+/maK96/WmAGvz38JC263f9W5onzTZbFroamE+NmfvPOXdeS9MHy2aUWu/bfrrlsxkSi8K/SY6Lrrupp/oFmnv/dkz5k4JDyKF2aNBiopNP2qTahwWZVmZpqO7VnPOdr3gtu/g8t+b/awfGUEpH5T93MKTsA7V8ORdXDtPJMUvZVSZueY3lPg28fNdmaukL4Rjm42fcre+IdQCAfx/Xe/A2aJrkrNpmO7llwUZceWYv6BZmPpO1eYPyKfTDfraxTlX3hs7k/w1gRTqnbjpzBgeqNj9BgVS8cmjDT11gfXOP+a6182VUwDb3T+tYTwYJLQ61FSZuXH/TmM6RmFakgFS2yiSeqXPmjqi1+5GPb/79zjRzebZF5SCLcudt7mxe4QGGwqX8K6mMqXzN3Ou9bJQ2aNkCG3et5EIiFcrBkk9KZN+08+nEdhSTlja+s/r0tACxj/B9MN0yLETN9f/BvYvQjenWwm5dz+nVki1Ne0Cjd7WAa2NDXq+Uedc50N88yOOZ44kUgIF/P9hN7Eaf+r0rIJ9FeM7BbZ+BjihsCvVpvqlc3vmkWaIrqaZB5xUePP6+naxZuJR0Wnza7zNXU7NUXRaVN73vdaz1/DRAgXsCuhK6UmKqVSlVL7lVKP1PB4glJqhVJqq1IqRSl1leNDbSRLFqCgVeMS8qrUbJI6hdM6qIkVnoEtTfXKbd+YBftvXQqhTZvs5BVi+pvJUTmppvvFkRsJb/0ASgq8YyKREJFa7doAABrhSURBVC5Qb0JXSvkDLwNXAn2AmUqpPtUO+z3wmdZ6EDADeMXRgTaaJdNsyODf8IR8Ir+IvScKGFNfdUtDJIyAK/5oljptLi66zEySOrTGDBBbrU0/Z3kZrH/NDL52HNz08wnhA+xpoQ8D9mutD2itS4D5QPVdZzVQkaHaAsccF2ITWbKb0N1iumvqLVcU9RswHcY/CTsXwLe/N4PBTbF3CeQfgYvvcUx8QvgAe5qtHYGqS+llAMOrHTMX+FYpdS8QAnhOyYYls9HT/lelZRPTJpie0R68loo3ueR+M5t0/cuw4TWI6WdbhMq2Y027BPvXwln3sllXu2IWpRDCYVP/ZwLvaq1fVEpdDHyglOqntT7vs7VS6i7gLoCEhAQHXboelqxGDTyWlVtZsy+Hq/rFNqxcUdROKTM1v+dEs6tQ+gbY+pFZ5AzMLjbxthUG44eb5YJrmhGZvgkyNppzVd1wWIhmzp6EfhSIr3I7znZfVbcDEwG01uuUUsFAJJBV9SCt9TxgHkBSUpITFxKvvKCpcmlEC33LkVMUFJVJd4uj+fmZmvuKuvvyMsjadf4qg3sWm8f8W5iNleOHnVtpMDTGtPCD2sLAm9z3/xDCA9mT0DcB3ZVSXTCJfAZQfUreEWA88K5SqjcQDGQ7MtBGKT5tdhRvRB/6qrQs/P2aWK4o6ucfYFrisQNg2J3mvoJM0wKvWGVw4zyzVguYbpn8o6bvPMiOmbtCNCP1JnStdZlSag6wDPAH3tZa71JKPQ0ka60XAb8F3lBK3Y8ZIL1Va2du5WOnyp2KGt5CX5mazZCEMNq2DHRwUKJeodFmAarek83tsmI4nmJL8BvMkgoj/s+9MQrhgezqQ9daLwWWVrvviSrf7wZGOTY0B6ic9t+whJ5VUMSuY6d56Gc9nRCUaLCAIFvf+lBANnQQoja+PVO0ctp/w7pcVqflANS+XK4QQnggH0/ojWuhr0zNIio0iL4dmtHkHyGE1/PthF6YBcofWobb/ZRyq2bNvhxGd2/g6opCCOFmvp3QKyYVNWDTg23pp8g/WyrlikIIr+PjCT2rwTsVrUrLxk/Bpd2lXFEI4V18P6E3cEB0VWoWA+Pb0a5VCycFJYQQziEJvYpcSzEpR/MZ27Nxa78IIYQ7+W5Ct1pt0/7t73JZsy8HraVcUQjhnXw3oRedAmtZg1roK1OzCA9pQf+ObZ0YmBBCOIfvJvTKSUX2dZ9YrZrV+3IY3T0SPz8pVxRCeB/fT+h2ruOy42g+eYUl0n8uhPBaPpzQbYs92tnlsiotGyXlikIIL+bDCb2iy8W+Ac6VqVkkdmxLROsaNlQQQggv4LsJvTDLbJAQ3K7eQ0+dKWFb+inGSHeLEMKL+W5Cr6hBt2M9ljX7crBKuaIQwsv5cELPtHva/8rUbNq2DGRgfP2teSGE8FQ+nNCz7RoQtVo1q9KyubR7JP5SriiE8GI+nNAz7apB3338NDmWYilXFEJ4Pd9M6NZyOJNjV0JflWbKG0f3kHJFIYR3882EfiYXtNWuLpdVqdn07dCG9qHBLghMCCGcxzcTup3T/vPPlrL5yEnZzEII4RN8O6HXM+1/7f4cyq2aMT2k/1wI4f18NKFXTPuvO1GvTM0mNDiAwQlSriiE8H4+mtArulxq70PX2pQrXtItkgB/33wZhBDNi29mMksWBLaCoNa1HpKaWcCJ00XSfy6E8Bm+mdALs+rtblmVarplpP9cCOErfDOhWzLrLVlcmZpNr5hQYtpKuaIQwjf4aELPqnMdF0txGcmH8xgj3S1CCB/iuwm9jhb62v05lJZrWV1RCOFTfC+hl5XA2bw6E/rKtGxCWviT1CnchYEJIYRz2ZXQlVITlVKpSqn9SqlHanj8JaXUNttXmlLqlONDtVNhRQ16za1vrTWrUrMZ1S2SFgG+9/dMCNF8BdR3gFLKH3gZmABkAJuUUou01rsrjtFa31/l+HuBQU6I1T6FWebfWlroP2VbOHrqLHdfdpELgxJCCOezp4k6DNivtT6gtS4B5gNT6zh+JvCJI4JrFEvdCX3h1qOA7E4khPA99iT0jkB6ldsZtvsuoJTqBHQBvm96aI1UuY7LhQk7Pe8Mb6w5yJQBHYgLa+XiwIQQwrkc3Yk8A1igtS6v6UGl1F1KqWSlVHJ2draDL21T2UK/cMLQn/67B3+lePSqXs65thBCuJE9Cf0oEF/ldpztvprMoI7uFq31PK11ktY6KSrKSV0eliwIaguBLc+7+4d9OXyz6wRzxnUjtm3LWp4shBDey56EvgnorpTqopRqgUnai6ofpJTqBYQB6xwbYgNZMi+ocCktt/LU4l0khLfi9ku6uCkwIYRwrnoTuta6DJgDLAP2AJ9prXcppZ5WSk2pcugMYL7WWjsnVDsVXrg59AfrDrMvy8IfJvUhONDfTYEJIYRz1Vu2CKC1XgosrXbfE9Vuz3VcWE1gyYSY/pU3cyzFvLQ8jdE9ori8tyzEJYTwXb43s8aSdd5ORS8sS+VsSTlPTOqDUsqNgQkhhHP5VkIvPQvFpysrXFIyTvFpcjqzRnWmW/va10YXQghf4FsJvUrJotWqmbtoFxEhQdw3vrt74xJCCBfw0YQezVfbjrLlyCl+N7EnocGB7o1LCCFcwLcSum0dlzMtIvjz13sZEN+O6wfHuTkoIYRwDbuqXLyGbdr/29sKyS4o5o1fJOHnJwOhQojmwbda6LYul1c25TNtSBwD49u5OSAhhHAdn0voBX5t8A8I4uGJsl6LEKJ58akul6wTRzhVFsqvJ3QnKjTI3eEIIYRL+UxCLy4rJ/NYOqWBEfzi4s7uDkcIIVzOZ7pc3v7hEG3K8oiL6yxbywkhmiWfyHyZp4v41/f7iPE/TfvY+PqfIIQQPsgnEvpzX++lhfUsQbqoxo0thBCiOfD6hJ58KI+FW48yJynU3FHLXqJCCOHrvDqhl1s1cxfvIqZNMDf3DzZ3tpbNn4UQzZNXJ/TPktPZefQ0j13dm+DiXHOntNCFEM2U1yb0/DOl/HVZKsM6hzM5Mfa8hbmEEKI58tqE/tLyNE6dKeHJKbaNKyyZoPygVYS7QxNCCLfwyoS+98RpPlh/mBuHJ9C3Q1tzpyULWkWCn+wZKoRonrwuoWuteWrRbloHBfDbCT3PPWDJku4WIUSz5nUJ/eudJ1h3IJcHr+hBWEiLcw9YMqXCRQjRrHldQg8O9GNcr/bMHJZw/gOF2dJCF0I0a163ONe4XtGM61UtcWtta6HLLFEhRPPldS30GhWdgvISCJGELoRovnwjoVuyzb/S5SKEaMZ8JKGbvUSly0UI0ZxJQhdCCB/hGwm9ULpchBDCNxK6JRP8AiG4nbsjEUIIt/GRhJ4FIVHg5xv/HSGEaAzfyICWLOk/F0I0e3YldKXURKVUqlJqv1LqkVqOuUEptVsptUsp9bFjw6yHTCoSQoj6Z4oqpfyBl4EJQAawSSm1SGu9u8ox3YFHgVFa65NKKddmV0sWxCa69JJCCOFp7GmhDwP2a60PaK1LgPnA1GrH3Am8rLU+CaC1znJsmHWwWmUdFyGEwL6E3hFIr3I7w3ZfVT2AHkqpH5VS65VSEx0VYL3O5oEul2n/Qohmz1GLcwUA3YGxQBywWinVX2t9qupBSqm7gLsAEhISqp+jcWRSkRBCAPa10I8C8VVux9nuqyoDWKS1LtVaHwTSMAn+PFrreVrrJK11UlSUg9Yul71EhRACsC+hbwK6K6W6KKVaADOARdWO+QrTOkcpFYnpgjngwDhrV5nQpYUuhGje6k3oWusyYA6wDNgDfKa13qWUelopNcV22DIgVym1G1gBPKS1znVW0OeRLhchhADs7EPXWi8Flla774kq32vgAduXaxVmQUAwBLVx+aWFEMKTeP9MUUuWqXBRyt2RCCGEW/lAQpdZokIIAT6R0GVSkRBCgE8k9Exo7aASSCGE8GLendDLy+BMrrTQhRACb0/oZ3IALX3oQgiBtyf0ihp0WcdFCCG8PaHLXqJCCFHByxO6zBIVQogKktCFEMJHeHdCL8yGFq2hRYi7IxFCCLfz7oQus0SFEKKSlyf0LKlwEUIIG0ftWOQeliyI6unuKITwCaWlpWRkZFBUVOTuUAQQHBxMXFwcgYGBdj/HyxN6JnQZ7e4ohPAJGRkZhIaG0rlzZ5SsXupWWmtyc3PJyMigS5cudj/Pe7tcyoqh6JT0oQvhIEVFRUREREgy9wBKKSIiIhr8acl7E3phxaQiSehCOIokc8/RmJ+F9yb0yhp0mSUqhBDg1Qndtjm0VLkIIRqorKzM3SE4hfcndOlyEcKnXHPNNQwZMoS+ffsyb948AL755hsGDx7MgAEDGD9+PAAWi4VZs2bRv39/EhMT+eKLLwBo3bp15bkWLFjArbfeCsCtt97K7NmzGT58OA8//DAbN27k4osvZtCgQYwcOZLU1FQAysvLefDBB+nXrx+JiYn861//4vvvv+eaa66pPO93333Htdde64qXo0G8t8qlsoUum1sI4WhPLd7F7mOnHXrOPh3a8OTkvvUe9/bbbxMeHs7Zs2cZOnQoU6dO5c4772T16tV06dKFvLw8AP74xz/Stm1bduzYAcDJkyfrPXdGRgZr167F39+f06dPs2bNGgICAli+fDmPPfYYX3zxBfPmzePQoUNs27aNgIAA8vLyCAsL4+677yY7O5uoqCjeeecdbrvttqa9IE7gxQk9E4LbQmCwuyMRQjjQP//5TxYuXAhAeno68+bNY/To0ZXle+Hh4QAsX76c+fPnVz4vLCys3nNPmzYNf39/APLz8/nlL3/Jvn37UEpRWlpaed7Zs2cTEBBw3vVuueUWPvzwQ2bNmsW6det4//33HfQ/dhzvTeiFWTIgKoST2NOSdoaVK1eyfPly1q1bR6tWrRg7diwDBw5k7969dp+janVI9bK/kJBz6z794Q9/4LLLLmPhwoUcOnSIsWPH1nneWbNmMXnyZIKDg5k2bVplwvck3t2HLgOiQviU/Px8wsLCaNWqFXv37mX9+vUUFRWxevVqDh48CFDZ5TJhwgRefvnlyudWdLlER0ezZ88erFZrZUu/tmt17NgRgHfffbfy/gkTJvD6669XDpxWXK9Dhw506NCBZ555hlmzZjnuP+1AXpzQZWEuIXzNxIkTKSsro3fv3jzyyCOMGDGCqKgo5s2bx3XXXceAAQOYPn06AL///e85efIk/fr1Y8CAAaxYsQKA5557jkmTJjFy5EhiY2NrvdbDDz/Mo48+yqBBg86rernjjjtISEggMTGRAQMG8PHHH1c+dtNNNxEfH0/v3r2d9Ao0jdJau+XCSUlJOjk5ufEneDYOBt0MVz7nuKCEaMb27NnjsYnKU8yZM4dBgwZx++23u+R6Nf1MlFKbtdZJNR3veZ1A9igphJICaC0VLkII1xgyZAghISG8+OKL7g6lVt6Z0Ctr0GVQVAjhGps3b3Z3CPXyzj70QtkcWgghqvPOhF6xjotMKhJCiErendClhS6EEJXsSuhKqYlKqVSl1H6l1CM1PH6rUipbKbXN9nWH40OtwpINKAiJdOplhBDCm9Q7KKqU8gdeBiYAGcAmpdQirfXuaod+qrWe44QYL2TJhFbh4G//1kxCCOHr7GmhDwP2a60PaK1LgPnAVOeGVQ+LTPsXormruqqiMOxJ6B2B9Cq3M2z3VXe9UipFKbVAKRXvkOhqU5gls0SFEB7Bk9ZWd1Qd+mLgE611sVLqV8B7wLjqByml7gLuAkhISGj81SyZED+i8c8XQtTt60fgxA7HnjOmf50zux955BHi4+O55557AJg7dy4BAQGsWLGCkydPUlpayjPPPMPUqfV3EFgsFqZOnVrj895//31eeOEFlFIkJibywQcfkJmZyezZszlw4AAAr776Kh06dGDSpEns3LkTgBdeeAGLxcLcuXMrFw374YcfmDlzJj169OCZZ56hpKSEiIgIPvroI6Kjo7FYLNx7770kJyejlOLJJ58kPz+flJQU/v73vwPwxhtvsHv3bl566aUmvbxgX0I/ClRtccfZ7quktc6tcvNN4PmaTqS1ngfMAzP1v0GRnjuJrctFWuhC+JLp06fzm9/8pjKhf/bZZyxbtoz77ruPNm3akJOTw4gRI5gyZUq9+20GBwezcOHCC563e/dunnnmGdauXUtkZGTlwlv33XcfY8aMYeHChZSXl2OxWOpdX72kpISK5UtOnjzJ+vXrUUrx5ptv8vzzz/Piiy/WuGZ7YGAgf/rTn/jrX/9KYGAg77zzDq+//npTXz7AvoS+CeiulOqCSeQzgBurHqCUitVaH7fdnALscUh0NSkugLIi6UMXwpncsEbSoEGDyMrK4tixY2RnZxMWFkZMTAz3338/q1evxs/Pj6NHj5KZmUlMTEyd59Ja89hjj13wvO+//55p06YRGWkq5CrWOv/+++8r1zf39/enbdu29Sb0ikXCwGycMX36dI4fP05JSUnl2u21rdk+btw4lixZQu/evSktLaV///4NfLVqVm9C11qXKaXmAMsAf+BtrfUupdTTQLLWehFwn1JqClAG5AG3OiS6msjWc0L4rGnTprFgwQJOnDjB9OnT+eijj8jOzmbz5s0EBgbSuXPnC9Y4r0ljn1dVQEAAVqu18nZda6vfe++9PPDAA0yZMoWVK1cyd+7cOs99xx138Oyzz9KrVy+HLsVrVx261nqp1rqH1voirfWfbPc9YUvmaK0f1Vr31VoP0FpfprW2fzX6hiqUhC6Er5o+fTrz589nwYIFTJs2jfz8fNq3b09gYCArVqzg8OHDdp2ntueNGzeOzz//nNxc00tc0eUyfvx4Xn31VcDsKZqfn090dDRZWVnk5uZSXFzMkiVL6rxexdrq7733XuX9ta3ZPnz4cNLT0/n444+ZOXOmvS9PvbxvpqjMEhXCZ/Xt25eCggI6duxIbGwsN910E8nJyfTv35/333+fXr162XWe2p7Xt29fHn/8ccaMGcOAAQN44IEHAPjHP/7BihUr6N+/P0OGDGH37t0EBgbyxBNPMGzYMCZMmFDntefOncu0adMYMmRIZXcO1L5mO8ANN9zAqFGj7No6z17etx76htfh64fhwf2yfK4QDiTrobvWpEmTuP/++xk/fnytxzR0PXTva6G3jYNek8xMUSGE8DKnTp2iR48etGzZss5k3hjetx56r6vNlxCi2duxYwe33HLLefcFBQWxYcMGN0VUv3bt2pGWluaUc3tfQhdCCJv+/fuzbds2d4fhMbyvy0UI4TTuGlMTF2rMz0ISuhACMLMrc3NzJal7AK01ubm5BAcHN+h50uUihAAgLi6OjIwMsrOz3R2KwPyBjYuLa9BzJKELIQAIDAysnLIuvJN0uQghhI+QhC6EED5CEroQQvgIt039V0plA/attHOhSCDHgeE4msTXNBJf03l6jBJf43XSWte47onbEnpTKKWSa1vLwBNIfE0j8TWdp8co8TmHdLkIIYSPkIQuhBA+wlsT+jx3B1APia9pJL6m8/QYJT4n8Mo+dCGEEBfy1ha6EEKIajw6oSulJiqlUpVS+5VSj9TweJBS6lPb4xuUUp1dGFu8UmqFUmq3UmqXUurXNRwzVimVr5TaZvt6wlXx2a5/SCm1w3btC7aHUsY/ba9filJqsAtj61nlddmmlDqtlPpNtWNc/voppd5WSmUppXZWuS9cKfWdUmqf7d8a9wxTSv3Sdsw+pdQvXRTbX5VSe20/v4VKqXa1PLfO94KTY5yrlDpa5ed4VS3PrfP33YnxfVoltkNKqRrX43XVa9gkWmuP/AL8gZ+ArkALYDvQp9oxdwOv2b6fAXzqwvhigcG270OBtBriGwssceNreAiIrOPxq4CvAQWMADa48Wd9AlNf69bXDxgNDAZ2VrnveeAR2/ePAH+p4XnhwAHbv2G278NcENsVQIDt+7/UFJs97wUnxzgXeNCO90Cdv+/Oiq/a4y8CT7jzNWzKlye30IcB+7XWB7TWJcB8YGq1Y6YCFVtsLwDGK6WUK4LTWh/XWm+xfV8A7AE6uuLaDjQVeF8b64F2SqlYN8QxHvhJa93YiWYOo7VeDeRVu7vq++w94Joanvoz4DutdZ7W+iTwHTDR2bFprb/VWpfZbq4HGrY8n4PV8vrZw57f9yarKz5b7rgB+MTR13UVT07oHYH0KrczuDBhVh5je1PnAxEuia4KW1fPIKCmfa8uVkptV0p9rZTq69LAQAPfKqU2K6XuquFxe15jV5hB7b9E7nz9KkRrrY/bvj8BRNdwjCe8lrdhPnHVpL73grPNsXULvV1Ll5UnvH6XApla6321PO7u17BenpzQvYJSqjXwBfAbrfXpag9vwXQjDAD+BXzl4vAu0VoPBq4E7lFKjXbx9eullGoBTAE+r+Fhd79+F9Dms7fHlYYppR4HyoCPajnEne+FV4GLgIHAcUy3hieaSd2tc4//ffLkhH4UiK9yO852X43HKKUCgLZArkuiM9cMxCTzj7TWX1Z/XGt9WmttsX2/FAhUSkW6Kj6t9VHbv1nAQszH2qrseY2d7Upgi9Y6s/oD7n79qsis6Iqy/ZtVwzFuey2VUrcCk4CbbH9wLmDHe8FptNaZWutyrbUVeKOWa7v1vWjLH9cBn9Z2jDtfQ3t5ckLfBHRXSnWxteJmAIuqHbMIqKgm+DnwfW1vaEez9be9BezRWv+tlmNiKvr0lVLDMK+3S/7gKKVClFKhFd9jBs92VjtsEfALW7XLCCC/SteCq9TaKnLn61dN1ffZL4H/1HDMMuAKpVSYrUvhCtt9TqWUmgg8DEzRWp+p5Rh73gvOjLHquMy1tVzbnt93Z7oc2Ku1zqjpQXe/hnZz96hsXV+YKow0zOj347b7nsa8eQGCMR/V9wMbga4ujO0SzEfvFGCb7esqYDYw23bMHGAXZsR+PTDShfF1tV13uy2GitevanwKeNn2+u4Aklz88w3BJOi2Ve5z6+uH+eNyHCjF9OPejhmX+R+wD1gOhNuOTQLerPLc22zvxf3ALBfFth/T91zxHqyo+uoALK3rveDC1+8D2/srBZOkY6vHaLt9we+7K+Kz3f9uxfuuyrFueQ2b8iUzRYUQwkd4cpeLEEKIBpCELoQQPkISuhBC+AhJ6EII4SMkoQshhI+QhC6EED5CEroQQvgISehCCOEj/h9Z7oycwFM2lQAAAABJRU5ErkJggg==\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "0B7hvcxB3cyf" | |
| }, | |
| "source": [ | |
| "" | |
| ], | |
| "execution_count": 41, | |
| "outputs": [] | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment