{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": [],
      "gpuType": "T4"
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "# **AI from Scratch: Build Your First Neural Network with TensorFlow**\n",
        "\n",
        "*By Ayush Morbar | Workshop for GDG on Campus - RJIT*\n",
        "\n",
        "## **1️⃣ Setup & Imports**"
      ],
      "metadata": {
        "id": "ssZxmBzWEOH3"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Step 1: Import all required libraries\n",
        "import tensorflow as tf\n",
        "from tensorflow import keras\n",
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "print(\"TensorFlow version:\", tf.__version__)\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "-kx7228NFKym",
        "outputId": "807875f3-7d41-4ef7-ff6a-fd6988f25817"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "TensorFlow version: 2.19.0\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 225
        },
        "id": "55584dcc",
        "outputId": "63c574fc-c47f-4226-80b1-ec7603eb7589"
      },
      "source": [
        "# Step 2: Load MNIST dataset (handwritten digits)\n",
        "(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()\n",
        "\n",
        "# Print shapes and view an example digit\n",
        "print(f\"Training images shape: {x_train.shape}\")\n",
        "print(f\"Test images shape: {x_test.shape}\")\n",
        "\n",
        "plt.figure(figsize=(4,2))\n",
        "for i in range(6):\n",
        "    plt.subplot(1,6,i+1)\n",
        "    plt.imshow(x_train[i], cmap=\"gray\")\n",
        "    plt.axis('off')\n",
        "plt.suptitle(\"Sample MNIST Digits\")\n",
        "plt.show()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n",
            "\u001b[1m11490434/11490434\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 0us/step\n",
            "Training images shape: (60000, 28, 28)\n",
            "Test images shape: (10000, 28, 28)\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 400x200 with 6 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "39ddd45c"
      },
      "source": [
        "# Step 3: Normalize data for better training performance (0-1 range)\n",
        "x_train = x_train / 255.0\n",
        "x_test = x_test / 255.0"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 361
        },
        "id": "4a4169a0",
        "outputId": "1d1f6f36-d511-469e-a05a-7109c8b1ae2c"
      },
      "source": [
        "# Step 4: Create the model (Sequential API, as in slide 23)\n",
        "model = keras.Sequential([\n",
        "    keras.layers.Flatten(input_shape=(28, 28)),     # Flatten image into 1D array\n",
        "    keras.layers.Dense(128, activation='relu'),     # First hidden layer\n",
        "    keras.layers.Dropout(0.2),                      # Dropout for regularization\n",
        "    keras.layers.Dense(64, activation='relu'),      # Second hidden layer\n",
        "    keras.layers.Dense(10, activation='softmax')    # Output layer (10 classes)\n",
        "])\n",
        "\n",
        "model.summary()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.11/dist-packages/keras/src/layers/reshaping/flatten.py:37: 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__(**kwargs)\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "\u001b[1mModel: \"sequential\"\u001b[0m\n"
            ],
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">Model: \"sequential\"</span>\n",
              "</pre>\n"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
              "┃\u001b[1m \u001b[0m\u001b[1mLayer (type)                   \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape          \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m      Param #\u001b[0m\u001b[1m \u001b[0m┃\n",
              "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
              "│ flatten (\u001b[38;5;33mFlatten\u001b[0m)               │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m784\u001b[0m)            │             \u001b[38;5;34m0\u001b[0m │\n",
              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
              "│ dense (\u001b[38;5;33mDense\u001b[0m)                   │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m)            │       \u001b[38;5;34m100,480\u001b[0m │\n",
              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
              "│ dropout (\u001b[38;5;33mDropout\u001b[0m)               │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m128\u001b[0m)            │             \u001b[38;5;34m0\u001b[0m │\n",
              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
              "│ dense_1 (\u001b[38;5;33mDense\u001b[0m)                 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m64\u001b[0m)             │         \u001b[38;5;34m8,256\u001b[0m │\n",
              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
              "│ dense_2 (\u001b[38;5;33mDense\u001b[0m)                 │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m)             │           \u001b[38;5;34m650\u001b[0m │\n",
              "└─────────────────────────────────┴────────────────────────┴───────────────┘\n"
            ],
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n",
              "┃<span style=\"font-weight: bold\"> Layer (type)                    </span>┃<span style=\"font-weight: bold\"> Output Shape           </span>┃<span style=\"font-weight: bold\">       Param # </span>┃\n",
              "┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n",
              "│ flatten (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Flatten</span>)               │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">784</span>)            │             <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
              "│ dense (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                   │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>)            │       <span style=\"color: #00af00; text-decoration-color: #00af00\">100,480</span> │\n",
              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
              "│ dropout (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dropout</span>)               │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">128</span>)            │             <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n",
              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
              "│ dense_1 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                 │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>)             │         <span style=\"color: #00af00; text-decoration-color: #00af00\">8,256</span> │\n",
              "├─────────────────────────────────┼────────────────────────┼───────────────┤\n",
              "│ dense_2 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>)                 │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">10</span>)             │           <span style=\"color: #00af00; text-decoration-color: #00af00\">650</span> │\n",
              "└─────────────────────────────────┴────────────────────────┴───────────────┘\n",
              "</pre>\n"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "\u001b[1m Total params: \u001b[0m\u001b[38;5;34m109,386\u001b[0m (427.29 KB)\n"
            ],
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Total params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">109,386</span> (427.29 KB)\n",
              "</pre>\n"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m109,386\u001b[0m (427.29 KB)\n"
            ],
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">109,386</span> (427.29 KB)\n",
              "</pre>\n"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n"
            ],
            "text/html": [
              "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Non-trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> (0.00 B)\n",
              "</pre>\n"
            ]
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "37f0143d",
        "outputId": "d5296178-3b3d-4bcf-e786-05cd8f394627"
      },
      "source": [
        "# Step 5: Compile the model (optimizer, loss, metrics)\n",
        "model.compile(\n",
        "    optimizer='adam',\n",
        "    loss='sparse_categorical_crossentropy',\n",
        "    metrics=['accuracy']\n",
        ")\n",
        "\n",
        "# Step 6: Train the model\n",
        "history = model.fit(\n",
        "    x_train, y_train,\n",
        "    epochs=10,\n",
        "    batch_size=32,\n",
        "    validation_split=0.2,  # Use 20% of training data for validation\n",
        "    verbose=2\n",
        ")"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/10\n",
            "1500/1500 - 7s - 5ms/step - accuracy: 0.9047 - loss: 0.3206 - val_accuracy: 0.9554 - val_loss: 0.1445\n",
            "Epoch 2/10\n",
            "1500/1500 - 8s - 5ms/step - accuracy: 0.9532 - loss: 0.1513 - val_accuracy: 0.9662 - val_loss: 0.1125\n",
            "Epoch 3/10\n",
            "1500/1500 - 5s - 3ms/step - accuracy: 0.9635 - loss: 0.1139 - val_accuracy: 0.9681 - val_loss: 0.1040\n",
            "Epoch 4/10\n",
            "1500/1500 - 6s - 4ms/step - accuracy: 0.9705 - loss: 0.0935 - val_accuracy: 0.9719 - val_loss: 0.0894\n",
            "Epoch 5/10\n",
            "1500/1500 - 5s - 3ms/step - accuracy: 0.9735 - loss: 0.0822 - val_accuracy: 0.9758 - val_loss: 0.0831\n",
            "Epoch 6/10\n",
            "1500/1500 - 6s - 4ms/step - accuracy: 0.9755 - loss: 0.0745 - val_accuracy: 0.9732 - val_loss: 0.0936\n",
            "Epoch 7/10\n",
            "1500/1500 - 4s - 3ms/step - accuracy: 0.9791 - loss: 0.0644 - val_accuracy: 0.9726 - val_loss: 0.0971\n",
            "Epoch 8/10\n",
            "1500/1500 - 6s - 4ms/step - accuracy: 0.9798 - loss: 0.0612 - val_accuracy: 0.9753 - val_loss: 0.0921\n",
            "Epoch 9/10\n",
            "1500/1500 - 4s - 3ms/step - accuracy: 0.9821 - loss: 0.0530 - val_accuracy: 0.9770 - val_loss: 0.0840\n",
            "Epoch 10/10\n",
            "1500/1500 - 4s - 3ms/step - accuracy: 0.9833 - loss: 0.0511 - val_accuracy: 0.9777 - val_loss: 0.0845\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "48e4447e",
        "outputId": "f1b6f725-67e0-4737-b0e8-84b77bf538d6"
      },
      "source": [
        "# Step 7: Test accuracy on unseen data\n",
        "test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2)\n",
        "print(f\"Test accuracy: {test_acc:.4f}\")"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "313/313 - 1s - 2ms/step - accuracy: 0.9803 - loss: 0.0751\n",
            "Test accuracy: 0.9803\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 410
        },
        "id": "5c6dd518",
        "outputId": "6da985d0-0507-4b06-a391-c63aa17eb327"
      },
      "source": [
        "# Step 8: Plot training & validation accuracy/loss\n",
        "plt.figure(figsize=(12,4))\n",
        "plt.subplot(1,2,1)\n",
        "plt.plot(history.history['accuracy'], label='train acc')\n",
        "plt.plot(history.history['val_accuracy'], label='val acc')\n",
        "plt.xlabel('Epoch')\n",
        "plt.ylabel('Accuracy')\n",
        "plt.legend()\n",
        "plt.title('Accuracy Curve')\n",
        "\n",
        "plt.subplot(1,2,2)\n",
        "plt.plot(history.history['loss'], label='train loss')\n",
        "plt.plot(history.history['val_loss'], label='val loss')\n",
        "plt.xlabel('Epoch')\n",
        "plt.ylabel('Loss')\n",
        "plt.legend()\n",
        "plt.title('Loss Curve')\n",
        "plt.show()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1200x400 with 2 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/IAAAGJCAYAAAApGAgTAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAArVZJREFUeJzs3XlYVHX7x/H3sO+bLAqiLKKouStkqW0UapmZmdniUj9Ly8potSzNFsvKLDMtyzL1SXvSfFotpawsFddyzwXFDRCRVfaZ3x8jowSoKDgsn9d1nQvmzHfO3Gdcztznu9wGk8lkQkRERERERETqBBtrByAiIiIiIiIi50+JvIiIiIiIiEgdokReREREREREpA5RIi8iIiIiIiJShyiRFxEREREREalDlMiLiIiIiIiI1CFK5EVERERERETqECXyIiIiIiIiInWIEnkRERERERGROkSJvIiIiIiIiEgdokRe5BJ6//33MRgMREdHWzuUOiklJYUnnniCyMhIXFxccHV1pUuXLrz88stkZGRYOzwREZFq8emnn2IwGFi/fr21Qzkvmzdv5u677yY4OBhHR0d8fHyIiYnhk08+oaSkxNrhidRLdtYOQKQhWbBgASEhISQkJLBnzx5atGhh7ZDqjHXr1tG3b19ycnK4++676dKlCwDr16/ntdde47fffuOnn36ycpQiIiINy0cffcSoUaMICAjgnnvuISIiguzsbOLj47nvvvs4evQozz77rLXDFKl3lMiLXCKJiYn8+eefLFmyhAceeIAFCxYwYcIEa4dVodzcXFxdXa0dhkVGRgYDBgzA1taWTZs2ERkZWeb5V155hdmzZ1fLe9W2cxcREamt1qxZw6hRo+jevTvff/897u7ulufGjh3L+vXr2bp1a7W8l67PImVpaL3IJbJgwQK8vb258cYbue2221iwYEGF7TIyMnjssccICQnB0dGRpk2bMnToUNLS0ixt8vPzmThxIi1btsTJyYkmTZpw6623snfvXgBWrlyJwWBg5cqVZY69f/9+DAYDn376qWXf8OHDcXNzY+/evfTt2xd3d3fuuusuAH7//XcGDRpEs2bNcHR0JDg4mMcee4y8vLxyce/cuZPbb78dPz8/nJ2dadWqFc899xwAv/zyCwaDga+++qrc6/7zn/9gMBhYvXp1pZ/dBx98wOHDh5k6dWq5JB4g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T+fpp58mMjISV1dXDh8+zPDhwzEajVWOa+jQoTz66KMcOnSIgoIC1qxZw3vvvXfO10VGRrJ582YKCwtxcHCo8vuWquz8zxx5UMrR0ZFbbrmFr776ivfff5+UlBT++OMPXn31VUub0s/giSeeIDY2tsJjq8SgiIhYU69evdi7dy//+9//+Omnn/joo494++23mTVrFv/3f/8HmFeY79evH0uXLuXHH3/k+eefZ/Lkyfz888906tSpwuO2aNECOzs7tmzZcl5xVMd3E4DLL7+ckJAQvvjiC+68806++eYb8vLyLKPl4PT1ed68eTRu3LjcMaqzM0TEWvS3WKSGLViwAH9/f2bMmFHuuSVLlvDVV18xa9YsnJ2dCQ8PP2eZlvDwcNauXUtRURH29vYVtvH29gbMK+Cf6cCBA+cd95YtW/jnn3+YO3cuQ4cOtew/c5VbwDKk73zKy9xxxx3ExcXx+eefk5eXh729fZkLb2X69evH6tWrWbx4MUOGDDlne29v73LnXlhYyNGjR8/52jMNHjyYuXPnEh8fz44dOzCZTGXiLT13e3t7YmJiqnRsERGRC+Xn54eLiwu7du0q99zOnTuxsbEhODjYss/Hx4cRI0YwYsQIcnJy6NWrFxMnTrQk8mD+fvH444/z+OOPs3v3bjp27Mhbb73F/PnzK4zBxcWFa6+9lp9//pmDBw+Web+KVMd3k1K3334777zzDllZWSxatIiQkBAuv/zyMucC4O/vr+uz1FsaWi9Sg/Ly8liyZAk33XQTt912W7ltzJgxZGdnW4aHDRw4kL/++qvCMm0mk8nSJi0trcKe7NI2zZs3x9bWlt9++63M8++///55x146Z7z0mKW/v/POO2Xa+fn50atXL+bMmUNSUlKF8ZTy9fWlT58+zJ8/nwULFtC7d298fX3PGcuoUaNo0qQJjz/+OP/880+551NTU3n55Zctj8PDw8ud+4cffljpXf/KxMTE4OPjw6JFi1i0aBFRUVFlhuH7+/tz9dVX88EHH1R4k+DYsWNVej8REZHzYWtryw033MD//ve/MiXiUlJS+M9//kOPHj0sQ9+PHz9e5rVubm60aNGCgoICwLzie35+fpk24eHhuLu7W9pUZsKECZhMJu65554yc9ZLbdiwgblz5wLV892k1ODBgykoKGDu3LksW7aM22+/vczzsbGxeHh48Oqr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IBs3buSGG27glltu4YorrgDMK+Bff/31tGrVit69e3PTTTdxww03XFAsNUWJfHUwGM57iLs19evXD5PJxHfffUe3bt34/fffefvtty3PP/HEEyxfvpw333yTFi1a4OzszG233UZhYeFZjlrWsGHDOH78OO+88w7NmzfH0dGR7t27W47h7Ox81tef63m5CHknYNcy2P4/2BsPJWf8uXqHQJv+4NsKjm6GQ+sgeSucTIN/lpk3AAzg27Jscu/fBmyr77+S3IJi9qTmsDvVnLTvSc1md2oOSeknMf1rKrXBAJ2beRNzarG6cD+ViKsSk8mcqB9MgEMJkLzF/Dg/s/LXGGzBq9kZ89bDTyfunsFgo8UCpWJjxoyptFdl5cqVZR6//PLLvPzyy2c9nsFgYNKkSUyaNKm6Qqx2NjYGuoX4sGJHCgmJ6UrkRaT6KQ+5YH369OHAgQN8//33LF++nOuuu46HHnqIN998k86dO5OYmMgPP/zAihUruP3224mJieHLL7+ssXiqSol8A+Lk5MStt97KggUL2LNnD61atSqzCN0ff/zB8OHDGTBgAGC+M7Z///4qvccff/zB+++/T9++fQE4ePAgaWlplufbt2/PoUOH+OeffyrslW/fvj3x8fGXtERQvZZ7HHZ+ax42v28lGItPP9cowpy8t+kPjdud7i3tdJf5Z1E+JP8Nh9bD4fXm5D4jCdJ2mbfNC8zt7F2gSUdo2gWadjMn955B5wwt82QRe45lszslp0zifjgjr9LXeLnYE+HvRgt/dzo181KJuKrKz4IjG+HgOnPifmid+QZPRTyaVjBvPdw83UILzImct+hQcyK/NvE4I3uFnfsFIiL10KXIQ84UHh6Og4MDf/zxh2VYfFFREevWrStTh97Pz49hw4YxbNgwevbsyZNPPsmbb74JgIeHB4MHD2bw4MHcdttt9O7dm/T0dHx8asfipUrkG5i77rqLm266iW3btnH33XeXeS4iIoIlS5bQr18/DAYDzz//PEajsZIjVSwiIoJ58+bRtWtXsrKyePLJJ8v0sl911VX06tWLgQMHMnXqVFq0aMHOnTsxGAz07t2bcePG0a5dOx588EFGjRqFg4MDv/zyC4MGDcLX17daPoN6LzsFdn4D27+G/avKLjLm3+Z08u4XefahzvZOEBxl3krlHDuV1J9K7g9vhIIsSPrTvJVy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T8xKICNea9tL72IxDMMI1C/Py8tj/PjxrFixAgC3201GRgYLFy5k8eLFZxyflpbGPffcw/z58z37Zs+eTXh4OC+//PIZx1ssFtasWcOsWbMuqFxOp5PY2Fiqq6uJiYn5+hMu0NznNvPBvnLuvWE4378yy+fXFxGR3sffdVNfo+cp0ns4G5rZerCSTcWVbDxQye6Salxu74iTGhtmjrHPiicvO4HMhAgFe+lxLqRuCliLfFNTE9u2bWPJkiWefVarlenTp7Nhw4ZOz2lsbCQszHv8S3h4OB999FGXytLY2EhjY6PnvdPp7NL1zqXF5WbrwfYZ60VERERE5OLFhIUybWgK04aaE+nVNraYwf5AJZuKT7LraDXHqxtY82kJa1qXvkuOdphL52XFMzE7npykKAV7CSoBC/IVFRW4XC5SUlK89qekpLBnz55Oz5kxYwZPPPEEU6ZMIScnh4KCAt544w1cLleXyrJs2TIefPDBLl3jfH12zEldk4uYsBCvZTlERERERKTrohwhfGNIMt8YYg7VrW9qYfshc+K8jcUn2XmkmhM1jfx15zH+uvMYAIlRdk9X/LysBHKTozQEVnq0oJq1/je/+Q0/+MEPGDp0KBaLhZycHObNm8dzzz3XpesuWbKE/Px8z3un00lGRkZXi9upTQfMZecmZMVj038cRERERET8KsIewpW5iVyZmwhAQ7OL7YdPsanYHGO//XAVFbVN/K3wOH8rPA5AXEQoE7LiPeF+WP8YBXvpUQIW5BMTE7HZbJSVlXntLysro3///p2ek5SUxNq1a2loaODkyZOkpaWxePFisrOzu1QWh8OBw9E9a1FuLG7rVq9l50REREREultYqI3JOYlMzjGDfWOLi51HqtlUfJKNB06y7dApTtU38/ZnZbz9mZlVYsPNpfLalrsbnhajRjkJqIAFebvdztixYykoKPBMRud2uykoKGDBggXnPDcsLIz09HSam5t5/fXXueWWW7qhxF3nchtsOdAa5LM1Pl5EREREJNAcITYmZMUzISueheTS1OKmsKSKjcXmOPttByupPt3Mu0VlvFtkBvtoRwjjMuM84+xzU6KJtNs0zl66TUC71ufn5zN37lzGjRvHhAkTWL58OXV1dcybNw+A22+/nfT0dJYtWwbApk2bKCkpYcyYMZSUlPDAAw/gdrv5xS9+4blmbW0tX3zx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iyZ9mOp631N971+q731Ddb1/qK4/f1p+zo/y8vIYP348K1asAMDtdpORkcHChQtZvHhxgEsX/MrLy0lOTuaDDz5gypQpgS5OUKutreXyyy/nd7/7Hb/85S8ZM2YMy5cvD3SxgtbixYv5+OOP+fDDDwNdlF7lhhtuICUlhWeffdazb/bs2YSHh/Pyyy8HsGTSl6mu9z/V976j+t53VNf7h+r686cWeT9pampi27ZtTJ8+3bPParUyffp0NmzYEMCS9R7V1dUAxMfHB7gkwW/+/Pn8y7/8i9ffq1y8N998k3HjxvGd73yH5ORkLrvsMp555plAFyvoTZ48mYKCAvbt2wfAzp07+eijj7juuusCXDLpq1TXdw/V976j+t53VNf7h+r68xcS6AL0VhUVFbhcLlJSUrz2p6SksGfPngCVqvdwu93cddddXHHFFYwcOTLQxQlqf/rTn9i+fTtbtmwJdFF6jeLiYlauXEl+fj533303W7Zs4Sc/+Ql2u525c+cGunhBa/HixTidToYOHYrNZsPlcvHwww8zZ86cQBdN+ijV9f6n+t53VN/7lup6/1Bdf/4U5CUozZ8/n927d/PRRx8FuihB7ciRIyxatIh33nmHsLCwQBen13C73YwbN45f/epXAFx22WXs3r2bVatWqXLvgldffZU//OEPrF69mhEjRrBjxw7uuusu0tLS9FxFeinV976h+t73VNf7h+r686cg7yeJiYnYbDbKysq89peVldG/f/8Alap3WLBgAW+99Rbr169nwIABgS5OUNu2bRsnTpzg8ssv9+xzuVysX7+eFStW0NjYiM1mC2AJg1NqairDhw/32jds2DBef/31AJWod/j5z3/O4sWLue222wAYNWoUhw4dYtmyZarcJSBU1/uX6nvfUX3ve6rr/UN1/fnTGHk/sdvtjB07loKCAs8+t9tNQUEBkyZNCmDJgpdhGCxYsIA1a9bwz3/+k6ysrEAXKehdc801FBYWsmPHDs82btw45syZw44dO1SpX6QrrrjijKWS9u3bxyWXXBKgEvUO9fX1WK3e1ZbNZsPtdgeoRNLXqa73D9X3vqf63vdU1/uH6vrzpxZ5P8rPz2fu3LmMGzeOCRMmsHz5curq6pg3b16gixaU5s+fz+rVq/nLX/5CdHQ0paWlAMTGxhIeHh7g0gWn6OjoM8YcRkZGkpCQoLGIXfDTn/6UyZMn86tf/YpbbrmFzZs38/TTT/P0008HumhB7cYbb+Thhx9m4MCBjBgxgk8//ZQnnniC733ve4EumvRhqut9T/W976m+9z3V9f6huv4CGOJXTz75pDFw4EDDbrcbEyZMMDZu3BjoIgUtoNPt+eefD3TRepWpU6caixYtCnQxgt5f//pXY+TIkYbD4TCGDh1qPP3004EuUtBzOp3GokWLjIEDBxphYWFGdna2cc899xiNjY2BLpr0carrfUv1ffdQfd91qut9T3X9+dM68iIiIiIiIiJBRGPkRURERERERIKIgryIiIiIiIhIEFGQFxEREREREQkiCvIiIiIiIiIiQURBXkRERERERCSIKMiLiIiIiIiIBBEFeREREREREZEgoiAvIiIiIiIiEkQU5EWkR7JYLKxduzbQxRARERE/UV0vcvEU5EXkDHfccQcWi+WMbebMmYEumoiIiPiA6nqR4BYS6AKISM80c+ZMnn/+ea99DocjQKURERERX1NdLxK81CIvIp1yOBz079/fa4uLiwPMrnArV67kuuuuIzw8nOzsbP785z97nV9YWMi0adMIDw8nISGBH/7wh9TW1nod89xzzzFixAgcDgepqaksWLDA6/OKigq+9a1vERERQW5uLm+++aZ/b1pERKQPUV0vErwU5EXkotx7773Mnj2bnTt3MmfOHG677TaKiooAqKurY8aMGcTFxbFlyxZee+013n33Xa/Ke+XKlcyfP58f/vCHFBYW8uabbzJo0CCv3/Hggw9yyy23sGvXLq6//nrmzJlDZWVlt96niIhIX6W6XqQHM0REvmLu3LmGzWYzIiMjvbaHH37YMAzDAIwf/ehHXufk5eUZd955p2EYhvH0008bcXFxRm1trefzv/3tb4bVajVKS0sNwzCMtLQ045577jlrGQBj6dKlnve1tbUGYPz973/32X2KiIj0VarrRYKbxsiLSKeuvvpqVq5c6bUvPj7e83rSpElen02aNIkdO3YAUFRUxOjRo4mMjPR8fsUVV+B2u9m7dy8Wi4Vjx45xzTXXnLMMl156qed1ZGQkMTExnDhx4mJvSURERDpQXS8SvBTkRaRTkZGRZ3R/85Xw8PDzOi40NNTrvcViwe12+6NIIiIifY7qepHgpTHyInJRNm7ceMb7YcOGATBs2DB27txJXV2d5/OPP/4Yq9XKkCFDiI6OJjMzk4KCgm4ts4iIiJw/1fUiPZda5EWkU42NjZSWlnrtCwkJITExEYDXXnuNcePGceWVV/KHP/yBzZs38+yzzwIwZ84c7r//fubOncsDDzxAeXk5Cxcu5N///d9JSUkB4IEHHuBHP/oRycnJXHfdddTU1PDxxx+zcOHC7r1RERGRPkp1vUjwUpAXkU6tW7eO1NRUr31Dhgxhz549gDnL7J/+9Cd+/OMfk5qayh//+EeGDx8OQEREBG+//TaLFi1i/PjxREREMHv2bJ544gnPtebOnUtDQwO//vWv+dnPfkZiYiLf/va3u+8GRURE+jjV9SLBy2IYhhHoQohIcLFYLKxZs4ZZs2YFuigiIiLiB6rrRXo2jZEXERERERERCSIK8iIiIiIiIiJBRF3rRURERERERIKIWuRFREREREREgoiCvIiIiIiIiEgQUZAXERERERERCSIK8iIiIiIiIiJBREFeREREREREJIgoyIuIiIiIiIgEEQV5ERERERERkSCiIC8iIiIiIiISRP4/KixA++A+xn0AAAAASUVORK5CYII=\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 331
        },
        "id": "f66a0e20",
        "outputId": "0ac25cb8-fe7e-4e09-da13-7bf75ef55626"
      },
      "source": [
        "# Step 9: Predict on new test images\n",
        "predictions = model.predict(x_test)\n",
        "\n",
        "# Helper to show image and model's prediction bar chart\n",
        "def plot_prediction(image, pred, true_label):\n",
        "    plt.figure(figsize=(6,3))\n",
        "    plt.subplot(1,2,1)\n",
        "    plt.imshow(image, cmap=\"gray\")\n",
        "    plt.axis('off')\n",
        "    plt.title(f\"True: {true_label}\")\n",
        "\n",
        "    plt.subplot(1,2,2)\n",
        "    plt.bar(range(10), pred)\n",
        "    plt.xticks(range(10))\n",
        "    plt.title(f\"Predicted: {np.argmax(pred)}\")\n",
        "    plt.show()\n",
        "\n",
        "# Try it on a random sample\n",
        "idx = np.random.randint(0, len(x_test))\n",
        "plot_prediction(x_test[idx], predictions[idx], y_test[idx])"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 1ms/step\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x300 with 2 Axes>"
            ],
            "image/png": "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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "CGrkiRNqbobl"
      },
      "execution_count": null,
      "outputs": []
    }
  ]
}