{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.7.9","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"gpu","dataSources":[{"sourceId":4104,"databundleVersionId":46661,"sourceType":"competition"},{"sourceId":265751,"sourceType":"datasetVersion","datasetId":110097},{"sourceId":7301394,"sourceType":"datasetVersion","datasetId":4235800},{"sourceId":7301626,"sourceType":"datasetVersion","datasetId":4235974},{"sourceId":7676558,"sourceType":"datasetVersion","datasetId":4478057},{"sourceId":7676612,"sourceType":"datasetVersion","datasetId":4478099}],"dockerImageVersionId":30068,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8c509cfa-1f2d-4622-85d8-b6f42097f4e4","_cell_guid":"e371b4bb-bd4f-47d9-8510-bf857d4df1ec","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T19:16:06.844292Z","iopub.execute_input":"2024-02-22T19:16:06.844612Z","iopub.status.idle":"2024-02-22T19:16:06.904318Z","shell.execute_reply.started":"2024-02-22T19:16:06.844584Z","shell.execute_reply":"2024-02-22T19:16:06.903594Z"},"trusted":true},"execution_count":2,"outputs":[{"name":"stdout","text":"/kaggle/input/diabetic-retinopathy-detection/train.zip.003\n/kaggle/input/diabetic-retinopathy-detection/test.zip.004\n/kaggle/input/diabetic-retinopathy-detection/test.zip.005\n/kaggle/input/diabetic-retinopathy-detection/train.zip.002\n/kaggle/input/diabetic-retinopathy-detection/test.zip.006\n/kaggle/input/diabetic-retinopathy-detection/test.zip.003\n/kaggle/input/diabetic-retinopathy-detection/train.zip.005\n/kaggle/input/diabetic-retinopathy-detection/train.zip.001\n/kaggle/input/diabetic-retinopathy-detection/sampleSubmission.csv.zip\n/kaggle/input/diabetic-retinopathy-detection/test.zip.007\n/kaggle/input/diabetic-retinopathy-detection/trainLabels.csv.zip\n/kaggle/input/diabetic-retinopathy-detection/test.zip.001\n/kaggle/input/diabetic-retinopathy-detection/sample.zip\n/kaggle/input/diabetic-retinopathy-detection/train.zip.004\n/kaggle/input/diabetic-retinopathy-detection/test.zip.002\n/kaggle/input/prepossessed-arrays-of-binary-data/Binary_images_data_128.npz\n/kaggle/input/prepossessed-arrays-of-binary-data/Binary_images_data_90.npz\n/kaggle/input/prepossessed-arrays-of-binary-data/1000_Binary_images_data_264.npz\n/kaggle/input/prepossessed-arrays-of-binary-data/1000_Binary Dataframe\n/kaggle/input/prepossessed-arrays-of-binary-data/Binary_images_data_264.npz\n/kaggle/input/prepossessed-arrays-of-binary-data/1000_Binary_images_data_128.npz\n/kaggle/input/prepossessed-arrays-of-binary-data/1000_Binary_images_data_90.npz\n/kaggle/input/prepossessed-arrays-of-binary-data/Binary Dataframe\n/kaggle/input/gggggg/03_dr.JPG\n/kaggle/input/normall/04_h.jpg\n/kaggle/input/glaucoma/image17.jpg\n/kaggle/input/normal/1ffa963a-8d87-11e8-9daf-6045cb817f5b..JPG\n","output_type":"stream"}]},{"cell_type":"code","source":"import numpy as np\nimport matplotlib.pyplot as plt\nimport tensorflow as tf\n# from keras.preprocessing.image import img_to_array\n# from keras.preprocessing.image import array_to_img\n# from sklearn.model_selection import train_test_split\n# from PIL import Image\n# import scipy\n\nimport tensorflow as tf\nfrom tensorflow.keras.applications import *\nfrom tensorflow.keras.optimizers import *\nfrom tensorflow.keras.losses import *\nfrom tensorflow.keras.layers import *\nfrom tensorflow.keras.models import *\nfrom tensorflow.keras.callbacks import *\nfrom tensorflow.keras.preprocessing.image import *\nfrom tensorflow.keras.utils import *\n# import pydot\nfrom sklearn.metrics import *\nfrom sklearn.model_selection import *\nimport tensorflow.keras.backend as K\n\n# from tqdm import tqdm, tqdm_notebook\n# from colorama import Fore\n# import json\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nfrom glob import glob\nfrom skimage.io import *\n%config Completer.use_jedi = False\n# import time\n# from sklearn.decomposition import PCA\n# from sklearn.svm import LinearSVC\n# from sklearn.linear_model import LogisticRegression\n# from sklearn.metrics import accuracy_score\n# import lightgbm as lgb\n# import xgboost as xgb\n# !pip install livelossplot\n# import livelossplot\n# from livelossplot import PlotLossesKeras\nimport warnings\nwarnings.filterwarnings('ignore')\nprint(\"All modules have been imported\")","metadata":{"_uuid":"dd11e692-b00b-4e02-a9a5-7cf739d8118b","_cell_guid":"a29ccb84-cb82-42a2-80d8-befa5d0927e3","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T19:16:09.670623Z","iopub.execute_input":"2024-02-22T19:16:09.670975Z","iopub.status.idle":"2024-02-22T19:16:15.710691Z","shell.execute_reply.started":"2024-02-22T19:16:09.670942Z","shell.execute_reply":"2024-02-22T19:16:15.709783Z"},"trusted":true},"execution_count":3,"outputs":[{"name":"stdout","text":"All modules have been imported\n","output_type":"stream"}]},{"cell_type":"code","source":"import itertools\ndef plot_confusion_matrix(cm, classes,\n                          normalize=False,\n                          title='Confusion matrix',\n                          cmap=plt.cm.Blues):\n    \"\"\"\n    This function prints and plots the confusion matrix.\n    Normalization can be applied by setting `normalize=True`.\n    \"\"\"\n    plt.figure(figsize = (6,6))\n    plt.imshow(cm, interpolation='nearest', cmap=cmap)\n    plt.title(title)\n    plt.colorbar()\n    tick_marks = np.arange(len(classes))\n    plt.xticks(tick_marks, classes, rotation=90)\n    plt.yticks(tick_marks, classes)\n    if normalize:\n        cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n\n    thresh = cm.max() / 2.\n    cm = np.round(cm,2)\n    for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n        plt.text(j, i, cm[i, j],\n                 horizontalalignment=\"center\",\n                 color=\"white\" if cm[i, j] > thresh else \"black\")\n    plt.tight_layout()\n    plt.ylabel('True label')\n    plt.xlabel('Predicted label')\n    plt.show()","metadata":{"_uuid":"3b728c90-c193-4472-b704-72327fa36893","_cell_guid":"ed65d09b-f8cc-4bd8-a013-b9db29ea93e6","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T19:16:19.232386Z","iopub.execute_input":"2024-02-22T19:16:19.232742Z","iopub.status.idle":"2024-02-22T19:16:19.242664Z","shell.execute_reply.started":"2024-02-22T19:16:19.232712Z","shell.execute_reply":"2024-02-22T19:16:19.241845Z"},"trusted":true},"execution_count":4,"outputs":[]},{"cell_type":"code","source":"info=pd.read_csv(\"../input/prepossessed-arrays-of-binary-data/1000_Binary Dataframe\")\ninfo=info.drop('Unnamed: 0',axis=1)\ninfo.head()","metadata":{"_uuid":"283fe957-0541-470c-8111-f4cbea158f0a","_cell_guid":"8fe7ceef-1dce-4b90-a8da-338708314686","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T19:16:27.218741Z","iopub.execute_input":"2024-02-22T19:16:27.219103Z","iopub.status.idle":"2024-02-22T19:16:27.255642Z","shell.execute_reply.started":"2024-02-22T19:16:27.219059Z","shell.execute_reply":"2024-02-22T19:16:27.254844Z"},"trusted":true},"execution_count":5,"outputs":[{"execution_count":5,"output_type":"execute_result","data":{"text/plain":"   exists eye_side  level                                               path  \\\n0    True     left      0  ../input/diabetic-retinopathy-detection/10_lef...   \n1    True    right      0  ../input/diabetic-retinopathy-detection/10_rig...   \n2    True     left      0  ../input/diabetic-retinopathy-detection/13_lef...   \n3    True    right      0  ../input/diabetic-retinopathy-detection/13_rig...   \n4    True     left      0  ../input/diabetic-retinopathy-detection/17_lef...   \n\n   patient_id level_cat  \n0          10   [1. 0.]  \n1          10   [1. 0.]  \n2          13   [1. 0.]  \n3          13   [1. 0.]  \n4          17   [1. 0.]  ","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>exists</th>\n      <th>eye_side</th>\n      <th>level</th>\n      <th>path</th>\n      <th>patient_id</th>\n      <th>level_cat</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>True</td>\n      <td>left</td>\n      <td>0</td>\n      <td>../input/diabetic-retinopathy-detection/10_lef...</td>\n      <td>10</td>\n      <td>[1. 0.]</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>True</td>\n      <td>right</td>\n      <td>0</td>\n      <td>../input/diabetic-retinopathy-detection/10_rig...</td>\n      <td>10</td>\n      <td>[1. 0.]</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>True</td>\n      <td>left</td>\n      <td>0</td>\n      <td>../input/diabetic-retinopathy-detection/13_lef...</td>\n      <td>13</td>\n      <td>[1. 0.]</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>True</td>\n      <td>right</td>\n      <td>0</td>\n      <td>../input/diabetic-retinopathy-detection/13_rig...</td>\n      <td>13</td>\n      <td>[1. 0.]</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>True</td>\n      <td>left</td>\n      <td>0</td>\n      <td>../input/diabetic-retinopathy-detection/17_lef...</td>\n      <td>17</td>\n      <td>[1. 0.]</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"cell_type":"code","source":"sns.set_style('darkgrid')\nfig, ax = plt.subplots(figsize=(10,5))\nsns.barplot(x=info.level.unique(),y=info.level.value_counts(),palette='Blues_r',ax=ax)","metadata":{"_uuid":"60efdf63-dc93-4d9e-b8bf-d16fce6600d2","_cell_guid":"bbcc4fa3-25ed-4943-b9a0-3e0d06dac2b1","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T19:16:30.451309Z","iopub.execute_input":"2024-02-22T19:16:30.451644Z","iopub.status.idle":"2024-02-22T19:16:30.616167Z","shell.execute_reply.started":"2024-02-22T19:16:30.451615Z","shell.execute_reply":"2024-02-22T19:16:30.615319Z"},"trusted":true},"execution_count":6,"outputs":[{"execution_count":6,"output_type":"execute_result","data":{"text/plain":"<AxesSubplot:ylabel='level'>"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 720x360 with 1 Axes>","image/png":"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lE9/+tPvuN/Kykr+4R/+IQ8++ODWtoWFhUxNTSVJpqamcvbs2a3tk5OT6evry9DQUPbu3ZvFxcWf9fMAAFx3rirI/u7v/i5/8Rd/kVtuuSVJMjg4mNdee+0d9/viF7+YT3/607nppv93mLW1tTQajSRJo9HI+vp6kqTdbqfZbG69bnBwMO12++o/CQDAdeqK95D92M0335xarbZ1g//FixffcZ+///u/T39/f371V381//RP//SOr//x/zTwk358vMup12vZtevWd3xv4PrnXAduZFcVZBMTE5mZmcnLL7+cv/7rv87Xv/71/P7v//4V93n++efzzDPP5Nlnn80Pf/jDvPrqq3nssccyMDCQ1dXVNBqNrK6upr+/P0nSbDazsrKytX+73d66knY5nU43GxvvHIc/L7t3396zYwFv1stzHaAKV+qIq1qyfOihhzI+Pp6xsbF897vfzSOPPJKPfvSjV9znU5/6VJ599tk888wz+bM/+7P81m/9Vv70T/80o6OjmZ+fT5LMz8/nwIEDSZLR0dG0Wq1sbm5meXk558+fz/79+6/yIwIAXL+u6grZV77yldx333350Ic+dM0HPHLkSI4ePZqTJ09mz549OX78eJJkeHg4ExMTOXToUOr1emZmZlKv16/5eAAA212t+3Y3b/2UL3/5yzl9+nR27tyZycnJjI+P54477ujFfFd06VKn50uWE0/O9+x4wBtOPzGVF198pfQYANfkmpcs/+iP/iitViszMzNZXV3NH/zBH+QP//APf17zAQC8q/1Mz7IcGBjIHXfckV27dmVtba2qmQAA3lWu6h6yr371qzl9+nTW19czPj6eL3zhC/mlX/qlqmcDAHhXuKog+5//+Z989rOfza/8yq9UPQ8AwLvOVS1ZPvbYY3nttdf+v55lCQDAlVX6LEsAAN5Zpc+yBADgnV1VkP3/PMsSAICrU9mzLAEAuDpXFWQPPfRQnnvuudx2221bz7L8eTxGCQCAqwyyJPnQhz4kwgAAKnDFILvnnnu27hv7Sd1uN7VaLc8//3xlgwEAvFtcMcheeOGFXs0BAPCu9TM9yxIAgJ8/QQYAUJggAwAoTJABABQmyAAAChNkAACFCTIAgMIEGQBAYYIMAKAwQQYAUJggAwAoTJABABQmyAAACqssyH74wx/mwQcfzO/+7u9mcnIyf/7nf54k2djY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\n"},"metadata":{}}]},{"cell_type":"code","source":"sizes = info['level'].values\nsns.distplot(sizes, kde=False)","metadata":{"_uuid":"be5f6aea-ded7-4b6b-bed4-50111d10bce8","_cell_guid":"cede9f7b-c147-4dcb-b832-098390256ec3","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T19:16:39.336651Z","iopub.execute_input":"2024-02-22T19:16:39.336994Z","iopub.status.idle":"2024-02-22T19:16:39.534141Z","shell.execute_reply.started":"2024-02-22T19:16:39.336966Z","shell.execute_reply":"2024-02-22T19:16:39.533297Z"},"trusted":true},"execution_count":7,"outputs":[{"execution_count":7,"output_type":"execute_result","data":{"text/plain":"<AxesSubplot:>"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"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O3d6f//73y/Z5rXXXvMeeOABb3Fx0XvnnXe83bt3b1C16yOfnt9++20vk8l4nvff/iuh5//Z7v777/cefPBB78iRIxtQ6frJp+eZmRkvEol4p06d8jzP8z755JONKHXd5NPzL3/5S+/ZZ5/1PM/zpqamvDvuuMObm5vbiHLXxVtvveW9//77XjQaXXJ9MfKrLO7c83mcQSqVIhaLYVkWt956K2fOnCGdTm9QxYXLp+fbbruNzZs3A3Drrbde8tmCcpTvYyt+/etf093dTUNDwwZUub7y6fl3v/sdnZ2dfO5znwMo+77z6dmyLM6dO4fneZw7d47NmzezaVNR3txXEnfccUfuWl1KMfKrLMJ9qccZuK57xW0CgcBl25STfHr+vwYHB9m+fXspSiuafP+dh4eHue+++0pdXlHk0/P4+Dhnzpzh/vvv55577iGZTJa4yvWVT8/f/OY3+cc//sGdd97Jrl27ePzxx/H5yiKu1qQY+VUW/xV6eTzOIJ9tyslq+vnjH//I4OAgL774YrHLKqp8en766afZv38/tm2XqqyiyqfnbDbLBx98wHPPPceFCxe47777CAaDfP7zny9Vmesqn57/8Ic/cNNNN/HCCy/w8ccfE4/Huf3227n22mtLVWZJFSO/yiLc83mcwf+/zeTkZFk/8iDfRzicPHmSJ554gl/96ldcf/31pSxx3eXT8/vvv8++ffsAOH36NK+//jqbNm3iq1/9aklrXS/5vravv/56ampqqKmp4fbbb+fkyZNlG+759Hzo0CH27NmDZVm0trZyww038NFHH9He3l7qckuiGPlVFr/n5PM4g3A4TDKZxPM83n33XWpra8s63PPp+d///jcPP/wwzz77bNle6P9XPj0fPXo096e7u5sf/vCHZRvskF/PHR0d/PnPf+bixYvMzs4yOjrKtm3bNqjiwuXTc3NzMydOnADgk08+4Z///Cc33HDDRpRbEsXIr7K4c1/ucQYvvfQSAF//+tf58pe/zOuvv05nZyfV1dU888wzG1x1YfLp+Re/+AWZTIa+vj4AbNvm0KFDG1l2QfLp2TT59Lxt27bc3LPP52P37t3ceGP5PhY3n56/+93vcuDAAXbu3Inneezfv5/6+voNrnzt9u3bx1tvvcXp06fZvn07Dz/8MBcvXgSKl196/ICIiIHKYlpGRERWR+EuImIghbuIiIEU7iIiBlK4i4gYSOEuImIghbuIiIH+H62EE13SrIcYAAAAAElFTkSuQmCC\n"},"metadata":{}}]},{"cell_type":"code","source":"Binary_90 = np.load('../input/prepossessed-arrays-of-binary-data/1000_Binary_images_data_90.npz')\nX_90=Binary_90['a']\nBinary_128 = np.load('../input/prepossessed-arrays-of-binary-data/1000_Binary_images_data_128.npz')\nX_128=Binary_128['a']\nBinary_264 = np.load('../input/prepossessed-arrays-of-binary-data/1000_Binary_images_data_264.npz')\nX_264=Binary_264['a']\ny=info['level'].values\n\n\nprint(X_90.shape)\nprint(X_128.shape)\nprint(X_264.shape)\nprint(y.shape)","metadata":{"_uuid":"69cc0b4b-29e0-4e15-9796-92789479958f","_cell_guid":"4955e885-96a6-4b55-a0c9-da0736d50d0a","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T19:16:42.339883Z","iopub.execute_input":"2024-02-22T19:16:42.340235Z","iopub.status.idle":"2024-02-22T19:16:55.83182Z","shell.execute_reply.started":"2024-02-22T19:16:42.340207Z","shell.execute_reply":"2024-02-22T19:16:55.831019Z"},"trusted":true},"execution_count":8,"outputs":[{"name":"stdout","text":"(1000, 24300)\n(1000, 49152)\n(1000, 209088)\n(1000,)\n","output_type":"stream"}]},{"cell_type":"code","source":"print(\"Shape before reshaping X_90\" +str(X_90.shape))\nX_90=X_90.reshape(1000,90,90,3)\nprint(\"Shape after reshaping X_90\" +str(X_90.shape))\nprint(\"\\n\\n\")\n\nprint(\"Shape before reshaping X_128\" +str(X_128.shape))\nX_128=X_128.reshape(1000,128,128,3)\nprint(\"Shape after reshaping X_128\" +str(X_128.shape))\nprint(\"\\n\\n\")\n\nprint(\"Shape before reshaping X_264\" +str(X_264.shape))\nX_264=X_264.reshape(1000,264,264,3)\nprint(\"Shape after reshaping X_264\" +str(X_264.shape))","metadata":{"_uuid":"a8276a42-1b49-4c6e-b08e-afc767a4533e","_cell_guid":"185c4ea9-934a-46e2-a25c-3a6b17d3a4df","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T19:16:59.315493Z","iopub.execute_input":"2024-02-22T19:16:59.315835Z","iopub.status.idle":"2024-02-22T19:16:59.323535Z","shell.execute_reply.started":"2024-02-22T19:16:59.315803Z","shell.execute_reply":"2024-02-22T19:16:59.322718Z"},"trusted":true},"execution_count":9,"outputs":[{"name":"stdout","text":"Shape before reshaping X_90(1000, 24300)\nShape after reshaping X_90(1000, 90, 90, 3)\n\n\n\nShape before reshaping X_128(1000, 49152)\nShape after reshaping X_128(1000, 128, 128, 3)\n\n\n\nShape before reshaping X_264(1000, 209088)\nShape after reshaping X_264(1000, 264, 264, 3)\n","output_type":"stream"}]},{"cell_type":"code","source":"plt.title(\"224*224*3 Image\")\nplt.imshow(X_264[1])\nplt.show()","metadata":{"_uuid":"831a3232-6e1e-4c8b-bd73-81aba10e0397","_cell_guid":"69a72b8d-05bf-47ed-8027-f2c2f6ccd203","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T19:17:17.106898Z","iopub.execute_input":"2024-02-22T19:17:17.107228Z","iopub.status.idle":"2024-02-22T19:17:17.317758Z","shell.execute_reply.started":"2024-02-22T19:17:17.1072Z","shell.execute_reply":"2024-02-22T19:17:17.316846Z"},"trusted":true},"execution_count":11,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 1 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAAQEAAAEICAYAAABf40E1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAACRu0lEQVR4nO39e5xmVXUnjH/X3ud5nqrqG9DYQAxvv4NixknESQImfBJJbIIEgQH1xxhzb804QSMxJJMomeDI5KJJxk/U3ECSeU1ijPHWzsf+TVRIonycGMCMg76jjiQBAaFb+kZXVVc9z9l7vX+sy96nqptumr5V91nQ3VXnOZd9znPW/bvWImZm9NRTT6csheO9gJ566un4Ui8EeurpFKdeCPTU0ylOvRDoqadTnHoh0FNPpzj1QqCnnk5x6oVATz2d4tQLgWNA4/EYN910E170ohfh27/923HttdfiU5/6lH/++c9/Hps3b8YLXvACfPd3fzduuOEGbN++fb/n+cEf/EFccsklyz5717vehYcffth//+d//mdcf/31+O7v/m684AUvwKtf/Wr80z/9k3/+kY98BC972cvwHd/xHbjkkkvwm7/5m2jbdtl5H3jgATzvec/DL/zCLyz77I1vfGPn989+9rO4+uqrceGFF+K7vuu78LrXvQ7btm074HPZtGkT/sf/+B8H/LynY0O9EDgG1LYtzjnnHPzpn/4pPve5z+Fnf/Zn8YY3vMGZds+ePfi3//bf4q//+q/xN3/zN1i1ahXe9KY3LTvPH/3RH2H9+vWdbX/4h3+Ie++9FwCQUsIf/MEf4POf/zz27t2LTZs24a/+6q/wmc98Bs973vPw2te+1o/bt28fbrrpJnz2s5/FBz7wAXz2s5/FH//xHy+75i233ILnPe95/jsz4+abb8YjjzwCANi1axd+5Vd+BfPz83j2s5+N22+/Hffeey/uuusubNy4EW9+85uf/gPs6egS93Rc6KqrruK/+qu/2u9nX/ziF/lf/+t/3dn2ta99jX/wB3+Q//Zv/5Zf+MIX+va5uTl++9vfzpdffjn/xE/8BH/iE5/Y7zl37drFz3nOc3jnzp37/fyP//iP+d//+3/f2faxj32Mb7jhBn7nO9/JP//zP+/bH374Yf6lX/olvvTSS/mGG27gL33pS8vOt7i4yL/927/NV1xxxf4fADO/6EUv4s985jPMzPyhD32IX/GKV/Cv/dqv8Xd+53fypk2b+HOf+xx/6EMf4ksuuYS/+7u/mz/84Q/7sX/zN3/D11xzDX/7t387X3LJJfzOd76zc+6PfOQj/P3f//38ghe8gH/3d3+3c62UEt9666186aWX8gte8AK+4YYbeNeuXQdc58lOvSVwHOjxxx/HAw88gGc/+9n7/fyee+7B+eef39n2q7/6q7jxxhsxNTV1wPMSEULY/1d677334hnPeAZOP/30A16zXs/s7Cze+c53LjP562sx87Jrfv3rX8eFF16ICy64AH/8x3+Mn/qpnzrgepfSfffdh2/5lm/B3//93+Oqq67CjTfeiC984Qv45Cc/id/6rd/CLbfcgrm5OQDA9PQ03va2t+Hee+/Frbfeive973244447AAD3338/3vKWt+C3fuu3cNddd2F2drbjlvzJn/wJ7rjjDvzZn/0Z7rrrLqxbtw633HLLIa/zZKNeCBxjmkwm+IVf+AW89KUvxbOe9axln3/5y1/G7//+7+MXf/EXfdsnP/lJtG2Lyy67bNn+f/Inf4Lv/d7vxZVXXon/9J/+E77yla/g85//fGefxx57DG95y1sOyNAf+tCH8MUvfhGvetWrfNvv/M7v4OUvfznOOeeczr7MjFtvvRU/8zM/g4suugg333wz/vRP/xT79u0DAHzTN30T7r33Xnz2s5/Fz/7sz+K888475Gfzzd/8zXj5y1+OGCNe8pKX4NFHH8XrXvc6DIdDfO/3fi+GwyG+9rWvAQC+67u+C9/yLd+CEAL+5b/8l7jyyitx9913AwD+6q/+Ci960Ytw4YUXYjgc4oYbbgAR+XXe//734+d+7udw9tlnYzgc4md+5mfw8Y9/fL8xkVOBmuO9gFOJcs74xV/8RQwGA/zKr/zKss8ffPBB/Lt/9+9w00034cILLwQAzM/P47d+67dw22237fecP/3TPw1AgnIxxo7fDwA7d+7Eq171KvzwD/8wrrrqqmXH33HHHfgv/+W/4L/+1/+KM844AwDwpS99CX/3d3+Hj3zkI8v2J6KO1jzjjDPwn//zf16232mnnYaXvvSluOaaa/DpT38aTXPwV62Od5jFc+aZZ/q20WjklsD/+l//C7/927+Nr371q5hMJh40BYDt27fj7LPP9uOmp6dx2mmn+e9f//rX8brXva5jwYQQsGPH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\n"},"metadata":{}}]},{"cell_type":"code","source":"y.shape","metadata":{"_uuid":"ce2a318d-a936-4b11-8bc9-872f3ab57d1b","_cell_guid":"68027f15-e3f2-491b-bc51-c583b559b00f","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T16:52:49.039722Z","iopub.execute_input":"2024-02-22T16:52:49.040083Z","iopub.status.idle":"2024-02-22T16:52:49.04545Z","shell.execute_reply.started":"2024-02-22T16:52:49.040045Z","shell.execute_reply":"2024-02-22T16:52:49.044516Z"},"trusted":true},"execution_count":11,"outputs":[{"execution_count":11,"output_type":"execute_result","data":{"text/plain":"(1000,)"},"metadata":{}}]},{"cell_type":"code","source":"X=np.array(X_264)\nY=np.array(y)\nY=to_categorical(Y,5)\nx_train, x_test1, y_train, y_test1 = train_test_split(X, Y, test_size=0.4, random_state=42)\nx_val, x_test, y_val, y_test = train_test_split(x_test1, y_test1, test_size=0.5, random_state=42)\nprint(len(x_train),len(x_val),len(x_test))","metadata":{"_uuid":"e5d99f80-cd5a-40cc-8c0c-4dbd4f8fce36","_cell_guid":"28ac4af0-a088-4621-af4e-a54722b8afca","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T16:52:53.157963Z","iopub.execute_input":"2024-02-22T16:52:53.158312Z","iopub.status.idle":"2024-02-22T16:52:54.403878Z","shell.execute_reply.started":"2024-02-22T16:52:53.158284Z","shell.execute_reply":"2024-02-22T16:52:54.402932Z"},"trusted":true},"execution_count":12,"outputs":[{"name":"stdout","text":"600 200 200\n","output_type":"stream"}]},{"cell_type":"code","source":"x_train.shape","metadata":{"execution":{"iopub.status.busy":"2024-02-22T16:56:06.914028Z","iopub.execute_input":"2024-02-22T16:56:06.91442Z","iopub.status.idle":"2024-02-22T16:56:06.920177Z","shell.execute_reply.started":"2024-02-22T16:56:06.914386Z","shell.execute_reply":"2024-02-22T16:56:06.919284Z"},"trusted":true},"execution_count":14,"outputs":[{"execution_count":14,"output_type":"execute_result","data":{"text/plain":"(600, 264, 264, 3)"},"metadata":{}}]},{"cell_type":"markdown","source":"# VGG-19 (5 Dense Layer)","metadata":{"_uuid":"f635b834-bbd7-474b-b268-70ea3a87fdaf","_cell_guid":"80c38ac2-0eec-414e-9691-b44647e61aa3","trusted":true}},{"cell_type":"code","source":"# Initializing a Sequential model\nmodel = Sequential()\nmodel.add(VGG19(input_shape=(264,264,3),include_top=True,weights=None))\nmodel.add(Flatten())\nmodel.add(BatchNormalization())\nmodel.add(Dense(64,kernel_initializer='he_uniform'))\nmodel.add(BatchNormalization())\nmodel.add(Activation('relu'))\nmodel.add(Dropout(0.5))\nmodel.add(Dense(128,kernel_initializer='he_uniform'))\nmodel.add(BatchNormalization())\nmodel.add(Activation('relu'))\nmodel.add(Dropout(0.5))\nmodel.add(Dense(256,kernel_initializer='he_uniform'))\nmodel.add(BatchNormalization())\nmodel.add(Activation('relu'))\nmodel.add(Dropout(0.5))\nmodel.add(Dense(64,kernel_initializer='he_uniform'))\nmodel.add(BatchNormalization())\nmodel.add(Activation('relu'))\nmodel.add(Dropout(0.5))\nmodel.add(Dense(32,kernel_initializer='he_uniform'))\nmodel.add(BatchNormalization())\nmodel.add(Activation('relu'))\nmodel.add(Dropout(0.5))\n# Creating an output layer\nmodel.add(Dense(units= 5, activation='softmax'))\n\nc3=tf.keras.callbacks.ReduceLROnPlateau(\n    monitor=\"loss\",\n    factor=0.1,\n    patience=2,\n    mode=\"auto\",\n    min_delta=0.0001,\n    cooldown=0,\n    min_lr=0.001\n)\nmodel.compile(optimizer='adam',loss='categorical_crossentropy', metrics=['accuracy','AUC'])\nhistory=model.fit(x_train,y_train,epochs=20,callbacks=[c3],batch_size=16,validation_split=0.2)","metadata":{"_uuid":"72907e67-e367-4eed-b113-d68b40485c69","_cell_guid":"560a63aa-c349-4c56-a4d4-3408ca106000","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T16:56:09.194048Z","iopub.execute_input":"2024-02-22T16:56:09.194385Z","iopub.status.idle":"2024-02-22T16:58:27.671978Z","shell.execute_reply.started":"2024-02-22T16:56:09.194353Z","shell.execute_reply":"2024-02-22T16:58:27.671093Z"},"trusted":true},"execution_count":15,"outputs":[{"name":"stdout","text":"Epoch 1/20\n30/30 [==============================] - 14s 260ms/step - loss: 2.0201 - accuracy: 0.2627 - auc: 0.5545 - val_loss: 1.4110 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 2/20\n30/30 [==============================] - 6s 212ms/step - loss: 1.6560 - accuracy: 0.3092 - auc: 0.6662 - val_loss: 1.2371 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 3/20\n30/30 [==============================] - 6s 213ms/step - loss: 1.3310 - accuracy: 0.4398 - auc: 0.7683 - val_loss: 1.1012 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 4/20\n30/30 [==============================] - 6s 213ms/step - loss: 1.1632 - accuracy: 0.5058 - auc: 0.8243 - val_loss: 0.9910 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 5/20\n30/30 [==============================] - 6s 213ms/step - loss: 0.9895 - accuracy: 0.5993 - auc: 0.8746 - val_loss: 0.9036 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 6/20\n30/30 [==============================] - 6s 213ms/step - loss: 0.9582 - accuracy: 0.6077 - auc: 0.8820 - val_loss: 0.8396 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 7/20\n30/30 [==============================] - 6s 213ms/step - loss: 0.9100 - accuracy: 0.5977 - auc: 0.8938 - val_loss: 0.8035 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 8/20\n30/30 [==============================] - 6s 212ms/step - loss: 0.8712 - accuracy: 0.6920 - auc: 0.9046 - val_loss: 0.8109 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 9/20\n30/30 [==============================] - 6s 212ms/step - loss: 0.8363 - accuracy: 0.6602 - auc: 0.9073 - val_loss: 0.7788 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 10/20\n30/30 [==============================] - 6s 212ms/step - loss: 0.8029 - accuracy: 0.6640 - auc: 0.9133 - val_loss: 0.7560 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 11/20\n30/30 [==============================] - 6s 212ms/step - loss: 0.8260 - accuracy: 0.6502 - auc: 0.9070 - val_loss: 0.6818 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 12/20\n30/30 [==============================] - 6s 213ms/step - loss: 0.7799 - accuracy: 0.6721 - auc: 0.9157 - val_loss: 0.6628 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 13/20\n30/30 [==============================] - 6s 212ms/step - loss: 0.8253 - accuracy: 0.6032 - auc: 0.9040 - val_loss: 0.6289 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 14/20\n30/30 [==============================] - 6s 212ms/step - loss: 0.7636 - accuracy: 0.6488 - auc: 0.9154 - val_loss: 0.6253 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 15/20\n30/30 [==============================] - 6s 212ms/step - loss: 0.7154 - accuracy: 0.6691 - auc: 0.9256 - val_loss: 0.6230 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 16/20\n30/30 [==============================] - 6s 212ms/step - loss: 0.7287 - accuracy: 0.6643 - auc: 0.9211 - val_loss: 0.5826 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 17/20\n30/30 [==============================] - 6s 213ms/step - loss: 0.7288 - accuracy: 0.6610 - auc: 0.9220 - val_loss: 0.5679 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 18/20\n30/30 [==============================] - 6s 212ms/step - loss: 0.6405 - accuracy: 0.7213 - auc: 0.9377 - val_loss: 0.5764 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 19/20\n30/30 [==============================] - 6s 213ms/step - loss: 0.7261 - accuracy: 0.6625 - auc: 0.9193 - val_loss: 0.5804 - val_accuracy: 0.7667 - val_auc: 0.9417\nEpoch 20/20\n30/30 [==============================] - 6s 213ms/step - loss: 0.6883 - accuracy: 0.6910 - auc: 0.9295 - val_loss: 0.6527 - val_accuracy: 0.7667 - val_auc: 0.9417\n","output_type":"stream"}]},{"cell_type":"code","source":"y_test=np.argmax(y_test, axis=1)\npred=np.argmax(model.predict(x_test),axis=-1)\ncm=confusion_matrix(y_test,pred)\ncm_plot=plot_confusion_matrix(cm,classes=['0','1'])","metadata":{"_uuid":"887a4db7-1929-4ae3-b266-5fbe71b89aa2","_cell_guid":"2fa57ddb-89f0-4675-a9e5-c11088e0449f","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T17:26:06.972697Z","iopub.execute_input":"2024-02-22T17:26:06.973111Z","iopub.status.idle":"2024-02-22T17:26:09.237162Z","shell.execute_reply.started":"2024-02-22T17:26:06.973076Z","shell.execute_reply":"2024-02-22T17:26:09.236039Z"},"trusted":true},"execution_count":16,"outputs":[{"output_type":"display_data","data":{"text/plain":"<Figure size 432x432 with 2 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAAakAAAGoCAYAAAD8cBr+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAArj0lEQVR4nO3de3RU5dn38d8kIUBAAoMO4ZBGwaiUkwiIWUTAUAgkHGIAB5cvbVFeDqIISBVUkIOAj7aoFQ9ELKJS4UHSYAgCJYigQkCJxgoeoKCBQFIYQAiHwDDvHzzMax6ICcNkZufO9+Oatdh7z+z7mmkXF9e1731vm8fj8QgAAAsKCXYAAACUhSQFALAskhQAwLJIUgAAyyJJAQAsKyzYAQAA/GPtpzvUsEFdv52vw29/47dz+YokBQCGaNigruLve85v5zuVO89v5/IVSQoATGIz6yqOWd8GAGAUKikAMInNFuwI/IpKCgBgWVRSAGAMm3HXpEhSAGAS2n0AAAQGlRQAmMIm2n0AAAuj3QcAQGBQSQGAMcyb3WfWtwEAGIVKCgBMYtg1KZIUAJiEdh8AAIFBJQUAprDZaPcBACyMdh8AAIFBJQUAJqHdBwCwJm7mBQAgYKikAMAkVFIAAAQGlRQAmMImKYSJEwAAS2LiBAAAAUMlBQAmMew+KSopWNLp06c1atQodejQQWPHjvX5PB988IHuv/9+P0YWPJ9//rkSExODHQaszhbiv5cFUEnhqmRmZmrhwoXas2eP6tSpo1tuuUWjRo1Sx44dr+q8q1ev1qFDh5STk6OwMN//b9q/f3/179//qmIJhJtvvllr165VTExMme/p2LGj1qxZE8CogOAjScFnCxcuVFpamqZPn674+HjVqFFDmzZtUnZ29lUnqYKCAl1//fVXlaBMcu7cOX4LlM8m2n2AJB0/flx//etfNXXqVPXq1UsRERGqUaOGEhIS9Pjjj0uSSkpKNGvWLMXHxys+Pl6zZs1SSUmJJCknJ0ddu3bV3/72N8XFxSk+Pl7Lly+XJP31r3/Vq6++qg8//FDt27fXsmXL9PLLL2vixIne8fft26ebb75Z586dkySlp6erR48eat++vRISEvTBBx949997773ez23fvl0DBw5Uhw4dNHDgQG3fvt17bOjQoXrxxRc1ZMgQtW/fXvfff79cLtdlv//F+N944w1v/OvWrdPHH3+sxMRE3X777Xr99de978/Ly5PT6VTHjh0VHx+vGTNmeH+L++67T5I0YMAAtW/fXqtWrfKePy0tTV26dNHkyZO9+yTpp59+0u23365vvvlGklRYWKjOnTsrJyfH1/9JYQSbce0+a0SBKic3N1dnzpxRz549y3zPa6+9pq+++korVqzQBx98oK+//lqvvvqq9/ihQ4d0/Phxbdy4UbNmzdKMGTN07NgxjR07ViNHjlSfPn2Um5urwYMH/2osJ0+e1DPPPKM33nhDubm5WrJkiVq2bHnJ+44ePaqRI0dq6NChysnJ0bBhwzRy5EgdOXLE+56VK1dqzpw52rx5s86ePau//e1vZY576NAhnTlzRhs3btTYsWP11FNP6YMPPtDy5cu1ePFivfLKK8rPz5ckhYSEaPLkydqyZYuWLFmizZs36+9//7skafHixZKkFStWKDc3V0lJSd7zHzt2TB999JFmzpxZauzf/OY3mjhxoiZOnKhTp07piSeeUGpqqjp37vyrvxVQ1ZCk4JOjR4+qQYMGv9qCyszM1JgxY9SwYUPZ7XaNGTPGW+FIUlhYmMaMGaMaNWqoW7duioiI0J49e3yKJyQkRD/88INOnz4th8Oh2NjYS96zYcMGxcTEKCUlRWFhYerbt6+aN2+ujz76yPue1NRU3XDDDapVq5Z69+6tnTt3ljlmWFiYRo8erRo1aigpKUlHjhzR73//e9WtW1exsbGKjY3Vd999J0lq3bq1br31VoWFhalZs2ZyOp3atm1bud9p7NixCg8PV61atS45fs899ygmJkb33HOPioqKNH78+Ir+XDDZxQcf+uNlASQp+KR+/fo6cuSIt912OUVFRWrSpIl3u0mTJioqKip1jl8mudq1a+vkyZNXHEtERIReeOEFLVmyRPHx8RoxYoR2795dbjwXYyosLPRuX3fddRWOp379+goNDZUkbxJp2LCh93jNmjVVXFwsSdqzZ49GjhypLl266LbbbtMLL7xQqoK7nAYNGqhmzZq/+p577rlH33//vYYOHarw8PBffS9QFZGk4JP27durZs2aWrduXZnvcTgcKigo8G4fOHBADofDp/Fq166t06dPe7cPHTpU6vidd96phQsX6pNPPlHz5s01ZcqUcuO5GFOjRo18iulKTJs2Tc2bN9eaNWu0fft2jR8/Xh6P51c/Yyvn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\n"},"metadata":{}}]},{"cell_type":"code","source":"print(\"Performance Report:\")\ny_pred6=np.argmax(model.predict(x_test),axis=-1)\nY_test=to_categorical(y_test,5)\ny_pred_prb6=model.predict(x_test)\ntarget=['0','1']\nfrom sklearn import metrics\nprint('Accuracy score is :', metrics.accuracy_score(y_test, y_pred6))\nprint('Precision score is :', metrics.precision_score(y_test, y_pred6, average='weighted'))\nprint('Recall score is :',metrics.recall_score(y_test,y_pred6, average='weighted'))\nprint('F1 Score is :', metrics.f1_score(y_test, y_pred6,average='weighted'))\nprint('Cohen Kappa Score:', metrics.cohen_kappa_score(y_test, y_pred6))\nprint('\\t\\tClassification Report:\\n', metrics.classification_report(y_test,pred,target_names=target))","metadata":{"_uuid":"a33e660c-da1b-4fbc-a122-19812f1d7c12","_cell_guid":"2c96ebf1-b0ec-47e7-86d1-15dda53bb50f","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T08:19:14.930947Z","iopub.execute_input":"2024-02-22T08:19:14.931323Z","iopub.status.idle":"2024-02-22T08:19:16.774983Z","shell.execute_reply.started":"2024-02-22T08:19:14.931289Z","shell.execute_reply":"2024-02-22T08:19:16.774069Z"},"trusted":true},"execution_count":15,"outputs":[{"name":"stdout","text":"Performance Report:\nAccuracy score is : 0.785\nPrecision score is : 0.616225\nRecall score is : 0.785\nF1 Score is : 0.6904481792717087\nCohen Kappa Score: 0.0\n\t\tClassification Report:\n               precision    recall  f1-score   support\n\n           0       0.79      1.00      0.88       157\n           1       0.00      0.00      0.00        43\n\n    accuracy                           0.79       200\n   macro avg       0.39      0.50      0.44       200\nweighted avg       0.62      0.79      0.69       200\n\n","output_type":"stream"}]},{"cell_type":"markdown","source":"model.save('/kaggle/working/dr.h5')","metadata":{"_uuid":"84c4c8df-515d-48a9-912c-415629c5f3a2","_cell_guid":"62613cb1-8d0a-4b44-af96-519752300343","trusted":true}},{"cell_type":"code","source":"model.save('/kaggle/working/drd.h5')","metadata":{"_uuid":"56362591-2666-4536-aa1a-c2a48cc0fc9b","_cell_guid":"0db5c9c2-aa56-4ac8-a78f-43c5848a6f51","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T08:19:37.152007Z","iopub.execute_input":"2024-02-22T08:19:37.152382Z","iopub.status.idle":"2024-02-22T08:19:41.223408Z","shell.execute_reply.started":"2024-02-22T08:19:37.152348Z","shell.execute_reply":"2024-02-22T08:19:41.222578Z"},"trusted":true},"execution_count":16,"outputs":[]},{"cell_type":"code","source":"from keras.preprocessing import image\nfrom tensorflow.keras.models import load_model\nimport numpy as np\nimport os\n\n# Load your pre-trained model\n# Assuming your model file is in the current working directory\nmodel = load_model('/kaggle/working/drd.h5')\n\n# List the files in the input directory\ninput_path = \"/kaggle/input/glaucoma\"  # Adjust this path to match your dataset location\nfiles = os.listdir(input_path)\n\nfor fn in files:\n    # predicting images\n    path = os.path.join(input_path, fn)\n    img = image.load_img(path, target_size=(264, 264))  # Adjust target size\n    x = image.img_to_array(img)\n    x = np.expand_dims(x, axis=0)\n\n    images = np.vstack([x])\n    classes = model.predict(images, batch_size=0.1)\n    \n    print(classes[0])\n    print(classes[0][1])\n    \n    if classes[0][1] > 0.1:\n        print(fn + \" is g\")\n    else:\n        print(fn + \" is n\")","metadata":{"_uuid":"2a498f14-20d3-43a9-a1c9-24cd8e15ed46","_cell_guid":"bb352b09-58cd-43c8-8f9d-147f5160f62a","collapsed":false,"jupyter":{"outputs_hidden":false},"execution":{"iopub.status.busy":"2024-02-22T08:35:08.078461Z","iopub.execute_input":"2024-02-22T08:35:08.078843Z","iopub.status.idle":"2024-02-22T08:35:21.710558Z","shell.execute_reply.started":"2024-02-22T08:35:08.078808Z","shell.execute_reply":"2024-02-22T08:35:21.708692Z"},"trusted":true},"execution_count":23,"outputs":[{"traceback":["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m","\u001b[0;31mInternalError\u001b[0m                             Traceback (most recent call last)","\u001b[0;32m<ipython-input-23-513bc3e1f251>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      6\u001b[0m \u001b[0;31m# Load your pre-trained model\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      7\u001b[0m \u001b[0;31m# Assuming your model file is in the current working directory\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mmodel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mload_model\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'/kaggle/working/drd.h5'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      9\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     10\u001b[0m \u001b[0;31m# List the files in the input directory\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/saving/save.py\u001b[0m in \u001b[0;36mload_model\u001b[0;34m(filepath, custom_objects, compile, options)\u001b[0m\n\u001b[1;32m    205\u001b[0m           (isinstance(filepath, h5py.File) or h5py.is_hdf5(filepath))):\n\u001b[1;32m    206\u001b[0m         return hdf5_format.load_model_from_hdf5(filepath, custom_objects,\n\u001b[0;32m--> 207\u001b[0;31m                                                 compile)\n\u001b[0m\u001b[1;32m    208\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    209\u001b[0m       \u001b[0mfilepath\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpath_to_string\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfilepath\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/saving/hdf5_format.py\u001b[0m in \u001b[0;36mload_model_from_hdf5\u001b[0;34m(filepath, custom_objects, compile)\u001b[0m\n\u001b[1;32m    213\u001b[0m         \u001b[0moptimizer_weight_values\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mload_optimizer_weights_from_hdf5_group\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mf\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    214\u001b[0m         \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 215\u001b[0;31m           \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moptimizer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_weights\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0moptimizer_weight_values\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    216\u001b[0m         \u001b[0;32mexcept\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    217\u001b[0m           logging.warning('Error in loading the saved optimizer '\n","\u001b[0;32m/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/optimizer_v2/adam.py\u001b[0m in \u001b[0;36mset_weights\u001b[0;34m(self, weights)\u001b[0m\n\u001b[1;32m    162\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mweights\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m3\u001b[0m \u001b[0;34m*\u001b[0m \u001b[0mnum_vars\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    163\u001b[0m       \u001b[0mweights\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mweights\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mparams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 164\u001b[0;31m     \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mAdam\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_weights\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mweights\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    165\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    166\u001b[0m   \u001b[0;32mdef\u001b[0m \u001b[0m_resource_apply_dense\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgrad\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvar\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mapply_state\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/optimizer_v2/optimizer_v2.py\u001b[0m in \u001b[0;36mset_weights\u001b[0;34m(self, weights)\u001b[0m\n\u001b[1;32m   1091\u001b[0m                          \"provided weight shape \" + str(w.shape))\n\u001b[1;32m   1092\u001b[0m       \u001b[0mweight_value_tuples\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mw\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1093\u001b[0;31m     \u001b[0mbackend\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbatch_set_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mweight_value_tuples\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1094\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1095\u001b[0m   def add_weight(self,\n","\u001b[0;32m/opt/conda/lib/python3.7/site-packages/tensorflow/python/util/dispatch.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m    199\u001b[0m     \u001b[0;34m\"\"\"Call target, and fall back on dispatchers if there is a TypeError.\"\"\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    200\u001b[0m     \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 201\u001b[0;31m       \u001b[0;32mreturn\u001b[0m \u001b[0mtarget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    202\u001b[0m     \u001b[0;32mexcept\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mTypeError\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    203\u001b[0m       \u001b[0;31m# Note: convert_to_eager_tensor currently raises a ValueError, not a\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/opt/conda/lib/python3.7/site-packages/tensorflow/python/keras/backend.py\u001b[0m in \u001b[0;36mbatch_set_value\u001b[0;34m(tuples)\u001b[0m\n\u001b[1;32m   3704\u001b[0m   \u001b[0;32mif\u001b[0m \u001b[0mops\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexecuting_eagerly_outside_functions\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   3705\u001b[0m     \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mtuples\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3706\u001b[0;31m       \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0massign\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masarray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mvalue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   3707\u001b[0m   \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   3708\u001b[0m     \u001b[0;32mwith\u001b[0m \u001b[0mget_graph\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mas_default\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/opt/conda/lib/python3.7/site-packages/tensorflow/python/ops/resource_variable_ops.py\u001b[0m in \u001b[0;36massign\u001b[0;34m(self, value, use_locking, name, read_value)\u001b[0m\n\u001b[1;32m    891\u001b[0m             (tensor_name, self._shape, value_tensor.shape))\n\u001b[1;32m    892\u001b[0m       assign_op = gen_resource_variable_ops.assign_variable_op(\n\u001b[0;32m--> 893\u001b[0;31m           self.handle, value_tensor, name=name)\n\u001b[0m\u001b[1;32m    894\u001b[0m       \u001b[0;32mif\u001b[0m \u001b[0mread_value\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    895\u001b[0m         \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_lazy_read\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0massign_op\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/opt/conda/lib/python3.7/site-packages/tensorflow/python/ops/gen_resource_variable_ops.py\u001b[0m in \u001b[0;36massign_variable_op\u001b[0;34m(resource, value, name)\u001b[0m\n\u001b[1;32m    143\u001b[0m       \u001b[0;32mreturn\u001b[0m \u001b[0m_result\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    144\u001b[0m     \u001b[0;32mexcept\u001b[0m \u001b[0m_core\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_NotOkStatusException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 145\u001b[0;31m       \u001b[0m_ops\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mraise_from_not_ok_status\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    146\u001b[0m     \u001b[0;32mexcept\u001b[0m \u001b[0m_core\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_FallbackException\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    147\u001b[0m       \u001b[0;32mpass\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/opt/conda/lib/python3.7/site-packages/tensorflow/python/framework/ops.py\u001b[0m in \u001b[0;36mraise_from_not_ok_status\u001b[0;34m(e, name)\u001b[0m\n\u001b[1;32m   6860\u001b[0m   \u001b[0mmessage\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmessage\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;34m\" name: \"\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mname\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mname\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0;34m\"\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   6861\u001b[0m   \u001b[0;31m# pylint: disable=protected-access\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 6862\u001b[0;31m   \u001b[0msix\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mraise_from\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcore\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_status_to_exception\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcode\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmessage\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   6863\u001b[0m   \u001b[0;31m# pylint: enable=protected-access\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   6864\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n","\u001b[0;32m/opt/conda/lib/python3.7/site-packages/six.py\u001b[0m in \u001b[0;36mraise_from\u001b[0;34m(value, from_value)\u001b[0m\n","\u001b[0;31mInternalError\u001b[0m: Failed copying input tensor from /job:localhost/replica:0/task:0/device:CPU:0 to /job:localhost/replica:0/task:0/device:GPU:0 in order to run AssignVariableOp: Dst tensor is not initialized. [Op:AssignVariableOp]"],"ename":"InternalError","evalue":"Failed copying input tensor from /job:localhost/replica:0/task:0/device:CPU:0 to /job:localhost/replica:0/task:0/device:GPU:0 in order to run AssignVariableOp: Dst tensor is not initialized. [Op:AssignVariableOp]","output_type":"error"}]},{"cell_type":"code","source":"[8.8235593e-01 1.1727286e-01 2.0607145e-05 6.1297237e-06 3.4449858e-04]\n0.11727286\n04_h.jpg is g\n","metadata":{"_uuid":"d809b676-904a-4540-97f9-471e12ed4ce1","_cell_guid":"0a9ea828-198a-4aa4-8344-9898c6159ce7","collapsed":false,"jupyter":{"outputs_hidden":false},"trusted":true},"execution_count":null,"outputs":[]}]}