--- a +++ b/Colab Notebooks/Deeptek-Task Binary Classification-InceptionV3.ipynb @@ -0,0 +1 @@ +{"cells":[{"cell_type":"code","execution_count":1,"metadata":{"id":"poHYeV3mMjlX","executionInfo":{"status":"ok","timestamp":1664607841814,"user_tz":-330,"elapsed":4621,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}}},"outputs":[],"source":["import warnings\n","warnings.filterwarnings('ignore')\n","import os,sys\n","import pandas as pd\n","import numpy as np\n","import matplotlib.pyplot as plt\n","import seaborn as sns\n","from sklearn.model_selection import train_test_split\n","# import pydicom\n","# from pydicom import dcmread\n","from PIL import Image\n","import cv2\n","import tensorflow.keras.backend as K\n","from sklearn.metrics import classification_report,confusion_matrix\n","from tqdm.notebook import tqdm\n","# from fast_ml.model_development import train_valid_test_split"]},{"cell_type":"code","execution_count":2,"metadata":{"id":"ZMBvYPXhRRGZ","executionInfo":{"status":"ok","timestamp":1664607841829,"user_tz":-330,"elapsed":84,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}}},"outputs":[],"source":["Merged = pd.read_csv('/content/drive/MyDrive/Data/Merged.csv')"]},{"cell_type":"code","execution_count":3,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":391},"executionInfo":{"elapsed":83,"status":"ok","timestamp":1664607841830,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"LK3T9HxO-TUc","outputId":"f12ba863-0b3d-4672-9b1c-0943b63ae01f"},"outputs":[{"output_type":"execute_result","data":{"text/plain":["<matplotlib.axes._subplots.AxesSubplot at 0x7fe8d7797bd0>"]},"metadata":{},"execution_count":3},{"output_type":"display_data","data":{"text/plain":["<Figure size 504x432 with 1 Axes>"],"image/png":"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\n"},"metadata":{"needs_background":"light"}}],"source":["Merged['class'].value_counts().plot(kind='bar', figsize=(7, 6), rot=0)"]},{"cell_type":"code","execution_count":4,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":493},"executionInfo":{"elapsed":73,"status":"ok","timestamp":1664607841831,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"Ca7T3RBtgRSb","outputId":"c0b707fc-04eb-436a-d801-cdcc3e9f55af"},"outputs":[{"output_type":"execute_result","data":{"text/plain":[" index patientId class \\\n","0 0 0004cfab-14fd-4e49-80ba-63a80b6bddd6 No Lung Opacity / Not Normal \n","1 1 00313ee0-9eaa-42f4-b0ab-c148ed3241cd No Lung Opacity / Not Normal \n","2 2 00322d4d-1c29-4943-afc9-b6754be640eb No Lung Opacity / Not Normal \n","3 3 003d8fa0-6bf1-40ed-b54c-ac657f8495c5 Normal \n","4 4 00436515-870c-4b36-a041-de91049b9ab4 Lung Opacity \n","\n"," x y width height Target \\\n","0 0.0 0.0 0.0 0.0 0 \n","1 0.0 0.0 0.0 0.0 0 \n","2 0.0 0.0 0.0 0.0 0 \n","3 0.0 0.0 0.0 0.0 0 \n","4 264.0 152.0 213.0 379.0 1 \n","\n"," path MASK \n","0 /content/drive/MyDrive/Colab Notebooks/convert... 0.0 0.0 0.0 0.0 \n","1 /content/drive/MyDrive/Colab Notebooks/convert... 0.0 0.0 0.0 0.0 \n","2 /content/drive/MyDrive/Colab Notebooks/convert... 0.0 0.0 0.0 0.0 \n","3 /content/drive/MyDrive/Colab Notebooks/convert... 0.0 0.0 0.0 0.0 \n","4 /content/drive/MyDrive/Colab Notebooks/convert... 264.0 152.0 213.0 379.0 "],"text/html":["\n"," <div id=\"df-7ce47e90-0a1b-4cf7-8660-7a8b78b480ab\">\n"," <div class=\"colab-df-container\">\n"," <div>\n","<style scoped>\n"," .dataframe tbody tr th:only-of-type {\n"," vertical-align: middle;\n"," }\n","\n"," .dataframe tbody tr th {\n"," vertical-align: top;\n"," }\n","\n"," .dataframe thead th {\n"," text-align: right;\n"," }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n"," <thead>\n"," <tr style=\"text-align: right;\">\n"," <th></th>\n"," <th>index</th>\n"," <th>patientId</th>\n"," <th>class</th>\n"," <th>x</th>\n"," <th>y</th>\n"," <th>width</th>\n"," <th>height</th>\n"," <th>Target</th>\n"," <th>path</th>\n"," <th>MASK</th>\n"," </tr>\n"," </thead>\n"," <tbody>\n"," <tr>\n"," <th>0</th>\n"," <td>0</td>\n"," <td>0004cfab-14fd-4e49-80ba-63a80b6bddd6</td>\n"," <td>No Lung Opacity / Not Normal</td>\n"," <td>0.0</td>\n"," <td>0.0</td>\n"," <td>0.0</td>\n"," <td>0.0</td>\n"," <td>0</td>\n"," <td>/content/drive/MyDrive/Colab Notebooks/convert...</td>\n"," <td>0.0 0.0 0.0 0.0</td>\n"," </tr>\n"," <tr>\n"," <th>1</th>\n"," <td>1</td>\n"," <td>00313ee0-9eaa-42f4-b0ab-c148ed3241cd</td>\n"," <td>No Lung Opacity / Not Normal</td>\n"," <td>0.0</td>\n"," <td>0.0</td>\n"," <td>0.0</td>\n"," <td>0.0</td>\n"," <td>0</td>\n"," <td>/content/drive/MyDrive/Colab Notebooks/convert...</td>\n"," <td>0.0 0.0 0.0 0.0</td>\n"," </tr>\n"," <tr>\n"," <th>2</th>\n"," <td>2</td>\n"," <td>00322d4d-1c29-4943-afc9-b6754be640eb</td>\n"," <td>No Lung Opacity / Not Normal</td>\n"," <td>0.0</td>\n"," <td>0.0</td>\n"," <td>0.0</td>\n"," <td>0.0</td>\n"," <td>0</td>\n"," <td>/content/drive/MyDrive/Colab Notebooks/convert...</td>\n"," <td>0.0 0.0 0.0 0.0</td>\n"," </tr>\n"," <tr>\n"," <th>3</th>\n"," <td>3</td>\n"," <td>003d8fa0-6bf1-40ed-b54c-ac657f8495c5</td>\n"," <td>Normal</td>\n"," <td>0.0</td>\n"," <td>0.0</td>\n"," <td>0.0</td>\n"," <td>0.0</td>\n"," <td>0</td>\n"," <td>/content/drive/MyDrive/Colab Notebooks/convert...</td>\n"," <td>0.0 0.0 0.0 0.0</td>\n"," </tr>\n"," <tr>\n"," <th>4</th>\n"," <td>4</td>\n"," <td>00436515-870c-4b36-a041-de91049b9ab4</td>\n"," <td>Lung Opacity</td>\n"," <td>264.0</td>\n"," <td>152.0</td>\n"," <td>213.0</td>\n"," <td>379.0</td>\n"," <td>1</td>\n"," <td>/content/drive/MyDrive/Colab Notebooks/convert...</td>\n"," <td>264.0 152.0 213.0 379.0</td>\n"," </tr>\n"," </tbody>\n","</table>\n","</div>\n"," <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-7ce47e90-0a1b-4cf7-8660-7a8b78b480ab')\"\n"," title=\"Convert this dataframe to an interactive table.\"\n"," style=\"display:none;\">\n"," \n"," <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n"," width=\"24px\">\n"," <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n"," <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n"," </svg>\n"," </button>\n"," \n"," <style>\n"," .colab-df-container {\n"," display:flex;\n"," flex-wrap:wrap;\n"," gap: 12px;\n"," }\n","\n"," .colab-df-convert {\n"," background-color: #E8F0FE;\n"," border: none;\n"," border-radius: 50%;\n"," cursor: pointer;\n"," display: none;\n"," fill: #1967D2;\n"," height: 32px;\n"," padding: 0 0 0 0;\n"," width: 32px;\n"," }\n","\n"," .colab-df-convert:hover {\n"," background-color: #E2EBFA;\n"," box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n"," fill: #174EA6;\n"," }\n","\n"," [theme=dark] .colab-df-convert {\n"," background-color: #3B4455;\n"," fill: #D2E3FC;\n"," }\n","\n"," [theme=dark] .colab-df-convert:hover {\n"," background-color: #434B5C;\n"," box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n"," filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n"," fill: #FFFFFF;\n"," }\n"," </style>\n","\n"," <script>\n"," const buttonEl =\n"," document.querySelector('#df-7ce47e90-0a1b-4cf7-8660-7a8b78b480ab button.colab-df-convert');\n"," buttonEl.style.display =\n"," google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n"," async function convertToInteractive(key) {\n"," const element = document.querySelector('#df-7ce47e90-0a1b-4cf7-8660-7a8b78b480ab');\n"," const dataTable =\n"," await google.colab.kernel.invokeFunction('convertToInteractive',\n"," [key], {});\n"," if (!dataTable) return;\n","\n"," const docLinkHtml = 'Like what you see? Visit the ' +\n"," '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n"," + ' to learn more about interactive tables.';\n"," element.innerHTML = '';\n"," dataTable['output_type'] = 'display_data';\n"," await google.colab.output.renderOutput(dataTable, element);\n"," const docLink = document.createElement('div');\n"," docLink.innerHTML = docLinkHtml;\n"," element.appendChild(docLink);\n"," }\n"," </script>\n"," </div>\n"," </div>\n"," "]},"metadata":{},"execution_count":4}],"source":["Merged.head()"]},{"cell_type":"code","execution_count":5,"metadata":{"id":"LH9RS3sDN8P2","executionInfo":{"status":"ok","timestamp":1664607841832,"user_tz":-330,"elapsed":69,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}}},"outputs":[],"source":["def extract_coordinates(mergedindex):\n"," lst=[]\n"," lst=mergedindex.split(' ',4)\n"," lst = [int(float(j)) for j in lst]\n"," return lst"]},{"cell_type":"code","execution_count":6,"metadata":{"id":"ro0Gb14rhXeM","executionInfo":{"status":"ok","timestamp":1664607841833,"user_tz":-330,"elapsed":67,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}}},"outputs":[],"source":["def create_mask(list1):\n"," dim = np.zeros((1024,1024,))\n"," # dim.fill(0)\n"," # dim[list1[0]:list1[2],list1[1]:list1[3]]=1\n"," x,y,w,h = list1\n"," cv2.rectangle(dim,(x,y),(x+w,y+h),(255,0,0),-1)\n"," return dim"]},{"cell_type":"code","execution_count":7,"metadata":{"id":"qNYoVc3rwsW1","executionInfo":{"status":"ok","timestamp":1664607841835,"user_tz":-330,"elapsed":67,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}}},"outputs":[],"source":["from tensorflow.keras.utils import Sequence\n","\n","class DataGenerator(Sequence):\n"," 'Generates data for Keras'\n"," def __init__(self, list_IDs, labels, batch_size=32, IMG_SIZE=None, n_channels=3,\n"," n_classes=2,problem_type = 'segmentation', shuffle=True):\n"," 'Initialization'\n"," self.IMG_SIZE = IMG_SIZE\n"," self.batch_size = batch_size\n"," self.labels = labels\n"," self.list_IDs = list_IDs\n"," self.n_channels = n_channels\n"," self.n_classes = n_classes\n"," self.shuffle = shuffle\n"," self.dim = (IMG_SIZE,IMG_SIZE)\n"," self.on_epoch_end()\n"," self.mapping = {k:v for k,v in zip(self.list_IDs,self.labels) }\n"," self.problem_type=problem_type\n","\n"," def __len__(self):\n"," 'Denotes the number of batches per epoch'\n"," return int(np.floor(len(self.list_IDs) / self.batch_size))\n","\n"," def __getitem__(self, index):\n"," 'Generate one batch of data'\n"," \n"," # Generate indexes of the batch\n"," indexes = self.indexes[index*self.batch_size:(index+1)*self.batch_size]\n"," # print(indexes)\n"," # Find list of IDs\n"," list_IDs_temp = [self.list_IDs[k] for k in indexes]\n"," # Generate data\n"," X, y = self.__data_generation(list_IDs_temp)\n"," return X, y\n","\n"," def on_epoch_end(self):\n"," 'Updates indexes after each epoch'\n"," self.indexes = np.arange(len(self.list_IDs))\n"," if self.shuffle == True:\n"," np.random.shuffle(self.indexes)\n","\n"," def __data_generation(self, list_IDs_temp):\n"," 'Generates data containing batch_size samples' # X : (n_samples, *dim, n_channels)\n"," # Initialization\n"," X = np.empty((self.batch_size, *self.dim, self.n_channels))\n"," y = np.empty((self.batch_size, self.n_classes,), dtype=int)\n"," # y = np.zeros(len(list_IDs_temp),self.n_classes)\n"," \n"," # Generate data\n"," for i, ID in enumerate(list_IDs_temp):\n"," # Store sample\n"," img = cv2.imread('/content/drive/MyDrive/Colab Notebooks/converted_train_images/' + ID + '.dcm.jpg')\n"," # print(cv2.resize(img,(IMG_SIZE,IMG_SIZE)).shape)\n"," img = img.astype('float')/img.max()\n"," # cv2.normalize(img, img, 0, 255, cv2.NORM_MINMAX)\n"," # img = img/img.max()\n"," X[i,] = cv2.resize(img,(IMG_SIZE,IMG_SIZE))\n"," label = np.zeros(2)\n"," if(self.mapping[ID]==0):\n"," label[0] = 1\n"," elif(self.mapping[ID]==1):\n"," label[1] = 1\n"," y[i,] = label\n"," return X,y\n"," def __repr__(self):\n"," print(\"Number of batches: \", str(len(self.list_IDs)/self.batch_size))"]},{"cell_type":"markdown","metadata":{"id":"3T_7flJdcwJy"},"source":["train_gen[batch no][X:0><Y:1][ith image in batch(range of i is 0 to 3]\n","\n"]},{"cell_type":"code","execution_count":8,"metadata":{"id":"n9YjtICJQaM9","executionInfo":{"status":"ok","timestamp":1664607845077,"user_tz":-330,"elapsed":1402,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}}},"outputs":[],"source":["train = pd.read_csv('/content/drive/MyDrive/classification/train.csv')\n","valid = pd.read_csv('/content/drive/MyDrive/classification/valid.csv')\n","test = pd.read_csv('/content/drive/MyDrive/classification/test.csv')"]},{"cell_type":"code","execution_count":9,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":29,"status":"ok","timestamp":1664607845078,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"bmK_HlgOdnJ6","outputId":"b2050392-b551-4230-f909-af9726a5c19e"},"outputs":[{"output_type":"stream","name":"stdout","text":["5289\n"]}],"source":["batch_size=4\n","IMG_SIZE=512\n","Train_gen = DataGenerator(list_IDs = list(train.patientId),\n"," labels = list(train.Target),\n"," batch_size=batch_size,\n"," IMG_SIZE=IMG_SIZE,\n"," shuffle=True)\n","print(len(Train_gen))"]},{"cell_type":"code","execution_count":10,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":24,"status":"ok","timestamp":1664607845080,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"VHAwwwbBdx-m","outputId":"e27bfab7-3f48-4d3b-de71-7309c56d2a56"},"outputs":[{"output_type":"stream","name":"stdout","text":["1133\n"]}],"source":["batch_size=4\n","IMG_SIZE=512\n","Val_gen = DataGenerator(list_IDs = list(valid.patientId),\n"," labels = list(valid.Target),\n"," batch_size=batch_size,\n"," IMG_SIZE=IMG_SIZE,\n"," shuffle=True)\n","print(len(Val_gen))"]},{"cell_type":"code","execution_count":11,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":10,"status":"ok","timestamp":1664607845898,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"tXcwqvkoNO9S","outputId":"e4ddfa3b-b91c-496f-a8cc-f7549ab1a9bd"},"outputs":[{"output_type":"stream","name":"stdout","text":["4534\n"]}],"source":["batch_size=1\n","IMG_SIZE=512\n","Test_gen = DataGenerator(list_IDs = list(test.patientId),\n"," labels = list(test.Target),\n"," batch_size=batch_size,\n"," IMG_SIZE=IMG_SIZE,\n"," shuffle=False)\n","print(len(Test_gen))"]},{"cell_type":"code","execution_count":12,"metadata":{"id":"C1Ci2twRcf1l","executionInfo":{"status":"ok","timestamp":1664607855117,"user_tz":-330,"elapsed":38,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}}},"outputs":[],"source":["import tensorflow as tf\n","from tensorflow.keras.models import Sequential\n","from tensorflow.keras.layers import Dense, GlobalAveragePooling2D,Dropout\n","from tensorflow.keras.callbacks import EarlyStopping,ReduceLROnPlateau,ModelCheckpoint\n","from tensorflow.keras.layers.experimental.preprocessing import Rescaling\n","from tensorflow.keras.losses import binary_crossentropy\n","from tensorflow.keras.applications import DenseNet121\n","from tensorflow.keras.utils import plot_model\n","from tensorflow.keras.callbacks import CSVLogger,ModelCheckpoint, LearningRateScheduler, EarlyStopping, ReduceLROnPlateau\n","import math"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":15830,"status":"ok","timestamp":1664528165994,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"44POQXYOz0LQ","outputId":"b1046bd3-bf44-45ee-b80d-e1edd3dc3f08"},"outputs":[{"output_type":"stream","name":"stdout","text":["Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/inception_v3/inception_v3_weights_tf_dim_ordering_tf_kernels_notop.h5\n","87916544/87910968 [==============================] - 1s 0us/step\n","87924736/87910968 [==============================] - 1s 0us/step\n","Model: \"model\"\n","__________________________________________________________________________________________________\n"," Layer (type) Output Shape Param # Connected to \n","==================================================================================================\n"," input_1 (InputLayer) [(None, 512, 512, 3 0 [] \n"," )] \n"," \n"," conv2d (Conv2D) (None, 255, 255, 32 864 ['input_1[0][0]'] \n"," ) \n"," \n"," batch_normalization (BatchNorm (None, 255, 255, 32 96 ['conv2d[0][0]'] \n"," alization) ) \n"," \n"," activation (Activation) (None, 255, 255, 32 0 ['batch_normalization[0][0]'] \n"," ) \n"," \n"," conv2d_1 (Conv2D) (None, 253, 253, 32 9216 ['activation[0][0]'] \n"," ) \n"," \n"," batch_normalization_1 (BatchNo (None, 253, 253, 32 96 ['conv2d_1[0][0]'] \n"," rmalization) ) \n"," \n"," activation_1 (Activation) (None, 253, 253, 32 0 ['batch_normalization_1[0][0]'] \n"," ) \n"," \n"," conv2d_2 (Conv2D) (None, 253, 253, 64 18432 ['activation_1[0][0]'] \n"," ) \n"," \n"," batch_normalization_2 (BatchNo (None, 253, 253, 64 192 ['conv2d_2[0][0]'] \n"," rmalization) ) \n"]},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.7/dist-packages/keras/optimizer_v2/adam.py:105: UserWarning: The `lr` argument is deprecated, use `learning_rate` instead.\n"," super(Adam, self).__init__(name, **kwargs)\n"]},{"output_type":"stream","name":"stdout","text":[" \n"," activation_2 (Activation) (None, 253, 253, 64 0 ['batch_normalization_2[0][0]'] \n"," ) \n"," \n"," max_pooling2d (MaxPooling2D) (None, 126, 126, 64 0 ['activation_2[0][0]'] \n"," ) \n"," \n"," conv2d_3 (Conv2D) (None, 126, 126, 80 5120 ['max_pooling2d[0][0]'] \n"," ) \n"," \n"," batch_normalization_3 (BatchNo (None, 126, 126, 80 240 ['conv2d_3[0][0]'] \n"," rmalization) ) \n"," \n"," activation_3 (Activation) (None, 126, 126, 80 0 ['batch_normalization_3[0][0]'] \n"," ) \n"," \n"," conv2d_4 (Conv2D) (None, 124, 124, 19 138240 ['activation_3[0][0]'] \n"," 2) \n"," \n"," batch_normalization_4 (BatchNo (None, 124, 124, 19 576 ['conv2d_4[0][0]'] \n"," rmalization) 2) \n"," \n"," activation_4 (Activation) (None, 124, 124, 19 0 ['batch_normalization_4[0][0]'] \n"," 2) \n"," \n"," max_pooling2d_1 (MaxPooling2D) (None, 61, 61, 192) 0 ['activation_4[0][0]'] \n"," \n"," conv2d_8 (Conv2D) (None, 61, 61, 64) 12288 ['max_pooling2d_1[0][0]'] \n"," \n"," batch_normalization_8 (BatchNo (None, 61, 61, 64) 192 ['conv2d_8[0][0]'] \n"," rmalization) \n"," \n"," activation_8 (Activation) (None, 61, 61, 64) 0 ['batch_normalization_8[0][0]'] \n"," \n"," conv2d_6 (Conv2D) (None, 61, 61, 48) 9216 ['max_pooling2d_1[0][0]'] \n"," \n"," conv2d_9 (Conv2D) (None, 61, 61, 96) 55296 ['activation_8[0][0]'] \n"," \n"," batch_normalization_6 (BatchNo (None, 61, 61, 48) 144 ['conv2d_6[0][0]'] \n"," rmalization) \n"," \n"," batch_normalization_9 (BatchNo (None, 61, 61, 96) 288 ['conv2d_9[0][0]'] \n"," rmalization) \n"," \n"," activation_6 (Activation) (None, 61, 61, 48) 0 ['batch_normalization_6[0][0]'] \n"," \n"," activation_9 (Activation) (None, 61, 61, 96) 0 ['batch_normalization_9[0][0]'] \n"," \n"," average_pooling2d (AveragePool (None, 61, 61, 192) 0 ['max_pooling2d_1[0][0]'] \n"," ing2D) \n"," \n"," conv2d_5 (Conv2D) (None, 61, 61, 64) 12288 ['max_pooling2d_1[0][0]'] \n"," \n"," conv2d_7 (Conv2D) (None, 61, 61, 64) 76800 ['activation_6[0][0]'] \n"," \n"," conv2d_10 (Conv2D) (None, 61, 61, 96) 82944 ['activation_9[0][0]'] \n"," \n"," conv2d_11 (Conv2D) (None, 61, 61, 32) 6144 ['average_pooling2d[0][0]'] \n"," \n"," batch_normalization_5 (BatchNo (None, 61, 61, 64) 192 ['conv2d_5[0][0]'] \n"," rmalization) \n"," \n"," batch_normalization_7 (BatchNo (None, 61, 61, 64) 192 ['conv2d_7[0][0]'] \n"," rmalization) \n"," \n"," batch_normalization_10 (BatchN (None, 61, 61, 96) 288 ['conv2d_10[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_11 (BatchN (None, 61, 61, 32) 96 ['conv2d_11[0][0]'] \n"," ormalization) \n"," \n"," activation_5 (Activation) (None, 61, 61, 64) 0 ['batch_normalization_5[0][0]'] \n"," \n"," activation_7 (Activation) (None, 61, 61, 64) 0 ['batch_normalization_7[0][0]'] \n"," \n"," activation_10 (Activation) (None, 61, 61, 96) 0 ['batch_normalization_10[0][0]'] \n"," \n"," activation_11 (Activation) (None, 61, 61, 32) 0 ['batch_normalization_11[0][0]'] \n"," \n"," mixed0 (Concatenate) (None, 61, 61, 256) 0 ['activation_5[0][0]', \n"," 'activation_7[0][0]', \n"," 'activation_10[0][0]', \n"," 'activation_11[0][0]'] \n"," \n"," conv2d_15 (Conv2D) (None, 61, 61, 64) 16384 ['mixed0[0][0]'] \n"," \n"," batch_normalization_15 (BatchN (None, 61, 61, 64) 192 ['conv2d_15[0][0]'] \n"," ormalization) \n"," \n"," activation_15 (Activation) (None, 61, 61, 64) 0 ['batch_normalization_15[0][0]'] \n"," \n"," conv2d_13 (Conv2D) (None, 61, 61, 48) 12288 ['mixed0[0][0]'] \n"," \n"," conv2d_16 (Conv2D) (None, 61, 61, 96) 55296 ['activation_15[0][0]'] \n"," \n"," batch_normalization_13 (BatchN (None, 61, 61, 48) 144 ['conv2d_13[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_16 (BatchN (None, 61, 61, 96) 288 ['conv2d_16[0][0]'] \n"," ormalization) \n"," \n"," activation_13 (Activation) (None, 61, 61, 48) 0 ['batch_normalization_13[0][0]'] \n"," \n"," activation_16 (Activation) (None, 61, 61, 96) 0 ['batch_normalization_16[0][0]'] \n"," \n"," average_pooling2d_1 (AveragePo (None, 61, 61, 256) 0 ['mixed0[0][0]'] \n"," oling2D) \n"," \n"," conv2d_12 (Conv2D) (None, 61, 61, 64) 16384 ['mixed0[0][0]'] \n"," \n"," conv2d_14 (Conv2D) (None, 61, 61, 64) 76800 ['activation_13[0][0]'] \n"," \n"," conv2d_17 (Conv2D) (None, 61, 61, 96) 82944 ['activation_16[0][0]'] \n"," \n"," conv2d_18 (Conv2D) (None, 61, 61, 64) 16384 ['average_pooling2d_1[0][0]'] \n"," \n"," batch_normalization_12 (BatchN (None, 61, 61, 64) 192 ['conv2d_12[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_14 (BatchN (None, 61, 61, 64) 192 ['conv2d_14[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_17 (BatchN (None, 61, 61, 96) 288 ['conv2d_17[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_18 (BatchN (None, 61, 61, 64) 192 ['conv2d_18[0][0]'] \n"," ormalization) \n"," \n"," activation_12 (Activation) (None, 61, 61, 64) 0 ['batch_normalization_12[0][0]'] \n"," \n"," activation_14 (Activation) (None, 61, 61, 64) 0 ['batch_normalization_14[0][0]'] \n"," \n"," activation_17 (Activation) (None, 61, 61, 96) 0 ['batch_normalization_17[0][0]'] \n"," \n"," activation_18 (Activation) (None, 61, 61, 64) 0 ['batch_normalization_18[0][0]'] \n"," \n"," mixed1 (Concatenate) (None, 61, 61, 288) 0 ['activation_12[0][0]', \n"," 'activation_14[0][0]', \n"," 'activation_17[0][0]', \n"," 'activation_18[0][0]'] \n"," \n"," conv2d_22 (Conv2D) (None, 61, 61, 64) 18432 ['mixed1[0][0]'] \n"," \n"," batch_normalization_22 (BatchN (None, 61, 61, 64) 192 ['conv2d_22[0][0]'] \n"," ormalization) \n"," \n"," activation_22 (Activation) (None, 61, 61, 64) 0 ['batch_normalization_22[0][0]'] \n"," \n"," conv2d_20 (Conv2D) (None, 61, 61, 48) 13824 ['mixed1[0][0]'] \n"," \n"," conv2d_23 (Conv2D) (None, 61, 61, 96) 55296 ['activation_22[0][0]'] \n"," \n"," batch_normalization_20 (BatchN (None, 61, 61, 48) 144 ['conv2d_20[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_23 (BatchN (None, 61, 61, 96) 288 ['conv2d_23[0][0]'] \n"," ormalization) \n"," \n"," activation_20 (Activation) (None, 61, 61, 48) 0 ['batch_normalization_20[0][0]'] \n"," \n"," activation_23 (Activation) (None, 61, 61, 96) 0 ['batch_normalization_23[0][0]'] \n"," \n"," average_pooling2d_2 (AveragePo (None, 61, 61, 288) 0 ['mixed1[0][0]'] \n"," oling2D) \n"," \n"," conv2d_19 (Conv2D) (None, 61, 61, 64) 18432 ['mixed1[0][0]'] \n"," \n"," conv2d_21 (Conv2D) (None, 61, 61, 64) 76800 ['activation_20[0][0]'] \n"," \n"," conv2d_24 (Conv2D) (None, 61, 61, 96) 82944 ['activation_23[0][0]'] \n"," \n"," conv2d_25 (Conv2D) (None, 61, 61, 64) 18432 ['average_pooling2d_2[0][0]'] \n"," \n"," batch_normalization_19 (BatchN (None, 61, 61, 64) 192 ['conv2d_19[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_21 (BatchN (None, 61, 61, 64) 192 ['conv2d_21[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_24 (BatchN (None, 61, 61, 96) 288 ['conv2d_24[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_25 (BatchN (None, 61, 61, 64) 192 ['conv2d_25[0][0]'] \n"," ormalization) \n"," \n"," activation_19 (Activation) (None, 61, 61, 64) 0 ['batch_normalization_19[0][0]'] \n"," \n"," activation_21 (Activation) (None, 61, 61, 64) 0 ['batch_normalization_21[0][0]'] \n"," \n"," activation_24 (Activation) (None, 61, 61, 96) 0 ['batch_normalization_24[0][0]'] \n"," \n"," activation_25 (Activation) (None, 61, 61, 64) 0 ['batch_normalization_25[0][0]'] \n"," \n"," mixed2 (Concatenate) (None, 61, 61, 288) 0 ['activation_19[0][0]', \n"," 'activation_21[0][0]', \n"," 'activation_24[0][0]', \n"," 'activation_25[0][0]'] \n"," \n"," conv2d_27 (Conv2D) (None, 61, 61, 64) 18432 ['mixed2[0][0]'] \n"," \n"," batch_normalization_27 (BatchN (None, 61, 61, 64) 192 ['conv2d_27[0][0]'] \n"," ormalization) \n"," \n"," activation_27 (Activation) (None, 61, 61, 64) 0 ['batch_normalization_27[0][0]'] \n"," \n"," conv2d_28 (Conv2D) (None, 61, 61, 96) 55296 ['activation_27[0][0]'] \n"," \n"," batch_normalization_28 (BatchN (None, 61, 61, 96) 288 ['conv2d_28[0][0]'] \n"," ormalization) \n"," \n"," activation_28 (Activation) (None, 61, 61, 96) 0 ['batch_normalization_28[0][0]'] \n"," \n"," conv2d_26 (Conv2D) (None, 30, 30, 384) 995328 ['mixed2[0][0]'] \n"," \n"," conv2d_29 (Conv2D) (None, 30, 30, 96) 82944 ['activation_28[0][0]'] \n"," \n"," batch_normalization_26 (BatchN (None, 30, 30, 384) 1152 ['conv2d_26[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_29 (BatchN (None, 30, 30, 96) 288 ['conv2d_29[0][0]'] \n"," ormalization) \n"," \n"," activation_26 (Activation) (None, 30, 30, 384) 0 ['batch_normalization_26[0][0]'] \n"," \n"," activation_29 (Activation) (None, 30, 30, 96) 0 ['batch_normalization_29[0][0]'] \n"," \n"," max_pooling2d_2 (MaxPooling2D) (None, 30, 30, 288) 0 ['mixed2[0][0]'] \n"," \n"," mixed3 (Concatenate) (None, 30, 30, 768) 0 ['activation_26[0][0]', \n"," 'activation_29[0][0]', \n"," 'max_pooling2d_2[0][0]'] \n"," \n"," conv2d_34 (Conv2D) (None, 30, 30, 128) 98304 ['mixed3[0][0]'] \n"," \n"," batch_normalization_34 (BatchN (None, 30, 30, 128) 384 ['conv2d_34[0][0]'] \n"," ormalization) \n"," \n"," activation_34 (Activation) (None, 30, 30, 128) 0 ['batch_normalization_34[0][0]'] \n"," \n"," conv2d_35 (Conv2D) (None, 30, 30, 128) 114688 ['activation_34[0][0]'] \n"," \n"," batch_normalization_35 (BatchN (None, 30, 30, 128) 384 ['conv2d_35[0][0]'] \n"," ormalization) \n"," \n"," activation_35 (Activation) (None, 30, 30, 128) 0 ['batch_normalization_35[0][0]'] \n"," \n"," conv2d_31 (Conv2D) (None, 30, 30, 128) 98304 ['mixed3[0][0]'] \n"," \n"," conv2d_36 (Conv2D) (None, 30, 30, 128) 114688 ['activation_35[0][0]'] \n"," \n"," batch_normalization_31 (BatchN (None, 30, 30, 128) 384 ['conv2d_31[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_36 (BatchN (None, 30, 30, 128) 384 ['conv2d_36[0][0]'] \n"," ormalization) \n"," \n"," activation_31 (Activation) (None, 30, 30, 128) 0 ['batch_normalization_31[0][0]'] \n"," \n"," activation_36 (Activation) (None, 30, 30, 128) 0 ['batch_normalization_36[0][0]'] \n"," \n"," conv2d_32 (Conv2D) (None, 30, 30, 128) 114688 ['activation_31[0][0]'] \n"," \n"," conv2d_37 (Conv2D) (None, 30, 30, 128) 114688 ['activation_36[0][0]'] \n"," \n"," batch_normalization_32 (BatchN (None, 30, 30, 128) 384 ['conv2d_32[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_37 (BatchN (None, 30, 30, 128) 384 ['conv2d_37[0][0]'] \n"," ormalization) \n"," \n"," activation_32 (Activation) (None, 30, 30, 128) 0 ['batch_normalization_32[0][0]'] \n"," \n"," activation_37 (Activation) (None, 30, 30, 128) 0 ['batch_normalization_37[0][0]'] \n"," \n"," average_pooling2d_3 (AveragePo (None, 30, 30, 768) 0 ['mixed3[0][0]'] \n"," oling2D) \n"," \n"," conv2d_30 (Conv2D) (None, 30, 30, 192) 147456 ['mixed3[0][0]'] \n"," \n"," conv2d_33 (Conv2D) (None, 30, 30, 192) 172032 ['activation_32[0][0]'] \n"," \n"," conv2d_38 (Conv2D) (None, 30, 30, 192) 172032 ['activation_37[0][0]'] \n"," \n"," conv2d_39 (Conv2D) (None, 30, 30, 192) 147456 ['average_pooling2d_3[0][0]'] \n"," \n"," batch_normalization_30 (BatchN (None, 30, 30, 192) 576 ['conv2d_30[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_33 (BatchN (None, 30, 30, 192) 576 ['conv2d_33[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_38 (BatchN (None, 30, 30, 192) 576 ['conv2d_38[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_39 (BatchN (None, 30, 30, 192) 576 ['conv2d_39[0][0]'] \n"," ormalization) \n"," \n"," activation_30 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_30[0][0]'] \n"," \n"," activation_33 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_33[0][0]'] \n"," \n"," activation_38 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_38[0][0]'] \n"," \n"," activation_39 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_39[0][0]'] \n"," \n"," mixed4 (Concatenate) (None, 30, 30, 768) 0 ['activation_30[0][0]', \n"," 'activation_33[0][0]', \n"," 'activation_38[0][0]', \n"," 'activation_39[0][0]'] \n"," \n"," conv2d_44 (Conv2D) (None, 30, 30, 160) 122880 ['mixed4[0][0]'] \n"," \n"," batch_normalization_44 (BatchN (None, 30, 30, 160) 480 ['conv2d_44[0][0]'] \n"," ormalization) \n"," \n"," activation_44 (Activation) (None, 30, 30, 160) 0 ['batch_normalization_44[0][0]'] \n"," \n"," conv2d_45 (Conv2D) (None, 30, 30, 160) 179200 ['activation_44[0][0]'] \n"," \n"," batch_normalization_45 (BatchN (None, 30, 30, 160) 480 ['conv2d_45[0][0]'] \n"," ormalization) \n"," \n"," activation_45 (Activation) (None, 30, 30, 160) 0 ['batch_normalization_45[0][0]'] \n"," \n"," conv2d_41 (Conv2D) (None, 30, 30, 160) 122880 ['mixed4[0][0]'] \n"," \n"," conv2d_46 (Conv2D) (None, 30, 30, 160) 179200 ['activation_45[0][0]'] \n"," \n"," batch_normalization_41 (BatchN (None, 30, 30, 160) 480 ['conv2d_41[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_46 (BatchN (None, 30, 30, 160) 480 ['conv2d_46[0][0]'] \n"," ormalization) \n"," \n"," activation_41 (Activation) (None, 30, 30, 160) 0 ['batch_normalization_41[0][0]'] \n"," \n"," activation_46 (Activation) (None, 30, 30, 160) 0 ['batch_normalization_46[0][0]'] \n"," \n"," conv2d_42 (Conv2D) (None, 30, 30, 160) 179200 ['activation_41[0][0]'] \n"," \n"," conv2d_47 (Conv2D) (None, 30, 30, 160) 179200 ['activation_46[0][0]'] \n"," \n"," batch_normalization_42 (BatchN (None, 30, 30, 160) 480 ['conv2d_42[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_47 (BatchN (None, 30, 30, 160) 480 ['conv2d_47[0][0]'] \n"," ormalization) \n"," \n"," activation_42 (Activation) (None, 30, 30, 160) 0 ['batch_normalization_42[0][0]'] \n"," \n"," activation_47 (Activation) (None, 30, 30, 160) 0 ['batch_normalization_47[0][0]'] \n"," \n"," average_pooling2d_4 (AveragePo (None, 30, 30, 768) 0 ['mixed4[0][0]'] \n"," oling2D) \n"," \n"," conv2d_40 (Conv2D) (None, 30, 30, 192) 147456 ['mixed4[0][0]'] \n"," \n"," conv2d_43 (Conv2D) (None, 30, 30, 192) 215040 ['activation_42[0][0]'] \n"," \n"," conv2d_48 (Conv2D) (None, 30, 30, 192) 215040 ['activation_47[0][0]'] \n"," \n"," conv2d_49 (Conv2D) (None, 30, 30, 192) 147456 ['average_pooling2d_4[0][0]'] \n"," \n"," batch_normalization_40 (BatchN (None, 30, 30, 192) 576 ['conv2d_40[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_43 (BatchN (None, 30, 30, 192) 576 ['conv2d_43[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_48 (BatchN (None, 30, 30, 192) 576 ['conv2d_48[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_49 (BatchN (None, 30, 30, 192) 576 ['conv2d_49[0][0]'] \n"," ormalization) \n"," \n"," activation_40 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_40[0][0]'] \n"," \n"," activation_43 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_43[0][0]'] \n"," \n"," activation_48 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_48[0][0]'] \n"," \n"," activation_49 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_49[0][0]'] \n"," \n"," mixed5 (Concatenate) (None, 30, 30, 768) 0 ['activation_40[0][0]', \n"," 'activation_43[0][0]', \n"," 'activation_48[0][0]', \n"," 'activation_49[0][0]'] \n"," \n"," conv2d_54 (Conv2D) (None, 30, 30, 160) 122880 ['mixed5[0][0]'] \n"," \n"," batch_normalization_54 (BatchN (None, 30, 30, 160) 480 ['conv2d_54[0][0]'] \n"," ormalization) \n"," \n"," activation_54 (Activation) (None, 30, 30, 160) 0 ['batch_normalization_54[0][0]'] \n"," \n"," conv2d_55 (Conv2D) (None, 30, 30, 160) 179200 ['activation_54[0][0]'] \n"," \n"," batch_normalization_55 (BatchN (None, 30, 30, 160) 480 ['conv2d_55[0][0]'] \n"," ormalization) \n"," \n"," activation_55 (Activation) (None, 30, 30, 160) 0 ['batch_normalization_55[0][0]'] \n"," \n"," conv2d_51 (Conv2D) (None, 30, 30, 160) 122880 ['mixed5[0][0]'] \n"," \n"," conv2d_56 (Conv2D) (None, 30, 30, 160) 179200 ['activation_55[0][0]'] \n"," \n"," batch_normalization_51 (BatchN (None, 30, 30, 160) 480 ['conv2d_51[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_56 (BatchN (None, 30, 30, 160) 480 ['conv2d_56[0][0]'] \n"," ormalization) \n"," \n"," activation_51 (Activation) (None, 30, 30, 160) 0 ['batch_normalization_51[0][0]'] \n"," \n"," activation_56 (Activation) (None, 30, 30, 160) 0 ['batch_normalization_56[0][0]'] \n"," \n"," conv2d_52 (Conv2D) (None, 30, 30, 160) 179200 ['activation_51[0][0]'] \n"," \n"," conv2d_57 (Conv2D) (None, 30, 30, 160) 179200 ['activation_56[0][0]'] \n"," \n"," batch_normalization_52 (BatchN (None, 30, 30, 160) 480 ['conv2d_52[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_57 (BatchN (None, 30, 30, 160) 480 ['conv2d_57[0][0]'] \n"," ormalization) \n"," \n"," activation_52 (Activation) (None, 30, 30, 160) 0 ['batch_normalization_52[0][0]'] \n"," \n"," activation_57 (Activation) (None, 30, 30, 160) 0 ['batch_normalization_57[0][0]'] \n"," \n"," average_pooling2d_5 (AveragePo (None, 30, 30, 768) 0 ['mixed5[0][0]'] \n"," oling2D) \n"," \n"," conv2d_50 (Conv2D) (None, 30, 30, 192) 147456 ['mixed5[0][0]'] \n"," \n"," conv2d_53 (Conv2D) (None, 30, 30, 192) 215040 ['activation_52[0][0]'] \n"," \n"," conv2d_58 (Conv2D) (None, 30, 30, 192) 215040 ['activation_57[0][0]'] \n"," \n"," conv2d_59 (Conv2D) (None, 30, 30, 192) 147456 ['average_pooling2d_5[0][0]'] \n"," \n"," batch_normalization_50 (BatchN (None, 30, 30, 192) 576 ['conv2d_50[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_53 (BatchN (None, 30, 30, 192) 576 ['conv2d_53[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_58 (BatchN (None, 30, 30, 192) 576 ['conv2d_58[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_59 (BatchN (None, 30, 30, 192) 576 ['conv2d_59[0][0]'] \n"," ormalization) \n"," \n"," activation_50 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_50[0][0]'] \n"," \n"," activation_53 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_53[0][0]'] \n"," \n"," activation_58 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_58[0][0]'] \n"," \n"," activation_59 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_59[0][0]'] \n"," \n"," mixed6 (Concatenate) (None, 30, 30, 768) 0 ['activation_50[0][0]', \n"," 'activation_53[0][0]', \n"," 'activation_58[0][0]', \n"," 'activation_59[0][0]'] \n"," \n"," conv2d_64 (Conv2D) (None, 30, 30, 192) 147456 ['mixed6[0][0]'] \n"," \n"," batch_normalization_64 (BatchN (None, 30, 30, 192) 576 ['conv2d_64[0][0]'] \n"," ormalization) \n"," \n"," activation_64 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_64[0][0]'] \n"," \n"," conv2d_65 (Conv2D) (None, 30, 30, 192) 258048 ['activation_64[0][0]'] \n"," \n"," batch_normalization_65 (BatchN (None, 30, 30, 192) 576 ['conv2d_65[0][0]'] \n"," ormalization) \n"," \n"," activation_65 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_65[0][0]'] \n"," \n"," conv2d_61 (Conv2D) (None, 30, 30, 192) 147456 ['mixed6[0][0]'] \n"," \n"," conv2d_66 (Conv2D) (None, 30, 30, 192) 258048 ['activation_65[0][0]'] \n"," \n"," batch_normalization_61 (BatchN (None, 30, 30, 192) 576 ['conv2d_61[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_66 (BatchN (None, 30, 30, 192) 576 ['conv2d_66[0][0]'] \n"," ormalization) \n"," \n"," activation_61 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_61[0][0]'] \n"," \n"," activation_66 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_66[0][0]'] \n"," \n"," conv2d_62 (Conv2D) (None, 30, 30, 192) 258048 ['activation_61[0][0]'] \n"," \n"," conv2d_67 (Conv2D) (None, 30, 30, 192) 258048 ['activation_66[0][0]'] \n"," \n"," batch_normalization_62 (BatchN (None, 30, 30, 192) 576 ['conv2d_62[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_67 (BatchN (None, 30, 30, 192) 576 ['conv2d_67[0][0]'] \n"," ormalization) \n"," \n"," activation_62 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_62[0][0]'] \n"," \n"," activation_67 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_67[0][0]'] \n"," \n"," average_pooling2d_6 (AveragePo (None, 30, 30, 768) 0 ['mixed6[0][0]'] \n"," oling2D) \n"," \n"," conv2d_60 (Conv2D) (None, 30, 30, 192) 147456 ['mixed6[0][0]'] \n"," \n"," conv2d_63 (Conv2D) (None, 30, 30, 192) 258048 ['activation_62[0][0]'] \n"," \n"," conv2d_68 (Conv2D) (None, 30, 30, 192) 258048 ['activation_67[0][0]'] \n"," \n"," conv2d_69 (Conv2D) (None, 30, 30, 192) 147456 ['average_pooling2d_6[0][0]'] \n"," \n"," batch_normalization_60 (BatchN (None, 30, 30, 192) 576 ['conv2d_60[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_63 (BatchN (None, 30, 30, 192) 576 ['conv2d_63[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_68 (BatchN (None, 30, 30, 192) 576 ['conv2d_68[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_69 (BatchN (None, 30, 30, 192) 576 ['conv2d_69[0][0]'] \n"," ormalization) \n"," \n"," activation_60 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_60[0][0]'] \n"," \n"," activation_63 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_63[0][0]'] \n"," \n"," activation_68 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_68[0][0]'] \n"," \n"," activation_69 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_69[0][0]'] \n"," \n"," mixed7 (Concatenate) (None, 30, 30, 768) 0 ['activation_60[0][0]', \n"," 'activation_63[0][0]', \n"," 'activation_68[0][0]', \n"," 'activation_69[0][0]'] \n"," \n"," conv2d_72 (Conv2D) (None, 30, 30, 192) 147456 ['mixed7[0][0]'] \n"," \n"," batch_normalization_72 (BatchN (None, 30, 30, 192) 576 ['conv2d_72[0][0]'] \n"," ormalization) \n"," \n"," activation_72 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_72[0][0]'] \n"," \n"," conv2d_73 (Conv2D) (None, 30, 30, 192) 258048 ['activation_72[0][0]'] \n"," \n"," batch_normalization_73 (BatchN (None, 30, 30, 192) 576 ['conv2d_73[0][0]'] \n"," ormalization) \n"," \n"," activation_73 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_73[0][0]'] \n"," \n"," conv2d_70 (Conv2D) (None, 30, 30, 192) 147456 ['mixed7[0][0]'] \n"," \n"," conv2d_74 (Conv2D) (None, 30, 30, 192) 258048 ['activation_73[0][0]'] \n"," \n"," batch_normalization_70 (BatchN (None, 30, 30, 192) 576 ['conv2d_70[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_74 (BatchN (None, 30, 30, 192) 576 ['conv2d_74[0][0]'] \n"," ormalization) \n"," \n"," activation_70 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_70[0][0]'] \n"," \n"," activation_74 (Activation) (None, 30, 30, 192) 0 ['batch_normalization_74[0][0]'] \n"," \n"," conv2d_71 (Conv2D) (None, 14, 14, 320) 552960 ['activation_70[0][0]'] \n"," \n"," conv2d_75 (Conv2D) (None, 14, 14, 192) 331776 ['activation_74[0][0]'] \n"," \n"," batch_normalization_71 (BatchN (None, 14, 14, 320) 960 ['conv2d_71[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_75 (BatchN (None, 14, 14, 192) 576 ['conv2d_75[0][0]'] \n"," ormalization) \n"," \n"," activation_71 (Activation) (None, 14, 14, 320) 0 ['batch_normalization_71[0][0]'] \n"," \n"," activation_75 (Activation) (None, 14, 14, 192) 0 ['batch_normalization_75[0][0]'] \n"," \n"," max_pooling2d_3 (MaxPooling2D) (None, 14, 14, 768) 0 ['mixed7[0][0]'] \n"," \n"," mixed8 (Concatenate) (None, 14, 14, 1280 0 ['activation_71[0][0]', \n"," ) 'activation_75[0][0]', \n"," 'max_pooling2d_3[0][0]'] \n"," \n"," conv2d_80 (Conv2D) (None, 14, 14, 448) 573440 ['mixed8[0][0]'] \n"," \n"," batch_normalization_80 (BatchN (None, 14, 14, 448) 1344 ['conv2d_80[0][0]'] \n"," ormalization) \n"," \n"," activation_80 (Activation) (None, 14, 14, 448) 0 ['batch_normalization_80[0][0]'] \n"," \n"," conv2d_77 (Conv2D) (None, 14, 14, 384) 491520 ['mixed8[0][0]'] \n"," \n"," conv2d_81 (Conv2D) (None, 14, 14, 384) 1548288 ['activation_80[0][0]'] \n"," \n"," batch_normalization_77 (BatchN (None, 14, 14, 384) 1152 ['conv2d_77[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_81 (BatchN (None, 14, 14, 384) 1152 ['conv2d_81[0][0]'] \n"," ormalization) \n"," \n"," activation_77 (Activation) (None, 14, 14, 384) 0 ['batch_normalization_77[0][0]'] \n"," \n"," activation_81 (Activation) (None, 14, 14, 384) 0 ['batch_normalization_81[0][0]'] \n"," \n"," conv2d_78 (Conv2D) (None, 14, 14, 384) 442368 ['activation_77[0][0]'] \n"," \n"," conv2d_79 (Conv2D) (None, 14, 14, 384) 442368 ['activation_77[0][0]'] \n"," \n"," conv2d_82 (Conv2D) (None, 14, 14, 384) 442368 ['activation_81[0][0]'] \n"," \n"," conv2d_83 (Conv2D) (None, 14, 14, 384) 442368 ['activation_81[0][0]'] \n"," \n"," average_pooling2d_7 (AveragePo (None, 14, 14, 1280 0 ['mixed8[0][0]'] \n"," oling2D) ) \n"," \n"," conv2d_76 (Conv2D) (None, 14, 14, 320) 409600 ['mixed8[0][0]'] \n"," \n"," batch_normalization_78 (BatchN (None, 14, 14, 384) 1152 ['conv2d_78[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_79 (BatchN (None, 14, 14, 384) 1152 ['conv2d_79[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_82 (BatchN (None, 14, 14, 384) 1152 ['conv2d_82[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_83 (BatchN (None, 14, 14, 384) 1152 ['conv2d_83[0][0]'] \n"," ormalization) \n"," \n"," conv2d_84 (Conv2D) (None, 14, 14, 192) 245760 ['average_pooling2d_7[0][0]'] \n"," \n"," batch_normalization_76 (BatchN (None, 14, 14, 320) 960 ['conv2d_76[0][0]'] \n"," ormalization) \n"," \n"," activation_78 (Activation) (None, 14, 14, 384) 0 ['batch_normalization_78[0][0]'] \n"," \n"," activation_79 (Activation) (None, 14, 14, 384) 0 ['batch_normalization_79[0][0]'] \n"," \n"," activation_82 (Activation) (None, 14, 14, 384) 0 ['batch_normalization_82[0][0]'] \n"," \n"," activation_83 (Activation) (None, 14, 14, 384) 0 ['batch_normalization_83[0][0]'] \n"," \n"," batch_normalization_84 (BatchN (None, 14, 14, 192) 576 ['conv2d_84[0][0]'] \n"," ormalization) \n"," \n"," activation_76 (Activation) (None, 14, 14, 320) 0 ['batch_normalization_76[0][0]'] \n"," \n"," mixed9_0 (Concatenate) (None, 14, 14, 768) 0 ['activation_78[0][0]', \n"," 'activation_79[0][0]'] \n"," \n"," concatenate (Concatenate) (None, 14, 14, 768) 0 ['activation_82[0][0]', \n"," 'activation_83[0][0]'] \n"," \n"," activation_84 (Activation) (None, 14, 14, 192) 0 ['batch_normalization_84[0][0]'] \n"," \n"," mixed9 (Concatenate) (None, 14, 14, 2048 0 ['activation_76[0][0]', \n"," ) 'mixed9_0[0][0]', \n"," 'concatenate[0][0]', \n"," 'activation_84[0][0]'] \n"," \n"," conv2d_89 (Conv2D) (None, 14, 14, 448) 917504 ['mixed9[0][0]'] \n"," \n"," batch_normalization_89 (BatchN (None, 14, 14, 448) 1344 ['conv2d_89[0][0]'] \n"," ormalization) \n"," \n"," activation_89 (Activation) (None, 14, 14, 448) 0 ['batch_normalization_89[0][0]'] \n"," \n"," conv2d_86 (Conv2D) (None, 14, 14, 384) 786432 ['mixed9[0][0]'] \n"," \n"," conv2d_90 (Conv2D) (None, 14, 14, 384) 1548288 ['activation_89[0][0]'] \n"," \n"," batch_normalization_86 (BatchN (None, 14, 14, 384) 1152 ['conv2d_86[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_90 (BatchN (None, 14, 14, 384) 1152 ['conv2d_90[0][0]'] \n"," ormalization) \n"," \n"," activation_86 (Activation) (None, 14, 14, 384) 0 ['batch_normalization_86[0][0]'] \n"," \n"," activation_90 (Activation) (None, 14, 14, 384) 0 ['batch_normalization_90[0][0]'] \n"," \n"," conv2d_87 (Conv2D) (None, 14, 14, 384) 442368 ['activation_86[0][0]'] \n"," \n"," conv2d_88 (Conv2D) (None, 14, 14, 384) 442368 ['activation_86[0][0]'] \n"," \n"," conv2d_91 (Conv2D) (None, 14, 14, 384) 442368 ['activation_90[0][0]'] \n"," \n"," conv2d_92 (Conv2D) (None, 14, 14, 384) 442368 ['activation_90[0][0]'] \n"," \n"," average_pooling2d_8 (AveragePo (None, 14, 14, 2048 0 ['mixed9[0][0]'] \n"," oling2D) ) \n"," \n"," conv2d_85 (Conv2D) (None, 14, 14, 320) 655360 ['mixed9[0][0]'] \n"," \n"," batch_normalization_87 (BatchN (None, 14, 14, 384) 1152 ['conv2d_87[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_88 (BatchN (None, 14, 14, 384) 1152 ['conv2d_88[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_91 (BatchN (None, 14, 14, 384) 1152 ['conv2d_91[0][0]'] \n"," ormalization) \n"," \n"," batch_normalization_92 (BatchN (None, 14, 14, 384) 1152 ['conv2d_92[0][0]'] \n"," ormalization) \n"," \n"," conv2d_93 (Conv2D) (None, 14, 14, 192) 393216 ['average_pooling2d_8[0][0]'] \n"," \n"," batch_normalization_85 (BatchN (None, 14, 14, 320) 960 ['conv2d_85[0][0]'] \n"," ormalization) \n"," \n"," activation_87 (Activation) (None, 14, 14, 384) 0 ['batch_normalization_87[0][0]'] \n"," \n"," activation_88 (Activation) (None, 14, 14, 384) 0 ['batch_normalization_88[0][0]'] \n"," \n"," activation_91 (Activation) (None, 14, 14, 384) 0 ['batch_normalization_91[0][0]'] \n"," \n"," activation_92 (Activation) (None, 14, 14, 384) 0 ['batch_normalization_92[0][0]'] \n"," \n"," batch_normalization_93 (BatchN (None, 14, 14, 192) 576 ['conv2d_93[0][0]'] \n"," ormalization) \n"," \n"," activation_85 (Activation) (None, 14, 14, 320) 0 ['batch_normalization_85[0][0]'] \n"," \n"," mixed9_1 (Concatenate) (None, 14, 14, 768) 0 ['activation_87[0][0]', \n"," 'activation_88[0][0]'] \n"," \n"," concatenate_1 (Concatenate) (None, 14, 14, 768) 0 ['activation_91[0][0]', \n"," 'activation_92[0][0]'] \n"," \n"," activation_93 (Activation) (None, 14, 14, 192) 0 ['batch_normalization_93[0][0]'] \n"," \n"," mixed10 (Concatenate) (None, 14, 14, 2048 0 ['activation_85[0][0]', \n"," ) 'mixed9_1[0][0]', \n"," 'concatenate_1[0][0]', \n"," 'activation_93[0][0]'] \n"," \n"," average_pooling2d_9 (AveragePo (None, 3, 3, 2048) 0 ['mixed10[0][0]'] \n"," oling2D) \n"," \n"," flatten (Flatten) (None, 18432) 0 ['average_pooling2d_9[0][0]'] \n"," \n"," dense (Dense) (None, 512) 9437696 ['flatten[0][0]'] \n"," \n"," dropout (Dropout) (None, 512) 0 ['dense[0][0]'] \n"," \n"," dense_1 (Dense) (None, 2) 1026 ['dropout[0][0]'] \n"," \n","==================================================================================================\n","Total params: 31,241,506\n","Trainable params: 9,438,722\n","Non-trainable params: 21,802,784\n","__________________________________________________________________________________________________\n","None\n"]}],"source":["def InceptionV3():\n"," # load the DenseNet121 network, ensuring the head FC layer sets are left off\n"," baseModel = tf.keras.applications.InceptionV3(\n"," include_top=False,\n"," weights=\"imagenet\",\n"," input_tensor=tf.keras.layers.Input(shape=(IMG_SIZE, IMG_SIZE, 3)),\n",")\n"," # construct the head of the model that will be placed on top of the the base model\n"," output = baseModel.output\n"," output = tf.keras.layers.AveragePooling2D(pool_size=(4, 4))(output)\n"," output = tf.keras.layers.Flatten(name=\"flatten\")(output)\n"," output = tf.keras.layers.Dense(512, activation=\"relu\")(output)\n"," output = tf.keras.layers.Dropout(0.25)(output)\n"," output = tf.keras.layers.Dense(2, activation=\"softmax\")(output)\n"," # place the head FC model on top of the base model (this will become the actual model we will train)\n"," model = tf.keras.Model(inputs=baseModel.input, outputs=output)\n"," # loop over all layers in the base model and freeze them so they will not be updated during the first training process\n"," for layer in baseModel.layers:\n"," layer.trainable = False\n"," return model\n","\n","model = InceptionV3()\n","# initialize the initial learning rate, number of epochs to train for, and batch size\n","INIT_LR = 0.001\n","EPOCHS = 20\n","BATCHSIZE = 32\n","optimizer = tf.keras.optimizers.Adam(lr=INIT_LR, decay=INIT_LR / EPOCHS)\n","model.compile(loss= 'binary_crossentropy', optimizer=optimizer, metrics=['accuracy'])\n","print(model.summary())"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"448DW43VMqUG"},"outputs":[],"source":["modelPath = '/content/drive/MyDrive/classification/saved Models/Pretrained InceptionV3'\n","if not os.path.exists(modelPath):\n"," os.makedirs(modelPath)\n"," print('Model Directory Created')\n","else:\n"," print('Model Directory Already Exists')\n","\n","model_checkpoint = tf.keras.callbacks.ModelCheckpoint('./content/drive/MyDrive/classification/saved Models/Pretrained InceptionV3/InceptionV3-best-model.h5', monitor='val_loss',\n"," verbose=1, save_best_only=True, mode='auto')\n","\n","early_stop = EarlyStopping(monitor = 'val_loss', patience = 5, restore_best_weights=True, verbose=1)\n","\n","csv_path = '/content/drive/MyDrive/logs/Binary_Classification_InceptionV3_1.csv' \n","csv_logger = CSVLogger(csv_path, append=True)\n","reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=3, verbose=1, min_lr=1e-7)\n","\n","callbacks = [model_checkpoint, reduce_lr, early_stop,csv_logger]\n","\n","STEP_TRAIN = len(Train_gen) // BATCHSIZE\n","STEP_TEST = len(Test_gen) // BATCHSIZE\n","modelHistory = model.fit(Train_gen, epochs=EPOCHS, verbose=1, callbacks=callbacks,\n"," validation_data= Val_gen, shuffle = True, steps_per_epoch=STEP_TRAIN, validation_steps=STEP_TEST)\n","\n","tf.keras.models.save_model(model, '/content/drive/MyDrive/classification/saved Models/Pretrained InceptionV3/InceptionV3-model.h5', overwrite=True, include_optimizer=True, save_format=None,\n"," signatures=None, options=None)"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"eGqeAqptQvZC"},"outputs":[],"source":["from tensorflow.keras.models import load_model"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"duPJ3CGfQ1wi"},"outputs":[],"source":["model = load_model('/content/drive/MyDrive/classification/saved Models/Pretrained InceptionV3/InceptionV3-model.h5')"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"OuF1uWLrYJve"},"outputs":[],"source":["results = pd.DataFrame()\n","results['label'] = test.Target"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"T0QmETN4Om40","colab":{"base_uri":"https://localhost:8080/","height":49,"referenced_widgets":["7719fe1373e24a69a9ce44f31daf0dd6","123e8e9328a8498a8101f3cb69393c7f","680764b01394413e8193b4fa15e49b7a","b3765e4a740a4116ab47215ac29eaa9a","8b81965166484d5d8e2f0a44a2cc4d2d","194bcd2ba6b4497aa7362dcf6f86d36c","0899c0b21acd45fd9b3c08b5645528d8","e9056f24a9114622878545959f9eec77","b72afa9a928143a5846f8c688a37a0e5","7756f289455040b7acdf38c909f04af8","afb2d739350d4fe3a545729a89fe0c1f"]},"outputId":"d7152a08-c6cb-4df3-9f3d-9b3053776099"},"outputs":[{"output_type":"display_data","data":{"text/plain":[" 0%| | 0/4534 [00:00<?, ?it/s]"],"application/vnd.jupyter.widget-view+json":{"version_major":2,"version_minor":0,"model_id":"7719fe1373e24a69a9ce44f31daf0dd6"}},"metadata":{}}],"source":["from tqdm.notebook import tqdm\n","pred_prob = []\n","for bno in tqdm(range(len(Test_gen))):\n"," pred = model.predict(Test_gen[bno][0])\n"," pred_prob.append(pred[0][1])"]},{"cell_type":"code","execution_count":13,"metadata":{"id":"O4LhABXzeEat","executionInfo":{"status":"ok","timestamp":1664607865189,"user_tz":-330,"elapsed":3217,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}}},"outputs":[],"source":["results = pd.read_csv('/content/drive/MyDrive/classification/saved Models/Pretrained InceptionV3/predictions.csv')"]},{"cell_type":"code","source":["results.head()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":206},"id":"uLdhwHF2tB8c","executionInfo":{"status":"ok","timestamp":1664607876128,"user_tz":-330,"elapsed":653,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}},"outputId":"6dc52414-b835-435b-d42c-306eef9e273d"},"execution_count":14,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" Unnamed: 0 label pred_prob\n","0 0 1 0.351941\n","1 1 0 0.007944\n","2 2 1 0.831384\n","3 3 0 0.857727\n","4 4 0 0.197622"],"text/html":["\n"," <div id=\"df-cd87c84d-036f-4dce-a495-71bbca5e5fdf\">\n"," <div class=\"colab-df-container\">\n"," <div>\n","<style scoped>\n"," .dataframe tbody tr th:only-of-type {\n"," vertical-align: middle;\n"," }\n","\n"," .dataframe tbody tr th {\n"," vertical-align: top;\n"," }\n","\n"," .dataframe thead th {\n"," text-align: right;\n"," }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n"," <thead>\n"," <tr style=\"text-align: right;\">\n"," <th></th>\n"," <th>Unnamed: 0</th>\n"," <th>label</th>\n"," <th>pred_prob</th>\n"," </tr>\n"," </thead>\n"," <tbody>\n"," <tr>\n"," <th>0</th>\n"," <td>0</td>\n"," <td>1</td>\n"," <td>0.351941</td>\n"," </tr>\n"," <tr>\n"," <th>1</th>\n"," <td>1</td>\n"," <td>0</td>\n"," <td>0.007944</td>\n"," </tr>\n"," <tr>\n"," <th>2</th>\n"," <td>2</td>\n"," <td>1</td>\n"," <td>0.831384</td>\n"," </tr>\n"," <tr>\n"," <th>3</th>\n"," <td>3</td>\n"," <td>0</td>\n"," <td>0.857727</td>\n"," </tr>\n"," <tr>\n"," <th>4</th>\n"," <td>4</td>\n"," <td>0</td>\n"," <td>0.197622</td>\n"," </tr>\n"," </tbody>\n","</table>\n","</div>\n"," <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-cd87c84d-036f-4dce-a495-71bbca5e5fdf')\"\n"," title=\"Convert this dataframe to an interactive table.\"\n"," style=\"display:none;\">\n"," \n"," <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n"," width=\"24px\">\n"," <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n"," <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n"," </svg>\n"," </button>\n"," \n"," <style>\n"," .colab-df-container {\n"," display:flex;\n"," flex-wrap:wrap;\n"," gap: 12px;\n"," }\n","\n"," .colab-df-convert {\n"," background-color: #E8F0FE;\n"," border: none;\n"," border-radius: 50%;\n"," cursor: pointer;\n"," display: none;\n"," fill: #1967D2;\n"," height: 32px;\n"," padding: 0 0 0 0;\n"," width: 32px;\n"," }\n","\n"," .colab-df-convert:hover {\n"," background-color: #E2EBFA;\n"," box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n"," fill: #174EA6;\n"," }\n","\n"," [theme=dark] .colab-df-convert {\n"," background-color: #3B4455;\n"," fill: #D2E3FC;\n"," }\n","\n"," [theme=dark] .colab-df-convert:hover {\n"," background-color: #434B5C;\n"," box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n"," filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n"," fill: #FFFFFF;\n"," }\n"," </style>\n","\n"," <script>\n"," const buttonEl =\n"," document.querySelector('#df-cd87c84d-036f-4dce-a495-71bbca5e5fdf button.colab-df-convert');\n"," buttonEl.style.display =\n"," google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n"," async function convertToInteractive(key) {\n"," const element = document.querySelector('#df-cd87c84d-036f-4dce-a495-71bbca5e5fdf');\n"," const dataTable =\n"," await google.colab.kernel.invokeFunction('convertToInteractive',\n"," [key], {});\n"," if (!dataTable) return;\n","\n"," const docLinkHtml = 'Like what you see? Visit the ' +\n"," '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n"," + ' to learn more about interactive tables.';\n"," element.innerHTML = '';\n"," dataTable['output_type'] = 'display_data';\n"," await google.colab.output.renderOutput(dataTable, element);\n"," const docLink = document.createElement('div');\n"," docLink.innerHTML = docLinkHtml;\n"," element.appendChild(docLink);\n"," }\n"," </script>\n"," </div>\n"," </div>\n"," "]},"metadata":{},"execution_count":14}]},{"cell_type":"code","execution_count":15,"metadata":{"id":"5emo8RDLbDSO","colab":{"base_uri":"https://localhost:8080/","height":312},"executionInfo":{"status":"ok","timestamp":1664607880327,"user_tz":-330,"elapsed":1001,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}},"outputId":"92885935-1efd-4c7e-9a29-5784cee810f1"},"outputs":[{"output_type":"display_data","data":{"text/plain":["<Figure size 432x288 with 1 Axes>"],"image/png":"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\n"},"metadata":{"needs_background":"light"}},{"output_type":"display_data","data":{"text/plain":["<Figure size 432x288 with 0 Axes>"]},"metadata":{}}],"source":["import sklearn.metrics as metrics\n","fpr, tpr, thresholds = metrics.roc_curve(results.label, results.pred_prob)\n","roc_auc = metrics.auc(fpr, tpr)\n","# method I: plt\n","import matplotlib.pyplot as plt\n","plt.title('Receiver Operating Characteristic')\n","plt.plot(fpr, tpr, 'b', label = 'AUC = %0.2f' % roc_auc)\n","plt.legend(loc = 'lower right')\n","plt.ylabel('True Positive Rate')\n","plt.xlabel('False Positive Rate')\n","plt.show()\n","plt.savefig('/content/drive/MyDrive/classification/saved Models/Pretrained InceptionV3/AU|ROC-Curve.jpg')"]},{"cell_type":"markdown","source":["Inference Dataframe for senitivity>0.8"],"metadata":{"id":"T90f3PiCYhFg"}},{"cell_type":"code","source":["inference = pd.DataFrame(columns = ['Threshold', 'Sensitivity','Specificity','Precision','Recall','F1-score'])\n","for i in tqdm(range(len(thresholds))):\n"," th = thresholds[i]\n"," results['pred_label']= results.pred_prob.apply(lambda x: 1 if x>th else 0)\n"," TN, FP, FN, TP = confusion_matrix(results.label,results.pred_label).ravel()\n"," Sensitivity = TP / (FN+TP)\n"," Specificity = TN/(FP+TN)\n"," Recall = TP / (FN+TP)\n"," Precision = TP/(TP+FP)\n"," f1_score = 2 * (Precision * Recall)/ (Precision + Recall)\n"," if(Sensitivity>=0.8):\n"," inference = inference.append({'Threshold':th,\n"," 'Sensitivity':Sensitivity,\n"," 'Specificity': Specificity,\n"," 'Precision': Precision, \n"," 'Recall': Recall, \n"," 'F1-score':f1_score}, ignore_index=True)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":49,"referenced_widgets":["da8c41afc276478a841f4ffed9724024","43eb36f737ae420e9f20f11677f0702c","f81119ed75ea485fb49aa057b362ef2b","ac493186bfe6471ebff086885001e609","916ccfdf720a432a8e9491351cb1d71f","37fbb1ebee66414a8a1a533945fdb80d","e791da757d4640c59a2fcc8e0f7945b1","d72d2e108f4e449f8c78253cfbb0aa72","17dc99394c3c445f8be706962e2c2522","c0f0e7c1fc554c12afaa6d56c78b2ec8","fb0b8d09f48d4f4d82f9a59263d6c41c"]},"id":"K7vJZO7xvcuM","executionInfo":{"status":"ok","timestamp":1664607892508,"user_tz":-330,"elapsed":4455,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}},"outputId":"f874f3ad-6ac7-42a4-c988-baa14a9e03d6"},"execution_count":19,"outputs":[{"output_type":"display_data","data":{"text/plain":[" 0%| | 0/1145 [00:00<?, ?it/s]"],"application/vnd.jupyter.widget-view+json":{"version_major":2,"version_minor":0,"model_id":"da8c41afc276478a841f4ffed9724024"}},"metadata":{}}]},{"cell_type":"code","source":["len(inference)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"qHABXC21GOlD","executionInfo":{"status":"ok","timestamp":1664607895393,"user_tz":-330,"elapsed":633,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}},"outputId":"16e4e60d-9f64-46f5-aa7f-dfc9d19e3514"},"execution_count":20,"outputs":[{"output_type":"execute_result","data":{"text/plain":["349"]},"metadata":{},"execution_count":20}]},{"cell_type":"code","source":["inference.head()"],"metadata":{"id":"3pIwbOBrUct2","executionInfo":{"status":"ok","timestamp":1664607897483,"user_tz":-330,"elapsed":18,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}},"outputId":"afedf2c4-7d9b-4ce7-814b-68e7718bf270","colab":{"base_uri":"https://localhost:8080/","height":206}},"execution_count":21,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" Threshold Sensitivity Specificity Precision Recall F1-score\n","0 0.178629 0.800000 0.741985 0.552167 0.800000 0.653371\n","1 0.177490 0.800775 0.741985 0.552406 0.800775 0.653797\n","2 0.177146 0.802326 0.741985 0.552885 0.802326 0.654649\n","3 0.176570 0.802326 0.741677 0.552589 0.802326 0.654442\n","4 0.176131 0.803876 0.741369 0.552772 0.803876 0.655085"],"text/html":["\n"," <div id=\"df-6d8dfae4-f1c4-4c00-8101-e872848c7cfb\">\n"," <div class=\"colab-df-container\">\n"," <div>\n","<style scoped>\n"," .dataframe tbody tr th:only-of-type {\n"," vertical-align: middle;\n"," }\n","\n"," .dataframe tbody tr th {\n"," vertical-align: top;\n"," }\n","\n"," .dataframe thead th {\n"," text-align: right;\n"," }\n","</style>\n","<table border=\"1\" class=\"dataframe\">\n"," <thead>\n"," <tr style=\"text-align: right;\">\n"," <th></th>\n"," <th>Threshold</th>\n"," <th>Sensitivity</th>\n"," <th>Specificity</th>\n"," <th>Precision</th>\n"," <th>Recall</th>\n"," <th>F1-score</th>\n"," </tr>\n"," </thead>\n"," <tbody>\n"," <tr>\n"," <th>0</th>\n"," <td>0.178629</td>\n"," <td>0.800000</td>\n"," <td>0.741985</td>\n"," <td>0.552167</td>\n"," <td>0.800000</td>\n"," <td>0.653371</td>\n"," </tr>\n"," <tr>\n"," <th>1</th>\n"," <td>0.177490</td>\n"," <td>0.800775</td>\n"," <td>0.741985</td>\n"," <td>0.552406</td>\n"," <td>0.800775</td>\n"," <td>0.653797</td>\n"," </tr>\n"," <tr>\n"," <th>2</th>\n"," <td>0.177146</td>\n"," <td>0.802326</td>\n"," <td>0.741985</td>\n"," <td>0.552885</td>\n"," <td>0.802326</td>\n"," <td>0.654649</td>\n"," </tr>\n"," <tr>\n"," <th>3</th>\n"," <td>0.176570</td>\n"," <td>0.802326</td>\n"," <td>0.741677</td>\n"," <td>0.552589</td>\n"," <td>0.802326</td>\n"," <td>0.654442</td>\n"," </tr>\n"," <tr>\n"," <th>4</th>\n"," <td>0.176131</td>\n"," <td>0.803876</td>\n"," <td>0.741369</td>\n"," <td>0.552772</td>\n"," <td>0.803876</td>\n"," <td>0.655085</td>\n"," </tr>\n"," </tbody>\n","</table>\n","</div>\n"," <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-6d8dfae4-f1c4-4c00-8101-e872848c7cfb')\"\n"," title=\"Convert this dataframe to an interactive table.\"\n"," style=\"display:none;\">\n"," \n"," <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n"," width=\"24px\">\n"," <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n"," <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n"," </svg>\n"," </button>\n"," \n"," <style>\n"," .colab-df-container {\n"," display:flex;\n"," flex-wrap:wrap;\n"," gap: 12px;\n"," }\n","\n"," .colab-df-convert {\n"," background-color: #E8F0FE;\n"," border: none;\n"," border-radius: 50%;\n"," cursor: pointer;\n"," display: none;\n"," fill: #1967D2;\n"," height: 32px;\n"," padding: 0 0 0 0;\n"," width: 32px;\n"," }\n","\n"," .colab-df-convert:hover {\n"," background-color: #E2EBFA;\n"," box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n"," fill: #174EA6;\n"," }\n","\n"," [theme=dark] .colab-df-convert {\n"," background-color: #3B4455;\n"," fill: #D2E3FC;\n"," }\n","\n"," [theme=dark] .colab-df-convert:hover {\n"," background-color: #434B5C;\n"," box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n"," filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n"," fill: #FFFFFF;\n"," }\n"," </style>\n","\n"," <script>\n"," const buttonEl =\n"," document.querySelector('#df-6d8dfae4-f1c4-4c00-8101-e872848c7cfb button.colab-df-convert');\n"," buttonEl.style.display =\n"," google.colab.kernel.accessAllowed ? 'block' : 'none';\n","\n"," async function convertToInteractive(key) {\n"," const element = document.querySelector('#df-6d8dfae4-f1c4-4c00-8101-e872848c7cfb');\n"," const dataTable =\n"," await google.colab.kernel.invokeFunction('convertToInteractive',\n"," [key], {});\n"," if (!dataTable) return;\n","\n"," const docLinkHtml = 'Like what you see? Visit the ' +\n"," '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n"," + ' to learn more about interactive tables.';\n"," element.innerHTML = '';\n"," dataTable['output_type'] = 'display_data';\n"," await google.colab.output.renderOutput(dataTable, element);\n"," const docLink = document.createElement('div');\n"," docLink.innerHTML = docLinkHtml;\n"," element.appendChild(docLink);\n"," }\n"," </script>\n"," </div>\n"," </div>\n"," "]},"metadata":{},"execution_count":21}]},{"cell_type":"code","source":["inference.to_csv('/content/drive/MyDrive/classification/saved Models/Pretrained InceptionV3/inference.csv')"],"metadata":{"id":"W8bAowngvikZ","executionInfo":{"status":"ok","timestamp":1664607902434,"user_tz":-330,"elapsed":641,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}}},"execution_count":22,"outputs":[]},{"cell_type":"code","source":["model_tracker = pd.read_csv('/content/drive/MyDrive/Model_Tracker_Deeptek.csv')\n","model_tracker = model_tracker.append({'model_id': \"IV3_1\",\n"," 'architecture': \"InceptionV3\",\n"," 'batch_size': batch_size,\n"," 'img_size': IMG_SIZE,\n"," 'learning_rate': INIT_LR,\n"," 'optimizer': \"Adam\",\n"," 'lossfunction': \"Binary Crossentropy\",\n"," 'weight_path': \"/content/drive/MyDrive/classification/saved Models/Pretrained InceptionV3/InceptionV3-model.h5\" ,\n"," 'logs_path': \"/content/drive/MyDrive/logs/Binary_Classification_InceptionV3_1.csv\",\n"," 'Colab_URL': \"https://colab.research.google.com/drive/1ZM3_SiDqyMx9aLezFZkEYX6fCXTL2hUP#scrollTo=cuvaItqflfiQ\",\n"," 'comments': \"The image size for this model training was 512 x 512 with a good AU|ROC score of 0.86\"},ignore_index = True)\n","model_tracker.to_csv('/content/drive/MyDrive/Model_Tracker_Deeptek.csv')"],"metadata":{"id":"cuvaItqflfiQ"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["model_tracker = model_tracker.drop(columns = ['Unnamed: 0'])\n","model_tracker.to_csv('/content/drive/MyDrive/Model_Tracker_Deeptek.csv')"],"metadata":{"id":"ZB3vvpHJQCOG"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":[],"metadata":{"id":"SDTk0MkzQUiz"},"execution_count":null,"outputs":[]}],"metadata":{"colab":{"collapsed_sections":[],"provenance":[{"file_id":"1DxIczGkuI7LQS-kSyqixAq4DzxLspp0H","timestamp":1662711720675},{"file_id":"17J-0KJ8WQiHLx1zVFjjgr7_wNB9xRmA1","timestamp":1662466000152},{"file_id":"1U3dCtpGbpCuS09N4D_WhQ_S2Y3ybsR75","timestamp":1662444625047},{"file_id":"1m_V1-uCuR3uo--0Lj8e_cZyQAJ5e5YCB","timestamp":1661840992997},{"file_id":"1EanXRj0V1ttzigcm6cKz6LLUiD2MFOZN","timestamp":1661422765929}],"mount_file_id":"1ZM3_SiDqyMx9aLezFZkEYX6fCXTL2hUP","authorship_tag":"ABX9TyPrYxHp2ErJ5BqjoJz+sMsj"},"gpuClass":"standard","kernelspec":{"display_name":"Python 3","name":"python3"},"language_info":{"name":"python"},"accelerator":"GPU","widgets":{"application/vnd.jupyter.widget-state+json":{"7719fe1373e24a69a9ce44f31daf0dd6":{"model_module":"@jupyter-widgets/controls","model_name":"HBoxModel","model_module_version":"1.5.0","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_model_name":"HBoxModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"1.5.0","_view_name":"HBoxView","box_style":"","children":["IPY_MODEL_123e8e9328a8498a8101f3cb69393c7f","IPY_MODEL_680764b01394413e8193b4fa15e49b7a","IPY_MODEL_b3765e4a740a4116ab47215ac29eaa9a"],"layout":"IPY_MODEL_8b81965166484d5d8e2f0a44a2cc4d2d"}},"123e8e9328a8498a8101f3cb69393c7f":{"model_module":"@jupyter-widgets/controls","model_name":"HTMLModel","model_module_version":"1.5.0","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"1.5.0","_view_name":"HTMLView","description":"","description_tooltip":null,"layout":"IPY_MODEL_194bcd2ba6b4497aa7362dcf6f86d36c","placeholder":"","style":"IPY_MODEL_0899c0b21acd45fd9b3c08b5645528d8","value":" 0%"}},"680764b01394413e8193b4fa15e49b7a":{"model_module":"@jupyter-widgets/controls","model_name":"FloatProgressModel","model_module_version":"1.5.0","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_model_name":"FloatProgressModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"1.5.0","_view_name":"ProgressView","bar_style":"","description":"","description_tooltip":null,"layout":"IPY_MODEL_e9056f24a9114622878545959f9eec77","max":4534,"min":0,"orientation":"horizontal","style":"IPY_MODEL_b72afa9a928143a5846f8c688a37a0e5","value":0}},"b3765e4a740a4116ab47215ac29eaa9a":{"model_module":"@jupyter-widgets/controls","model_name":"HTMLModel","model_module_version":"1.5.0","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"1.5.0","_view_name":"HTMLView","description":"","description_tooltip":null,"layout":"IPY_MODEL_7756f289455040b7acdf38c909f04af8","placeholder":"","style":"IPY_MODEL_afb2d739350d4fe3a545729a89fe0c1f","value":" 0/4534 [00:00<?, ?it/s]"}},"8b81965166484d5d8e2f0a44a2cc4d2d":{"model_module":"@jupyter-widgets/base","model_name":"LayoutModel","model_module_version":"1.2.0","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"1.2.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"1.2.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border":null,"bottom":null,"display":null,"flex":null,"flex_flow":null,"grid_area":null,"grid_auto_columns":null,"grid_auto_flow":null,"grid_auto_rows":null,"grid_column":null,"grid_gap":null,"grid_row":null,"grid_template_areas":null,"grid_template_columns":null,"grid_template_rows":null,"height":null,"justify_content":null,"justify_items":null,"left":null,"margin":null,"max_height":null,"max_width":null,"min_height":null,"min_width":null,"object_fit":null,"object_position":null,"order":null,"overflow":null,"overflow_x":null,"overflow_y":null,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"194bcd2ba6b4497aa7362dcf6f86d36c":{"model_module":"@jupyter-widgets/base","model_name":"LayoutModel","model_module_version":"1.2.0","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"1.2.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"1.2.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border":null,"bottom":null,"display":null,"flex":null,"flex_flow":null,"grid_area":null,"grid_auto_columns":null,"grid_auto_flow":null,"grid_auto_rows":null,"grid_column":null,"grid_gap":null,"grid_row":null,"grid_template_areas":null,"grid_template_columns":null,"grid_template_rows":null,"height":null,"justify_content":null,"justify_items":null,"left":null,"margin":null,"max_height":null,"max_width":null,"min_height":null,"min_width":null,"object_fit":null,"object_position":null,"order":null,"overflow":null,"overflow_x":null,"overflow_y":null,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"0899c0b21acd45fd9b3c08b5645528d8":{"model_module":"@jupyter-widgets/controls","model_name":"DescriptionStyleModel","model_module_version":"1.5.0","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_model_name":"DescriptionStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"1.2.0","_view_name":"StyleView","description_width":""}},"e9056f24a9114622878545959f9eec77":{"model_module":"@jupyter-widgets/base","model_name":"LayoutModel","model_module_version":"1.2.0","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"1.2.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"1.2.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border":null,"bottom":null,"display":null,"flex":null,"flex_flow":null,"grid_area":null,"grid_auto_columns":null,"grid_auto_flow":null,"grid_auto_rows":null,"grid_column":null,"grid_gap":null,"grid_row":null,"grid_template_areas":null,"grid_template_columns":null,"grid_template_rows":null,"height":null,"justify_content":null,"justify_items":null,"left":null,"margin":null,"max_height":null,"max_width":null,"min_height":null,"min_width":null,"object_fit":null,"object_position":null,"order":null,"overflow":null,"overflow_x":null,"overflow_y":null,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"b72afa9a928143a5846f8c688a37a0e5":{"model_module":"@jupyter-widgets/controls","model_name":"ProgressStyleModel","model_module_version":"1.5.0","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_model_name":"ProgressStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"1.2.0","_view_name":"StyleView","bar_color":null,"description_width":""}},"7756f289455040b7acdf38c909f04af8":{"model_module":"@jupyter-widgets/base","model_name":"LayoutModel","model_module_version":"1.2.0","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"1.2.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"1.2.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border":null,"bottom":null,"display":null,"flex":null,"flex_flow":null,"grid_area":null,"grid_auto_columns":null,"grid_auto_flow":null,"grid_auto_rows":null,"grid_column":null,"grid_gap":null,"grid_row":null,"grid_template_areas":null,"grid_template_columns":null,"grid_template_rows":null,"height":null,"justify_content":null,"justify_items":null,"left":null,"margin":null,"max_height":null,"max_width":null,"min_height":null,"min_width":null,"object_fit":null,"object_position":null,"order":null,"overflow":null,"overflow_x":null,"overflow_y":null,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"afb2d739350d4fe3a545729a89fe0c1f":{"model_module":"@jupyter-widgets/controls","model_name":"DescriptionStyleModel","model_module_version":"1.5.0","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_model_name":"DescriptionStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"1.2.0","_view_name":"StyleView","description_width":""}},"da8c41afc276478a841f4ffed9724024":{"model_module":"@jupyter-widgets/controls","model_name":"HBoxModel","model_module_version":"1.5.0","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_model_name":"HBoxModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"1.5.0","_view_name":"HBoxView","box_style":"","children":["IPY_MODEL_43eb36f737ae420e9f20f11677f0702c","IPY_MODEL_f81119ed75ea485fb49aa057b362ef2b","IPY_MODEL_ac493186bfe6471ebff086885001e609"],"layout":"IPY_MODEL_916ccfdf720a432a8e9491351cb1d71f"}},"43eb36f737ae420e9f20f11677f0702c":{"model_module":"@jupyter-widgets/controls","model_name":"HTMLModel","model_module_version":"1.5.0","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"1.5.0","_view_name":"HTMLView","description":"","description_tooltip":null,"layout":"IPY_MODEL_37fbb1ebee66414a8a1a533945fdb80d","placeholder":"","style":"IPY_MODEL_e791da757d4640c59a2fcc8e0f7945b1","value":"100%"}},"f81119ed75ea485fb49aa057b362ef2b":{"model_module":"@jupyter-widgets/controls","model_name":"FloatProgressModel","model_module_version":"1.5.0","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_model_name":"FloatProgressModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"1.5.0","_view_name":"ProgressView","bar_style":"success","description":"","description_tooltip":null,"layout":"IPY_MODEL_d72d2e108f4e449f8c78253cfbb0aa72","max":1145,"min":0,"orientation":"horizontal","style":"IPY_MODEL_17dc99394c3c445f8be706962e2c2522","value":1145}},"ac493186bfe6471ebff086885001e609":{"model_module":"@jupyter-widgets/controls","model_name":"HTMLModel","model_module_version":"1.5.0","state":{"_dom_classes":[],"_model_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_model_name":"HTMLModel","_view_count":null,"_view_module":"@jupyter-widgets/controls","_view_module_version":"1.5.0","_view_name":"HTMLView","description":"","description_tooltip":null,"layout":"IPY_MODEL_c0f0e7c1fc554c12afaa6d56c78b2ec8","placeholder":"","style":"IPY_MODEL_fb0b8d09f48d4f4d82f9a59263d6c41c","value":" 1145/1145 [00:04<00:00, 210.66it/s]"}},"916ccfdf720a432a8e9491351cb1d71f":{"model_module":"@jupyter-widgets/base","model_name":"LayoutModel","model_module_version":"1.2.0","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"1.2.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"1.2.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border":null,"bottom":null,"display":null,"flex":null,"flex_flow":null,"grid_area":null,"grid_auto_columns":null,"grid_auto_flow":null,"grid_auto_rows":null,"grid_column":null,"grid_gap":null,"grid_row":null,"grid_template_areas":null,"grid_template_columns":null,"grid_template_rows":null,"height":null,"justify_content":null,"justify_items":null,"left":null,"margin":null,"max_height":null,"max_width":null,"min_height":null,"min_width":null,"object_fit":null,"object_position":null,"order":null,"overflow":null,"overflow_x":null,"overflow_y":null,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"37fbb1ebee66414a8a1a533945fdb80d":{"model_module":"@jupyter-widgets/base","model_name":"LayoutModel","model_module_version":"1.2.0","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"1.2.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"1.2.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border":null,"bottom":null,"display":null,"flex":null,"flex_flow":null,"grid_area":null,"grid_auto_columns":null,"grid_auto_flow":null,"grid_auto_rows":null,"grid_column":null,"grid_gap":null,"grid_row":null,"grid_template_areas":null,"grid_template_columns":null,"grid_template_rows":null,"height":null,"justify_content":null,"justify_items":null,"left":null,"margin":null,"max_height":null,"max_width":null,"min_height":null,"min_width":null,"object_fit":null,"object_position":null,"order":null,"overflow":null,"overflow_x":null,"overflow_y":null,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"e791da757d4640c59a2fcc8e0f7945b1":{"model_module":"@jupyter-widgets/controls","model_name":"DescriptionStyleModel","model_module_version":"1.5.0","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_model_name":"DescriptionStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"1.2.0","_view_name":"StyleView","description_width":""}},"d72d2e108f4e449f8c78253cfbb0aa72":{"model_module":"@jupyter-widgets/base","model_name":"LayoutModel","model_module_version":"1.2.0","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"1.2.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"1.2.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border":null,"bottom":null,"display":null,"flex":null,"flex_flow":null,"grid_area":null,"grid_auto_columns":null,"grid_auto_flow":null,"grid_auto_rows":null,"grid_column":null,"grid_gap":null,"grid_row":null,"grid_template_areas":null,"grid_template_columns":null,"grid_template_rows":null,"height":null,"justify_content":null,"justify_items":null,"left":null,"margin":null,"max_height":null,"max_width":null,"min_height":null,"min_width":null,"object_fit":null,"object_position":null,"order":null,"overflow":null,"overflow_x":null,"overflow_y":null,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"17dc99394c3c445f8be706962e2c2522":{"model_module":"@jupyter-widgets/controls","model_name":"ProgressStyleModel","model_module_version":"1.5.0","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_model_name":"ProgressStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"1.2.0","_view_name":"StyleView","bar_color":null,"description_width":""}},"c0f0e7c1fc554c12afaa6d56c78b2ec8":{"model_module":"@jupyter-widgets/base","model_name":"LayoutModel","model_module_version":"1.2.0","state":{"_model_module":"@jupyter-widgets/base","_model_module_version":"1.2.0","_model_name":"LayoutModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"1.2.0","_view_name":"LayoutView","align_content":null,"align_items":null,"align_self":null,"border":null,"bottom":null,"display":null,"flex":null,"flex_flow":null,"grid_area":null,"grid_auto_columns":null,"grid_auto_flow":null,"grid_auto_rows":null,"grid_column":null,"grid_gap":null,"grid_row":null,"grid_template_areas":null,"grid_template_columns":null,"grid_template_rows":null,"height":null,"justify_content":null,"justify_items":null,"left":null,"margin":null,"max_height":null,"max_width":null,"min_height":null,"min_width":null,"object_fit":null,"object_position":null,"order":null,"overflow":null,"overflow_x":null,"overflow_y":null,"padding":null,"right":null,"top":null,"visibility":null,"width":null}},"fb0b8d09f48d4f4d82f9a59263d6c41c":{"model_module":"@jupyter-widgets/controls","model_name":"DescriptionStyleModel","model_module_version":"1.5.0","state":{"_model_module":"@jupyter-widgets/controls","_model_module_version":"1.5.0","_model_name":"DescriptionStyleModel","_view_count":null,"_view_module":"@jupyter-widgets/base","_view_module_version":"1.2.0","_view_name":"StyleView","description_width":""}}}}},"nbformat":4,"nbformat_minor":0} \ No newline at end of file