|
|
1 |
{"cells":[{"cell_type":"code","execution_count":2,"metadata":{"executionInfo":{"elapsed":3184,"status":"ok","timestamp":1664608506621,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"poHYeV3mMjlX"},"outputs":[],"source":["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 fast_ml.model_development import train_valid_test_split"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"ZMBvYPXhRRGZ"},"outputs":[],"source":["Merged = pd.read_csv('/content/drive/MyDrive/Data/Merged.csv')"]},{"cell_type":"code","execution_count":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":391},"executionInfo":{"elapsed":38,"status":"ok","timestamp":1663264216075,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"LK3T9HxO-TUc","outputId":"5df385f1-2161-43ed-cb38-f99d02df94c1"},"outputs":[{"output_type":"execute_result","data":{"text/plain":["<matplotlib.axes._subplots.AxesSubplot at 0x7f090f061850>"]},"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":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":493},"executionInfo":{"elapsed":34,"status":"ok","timestamp":1663264216076,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"Ca7T3RBtgRSb","outputId":"50354875-6eeb-466e-cbbc-e1cd25fadac3"},"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-7d33c296-462c-48ce-8180-bb9052482644\">\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-7d33c296-462c-48ce-8180-bb9052482644')\"\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-7d33c296-462c-48ce-8180-bb9052482644 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-7d33c296-462c-48ce-8180-bb9052482644');\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":null,"metadata":{"id":"LH9RS3sDN8P2"},"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":null,"metadata":{"id":"ro0Gb14rhXeM"},"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":null,"metadata":{"id":"qNYoVc3rwsW1"},"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":null,"metadata":{"id":"n9YjtICJQaM9"},"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":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":35,"status":"ok","timestamp":1663264228605,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"bmK_HlgOdnJ6","outputId":"8c271920-4c9f-45d0-882b-f6124cb89422"},"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":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":33,"status":"ok","timestamp":1663264228606,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"VHAwwwbBdx-m","outputId":"e247f5b9-b961-432f-c481-9b8fbeccea27"},"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":null,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"elapsed":26,"status":"ok","timestamp":1663264228607,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"tXcwqvkoNO9S","outputId":"45192d94-1b3f-40ce-9ec6-36d9b9b55e4f"},"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":null,"metadata":{"id":"C1Ci2twRcf1l"},"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":8156,"status":"ok","timestamp":1663264238683,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"44POQXYOz0LQ","outputId":"9d3f1515-a5ee-42a7-8fc8-33ed72bce668"},"outputs":[{"output_type":"stream","name":"stdout","text":["Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/resnet/resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5\n","94773248/94765736 [==============================] - 1s 0us/step\n","94781440/94765736 [==============================] - 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"," conv1_pad (ZeroPadding2D) (None, 518, 518, 3) 0 ['input_1[0][0]'] \n"," \n"," conv1_conv (Conv2D) (None, 256, 256, 64 9472 ['conv1_pad[0][0]'] \n"," ) \n"," \n"," conv1_bn (BatchNormalization) (None, 256, 256, 64 256 ['conv1_conv[0][0]'] \n"," ) \n"," \n"," conv1_relu (Activation) (None, 256, 256, 64 0 ['conv1_bn[0][0]'] \n"," ) \n"," \n"," pool1_pad (ZeroPadding2D) (None, 258, 258, 64 0 ['conv1_relu[0][0]'] \n"," ) \n"," \n"," pool1_pool (MaxPooling2D) (None, 128, 128, 64 0 ['pool1_pad[0][0]'] \n"," ) \n"," \n"," conv2_block1_1_conv (Conv2D) (None, 128, 128, 64 4160 ['pool1_pool[0][0]'] \n"," ) \n"," \n"," conv2_block1_1_bn (BatchNormal (None, 128, 128, 64 256 ['conv2_block1_1_conv[0][0]'] \n"," ization) ) \n"," \n"," conv2_block1_1_relu (Activatio (None, 128, 128, 64 0 ['conv2_block1_1_bn[0][0]'] \n"," n) ) \n"," \n"," conv2_block1_2_conv (Conv2D) (None, 128, 128, 64 36928 ['conv2_block1_1_relu[0][0]'] \n"," ) \n"," \n"," conv2_block1_2_bn (BatchNormal (None, 128, 128, 64 256 ['conv2_block1_2_conv[0][0]'] \n"," ization) ) \n"," \n"," conv2_block1_2_relu (Activatio (None, 128, 128, 64 0 ['conv2_block1_2_bn[0][0]'] \n"," n) ) \n"," \n"," conv2_block1_0_conv (Conv2D) (None, 128, 128, 25 16640 ['pool1_pool[0][0]'] \n"," 6) \n"," \n"," conv2_block1_3_conv (Conv2D) (None, 128, 128, 25 16640 ['conv2_block1_2_relu[0][0]'] \n"," 6) \n"," \n"," conv2_block1_0_bn (BatchNormal (None, 128, 128, 25 1024 ['conv2_block1_0_conv[0][0]'] \n"," ization) 6) \n"," \n"," conv2_block1_3_bn (BatchNormal (None, 128, 128, 25 1024 ['conv2_block1_3_conv[0][0]'] \n"," ization) 6) \n"," \n"," conv2_block1_add (Add) (None, 128, 128, 25 0 ['conv2_block1_0_bn[0][0]', \n"," 6) 'conv2_block1_3_bn[0][0]'] \n"," \n"," conv2_block1_out (Activation) (None, 128, 128, 25 0 ['conv2_block1_add[0][0]'] \n"," 6) \n"," \n"," conv2_block2_1_conv (Conv2D) (None, 128, 128, 64 16448 ['conv2_block1_out[0][0]'] \n"," ) \n"," \n"," conv2_block2_1_bn (BatchNormal (None, 128, 128, 64 256 ['conv2_block2_1_conv[0][0]'] \n"," ization) ) \n"," \n"," conv2_block2_1_relu (Activatio (None, 128, 128, 64 0 ['conv2_block2_1_bn[0][0]'] \n"," n) ) \n"," \n"," conv2_block2_2_conv (Conv2D) (None, 128, 128, 64 36928 ['conv2_block2_1_relu[0][0]'] \n"," ) \n"," \n"," conv2_block2_2_bn (BatchNormal (None, 128, 128, 64 256 ['conv2_block2_2_conv[0][0]'] \n"," ization) ) \n"," \n"," conv2_block2_2_relu (Activatio (None, 128, 128, 64 0 ['conv2_block2_2_bn[0][0]'] \n"," n) ) \n"," \n"," conv2_block2_3_conv (Conv2D) (None, 128, 128, 25 16640 ['conv2_block2_2_relu[0][0]'] \n"," 6) \n"," \n"," conv2_block2_3_bn (BatchNormal (None, 128, 128, 25 1024 ['conv2_block2_3_conv[0][0]'] \n"," ization) 6) \n"," \n"," conv2_block2_add (Add) (None, 128, 128, 25 0 ['conv2_block1_out[0][0]', \n"," 6) 'conv2_block2_3_bn[0][0]'] \n"," \n"," conv2_block2_out (Activation) (None, 128, 128, 25 0 ['conv2_block2_add[0][0]'] \n"," 6) \n"," \n"," conv2_block3_1_conv (Conv2D) (None, 128, 128, 64 16448 ['conv2_block2_out[0][0]'] \n"," ) \n"," \n"," conv2_block3_1_bn (BatchNormal (None, 128, 128, 64 256 ['conv2_block3_1_conv[0][0]'] \n"," ization) ) \n"," \n"," conv2_block3_1_relu (Activatio (None, 128, 128, 64 0 ['conv2_block3_1_bn[0][0]'] \n"," n) ) \n"," \n"," conv2_block3_2_conv (Conv2D) (None, 128, 128, 64 36928 ['conv2_block3_1_relu[0][0]'] \n"," ) \n"," \n"," conv2_block3_2_bn (BatchNormal (None, 128, 128, 64 256 ['conv2_block3_2_conv[0][0]'] \n"," ization) ) \n"," \n"," conv2_block3_2_relu (Activatio (None, 128, 128, 64 0 ['conv2_block3_2_bn[0][0]'] \n"," n) ) \n"," \n"," conv2_block3_3_conv (Conv2D) (None, 128, 128, 25 16640 ['conv2_block3_2_relu[0][0]'] \n"," 6) \n"," \n"," conv2_block3_3_bn (BatchNormal (None, 128, 128, 25 1024 ['conv2_block3_3_conv[0][0]'] \n"," ization) 6) \n"," \n"," conv2_block3_add (Add) (None, 128, 128, 25 0 ['conv2_block2_out[0][0]', \n"," 6) 'conv2_block3_3_bn[0][0]'] \n"," \n"," conv2_block3_out (Activation) (None, 128, 128, 25 0 ['conv2_block3_add[0][0]'] \n"," 6) \n"," \n"," conv3_block1_1_conv (Conv2D) (None, 64, 64, 128) 32896 ['conv2_block3_out[0][0]'] \n"," \n"," conv3_block1_1_bn (BatchNormal (None, 64, 64, 128) 512 ['conv3_block1_1_conv[0][0]'] \n"," ization) \n"," \n"," conv3_block1_1_relu (Activatio (None, 64, 64, 128) 0 ['conv3_block1_1_bn[0][0]'] \n"," n) \n"," \n"," conv3_block1_2_conv (Conv2D) (None, 64, 64, 128) 147584 ['conv3_block1_1_relu[0][0]'] \n"," \n"," conv3_block1_2_bn (BatchNormal (None, 64, 64, 128) 512 ['conv3_block1_2_conv[0][0]'] \n"," ization) \n"," \n"," conv3_block1_2_relu (Activatio (None, 64, 64, 128) 0 ['conv3_block1_2_bn[0][0]'] \n"," n) \n"," \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":[" conv3_block1_0_conv (Conv2D) (None, 64, 64, 512) 131584 ['conv2_block3_out[0][0]'] \n"," \n"," conv3_block1_3_conv (Conv2D) (None, 64, 64, 512) 66048 ['conv3_block1_2_relu[0][0]'] \n"," \n"," conv3_block1_0_bn (BatchNormal (None, 64, 64, 512) 2048 ['conv3_block1_0_conv[0][0]'] \n"," ization) \n"," \n"," conv3_block1_3_bn (BatchNormal (None, 64, 64, 512) 2048 ['conv3_block1_3_conv[0][0]'] \n"," ization) \n"," \n"," conv3_block1_add (Add) (None, 64, 64, 512) 0 ['conv3_block1_0_bn[0][0]', \n"," 'conv3_block1_3_bn[0][0]'] \n"," \n"," conv3_block1_out (Activation) (None, 64, 64, 512) 0 ['conv3_block1_add[0][0]'] \n"," \n"," conv3_block2_1_conv (Conv2D) (None, 64, 64, 128) 65664 ['conv3_block1_out[0][0]'] \n"," \n"," conv3_block2_1_bn (BatchNormal (None, 64, 64, 128) 512 ['conv3_block2_1_conv[0][0]'] \n"," ization) \n"," \n"," conv3_block2_1_relu (Activatio (None, 64, 64, 128) 0 ['conv3_block2_1_bn[0][0]'] \n"," n) \n"," \n"," conv3_block2_2_conv (Conv2D) (None, 64, 64, 128) 147584 ['conv3_block2_1_relu[0][0]'] \n"," \n"," conv3_block2_2_bn (BatchNormal (None, 64, 64, 128) 512 ['conv3_block2_2_conv[0][0]'] \n"," ization) \n"," \n"," conv3_block2_2_relu (Activatio (None, 64, 64, 128) 0 ['conv3_block2_2_bn[0][0]'] \n"," n) \n"," \n"," conv3_block2_3_conv (Conv2D) (None, 64, 64, 512) 66048 ['conv3_block2_2_relu[0][0]'] \n"," \n"," conv3_block2_3_bn (BatchNormal (None, 64, 64, 512) 2048 ['conv3_block2_3_conv[0][0]'] \n"," ization) \n"," \n"," conv3_block2_add (Add) (None, 64, 64, 512) 0 ['conv3_block1_out[0][0]', \n"," 'conv3_block2_3_bn[0][0]'] \n"," \n"," conv3_block2_out (Activation) (None, 64, 64, 512) 0 ['conv3_block2_add[0][0]'] \n"," \n"," conv3_block3_1_conv (Conv2D) (None, 64, 64, 128) 65664 ['conv3_block2_out[0][0]'] \n"," \n"," conv3_block3_1_bn (BatchNormal (None, 64, 64, 128) 512 ['conv3_block3_1_conv[0][0]'] \n"," ization) \n"," \n"," conv3_block3_1_relu (Activatio (None, 64, 64, 128) 0 ['conv3_block3_1_bn[0][0]'] \n"," n) \n"," \n"," conv3_block3_2_conv (Conv2D) (None, 64, 64, 128) 147584 ['conv3_block3_1_relu[0][0]'] \n"," \n"," conv3_block3_2_bn (BatchNormal (None, 64, 64, 128) 512 ['conv3_block3_2_conv[0][0]'] \n"," ization) \n"," \n"," conv3_block3_2_relu (Activatio (None, 64, 64, 128) 0 ['conv3_block3_2_bn[0][0]'] \n"," n) \n"," \n"," conv3_block3_3_conv (Conv2D) (None, 64, 64, 512) 66048 ['conv3_block3_2_relu[0][0]'] \n"," \n"," conv3_block3_3_bn (BatchNormal (None, 64, 64, 512) 2048 ['conv3_block3_3_conv[0][0]'] \n"," ization) \n"," \n"," conv3_block3_add (Add) (None, 64, 64, 512) 0 ['conv3_block2_out[0][0]', \n"," 'conv3_block3_3_bn[0][0]'] \n"," \n"," conv3_block3_out (Activation) (None, 64, 64, 512) 0 ['conv3_block3_add[0][0]'] \n"," \n"," conv3_block4_1_conv (Conv2D) (None, 64, 64, 128) 65664 ['conv3_block3_out[0][0]'] \n"," \n"," conv3_block4_1_bn (BatchNormal (None, 64, 64, 128) 512 ['conv3_block4_1_conv[0][0]'] \n"," ization) \n"," \n"," conv3_block4_1_relu (Activatio (None, 64, 64, 128) 0 ['conv3_block4_1_bn[0][0]'] \n"," n) \n"," \n"," conv3_block4_2_conv (Conv2D) (None, 64, 64, 128) 147584 ['conv3_block4_1_relu[0][0]'] \n"," \n"," conv3_block4_2_bn (BatchNormal (None, 64, 64, 128) 512 ['conv3_block4_2_conv[0][0]'] \n"," ization) \n"," \n"," conv3_block4_2_relu (Activatio (None, 64, 64, 128) 0 ['conv3_block4_2_bn[0][0]'] \n"," n) \n"," \n"," conv3_block4_3_conv (Conv2D) (None, 64, 64, 512) 66048 ['conv3_block4_2_relu[0][0]'] \n"," \n"," conv3_block4_3_bn (BatchNormal (None, 64, 64, 512) 2048 ['conv3_block4_3_conv[0][0]'] \n"," ization) \n"," \n"," conv3_block4_add (Add) (None, 64, 64, 512) 0 ['conv3_block3_out[0][0]', \n"," 'conv3_block4_3_bn[0][0]'] \n"," \n"," conv3_block4_out (Activation) (None, 64, 64, 512) 0 ['conv3_block4_add[0][0]'] \n"," \n"," conv4_block1_1_conv (Conv2D) (None, 32, 32, 256) 131328 ['conv3_block4_out[0][0]'] \n"," \n"," conv4_block1_1_bn (BatchNormal (None, 32, 32, 256) 1024 ['conv4_block1_1_conv[0][0]'] \n"," ization) \n"," \n"," conv4_block1_1_relu (Activatio (None, 32, 32, 256) 0 ['conv4_block1_1_bn[0][0]'] \n"," n) \n"," \n"," conv4_block1_2_conv (Conv2D) (None, 32, 32, 256) 590080 ['conv4_block1_1_relu[0][0]'] \n"," \n"," conv4_block1_2_bn (BatchNormal (None, 32, 32, 256) 1024 ['conv4_block1_2_conv[0][0]'] \n"," ization) \n"," \n"," conv4_block1_2_relu (Activatio (None, 32, 32, 256) 0 ['conv4_block1_2_bn[0][0]'] \n"," n) \n"," \n"," conv4_block1_0_conv (Conv2D) (None, 32, 32, 1024 525312 ['conv3_block4_out[0][0]'] \n"," ) \n"," \n"," conv4_block1_3_conv (Conv2D) (None, 32, 32, 1024 263168 ['conv4_block1_2_relu[0][0]'] \n"," ) \n"," \n"," conv4_block1_0_bn (BatchNormal (None, 32, 32, 1024 4096 ['conv4_block1_0_conv[0][0]'] \n"," ization) ) \n"," \n"," conv4_block1_3_bn (BatchNormal (None, 32, 32, 1024 4096 ['conv4_block1_3_conv[0][0]'] \n"," ization) ) \n"," \n"," conv4_block1_add (Add) (None, 32, 32, 1024 0 ['conv4_block1_0_bn[0][0]', \n"," ) 'conv4_block1_3_bn[0][0]'] \n"," \n"," conv4_block1_out (Activation) (None, 32, 32, 1024 0 ['conv4_block1_add[0][0]'] \n"," ) \n"," \n"," conv4_block2_1_conv (Conv2D) (None, 32, 32, 256) 262400 ['conv4_block1_out[0][0]'] \n"," \n"," conv4_block2_1_bn (BatchNormal (None, 32, 32, 256) 1024 ['conv4_block2_1_conv[0][0]'] \n"," ization) \n"," \n"," conv4_block2_1_relu (Activatio (None, 32, 32, 256) 0 ['conv4_block2_1_bn[0][0]'] \n"," n) \n"," \n"," conv4_block2_2_conv (Conv2D) (None, 32, 32, 256) 590080 ['conv4_block2_1_relu[0][0]'] \n"," \n"," conv4_block2_2_bn (BatchNormal (None, 32, 32, 256) 1024 ['conv4_block2_2_conv[0][0]'] \n"," ization) \n"," \n"," conv4_block2_2_relu (Activatio (None, 32, 32, 256) 0 ['conv4_block2_2_bn[0][0]'] \n"," n) \n"," \n"," conv4_block2_3_conv (Conv2D) (None, 32, 32, 1024 263168 ['conv4_block2_2_relu[0][0]'] \n"," ) \n"," \n"," conv4_block2_3_bn (BatchNormal (None, 32, 32, 1024 4096 ['conv4_block2_3_conv[0][0]'] \n"," ization) ) \n"," \n"," conv4_block2_add (Add) (None, 32, 32, 1024 0 ['conv4_block1_out[0][0]', \n"," ) 'conv4_block2_3_bn[0][0]'] \n"," \n"," conv4_block2_out (Activation) (None, 32, 32, 1024 0 ['conv4_block2_add[0][0]'] \n"," ) \n"," \n"," conv4_block3_1_conv (Conv2D) (None, 32, 32, 256) 262400 ['conv4_block2_out[0][0]'] \n"," \n"," conv4_block3_1_bn (BatchNormal (None, 32, 32, 256) 1024 ['conv4_block3_1_conv[0][0]'] \n"," ization) \n"," \n"," conv4_block3_1_relu (Activatio (None, 32, 32, 256) 0 ['conv4_block3_1_bn[0][0]'] \n"," n) \n"," \n"," conv4_block3_2_conv (Conv2D) (None, 32, 32, 256) 590080 ['conv4_block3_1_relu[0][0]'] \n"," \n"," conv4_block3_2_bn (BatchNormal (None, 32, 32, 256) 1024 ['conv4_block3_2_conv[0][0]'] \n"," ization) \n"," \n"," conv4_block3_2_relu (Activatio (None, 32, 32, 256) 0 ['conv4_block3_2_bn[0][0]'] \n"," n) \n"," \n"," conv4_block3_3_conv (Conv2D) (None, 32, 32, 1024 263168 ['conv4_block3_2_relu[0][0]'] \n"," ) \n"," \n"," conv4_block3_3_bn (BatchNormal (None, 32, 32, 1024 4096 ['conv4_block3_3_conv[0][0]'] \n"," ization) ) \n"," \n"," conv4_block3_add (Add) (None, 32, 32, 1024 0 ['conv4_block2_out[0][0]', \n"," ) 'conv4_block3_3_bn[0][0]'] \n"," \n"," conv4_block3_out (Activation) (None, 32, 32, 1024 0 ['conv4_block3_add[0][0]'] \n"," ) \n"," \n"," conv4_block4_1_conv (Conv2D) (None, 32, 32, 256) 262400 ['conv4_block3_out[0][0]'] \n"," \n"," conv4_block4_1_bn (BatchNormal (None, 32, 32, 256) 1024 ['conv4_block4_1_conv[0][0]'] \n"," ization) \n"," \n"," conv4_block4_1_relu (Activatio (None, 32, 32, 256) 0 ['conv4_block4_1_bn[0][0]'] \n"," n) \n"," \n"," conv4_block4_2_conv (Conv2D) (None, 32, 32, 256) 590080 ['conv4_block4_1_relu[0][0]'] \n"," \n"," conv4_block4_2_bn (BatchNormal (None, 32, 32, 256) 1024 ['conv4_block4_2_conv[0][0]'] \n"," ization) \n"," \n"," conv4_block4_2_relu (Activatio (None, 32, 32, 256) 0 ['conv4_block4_2_bn[0][0]'] \n"," n) \n"," \n"," conv4_block4_3_conv (Conv2D) (None, 32, 32, 1024 263168 ['conv4_block4_2_relu[0][0]'] \n"," ) \n"," \n"," conv4_block4_3_bn (BatchNormal (None, 32, 32, 1024 4096 ['conv4_block4_3_conv[0][0]'] \n"," ization) ) \n"," \n"," conv4_block4_add (Add) (None, 32, 32, 1024 0 ['conv4_block3_out[0][0]', \n"," ) 'conv4_block4_3_bn[0][0]'] \n"," \n"," conv4_block4_out (Activation) (None, 32, 32, 1024 0 ['conv4_block4_add[0][0]'] \n"," ) \n"," \n"," conv4_block5_1_conv (Conv2D) (None, 32, 32, 256) 262400 ['conv4_block4_out[0][0]'] \n"," \n"," conv4_block5_1_bn (BatchNormal (None, 32, 32, 256) 1024 ['conv4_block5_1_conv[0][0]'] \n"," ization) \n"," \n"," conv4_block5_1_relu (Activatio (None, 32, 32, 256) 0 ['conv4_block5_1_bn[0][0]'] \n"," n) \n"," \n"," conv4_block5_2_conv (Conv2D) (None, 32, 32, 256) 590080 ['conv4_block5_1_relu[0][0]'] \n"," \n"," conv4_block5_2_bn (BatchNormal (None, 32, 32, 256) 1024 ['conv4_block5_2_conv[0][0]'] \n"," ization) \n"," \n"," conv4_block5_2_relu (Activatio (None, 32, 32, 256) 0 ['conv4_block5_2_bn[0][0]'] \n"," n) \n"," \n"," conv4_block5_3_conv (Conv2D) (None, 32, 32, 1024 263168 ['conv4_block5_2_relu[0][0]'] \n"," ) \n"," \n"," conv4_block5_3_bn (BatchNormal (None, 32, 32, 1024 4096 ['conv4_block5_3_conv[0][0]'] \n"," ization) ) \n"," \n"," conv4_block5_add (Add) (None, 32, 32, 1024 0 ['conv4_block4_out[0][0]', \n"," ) 'conv4_block5_3_bn[0][0]'] \n"," \n"," conv4_block5_out (Activation) (None, 32, 32, 1024 0 ['conv4_block5_add[0][0]'] \n"," ) \n"," \n"," conv4_block6_1_conv (Conv2D) (None, 32, 32, 256) 262400 ['conv4_block5_out[0][0]'] \n"," \n"," conv4_block6_1_bn (BatchNormal (None, 32, 32, 256) 1024 ['conv4_block6_1_conv[0][0]'] \n"," ization) \n"," \n"," conv4_block6_1_relu (Activatio (None, 32, 32, 256) 0 ['conv4_block6_1_bn[0][0]'] \n"," n) \n"," \n"," conv4_block6_2_conv (Conv2D) (None, 32, 32, 256) 590080 ['conv4_block6_1_relu[0][0]'] \n"," \n"," conv4_block6_2_bn (BatchNormal (None, 32, 32, 256) 1024 ['conv4_block6_2_conv[0][0]'] \n"," ization) \n"," \n"," conv4_block6_2_relu (Activatio (None, 32, 32, 256) 0 ['conv4_block6_2_bn[0][0]'] \n"," n) \n"," \n"," conv4_block6_3_conv (Conv2D) (None, 32, 32, 1024 263168 ['conv4_block6_2_relu[0][0]'] \n"," ) \n"," \n"," conv4_block6_3_bn (BatchNormal (None, 32, 32, 1024 4096 ['conv4_block6_3_conv[0][0]'] \n"," ization) ) \n"," \n"," conv4_block6_add (Add) (None, 32, 32, 1024 0 ['conv4_block5_out[0][0]', \n"," ) 'conv4_block6_3_bn[0][0]'] \n"," \n"," conv4_block6_out (Activation) (None, 32, 32, 1024 0 ['conv4_block6_add[0][0]'] \n"," ) \n"," \n"," conv5_block1_1_conv (Conv2D) (None, 16, 16, 512) 524800 ['conv4_block6_out[0][0]'] \n"," \n"," conv5_block1_1_bn (BatchNormal (None, 16, 16, 512) 2048 ['conv5_block1_1_conv[0][0]'] \n"," ization) \n"," \n"," conv5_block1_1_relu (Activatio (None, 16, 16, 512) 0 ['conv5_block1_1_bn[0][0]'] \n"," n) \n"," \n"," conv5_block1_2_conv (Conv2D) (None, 16, 16, 512) 2359808 ['conv5_block1_1_relu[0][0]'] \n"," \n"," conv5_block1_2_bn (BatchNormal (None, 16, 16, 512) 2048 ['conv5_block1_2_conv[0][0]'] \n"," ization) \n"," \n"," conv5_block1_2_relu (Activatio (None, 16, 16, 512) 0 ['conv5_block1_2_bn[0][0]'] \n"," n) \n"," \n"," conv5_block1_0_conv (Conv2D) (None, 16, 16, 2048 2099200 ['conv4_block6_out[0][0]'] \n"," ) \n"," \n"," conv5_block1_3_conv (Conv2D) (None, 16, 16, 2048 1050624 ['conv5_block1_2_relu[0][0]'] \n"," ) \n"," \n"," conv5_block1_0_bn (BatchNormal (None, 16, 16, 2048 8192 ['conv5_block1_0_conv[0][0]'] \n"," ization) ) \n"," \n"," conv5_block1_3_bn (BatchNormal (None, 16, 16, 2048 8192 ['conv5_block1_3_conv[0][0]'] \n"," ization) ) \n"," \n"," conv5_block1_add (Add) (None, 16, 16, 2048 0 ['conv5_block1_0_bn[0][0]', \n"," ) 'conv5_block1_3_bn[0][0]'] \n"," \n"," conv5_block1_out (Activation) (None, 16, 16, 2048 0 ['conv5_block1_add[0][0]'] \n"," ) \n"," \n"," conv5_block2_1_conv (Conv2D) (None, 16, 16, 512) 1049088 ['conv5_block1_out[0][0]'] \n"," \n"," conv5_block2_1_bn (BatchNormal (None, 16, 16, 512) 2048 ['conv5_block2_1_conv[0][0]'] \n"," ization) \n"," \n"," conv5_block2_1_relu (Activatio (None, 16, 16, 512) 0 ['conv5_block2_1_bn[0][0]'] \n"," n) \n"," \n"," conv5_block2_2_conv (Conv2D) (None, 16, 16, 512) 2359808 ['conv5_block2_1_relu[0][0]'] \n"," \n"," conv5_block2_2_bn (BatchNormal (None, 16, 16, 512) 2048 ['conv5_block2_2_conv[0][0]'] \n"," ization) \n"," \n"," conv5_block2_2_relu (Activatio (None, 16, 16, 512) 0 ['conv5_block2_2_bn[0][0]'] \n"," n) \n"," \n"," conv5_block2_3_conv (Conv2D) (None, 16, 16, 2048 1050624 ['conv5_block2_2_relu[0][0]'] \n"," ) \n"," \n"," conv5_block2_3_bn (BatchNormal (None, 16, 16, 2048 8192 ['conv5_block2_3_conv[0][0]'] \n"," ization) ) \n"," \n"," conv5_block2_add (Add) (None, 16, 16, 2048 0 ['conv5_block1_out[0][0]', \n"," ) 'conv5_block2_3_bn[0][0]'] \n"," \n"," conv5_block2_out (Activation) (None, 16, 16, 2048 0 ['conv5_block2_add[0][0]'] \n"," ) \n"," \n"," conv5_block3_1_conv (Conv2D) (None, 16, 16, 512) 1049088 ['conv5_block2_out[0][0]'] \n"," \n"," conv5_block3_1_bn (BatchNormal (None, 16, 16, 512) 2048 ['conv5_block3_1_conv[0][0]'] \n"," ization) \n"," \n"," conv5_block3_1_relu (Activatio (None, 16, 16, 512) 0 ['conv5_block3_1_bn[0][0]'] \n"," n) \n"," \n"," conv5_block3_2_conv (Conv2D) (None, 16, 16, 512) 2359808 ['conv5_block3_1_relu[0][0]'] \n"," \n"," conv5_block3_2_bn (BatchNormal (None, 16, 16, 512) 2048 ['conv5_block3_2_conv[0][0]'] \n"," ization) \n"," \n"," conv5_block3_2_relu (Activatio (None, 16, 16, 512) 0 ['conv5_block3_2_bn[0][0]'] \n"," n) \n"," \n"," conv5_block3_3_conv (Conv2D) (None, 16, 16, 2048 1050624 ['conv5_block3_2_relu[0][0]'] \n"," ) \n"," \n"," conv5_block3_3_bn (BatchNormal (None, 16, 16, 2048 8192 ['conv5_block3_3_conv[0][0]'] \n"," ization) ) \n"," \n"," conv5_block3_add (Add) (None, 16, 16, 2048 0 ['conv5_block2_out[0][0]', \n"," ) 'conv5_block3_3_bn[0][0]'] \n"," \n"," conv5_block3_out (Activation) (None, 16, 16, 2048 0 ['conv5_block3_add[0][0]'] \n"," ) \n"," \n"," average_pooling2d (AveragePool (None, 4, 4, 2048) 0 ['conv5_block3_out[0][0]'] \n"," ing2D) \n"," \n"," flatten (Flatten) (None, 32768) 0 ['average_pooling2d[0][0]'] \n"," \n"," dense (Dense) (None, 512) 16777728 ['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: 40,366,466\n","Trainable params: 16,778,754\n","Non-trainable params: 23,587,712\n","__________________________________________________________________________________________________\n","None\n"]}],"source":["def ResNet50_Model():\n"," # load the ResNet50 network, ensuring the head FC layer sets are left off\n"," baseModel = tf.keras.applications.resnet50.ResNet50(\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 = ResNet50_Model()\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":{"colab":{"base_uri":"https://localhost:8080/"},"id":"448DW43VMqUG","executionInfo":{"status":"ok","timestamp":1662974801074,"user_tz":-330,"elapsed":2505599,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}},"outputId":"6e7e8eba-75d7-463d-face-192156f28423"},"outputs":[{"output_type":"stream","name":"stdout","text":["Model Directory Already Exists\n","Epoch 1/20\n","165/165 [==============================] - ETA: 0s - loss: 3.3632 - accuracy: 0.5939\n","Epoch 1: val_loss improved from inf to 0.61405, saving model to ./content/drive/MyDrive/classification/saved Models/Pretrained ResNet50/ResNet50-best-model.h5\n","165/165 [==============================] - 408s 2s/step - loss: 3.3632 - accuracy: 0.5939 - val_loss: 0.6141 - val_accuracy: 0.7979 - lr: 0.0010\n","Epoch 2/20\n","165/165 [==============================] - ETA: 0s - loss: 0.6720 - accuracy: 0.6682\n","Epoch 2: val_loss improved from 0.61405 to 0.53106, saving model to ./content/drive/MyDrive/classification/saved Models/Pretrained ResNet50/ResNet50-best-model.h5\n","165/165 [==============================] - 370s 2s/step - loss: 0.6720 - accuracy: 0.6682 - val_loss: 0.5311 - val_accuracy: 0.7996 - lr: 0.0010\n","Epoch 3/20\n","165/165 [==============================] - ETA: 0s - loss: 0.6563 - accuracy: 0.6636\n","Epoch 3: val_loss did not improve from 0.53106\n","165/165 [==============================] - 331s 2s/step - loss: 0.6563 - accuracy: 0.6636 - val_loss: 0.6169 - val_accuracy: 0.7535 - lr: 0.0010\n","Epoch 4/20\n","165/165 [==============================] - ETA: 0s - loss: 0.6660 - accuracy: 0.6394\n","Epoch 4: val_loss did not improve from 0.53106\n","165/165 [==============================] - 306s 2s/step - loss: 0.6660 - accuracy: 0.6394 - val_loss: 0.5646 - val_accuracy: 0.8085 - lr: 0.0010\n","Epoch 5/20\n","165/165 [==============================] - ETA: 0s - loss: 0.6776 - accuracy: 0.6530\n","Epoch 5: val_loss did not improve from 0.53106\n","\n","Epoch 5: ReduceLROnPlateau reducing learning rate to 0.00010000000474974513.\n","165/165 [==============================] - 287s 2s/step - loss: 0.6776 - accuracy: 0.6530 - val_loss: 0.6147 - val_accuracy: 0.7784 - lr: 0.0010\n","Epoch 6/20\n","165/165 [==============================] - ETA: 0s - loss: 0.6400 - accuracy: 0.6727\n","Epoch 6: val_loss did not improve from 0.53106\n","165/165 [==============================] - 270s 2s/step - loss: 0.6400 - accuracy: 0.6727 - val_loss: 0.5693 - val_accuracy: 0.7961 - lr: 1.0000e-04\n","Epoch 7/20\n","165/165 [==============================] - ETA: 0s - loss: 0.6463 - accuracy: 0.6561\n","Epoch 7: val_loss did not improve from 0.53106\n","Restoring model weights from the end of the best epoch: 2.\n","165/165 [==============================] - 245s 1s/step - loss: 0.6463 - accuracy: 0.6561 - val_loss: 0.5707 - val_accuracy: 0.7748 - lr: 1.0000e-04\n","Epoch 7: early stopping\n"]}],"source":["modelPath = '/content/drive/MyDrive/classification/saved Models/Pretrained ResNet50'\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 ResNet50/ResNet50-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_ResNet50_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 ResNet50/ResNet50-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 ResNet50/ResNet50-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":{"colab":{"base_uri":"https://localhost:8080/","height":49,"referenced_widgets":["ca1374cdc94f4dbaaf3106fa8b57c5be","84a3616391c1444f8812fa0377d3f6a0","00b77280040341c4beadb2d2269cbe14","f86085d3dde04d7f8c635664cf3c0b78","e5974205dbee4267a34ec99eeb096bd5","1fe8a7c6119b483692957c4c19c6985a","673f158ab7db44d1bbf72459378f73af","95586fddb6164c6ab5ecf865d61c9d3a","6cd8a69113f744c8abbe3949cae57334","c417dac38b90404c9a6702222471076a","59b5f61cdd03450e99ebfdc806126d3e"]},"executionInfo":{"elapsed":1704424,"status":"ok","timestamp":1662976614585,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"T0QmETN4Om40","outputId":"47b7a57c-a679-4903-8746-4dc0dff7a39d"},"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":"ca1374cdc94f4dbaaf3106fa8b57c5be"}},"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":3,"metadata":{"id":"O4LhABXzeEat","executionInfo":{"status":"ok","timestamp":1664608511239,"user_tz":-330,"elapsed":1049,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}}},"outputs":[],"source":["results = pd.read_csv('/content/drive/MyDrive/classification/saved Models/Pretrained ResNet50/predictions.csv')"]},{"cell_type":"code","execution_count":4,"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":312},"executionInfo":{"elapsed":599,"status":"ok","timestamp":1664608511822,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"},"user_tz":-330},"id":"5emo8RDLbDSO","outputId":"ead86302-f04e-463a-fb25-5e79d9e26ae9"},"outputs":[{"output_type":"display_data","data":{"text/plain":["<Figure size 432x288 with 1 Axes>"],"image/png":"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+auG5s2DAQPC9HvvwYEHJhuPiEim5fwZwd57h+cjjlASEJHclNOJ4OmnC6enTEkuDhGRJOVs1dBXX0G/fmF61KhkYxHJVps2bWLJkiWsX78+6VByRv369WnZsiV16tRJ+zU5mwjOOy8833EH/PKXycYikq2WLFlCo0aNaNOmDWaWdDhZz91ZsWIFS5YsoW3btmm/Lmerhp55JjzrngGR+Kxfv56mTZsqCWSImdG0adMKn4HlZCL46qvwvO++ycYhkguUBDJrW97vnEwE//d/4fmGG5KNQ0SkOsi5RDB6NMydGwagP/nkpKMRkUx49tlnMTM++uijH5ZNnjyZk046qUi5wYMHM27cOCA0dA8bNoz27dvTrVs3Dj30UF588cVKx3LTTTfRrl079t13XyZMmFBiGXfn6quvZp999qFDhw7cfffdAKxatYq+fftywAEH0KNHD2bNmlXpeCDHGos3bYKzzgrTr74K9eolG4+IZMaYMWM4/PDDGTNmDH8s6GK4HL///e/5/PPPmTVrFvXq1ePLL79kSiWvM589ezZjx47lww8/ZNmyZRxzzDF88skn1K5du0i50aNHs3jxYj766CNq1arF8uXLAbjxxhvp0qULzzzzDB999BEXXHABEydOrFRMkGOJoGDYyYEDNdiMSKYNHRru3q9KXbrAnXeWXWbt2rX897//ZdKkSZx88slpJYJ169Zx3333MX/+fOpFvxh33XVXBhR0Q7CNnnvuOQYNGkS9evVo27Yt7dq1Y9q0aRx66KFFyt1zzz089thj1KoVKm122WUXICSSYcOGAbDffvuxYMECvvzyS3bddddKxZVTVUOvvx6ezzwz2ThEJHOee+45evXqxT777EPTpk2ZMWNGua+ZO3curVu3pnHjxuWWvfTSS+nSpctWj5tvvnmrskuXLqVVq1Y/zLds2ZKlS5duVe6zzz7j8ccfJy8vjxNOOIFPP/0UgAMPPJCnozthp02bxsKFC1myZEm5MZYnp84IChJBt27JxiGSi8r75R6XMWPGcMkllwAwaNAgxowZQ/fu3Uu9uqaiV93ccccdlY6xuA0bNlC/fn2mT5/O008/zdlnn83rr7/OsGHDuOSSS+jSpQv7778/Xbt23apaaVvEmgjMrBdwF1AbuN/dby62vh7wMNAdWAEMdPcFccXzxhvhebfd4tqDiFQnK1eu5NVX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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 ResNet50/AU|ROC-Curve.jpg')"]},{"cell_type":"code","execution_count":5,"metadata":{"id":"0l9o2hwUgwDG","colab":{"base_uri":"https://localhost:8080/","height":138,"referenced_widgets":["54cdbda2f60f4a538f9449ae1955026f","11f63e04b0fe4afdbeef0805e98c28f1","d1104695f02e4f6e888e931c7f2b01dc","01556d4dafd641bf8c31dfd86090a2c2","6c51586ad08e4ef2aacffcf85ba60fce","4dd72144a8be4b0fb37a522285d7c2a2","1dc935f1a9cc4e46b713d9e160fb198d","906cc11fd5b54193990604f8f77b9e48","dd3f2d83a43b44419b5a006b9b1bf735","87fb2e0142344a8b97c44e4596fa7800","01e6b4a089c34603864ecb1273618e72"]},"executionInfo":{"status":"ok","timestamp":1664608524485,"user_tz":-330,"elapsed":6357,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}},"outputId":"e5ca5da4-eec4-4f0f-b5eb-439b3e0f8d26"},"outputs":[{"output_type":"display_data","data":{"text/plain":[" 0%| | 0/1355 [00:00<?, ?it/s]"],"application/vnd.jupyter.widget-view+json":{"version_major":2,"version_minor":0,"model_id":"54cdbda2f60f4a538f9449ae1955026f"}},"metadata":{}},{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:11: RuntimeWarning: invalid value encountered in long_scalars\n"," # This is added back by InteractiveShellApp.init_path()\n","/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:11: RuntimeWarning: invalid value encountered in long_scalars\n"," # This is added back by InteractiveShellApp.init_path()\n"]}],"source":["from sklearn.metrics import classification_report,confusion_matrix\n","from tqdm.notebook import tqdm\n","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)"]},{"cell_type":"code","source":["inference.to_csv('/content/drive/MyDrive/classification/saved Models/Pretrained ResNet50/inference.csv')"],"metadata":{"id":"tNp_xmgKZlGD","executionInfo":{"status":"ok","timestamp":1664608575831,"user_tz":-330,"elapsed":422,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}}},"execution_count":6,"outputs":[]},{"cell_type":"code","source":["model_tracker = pd.read_csv('/content/drive/MyDrive/Model_Tracker_Deeptek.csv')\n","\n","model_tracker = model_tracker.append({'model_id': \"RN_1\",\n"," 'architecture': \"ResNet50\",\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 ResNet50/ResNet50-model.h5\" ,\n"," 'logs_path': \"/content/drive/MyDrive/logs/Binary_Classification_ResNet_1.csv\",\n"," 'Colab_URL': \"https://colab.research.google.com/drive/17J-0KJ8WQiHLx1zVFjjgr7_wNB9xRmA1#scrollTo=sXKhxRpwMOxn\",\n"," 'comments': \"The image size for this model training was 512 x 512 and an average Au|ROC score of 0.69\"},ignore_index = True)\n","model_tracker.to_csv('/content/drive/MyDrive/Model_Tracker_Deeptek.csv')"],"metadata":{"id":"sXKhxRpwMOxn"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["model_tracker.to_csv('/content/drive/MyDrive/Model_Tracker_Deeptek.csv')"],"metadata":{"id":"ANTpG8AUVBiP"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":[],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":572},"id":"Pyi3cprRU0Q4","executionInfo":{"status":"ok","timestamp":1663265217700,"user_tz":-330,"elapsed":1263,"user":{"displayName":"Satvik Maheshwari","userId":"09768921556990219284"}},"outputId":"c5f18afe-8460-4dcc-a54c-c751f7b09e01"},"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":[" Unnamed: 0 Unnamed: 0.1 Unnamed: 0.1.1 Unnamed: 0.1.1.1 model_id \\\n","0 0.0 0.0 0.0 NaN DN_1 \n","1 1.0 1.0 NaN NaN IV3_2 \n","3 NaN NaN NaN NaN RN_1 \n","\n"," architecture batch_size img_size learning_rate optimizer loss function \\\n","0 DenseNet121 1 512 0.001 Adam NaN \n","1 InceptionV3 1 512 0.001 Adam NaN \n","3 ResNet50 1 512 0.001 Adam NaN \n","\n"," weight_path \\\n","0 /content/drive/MyDrive/classification/saved Mo... \n","1 /content/drive/MyDrive/classification/saved Mo... \n","3 /content/drive/MyDrive/classification/saved Mo... \n","\n"," logs_path \\\n","0 /content/drive/MyDrive/logs/Binary_Classificat... \n","1 /content/drive/MyDrive/logs/Binary_Classificat... \n","3 /content/drive/MyDrive/logs/Binary_Classificat... \n","\n"," Colab_URL \\\n","0 https://colab.research.google.com/drive/1U3dCt... \n","1 https://colab.research.google.com/drive/1ZDqxD... \n","3 https://colab.research.google.com/drive/17J-0K... \n","\n"," comments lossfunction \n","0 The image size was 512 x 512 and had a good AU... Binary Crossentropy \n","1 The image size for this model training was cha... Binary Crossentropy \n","3 The image size for this model training was 512... Binary Crossentropy "],"text/html":["\n"," <div id=\"df-71fe199d-8b67-4b8a-a839-21a23a757cc9\">\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>Unnamed: 0.1</th>\n"," <th>Unnamed: 0.1.1</th>\n"," <th>Unnamed: 0.1.1.1</th>\n"," <th>model_id</th>\n"," <th>architecture</th>\n"," <th>batch_size</th>\n"," <th>img_size</th>\n"," <th>learning_rate</th>\n"," <th>optimizer</th>\n"," <th>loss function</th>\n"," <th>weight_path</th>\n"," <th>logs_path</th>\n"," <th>Colab_URL</th>\n"," <th>comments</th>\n"," <th>lossfunction</th>\n"," </tr>\n"," </thead>\n"," <tbody>\n"," <tr>\n"," <th>0</th>\n"," <td>0.0</td>\n"," <td>0.0</td>\n"," <td>0.0</td>\n"," <td>NaN</td>\n"," <td>DN_1</td>\n"," <td>DenseNet121</td>\n"," <td>1</td>\n"," <td>512</td>\n"," <td>0.001</td>\n"," <td>Adam</td>\n"," <td>NaN</td>\n"," <td>/content/drive/MyDrive/classification/saved Mo...</td>\n"," <td>/content/drive/MyDrive/logs/Binary_Classificat...</td>\n"," <td>https://colab.research.google.com/drive/1U3dCt...</td>\n"," <td>The image size was 512 x 512 and had a good AU...</td>\n"," <td>Binary Crossentropy</td>\n"," </tr>\n"," <tr>\n"," <th>1</th>\n"," <td>1.0</td>\n"," <td>1.0</td>\n"," <td>NaN</td>\n"," <td>NaN</td>\n"," <td>IV3_2</td>\n"," <td>InceptionV3</td>\n"," <td>1</td>\n"," <td>512</td>\n"," <td>0.001</td>\n"," <td>Adam</td>\n"," <td>NaN</td>\n"," <td>/content/drive/MyDrive/classification/saved Mo...</td>\n"," <td>/content/drive/MyDrive/logs/Binary_Classificat...</td>\n"," <td>https://colab.research.google.com/drive/1ZDqxD...</td>\n"," <td>The image size for this model training was cha...</td>\n"," <td>Binary Crossentropy</td>\n"," </tr>\n"," <tr>\n"," <th>3</th>\n"," <td>NaN</td>\n"," <td>NaN</td>\n"," <td>NaN</td>\n"," <td>NaN</td>\n"," <td>RN_1</td>\n"," <td>ResNet50</td>\n"," <td>1</td>\n"," <td>512</td>\n"," <td>0.001</td>\n"," <td>Adam</td>\n"," <td>NaN</td>\n"," <td>/content/drive/MyDrive/classification/saved Mo...</td>\n"," <td>/content/drive/MyDrive/logs/Binary_Classificat...</td>\n"," <td>https://colab.research.google.com/drive/17J-0K...</td>\n"," <td>The image size for this model training was 512...</td>\n"," <td>Binary Crossentropy</td>\n"," </tr>\n"," </tbody>\n","</table>\n","</div>\n"," <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-71fe199d-8b67-4b8a-a839-21a23a757cc9')\"\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-71fe199d-8b67-4b8a-a839-21a23a757cc9 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-71fe199d-8b67-4b8a-a839-21a23a757cc9');\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":28}]},{"cell_type":"code","source":[],"metadata":{"id":"0NgqKtHUVIgc"},"execution_count":null,"outputs":[]}],"metadata":{"accelerator":"GPU","colab":{"collapsed_sections":[],"provenance":[{"file_id":"1U3dCtpGbpCuS09N4D_WhQ_S2Y3ybsR75","timestamp":1662444625047},{"file_id":"1m_V1-uCuR3uo--0Lj8e_cZyQAJ5e5YCB","timestamp":1661840992997},{"file_id":"1EanXRj0V1ttzigcm6cKz6LLUiD2MFOZN","timestamp":1661422765929}],"mount_file_id":"17J-0KJ8WQiHLx1zVFjjgr7_wNB9xRmA1","authorship_tag":"ABX9TyNQ9SamoPQCw4AnkjNYFktq"},"gpuClass":"standard","kernelspec":{"display_name":"Python 3","name":"python3"},"language_info":{"name":"python"},"widgets":{"application/vnd.jupyter.widget-state+json":{"ca1374cdc94f4dbaaf3106fa8b57c5be":{"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_84a3616391c1444f8812fa0377d3f6a0","IPY_MODEL_00b77280040341c4beadb2d2269cbe14","IPY_MODEL_f86085d3dde04d7f8c635664cf3c0b78"],"layout":"IPY_MODEL_e5974205dbee4267a34ec99eeb096bd5"}},"84a3616391c1444f8812fa0377d3f6a0":{"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_1fe8a7c6119b483692957c4c19c6985a","placeholder":"","style":"IPY_MODEL_673f158ab7db44d1bbf72459378f73af","value":"100%"}},"00b77280040341c4beadb2d2269cbe14":{"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_95586fddb6164c6ab5ecf865d61c9d3a","max":4534,"min":0,"orientation":"horizontal","style":"IPY_MODEL_6cd8a69113f744c8abbe3949cae57334","value":4534}},"f86085d3dde04d7f8c635664cf3c0b78":{"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_c417dac38b90404c9a6702222471076a","placeholder":"","style":"IPY_MODEL_59b5f61cdd03450e99ebfdc806126d3e","value":" 4534/4534 [28:24<00:00, 3.46it/s]"}},"e5974205dbee4267a34ec99eeb096bd5":{"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}},"1fe8a7c6119b483692957c4c19c6985a":{"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}},"673f158ab7db44d1bbf72459378f73af":{"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":""}},"95586fddb6164c6ab5ecf865d61c9d3a":{"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}},"6cd8a69113f744c8abbe3949cae57334":{"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":""}},"c417dac38b90404c9a6702222471076a":{"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}},"59b5f61cdd03450e99ebfdc806126d3e":{"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":""}},"54cdbda2f60f4a538f9449ae1955026f":{"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_11f63e04b0fe4afdbeef0805e98c28f1","IPY_MODEL_d1104695f02e4f6e888e931c7f2b01dc","IPY_MODEL_01556d4dafd641bf8c31dfd86090a2c2"],"layout":"IPY_MODEL_6c51586ad08e4ef2aacffcf85ba60fce"}},"11f63e04b0fe4afdbeef0805e98c28f1":{"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_4dd72144a8be4b0fb37a522285d7c2a2","placeholder":"","style":"IPY_MODEL_1dc935f1a9cc4e46b713d9e160fb198d","value":"100%"}},"d1104695f02e4f6e888e931c7f2b01dc":{"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_906cc11fd5b54193990604f8f77b9e48","max":1355,"min":0,"orientation":"horizontal","style":"IPY_MODEL_dd3f2d83a43b44419b5a006b9b1bf735","value":1355}},"01556d4dafd641bf8c31dfd86090a2c2":{"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_87fb2e0142344a8b97c44e4596fa7800","placeholder":"","style":"IPY_MODEL_01e6b4a089c34603864ecb1273618e72","value":" 1355/1355 [00:05<00:00, 133.47it/s]"}},"6c51586ad08e4ef2aacffcf85ba60fce":{"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}},"4dd72144a8be4b0fb37a522285d7c2a2":{"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}},"1dc935f1a9cc4e46b713d9e160fb198d":{"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":""}},"906cc11fd5b54193990604f8f77b9e48":{"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}},"dd3f2d83a43b44419b5a006b9b1bf735":{"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":""}},"87fb2e0142344a8b97c44e4596fa7800":{"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}},"01e6b4a089c34603864ecb1273618e72":{"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} |