{"cells":[{"cell_type":"code","execution_count":45,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"execution":{"iopub.execute_input":"2024-02-23T13:22:16.180282Z","iopub.status.busy":"2024-02-23T13:22:16.179817Z","iopub.status.idle":"2024-02-23T13:22:28.785079Z","shell.execute_reply":"2024-02-23T13:22:28.783861Z","shell.execute_reply.started":"2024-02-23T13:22:16.180246Z"},"id":"OLvIw7npyoI5","outputId":"a37f0ece-087a-4d87-b2f0-931dd2de3515","trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":["Requirement already satisfied: imutils in /opt/conda/lib/python3.10/site-packages (0.5.4)\n","Note: you may need to restart the kernel to use updated packages.\n"]}],"source":["pip install imutils"]},{"cell_type":"code","execution_count":46,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:22:28.788395Z","iopub.status.busy":"2024-02-23T13:22:28.787939Z","iopub.status.idle":"2024-02-23T13:22:28.803987Z","shell.execute_reply":"2024-02-23T13:22:28.802880Z","shell.execute_reply.started":"2024-02-23T13:22:28.788363Z"},"id":"Lk1i20zOyoI6","trusted":true},"outputs":[],"source":["import numpy as np\n","import pandas as pd\n","import os\n","from os import listdir\n","import tensorflow as tf\n","from keras.preprocessing.image import ImageDataGenerator\n","import cv2\n","import matplotlib.pyplot as plt\n","%matplotlib inline\n","import imutils\n","\n","from tensorflow.keras.models import Model,load_model\n","from tensorflow.keras.layers import Conv2D,Input,ZeroPadding2D,BatchNormalization,Flatten,Activation,Dense,MaxPooling2D\n","from sklearn.model_selection import train_test_split\n","from sklearn.utils import shuffle \n","import matplotlib.pyplot as plt\n","import seaborn as sns\n","import keras\n","from keras.preprocessing.image import ImageDataGenerator\n","from sklearn.model_selection import train_test_split\n","from sklearn.metrics import classification_report,confusion_matrix\n","from keras.callbacks import ReduceLROnPlateau\n","import cv2\n","import os\n","import numpy as np\n","import pandas as pd\n","from sklearn.metrics import mean_absolute_error\n","from sklearn.metrics import mean_squared_error\n","from sklearn.metrics import r2_score\n","from sklearn.metrics import matthews_corrcoef"]},{"cell_type":"markdown","metadata":{"id":"6wz0z745yoI6"},"source":["# Preprocessing part"]},{"cell_type":"code","execution_count":47,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:22:28.805418Z","iopub.status.busy":"2024-02-23T13:22:28.805122Z","iopub.status.idle":"2024-02-23T13:22:28.819854Z","shell.execute_reply":"2024-02-23T13:22:28.819050Z","shell.execute_reply.started":"2024-02-23T13:22:28.805394Z"},"id":"ETeYPrtoyoI7","trusted":true},"outputs":[],"source":["image_dir=\"/kaggle/input\""]},{"cell_type":"code","execution_count":48,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:22:28.822673Z","iopub.status.busy":"2024-02-23T13:22:28.822371Z","iopub.status.idle":"2024-02-23T13:22:28.836916Z","shell.execute_reply":"2024-02-23T13:22:28.836097Z","shell.execute_reply.started":"2024-02-23T13:22:28.822648Z"},"id":"Mjb7o1iCyoI7","trusted":true},"outputs":[],"source":["import cv2\n","import numpy as np\n","import imutils\n","import matplotlib.pyplot as plt\n","\n","def crop_brain_contour(image, plot=False):\n","    if len(image.shape) == 2:\n","        gray = image  \n","    else:\n","        gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)\n","\n","    gray = cv2.GaussianBlur(gray, (5, 5), 0)\n","\n","    thresh = cv2.threshold(gray, 45, 255, cv2.THRESH_BINARY)[1]\n","    thresh = cv2.erode(thresh, None, iterations=2)\n","    thresh = cv2.dilate(thresh, None, iterations=2)\n","\n","    cnts = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)\n","    cnts = imutils.grab_contours(cnts)\n","    c = max(cnts, key=cv2.contourArea)\n","\n","    extLeft = tuple(c[c[:, :, 0].argmin()][0])\n","    extRight = tuple(c[c[:, :, 0].argmax()][0])\n","    extTop = tuple(c[c[:, :, 1].argmin()][0])\n","    extBot = tuple(c[c[:, :, 1].argmax()][0])\n","\n","    new_image = image[extTop[1]:extBot[1], extLeft[0]:extRight[0]]\n","\n","    if plot:\n","        plt.figure()\n","        plt.subplot(1, 2, 1)\n","        plt.imshow(image)\n","        plt.tick_params(axis='both', which='both', top=False, bottom=False, left=False, right=False,labelbottom=False, labeltop=False, labelleft=False, labelright=False)\n","        plt.title('Original Image')\n","        plt.subplot(1, 2, 2)\n","        plt.imshow(new_image)\n","        plt.tick_params(axis='both', which='both',top=False, bottom=False, left=False, right=False,labelbottom=False, labeltop=False, labelleft=False, labelright=False)\n","        plt.title('Cropped Image')\n","        plt.show()\n","\n","    return new_image\n"]},{"cell_type":"code","execution_count":49,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:22:28.838620Z","iopub.status.busy":"2024-02-23T13:22:28.838310Z","iopub.status.idle":"2024-02-23T13:22:28.848935Z","shell.execute_reply":"2024-02-23T13:22:28.847956Z","shell.execute_reply.started":"2024-02-23T13:22:28.838596Z"},"id":"WM6kPBgYyoI7","trusted":true},"outputs":[],"source":["import os\n","import cv2\n","import numpy as np\n","from os import listdir\n","\n","np.random.seed(32)\n","\n","label_mapping = {\n","    '1': 'meningioma',\n","    '2': 'glioma',\n","    '3': 'pituitary tumor'\n","}\n","\n","def load_data(dir_list, image_size):\n","    X = []\n","    y = []\n","    image_width, image_height = image_size\n","\n","    for directory in dir_list:\n","        label = os.path.basename(directory)  \n","        for filename in listdir(directory):\n","            image = cv2.imread(os.path.join(directory, filename), cv2.IMREAD_COLOR)\n","\n","            if image is None:\n","                print(f\"Warning: Unable to load image at path {os.path.join(directory, filename)}\")\n","                continue\n","\n","            image = crop_brain_contour(image, plot=False)\n","            image = cv2.resize(image, dsize=(image_width, image_height), interpolation=cv2.INTER_CUBIC)\n","            image = image / 255.0\n","            X.append(image)\n","            y.append([label_mapping[label]])\n","\n","    X = np.array(X)\n","    y = np.array(y)\n","\n","\n","    return X, y\n"]},{"cell_type":"code","execution_count":50,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:22:28.850459Z","iopub.status.busy":"2024-02-23T13:22:28.850154Z","iopub.status.idle":"2024-02-23T13:23:15.078647Z","shell.execute_reply":"2024-02-23T13:23:15.077613Z","shell.execute_reply.started":"2024-02-23T13:22:28.850434Z"},"id":"l8K-pKIOyoI7","trusted":true},"outputs":[],"source":["IMG_WIDTH, IMG_HEIGHT = (224, 224)\n","\n","image_dir_list = [\"/kaggle/input/1\", \"/kaggle/input/2\", \"/kaggle/input/3\"]\n","\n","Images, Labels = load_data(image_dir_list, (IMG_WIDTH, IMG_HEIGHT))"]},{"cell_type":"code","execution_count":51,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:15.080373Z","iopub.status.busy":"2024-02-23T13:23:15.080031Z","iopub.status.idle":"2024-02-23T13:23:15.089365Z","shell.execute_reply":"2024-02-23T13:23:15.088408Z","shell.execute_reply.started":"2024-02-23T13:23:15.080346Z"},"id":"aYa1wXfUyoI8","trusted":true},"outputs":[],"source":["from sklearn.utils.class_weight import compute_class_weight\n","import numpy as np\n","\n","y_train_CW = Labels.ravel()\n","\n","classes = np.unique(y_train_CW)\n","weights = compute_class_weight(\n","    class_weight='balanced',\n","    classes=classes,\n","    y=y_train_CW\n",")\n","\n","class_weights_array = np.array(weights)\n","\n"]},{"cell_type":"code","execution_count":52,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"execution":{"iopub.execute_input":"2024-02-23T13:23:15.090999Z","iopub.status.busy":"2024-02-23T13:23:15.090673Z","iopub.status.idle":"2024-02-23T13:23:15.102122Z","shell.execute_reply":"2024-02-23T13:23:15.101092Z","shell.execute_reply.started":"2024-02-23T13:23:15.090972Z"},"id":"wfshxKOXyoI8","outputId":"d09f240e-e60f-44ac-f9fe-06f316b06619","trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":["[0.71622253 1.44256121 1.09820789]\n"]}],"source":["print(class_weights_array)"]},{"cell_type":"code","execution_count":53,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:15.103669Z","iopub.status.busy":"2024-02-23T13:23:15.103370Z","iopub.status.idle":"2024-02-23T13:23:15.122068Z","shell.execute_reply":"2024-02-23T13:23:15.121092Z","shell.execute_reply.started":"2024-02-23T13:23:15.103643Z"},"id":"SwvyC92YyoI8","trusted":true},"outputs":[],"source":["unique_labels = np.unique([label[0] for label in Labels])\n","\n","label_to_int = {label: i for i, label in enumerate(unique_labels)}\n","\n","one_hot_labels = np.zeros((len(Labels), len(unique_labels)))\n","\n","for i, label in enumerate(Labels):\n","    label_text = label[0]\n","    label_index = label_to_int[label_text]\n","    one_hot_labels[i, label_index] = 1"]},{"cell_type":"code","execution_count":54,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"execution":{"iopub.execute_input":"2024-02-23T13:23:15.125804Z","iopub.status.busy":"2024-02-23T13:23:15.125508Z","iopub.status.idle":"2024-02-23T13:23:15.130944Z","shell.execute_reply":"2024-02-23T13:23:15.129881Z","shell.execute_reply.started":"2024-02-23T13:23:15.125778Z"},"id":"6MgUDPVFyoI8","outputId":"da6fa2e6-fee6-4cbf-fe25-f730116aa143","trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":["number of one_hot_labels  examples = (3064, 3)\n"]}],"source":["print (\"number of one_hot_labels  examples = \" + str(one_hot_labels.shape))"]},{"cell_type":"code","execution_count":55,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:15.132489Z","iopub.status.busy":"2024-02-23T13:23:15.132102Z","iopub.status.idle":"2024-02-23T13:23:22.731226Z","shell.execute_reply":"2024-02-23T13:23:22.730063Z","shell.execute_reply.started":"2024-02-23T13:23:15.132464Z"},"id":"16Od3s1fyoI8","trusted":true},"outputs":[],"source":["X_train, X_test, y_train, y_test = train_test_split(Images, one_hot_labels, test_size=0.1 , random_state=42, stratify=one_hot_labels,shuffle = True)\n","\n","X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size=0.1, random_state=42, stratify=y_train ,shuffle = True)\n"]},{"cell_type":"code","execution_count":56,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:22.733060Z","iopub.status.busy":"2024-02-23T13:23:22.732711Z","iopub.status.idle":"2024-02-23T13:23:23.662048Z","shell.execute_reply":"2024-02-23T13:23:23.661083Z","shell.execute_reply.started":"2024-02-23T13:23:22.733021Z"},"id":"PeAPyLVXKLWn","trusted":true},"outputs":[],"source":["import random\n","from tensorflow.keras.backend import clear_session\n","\n","clear_session()\n","np.random.seed(42)\n","random.seed(42)\n","tf.random.set_seed(42)"]},{"cell_type":"code","execution_count":57,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"execution":{"iopub.execute_input":"2024-02-23T13:23:23.668736Z","iopub.status.busy":"2024-02-23T13:23:23.668438Z","iopub.status.idle":"2024-02-23T13:23:23.716369Z","shell.execute_reply":"2024-02-23T13:23:23.715216Z","shell.execute_reply.started":"2024-02-23T13:23:23.668711Z"},"id":"m__zDCwGyoI8","outputId":"f083eb75-7567-4845-bb93-6d8696d7ba83","trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":["number of training examples = (2481, 224, 224, 3)\n","number of training labels examples = (2481, 3)\n","number of test examples = (307, 224, 224, 3)\n","number of test labels examples = (307, 3)\n"]}],"source":["print (\"number of training examples = \" + str(X_train.shape))\n","print (\"number of training labels examples = \" + str(y_train.shape))\n","print (\"number of test examples = \" + str(X_test.shape))\n","print (\"number of test labels examples = \" + str(y_test.shape))"]},{"cell_type":"markdown","metadata":{"id":"LyKvj6ZnyoI9"},"source":["# Data augmentation"]},{"cell_type":"code","execution_count":58,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:23.723710Z","iopub.status.busy":"2024-02-23T13:23:23.723394Z","iopub.status.idle":"2024-02-23T13:23:26.038259Z","shell.execute_reply":"2024-02-23T13:23:26.037161Z","shell.execute_reply.started":"2024-02-23T13:23:23.723684Z"},"id":"e8FZmS9-yoI9","trusted":true},"outputs":[],"source":["datagen = ImageDataGenerator(\n","    width_shift_range=0.1,  \n","    height_shift_range=0.1, \n","    shear_range=0.2,        \n","    zoom_range=0.2,         \n","    horizontal_flip=True,   \n",")\n","\n","val_datagen = ImageDataGenerator()\n","\n","datagen.fit(X_train)\n","\n","val_datagen.fit(X_val)\n","\n","train = datagen.flow(X_train, y_train, batch_size=8)\n","\n","valid = val_datagen.flow(X_val, y_val, batch_size=8)"]},{"cell_type":"code","execution_count":59,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:26.040143Z","iopub.status.busy":"2024-02-23T13:23:26.039830Z","iopub.status.idle":"2024-02-23T13:23:26.259954Z","shell.execute_reply":"2024-02-23T13:23:26.258636Z","shell.execute_reply.started":"2024-02-23T13:23:26.040116Z"},"id":"YWCPLtPfzV7D","trusted":true},"outputs":[],"source":["del X_train, y_train, X_val, y_val, one_hot_labels, unique_labels, label_to_int, Images, Labels, y_train_CW, classes, weights"]},{"cell_type":"markdown","metadata":{"id":"4XNlNOBTyoI9"},"source":["# The Transformers functions"]},{"cell_type":"code","execution_count":60,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:26.262378Z","iopub.status.busy":"2024-02-23T13:23:26.261928Z","iopub.status.idle":"2024-02-23T13:23:26.334053Z","shell.execute_reply":"2024-02-23T13:23:26.333023Z","shell.execute_reply.started":"2024-02-23T13:23:26.262331Z"},"id":"esn17hMmyoI9","trusted":true},"outputs":[],"source":["import numpy as np\n","import tensorflow as tf\n","from tensorflow.keras.layers import Dense, Dropout, Conv2D, LayerNormalization\n","from tensorflow.keras.activations import sigmoid\n","\n","\n","\n","def window_partition(x, window_size):\n","\n","    _, H, W, C = x.get_shape().as_list()\n","\n","    patch_num_H = H // window_size\n","    patch_num_W = W // window_size\n","    x = tf.reshape(x, shape=(-1, patch_num_H, window_size, patch_num_W, window_size, C))\n","    x = tf.transpose(x, (0, 1, 3, 2, 4, 5))\n","\n","    windows = tf.reshape(x, shape=(-1, window_size, window_size, C))\n","\n","    return windows\n","\n","\n","def window_reverse(windows, window_size, H, W, C):\n","    patch_num_H = H // window_size\n","    patch_num_W = W // window_size\n","    x = tf.reshape(windows, shape=(-1, patch_num_H, patch_num_W, window_size, window_size, C))\n","    x = tf.transpose(x, perm=(0, 1, 3, 2, 4, 5))\n","\n","    x = tf.reshape(x, shape=(-1, H, W, C))\n","\n","    return x\n","\n","\n","class Mlp(tf.keras.layers.Layer):\n","    def __init__(self, filter_num, drop=0., prefix='', **kwargs):\n","        super(Mlp, self).__init__(**kwargs)\n","\n","        self.prefix = prefix\n","        self.filter_num = filter_num\n","        self.drop = drop\n","\n","        self.fc1 = Dense(filter_num[0], name='{}_mlp_0'.format(prefix))\n","        self.fc2 = Dense(filter_num[1], name='{}_mlp_1'.format(prefix))\n","        self.drop = Dropout(drop)\n","\n","        self.activation = tf.keras.activations.gelu\n","\n","    def get_config(self):\n","        return {\n","            'prefix': self.prefix,\n","            'filter_num': self.filter_num,\n","            'drop': self.drop\n","\n","        }\n","\n","    @classmethod\n","    def from_config(cls, config):\n","        return cls(**config)\n","\n","    def call(self, x):\n","        x = self.fc1(x)\n","        self.activation(x)\n","        x = self.drop(x)\n","        x = self.fc2(x)\n","        x = self.drop(x)\n","\n","        return x\n","\n","\n","class WindowAttention(tf.keras.layers.Layer):\n","    def __init__(self, dim, window_size, num_heads, qkv_bias=True, qk_scale=None, attn_drop=0, proj_drop=0., prefix='',\n","                 **kwargs):\n","        super(WindowAttention, self).__init__(**kwargs)\n","\n","        self.dim = dim  \n","        self.window_size = window_size  \n","        self.num_heads = num_heads  \n","\n","        head_dim = dim // num_heads\n","        self.qk_scale = qk_scale\n","        self.qkv_bias = qkv_bias\n","        self.scale = qk_scale or head_dim ** -0.5  \n","        self.prefix = prefix\n","        self.attn_drop = attn_drop\n","        self.qkv = Dense(dim * 3, use_bias=qkv_bias, name='{}_attn_qkv'.format(self.prefix))\n","        self.attn_drops = Dropout(attn_drop)\n","        self.projs = Dense(dim, name='{}_attn_proj'.format(self.prefix))\n","        self.proj_drop = proj_drop\n","        self.proj_drops = Dropout(proj_drop)\n","\n","    def get_config(self):\n","\n","        return {\n","            'dim': self.dim,\n","            'num_heads': self.num_heads,\n","            'window_size': self.window_size,\n","            'scale': self.scale,\n","            'qkv': self.qkv,\n","            'qk_scale': self.qk_scale,\n","            'qkv_bias': self.qkv_bias,\n","            'prefix': self.prefix,\n","            'attn_drop': self.attn_drop,\n","            'proj_drop': self.proj_drop,\n","        }\n","\n","    @classmethod\n","    def from_config(cls, config):\n","        return cls(**config)\n","\n","    def build(self, input_shape):\n","\n","        num_window_elements = (2 * self.window_size[0] - 1) * (2 * self.window_size[1] - 1)\n","        self.relative_position_bias_table = self.add_weight('{}_attn_pos'.format(self.prefix),\n","                                                            shape=(num_window_elements, self.num_heads),\n","                                                            initializer=tf.initializers.Zeros(), trainable=True)\n","\n","        coords_h = np.arange(self.window_size[0])\n","        coords_w = np.arange(self.window_size[1])\n","        coords_matrix = np.meshgrid(coords_h, coords_w, indexing='ij')\n","        coords = np.stack(coords_matrix)\n","        coords_flatten = coords.reshape(2, -1)\n","        relative_coords = coords_flatten[:, :, None] - coords_flatten[:, None, :]\n","        relative_coords = relative_coords.transpose([1, 2, 0])\n","        relative_coords[:, :, 0] += self.window_size[0] - 1\n","        relative_coords[:, :, 1] += self.window_size[1] - 1\n","        relative_coords[:, :, 0] *= 2 * self.window_size[1] - 1\n","        relative_position_index = relative_coords.sum(-1)\n","\n","        self.relative_position_index = tf.Variable(\n","            initial_value=tf.convert_to_tensor(relative_position_index), trainable=False,\n","            name='{}_attn_pos_ind'.format(self.prefix))\n","\n","        self.built = True\n","\n","    def call(self, x, mask=None):\n","\n","        _, N, C = x.get_shape().as_list()\n","        head_dim = C // self.num_heads\n","\n","        x_qkv = self.qkv(x)\n","        x_qkv = tf.reshape(x_qkv, shape=(-1, N, 3, self.num_heads, head_dim))\n","        x_qkv = tf.transpose(x_qkv, perm=(2, 0, 3, 1, 4))\n","        q, k, v = x_qkv[0], x_qkv[1], x_qkv[2]\n","\n","        q = q * self.scale\n","\n","        k = tf.transpose(k, perm=(0, 1, 3, 2))\n","        attn = (q @ k)\n","\n","        num_window_elements = self.window_size[0] * self.window_size[1]\n","        relative_position_index_flat = tf.reshape(self.relative_position_index, shape=(-1,))\n","        relative_position_bias = tf.gather(self.relative_position_bias_table, relative_position_index_flat)\n","        relative_position_bias = tf.reshape(relative_position_bias,\n","                                            shape=(num_window_elements, num_window_elements, -1))\n","        relative_position_bias = tf.transpose(relative_position_bias, perm=(2, 0, 1))\n","        attn = attn + tf.expand_dims(relative_position_bias, axis=0)\n","\n","        if mask is not None:\n","            nW = mask.get_shape()[0]\n","            mask_float = tf.cast(tf.expand_dims(tf.expand_dims(mask, axis=1), axis=0), tf.float32)\n","            attn = tf.reshape(attn, shape=(-1, nW, self.num_heads, N, N)) + mask_float\n","            attn = tf.reshape(attn, shape=(-1, self.num_heads, N, N))\n","            attn = sigmoid(attn)\n","        else:\n","            attn = sigmoid(attn)\n","\n","        attn = self.attn_drops(attn)\n","\n","        x_qkv = (attn @ v)\n","        x_qkv = tf.transpose(x_qkv, perm=(0, 2, 1, 3))\n","        x_qkv = tf.reshape(x_qkv, shape=(-1, N, C))\n","\n","        x_qkv = self.projs(x_qkv)\n","\n","        x_qkv = self.proj_drops(x_qkv)\n","\n","        return x_qkv\n","\n","\n","class SwinTransformerBlock(tf.keras.layers.Layer):\n","    def __init__(self, dim, num_patch, num_heads, window_size=7, shift_size=0, num_mlp=1024,\n","                 qkv_bias=True, qk_scale=None, mlp_drop=0, attn_drop=0, proj_drop=0, drop_path_prob=0, prefix='',\n","                 **kwargs):\n","        super(SwinTransformerBlock, self).__init__(**kwargs)\n","\n","        self.dim = dim  \n","        self.num_patch = num_patch  \n","        self.num_heads = num_heads \n","        self.window_size = window_size  \n","        self.shift_size = shift_size  \n","        self.num_mlp = num_mlp  \n","        self.prefix = prefix\n","        self.qkv_bias = qkv_bias\n","        self.qk_scale = qk_scale\n","        self.mlp_drop = mlp_drop\n","        self.attn_drop = attn_drop\n","        self.drop_path_prob = drop_path_prob\n","\n","        self.norm1 = LayerNormalization(epsilon=1e-5, name='{}_norm1'.format(self.prefix))\n","        self.attn = WindowAttention(dim, window_size=(self.window_size, self.window_size), num_heads=num_heads,\n","                                    qkv_bias=qkv_bias, qk_scale=qk_scale, attn_drop=attn_drop, proj_drop=proj_drop,\n","                                    prefix=self.prefix)\n","        self.drop_path = drop_path(drop_path_prob)\n","        self.norm2 = LayerNormalization(epsilon=1e-5, name='{}_norm2'.format(self.prefix))\n","        self.mlp = Mlp([num_mlp, dim], drop=mlp_drop, prefix=self.prefix)\n","\n","        assert 0 <= self.shift_size, 'shift_size >= 0 is required'\n","        assert self.shift_size < self.window_size, 'shift_size < window_size is required'\n","\n","      \n","        if min(self.num_patch) < self.window_size:\n","            self.shift_size = 0\n","            self.window_size = min(self.num_patch)\n","\n","    def get_config(self):\n","\n","        return {\n","            'dim': self.dim,\n","            'num_patch': self.num_patch,\n","            'num_heads': self.num_heads,\n","            'window_size': self.window_size,\n","            'shift_size': self.shift_size,\n","            'num_mlp': self.num_mlp,\n","            'prefix': self.prefix,\n","            'qkv_bias': self.qkv_bias,\n","            'qk_scale': self.qk_scale,\n","            'mlp_drop': self.mlp_drop,\n","            'attn_drop': self.attn_drop,\n","            'drop_path_prob': self.drop_path_prob,\n","        }\n","\n","    @classmethod\n","    def from_config(cls, config):\n","        return cls(**config)\n","\n","    def build(self, input_shape):\n","        if self.shift_size > 0:\n","            H, W = self.num_patch\n","            h_slices = (\n","            slice(0, -self.window_size), slice(-self.window_size, -self.shift_size), slice(-self.shift_size, None))\n","            w_slices = (\n","            slice(0, -self.window_size), slice(-self.window_size, -self.shift_size), slice(-self.shift_size, None))\n","\n","            mask_array = np.zeros((1, H, W, 1))\n","\n","            count = 0\n","            for h in h_slices:\n","                for w in w_slices:\n","                    mask_array[:, h, w, :] = count\n","                    count += 1\n","            mask_array = tf.convert_to_tensor(mask_array)\n","\n","            mask_windows = window_partition(mask_array, self.window_size)\n","            mask_windows = tf.reshape(mask_windows, shape=[-1, self.window_size * self.window_size])\n","            attn_mask = tf.expand_dims(mask_windows, axis=1) - tf.expand_dims(mask_windows, axis=2)\n","            attn_mask = tf.where(attn_mask != 0, -100.0, attn_mask)\n","            attn_mask = tf.where(attn_mask == 0, 0.0, attn_mask)\n","            self.attn_mask = tf.Variable(initial_value=attn_mask, trainable=False,\n","                                         name='{}_attn_mask'.format(self.prefix))\n","        else:\n","            self.attn_mask = None\n","\n","        self.built = True\n","\n","    def call(self, x):\n","        H, W = self.num_patch\n","        B, L, C = x.get_shape().as_list()\n","\n","        assert L == H * W, 'Number of patches before and after Swin-MSA are mismatched.'\n","\n","        x_skip = x\n","\n","        x = self.norm1(x)\n","\n","        x = tf.reshape(x, shape=(-1, H, W, C))\n","\n","        if self.shift_size > 0:\n","            shifted_x = tf.roll(x, shift=[-self.shift_size, -self.shift_size], axis=[1, 2])\n","        else:\n","            shifted_x = x\n","\n","        x_windows = window_partition(shifted_x, self.window_size)\n","        x_windows = tf.reshape(x_windows, shape=(-1, self.window_size * self.window_size, C))\n","\n","        attn_windows = self.attn(x_windows, mask=self.attn_mask)\n","\n","        attn_windows = tf.reshape(attn_windows, shape=(-1, self.window_size, self.window_size, C))\n","        shifted_x = window_reverse(attn_windows, self.window_size, H, W, C)\n","\n","        if self.shift_size > 0:\n","            x = tf.roll(shifted_x, shift=[self.shift_size, self.shift_size], axis=[1, 2])\n","        else:\n","            x = shifted_x\n","\n","        x = tf.reshape(x, shape=(-1, H * W, C))\n","\n","        x = self.drop_path(x)\n","\n","        x = x_skip + x\n","\n","        x_skip = x\n","\n","        x = self.norm2(x)\n","        x = self.mlp(x)\n","        x = self.drop_path(x)\n","\n","        x = x_skip + x\n","\n","        return x"]},{"cell_type":"code","execution_count":61,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:26.336572Z","iopub.status.busy":"2024-02-23T13:23:26.335840Z","iopub.status.idle":"2024-02-23T13:23:26.365468Z","shell.execute_reply":"2024-02-23T13:23:26.364317Z","shell.execute_reply.started":"2024-02-23T13:23:26.336531Z"},"id":"h-ojARhZyoI-","trusted":true},"outputs":[],"source":["\n","from __future__ import absolute_import\n","\n","import tensorflow as tf\n","from tensorflow.image import extract_patches\n","from tensorflow.keras.layers import Conv2D, Layer, Dense, Embedding\n","\n","class patch_extract(Layer):\n","    def __init__(self, patch_size, **kwargs):\n","        super(patch_extract, self).__init__(**kwargs)\n","        self.patch_size = patch_size\n","\n","    def get_config(self):\n","        return {\n","            'patch_size': self.patch_size\n","        }\n","\n","    @classmethod\n","    def from_config(cls, config):\n","        return cls(**config)\n","\n","    def call(self, images):\n","        batch_size = tf.shape(images)[0]\n","        height = tf.shape(images)[1]\n","        width = tf.shape(images)[2]\n","\n","        patch_height = self.patch_size\n","        patch_width = self.patch_size\n","\n","        patches = tf.image.extract_patches(\n","            images=images,\n","            sizes=[1, patch_height, patch_width, 1],\n","            strides=[1, patch_height, patch_width, 1],\n","            rates=[1, 1, 1, 1],\n","            padding='VALID',\n","        )\n","\n","        patch_dim = patches.shape[-1]\n","        patch_num = tf.shape(patches)[1] * tf.shape(patches)[2]\n","\n","        patches = tf.reshape(patches, (batch_size, patch_num, patch_dim))\n","        return patches\n","\n","\n","class patch_embedding(Layer):\n","    def __init__(self, num_patch, embed_dim,**kwargs):\n","        super(patch_embedding, self).__init__(**kwargs)\n","        self.num_patch = num_patch\n","        self.embed_dim = embed_dim\n","        self.proj = Dense(self.embed_dim)\n","        self.pos_embed = Embedding(input_dim=num_patch, output_dim=self.embed_dim)\n","\n","    def get_config(self):\n","\n","\n","        return {\n","            'num_patch': self.num_patch,\n","            'embed_dim': self.embed_dim,\n","        }\n","\n","    @classmethod\n","    def from_config(cls, config):\n","        return cls(**config)\n","\n","\n","    def call(self, patch):\n","        pos = tf.range(start=0, limit=self.num_patch, delta=1)\n","        embed = self.proj(patch) + self.pos_embed(pos)\n","        return embed\n","\n","class patch_merging(tf.keras.layers.Layer):\n","\n","    def __init__(self, num_patch, embed_dim, name='',**kwargs):\n","        super(patch_merging,self).__init__(**kwargs)\n","\n","        self.num_patch = num_patch\n","        self.embed_dim = embed_dim\n","\n","        self.linear_trans = Dense(2*embed_dim, use_bias=False, name='{}_linear_trans'.format(name))\n","\n","    def get_config(self):\n","\n","        return {\n","            'num_patch': self.num_patch,\n","            'embed_dim': self.embed_dim,\n","        }\n","\n","    @classmethod\n","    def from_config(cls, config):\n","        return cls(**config)\n","\n","\n","    def call(self, x):\n","\n","        H, W = self.num_patch\n","        B, L, C = x.get_shape().as_list()\n","\n","        assert (L == H * W), 'input feature has wrong size'\n","        assert (H % 2 == 0 and W % 2 == 0), '{}-by-{} patches received, they are not even.'.format(H, W)\n","\n","        x = tf.reshape(x, shape=(-1, H, W, C))\n","\n","        x0 = x[:, 0::2, 0::2, :]  \n","        x1 = x[:, 1::2, 0::2, :]  \n","        x2 = x[:, 0::2, 1::2, :]  \n","        x3 = x[:, 1::2, 1::2, :]  \n","        x = tf.concat((x0, x1, x2, x3), axis=-1)\n","\n","        x = tf.reshape(x, shape=(-1, (H//2)*(W//2), 4*C))\n","\n","        x = self.linear_trans(x)\n","\n","        return x\n","\n","class patch_expanding(tf.keras.layers.Layer):\n","\n","    def __init__(self, num_patch, embed_dim, upsample_rate, return_vector=True, name=''):\n","        super().__init__()\n","\n","        self.num_patch = num_patch\n","        self.embed_dim = embed_dim\n","        self.upsample_rate = upsample_rate\n","        self.return_vector = return_vector\n","\n","        self.linear_trans1 = Conv2D(upsample_rate*embed_dim, kernel_size=1, use_bias=False, name='{}_linear_trans1'.format(name))\n","        self.linear_trans2 = Conv2D(upsample_rate*embed_dim, kernel_size=1, use_bias=False, name='{}_linear_trans1'.format(name))\n","        self.prefix = name\n","\n","    def call(self, x):\n","\n","        H, W = self.num_patch\n","        B, L, C = x.get_shape().as_list()\n","\n","        assert (L == H * W), 'input feature has wrong size'\n","\n","        x = tf.reshape(x, (-1, H, W, C))\n","\n","        x = self.linear_trans1(x)\n","\n","        x = tf.nn.depth_to_space(x, self.upsample_rate, data_format='NHWC', name='{}_d_to_space'.format(self.prefix))\n","\n","        if self.return_vector:\n","            x = tf.reshape(x, (-1, L*self.upsample_rate*self.upsample_rate, C//2))\n","\n","        return x"]},{"cell_type":"code","execution_count":62,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:26.367211Z","iopub.status.busy":"2024-02-23T13:23:26.366805Z","iopub.status.idle":"2024-02-23T13:23:26.378557Z","shell.execute_reply":"2024-02-23T13:23:26.377646Z","shell.execute_reply.started":"2024-02-23T13:23:26.367174Z"},"id":"0iHab7hpyoI-","trusted":true},"outputs":[],"source":["\n","from __future__ import absolute_import\n","\n","import tensorflow as tf\n","from tensorflow.keras.layers import Layer\n","\n","def drop_path_(inputs, drop_prob, is_training):\n","\n","    if (not is_training) or (drop_prob == 0.):\n","        return inputs\n","\n","    keep_prob = 1.0 - drop_prob\n","\n","    input_shape = tf.shape(inputs)\n","    batch_num = input_shape[0]; rank = len(input_shape)\n","\n","    shape = (batch_num,) + (1,) * (rank - 1)\n","    random_tensor = keep_prob + tf.random.uniform(shape, dtype=inputs.dtype)\n","    path_mask = tf.floor(random_tensor)\n","    output = tf.math.divide(inputs, keep_prob) * path_mask\n","    return output\n","\n","class drop_path(Layer):\n","    def __init__(self, drop_prob=None,**kwargs):\n","        super().__init__()\n","        self.drop_prob = drop_prob\n","\n","    def get_config(self):\n","\n","        config = super().get_config().copy()\n","        config.update({\n","            'drop_prob': self.drop_prob\n","        })\n","        return config\n","\n","\n","    def call(self, x, training=None):\n","        return drop_path_(x, self.drop_prob, training)"]},{"cell_type":"markdown","metadata":{"id":"A7BOgOgZyoI-"},"source":["# VIT model checkpoint"]},{"cell_type":"code","execution_count":63,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:26.380130Z","iopub.status.busy":"2024-02-23T13:23:26.379738Z","iopub.status.idle":"2024-02-23T13:23:26.386827Z","shell.execute_reply":"2024-02-23T13:23:26.385876Z","shell.execute_reply.started":"2024-02-23T13:23:26.380094Z"},"id":"ptwYlo3_yoI-","trusted":true},"outputs":[],"source":["from keras.callbacks import ModelCheckpoint\n"]},{"cell_type":"code","execution_count":64,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:26.388417Z","iopub.status.busy":"2024-02-23T13:23:26.388126Z","iopub.status.idle":"2024-02-23T13:23:26.395852Z","shell.execute_reply":"2024-02-23T13:23:26.394875Z","shell.execute_reply.started":"2024-02-23T13:23:26.388392Z"},"id":"x4cLxTlyyoI-","trusted":true},"outputs":[],"source":["model_checkpoint_filepath_VIT = os.path.join('model_saved', 'best_model_VIT.Keras')\n","\n","\n","model_checkpoint_VIT = ModelCheckpoint(\n","    filepath=model_checkpoint_filepath_VIT, \n","    monitor='val_loss',\n","    save_best_only=True,\n","    verbose=0\n",")"]},{"cell_type":"markdown","metadata":{"id":"Pe3V73QCyoI-"},"source":["# Define learning rate reduction"]},{"cell_type":"code","execution_count":65,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"execution":{"iopub.execute_input":"2024-02-23T13:23:26.397415Z","iopub.status.busy":"2024-02-23T13:23:26.397118Z","iopub.status.idle":"2024-02-23T13:23:26.407127Z","shell.execute_reply":"2024-02-23T13:23:26.406246Z","shell.execute_reply.started":"2024-02-23T13:23:26.397390Z"},"id":"GDYqSgSByoI-","outputId":"a6a90d70-f4c3-44bd-c70e-995e72b3e1b9","trusted":true},"outputs":[],"source":["learning_rate_reduction_VIT = ReduceLROnPlateau( monitor='val_loss', factor=0.2, epsilon=0.00001, patience=7,\n","                                                 verbose=1)"]},{"cell_type":"markdown","metadata":{"id":"LJfi-uFFyoI-"},"source":["#  Define the early stoping"]},{"cell_type":"code","execution_count":66,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:26.408495Z","iopub.status.busy":"2024-02-23T13:23:26.408225Z","iopub.status.idle":"2024-02-23T13:23:26.415866Z","shell.execute_reply":"2024-02-23T13:23:26.415087Z","shell.execute_reply.started":"2024-02-23T13:23:26.408467Z"},"id":"6aXOEMWMyoI-","trusted":true},"outputs":[],"source":["from keras.callbacks import EarlyStopping\n"]},{"cell_type":"code","execution_count":67,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:26.417488Z","iopub.status.busy":"2024-02-23T13:23:26.417154Z","iopub.status.idle":"2024-02-23T13:23:26.425442Z","shell.execute_reply":"2024-02-23T13:23:26.424448Z","shell.execute_reply.started":"2024-02-23T13:23:26.417457Z"},"id":"httuq-akyoI-","trusted":true},"outputs":[],"source":["early_VIT = EarlyStopping(monitor=\"val_loss\",\n","                      mode=\"min\",\n","                      patience=10, verbose=1)"]},{"cell_type":"code","execution_count":68,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:26.427153Z","iopub.status.busy":"2024-02-23T13:23:26.426792Z","iopub.status.idle":"2024-02-23T13:23:26.434153Z","shell.execute_reply":"2024-02-23T13:23:26.433260Z","shell.execute_reply.started":"2024-02-23T13:23:26.427125Z"},"id":"fmAjm1TZyoI-","trusted":true},"outputs":[],"source":["callbacks_list_VIT = [early_VIT, learning_rate_reduction_VIT ,model_checkpoint_VIT]"]},{"cell_type":"markdown","metadata":{"id":"_fDY03CeyoI-"},"source":["#  Creating the feature extarcting model"]},{"cell_type":"markdown","metadata":{"id":"WrPuNdTdyoI_"},"source":["#  Ensemble pretraind network"]},{"cell_type":"code","execution_count":69,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"execution":{"iopub.execute_input":"2024-02-23T13:23:26.435611Z","iopub.status.busy":"2024-02-23T13:23:26.435335Z","iopub.status.idle":"2024-02-23T13:23:49.897956Z","shell.execute_reply":"2024-02-23T13:23:49.896972Z","shell.execute_reply.started":"2024-02-23T13:23:26.435587Z"},"id":"KJLK4vh-yoI_","outputId":"ee05223f-2b75-4217-e9e7-47d456aa83d4","trusted":true},"outputs":[],"source":["#  build our Ensemble network -- this is the pretrained\n","\n","pretrained_D = tf.keras.applications.DenseNet201(input_shape=(224, 224, 3), weights='imagenet',  include_top=False)\n","#pretrained_E = tf.keras.applications.EfficientNetB7(input_shape=(224, 224, 3), weights='imagenet', include_top=False)\n","#pretrained_VGG = tf.keras.applications.VGG16(input_shape=(224, 224, 3), weights='imagenet', include_top=False)\n","\n","pretrained_googleNet = tf.keras.applications.InceptionV3(input_shape=(224, 224, 3), weights='imagenet', include_top=False)\n","\n","pretrained_IRV2 = tf.keras.applications.InceptionResNetV2(input_shape=(224, 224, 3), weights='imagenet', include_top=False)\n","#pretrained_Xception = tf.keras.applications.Xception(input_shape=(224, 224, 3), weights='imagenet', include_top=False)\n"]},{"cell_type":"code","execution_count":70,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:49.900082Z","iopub.status.busy":"2024-02-23T13:23:49.899627Z","iopub.status.idle":"2024-02-23T13:23:49.987394Z","shell.execute_reply":"2024-02-23T13:23:49.986394Z","shell.execute_reply.started":"2024-02-23T13:23:49.900024Z"},"id":"14qMblbcyoI_","trusted":true},"outputs":[],"source":["\n","# Combining the models\n","for layer in pretrained_D.layers:\n","    layer.trainable = False\n","\n","for layer in pretrained_IRV2.layers:\n","    layer.trainable = False\n","\n","#for layer in pretrained_Xception.layers:\n"," #   layer.trainable = False\n","\n","#for layer in pretrained_E.layers:\n"," #   layer.trainable = False\n","\n","#for layer in pretrained_VGG.layers:\n"," #   layer.trainable = False\n","\n","for layer in pretrained_googleNet.layers:\n","    layer.trainable = False"]},{"cell_type":"code","execution_count":71,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:49.989153Z","iopub.status.busy":"2024-02-23T13:23:49.988761Z","iopub.status.idle":"2024-02-23T13:23:54.229647Z","shell.execute_reply":"2024-02-23T13:23:54.228603Z","shell.execute_reply.started":"2024-02-23T13:23:49.989120Z"},"id":"wPDaiJGHyoI_","trusted":true},"outputs":[],"source":["visible = tf.keras.layers.Input(shape=(224, 224,3))\n","\n","#x4 = pretrained_E(visible)\n","#x3 = pretrained_VGG(visible)\n","x2 = pretrained_googleNet(visible)\n","\n","x1 = pretrained_D(visible)\n","x5 = pretrained_IRV2(visible)\n","#x6 = pretrained_Xception(visible)"]},{"cell_type":"code","execution_count":72,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"execution":{"iopub.execute_input":"2024-02-23T13:23:54.235539Z","iopub.status.busy":"2024-02-23T13:23:54.235221Z","iopub.status.idle":"2024-02-23T13:23:54.240741Z","shell.execute_reply":"2024-02-23T13:23:54.239836Z","shell.execute_reply.started":"2024-02-23T13:23:54.235513Z"},"id":"Eo7m3aLMyoI_","outputId":"f2a048ef-8655-431e-9007-58c0879b5ac1","trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":["(None, 5, 5, 2048)\n","(None, 7, 7, 1920)\n","(None, 5, 5, 1536)\n"]}],"source":["print(x2.shape)\n","print(x1.shape)\n","print(x5.shape)"]},{"cell_type":"code","execution_count":73,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:54.242339Z","iopub.status.busy":"2024-02-23T13:23:54.241959Z","iopub.status.idle":"2024-02-23T13:23:54.264622Z","shell.execute_reply":"2024-02-23T13:23:54.263623Z","shell.execute_reply.started":"2024-02-23T13:23:54.242307Z"},"id":"EenVk3PtyoI_","trusted":true},"outputs":[],"source":["x2 = tf.keras.layers.ZeroPadding2D(padding=((0, 2), (0, 2)))(x2)\n","x5 = tf.keras.layers.ZeroPadding2D(padding=((0, 2), (0, 2)))(x5)\n","#merge = tf.keras.layers.concatenate([x1, x5, x6], name=\"concatallprobs\")\n","merge = tf.keras.layers.concatenate([x2,x1,x5], name=\"concatallprobs\")\n"]},{"cell_type":"code","execution_count":74,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:54.266203Z","iopub.status.busy":"2024-02-23T13:23:54.265900Z","iopub.status.idle":"2024-02-23T13:23:54.274919Z","shell.execute_reply":"2024-02-23T13:23:54.274003Z","shell.execute_reply.started":"2024-02-23T13:23:54.266178Z"},"id":"333olsN7yoI_","trusted":true},"outputs":[],"source":["part_A = tf.keras.layers.ZeroPadding2D(padding=((0, 5), (0, 5)))(merge)"]},{"cell_type":"code","execution_count":75,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"execution":{"iopub.execute_input":"2024-02-23T13:23:54.276880Z","iopub.status.busy":"2024-02-23T13:23:54.276451Z","iopub.status.idle":"2024-02-23T13:23:54.283607Z","shell.execute_reply":"2024-02-23T13:23:54.282466Z","shell.execute_reply.started":"2024-02-23T13:23:54.276845Z"},"id":"drHxJ3oUyoJA","outputId":"36e09959-e92c-42ce-dbec-40d9db10d612","trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":["(None, 12, 12, 5504)\n"]}],"source":["print(part_A.shape)"]},{"cell_type":"code","execution_count":76,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:54.285599Z","iopub.status.busy":"2024-02-23T13:23:54.285099Z","iopub.status.idle":"2024-02-23T13:23:54.290838Z","shell.execute_reply":"2024-02-23T13:23:54.289779Z","shell.execute_reply.started":"2024-02-23T13:23:54.285552Z"},"id":"xCiz0v0cyoJA","trusted":true},"outputs":[],"source":["from keras.layers import GlobalAveragePooling1D"]},{"cell_type":"code","execution_count":77,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T13:23:54.293218Z","iopub.status.busy":"2024-02-23T13:23:54.292573Z","iopub.status.idle":"2024-02-23T13:23:55.060600Z","shell.execute_reply":"2024-02-23T13:23:55.059383Z","shell.execute_reply.started":"2024-02-23T13:23:54.293190Z"},"id":"s17O_9DRyoJA","trusted":true},"outputs":[],"source":["\n","input_size = (12, 12, 5504)\n","patch_size = (2, 2)  \n","\n","# Dropout parameters\n","mlp_drop_rate =  0.29963209507789 \n","attn_drop_rate = 0.760571445127933 \n","proj_drop_rate = 0.585595153449124 \n","drop_path_rate = 0.4789267873576293 \n","\n","num_heads =4 \n","embed_dim = 96 \n","num_mlp =24 \n","qkv_bias = True  \n","qk_scale = None  \n","window_size = 2  \n","shift_size = window_size // 2  \n","\n","num_patch_x = input_size[0] // patch_size[0]\n","num_patch_y = input_size[1] // patch_size[1]\n","\n","patch_size = patch_size[0]\n","X = patch_extract(patch_size)(part_A)\n","X = patch_embedding(num_patch_x * num_patch_y, embed_dim)(X)\n","\n","for i in range(2):\n","    if i % 2 == 0:\n","        shift_size_temp = 0\n","    else:\n","        shift_size_temp = shift_size\n","\n","    X = SwinTransformerBlock(dim=embed_dim, num_patch=(num_patch_x, num_patch_y), num_heads=num_heads,\n","                                         window_size=window_size, shift_size=shift_size_temp, num_mlp=num_mlp,\n","                                         qkv_bias=qkv_bias, qk_scale=qk_scale,\n","                                         mlp_drop=mlp_drop_rate, attn_drop=attn_drop_rate, proj_drop=proj_drop_rate,\n","                                         drop_path_prob=drop_path_rate,\n","                                         prefix='swin_block{}'.format(i))(X)\n","\n","X = patch_merging((num_patch_x, num_patch_y), embed_dim=embed_dim, name='down{}'.format(i))(X)\n","X = GlobalAveragePooling1D(name=\"feature_extracting_layer\")(X)\n","X = tf.keras.layers.Dense(256, activation=\"relu\", name=\"dense_head1\")(X)\n","X = tf.keras.layers.Dropout(0.5, name=\"dropout_head1\")(X)\n","\n","X = tf.keras.layers.Dense(96, activation=\"relu\", name=\"dense_head2\")(X)\n","X = tf.keras.layers.Dropout(0.1, name=\"dropout_head2\")(X)\n","\n","\n","OUT = Dense(3, activation='softmax', name=\"predictions_head\")(X)\n","\n","\n","model = Model(inputs=visible, outputs=OUT)\n","model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.0001, clipvalue=0.2), loss='categorical_crossentropy', metrics=['accuracy'])\n","model.summary()\n","\n"]},{"cell_type":"markdown","metadata":{"id":"U4WCWGvFyoJA"},"source":["# Training the feature extracting model"]},{"cell_type":"code","execution_count":78,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"execution":{"iopub.execute_input":"2024-02-23T13:23:55.063457Z","iopub.status.busy":"2024-02-23T13:23:55.062459Z","iopub.status.idle":"2024-02-23T16:09:59.137878Z","shell.execute_reply":"2024-02-23T16:09:59.137054Z","shell.execute_reply.started":"2024-02-23T13:23:55.063414Z"},"id":"L2-LC1apyoJA","outputId":"dff49e41-4ade-4fda-af3a-30468a6e1210","trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":["Epoch 1/100\n","311/311 [==============================] - 745s 1s/step - loss: 1.2938 - accuracy: 0.4917 - val_loss: 0.4245 - val_accuracy: 0.8623 - lr: 1.0000e-04\n","Epoch 2/100\n","311/311 [==============================] - 434s 1s/step - loss: 0.6036 - accuracy: 0.7723 - val_loss: 0.1271 - val_accuracy: 0.9601 - lr: 1.0000e-04\n","Epoch 3/100\n","311/311 [==============================] - 152s 488ms/step - loss: 0.4269 - accuracy: 0.8561 - val_loss: 0.3286 - val_accuracy: 0.8877 - lr: 1.0000e-04\n","Epoch 4/100\n","311/311 [==============================] - 152s 487ms/step - loss: 0.2930 - accuracy: 0.9077 - val_loss: 2.1565 - val_accuracy: 0.7717 - lr: 1.0000e-04\n","Epoch 5/100\n","311/311 [==============================] - 152s 487ms/step - loss: 0.2241 - accuracy: 0.9295 - val_loss: 0.2952 - val_accuracy: 0.9130 - lr: 1.0000e-04\n","Epoch 6/100\n","311/311 [==============================] - 160s 515ms/step - loss: 0.1924 - accuracy: 0.9391 - val_loss: 0.1315 - val_accuracy: 0.9674 - lr: 1.0000e-04\n","Epoch 7/100\n","311/311 [==============================] - 152s 489ms/step - loss: 0.1889 - accuracy: 0.9420 - val_loss: 0.2332 - val_accuracy: 0.9094 - lr: 1.0000e-04\n","Epoch 8/100\n","311/311 [==============================] - 429s 1s/step - loss: 0.1537 - accuracy: 0.9520 - val_loss: 0.0592 - val_accuracy: 0.9746 - lr: 1.0000e-04\n","Epoch 9/100\n","311/311 [==============================] - 158s 506ms/step - loss: 0.1238 - accuracy: 0.9625 - val_loss: 0.0839 - val_accuracy: 0.9783 - lr: 1.0000e-04\n","Epoch 10/100\n","311/311 [==============================] - 150s 482ms/step - loss: 0.1524 - accuracy: 0.9532 - val_loss: 0.1396 - val_accuracy: 0.9601 - lr: 1.0000e-04\n","Epoch 11/100\n","311/311 [==============================] - 424s 1s/step - loss: 0.1145 - accuracy: 0.9674 - val_loss: 0.0560 - val_accuracy: 0.9891 - lr: 1.0000e-04\n","Epoch 12/100\n","311/311 [==============================] - 152s 488ms/step - loss: 0.0827 - accuracy: 0.9754 - val_loss: 0.1474 - val_accuracy: 0.9529 - lr: 1.0000e-04\n","Epoch 13/100\n","311/311 [==============================] - 438s 1s/step - loss: 0.1126 - accuracy: 0.9649 - val_loss: 0.0551 - val_accuracy: 0.9710 - lr: 1.0000e-04\n","Epoch 14/100\n","311/311 [==============================] - 152s 488ms/step - loss: 0.0780 - accuracy: 0.9750 - val_loss: 0.0677 - val_accuracy: 0.9710 - lr: 1.0000e-04\n","Epoch 15/100\n","311/311 [==============================] - 152s 487ms/step - loss: 0.1351 - accuracy: 0.9609 - val_loss: 0.0698 - val_accuracy: 0.9638 - lr: 1.0000e-04\n","Epoch 16/100\n","311/311 [==============================] - 435s 1s/step - loss: 0.1256 - accuracy: 0.9609 - val_loss: 0.0363 - val_accuracy: 0.9819 - lr: 1.0000e-04\n","Epoch 17/100\n","311/311 [==============================] - 152s 488ms/step - loss: 0.0981 - accuracy: 0.9738 - val_loss: 0.0859 - val_accuracy: 0.9565 - lr: 1.0000e-04\n","Epoch 18/100\n","311/311 [==============================] - 159s 511ms/step - loss: 0.0917 - accuracy: 0.9774 - val_loss: 0.2195 - val_accuracy: 0.9601 - lr: 1.0000e-04\n","Epoch 19/100\n","311/311 [==============================] - 152s 489ms/step - loss: 0.0933 - accuracy: 0.9714 - val_loss: 0.0664 - val_accuracy: 0.9783 - lr: 1.0000e-04\n","Epoch 20/100\n","311/311 [==============================] - 154s 496ms/step - loss: 0.0688 - accuracy: 0.9823 - val_loss: 0.1815 - val_accuracy: 0.9746 - lr: 1.0000e-04\n","Epoch 21/100\n","311/311 [==============================] - 153s 491ms/step - loss: 0.0780 - accuracy: 0.9798 - val_loss: 0.1065 - val_accuracy: 0.9674 - lr: 1.0000e-04\n","Epoch 22/100\n","311/311 [==============================] - 152s 489ms/step - loss: 0.0714 - accuracy: 0.9811 - val_loss: 0.1783 - val_accuracy: 0.9565 - lr: 1.0000e-04\n","Epoch 23/100\n","311/311 [==============================] - ETA: 0s - loss: 0.0765 - accuracy: 0.9811\n","Epoch 23: ReduceLROnPlateau reducing learning rate to 1.9999999494757503e-05.\n","311/311 [==============================] - 154s 496ms/step - loss: 0.0765 - accuracy: 0.9811 - val_loss: 0.0996 - val_accuracy: 0.9710 - lr: 1.0000e-04\n","Epoch 24/100\n","311/311 [==============================] - 430s 1s/step - loss: 0.0482 - accuracy: 0.9867 - val_loss: 0.0283 - val_accuracy: 0.9855 - lr: 2.0000e-05\n","Epoch 25/100\n","311/311 [==============================] - 436s 1s/step - loss: 0.0200 - accuracy: 0.9923 - val_loss: 0.0184 - val_accuracy: 0.9928 - lr: 2.0000e-05\n","Epoch 26/100\n","311/311 [==============================] - 436s 1s/step - loss: 0.0121 - accuracy: 0.9968 - val_loss: 0.0131 - val_accuracy: 0.9928 - lr: 2.0000e-05\n","Epoch 27/100\n","311/311 [==============================] - 160s 515ms/step - loss: 0.0122 - accuracy: 0.9972 - val_loss: 0.1190 - val_accuracy: 0.9601 - lr: 2.0000e-05\n","Epoch 28/100\n","311/311 [==============================] - 154s 496ms/step - loss: 0.0092 - accuracy: 0.9972 - val_loss: 0.0237 - val_accuracy: 0.9928 - lr: 2.0000e-05\n","Epoch 29/100\n","311/311 [==============================] - 428s 1s/step - loss: 0.0059 - accuracy: 0.9984 - val_loss: 0.0120 - val_accuracy: 0.9964 - lr: 2.0000e-05\n","Epoch 30/100\n","311/311 [==============================] - 435s 1s/step - loss: 0.0122 - accuracy: 0.9960 - val_loss: 0.0041 - val_accuracy: 1.0000 - lr: 2.0000e-05\n","Epoch 31/100\n","311/311 [==============================] - 435s 1s/step - loss: 0.0088 - accuracy: 0.9968 - val_loss: 0.0029 - val_accuracy: 1.0000 - lr: 2.0000e-05\n","Epoch 32/100\n","311/311 [==============================] - 152s 487ms/step - loss: 0.0049 - accuracy: 0.9988 - val_loss: 0.0061 - val_accuracy: 0.9964 - lr: 2.0000e-05\n","Epoch 33/100\n","311/311 [==============================] - 159s 512ms/step - loss: 0.0046 - accuracy: 0.9984 - val_loss: 0.0091 - val_accuracy: 0.9928 - lr: 2.0000e-05\n","Epoch 34/100\n","311/311 [==============================] - 152s 489ms/step - loss: 0.0024 - accuracy: 0.9992 - val_loss: 0.0173 - val_accuracy: 0.9928 - lr: 2.0000e-05\n","Epoch 35/100\n","311/311 [==============================] - 152s 489ms/step - loss: 0.0034 - accuracy: 0.9992 - val_loss: 0.0413 - val_accuracy: 0.9855 - lr: 2.0000e-05\n","Epoch 36/100\n","311/311 [==============================] - 154s 496ms/step - loss: 0.0029 - accuracy: 0.9988 - val_loss: 0.0057 - val_accuracy: 0.9964 - lr: 2.0000e-05\n","Epoch 37/100\n","311/311 [==============================] - 152s 489ms/step - loss: 0.0076 - accuracy: 0.9972 - val_loss: 0.0207 - val_accuracy: 0.9891 - lr: 2.0000e-05\n","Epoch 38/100\n","311/311 [==============================] - ETA: 0s - loss: 0.0038 - accuracy: 0.9988\n","Epoch 38: ReduceLROnPlateau reducing learning rate to 3.999999898951501e-06.\n","311/311 [==============================] - 155s 497ms/step - loss: 0.0038 - accuracy: 0.9988 - val_loss: 0.0178 - val_accuracy: 0.9928 - lr: 2.0000e-05\n","Epoch 39/100\n","311/311 [==============================] - 153s 490ms/step - loss: 0.0021 - accuracy: 0.9992 - val_loss: 0.0155 - val_accuracy: 0.9928 - lr: 4.0000e-06\n","Epoch 40/100\n","311/311 [==============================] - 155s 497ms/step - loss: 0.0017 - accuracy: 0.9992 - val_loss: 0.0091 - val_accuracy: 0.9964 - lr: 4.0000e-06\n","Epoch 41/100\n","311/311 [==============================] - 152s 489ms/step - loss: 7.2925e-04 - accuracy: 1.0000 - val_loss: 0.0097 - val_accuracy: 0.9964 - lr: 4.0000e-06\n","Epoch 41: early stopping\n"]}],"source":["history = model.fit(train, epochs=100,validation_data=valid, callbacks=callbacks_list_VIT, verbose=1)"]},{"cell_type":"code","execution_count":79,"metadata":{"_kg_hide-output":true,"execution":{"iopub.execute_input":"2024-02-23T16:09:59.139414Z","iopub.status.busy":"2024-02-23T16:09:59.139116Z","iopub.status.idle":"2024-02-23T16:10:19.304997Z","shell.execute_reply":"2024-02-23T16:10:19.304009Z","shell.execute_reply.started":"2024-02-23T16:09:59.139386Z"},"id":"4n2saZctyoJA","trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":["10/10 [==============================] - 15s 2s/step - loss: 0.0738 - accuracy: 0.9935\n","Loss of the model is -  0.07382319867610931\n","10/10 [==============================] - 4s 405ms/step - loss: 0.0738 - accuracy: 0.9935\n","Accuracy of the model is -  99.34853315353394 %\n"]}],"source":["print(\"Loss of the model is - \" , model.evaluate(X_test, y_test)[0])\n","\n","print(\"Accuracy of the model is - \" , model.evaluate(X_test, y_test)[1]*100 , \"%\")"]},{"cell_type":"code","execution_count":80,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T16:10:19.306910Z","iopub.status.busy":"2024-02-23T16:10:19.306607Z","iopub.status.idle":"2024-02-23T16:10:20.010285Z","shell.execute_reply":"2024-02-23T16:10:20.009257Z","shell.execute_reply.started":"2024-02-23T16:10:19.306884Z"},"id":"RQql3D1QyoJA","trusted":true},"outputs":[{"data":{"text/plain":["Text(0.5, 0, 'Epochs')"]},"execution_count":80,"metadata":{},"output_type":"execute_result"},{"data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAABlUAAANXCAYAAACsYNmPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8WgzjOAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeVhU5dsH8O8w7LKIioqAorjhWrkvuJSJayrinrtppolZprao1Vu2mIlaZvVzzSVF0MpdgySX1FJzX0EEEVcWZZ857x+PZ2CYGWaAYf9+rotrhrM+53CAmXPPfd8KSZIkEBERERERERERERERUZ4sSnoAREREREREREREREREZQGDKkRERERERERERERERCZgUIWIiIiIiIiIiIiIiMgEDKoQERERERERERERERGZgEEVIiIiIiIiIiIiIiIiEzCoQkREREREREREREREZAIGVYiIiIiIiIiIiIiIiEzAoAoREREREREREREREZEJGFQhIiIiIiIiIiIiIiIyAYMqRFTujRs3Dl5eXgVad+HChVAoFOYdUBkXHh4OhUKB8PBwzTRTz3FUVBQUCgXWrl1r1jF5eXlh3LhxZt0mEREREREVL77/IiKisoBBFSIqMQqFwqSvnDfvKxq1Wo3FixejQYMGsLOzg7e3N6ZOnYonT56YtH6LFi1Qu3ZtSJJkcJlOnTqhRo0ayMrKMtewi8TRo0excOFCJCQklPRQ9Pruu++gUCjQrl27kh4KEREREVG+FOd7s5SUFCxcuLBUv88bOnQoFAoF5syZU9JDKZPWrVuHZs2awd7eHp6enhgzZgzu3Llj8vpr166FQqHAqVOninCUREQFZ1nSAyCiimvDhg1a369fvx4HDhzQme7j41Oo/fz4449Qq9UFWveDDz7A3LlzC7X/wggKCsLs2bMxcOBAzJ49G7du3cLmzZsxZ84cODg4GF1/1KhRmDt3LiIiItClSxed+VFRUTh27BimT58OS8uC/0sozDk21dGjR/HRRx9h3LhxqFy5sta8K1euwMKiZD8nsHHjRnh5eeHEiRO4fv066tevX6LjISIiIiIyVXG9NwNEUOWjjz4CAHTr1k1rXkm//wKApKQk/Pbbb/Dy8sLmzZvx+eefM3smH0JDQzFu3Dh07doV06dPx7179xAcHIyrV6+iVq1aJT08IiKzYFCFiErMq6++qvX9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G93usGHD4OLiovne19cXgCgbZUyPHj20sgZatGgBJycnzboqlQoHDx7EwIEDtZrx1a9fH7179za6fQBYtmwZlixZgiNHjmDEiBEYPnw49u/fr7WMjY0NPvzwwzy34+Ligj59+uDXX3/F06dPAYhMki1btqB169Zo2LAhAO3zmZmZiYcPH6J+/fqoXLky/v33X5PGLNu9ezcsLS0xdepUzTSlUok333xTZ9mc+01LS8ODBw/Qvn17AMj3fnPuv23btujcubNmmoODAyZPnoyoqChcvHhRa/nx48drfVIsP9fCxo0bUaNGDXTv3h2AKE8wbNgwbNmyRasU3fbt29GyZUudbA55HXmZatWq6T1PhWmOmfPnIMt53p8+fYoHDx6gY8eOkCQJp0+fBgDcv38fhw8fxoQJE1C7dm2D4xkzZgzS09MRHBysmfbLL78gKyur2OtwExEREZH5bdu2Dc7Oznj55Zfx4MEDzVerVq3g4OCAsLAwAEDlypUBAL///rve8sMFVRzvvwDx2r5v375wdHQEADRo0ACtWrXSKgFmymtktVqNHTt2oH///mjdurXOfgr62r5u3brw8/PTmZ7ztX1iYiIePHiArl274ubNm0hMTAQgKgQkJydj7ty5OtkmuV/b//3335ryw4A4L56enkZ7y+zcuRPTpk1DcHAw3n//fcycORNr1qzRWqZRo0YYPXq06Qeth0qlwv79+zFw4EDUq1dPM93NzQ0jR47EX3/9haSkJADimrxw4QKuXbumd1t2dnawtrZGeHi4Tik7IiJDGFQholLP3d1db2r0hQsXMGjQIDg7O8PJyQmurq6aG7jyC8e85H4BLAdYTHkhlXtdeX153Xv37iE1NRX169fXWU7ftNxSU1OxYMECTJo0Ca1bt9bUyB00aBD++usvAMC1a9eQkZGhSWvOy6hRo/D06VPs3LkTAHD06FFERUVpNahPTU3F/Pnz4enpCRsbG1SrVg2urq5ISEgw6XzmdOvWLbi5ucHBwUFrupyentOjR48QGBiIGjVqwM7ODq6urqhbty4A036Ohvavb18+Pj6a+TkV9FpQqVTYsmULunfvjsjISFy/fh3Xr19Hu3btEB8fj0OHDmmWvXHjBpo1a5bn9m7cuIFGjRqZtTmnpaUlPDw8dKZHR0dj3LhxqFKlChwcHODq6qp5kySfd/lNqrFxN27cGG3atNF6s7lx40a0b9/epOudiIiIiEq3a9euITExEdWrV4erq6vW15MnT3Dv3j0AQNeuXTF48GB89NFHqFatGgYMGIA1a9YgPT29UPsv6vdfAHDp0iWcPn0anTp10ryuv379Orp164bff/9dc5PelNfI9+/fR1JSktHX0fklv0/K7ciRI+jRowcqVaqEypUrw9XVVdOLVH5tLwdJjI1p2LBhsLGx0by2T0xMxO+//45Ro0YZDQbNmTMHvXv3Rr9+/fB///d/mDhxIl577TXNh69SUlIQGRlp0nvYvNy/fx8pKSkG3/Op1Wrcvn0bAPDxxx8jISEBDRs2RPPmzTF79mz8999/muVtbGzwxRdfYM+ePahRowa6dOmCL7/8Enfv3i3UGImofGNPFSIq9XJ+6kaWkJCArl27wsnJCR9//DG8vb1ha2uLf//9F3PmzIFarTa63dyN82SSJBXpuqa4dOkSEhISNBkblpaWCA4Oxosvvoi+ffsiLCwMmzdvRvXq1TV1YPPSr18/ODs7Y9OmTRg5ciQ2bdoEpVKJ4cOHa5Z58803sWbNGsycORMdOnSAs7MzFAoFhg8fbtL5LKihQ4fi6NGjmD17Np577jk4ODhArVajV69eRbrfnAr68/zjjz8QFxeHLVu2YMuWLTrzN27ciJ49e5pljDJDb2RyZsXkZGNjAwsLC51lX375ZTx69Ahz5sxB48aNUalSJcTGxmLcuHEFOu9jxoxBYGAgYmJikJ6ejuPHj2PFihX53g4RERERlT5qtRrVq1c32LRd7luiUCgQHByM48eP47fffsO+ffswYcIEfP311zh+/LjOh65MVdTvvwDg559/BgC89dZbeOutt3Tmb9++XW8FhcLI72t7fe+Nb9y4gZdeegmNGzfGkiVL4OnpCWtra+zevRvffPNNvl/bu7i4oF+/fti4cSPmz5+P4OBgpKenG81Af/ToEa5cuaL1wb3vv/8e9+/fx8iRI1GpUiXcvHkTFhYWCAgIyNeYCqNLly64ceMGdu7cif379+Onn37CN998g++//x6TJk0CAMycORP9+/fHjh07sG/fPnz44YdYtGgR/vjjDzz//PPFNlYiKjsYVCGiMik8PBwPHz5ESEgIunTpopkeGRlZgqPKVr16ddja2uL69es68/RNy01+cS1/ugYAKlWqhN27d6Nz587w8/NDWloa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MmUKGjdujKioKKxevRo1atSAhYUFRo4cib///ltv38fcVq9ejb179+pMDwwMxP/93//hwIED6Ny5M9544w1YWlpi1apVSE9Px5dffqlZtkmTJujWrRtatWqFKlWq4NSpUwgODsb06dMBAFevXsVLL72EoUOHokmTJrC0tERoaCji4+O1ymUTEWmRiIhKiWnTpkm5/yx17dpVatq0qd7ljxw5IrVv316ys7OTatWqJb377rvSvn37JABSWFiYZrmxY8dKderU0XwfGRkpAZC++uornW0CkBYsWKD5fsGCBTpjAiBNmzZNZ906depIY8eO1Zp26NAh6fnnn5esra0lb29v6aeffpLefvttydbW1sBZ0Hb48GHJz89PcnJykmxsbKRmzZpJixYtklJSUqQ9e/ZIFhYWUs+ePaXMzEyTtjd79mwJgDR06FCdeY8fP5bGjx8vVatWTXJwcJD8/Pyky5cv6xxXWFiY0XMsSZL08OFDafTo0ZKTk5Pk7OwsjR49Wjp9+rQEQFqzZo1muZiYGGnQoEFS5cqVJWdnZ2nIkCHSnTt3dH4WkiRJn3zyieTu7i5ZWFhIAKTIyEhJkvSf+xs3bkgBAQFS5cqVJVtbW6lt27bS77//rrWMfCzbtm3Tmi5fIznHmVv//v0lW1tb6enTpwaXGTdunGRlZSU9ePBAc06mT58uubu7S9bW1pKHh4c0duxYzXxJkqSUlBTp/fffl+rWrStZWVlJNWvWlAICAqQbN25olrl//740ePBgyd7eXnJxcZGmTJkinT9/XmfMY8eOlSpVqqR3bBcvXpR69OghOTg4SNWqVZNee+016ezZs3qP+/z585qfka2trdSoUSPpww8/1Nlmenq65OLiIjk7O0upqakGzwsRERERlW763ptJkiT98MMPUqtWrSQ7OzvJ0dFRat68ufTuu+9Kd+7ckSRJkv79919pxIgRUu3atSUbGxupevXqUr9+/aRTp05pbefo0aNSq1atJGtra63X/SXx/isjI0OqWrWq5Ovrm+c5qVu3rvT8889rvjflNfKtW7ekMWPGSK6urpKNjY1Ur149adq0aVJ6erpmmX/++Udq166dZG1tLdWuXVtasmSJtGbNGq33O/Lx9u3bV+/Yfv31V6lFixaSra2t5OXlJX3xxRfS6tWrdbYhL9uxY0fJzs5OcnJyktq2bStt3rxZZ5snTpyQAEg9e/bM87zk9t9//0n+/v5SlSpVJGtra6lBgwbSvHnzpEePHklnzpyR7OzspJYtW0pJSUkGtyEfv6Gv27dvS5Ikrjc/Pz/JwcFBsre3l7p37y4dPXpUa1v/93//J7Vt21aqXLmyZGdnJzVu3Fj69NNPpYyMDEmSJOnBgwfStGnTpMaNG0uVKlWSnJ2dpXbt2klbt27N13ETUcWikKRS9LFuIqIKYODAgbhw4YLeviFEZVlWVhZq1aqF/v3743//+19JD4eIiIiIiO+/Cujs2bN47rnnsH79eowePbqkh0NEVKqwpwoRURFKTU3V+v7atWvYvXs3unXrVjIDIipCO3bswP379zFmzJiSHgoRERERVUB8/2U+P/74IxwcHHTKRhMREXuqEBEVqXr16mHcuHGoV68ebt26hZUrV8La2hrvvvtuSQ+NyGz+/vtv/Pfff/jkk0/w/PPPo2vXriU9JCIiIiKqgPj+q/B+++03XLx4ET/88AOmT5+ut4clEVFFx/JfRERFaPz48QgLC8Pdu3dhY2ODDh064LPPPsMLL7xQ0kMjMptx48bh559/xnPPPYe1a9cWuskoEREREVFB8P1X4Xl5eSE+Ph5+fn7YsGEDHB0dS3pIRESlDoMqREREREREREREREREJmBPFSIiIiIiIiIiIiIiIhMwqEJERERERERERERERGSCCteoXq1W486dO3B0dIRCoSjp4RARERERFTlJkpCcnIxatWrBwoKfqyLj+L6JiIiIiCqS/LxnqnBBlTt37sDT07Okh0FEREREVOxu374NDw+Pkh4GlQF830REREREFZEp75kqXFDF0dERgDg5Tk5OJTwaIiIiIqKil5SUBE9PT81rYSJj+L6JiIiIiCqS/LxnqnBBFTl13cnJiW8OiIiIiKhCYRknMhXfNxERERFRRWTKeyYWVCYiIiIiIiIiIiIiIjIBgypEREREREREREREREQmYFCFiIiIiIiIiIiIiIjIBBWupwoRERERERERERERlU6SJCErKwsqlaqkh0LljJWVFZRKZaG3w6AKEREREREREREREZW4jIwMxMXFISUlpaSHQuWQQqGAh4cHHBwcCrUdBlWIiIiIiIiIiIiIqESp1WpERkZCqVSiVq1asLa2hkKhKOlhUTkhSRLu37+PmJgYNGjQoFAZKwyqEBERERERERER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DwAA4FqEKi5htf9iSD0AAACAcLNmzdJ9992n+fPna/ny5br66qtVW1uradOmSZKmTJmi2bNnh66/5ZZb9NJLL2n16tVatmyZLrvsMn355Ze64oornPoRXGvS4EmSWpmr4mSoQqUKAACAa9H+yyWs9l8MqQcAAAAQ7uKLL9aWLVt00003qbq6WiNGjNCiRYtCw+vXrVsnr7fx9+V27NihK6+8UtXV1crLy9OoUaP05ptv6sgjj3TqR3CtiUMmau5bc7Vo1SIFg8GmrZgJVQAAANACQhWXsCpVaP8FAAAA4GDTp0/X9OnTW3yvvLy8yfd33nmn7rzzzjjsKvGdOvBUZfoytaFmg5ZvXa4je4UFT4QqAAAAaAHtv1zCmqlC+y8AAAAAiI+c9BydVnyapBZagDk5qJ6ZKgAAAK5FqOIStP8CAAAAgPibOHiiJGnRqkWNJwMBqb7eHFOpAgAAgDCOhyp33XWXiouLlZWVpdGjR+vtt99u8/qvvvpK11xzjQoKCpSZmanDDz9czz//fJx2Gzu0/wIAAACA+Js0xAyrf+3L17S3fq85GV4pQqgCAACAMI6GKo8//rhmzZqlm2++WcuWLdPw4cM1ceJEbd68ucXr9+/frzPOOENr167VwoULtWLFCt13333q379/nHduv1D7rzTafwEAAABAvAzrOUyFuYXa17BP//nyP+ZkeKhBqAIAAIAwjoYqd9xxh6688kpNmzZNRx55pO655x7l5OTogQceaPH6Bx54QNu3b9fTTz+tk08+WcXFxTrttNM0fPjwOO/cflSqAAAAAED8eTweTRpsqlVCc1XCQw1rzkk8WGsRqgAAALiWY6HK/v379d5772nChAmNm/F6NWHCBC1durTFe5555hmNGTNG11xzjfr06aOjjz5at956q/x+f6vr1NXVqaampsmXG1kzVRhUDwAAAADxNXHIQXNVrPZfaWmSN45/bbYqVRhUDwAA4FqOhSpbt26V3+9Xnz59mpzv06ePqqurW7xn9erVWrhwofx+v55//nndeOONuv322/Wb3/ym1XXmzJmjbt26hb6Kiops/TnsYrX/YlA9AAAAAMTXhEET5PP49PnWz/XlV182VorEs/VX+HpUqgAAALiW44PqoxEIBNS7d2/de++9GjVqlC6++GJdf/31uueee1q9Z/bs2dq5c2foa/369XHcceRo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3Dp9+jRffvklMTEx3HLLLRkeffr04bPPPuOvv/5i6NChJCQk0KNHD37++Wf27NnDhx9+aJ92bNy4cbz++uvMmDGDPXv2sG3bNmbOnAmY2SRNmjThlVdeYefOnaxfvz7DGjM5qVatGrGxscTFxbF9+3Z69eqVIesmKiqKmJgY+vfvz2effcaBAwdYt24dixcvtu/j6elJ3759GT16NNWqVctyejYREREREREpOAqqiIiIiDijSxc4eBDWroUFC8znAweua0Al3YABA/j7779p165dhvVPxowZw2233Ua7du1o2bIlERERdO7c2enzenh4sGzZMi5dukTjxo0ZOHAgL7/8coZ9/vWvf/Hkk08ydOhQGjRowKZNm3j++ecz7NO1a1eio6Np1aoVpUqVYuHChZmuFRAQwMqVK/nrr7+4/fbb6datG23atGHWrFm5q4yrpC96n9V6KG3atMHf35+PPvqIEiVK8N1335GYmEiLFi1o2LAh7777rn2qsZiYGKZNm8Zbb71FnTp1uP/++9mzZ4/9XHPnzuXy5cs0bNiQ4cOH89JLLzlVvqlTpxIWFkazZs3o2LEj7dq147bbbsuwz+zZs+nWrRuPPfYYNWvWZNCgQRmyecD8/aemptKvX7/cVpGIiIiIiIjkM4tx9QTRN4GEhARCQ0M5f/48ISEh7i6OiIiIXGfJyckcOHCASpUq4efn5+7iiOTahg0baNOmDUeOHMkxqyentq7PwJJbajMiIiIicjPJzedfrwIqk4iIiIiI5EJKSgqnT59m3LhxPPjgg3meJk1ERERERETyj6b/EhEREREphBYuXEjFihU5d+4ckydPdndxREREREREBAVVREREREQKpb59+2K1Wtm6dStly5Z1d3FEREREREQEBVVEREREREREREREREScoqCKiIiI3BQMw3B3EUSuK7VxERERERGR609BFREREbmheXt7A5CUlOTmkohcX+ltPL3Ni4iIiIiISP7zcncBRERERK4nT09PihUrxqlTpwAICAjAYrG4uVQi+ccwDJKSkjh16hTFihXD09PT3UUSERERERG5YSmoIiIiIje8iIgIAHtgReRGVKxYMXtbFxERERERketDQRURERG54VksFiIjIyldujRpaWnuLo5IvvP29laGioiIiIiISAFQUEVERERuGp6enhp4FhEREREREZE800L1IiIiIiIiIiIiIiIiTlBQRURERERERERERERExAkKqoiIiIiIiIiIiIiIiDjhpltTxTAMABISEtxcEhERERGRgpH+2Tf9s7CII+o3iYiIiMjNJDd9ppsuqHLhwgUAypcv7+aSiIiIiIgUrAsXLhAaGuruYkgRoH6TiIiIiNyMnOkzWYyb7OtqNpuN48ePExwcjMViKfDrJyQkUL58eY4cOUJISEiBX7+oU/25RvXnGtWf61SHrlH9uUb15xrVn2vcXX+GYXDhwgXKlCmDh4dmABbH1G8q2lR/rlH9uUb15xrVn2tUf65R/blG9ecad9dfbvpMN12mioeHB+XKlXN3MQgJCdEflwtUf65R/blG9ec61aFrVH+uUf25RvXnGnfWnzJUJDfUb7oxqP5co/pzjerPNao/16j+XKP6c43qzzVFoc+kr6mJiIiIiIiIiIiIiIg4QUEVERERERERERERERERJyioUsB8fX0ZO3Ysvr6+7i5KkaT6c43qzzWqP9epDl2j+nON6s81qj/XqP5Eckd/M65R/blG9eca1Z9rVH+uUf25RvXnGtWfa4pS/d10C9WLiIiIiIiIiIiIiIjkhTJVREREREREREREREREnKCgioiIiIiIiIiIiIiIiBMUVBEREREREREREREREXGCgioiIiIiIiIiIiIiIiJOUFClgL355ptERUXh5+fHHXfcwU8//eTuIhUJ48aNw2KxZHjUrFnT3cUqtP73v//RsWNHypQpg8Vi4bPPPsvwvmEYvPDCC0RGRuLv788999zDnj173FPYQshR/fXt2zdTe4yOjnZPYQuhSZMmcfvttxMcHEzp0qXp3Lkzu3btyrBPcnIyQ4YMoUSJEgQFBdG1a1dOnjzpphIXLs7UX8uWLTO1wUcffdRNJS5cZs+eTb169QgJCSEkJISmTZvyzTff2N9X28uZo/pT28udV155BYvFwvDhw+3b1AZFHFOfKe/Ub8od9Ztco35T3qnP5Br1mVyjPpPr1G/KP0W1z6SgSgH65JNPGDFiBGPHjmXbtm3Ur1+fdu3acerUKXcXrUioU6cO8fHx9sf333/v7iIVWhcvXqR+/fq8+eabWb4/efJkZsyYwdtvv82PP/5IYGAg7dq1Izk5uYBLWjg5qj+A6OjoDO1x4cKFBVjCwm39+vUMGTKEH374gVWrVpGWlkbbtm25ePGi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FVpr1641gEyPmJgYwzAMw2azGc8//7wRHh5u+Pr6Gm3atDF27drl3kIXIjnVX1JSktG2bVujVKlShre3t1GxYkVj0KBBxokTJ9xd7EIjq7oDjHnz5tn3uXTpkvHYY48ZYWFhRkBAgPHAAw8Y8fHx7it0IeKo/g4fPmzcfffdRvHixQ1fX1+jatWqxlNPPWWcP3/evQUvJPr3729UrFjR8PHxMUqVKmW0adPG+Pbbb+3vq+3lLKf6U9vLmxYtWhjDhg2zv1YbFHFMfaa8U78pd9Rvco36TXmnPpNr1GdyjfpMrlO/KX8VxT6TxTAM4/qEa0RERERERERERERERG4cWlNFRERERERERERERETECQqqiIiIiIiIiIiIiIiIOEFBFREREREREREREREREScoqCIiIiIiIiIiIiIiIuIEBVVEREREREREREREREScoKCKiIiIiIiIiIiIiIiIExRUERERERERERERERERcYKCKiIiIiIiIiIiIiIiIk5QUEVERAodi8XCZ5995u5iiIiIiIiIFFrqN4mIuIeCKiIikkHfvn2xWCyZHtHR0e4umoiIiIiISKGgfpOIyM3Ly90FEBGRwic6Opp58+Zl2Obr6+um0oiIiIiIiBQ+6jeJiNyclKkiIiKZ+Pr6EhERkeERFhYGmCnms2fPpn379vj7+1O5cmWWLl2a4fgdO3bQunVr/P39KVGiBIMHDyYxMTHDPnPnzqVOnTr4+voSGRnJ0KFDM7x/5swZHnjgAQICAqhWrRpffPGF/b2///6b3r17U6pUKfz9/alWrVqmzoyIiIiIiMj1pH6TiMjNSUEVERHJteeff56uXbuyfft2evfuTY8ePdi5cycAFy9epF27doSFhbFlyxaWLFnC6tWrM3z4nz17NkOGDGHw4MHs2LGDL774gqpVq2a4xvjx43nooYf49ddf6dChA7179+avv/6yX/+PP/7gm2++YefOncyePZuSJUsWXAWIiIiIiIg4oH6TiMiNyWIYhuHuQoiISOHRt29fPvroI/z8/DJsf/bZZ3n22WexWCw8+uijzJ492/5ekyZNuO2223jrrbd49913GTVqFEeOHCEwMBCA5cuX07FjR44fP054eDhly5alX79+vPTSS1mWwWKxMGbMGCZMmACYHY6goCC++eYboqOj+de//kXJkiWZO3fudaoFERERERGR7KnfJCJy89KaKiIikkmrVq0yfPgHKF68uP3npk2bZnivadOmxMXFAbBz507q169v7xgA3HnnndhsNnbt2oXFYuH48eO0adMmxzLUq1fP/nNgYCAhISGcOnUKgP/85z907dqVbdu20bZtWzp37kyzZs3ydK8iIiIiIiJ5oX6TiMjNSUEVERHJJDAwMFNaeX7x9/d3aj9vb+8Mry0WCzabDYD27dtz6NAhli9fzqpVq2jTpg1Dhgzhtddey/fyioiIiIiIZEX9JhGRm5PWVBERkVz74YcfMr2uVasWALVq1WL79u1cvHjR/v7GjRvx8PCgRo0aBAcHExUVxZo1a1wqQ6lSpYiJieGjjz5i2rRp/N///Z9L5xMREREREclP6jeJiNyYlKkiIiKZpKSkcOLEiQzbvLy87IsaLlmyhEaNGnHXXXfx8ccf89NPPzFnzhwAevfuzdixY4mJiWHcuHGcPn2axx9/nEceeYTw8HAAxo0bx6OPPkrp0qVp3749Fy5cYOPGjTz++ONOle+FF16gYcOG1KlTh5SUFL766it750RERERERKQgqN8kInJzUlBFREQyWbFiBZGRkRm21ahRgz///BOA8ePHs2jRIh577DEiIyNZuHAhtWvXBiAgIICVK1cybNgwbr/9dgICAujatStTp061nysmJobk5GTeeOMNRo4cScmSJenWrZvT5fPx8WH06NEcPHgQf39/mjdvzqJFi/LhzkVERERERJyjfpOIyM3JYhiG4e5CiIhI0WGxWFi2bBmdO3d2d1FEREREREQKJfWbRERuXFpTRURERERERERERERExAkKqoiIiIiIiIiIiIiIiDhB03+JiIiIiIiIiIiIiIg4QZkqIiIiIiIiIiIiIiIiTlBQRURERERERERERERExAkKqoiIiIiIiIiIiIiIiDhBQRUREREREREREREREREnKKgiIiIiIiIiIiIiIiLiBAVVREREREREREREREREnKCgioiIiIiIiIiIiIiIiBMUVBEREREREREREREREXHC/wOLwoQR+H/NZgAAAABJRU5ErkJggg==","text/plain":["<Figure size 2000x1000 with 2 Axes>"]},"metadata":{},"output_type":"display_data"}],"source":["train_acc = history.history['accuracy']\n","train_loss = history.history['loss']\n","val_acc = history.history['val_accuracy']\n","val_loss = history.history['val_loss']\n","\n","epochs = range(len(train_acc))\n","fig , ax = plt.subplots(1,2)\n","fig.set_size_inches(20,10)\n","\n","ax[0].plot(epochs , train_acc , 'go-' , label = 'Training Accuracy')\n","ax[0].plot(epochs , val_acc , 'ro-' , label = 'Validation Accuracy')\n","ax[0].set_title('Training & Validation Accuracy')\n","ax[0].legend()\n","ax[0].set_xlabel(\"Epochs\")\n","ax[0].set_ylabel(\"Accuracy\")\n","\n","ax[1].plot(epochs , train_loss , 'g-o' , label = 'Training Loss')\n","ax[1].plot(epochs , val_loss , 'r-o' , label = 'Validation Loss')\n","ax[1].set_title('Testing Accuracy & Loss')\n","ax[1].legend()\n","ax[1].set_xlabel(\"Epochs\")\n"]},{"cell_type":"code","execution_count":81,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T16:10:20.012207Z","iopub.status.busy":"2024-02-23T16:10:20.011854Z","iopub.status.idle":"2024-02-23T16:10:35.230725Z","shell.execute_reply":"2024-02-23T16:10:35.229650Z","shell.execute_reply.started":"2024-02-23T16:10:20.012178Z"},"id":"yO-VHwMWyoJA","trusted":true},"outputs":[],"source":["preds_VIT = model.predict(X_test, verbose=0)"]},{"cell_type":"code","execution_count":82,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T16:10:35.232920Z","iopub.status.busy":"2024-02-23T16:10:35.232618Z","iopub.status.idle":"2024-02-23T16:10:35.238091Z","shell.execute_reply":"2024-02-23T16:10:35.237065Z","shell.execute_reply.started":"2024-02-23T16:10:35.232893Z"},"id":"R0qnDM1QyoJA","trusted":true},"outputs":[],"source":["y_test_ground_truth = np.argmax(y_test, axis=1)"]},{"cell_type":"code","execution_count":83,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T16:10:35.239523Z","iopub.status.busy":"2024-02-23T16:10:35.239244Z","iopub.status.idle":"2024-02-23T16:10:35.247891Z","shell.execute_reply":"2024-02-23T16:10:35.247016Z","shell.execute_reply.started":"2024-02-23T16:10:35.239499Z"},"id":"4HyTmO7GyoJA","trusted":true},"outputs":[],"source":[]},{"cell_type":"code","execution_count":84,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T16:10:35.249364Z","iopub.status.busy":"2024-02-23T16:10:35.249028Z","iopub.status.idle":"2024-02-23T16:10:35.255860Z","shell.execute_reply":"2024-02-23T16:10:35.254974Z","shell.execute_reply.started":"2024-02-23T16:10:35.249321Z"},"id":"PkJJv7wDyoJA","trusted":true},"outputs":[],"source":["predictions_VIT = np.argmax(preds_VIT, axis=1)\n","\n"]},{"cell_type":"code","execution_count":85,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T16:10:35.257538Z","iopub.status.busy":"2024-02-23T16:10:35.257202Z","iopub.status.idle":"2024-02-23T16:10:35.274236Z","shell.execute_reply":"2024-02-23T16:10:35.273258Z","shell.execute_reply.started":"2024-02-23T16:10:35.257511Z"},"id":"MxbDMIYLyoJB","trusted":true},"outputs":[{"name":"stdout","output_type":"stream","text":["Classification Report:\n","                          precision    recall  f1-score   support\n","\n","    meningioma (Class 0)     0.9930    0.9930    0.9930       143\n","        glioma (Class 1)     0.9859    0.9859    0.9859        71\n","pituitary tumor(Class 2)     1.0000    1.0000    1.0000        93\n","\n","                accuracy                         0.9935       307\n","               macro avg     0.9930    0.9930    0.9930       307\n","            weighted avg     0.9935    0.9935    0.9935       307\n","\n"]}],"source":["from sklearn.metrics import classification_report\n","\n","print(\"Classification Report:\")\n","print(classification_report(y_test_ground_truth, predictions_VIT, target_names=[' meningioma (Class 0)', ' glioma (Class 1)', 'pituitary tumor(Class 2)'], digits = 4))"]},{"cell_type":"code","execution_count":86,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T16:10:35.275470Z","iopub.status.busy":"2024-02-23T16:10:35.275232Z","iopub.status.idle":"2024-02-23T16:10:35.288719Z","shell.execute_reply":"2024-02-23T16:10:35.287821Z","shell.execute_reply.started":"2024-02-23T16:10:35.275450Z"},"id":"rlqFKSNtyoJB","trusted":true},"outputs":[{"data":{"text/html":["<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>Predicted meningioma</th>\n","      <th>Predicted glioma</th>\n","      <th>Predicted pituitary tumor</th>\n","    </tr>\n","  </thead>\n","  <tbody>\n","    <tr>\n","      <th>Actual meningioma</th>\n","      <td>142</td>\n","      <td>1</td>\n","      <td>0</td>\n","    </tr>\n","    <tr>\n","      <th>Actual glioma</th>\n","      <td>1</td>\n","      <td>70</td>\n","      <td>0</td>\n","    </tr>\n","    <tr>\n","      <th>Actual pituitary tumor</th>\n","      <td>0</td>\n","      <td>0</td>\n","      <td>93</td>\n","    </tr>\n","  </tbody>\n","</table>\n","</div>"],"text/plain":["                        Predicted meningioma  Predicted glioma  \\\n","Actual meningioma                        142                 1   \n","Actual glioma                              1                70   \n","Actual pituitary tumor                     0                 0   \n","\n","                        Predicted pituitary tumor  \n","Actual meningioma                               0  \n","Actual glioma                                   0  \n","Actual pituitary tumor                         93  "]},"execution_count":86,"metadata":{},"output_type":"execute_result"}],"source":["from sklearn.metrics import classification_report,confusion_matrix\n","\n","cm = pd.DataFrame(data=confusion_matrix(y_test_ground_truth, predictions_VIT, labels=[0, 1, 2]), index=[\"Actual meningioma\", \"Actual glioma\", \"Actual pituitary tumor\"],columns=[\"Predicted meningioma\", \"Predicted glioma\", \"Predicted pituitary tumor\"])\n","cm"]},{"cell_type":"code","execution_count":87,"metadata":{"execution":{"iopub.execute_input":"2024-02-23T16:10:35.290343Z","iopub.status.busy":"2024-02-23T16:10:35.290017Z","iopub.status.idle":"2024-02-23T16:10:35.580601Z","shell.execute_reply":"2024-02-23T16:10:35.579620Z","shell.execute_reply.started":"2024-02-23T16:10:35.290319Z"},"id":"9sVO-y3SyoJB","trusted":true},"outputs":[{"data":{"text/plain":["<Axes: >"]},"execution_count":87,"metadata":{},"output_type":"execute_result"},{"data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAApMAAAI+CAYAAADglIHNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8WgzjOAAAACXBIWXMAAA9hAAAPYQGoP6dpAABnAklEQVR4nO3dd3iT9f7/8Vc6KZ2ULsoqYGVo2UPAgYACRRDEATLKEMXDRqYCZYgVRARFxVGGHhzwBTmAgkcLsnehONgKVaEFZJSClLbJ7w9+5hALSJPSu2meD6/7usgnd+68UqO8+1m3yWKxWAQAAADYwc3oAAAAAHBeFJMAAACwG8UkAAAA7EYxCQAAALtRTAIAAMBuFJMAAACwG8UkAAAA7EYxCQAAALtRTAIAAMBuHkYHAPIr+/TPRkdAEVIy8j6jI6CI4bZuuFbOld9v+3sU1N9LniGVC+Q6hY2eSQAAAEeYcwvmyIf169erXbt2ioyMlMlk0rJly254br9+/WQymTRz5kyb9jNnzqhr164KCAhQUFCQ+vTpo8zMzHx/fIpJAAAAR1jMBXPkw8WLF1WrVi29/fbbNz3viy++0NatWxUZGZnnua5du+rHH3/UN998o5UrV2r9+vV69tln85VDYpgbAADA6bRp00Zt2rS56Tm///67Bg4cqK+//lpt27a1eW7fvn1avXq1duzYofr160uS3nrrLcXGxmr69OnXLT5vhJ5JAAAAR5jNBXJkZWUpIyPD5sjKyrIzklndu3fXiBEjdNddd+V5fsuWLQoKCrIWkpLUsmVLubm5adu2bfl6L4pJAAAAB1gs5gI5EhISFBgYaHMkJCTYlWnq1Kny8PDQoEGDrvt8WlqawsLCbNo8PDwUHBystLS0fL0Xw9wAAABFwJgxYzRs2DCbNm9v73xfZ9euXZo1a5aSk5NlMpkKKt4NUUwCAAA4wpy/xTM34u3tbVfx+HcbNmzQyZMnVaFCBWtbbm6uXnjhBc2cOVNHjx5VRESETp48afO6nJwcnTlzRhEREfl6P4pJAAAAR+RzJfbt1r17d7Vs2dKmrVWrVurevbt69eolSWrcuLHOnTunXbt2qV69epKkNWvWyGw2q1GjRvl6P4pJAAAAJ5OZmanDhw9bH//yyy/as2ePgoODVaFCBZUuXdrmfE9PT0VERKhq1aqSpOrVq6t169bq27ev5syZo+zsbA0YMECdO3fO10puiWISAADAMfnccLwg7Ny5Uw8++KD18V9zLePi4jR//vxbusbChQs1YMAAtWjRQm5uburUqZPefPPNfGcxWSwW7jwFp8LtFHEtbqeIv+MvNVyrMG6neOXozgK5jldU/X8+qQhiayAAAADYjWFuAAAARxTQam5nRTEJAADgAEsRW81d2CgmAQAAHOHiPZPMmQQAAIDd6JkEAABwBMPcAAAAsJsB+0wWJQxzAwAAwG70TAIAADiCYW4AAADYjdXcAAAAgH3omQQAAHAEw9wAAACwG8PcAAAAgH3omQQAAHCAxeLa+0xSTAIAADiCOZMAAACwG3MmAQAAAPvQMwkAAOAIhrkBAABgN7NrL8BhmBsAAAB2o2cSAADAEQxzAwAAwG6s5gYAAADsQ88kAACAIxjmBgAAgN0Y5gYAAADsQ88kAACAI1y8Z5JiEgAAwAEWi2tvWk4xCQAA4AgX75lkziQAAADsRs8kAACAI9gaCAAAAHZjmBsAAACwDz2TAAAAjmCYGwAAAHZjmBsAAACwDz2TAAAAjmCYGwAAAHZjmBsAAACwDz2TAAAAjqBnEgAAAHazmAvmyIf169erXbt2ioyMlMlk0rJly6zPZWdna9SoUYqJiZGvr68iIyPVo0cPHT9+3OYaZ86cUdeuXRUQEKCgoCD16dNHmZmZ+f74FJMAAACOMJsL5siHixcvqlatWnr77bfzPHfp0iUlJydr3LhxSk5O1tKlS3XgwAG1b9/e5ryuXbvqxx9/1DfffKOVK1dq/fr1evbZZ/P98U0Wi8WS71e5AJPJpC+++EIdOnQwOkoetyPbhAkTtGzZMu3Zs6fArnm7ZJ/+2egIKEJKRt5ndAQUMfylhmvlXPn9tr/Hn8unF8h1fNoPt+t1t1IX7NixQw0bNtSxY8dUoUIF7du3TzVq1NCOHTtUv359SdLq1asVGxur3377TZGRkbf8/ob3TG7ZskXu7u5q27Ztvl8bFRWlmTNnFnyoIu7EiRNq06ZNgV5z+PDhSkpKKtBrIv927vle/UfG68H2XXV30zZKWr/5hudOnPaW7m7aRh9//oW17fcT6RqX8IZaPd5T9R58VK2f6KXZH36s7OzswogPA9x7byN98cV8HTu6S9lXflf79q2MjgSDPd8vTocPblVmxhFt3rhCDerXNjpS8VdAw9xZWVnKyMiwObKysgok4vnz52UymRQUFCTpav0VFBRkLSQlqWXLlnJzc9O2bdvydW3Di8nExEQNHDhQ69evzzOWj+uLiIiQt7d3gV7Tz89PpUuXLtBrIv/+/POyqt5RWS+98K+bnvftuk3a++N+hYXY/jv75divspgtGj9ioJb9e45GDXpOi5Z9pZnvzb+NqWEkX9+S2rv3Jw0a/JLRUVAEPPFEe01/LV6TX56hBo1aK2XvT/rqy4UKDeX/77dVAQ1zJyQkKDAw0OZISEhwON7ly5c1atQodenSRQEBAZKktLQ0hYWF2Zzn4eGh4OBgpaWl5ev6hhaTmZmZ+vzzz/X888+rbdu2mj9/fp5zVqxYoQYNGqhEiRIKCQlRx44dJUnNmjXTsWPHNHToUJlMJplMJklXh2tr165tc42ZM2cqKirK+njHjh166KGHFBISosDAQD3wwANKTk7OV/ZmzZpp4MCBGjJkiEqVKqXw8HB98MEHunjxonr16iV/f3/dcccdWrVqlc3rfvjhB7Vp00Z+fn4KDw9X9+7ddfr0aZvrDho0SCNHjlRwcLAiIiI0YcIEm2tcO9H26NGjMplMWrp0qR588EGVLFlStWrV0pYtW2xe88EHH6h8+fIqWbKkOnbsqBkzZlh/O7nez81sNmvSpEkqV66cvL29Vbt2ba1evdr6/F/vu2jRIt13333y8fFRgwYNdPDgQWuXuZ+fn9q0aaNTp04V6M++OLuvcQMNejZOLR9oesNz0k+dVsIb72pq/Eh5eLjbPHfvPfX18kvD1LRRPZUvW0YP3nePenbppKR1N+7hhHP7+uu1io+fpv/8Z/U/n4xib+jgvvow8RMt+GiR9u07pH/1H61Ll/5Ur56djY6GWzBmzBidP3/e5hgzZoxD18zOztaTTz4pi8Wid999t4CS2jK0mFy0aJGqVaumqlWrqlu3bpo7d66uncL55ZdfqmPHjoqNjdXu3buVlJSkhg0bSpKWLl2qcuXKadKkSTpx4oROnDhxy+974cIFxcXFaePGjdq6dauio6MVGxurCxcu5Cv/ggULFBISou3bt2vgwIF6/vnn9cQTT6hJkyZKTk7Www8/rO7du+vSpUuSpHPnzql58+aqU6eOdu7cqdWrVys9PV1PPvlknuv6+vpq27ZtmjZtmiZNmqRvvvnmplleeuklDR8+XHv27NGdd96pLl26KCcnR5K0adMm9evXT4MHD9aePXv00EMPacqUKTe93qxZs/T6669r+vTp2rt3r1q1aqX27dvr0KFDNufFx8dr7NixSk5OloeHh55++mmNHDlSs2bN0oYNG3T48GGNHz/een5B/exdldls1phJ09Xz6cd1R+WKt/SazIsXFeDvf5uTATCap6en6tatqaQ1G6xtFotFSWs26p576hmYzAUU0DC3t7e3AgICbA5HRiL/KiSPHTumb775xtorKV0d5Tx58qTN+Tk5OTpz5owiIiLy9T6G7jOZmJiobt26SZJat26t8+fPa926dWrWrJkkacqUKercubMmTpxofU2tWrUkScHBwXJ3d5e/v3++P3Tz5s1tHr///vsKCgrSunXr9Mgjj9zydWrVqqWxY8dKuvrbxKuvvqqQkBD17dtXkjR+/Hi9++672rt3r+655x7Nnj1bderU0SuvvGK9xty5c1W+fHkdPHhQd955pySpZs2aio+PlyRFR0dr9uzZSkpK0kMPPXTDLMOHD7fOO504caLuuusuHT58WNWqVdNbb72lNm3aaPjwqxN777zzTm3evFkrV6684fWmT5+uUaNGqXPnq7/NTp06VWvXrtXMmTNtVo4NHz5crVpdnaM1ePBgdenSRUlJSWra9GrPWp8+fWx6nPP7s8/KysozX8QtK6vAh/mdReK/F8vd3U3dnnj0ls5P/e24Pvm/5Ro+4JnbnAyA0UJCguXh4aGT6adt2k+ePKVqVasYlMpFFMF9Jv8qJA8dOqS1a9fmmcrWuHFjnTt3Trt27VK9eld/2VizZo3MZrMaNWqUr/cyrGfywIED2r59u7p06SLp6jj9U089pcTEROs5e/bsUYsWLQr8vdPT09W3b19FR0crMDBQAQEByszMVGpqar6uU7NmTeuf3d3dVbp0acXExFjbwsPDJcla+aekpGjt2rXy8/OzHtWqVZMkHTly5LrXlaQyZcrk+e3hZlnKlClj874HDhyw9uj+5e+Pr5WRkaHjx49bC8K/NG3aVPv27bvh+/71ef/+M7g2e35/9tebPzJ11pwbZi/Oftx/SP9e/B9NeekF67SOm0k/dVrPDRurhx+8T4+3L9gFWwAAY2VmZmrPnj3WXVh++eUX7dmzR6mpqcrOztbjjz+unTt3auHChcrNzVVaWprS0tJ05coVSVL16tXVunVr9e3b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qIPcSoXoyrZ1RkcvVpy3DCwYt9wzmZiYqJYtW+YpJKWrxeTOnTu1d+9eNWvWTIsXL9by5ctVu3ZtNW/e3GZ18qRJk3T06FFVqVLFusClevXqeuedd/T222+rVq1a2r59e57VxomJiTp79qzq1q2r7t27a9CgQQoLC8v3B+7Ro4f+/PNPNWzYUP3799fgwYNtNin/u9dff13ffPONypcvby0WW7VqpXHjxmnkyJFq0KCBLly4oB49etz0fa/3uceOHau6deuqVatWatasmSIiIvJsOXQzLVu2VJkyZdSqVSubqQfX06RJE/Xr109PPfWUQkNDrQt6Xn/9dZUvX1733Xefnn76aQ0fPrxA9tkcNGiQhg0bphdeeEExMTFavXq1li9frujoaIev7eoWL16ukaMma8L44dq147+qXauG2j7STSdP5r+nHs6P74NrM5X0lU/PwfJ/bb5K9hutnAM/KPPVUVJurmTOlVtkBfkOnqiA6QvkO3yK3PwDlDl5sMy/HzU6erHi6vtMmiwutJqhWbNmql27dpG+A09+ZGZmqmzZspo3b55LrYj28CprdAQARdjpJ6r+80lwGUEL19z292hatvk/n3QLNv1++7PeDsXq3tyuwmw26+TJk5o8ebKCgoLUvn17oyMBAOCyjOiZTEhIUIMGDeTv76+wsDB16NBBBw4csDnn8uXL6t+/v0qXLi0/Pz916tRJ6enpBfnRJVFMOqXU1FSFh4frk08+0dy5c+Xhke/tQgEAQAEx4g4469atU//+/bV161Z98803ys7O1sMPP6yLFy9azxk6dKhWrFihxYsXa926dTp+/PhtGcl0qWFuFA8McwO4GYa5ca3CGOa+J7JZgVxn6/Hv7H7tqVOnFBYWpnXr1un+++/X+fPnFRoaqk8++USPP/64JGn//v2qXr26tmzZonvuuadAMkt23AEHAAAA/1NQi2eysrKUlZVl03a9XU2u5/z585Ku3nVPknbt2qXs7Gy1bNnSek61atVUoUKFAi8mGeYGAABwQEHdASchIUGBgYE2R0JCwj++v9ls1pAhQ9S0aVPdfffV+7KnpaXJy8tLQUFBNueGh4crLS2tQD8/PZMAAABFwJgxYzRs2DCbtlvplezfv79++OEHbdy48XZFuymKSQAAAAcU1PKTWx3SvtaAAQO0cuVKrV+/XuXKlbO2R0RE6MqV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oGcSAJxMixYt9Mwzz6hLly427Z988onef/99fffdd8YEg2H8/f31/fffKyoqyugocEEUk4CTOHfunLZv366TJ0/KbDbbPNejRw+DUsEIJUuWVEpKiqKjo23aDx48qNq1a+vSpUsGJYNRHn30UT322GP0PMIQDHMDTmDFihXq2rWrMjMzFRAQYDN3zmQyUUy6mPLly+uDDz7QtGnTbNo//PBD67264VratGmj0aNH6/vvv1e9evXk6+tr83z79u0NSgZXQM8k4ATuvPNOxcbG6pVXXlHJkiWNjgODffXVV+rUqZPuuOMONWrUSJK0fft2HTp0SEuWLFFsbKzBCVHYbnZPdhbp4XajmAScgK+vr77//ntVrlzZ6CgoIn799Ve9++672r9/vySpevXq6tevHz2TAAodxSTgBB577DF17txZTz75pNFRAACwwZxJwAm0bdtWI0aM0E8//aSYmJg89+ZmPpTr2bBhg9577z39/PPPWrx4scqWLauPP/5YlSpV0r333mt0PBjg4sWLWrdunVJTU3XlyhWb5wYNGmRQKrgCeiYBJ8B8KFxryZIl6t69u7p27aqPP/5YP/30kypXrqzZs2frq6++0ldffWV0RBSy3bt3KzY2VpcuXdLFixcVHBys06dPq2TJkgoLC9PPP/9sdEQUYzf+GwpAkWE2m294UEi6npdffllz5szRBx98YNNL3bRpUyUnJxuYDEYZOnSo2rVrp7Nnz8rHx0dbt27VsWPHVK9ePU2fPt3oeCjmKCYBJ3P58mWjI8BgBw4c0P3335+nPTAwUOfOnSv8QDDcnj179MILL8jNzU3u7u7KyspS+fLlNW3aNL344otGx0MxRzEJOIHc3FxNnjxZZcuWlZ+fn3XIaty4cUpMTDQ4HQpbRESEDh8+nKd948aNrPh3UZ6entbpMGFhYUpNTZV09ReMX3/91chocAEUk4ATmDJliubPn69p06bJy8vL2n733Xfrww8/NDAZjNC3b18NHjxY27Ztk8lk0vHjx7Vw4UINHz5czz//vNHxYIA6depox44dkqQHHnhA48eP18KFCzVkyBDdfffdBqdDcccCHMAJ3HHHHXrvvffUokUL+fv7KyUlRZUrV9b+/fvVuHFjnT171uiIKEQWi0WvvPKKEhISrLdO9Pb21vDhwzV58mSD08EIO3fu1IULF/Tggw/q5MmT6tGjhzZv3qzo6GglJiaqdu3aRkdEMUYxCTgBHx8f7d+/XxUrVrQpJn/66Sc1bNhQmZmZRkeEAa5cuaLDhw8rMzNTNWrUkJ+fn9GRALgghrkBJ1CjRg1t2LAhT/v//d//qU6dOgYkgpF69+6tCxcuyMvLSzVq1FDDhg3l5+enixcvqnfv3kbHgwGaN29+3cVXGRkZat68eeEHgkuhZxJwAv/5z38UFxenMWPGaNKkSZo4caIOHDigjz76SCtXrtRDDz1kdEQUInd3d504cUJhYWE27adPn1ZERIRycnIMSgajuLm5KS0tLc934uTJkypbtqyys7MNSgZXwB1wACfw6KOPasWKFZo0aZJ8fX01fvx41a1bVytWrKCQdCEZGRmyWCyyWCy6cOGCSpQoYX0uNzdXX331VZ5iAsXb3r17rX/+6aeflJaWZn2cm5ur1atXq2zZskZEgwuhZxIAnISbm5tMJtMNnzeZTJo4caJeeumlQkwFI137nbjeX+c+Pj566623mP6A24piEnAymZmZMpvNNm0BAQEGpUFhWrdunSwWi5o3b64lS5YoODjY+pyXl5cqVqyoyMhIAxOisB07dkwWi0WVK1fW9u3bFRoaan3Oy8tLYWFhcnd3NzAhXAHFJOAEfvnlFw0YMEDfffedzR1wLBYL9+Z2QceOHVOFChVu2ksJAIWFOZOAE+jWrZssFovmzp2r8PBwiggXt2bNGvn5+emJJ56waV+8eLEuXbqkuLg4g5KhMC1fvlxt2rSRp6enli9fftNz27dvX0ip4IromQScgJ+fn3bt2qWqVasaHQVFwJ133qn33ntPDz74oE37unXr9Oyzz+rAgQMGJUNhunYF91+3UrweRi9wu7HPJOAEGjRowP11YZWamqpKlSrlaa9YsaL1nswo/sxms3X1vtlsvuFBIYnbjWFuwAl8+OGH6tevn37//Xfdfffd8vT0tHm+Zs2aBiWDEcLCwrR3715FRUXZtKekpKh06dLGhALgsigmASdw6tQpHTlyRL169bK2mUwmFuC4qC5dumjQoEHy9/fX/fffL+nqEPfgwYPVuXNng9PBCJMmTbrp8+PHjy+kJHBFzJkEnECNGjVUvXp1jRw58roLcCpWrGhQMhjhypUr6t69uxYvXiwPj6t9AmazWT169NCcOXPk5eVlcEIUtr/fVjU7O1u//PKLPDw8VKVKFSUnJxuUDK6AYhJwAr6+vkpJSdEdd9xhdBQUIQcPHlRKSop8fHwUExPDLxWwkZGRoZ49e6pjx47q3r270XFQjFFMAk6gXbt26tmzpzp16mR0FABO5Pvvv1e7du109OhRo6OgGGPOJOAE2rVrp6FDh+r7779XTExMngU47CFX/A0bNkyTJ0+Wr6+vhg0bdtNzZ8yYUUipUNSdP39e58+fNzoGijmKScAJ9OvXT9L1J9mzAMc17N69W9nZ2dY/3wgb2rumN9980+axxWLRiRMn9PHHH6tNmzYGpYKrYJgbAAAn9/d9R93c3BQaGqrmzZtrzJgx8vf3NygZXAHFJAAAAOzGMDcAOIHHHnvsls9dunTpbUyCoqh3796aNWtWnh7IixcvauDAgZo7d65ByeAKuJ0iADiBwMBA6xEQEKCkpCTt3LnT+vyuXbuUlJSkwMBAA1PCKAsWLNCff/6Zp/3PP//URx99ZEAiuBJ6JgHACcybN8/651GjRunJJ5/UnDlz5O7uLknKzc3Vv/71LwUEBBgVEQbIyMiQxWKRxWLRhQsXVKJECetzubm5+uqrr6z37wZuF+ZMAoCTCQ0N1caNG1W1alWb9gMHDqhJkyb6448/DEqGwubm5nbTFfwmk0kTJ07USy+9VIip4GromQSKqIyMjFs+l94o15KTk6P9+/fnKSb3798vs9lsUCoYYe3atbJYLGrevLmWLFmi4OBg63NeXl6qWLGiIiMjDUwIV0AxCRRRQUFBt7xnIPtMupZevXqpT58+OnLkiBo2bChJ2rZtm1599VX16tXL4HQoTA888IAk6ZdfflGFChXYZxSGoJgEiqi1a9da/3z06FGNHj1aPXv2VOPGjSVJW7Zs0YIFC5SQkGBURBhk+vTpioiI0Ouvv64TJ05IksqUKaMRI0bohRdeMDgdCsvevXt19913y83NTefPn9f3339/w3Nr1qxZiMngapgzCTiBFi1a6JlnnlGXLl1s2j/55BO9//77+u6774wJBsP9NR2CqQ6ux83NTWlpaQoLC7POnbzeX+ncJQu3G8Uk4ARKliyplJQURUdH27QfPHhQtWvX1qVLlwxKBqPk5OTou+++05EjR/T000/L399fx48fV0BAgPz8/IyOh0Jw7Ngx69D2sWPHbnpuxYoVCykVXBHD3IATKF++vD744ANNmzbNpv3DDz9U+fLlDUoFoxw7dkytW7dWamqqsrKy9NBDD8nf319Tp05VVlaW5syZY3REFIJrC0SKRRiJYhJwAm+88YY6deqkVatWqVGjRpKk7du369ChQ1qyZInB6VDYBg8erPr16yslJUWlS5e2tnfs2FF9+/Y1MBmMdODAAb311lvat2+fJKl69eoaOHBgnlX/QEHjDjiAE4iNjdXBgwfVrl07nTlzRmfOnFG7du108OBBxcbGGh0PhWzDhg0aO3asvLy8bNqjoqL0+++/G5QKRlqyZInuvvtu7dq1S7Vq1VKtWrWUnJysu+++m184cdsxZxIAnEypUqW0adMm1ahRQ/7+/kpJSVHlypW1ceNGderUSenp6UZHRCGrUqWKunbtqkmTJtm0x8fH69///reOHDliUDK4AnomASexYcMGdevWTU2aNLH2Pn388cfauHGjwclQ2B5++GHNnDnT+thkMikzM1Px8fH0VLuoEydOqEePHnnau3XrZt0+CrhdKCYBJ7BkyRK1atVKPj4+Sk5OVlZWliTp/PnzeuWVVwxOh8I2ffp0a8/k5cuX9fTTT1uHuKdOnWp0PBigWbNm2rBhQ572jRs36r777jMgEVwJw9yAE6hTp46GDh2qHj162Axr7t69W23atFFaWprREVHIcnJy9PnnnyslJUWZmZmqW7euunbtKh8fH6OjwQBz5szR+PHj9eSTT+qee+6RJG3dulWLFy/WxIkTbW6p2L59e6NiopiimAScQMmSJfXTTz8pKirKppj8+eefrb1TcA3Z2dmqVq2aVq5cqerVqxsdB0WEm9utDTSygTluB4a5AScQERGhw4cP52nfuHGjKleubEAiGMXT05NfHpCH2Wy+pYNCErcDxSTgBPr27avBgwdr27ZtMplMOn78uBYuXKjhw4fr+eefNzoeCln//v01depU5eTkGB0FABjmBpyBxWLRK6+8ooSEBOutE729vTV8+HBNnjzZ4HQobB07dlRSUpL8/PwUExMjX19fm+eXLl1qUDIArohiEnAiV65c0eHDh5WZmakaNWpwD2YX1atXr5s+P2/evEJKAgAUk4BT6N27t2bNmiV/f3+b9osXL2rgwIGaO3euQckAAK6OYhJwAu7u7jpx4oTCwsJs2k+fPq2IiAjmzrkIs9ms1157TcuXL9eVK1fUokULxcfHsx0QAEN5GB0AwI1lZGTI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","text/plain":["<Figure size 640x480 with 2 Axes>"]},"metadata":{},"output_type":"display_data"}],"source":["import seaborn as sns\n","sns.heatmap(cm,annot=True,fmt=\"d\")"]},{"cell_type":"code","execution_count":null,"metadata":{"id":"K4i_mmowyoJB"},"outputs":[],"source":[]},{"cell_type":"code","execution_count":null,"metadata":{"id":"PVN1JCgSyoJB"},"outputs":[],"source":[]}],"metadata":{"accelerator":"GPU","colab":{"gpuType":"T4","provenance":[]},"kaggle":{"accelerator":"nvidiaTeslaT4","dataSources":[{"datasetId":1454010,"sourceId":2404385,"sourceType":"datasetVersion"}],"dockerImageVersionId":30648,"isGpuEnabled":true,"isInternetEnabled":true,"language":"python","sourceType":"notebook"},"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.10.13"}},"nbformat":4,"nbformat_minor":4}
