{"metadata":{"colab":{"provenance":[],"gpuType":"T4","authorship_tag":"ABX9TyPpFje7PChHZNb7zGKbqeT2"},"kernelspec":{"name":"python3","display_name":"Python 3","language":"python"},"language_info":{"name":"python","version":"3.10.14","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"accelerator":"GPU","kaggle":{"accelerator":"nvidiaTeslaT4","dataSources":[{"sourceId":3649,"databundleVersionId":46718,"sourceType":"competition"}],"dockerImageVersionId":30761,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"!pip install py7zr","metadata":{"id":"u4S_VF2PZMEW","executionInfo":{"status":"ok","timestamp":1727097174321,"user_tz":-180,"elapsed":5050,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"2727f9f1-20db-407f-9924-c44a61e4dde0","execution":{"iopub.status.busy":"2024-09-29T15:20:51.990203Z","iopub.execute_input":"2024-09-29T15:20:51.990486Z","iopub.status.idle":"2024-09-29T15:21:08.974722Z","shell.execute_reply.started":"2024-09-29T15:20:51.990454Z","shell.execute_reply":"2024-09-29T15:21:08.973722Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import py7zr\narchive = py7zr.SevenZipFile('/kaggle/input/cifar-10/train.7z', mode='r')\narchive.extractall()\narchive.close()","metadata":{"id":"KyO-OqUPZumb","executionInfo":{"status":"ok","timestamp":1727097210506,"user_tz":-180,"elapsed":36189,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"execution":{"iopub.status.busy":"2024-09-29T15:21:08.976747Z","iopub.execute_input":"2024-09-29T15:21:08.977082Z","iopub.status.idle":"2024-09-29T15:21:34.259563Z","shell.execute_reply.started":"2024-09-29T15:21:08.977046Z","shell.execute_reply":"2024-09-29T15:21:34.258755Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Importing the Dependancies","metadata":{"id":"6RwWKE1Xd_2n"}},{"cell_type":"code","source":"import os\nimport numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nimport matplotlib.image as mp\nfrom sklearn.model_selection import train_test_split","metadata":{"id":"ZfLJPbejaIu1","executionInfo":{"status":"ok","timestamp":1727097211545,"user_tz":-180,"elapsed":1042,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"execution":{"iopub.status.busy":"2024-09-29T15:21:34.260716Z","iopub.execute_input":"2024-09-29T15:21:34.261027Z","iopub.status.idle":"2024-09-29T15:21:35.254154Z","shell.execute_reply.started":"2024-09-29T15:21:34.260993Z","shell.execute_reply":"2024-09-29T15:21:35.253140Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"filenames = os.listdir('/kaggle/working/train')\nlen(filenames)","metadata":{"id":"q_eda4Zzescq","executionInfo":{"status":"ok","timestamp":1727097211547,"user_tz":-180,"elapsed":13,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"65223bfd-6198-48f0-a23b-7fd6c98179ee","execution":{"iopub.status.busy":"2024-09-29T15:21:35.258374Z","iopub.execute_input":"2024-09-29T15:21:35.259095Z","iopub.status.idle":"2024-09-29T15:21:35.308601Z","shell.execute_reply.started":"2024-09-29T15:21:35.259051Z","shell.execute_reply":"2024-09-29T15:21:35.307786Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(filenames[0:5])\nprint(filenames[-5:])","metadata":{"id":"Ea2uUSWxe3Gg","executionInfo":{"status":"ok","timestamp":1727097211548,"user_tz":-180,"elapsed":13,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"470d25c7-69fd-4657-e283-3a9b27d5633d","execution":{"iopub.status.busy":"2024-09-29T15:21:35.309806Z","iopub.execute_input":"2024-09-29T15:21:35.310103Z","iopub.status.idle":"2024-09-29T15:21:35.315224Z","shell.execute_reply.started":"2024-09-29T15:21:35.310071Z","shell.execute_reply":"2024-09-29T15:21:35.314180Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Labels Processing","metadata":{"id":"ImWDIZ3-fb9o"}},{"cell_type":"code","source":"labels_df = pd.read_csv('/kaggle/input/cifar-10/trainLabels.csv')\nlabels_df.head()","metadata":{"id":"R5lU52A9fH1Y","executionInfo":{"status":"ok","timestamp":1727097211548,"user_tz":-180,"elapsed":11,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"870cecd8-0657-4a43-c17f-fe545803dc5d","execution":{"iopub.status.busy":"2024-09-29T15:21:35.316652Z","iopub.execute_input":"2024-09-29T15:21:35.316986Z","iopub.status.idle":"2024-09-29T15:21:35.367943Z","shell.execute_reply.started":"2024-09-29T15:21:35.316946Z","shell.execute_reply":"2024-09-29T15:21:35.366985Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"!pip install scikit-learn==1.3.0","metadata":{"id":"yXkcCg0fmS9Q","executionInfo":{"status":"ok","timestamp":1727097217172,"user_tz":-180,"elapsed":5633,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"28d32182-8d21-49f7-c353-5bd1849f2471","execution":{"iopub.status.busy":"2024-09-29T15:21:35.369154Z","iopub.execute_input":"2024-09-29T15:21:35.369831Z","iopub.status.idle":"2024-09-29T15:21:52.418615Z","shell.execute_reply.started":"2024-09-29T15:21:35.369781Z","shell.execute_reply":"2024-09-29T15:21:52.417632Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.preprocessing import LabelEncoder\nle = LabelEncoder()\nle.fit(labels_df['label'])\nencoded_labels = le.transform(labels_df['label'])","metadata":{"id":"BG63tl0nmTaI","executionInfo":{"status":"ok","timestamp":1727097217173,"user_tz":-180,"elapsed":15,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"execution":{"iopub.status.busy":"2024-09-29T15:21:52.420019Z","iopub.execute_input":"2024-09-29T15:21:52.420334Z","iopub.status.idle":"2024-09-29T15:21:52.438029Z","shell.execute_reply.started":"2024-09-29T15:21:52.420293Z","shell.execute_reply":"2024-09-29T15:21:52.436957Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print(encoded_labels[0:5])\nprint(encoded_labels[-5:])\nlabels_df.head()","metadata":{"id":"w5ZXGs7OnPNT","executionInfo":{"status":"ok","timestamp":1727097217173,"user_tz":-180,"elapsed":14,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"194e7c21-1d4f-43d8-ba13-44025258479b","execution":{"iopub.status.busy":"2024-09-29T15:21:52.439718Z","iopub.execute_input":"2024-09-29T15:21:52.440374Z","iopub.status.idle":"2024-09-29T15:21:52.460029Z","shell.execute_reply.started":"2024-09-29T15:21:52.440268Z","shell.execute_reply":"2024-09-29T15:21:52.458998Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import cv2\nimport matplotlib.pyplot as plt","metadata":{"id":"bTsRRJlqnyNQ","executionInfo":{"status":"ok","timestamp":1727097217173,"user_tz":-180,"elapsed":13,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"cb3d07d3-ffd2-4c2c-b938-e44583049ee5","execution":{"iopub.status.busy":"2024-09-29T15:21:52.464314Z","iopub.execute_input":"2024-09-29T15:21:52.464619Z","iopub.status.idle":"2024-09-29T15:21:52.638579Z","shell.execute_reply.started":"2024-09-29T15:21:52.464583Z","shell.execute_reply":"2024-09-29T15:21:52.637828Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import cv2\nimport matplotlib.pyplot as plt\n\n# Reading the image (Make sure the path is correct)\nimg = cv2.imread('/kaggle/working/train/7796.png')\n\n# Display the image using matplotlib\nplt.figure(figsize=(1, 1))  # Adjust figure size based on your needs\nplt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))\nplt.axis('off')  # Hide axes for a cleaner look\nplt.show()","metadata":{"id":"bTsRRJlqnyNQ","executionInfo":{"status":"ok","timestamp":1727097217173,"user_tz":-180,"elapsed":13,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"cb3d07d3-ffd2-4c2c-b938-e44583049ee5","execution":{"iopub.status.busy":"2024-09-29T15:21:52.639798Z","iopub.execute_input":"2024-09-29T15:21:52.640594Z","iopub.status.idle":"2024-09-29T15:21:52.735666Z","shell.execute_reply.started":"2024-09-29T15:21:52.640528Z","shell.execute_reply":"2024-09-29T15:21:52.734439Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"labels_df[labels_df['id'] == 7796]","metadata":{"id":"n4L4SkT2n8rV","executionInfo":{"status":"ok","timestamp":1727097217173,"user_tz":-180,"elapsed":12,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"40289ebe-0bc8-499f-af8f-5f2a066b3482","execution":{"iopub.status.busy":"2024-09-29T15:21:52.742001Z","iopub.execute_input":"2024-09-29T15:21:52.745331Z","iopub.status.idle":"2024-09-29T15:21:52.769444Z","shell.execute_reply.started":"2024-09-29T15:21:52.745259Z","shell.execute_reply":"2024-09-29T15:21:52.768243Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"id_list = list(labels_df['id'])\nprint(id_list[0:5])\nprint(id_list[-5:])","metadata":{"id":"3OnbSDgMqDZE","executionInfo":{"status":"ok","timestamp":1727097217173,"user_tz":-180,"elapsed":11,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"df55d9da-356e-44ae-c748-3c5b45f22a22","execution":{"iopub.status.busy":"2024-09-29T15:21:52.774804Z","iopub.execute_input":"2024-09-29T15:21:52.777971Z","iopub.status.idle":"2024-09-29T15:21:52.808378Z","shell.execute_reply.started":"2024-09-29T15:21:52.777905Z","shell.execute_reply":"2024-09-29T15:21:52.806632Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Image processing","metadata":{"id":"d47WqY8iqZFB"}},{"cell_type":"code","source":"# convert images to numpy arrays\n\ntrain_data_folder = '/kaggle/working/train/'\ntrain_data = []\n\nfor id in id_list:\n  image_path = train_data_folder + str(id) + '.png'\n  img = cv2.imread(image_path)\n  img_array = np.array(img)\n  train_data.append(img_array)","metadata":{"id":"VQlY-WbEqTge","executionInfo":{"status":"ok","timestamp":1727097225034,"user_tz":-180,"elapsed":7870,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"execution":{"iopub.status.busy":"2024-09-29T15:21:52.814151Z","iopub.execute_input":"2024-09-29T15:21:52.817331Z","iopub.status.idle":"2024-09-29T15:21:56.910045Z","shell.execute_reply.started":"2024-09-29T15:21:52.817256Z","shell.execute_reply":"2024-09-29T15:21:56.909201Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_data[0].shape","metadata":{"id":"Fm57xhc8sjtO","executionInfo":{"status":"ok","timestamp":1727097225035,"user_tz":-180,"elapsed":12,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"79e686ad-745f-4b77-b6ec-172257de3730","execution":{"iopub.status.busy":"2024-09-29T15:21:56.911653Z","iopub.execute_input":"2024-09-29T15:21:56.912085Z","iopub.status.idle":"2024-09-29T15:21:56.921713Z","shell.execute_reply.started":"2024-09-29T15:21:56.912035Z","shell.execute_reply":"2024-09-29T15:21:56.920489Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"type(train_data[0])","metadata":{"id":"Ea5sW_jksosj","executionInfo":{"status":"ok","timestamp":1727097225035,"user_tz":-180,"elapsed":11,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"e53ded43-681b-4e43-f084-9d936c10fb1f","execution":{"iopub.status.busy":"2024-09-29T15:21:56.922915Z","iopub.execute_input":"2024-09-29T15:21:56.923276Z","iopub.status.idle":"2024-09-29T15:21:57.056385Z","shell.execute_reply.started":"2024-09-29T15:21:56.923241Z","shell.execute_reply":"2024-09-29T15:21:57.055307Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"len(train_data)","metadata":{"id":"nhJFEd9Os2eD","executionInfo":{"status":"ok","timestamp":1727097225035,"user_tz":-180,"elapsed":9,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"19b24809-3d7b-4944-a7a2-c40e9e44bfdf","execution":{"iopub.status.busy":"2024-09-29T15:21:57.057490Z","iopub.execute_input":"2024-09-29T15:21:57.057841Z","iopub.status.idle":"2024-09-29T15:21:57.065769Z","shell.execute_reply.started":"2024-09-29T15:21:57.057807Z","shell.execute_reply":"2024-09-29T15:21:57.064766Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_data[1]","metadata":{"id":"5sSU6lEUtHRa","executionInfo":{"status":"ok","timestamp":1727097225035,"user_tz":-180,"elapsed":7,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"c0414b37-f30e-4c18-92f1-2f17bd272b3e","execution":{"iopub.status.busy":"2024-09-29T15:21:57.067157Z","iopub.execute_input":"2024-09-29T15:21:57.067459Z","iopub.status.idle":"2024-09-29T15:21:57.074976Z","shell.execute_reply.started":"2024-09-29T15:21:57.067428Z","shell.execute_reply":"2024-09-29T15:21:57.074110Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X = np.array(train_data)\ny = np.array(encoded_labels)","metadata":{"id":"yJ__Ud97tK4g","executionInfo":{"status":"ok","timestamp":1727097225333,"user_tz":-180,"elapsed":304,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"execution":{"iopub.status.busy":"2024-09-29T15:21:57.076211Z","iopub.execute_input":"2024-09-29T15:21:57.076582Z","iopub.status.idle":"2024-09-29T15:21:57.165846Z","shell.execute_reply.started":"2024-09-29T15:21:57.076525Z","shell.execute_reply":"2024-09-29T15:21:57.164763Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Tain Test Split","metadata":{"id":"RL8GcIkq6p4z"}},{"cell_type":"code","source":"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)","metadata":{"id":"OMKAHMbb5cu-","executionInfo":{"status":"ok","timestamp":1727097225333,"user_tz":-180,"elapsed":3,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"execution":{"iopub.status.busy":"2024-09-29T15:21:57.167165Z","iopub.execute_input":"2024-09-29T15:21:57.167548Z","iopub.status.idle":"2024-09-29T15:21:57.229131Z","shell.execute_reply.started":"2024-09-29T15:21:57.167511Z","shell.execute_reply":"2024-09-29T15:21:57.228260Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train_scaled = X_train / 255\nX_test_scaled = X_test / 255","metadata":{"id":"Fdj2cLws6-NS","executionInfo":{"status":"ok","timestamp":1727097225678,"user_tz":-180,"elapsed":347,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"execution":{"iopub.status.busy":"2024-09-29T15:21:57.230460Z","iopub.execute_input":"2024-09-29T15:21:57.230888Z","iopub.status.idle":"2024-09-29T15:21:57.612456Z","shell.execute_reply.started":"2024-09-29T15:21:57.230841Z","shell.execute_reply":"2024-09-29T15:21:57.611692Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**ResNet50**","metadata":{"id":"CXWySrYAAc5c"}},{"cell_type":"code","source":"import tensorflow as tf\nfrom tensorflow.keras import layers, models\nfrom tensorflow.keras.layers import Dense,Flatten,Dropout,BatchNormalization\nfrom tensorflow.keras.models import Sequential, Model, load_model\nfrom tensorflow.keras.applications.resnet50 import ResNet50","metadata":{"id":"aj6HVovs7qT4","executionInfo":{"status":"ok","timestamp":1727097435453,"user_tz":-180,"elapsed":367,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"execution":{"iopub.status.busy":"2024-09-29T15:21:57.613698Z","iopub.execute_input":"2024-09-29T15:21:57.614077Z","iopub.status.idle":"2024-09-29T15:22:08.768368Z","shell.execute_reply.started":"2024-09-29T15:21:57.614036Z","shell.execute_reply":"2024-09-29T15:22:08.767543Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"conv_base = ResNet50(weights='imagenet', include_top=False, input_shape=(256, 256, 3))\nconv_base.summary()","metadata":{"id":"ilFCaae4APTE","executionInfo":{"status":"ok","timestamp":1727097656633,"user_tz":-180,"elapsed":3198,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"e5291f6e-22f5-4459-bc16-7dd96dfb3ac6","execution":{"iopub.status.busy":"2024-09-29T15:22:08.769550Z","iopub.execute_input":"2024-09-29T15:22:08.770125Z","iopub.status.idle":"2024-09-29T15:22:11.926811Z","shell.execute_reply.started":"2024-09-29T15:22:08.770081Z","shell.execute_reply":"2024-09-29T15:22:11.925876Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"num_of_classes = 10\n\nmodel = models.Sequential()\nmodel.add(layers.UpSampling2D((2,2)))\nmodel.add(layers.UpSampling2D((2,2)))\nmodel.add(layers.UpSampling2D((2,2)))\nmodel.add(conv_base)\nmodel.add(layers.Flatten())\nmodel.add(layers.BatchNormalization())\nmodel.add(layers.Dense(128, activation='relu'))\nmodel.add(layers.Dropout(0.5))\nmodel.add(layers.BatchNormalization())\nmodel.add(layers.Dense(64, activation='relu'))\nmodel.add(layers.Dropout(0.5))\nmodel.add(layers.BatchNormalization())\nmodel.add(layers.Dense(num_of_classes, activation='softmax'))","metadata":{"id":"Jpv5b85MCncF","executionInfo":{"status":"ok","timestamp":1727097693264,"user_tz":-180,"elapsed":304,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"execution":{"iopub.status.busy":"2024-09-29T15:22:11.928000Z","iopub.execute_input":"2024-09-29T15:22:11.928313Z","iopub.status.idle":"2024-09-29T15:22:11.952338Z","shell.execute_reply.started":"2024-09-29T15:22:11.928280Z","shell.execute_reply":"2024-09-29T15:22:11.951590Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.compile(optimizer=tf.keras.optimizers.RMSprop(learning_rate=2e-5), loss='sparse_categorical_crossentropy', metrics=['accuracy']) # Use tf.keras.optimizers.RMSprop to call the RMSprop optimizer","metadata":{"id":"tYgAjuo6DASl","executionInfo":{"status":"ok","timestamp":1727097800664,"user_tz":-180,"elapsed":308,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"execution":{"iopub.status.busy":"2024-09-29T15:22:11.953381Z","iopub.execute_input":"2024-09-29T15:22:11.953696Z","iopub.status.idle":"2024-09-29T15:22:11.968273Z","shell.execute_reply.started":"2024-09-29T15:22:11.953665Z","shell.execute_reply":"2024-09-29T15:22:11.967591Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"history = model.fit(X_train_scaled, y_train, validation_split=0.1, epochs=10)","metadata":{"id":"2dnX9n1GC8b_","executionInfo":{"status":"ok","timestamp":1727102029118,"user_tz":-180,"elapsed":4213032,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"5d3771cf-6ac2-47ec-ea40-763dba18a7de","execution":{"iopub.status.busy":"2024-09-29T15:22:11.969270Z","iopub.execute_input":"2024-09-29T15:22:11.969587Z","iopub.status.idle":"2024-09-29T16:24:36.050210Z","shell.execute_reply.started":"2024-09-29T15:22:11.969541Z","shell.execute_reply":"2024-09-29T16:24:36.049267Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"loss, accuracy = model.evaluate(X_test_scaled, y_test)\nprint('Test Accuracy =', accuracy)","metadata":{"id":"caYCGgosRUTy","executionInfo":{"status":"ok","timestamp":1727102121823,"user_tz":-180,"elapsed":38238,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"0490407f-1c91-48e6-a1be-959b0b7a3326","execution":{"iopub.status.busy":"2024-09-29T16:24:36.051972Z","iopub.execute_input":"2024-09-29T16:24:36.052298Z","iopub.status.idle":"2024-09-29T16:25:19.379630Z","shell.execute_reply.started":"2024-09-29T16:24:36.052263Z","shell.execute_reply":"2024-09-29T16:25:19.378587Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"h = history\n\n# plot the loss value\nplt.plot(h.history['loss'], label='train loss')\nplt.plot(h.history['val_loss'], label='validation loss')\nplt.legend()\nplt.show()\n\n# plot the accuracy value\nplt.plot(h.history['accuracy'], label='train accuracy')\nplt.plot(h.history['val_accuracy'], label='validation accuracy')\nplt.legend()\nplt.show()","metadata":{"id":"Uxr5VWofRxwS","executionInfo":{"status":"ok","timestamp":1727102185159,"user_tz":-180,"elapsed":1070,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"f4658a77-a356-4bb1-b3c8-30c14a304c02","execution":{"iopub.status.busy":"2024-09-29T16:25:19.385270Z","iopub.execute_input":"2024-09-29T16:25:19.385670Z","iopub.status.idle":"2024-09-29T16:25:19.887195Z","shell.execute_reply.started":"2024-09-29T16:25:19.385635Z","shell.execute_reply":"2024-09-29T16:25:19.885946Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.save('cifar10_resnet50.h5')","metadata":{"id":"srviPU1SSzIV","executionInfo":{"status":"ok","timestamp":1727102200202,"user_tz":-180,"elapsed":6519,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"outputId":"6cd53762-d51f-453b-a7f1-18a4b5d03cfe","execution":{"iopub.status.busy":"2024-09-29T16:25:19.888889Z","iopub.execute_input":"2024-09-29T16:25:19.889194Z","iopub.status.idle":"2024-09-29T16:25:20.881620Z","shell.execute_reply.started":"2024-09-29T16:25:19.889160Z","shell.execute_reply":"2024-09-29T16:25:20.880797Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import py7zr\n\narchive = py7zr.SevenZipFile('/kaggle/input/cifar-10/test.7z', mode='r')\narchive.extractall()\narchive.close()","metadata":{"id":"LNiK-0o0TIud","executionInfo":{"status":"ok","timestamp":1727102400865,"user_tz":-180,"elapsed":175453,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"execution":{"iopub.status.busy":"2024-09-29T16:25:49.311260Z","iopub.execute_input":"2024-09-29T16:25:49.311670Z","iopub.status.idle":"2024-09-29T16:28:24.640711Z","shell.execute_reply.started":"2024-09-29T16:25:49.311632Z","shell.execute_reply":"2024-09-29T16:28:24.639828Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Load test data\ntest_data_folder = '/kaggle/working/test/'\ntest_filenames = os.listdir(test_data_folder)\ntest_data = []\nid_list = []\n\nfor filename in test_filenames:\n  image_path = test_data_folder + filename\n  img = cv2.imread(image_path)\n  img_array = np.array(img)\n  test_data.append(img_array)\n  id_list.append(int(filename[:-4]))","metadata":{"id":"BmgVVVshTOCS","executionInfo":{"status":"ok","timestamp":1727102527582,"user_tz":-180,"elapsed":126720,"user":{"displayName":"Kareem taha","userId":"15931687992623232586"}},"execution":{"iopub.status.busy":"2024-09-29T16:31:10.971820Z","iopub.execute_input":"2024-09-29T16:31:10.972257Z","iopub.status.idle":"2024-09-29T16:31:40.417491Z","shell.execute_reply.started":"2024-09-29T16:31:10.972209Z","shell.execute_reply":"2024-09-29T16:31:40.416696Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Preprocess test data\nX_test = np.array(test_data)\nX_test_scaled = X_test / 255","metadata":{"id":"QQb5wutJURid","execution":{"iopub.status.busy":"2024-09-29T16:31:40.418982Z","iopub.execute_input":"2024-09-29T16:31:40.419300Z","iopub.status.idle":"2024-09-29T16:31:43.111802Z","shell.execute_reply.started":"2024-09-29T16:31:40.419267Z","shell.execute_reply":"2024-09-29T16:31:43.110856Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Make predictions\npredictions = model.predict(X_test_scaled)\npredicted_labels = np.argmax(predictions, axis=1)","metadata":{"id":"eoZD8kHzUUC9","execution":{"iopub.status.busy":"2024-09-29T16:31:43.113514Z","iopub.execute_input":"2024-09-29T16:31:43.114268Z","iopub.status.idle":"2024-09-29T16:46:09.266659Z","shell.execute_reply.started":"2024-09-29T16:31:43.114206Z","shell.execute_reply":"2024-09-29T16:46:09.265527Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Decode labels\ndecoded_labels = le.inverse_transform(predicted_labels)","metadata":{"id":"3VOwgyPzUVfB","execution":{"iopub.status.busy":"2024-09-29T16:46:09.268905Z","iopub.execute_input":"2024-09-29T16:46:09.269283Z","iopub.status.idle":"2024-09-29T16:46:09.280484Z","shell.execute_reply.started":"2024-09-29T16:46:09.269235Z","shell.execute_reply":"2024-09-29T16:46:09.279478Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Create submission file\nsubmission_df = pd.DataFrame({'id': id_list, 'label': decoded_labels})\nsubmission_df.to_csv('submission.csv', index=False)","metadata":{"id":"ZOkVNhc_UYF9","execution":{"iopub.status.busy":"2024-09-29T16:46:19.572519Z","iopub.execute_input":"2024-09-29T16:46:19.573406Z","iopub.status.idle":"2024-09-29T16:46:20.114510Z","shell.execute_reply.started":"2024-09-29T16:46:19.573362Z","shell.execute_reply":"2024-09-29T16:46:20.113362Z"},"trusted":true},"execution_count":null,"outputs":[]}]}