{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "7aa8015f", "metadata": { "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", "execution": { "iopub.execute_input": "2024-07-28T07:50:50.812612Z", "iopub.status.busy": "2024-07-28T07:50:50.812264Z", "iopub.status.idle": "2024-07-28T07:51:03.492936Z", "shell.execute_reply": "2024-07-28T07:51:03.491916Z" }, "papermill": { "duration": 12.688391, "end_time": "2024-07-28T07:51:03.495304", "exception": false, "start_time": "2024-07-28T07:50:50.806913", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2024-07-28 07:50:52.599172: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n", "2024-07-28 07:50:52.599280: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n", "2024-07-28 07:50:52.733581: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n" ] } ], "source": [ "import tensorflow as tf\n", "from tensorflow.keras.models import Sequential\n", "from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense\n", "from tensorflow.keras.preprocessing.image import ImageDataGenerator\n", "from tensorflow.keras.preprocessing import image\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import os\n", "import random" ] }, { "cell_type": "code", "execution_count": 2, "id": "c851da61", "metadata": { "execution": { "iopub.execute_input": "2024-07-28T07:51:03.504520Z", "iopub.status.busy": "2024-07-28T07:51:03.503985Z", "iopub.status.idle": "2024-07-28T07:51:06.630320Z", "shell.execute_reply": "2024-07-28T07:51:06.629540Z" }, "papermill": { "duration": 3.133069, "end_time": "2024-07-28T07:51:06.632412", "exception": false, "start_time": "2024-07-28T07:51:03.499343", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Found 8000 images belonging to 2 classes.\n", "Found 2000 images belonging to 2 classes.\n" ] } ], "source": [ "train_datagen = ImageDataGenerator(rescale=1./255,\n", " shear_range=0.2,\n", " zoom_range=0.2,\n", " horizontal_flip=True)\n", "training_set = train_datagen.flow_from_directory('/kaggle/input/cat-vs-dog-image-classification-making-prediction/dataset/training_set',\n", " target_size=(64, 64),\n", " batch_size=32,\n", " class_mode='binary')\n", "\n", "# Data preprocessing for testing\n", "test_datagen = ImageDataGenerator(rescale=1./255)\n", "test_set = test_datagen.flow_from_directory('/kaggle/input/cat-vs-dog-image-classification-making-prediction/dataset/test_set',\n", " target_size=(64, 64),\n", " batch_size=32,\n", " class_mode='binary')" ] }, { "cell_type": "code", "execution_count": 3, "id": "7e222290", "metadata": { "execution": { "iopub.execute_input": "2024-07-28T07:51:06.642091Z", "iopub.status.busy": "2024-07-28T07:51:06.641519Z", "iopub.status.idle": "2024-07-28T07:51:07.377921Z", "shell.execute_reply": "2024-07-28T07:51:07.376960Z" }, "papermill": { "duration": 0.743675, "end_time": "2024-07-28T07:51:07.380238", "exception": false, "start_time": "2024-07-28T07:51:06.636563", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/opt/conda/lib/python3.10/site-packages/keras/src/layers/convolutional/base_conv.py:107: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n", " super().__init__(activity_regularizer=activity_regularizer, **kwargs)\n" ] } ], "source": [ "cnn = Sequential([\n", " Conv2D(filters=32, kernel_size=3, activation='relu', input_shape=(64, 64, 3)),\n", " MaxPooling2D(pool_size=2, strides=2),\n", " Conv2D(filters=32, kernel_size=3, activation='relu'),\n", " MaxPooling2D(pool_size=2, strides=2),\n", " Flatten(),\n", " Dense(units=128, activation='relu'),\n", " Dense(units=1, activation='sigmoid')\n", "])" ] }, { "cell_type": "code", "execution_count": 4, "id": "501a112a", "metadata": { "execution": { "iopub.execute_input": "2024-07-28T07:51:07.389932Z", "iopub.status.busy": "2024-07-28T07:51:07.389601Z", "iopub.status.idle": "2024-07-28T07:51:07.402368Z", "shell.execute_reply": "2024-07-28T07:51:07.401694Z" }, "papermill": { "duration": 0.019565, "end_time": "2024-07-28T07:51:07.404352", "exception": false, "start_time": "2024-07-28T07:51:07.384787", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "cnn.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])" ] }, { "cell_type": "code", "execution_count": 5, "id": "99ee9db8", "metadata": { "execution": { "iopub.execute_input": "2024-07-28T07:51:07.413581Z", "iopub.status.busy": "2024-07-28T07:51:07.413310Z", "iopub.status.idle": "2024-07-28T07:51:07.417015Z", "shell.execute_reply": "2024-07-28T07:51:07.416205Z" }, "papermill": { "duration": 0.010426, "end_time": "2024-07-28T07:51:07.418877", "exception": false, "start_time": "2024-07-28T07:51:07.408451", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "weights_path = '/kaggle/working/cnn_weights.weights.h5'" ] }, { "cell_type": "code", "execution_count": 6, "id": "9f17c61f", "metadata": { "execution": { "iopub.execute_input": "2024-07-28T07:51:07.427947Z", "iopub.status.busy": "2024-07-28T07:51:07.427673Z", "iopub.status.idle": "2024-07-28T08:16:58.794960Z", "shell.execute_reply": "2024-07-28T08:16:58.793911Z" }, "papermill": { "duration": 1551.374344, "end_time": "2024-07-28T08:16:58.797236", "exception": false, "start_time": "2024-07-28T07:51:07.422892", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/50\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/opt/conda/lib/python3.10/site-packages/keras/src/trainers/data_adapters/py_dataset_adapter.py:121: UserWarning: Your `PyDataset` class should call `super().__init__(**kwargs)` in its constructor. `**kwargs` can include `workers`, `use_multiprocessing`, `max_queue_size`. Do not pass these arguments to `fit()`, as they will be ignored.\n", " self._warn_if_super_not_called()\n", "2024-07-28 07:51:11.635273: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 0: 6.39927, expected 5.58886\n", "2024-07-28 07:51:11.635331: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 1: 5.92185, expected 5.11143\n", "2024-07-28 07:51:11.635345: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 2: 5.99669, expected 5.18628\n", "2024-07-28 07:51:11.635356: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 3: 6.48891, expected 5.6785\n", "2024-07-28 07:51:11.635369: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 5: 6.18882, expected 5.37841\n", "2024-07-28 07:51:11.635386: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 6: 6.76108, expected 5.95067\n", "2024-07-28 07:51:11.635398: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 7: 6.21291, expected 5.4025\n", "2024-07-28 07:51:11.635409: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 8: 5.66667, expected 4.85626\n", "2024-07-28 07:51:11.635420: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 9: 6.27296, expected 5.46255\n", "2024-07-28 07:51:11.635432: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 10: 6.19325, expected 5.38284\n", "2024-07-28 07:51:11.637195: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:705] Results mismatch between different convolution algorithms. This is likely a bug/unexpected loss of precision in cudnn.\n", "(f32[32,32,62,62]{3,2,1,0}, u8[0]{0}) custom-call(f32[32,3,64,64]{3,2,1,0}, f32[32,3,3,3]{3,2,1,0}, f32[32]{0}), window={size=3x3}, dim_labels=bf01_oi01->bf01, custom_call_target=\"__cudnn$convBiasActivationForward\", backend_config={\"conv_result_scale\":1,\"activation_mode\":\"kRelu\",\"side_input_scale\":0,\"leakyrelu_alpha\":0} for eng20{k2=2,k4=1,k5=1,k6=0,k7=0} vs eng15{k5=1,k6=0,k7=1,k10=1}\n", "2024-07-28 07:51:11.637224: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:270] Device: Tesla P100-PCIE-16GB\n", "2024-07-28 07:51:11.637253: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:271] Platform: Compute Capability 6.0\n", "2024-07-28 07:51:11.637268: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:272] Driver: 12040 (550.90.7)\n", "2024-07-28 07:51:11.637278: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:273] Runtime: \n", "2024-07-28 07:51:11.637298: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:280] cudnn version: 8.9.0\n", "2024-07-28 07:51:11.810143: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 0: 6.39927, expected 5.58886\n", "2024-07-28 07:51:11.810200: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 1: 5.92185, expected 5.11143\n", "2024-07-28 07:51:11.810215: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 2: 5.99669, expected 5.18628\n", "2024-07-28 07:51:11.810229: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 3: 6.48891, expected 5.6785\n", "2024-07-28 07:51:11.810253: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 5: 6.18882, expected 5.37841\n", "2024-07-28 07:51:11.810264: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 6: 6.76108, expected 5.95067\n", "2024-07-28 07:51:11.810275: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 7: 6.21291, expected 5.4025\n", "2024-07-28 07:51:11.810286: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 8: 5.66667, expected 4.85626\n", "2024-07-28 07:51:11.810298: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 9: 6.27296, expected 5.46255\n", "2024-07-28 07:51:11.810311: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 10: 6.19325, expected 5.38284\n", "2024-07-28 07:51:11.811161: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:705] Results mismatch between different convolution algorithms. This is likely a bug/unexpected loss of precision in cudnn.\n", "(f32[32,32,62,62]{3,2,1,0}, u8[0]{0}) custom-call(f32[32,3,64,64]{3,2,1,0}, f32[32,3,3,3]{3,2,1,0}, f32[32]{0}), window={size=3x3}, dim_labels=bf01_oi01->bf01, custom_call_target=\"__cudnn$convBiasActivationForward\", backend_config={\"conv_result_scale\":1,\"activation_mode\":\"kRelu\",\"side_input_scale\":0,\"leakyrelu_alpha\":0} for eng20{k2=2,k4=1,k5=1,k6=0,k7=0} vs eng15{k5=1,k6=0,k7=1,k10=1}\n", "2024-07-28 07:51:11.811192: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:270] Device: Tesla P100-PCIE-16GB\n", "2024-07-28 07:51:11.811206: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:271] Platform: Compute Capability 6.0\n", "2024-07-28 07:51:11.811220: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:272] Driver: 12040 (550.90.7)\n", "2024-07-28 07:51:11.811240: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:273] Runtime: \n", "2024-07-28 07:51:11.811260: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:280] cudnn version: 8.9.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1m 3/250\u001b[0m \u001b[37m━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[1m20s\u001b[0m 85ms/step - accuracy: 0.4948 - loss: 0.9775" ] }, { "name": "stderr", "output_type": "stream", "text": [ "WARNING: All log messages before absl::InitializeLog() is called are written to STDERR\n", "I0000 00:00:1722153073.228217 80 device_compiler.h:186] Compiled cluster using XLA! This line is logged at most once for the lifetime of the process.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1m243/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m━\u001b[0m \u001b[1m1s\u001b[0m 161ms/step - accuracy: 0.5563 - loss: 0.7044" ] }, { "name": "stderr", "output_type": "stream", "text": [ "2024-07-28 07:51:59.966687: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23106: 6.38351, expected 5.64383\n", "2024-07-28 07:51:59.966744: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23194: 5.12334, expected 4.38367\n", "2024-07-28 07:51:59.966754: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23218: 6.35016, expected 5.61048\n", "2024-07-28 07:51:59.966762: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23240: 5.82993, expected 5.09026\n", "2024-07-28 07:51:59.966770: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23251: 6.18931, expected 5.44964\n", "2024-07-28 07:51:59.966777: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23270: 6.36522, expected 5.62554\n", "2024-07-28 07:51:59.966785: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23271: 6.05405, expected 5.31438\n", "2024-07-28 07:51:59.966793: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23287: 6.26212, expected 5.52245\n", "2024-07-28 07:51:59.966801: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23314: 6.10609, expected 5.36642\n", "2024-07-28 07:51:59.966809: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23331: 5.73468, expected 4.995\n", "2024-07-28 07:51:59.966825: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:705] Results mismatch between different convolution algorithms. This is likely a bug/unexpected loss of precision in cudnn.\n", "(f32[16,32,62,62]{3,2,1,0}, u8[0]{0}) custom-call(f32[16,3,64,64]{3,2,1,0}, f32[32,3,3,3]{3,2,1,0}, f32[32]{0}), window={size=3x3}, dim_labels=bf01_oi01->bf01, custom_call_target=\"__cudnn$convBiasActivationForward\", backend_config={\"conv_result_scale\":1,\"activation_mode\":\"kRelu\",\"side_input_scale\":0,\"leakyrelu_alpha\":0} for eng20{k2=2,k4=1,k5=1,k6=0,k7=0} vs eng15{k5=1,k6=0,k7=1,k10=1}\n", "2024-07-28 07:51:59.966833: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:270] Device: Tesla P100-PCIE-16GB\n", "2024-07-28 07:51:59.966841: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:271] Platform: Compute Capability 6.0\n", "2024-07-28 07:51:59.966847: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:272] Driver: 12040 (550.90.7)\n", "2024-07-28 07:51:59.966854: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:273] Runtime: \n", "2024-07-28 07:51:59.966866: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:280] cudnn version: 8.9.0\n", "2024-07-28 07:52:00.008538: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23106: 6.38351, expected 5.64383\n", "2024-07-28 07:52:00.008590: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23194: 5.12334, expected 4.38367\n", "2024-07-28 07:52:00.008599: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23218: 6.35016, expected 5.61048\n", "2024-07-28 07:52:00.008607: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23240: 5.82993, expected 5.09026\n", "2024-07-28 07:52:00.008615: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23251: 6.18931, expected 5.44964\n", "2024-07-28 07:52:00.008622: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23270: 6.36522, expected 5.62554\n", "2024-07-28 07:52:00.008630: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23271: 6.05405, expected 5.31438\n", "2024-07-28 07:52:00.008638: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23287: 6.26212, expected 5.52245\n", "2024-07-28 07:52:00.008646: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23314: 6.10609, expected 5.36642\n", "2024-07-28 07:52:00.008664: E external/local_xla/xla/service/gpu/buffer_comparator.cc:1137] Difference at 23331: 5.73468, expected 4.995\n", "2024-07-28 07:52:00.008680: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:705] Results mismatch between different convolution algorithms. This is likely a bug/unexpected loss of precision in cudnn.\n", "(f32[16,32,62,62]{3,2,1,0}, u8[0]{0}) custom-call(f32[16,3,64,64]{3,2,1,0}, f32[32,3,3,3]{3,2,1,0}, f32[32]{0}), window={size=3x3}, dim_labels=bf01_oi01->bf01, custom_call_target=\"__cudnn$convBiasActivationForward\", backend_config={\"conv_result_scale\":1,\"activation_mode\":\"kRelu\",\"side_input_scale\":0,\"leakyrelu_alpha\":0} for eng20{k2=2,k4=1,k5=1,k6=0,k7=0} vs eng15{k5=1,k6=0,k7=1,k10=1}\n", "2024-07-28 07:52:00.008688: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:270] Device: Tesla P100-PCIE-16GB\n", "2024-07-28 07:52:00.008696: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:271] Platform: Compute Capability 6.0\n", "2024-07-28 07:52:00.008702: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:272] Driver: 12040 (550.90.7)\n", "2024-07-28 07:52:00.008709: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:273] Runtime: \n", "2024-07-28 07:52:00.008720: E external/local_xla/xla/service/gpu/conv_algorithm_picker.cc:280] cudnn version: 8.9.0\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m52s\u001b[0m 189ms/step - accuracy: 0.5575 - loss: 0.7032 - val_accuracy: 0.5940 - val_loss: 0.7075\n", "Epoch 2/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 108ms/step - accuracy: 0.6480 - loss: 0.6198 - val_accuracy: 0.6615 - val_loss: 0.6100\n", "Epoch 3/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m27s\u001b[0m 107ms/step - accuracy: 0.7039 - loss: 0.5704 - val_accuracy: 0.7200 - val_loss: 0.5532\n", "Epoch 4/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 107ms/step - accuracy: 0.7240 - loss: 0.5406 - val_accuracy: 0.7335 - val_loss: 0.5515\n", "Epoch 5/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 111ms/step - accuracy: 0.7422 - loss: 0.5201 - val_accuracy: 0.7505 - val_loss: 0.5182\n", "Epoch 6/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m27s\u001b[0m 106ms/step - accuracy: 0.7535 - loss: 0.5014 - val_accuracy: 0.7405 - val_loss: 0.5360\n", "Epoch 7/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m29s\u001b[0m 113ms/step - accuracy: 0.7723 - loss: 0.4817 - val_accuracy: 0.7530 - val_loss: 0.5243\n", "Epoch 8/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 109ms/step - accuracy: 0.7802 - loss: 0.4588 - val_accuracy: 0.7790 - val_loss: 0.4908\n", "Epoch 9/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 109ms/step - accuracy: 0.7746 - loss: 0.4603 - val_accuracy: 0.7765 - val_loss: 0.4936\n", "Epoch 10/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m27s\u001b[0m 106ms/step - accuracy: 0.7827 - loss: 0.4496 - val_accuracy: 0.7720 - val_loss: 0.5128\n", "Epoch 11/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 108ms/step - accuracy: 0.7955 - loss: 0.4283 - val_accuracy: 0.7710 - val_loss: 0.5021\n", "Epoch 12/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m41s\u001b[0m 107ms/step - accuracy: 0.8071 - loss: 0.4188 - val_accuracy: 0.7800 - val_loss: 0.5005\n", "Epoch 13/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 109ms/step - accuracy: 0.8127 - loss: 0.3984 - val_accuracy: 0.7945 - val_loss: 0.4851\n", "Epoch 14/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m27s\u001b[0m 105ms/step - accuracy: 0.8237 - loss: 0.3866 - val_accuracy: 0.7755 - val_loss: 0.5020\n", "Epoch 15/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m27s\u001b[0m 107ms/step - accuracy: 0.8229 - loss: 0.3898 - val_accuracy: 0.7825 - val_loss: 0.5094\n", "Epoch 16/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m27s\u001b[0m 107ms/step - accuracy: 0.8265 - loss: 0.3790 - val_accuracy: 0.7860 - val_loss: 0.5039\n", "Epoch 17/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 110ms/step - accuracy: 0.8415 - loss: 0.3529 - val_accuracy: 0.7845 - val_loss: 0.5114\n", "Epoch 18/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 108ms/step - accuracy: 0.8447 - loss: 0.3508 - val_accuracy: 0.7840 - val_loss: 0.5060\n", "Epoch 19/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 109ms/step - accuracy: 0.8607 - loss: 0.3208 - val_accuracy: 0.7900 - val_loss: 0.5487\n", "Epoch 20/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m40s\u001b[0m 155ms/step - accuracy: 0.8711 - loss: 0.3126 - val_accuracy: 0.7760 - val_loss: 0.5507\n", "Epoch 21/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m46s\u001b[0m 181ms/step - accuracy: 0.8634 - loss: 0.3108 - val_accuracy: 0.7630 - val_loss: 0.5786\n", "Epoch 22/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m37s\u001b[0m 139ms/step - accuracy: 0.8684 - loss: 0.2999 - val_accuracy: 0.7670 - val_loss: 0.6191\n", "Epoch 23/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m38s\u001b[0m 149ms/step - accuracy: 0.8806 - loss: 0.2820 - val_accuracy: 0.7885 - val_loss: 0.5603\n", "Epoch 24/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m37s\u001b[0m 144ms/step - accuracy: 0.8719 - loss: 0.2970 - val_accuracy: 0.7700 - val_loss: 0.6221\n", "Epoch 25/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m36s\u001b[0m 141ms/step - accuracy: 0.8860 - loss: 0.2701 - val_accuracy: 0.7645 - val_loss: 0.6214\n", "Epoch 26/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m37s\u001b[0m 145ms/step - accuracy: 0.8923 - loss: 0.2586 - val_accuracy: 0.7865 - val_loss: 0.6405\n", "Epoch 27/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m44s\u001b[0m 172ms/step - accuracy: 0.8955 - loss: 0.2457 - val_accuracy: 0.7840 - val_loss: 0.5636\n", "Epoch 28/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m31s\u001b[0m 122ms/step - accuracy: 0.9038 - loss: 0.2312 - val_accuracy: 0.7820 - val_loss: 0.6396\n", "Epoch 29/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 109ms/step - accuracy: 0.9003 - loss: 0.2356 - val_accuracy: 0.7950 - val_loss: 0.5884\n", "Epoch 30/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m27s\u001b[0m 106ms/step - accuracy: 0.9149 - loss: 0.2186 - val_accuracy: 0.7875 - val_loss: 0.7087\n", "Epoch 31/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 109ms/step - accuracy: 0.9036 - loss: 0.2348 - val_accuracy: 0.7815 - val_loss: 0.7269\n", "Epoch 32/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 109ms/step - accuracy: 0.9144 - loss: 0.2165 - val_accuracy: 0.7865 - val_loss: 0.6700\n", "Epoch 33/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m31s\u001b[0m 122ms/step - accuracy: 0.9205 - loss: 0.2039 - val_accuracy: 0.7790 - val_loss: 0.7728\n", "Epoch 34/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m39s\u001b[0m 114ms/step - accuracy: 0.9211 - loss: 0.1911 - val_accuracy: 0.7855 - val_loss: 0.6496\n", "Epoch 35/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 109ms/step - accuracy: 0.9194 - loss: 0.1924 - val_accuracy: 0.7785 - val_loss: 0.6315\n", "Epoch 36/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m29s\u001b[0m 113ms/step - accuracy: 0.9204 - loss: 0.1937 - val_accuracy: 0.7675 - val_loss: 0.8211\n", "Epoch 37/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m29s\u001b[0m 112ms/step - accuracy: 0.9324 - loss: 0.1745 - val_accuracy: 0.7800 - val_loss: 0.8673\n", "Epoch 38/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m29s\u001b[0m 113ms/step - accuracy: 0.9369 - loss: 0.1588 - val_accuracy: 0.7840 - val_loss: 0.7244\n", "Epoch 39/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 111ms/step - accuracy: 0.9402 - loss: 0.1567 - val_accuracy: 0.7950 - val_loss: 0.7386\n", "Epoch 40/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m27s\u001b[0m 107ms/step - accuracy: 0.9392 - loss: 0.1633 - val_accuracy: 0.7825 - val_loss: 0.8240\n", "Epoch 41/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 108ms/step - accuracy: 0.9330 - loss: 0.1631 - val_accuracy: 0.7860 - val_loss: 0.8064\n", "Epoch 42/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m27s\u001b[0m 105ms/step - accuracy: 0.9465 - loss: 0.1354 - val_accuracy: 0.7705 - val_loss: 0.7274\n", "Epoch 43/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m27s\u001b[0m 107ms/step - accuracy: 0.9388 - loss: 0.1577 - val_accuracy: 0.7785 - val_loss: 0.7972\n", "Epoch 44/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 110ms/step - accuracy: 0.9380 - loss: 0.1610 - val_accuracy: 0.7920 - val_loss: 0.9024\n", "Epoch 45/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m27s\u001b[0m 107ms/step - accuracy: 0.9417 - loss: 0.1466 - val_accuracy: 0.7840 - val_loss: 0.8283\n", "Epoch 46/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m41s\u001b[0m 106ms/step - accuracy: 0.9435 - loss: 0.1532 - val_accuracy: 0.7835 - val_loss: 0.8140\n", "Epoch 47/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 110ms/step - accuracy: 0.9450 - loss: 0.1518 - val_accuracy: 0.7890 - val_loss: 0.8356\n", "Epoch 48/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 109ms/step - accuracy: 0.9540 - loss: 0.1212 - val_accuracy: 0.7855 - val_loss: 0.8239\n", "Epoch 49/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 110ms/step - accuracy: 0.9547 - loss: 0.1201 - val_accuracy: 0.7970 - val_loss: 0.8161\n", "Epoch 50/50\n", "\u001b[1m250/250\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m28s\u001b[0m 108ms/step - accuracy: 0.9487 - loss: 0.1280 - val_accuracy: 0.7960 - val_loss: 0.7628\n" ] } ], "source": [ "# Check if weights file exists, if not, train and save weights\n", "if not os.path.exists(weights_path):\n", " # Training the CNN and saving history\n", " history = cnn.fit(x=training_set, validation_data=test_set, epochs=50)\n", " # Save weights after training\n", " cnn.save_weights(weights_path) # Corrected line\n", "else:\n", " # Load weights if they exist\n", " cnn.load_weights(weights_path)" ] }, { "cell_type": "code", "execution_count": 7, "id": "3321ad4a", "metadata": { "execution": { "iopub.execute_input": "2024-07-28T08:17:00.861434Z", "iopub.status.busy": "2024-07-28T08:17:00.861081Z", "iopub.status.idle": "2024-07-28T08:17:01.178602Z", "shell.execute_reply": "2024-07-28T08:17:01.177719Z" }, "papermill": { "duration": 1.322994, "end_time": "2024-07-28T08:17:01.180958", "exception": false, "start_time": "2024-07-28T08:16:59.857964", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "if 'history' in locals():\n", " plt.figure(figsize=(8, 6))\n", " plt.plot(history.history['accuracy'], label='Training Accuracy')\n", " plt.plot(history.history['val_accuracy'], label='Validation Accuracy')\n", " plt.title('Model Accuracy')\n", " plt.ylabel('Accuracy')\n", " plt.xlabel('Epoch')\n", " plt.legend(loc='upper left')\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 8, "id": "7ec24e7a", "metadata": { "execution": { "iopub.execute_input": "2024-07-28T08:17:03.219732Z", "iopub.status.busy": "2024-07-28T08:17:03.218908Z", "iopub.status.idle": "2024-07-28T08:17:03.225232Z", "shell.execute_reply": "2024-07-28T08:17:03.224475Z" }, "papermill": { "duration": 1.053082, "end_time": "2024-07-28T08:17:03.227093", "exception": false, "start_time": "2024-07-28T08:17:02.174011", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "test_image_dir = '/kaggle/input/cat-vs-dog-image-classification-making-prediction/dataset/test_set'\n", "categories = os.listdir(test_image_dir)\n", "selected_category = random.choice(categories)\n", "selected_image = random.choice(os.listdir(os.path.join(test_image_dir, selected_category)))\n", "selected_image_path = os.path.join(test_image_dir, selected_category, selected_image)" ] }, { "cell_type": "code", "execution_count": 9, "id": "31eaadda", "metadata": { "execution": { "iopub.execute_input": "2024-07-28T08:17:05.284002Z", "iopub.status.busy": "2024-07-28T08:17:05.283219Z", "iopub.status.idle": "2024-07-28T08:17:05.289744Z", "shell.execute_reply": "2024-07-28T08:17:05.289041Z" }, "papermill": { "duration": 1.057473, "end_time": "2024-07-28T08:17:05.291606", "exception": false, "start_time": "2024-07-28T08:17:04.234133", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "test_image = image.load_img(selected_image_path, target_size=(64, 64))\n", "test_image_array = image.img_to_array(test_image)\n", "test_image_array = np.expand_dims(test_image_array, axis=0)\n", "test_image_array /= 255.0" ] }, { "cell_type": "code", "execution_count": 10, "id": "4ecdb34f", "metadata": { "execution": { "iopub.execute_input": "2024-07-28T08:17:07.350347Z", "iopub.status.busy": "2024-07-28T08:17:07.349711Z", "iopub.status.idle": "2024-07-28T08:17:07.809446Z", "shell.execute_reply": "2024-07-28T08:17:07.808702Z" }, "papermill": { "duration": 1.523861, "end_time": "2024-07-28T08:17:07.811296", "exception": false, "start_time": "2024-07-28T08:17:06.287435", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 405ms/step\n" ] } ], "source": [ "result = cnn.predict(test_image_array)\n", "confidence = result[0][0]" ] }, { "cell_type": "code", "execution_count": 11, "id": "f030e5fa", "metadata": { "execution": { "iopub.execute_input": "2024-07-28T08:17:09.849244Z", "iopub.status.busy": "2024-07-28T08:17:09.848899Z", "iopub.status.idle": "2024-07-28T08:17:09.853683Z", "shell.execute_reply": "2024-07-28T08:17:09.852824Z" }, "papermill": { "duration": 1.052391, "end_time": "2024-07-28T08:17:09.855494", "exception": false, "start_time": "2024-07-28T08:17:08.803103", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "if confidence > 0.5:\n", " prediction = 'dog'\n", " confidence_percentage = confidence * 100\n", "else:\n", " prediction = 'cat'\n", " confidence_percentage = (1 - confidence) * 100" ] }, { "cell_type": "code", "execution_count": 12, "id": "4269a169", "metadata": { "execution": { "iopub.execute_input": "2024-07-28T08:17:11.917152Z", "iopub.status.busy": "2024-07-28T08:17:11.916803Z", "iopub.status.idle": "2024-07-28T08:17:12.176311Z", "shell.execute_reply": "2024-07-28T08:17:12.175430Z" }, "papermill": { "duration": 1.331467, "end_time": "2024-07-28T08:17:12.178237", "exception": false, "start_time": "2024-07-28T08:17:10.846770", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaAAAAGzCAYAAABpdMNsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABxOUlEQVR4nO2dd5iU1d3+7+kz22YLW4GlCdJBqthFBGs0kqiJSdCYRA0YhSRG8kaNxgTTXlFfxBSDxogYkheNGgsSxQaIiAWQ3ssW2N6mnt8f/NjX2XN/DaOYZ12/n+ua64J7zj7POU87O3Puvb8uY4yBoiiKovyHcTvdAUVRFOXziU5AiqIoiiPoBKQoiqI4gk5AiqIoiiPoBKQoiqI4gk5AiqIoiiPoBKQoiqI4gk5AiqIoiiPoBKQoiqI4gk5Ayn+U3r1748orr2z//8svvwyXy4WXX375mO3D5XLhpz/96THb3medZDKJoUOH4uc//7nTXekU3HzzzRg/frzT3VCgE9Dnioceeggul6v9FQwGMWDAAMyYMQOVlZVOdy8t/vnPf34uJ5mPM+7HHnsMe/bswYwZM1L0NWvW4JxzzkFOTg6ys7MxefJkvPPOO9bPx2Ix3H777ejbty8CgQD69u2LO++8E/F4/Kj2/+Fr7sOvu+66y2q7aNEijBo1CsFgEIWFhbj66qtx8ODBlDaRSATXX389CgsL0aNHD9x5553Wdvbu3YusrCy8/vrr1ns33ngj3n33XfzjH/84qv4rnyJG+dywYMECA8Dccccd5pFHHjF/+MMfzLRp04zb7TZ9+vQxzc3Nn3ofevXqZaZNm9b+/0QiYVpbW00ikUhrO9OnTzfS5dva2mpisdgn6Wan5aPGLTFixAjzne98J0Vbs2aNCQaDpn///uY3v/mN+dWvfmV69+5tcnJyzMaNG1PaXnrppcblcpmrr77azJ8/30ybNs0AMN/+9rePav8AzNlnn20eeeSRlNe6detS2t1///0GgDnrrLPMvHnzzOzZs01GRoYZPny4aW1tbW/3s5/9zOTk5Jhf/vKX5ic/+Ynx+Xxm4cKFKdu6/PLLzVe+8hWxT5deeqk59dRTj6r/yqeHTkCfI45MQKtXr07RZ82aZQBYN/GHaWpqOiZ96DgBfVw+zoO4K5DuuN9++20DwLz44osp+nnnnWfy8vLMwYMH27X9+/ebrKwsc8kll7Rrb775pgFgbrnllpSf//73v29cLpd59913/20fAJjp06d/ZJtIJGJyc3PNaaedZpLJZLv+1FNPGQDm3nvvbdfGjx9vbr/99vb/T5s2zVx++eXt/3/11VdNZmam2bNnj7i/v/3tb8blcplt27b92/4rnx76FZyCiRMnAgB27NgBALjyyiuRlZWFbdu24bzzzkN2djauuOIKAIfXE+bOnYshQ4YgGAyiuLgY11xzDWpra1O2aYzBnXfeiR49eiAjIwNnnnkm1q9fb+1bWgNatWoVzjvvPOTl5SEzMxPDhw/HPffc096/efPmAUj9eucIbA1o7dq1OPfcc5GTk4OsrCycddZZWLlyZUqbI19Rvv7665g1axYKCwuRmZmJL37xi6iurk5pW19fj40bN6K+vv5oDjGeffZZnH766cjOzkZOTg7Gjh2LhQsXtr//6quv4stf/jLKy8sRCATQs2dPzJw5E62tre1t/t24GU888QT8fj9OO+20FP3VV1/FpEmTUFBQ0K6Vlpbi9NNPx9NPP42mpqb2dgBw+eWXp/z85ZdfDmMMHn/88aMaPwC0traira2Nvrdu3TrU1dXhsssuSxnTBRdcgKysLCxatChlO3l5ee3/z8/PR0tLC4DD1+cNN9yAm266CT169BD7MmnSJADAk08+edT9V449OgEp2LZtGwCkPIzi8TimTJmCoqIi/OY3v8HUqVMBANdccw1++MMf4uSTT8Y999yDq666Co8++iimTJmCWCzW/vO33norbrnlFowYMQK//vWv0bdvX0yePBnNzc3/tj9Lly7Faaedhg0bNuCGG27Ab3/7W5x55pl4+umn2/tw9tlnAwAeeeSR9pfE+vXrceqpp+Ldd9/FTTfdhFtuuQU7duzAGWecgVWrVlntr7/+erz77ru47bbbcN111+Gpp56y1k+WLFmCQYMGYcmSJf92PA899BDOP/981NTUYPbs2bjrrrswcuRIPPfcc+1tFi9ejJaWFlx33XW47777MGXKFNx33334xje+0d4m3XEDwBtvvIGhQ4fC5/Ol6JFIBKFQyGqfkZGBaDSKdevWtbcDYLXNyMgAcHgd6Wh46KGHkJmZiVAohMGDB6dMvh+1nyPa2rVrkUwmAQBjx47F73//e7z//vtYsWIFHnvsMYwbNw4A8OCDD+LgwYP44Q9/+JH9CYfD6NevH10jUv6DOP0RTPnPceQruBdffNFUV1ebPXv2mEWLFpmCggITCoXM3r17jTGm/Tv+m2++OeXnX331VQPAPProoyn6c889l6JXVVUZv99vzj///JSvU3784x8bAClfwb300ksGgHnppZeMMcbE43HTp08f06tXL1NbW5uynw9v66O+igJgbrvttvb/X3zxxcbv96d83bJ//36TnZ1tTjvtNOv4TJo0KWVfM2fONB6Px9TV1VltFyxYQPtwhLq6OpOdnW3Gjx+fso7RcTwtLS3Wz86ZM8e4XC6za9euoxo3o0ePHmbq1KmWPmzYMDNgwAATj8fbtUgkYsrLyw0A87e//c0YY8zf//53A8A88sgjKT//wAMPGABm6NCh/7YPJ510kpk7d6558sknzfz5883QoUMNAHP//fe3t6murm5fZ/owGzduNAAMgPavC/fs2WOGDBnSrp966qmmsbHR1NXVmcLCQrNo0aKjOjaTJ082gwYNOqq2yqeDTkCfI448NDu+evXqZZ577rn2dkcmoA8/+Iwx5nvf+54Jh8OmqqrKVFdXp7yysrLMt771LWOMMQsXLjQAUrZpzOGJ6d9NQKtXrzYAzN133/2RYznaCSgej5uMjAxz6aWXWu2uueYa43a7TX19fcrx+etf/5rS7n//938NgKNa7+jI4sWLDQCzZMmSo/6ZpqYmU11dbZYvX24AmCeeeKL9vXQnoFAo1H5ePsz8+fPbz8X69evN+++/by677DLj8/lSJpzW1lbTq1cvU1xcbP7+97+bnTt3mscff9wUFBQYr9dr+vXrd9R9OUIkEjFDhw41ubm5KRPvZZddZrxer/nNb35jtm3bZl555RUzYsSI9j59eE0nGo2atWvXmvXr17cbWGbOnGlOOeUUY8zhX5bGjRtnevToYa6//noTiUSsflx22WWmsLAw7f4rxw79Cu5zyLx587B06VK89NJL2LBhA7Zv344pU6aktPF6vdZ36Fu2bEF9fT2KiopQWFiY8mpqakJVVRUAYNeuXQCA/v37p/x8YWFhynf3jCNfBw4dOvQTjfEI1dXVaGlpwfHHH2+9N2jQICSTSezZsydFLy8vT/n/kT53XOc6Go52PLt378aVV16J/Px8ZGVlobCwEKeffjoAHPU6k4QhRY+vvfZa/PjHP8bChQsxZMgQDBs2DNu2bcNNN90EAMjK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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(test_image)\n", "plt.title(f'Prediction: {prediction} ({confidence_percentage:.2f}%)')\n", "plt.axis('on')\n", "plt.show()" ] } ], "metadata": { "kaggle": { "accelerator": "gpu", "dataSources": [ { "datasetId": 4525768, "sourceId": 7742766, "sourceType": "datasetVersion" } ], "dockerImageVersionId": 30747, "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" }, "papermill": { "default_parameters": {}, "duration": 1586.959109, "end_time": "2024-07-28T08:17:15.006418", "environment_variables": {}, "exception": null, "input_path": "__notebook__.ipynb", "output_path": "__notebook__.ipynb", "parameters": {}, "start_time": "2024-07-28T07:50:48.047309", "version": "2.5.0" } }, "nbformat": 4, "nbformat_minor": 5 }