{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "46271577-3738-47d4-88d8-2a59e835680c",
   "metadata": {},
   "outputs": [],
   "source": [
    "# https://www.geeksforgeeks.org/implementation-of-neural-network-from-scratch-using-numpy/\n",
    "\n",
    "a =[0, 0, 1, 1, 0, 0,\n",
    "   0, 1, 0, 0, 1, 0,\n",
    "   1, 1, 1, 1, 1, 1,\n",
    "   1, 0, 0, 0, 0, 1,\n",
    "   1, 0, 0, 0, 0, 1]\n",
    "# B\n",
    "b =[0, 1, 1, 1, 1, 0,\n",
    "   0, 1, 0, 0, 1, 0,\n",
    "   0, 1, 1, 1, 1, 0,\n",
    "   0, 1, 0, 0, 1, 0,\n",
    "   0, 1, 1, 1, 1, 0]\n",
    "# C\n",
    "c =[0, 1, 1, 1, 1, 0,\n",
    "   0, 1, 0, 0, 0, 0,\n",
    "   0, 1, 0, 0, 0, 0,\n",
    "   0, 1, 0, 0, 0, 0,\n",
    "   0, 1, 1, 1, 1, 0]\n",
    " \n",
    "# Creating labels\n",
    "y =[[1, 0, 0],\n",
    "   [0, 1, 0],\n",
    "   [0, 0, 1]]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "628dc145-a6c5-478b-b5f3-d76d6db8e7a2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAegAAAGkCAYAAAD6yrYbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAAxOAAAMTgF/d4wjAAASdUlEQVR4nO3df2jchf3H8felSVNk0UbElZKKrh2OrtMI9g8HW6PbrKX5Y7qhgtvsNgPToF0ZXYs/Zl3RCNrvd39oKVjCBKF2pcGVJMqE1UXlOxBHraMbyDqrJVMTyZramDS29/3DmrXrtBeX897JPR5wkHx6fHhxtDz7uctdCsVisRgAQCo1lR4AAJxOoAEgIYEGgIQEGgASEmgASEigASCh2qk82fHjx6O/vz8aGhqiUChM5akBYEYpFotx+PDhmD9/ftTUnH69PKWB7u/vjwULFkzlKQFgRnvzzTejqanptONTGuiGhoYTX62JiPqpPDVMWB8PVnoCVeDBWF/pCcx4YxHxvye181RTGuh/Pa1dHwJNufibxWfD3zQ+Gx/3krAfEgOAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEqqdzJ07Ojpi//79MTIyEj/+8Y/jqquuKtcuAKhqJQf6kUceiddeey06OztjdHQ0mpubo6enJxYuXFjOfQBQlUp6ivvo0aOxYcOGuPnmmyMiYs6cObF8+fK4//77yzoOAKpVSYF+8cUX4913340lS5ZMHLv00kuju7u7bMMAoJqVFOh9+/ZFTU1NNDY2ThxrbGyMgYGBGBoaKts4AKhWJb0GfejQoZg7d27U1Pyr5/X19RERMTIyckq4P/ToSV9fceIGAJSqpECfe+65MTY2dsqx999/PyLiP8Q5IqI9Iur/220AULVKeop74cKFceTIkRgdHZ04NjAwEE1NTXHWWWeVbRwAVKuSAt3S0hLnnXdevPTSSxPH9u3bFytXrizbMACoZiUFuq6uLtasWRNdXV0REXHkyJF49tlnY/369WUdBwDVquSP+ly3bl3U1tbG6tWro729PbZu3RoXXnhhGacBQPUq+ZPEZs2aFQ899FA5twAAJ/hlGQCQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkVFvpAUTcG/dVesK0cl/cW+kJVAH/LifPv82p5QoaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQmFejBwcFYu3Zt3HbbbeXaAwDEJAI9Pj4eL7zwQvz2t7+NkZGRcm4CgKpXcqDr6uri29/+dixdurScewCA+BSvQdfV1ZVjBwBwEj8kBgAJ1ZbntI+e9PUVJ24AQKnKFOj2iKgvz6kBoAp4ihsAEhJoAEho0k9xHzt2LAqFQjm2AAAnTOoKevv27dHX1xfPP/987Nixo1ybAKDqTeoK+oYbbogbbrihXFsAgBO8Bg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJBQoVgsFqfqZMPDw3HOOefE+oion6qTAsAMNBYRD0bEoUOH4uyzzz7tz11BA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQiUF+sCBA7F8+fJoaGiIyy67LHbv3l3uXQBQ1c4Y6GKxGG1tbfHNb34zNm/eHMViMVpbW+Nvf/vbZ7EPAKrSGQP95z//OdatWxdr166N73//+/G73/0uCoVCdHd3fxb7AKAq1Z7pDhdffHF85Stfmfj+/PPPj8WLF0d9fX1ZhwFANTvjFfTs2bNPOzY0NBStra1lGQQAlHAF/e/6+vriuuuui6ampo+9z6MnfX3FiRsAULpJBXp8fDy2bdsWv/rVrz7xfu0R4QlwAPj0JvU+6E2bNsWdd97p9WcAKLOSA71169a45pprYsGCBRERMTY2FseOHSvbMACoZiUFevPmzbF///5466234plnnomurq645ZZbolAolHsfAFSlM74G3dnZGe3t7RER0dHRMXH89ttvj5oanxQKAOVQKBaLxak62fDwcJxzzjmxPvyQGAB8krGIeDAiDh06FGefffZpf+4SGAASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABIKHaSg8g4r64t9ITAP5r98Z9lZ4wo7iCBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhEoO9MDAQLS2tkZDQ0Ncfvnl8corr5RzFwBUtZID/cADD8Qdd9wRu3btipGRkfje975Xzl0AUNVqS7nT6Oho/OxnP4umpqaIiLjvvvuira2trMMAoJqVdAU9Z86ciThHRIyPj8ett95atlEAUO1KuoI+2cGDB+OJJ56I3/zmNx97n0dP+vqKEzcAoHSTCvSePXvi7rvvjqeffjquvPLKeOGFF6K+vv60+7VHxOlHAYBSTeptVs3NzdHd3R1dXV3x8ssvx86dO8u1CwCq2qd6H/S1114by5Yti/7+/qneAwDEf/FBJXPnzo1LLrlkKrcAACeUFOjh4eF4/PHHY3h4OCIi9u7dG0ePHo2rr766rOMAoFqVFOi33347NmzYEIsWLYrrr78+tm3bFk8++WS5twFA1Srpp7i/+MUvxt///vdybwEATvDLMgAgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASChSQe6t7c3LrroonJsAQBOmFSgh4aG4o477ohisViuPQBATDLQd999d/zgBz8o1xYA4ITaUu/41FNPxdKlS8u5BQA4oaQr6MHBwejp6YlVq1aVdNJHI+J/Ttz+71NPA4DqVdIV9D333BMbN24s+aTtEVH/aRcBAGe+gt6+fXu0tLTEvHnzPos9AECUcAW9ZcuWeO655+LGG2885XihUIjdu3dHS0tLubYBQNU6Y6Afe+yxeO+99ya+37VrV2zZsiV6e3tj0aJFZR0HANXqjIH+9wjv2bMnZs+eHc3NzeXaBABVz0d9AkBCkw70qlWr4vXXXy/DFADgI66gASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABKqqkD/X6UHTDsescnzmE2ex2zyPGaTNR0fMYHmE3jEJs9jNnkes8nzmE3WdHzEqirQADBd1E7lyYrFYkREjE3lSadYzm05V30o87asPGaT5zGbvHyPWb5Fp8q276M9H7Xz3xWKH/cnn8LBgwdjwYIFU3U6AJjx3nzzzWhqajrt+JQG+vjx49Hf3x8NDQ1RKBSm6rQAMOMUi8U4fPhwzJ8/P2pqTn/FeUoDDQBMDT8kBgAJCTQAJFQVge7o6Ii2tra46aab4ve//32l50wLg4ODsXbt2rjtttsqPWVaOHDgQCxfvjwaGhrisssui927d1d6UnoDAwPR2toaDQ0Ncfnll8crr7xS6UnTRm9vb1x00UWVnjEt9PX1RaFQmLg99NBDlZ5Ushn/GvQjjzwSf/rTn6KzszNGR0ejubk5enp6YuHChZWeltb4+Hj09PTEz3/+8/jqV78av/71rys9KbVisRjLly+Pb33rWzFv3rzYtGlTvPbaa7F3715/zz7BmjVrYsWKFVFXVxft7e0xa9asePXVVys9K72hoaFYunRpfPDBB/H6669Xek56P/rRj+KSSy6Z+P7mm2+OxsbGCi4q3YwO9NGjR2P+/Pmxc+fOWLZsWURErF69Og4fPhydnZ0VXpffTTfdFHV1dQJ9Bq+++mq888478Y1vfCMiIt555534whe+EPfff3+sXr26wutyGh0djcHBwYm3luzYsSPa2trin//8Z2WHTQPt7e3x+c9/Pjo7OwX6DP7yl7/Etm3b4pe//GWlp3wqM/op7hdffDHefffdWLJkycSxSy+9NLq7uyu4avqoq6ur9IRp4eKLL56Ic0TE+eefH4sXL476+voKrsptzpw5p7zvc3x8PG699dYKLpoennrqqVi6dGlccMEFlZ4yLTz88MPxwAMPxNe//vXo7e2t9JxJm9GB3rdvX9TU1JzydEZjY2MMDAzE0NBQBZcxk8yePfu0Y0NDQ9Ha2lqBNdPPwYMH44knnoi77rqr0lNSGxwcjJ6enli1alWlp0wb3/3ud+Phhx+OsbGxWLlyZXR0dFR60qTM6EAfOnQo5s6de8obwD+6qhkZGanULGa4vr6+uO666/7jJwNxqj179sRPfvKTePrpp+PKK6+MsbFsH8aYxz333BMbN26s9IxpZcWKFfHTn/40/vjHP8Zdd90Vv/jFL+Kvf/1rpWeVbEYH+txzzz3tH/z7778fETFtfkiA6WV8fHxav+b1WWtubo7u7u7o6uqKl19+OXbu3FnpSSlt3749WlpaYt68eZWeMi0VCoXYuHFjLFmyZFq9w2JGB3rhwoVx5MiRGB0dnTg2MDAQTU1NcdZZZ1VwGTPVpk2b4s477/T68yRde+21sWzZsujv76/0lJS2bNkSN95448RbhX74wx/GgQMHolAoxHPPPVfpedNCoVCIq666alo9SzOlv80qm5aWljjvvPPipZdeiq997WsR8eHr0itXrqzwMmairVu3xjXXXDPxC2PGxsaitrY2Zs2aVeFl08PcuXNPeTsM//LYY4/Fe++9N/H9rl27YsuWLdHb2xuLFi2q4LLp5R//+Ee0tbVVekbJZvQVdF1dXaxZsya6uroiIuLIkSPx7LPPxvr16yu8bHo4duxYHD9+vNIzpoXNmzfH/v3746233opnnnkmurq64pZbbvFLYz7G8PBwPP744zE8PBwREXv37o2jR4/G1VdfXeFlOS1atCiam5snbhdccEHMnj07mpub43Of+1yl56X0xhtvxO233x5vvPFGRHz4MsGXv/zl+NKXvlThZaWb0YGOiFi3bl3U1tbG6tWro729PbZu3RoXXnhhpWelt3379ujr64vnn38+duzYUek5qXV2dkZ7e3t0dHTEihUrYsWKFfGd73wnGhsb/+NvqCHi7bffjg0bNsSiRYvi+uuvj23btsWTTz5Z6VnMILW1tfGHP/whFi9eHMuWLYsPPvhg2r1TYEZ/UAkATFf+ew8ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkND/A3gRbLniXRnJAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "# visualizing the data, plotting A.\n",
    "plt.imshow(np.array(a).reshape(5, 6), interpolation ='nearest', alpha = 1)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "e7e28fde-8a36-434e-8967-066c3de7535b",
   "metadata": {},
   "outputs": [],
   "source": [
    "x =[np.array(a).reshape(1, 30), np.array(b).reshape(1, 30), \n",
    "                                np.array(c).reshape(1, 30)]\n",
    "y = np.array(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "5f27738a-7ee3-43cd-b948-53ca095fada4",
   "metadata": {},
   "outputs": [],
   "source": [
    "# activation function\n",
    " \n",
    "def sigmoid(x):\n",
    "    return(1/(1 + np.exp(-x)))\n",
    "   \n",
    "# Creating the Feed forward neural network\n",
    "# 1 Input layer(1, 30)\n",
    "# 1 hidden layer (1, 5)\n",
    "# 1 output layer(3, 3)\n",
    " \n",
    "def f_forward(x, w1, w2):\n",
    "    # hidden\n",
    "    z1 = x.dot(w1)   # input from layer 1 \n",
    "    a1 = sigmoid(z1) # output of layer 2 \n",
    "     \n",
    "    # Output layer\n",
    "    z2 = a1.dot(w2)  # input of out layer\n",
    "    a2 = sigmoid(z2) # output of out layer\n",
    "    return(a2)\n",
    "  \n",
    "# initializing the weights randomly\n",
    "def generate_wt(x, y):\n",
    "    l =[]\n",
    "    for i in range(x * y):\n",
    "        l.append(np.random.randn())\n",
    "    return(np.array(l).reshape(x, y))\n",
    "     \n",
    "# for loss we will be using mean square error(MSE)\n",
    "def loss(out, Y):\n",
    "    s =(np.square(out-Y))\n",
    "    s = np.sum(s)/len(y)\n",
    "    return(s)\n",
    "   \n",
    "# Back propagation of error \n",
    "def back_prop(x, y, w1, w2, alpha):\n",
    "     \n",
    "    # hidden layer\n",
    "    z1 = x.dot(w1)   # input from layer 1 \n",
    "    a1 = sigmoid(z1) # output of layer 2 \n",
    "     \n",
    "    # Output layer\n",
    "    z2 = a1.dot(w2)  # input of out layer\n",
    "    a2 = sigmoid(z2) # output of out layer\n",
    "    # error in output layer\n",
    "    d2 =(a2-y)\n",
    "    d1 = np.multiply((w2.dot((d2.transpose()))).transpose(), \n",
    "                                   (np.multiply(a1, 1-a1)))\n",
    " \n",
    "    # Gradient for w1 and w2\n",
    "    w1_adj = x.transpose().dot(d1)\n",
    "    w2_adj = a1.transpose().dot(d2)\n",
    "     \n",
    "    # Updating parameters\n",
    "    w1 = w1-(alpha*(w1_adj))\n",
    "    w2 = w2-(alpha*(w2_adj))\n",
    "     \n",
    "    return(w1, w2)\n",
    "\n",
    "def train(x, Y, w1, w2, alpha = 0.01, epoch = 10):\n",
    "    acc =[]\n",
    "    losss =[]\n",
    "    for j in range(epoch):\n",
    "        l =[]\n",
    "        for i in range(len(x)):\n",
    "            out = f_forward(x[i], w1, w2)\n",
    "            l.append((loss(out, Y[i])))\n",
    "            w1, w2 = back_prop(x[i], y[i], w1, w2, alpha)\n",
    "#        if (j+1) % 5 == 0: print(\"epochs:\", j + 1, \"======== acc:\", (1-(sum(l)/len(x)))*100)   \n",
    "        acc.append((1-(sum(l)/len(x)))*100)\n",
    "        losss.append(sum(l)/len(x))\n",
    "    return(acc, losss, w1, w2)\n",
    "  \n",
    "def predict(x, w1, w2):\n",
    "    Out = f_forward(x, w1, w2)\n",
    "    maxm = 0\n",
    "    k = 0\n",
    "    for i in range(len(Out[0])):\n",
    "        if(maxm<Out[0][i]):\n",
    "            maxm = Out[0][i]\n",
    "            k = i\n",
    "    if(k == 0):\n",
    "        print(\"Image is of letter A.\")\n",
    "    elif(k == 1):\n",
    "        print(\"Image is of letter B.\")\n",
    "    else:\n",
    "        print(\"Image is of letter C.\")\n",
    "    plt.imshow(x.reshape(5, 6), interpolation ='nearest', alpha = 1)\n",
    "    plt.show()    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "4f1ae701-2d7c-4d58-a85e-6d8e3964172e",
   "metadata": {},
   "outputs": [],
   "source": [
    "w1 = generate_wt(30, 5)\n",
    "w2 = generate_wt(5, 3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "31af0ae2-d8f9-43f9-ad45-5d78171f4553",
   "metadata": {},
   "outputs": [],
   "source": [
    "\"\"\"The arguments of train function are data set list x, \n",
    "correct labels y, weights w1, w2, learning rate = 0.1, \n",
    "no of epochs or iteration.The function will return the\n",
    "matrix of accuracy and loss and also the matrix of \n",
    "trained weights w1, w2\"\"\"\n",
    " \n",
    "acc, losss, w1, w2 = train(x, y, w1, w2, 0.1, 100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "6e76484e-aea7-4f07-bffa-ab3195a33e91",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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RjKtGADg3Gp0BqWoqEj9+vXT+PHjdc8992jEiBHq1auX1qxZo/z8fHtlRC3IPFus+VuPaeHdvc2OAgBAtWp0BmXWrFmaOHGiYmJi5Ovrq/fff1+ZmZlq27atPvvsM3tlRC14a/0RXR0VrG4tm5odBQCAatXoDMrvf/97de/eXRMmTJAktW3bVu+//749cqEWncot1KLtJ/TV/VebHQUAgItSo4Ly448/6sYbb/zV506dOqWIiIiLfq38/HxNnz5dfn5+Ki8vV0lJiV599VV5enpKOjeledq0aSoqKtKZM2c0ffp0xcXF1SQu/mvuusO6ISZUnUL9zI4CAMBFqdElnnnz5unAgQNKSEjQiRMnbF8pKSl6/PHHa/TG06dPV2RkpF566SW9+uqrqqys1IsvvljleX9/f7311lt67bXXNGbMGJ05c6ZG7wEpNStfX+45rYcHdTA7CgAAF61GZ1DuueceJScna9asWVW2G4YhFxcXffTRRxf9Whs2bNDAgQNtj2NjY7VixQpJUnp6uubOnavDhw9LkkJCQhQTE6O5c+fqmWeeqUnkBu/tDUc0qlu42gT7mB0FAICLVqMzKA8//LDmz5+vlJQUpaam2r6OHDmiBx54oEZv3LVrV7311lu2FWl37type++9V5K0cuVKeXp6qnXr1rb94+LitGzZshq9R0OXbi3WV3tP60/9I82OAgBAjdToDMqECRNUVlYmX1/fKtszMzNrfIln9uzZ6tu3r8aPH6/77rtPo0aN0tChQyVJCQkJCg6uulZHQECAkpOTf/P1OnfubFt87JFHHtEjjzxSozz10b+3HlX/9s0UFeJb/c4AADiRGhWUxYsXn7fNMAzt379fnp6emjlz5kW/VlhYmBYvXqwPPvhAN954oxYsWGB7zmq1nnfjQU9PTxUWFv7m6yUmJsrPj0GgPztbXKaF35/Q+3f2MDsKAAA1VqOCMnHiRIWHh8vV9f+vDFVWVqqgoECtW7euUUFJTEzUtm3b9Oabb6p79+4aM2aMli9fruuvv16BgYEqKSmpsn9RUZECAgJqErdB+2T7SUU199VVrTlmAIC6p0ZjUN58800dP35cR48etX0dP35cU6dO1SeffFKjN540aZL69etn+/P999+vqVOnSpIiIyNlsViq7J+VlaWOHTvW6D0aqtLySv1r81Hd078d99wBANRJNSoo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p7i8AwCAGSgoF3BugCyXdwAAcDQKygUwQBYAAHNQUH5Ddn6JTluLKSgAAJiAgvIb9v9kVZsgbwbIAgBgAgrKb+DyDgAA5mlkdgBndUuPViooKTc7BgAADRIF5Tc0a+KpZk08zY4BAECDxCUeAADgdEwvKFarVXPnztVHH32k9evX27Y///zzcnFxsX3t2LHDxJQAAMCRTL3Ec+TIET399NN64403FBQUZNteXFys3bt3a86cOZIkHx8f9ejRw6yYAADAwUwrKLm5uRo/fryWLFlSpZxI0vz583X//fdr0KBBJqUDAABmMu0Sz7PPPqt27drppZdeUu/evTVt2jSVl5ersrJSs2fP1qhRozR27FglJSWZFREAAJjElIJSWFio9957T1dccYXmzJmj+fPn6+2339b06dNVVFSkmTNn6rHHHtOOHTt05ZVXat26ddW+ZufOnRUREaGIiAjNnj3bAX8LAABgLy6GYRiOftP169dr4MCBysjIUEhIiCRp0qRJWrhwofLz8+Xqeq43FRYWauTIkUpOTlZqaqrc3NzOe628vDz5+/vLarXKz48b+wEAUBdU9/ltyhmU9PR0SecGv/5swIABKioq0k8//WTb5u3trQULFigzM1PJyckOzwkAAMxhSkFp0qSJpHMDZX/285mUgICAKvuGhoYqOjpaJSUljgsIAABMZUpB6dOnj9zd3bV9+3bbtpycHHXv3l2+vr5V9q2oqJCHh4diY2MdHRMAAJjElIISFBSkKVOm6O2337Zt++KLL/TUU09p7dq1mjFjhgoKClReXq4nnnhCL7744q+OPwEAAPWTadOMX3rpJcXGxuree+/VtGnT1L9/f40dO1aS9O6776pNmzYaPXq0xo0bp+uuu86UjMwGchyOteNwrB2HY+04HGvHcsTxNmUWT22y5yyeiIgInTp1qlZfE7+OY+04HGvH4Vg7DsfasWrjeDvlLB4AAIALMfVePLXh5xNAeXl5dnlte7wuzsexdhyOteNwrB2HY+1YtXG8f/7+37qQU+cv8Zw6dUotW7Y0OwYAALgEJ0+eVERExHnb63xBqays1OnTp9WkSRO5uLiYHQcAAFwEwzB09uxZhYeH21aQ/191vqAAAID6h0GyAADA6VBQAACA06GgAAAAp1Pnpxnby0svvaTU1FQVFhZq4sSJGjhwoNmR6oXjx4/rT3/6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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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LyAoKAj9+vVDVVUV/vSnP8HLywtAZ/fGggUL4OnpidraWixatAjR0dECV21fPv/8cyxatAhisRivv/66MbBc6+9427Zt+Oc//wmZTAY/Pz+89NJLN1UHwwwRERHZNXYzERERkV1jmCEiIiK7xjBDREREdo1hhoiIiOwawwwRERHZNYYZIiIismsMM0RERGTXGGaIiIjIrjHMEJHD27JlC8aOHYuPP/5Y6FKIyAIYZojIKvbt24f77rsPIpEI9957L+bMmYM5c+bggQcegEwmw+7duy323QMHDsThw4fBBc+JHJOz0AUQUe8wevRoNDU14auvvsLy5csxZMgQ43sHDx5EU1OTxb47NjYWcrncYucnImExzBCR1bi4uFy2/bbbboNWq7Xod4vFfBBN5Kj4TzcRCerixYv4/PPP0djYiJdffhm33norDh8+jCFDhsDf3x9vvfWW8ViDwYC//vWveOGFF5CamoqHHnoIGo3G+L5KpcK8efPwzDPPYMSIEdi0aVO373vppZfg4eGBSZMmoaWlBUDn7soLFizAiy++iMjISDz22GPG42+99VasXr3acjeAiG4awwwRWd0f/vAHzJkzB7NmzUJERASam5shFouh1Wpx7tw5bN++HV9++SUmTpyIjIwMHDp0CADw2muvob6+Hm+++Says7NRWVmJhx56yHje3/72t3jkkUfwzjvvYMaMGXjggQe6PPHZtGkTpk2bhtzcXOzbtw/Z2dkAgNWrV2PChAlYtmwZvvvuO/Tp08f4mZCQEMhkMivdGSK6EexmIiKrMx0zk5ubi6KiIvj6+iI2NhbOzs744x//CJFIhDVr1mDz5s34+OOPkZCQgDfeeANff/01AEAkEuHZZ59FWloalEolamtr8fPPP+PWW28FADz88MOQSCRwd3c3fu+9996L4cOHAwBiYmJQXFwMAKipqcE777yDkSNHIigoCDNnzjR+ZuPGjVa5J0R04/hkhogENWrUKEilUgCdAcXFxQUikQgA4O3tjfj4eJw9exanTp1CXV0dPD09jZ+Nj48HABw7dgzHjx/v8gRFLpfjmWeeMZ7r0vkvcXd3h06nAwA8/vjj+OmnnxAeHo6//e1vxsBDRPaBYYaIBHf33Xdf8T1fX98uA4dramqM/93Pzw9A58BivV6Ps2fPdpt+3djYeMVzXzp26NChOHnyJFJTU5GZmdnlyQwR2T6GGSKyCevXr4der4der+/SXlVVhREjRiAiIgIeHh7Ys2eP8b26ujqIxWKMGTMGQ4YMQU1NDXJycozv79y5EyqV6prfvXXrVgQEBOCf//wnsrKysHHjRqjVavNdHBFZFMMMEVlNW1tbl/97ydmzZ7F3716IxWJUV1cbg0RJSQlKS0vx6KOPwt3dHQsWLEBWVhbq6+sBAF9//TUeffRR+Pv7Y+LEiYiOjsajjz6K999/H2+99Rb+/e9/Y+DAgQCAjo6ObkGpo6MDAPDNN98gLy8PAHDffffBx8fH2PV177334l//+peF7ggRmQMHABORVezduxcrVqwAAKSnpxsHAGu1Wnz77bdYs2YNWltb4eHhgaVLl8Lb2xtKpRJff/21ccG7JUuWQKvVYsKECUhKSoK7uzvWrFkDoHMdmU2bNmHOnDlYuHAhpk6dig8++AAAsHbtWlRWVuLzzz/H8OHDUVhYiGPHjqG+vh6//e1v0dbWhuTkZDz44INobW3Fl19+aVyX5vz586iqqrL27SKiHhAZuL43EdmIf/zjH1i6dClKS0uFLoWI7Ai7mYiIiMiuMcwQkc3o6OhAe3u70GUQkZ1hmCEim3Do0CF8+umnqKysxKpVq4yDc4mIroVjZoiIiMiu8ckMERER2TWGGSIiIrJrDDNERERk1xhmiIiIyK4xzBAREZFdY5ghIiIiu/b/sPD66tfwOesAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plotting accuracy\n",
    "plt.plot(acc)\n",
    "plt.ylabel('Accuracy')\n",
    "plt.xlabel(\"Epochs:\")\n",
    "plt.show()\n",
    " \n",
    "# plotting Loss\n",
    "plt.plot(losss)\n",
    "plt.ylabel('Loss')\n",
    "plt.xlabel(\"Epochs:\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "f9ff7e25-36be-437e-9bac-4f3450e83430",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Image is of letter B.\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAegAAAGkCAYAAAD6yrYbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAAxOAAAMTgF/d4wjAAASRElEQVR4nO3df2jchf3H8felSVNkgUbElZKKrhmOrtMI9g8HW6vbrKX5Y7qhgtvsOgPToF0ZXYs/Zrui+YL2+90fWgqWMEGoXWlwJYkyYXVR2UActY5uIOuslkxNJLO1MWls8/3DLLarrpcu570v93jAQfLZcbz4oD73ucvdFcbHx8cDAEilptwDAIAzCTQAJCTQAJCQQANAQgINAAkJNAAkVDudD3by5Mno7++PhoaGKBQK0/nQADCjjI+Px9GjR2P+/PlRU3Pm9fK0Brq/vz8WLFgwnQ8JADPam2++GU1NTWccn9ZANzQ0TPy0NiLqp/OhZ7QN8T/lngDwX/uf2FDuCRVmNCL+75R2nm5aA/3x09r1IdDFc6aAmcF/zc7Fp70k7I/EACAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEaqdy546Ojjh48GAMDw/Hj370o7jmmmtKtQsAqlrRgX7kkUfitddei87OzhgZGYmWlpbo6emJhQsXlnIfAFSlop7iPn78eGzcuDFuvfXWiIiYM2dOLF++PB544IGSjgOAalVUoF988cV49913Y/HixZPHLr/88uju7i7ZMACoZkUF+sCBA1FTUxONjY2TxxobG2NgYCCGhoZKNg4AqlVRr0G/9957MXfu3Kip+bjn9fX1ERExPDx8Wrg/8ugpP181cQMAilVUoM8///wYHR097dgHH3wQEfEJcY6IaI+I+v92GwBUraKe4l64cGEcO3YsRkZGJo8NDAxEU1NTnHfeeSUbBwDVqqhAL1u2LC644IJ46aWXJo8dOHAgVq5cWbJhAFDNigp0XV1drF27Nrq6uiIi4tixY/Hss8/Ghg0bSjoOAKpV0R/1uX79+qitrY01a9ZEe3t7bN++PS6++OISTgOA6lX0J4nNmjUrHnrooVJuAQAm+LIMAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABKqLfcAmKpNcX+5J1AF7o9N5Z5AlXMFDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCUwr04OBgrFu3Lu64445S7QEAYgqBHhsbixdeeCF+85vfxPDwcCk3AUDVKzrQdXV18e1vfzuWLFlSyj0AQJzDa9B1dXWl2AEAnMIfiQFAQrWledhHT/n5qokbAFCsEgW6PSLqS/PQAFAFPMUNAAkJNAAkNOWnuE+cOBGFQqEUWwCACVO6gt65c2f09fXF888/H7t27SrVJgCoelO6gr7pppvipptuKtUWAGCC16ABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASqi33AJiq+2NTuScAlJwraABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASKioQB86dCiWL18eDQ0NccUVV8TevXtLvQsAqtpZAz0+Ph5tbW3xzW9+M7Zu3Rrj4+PR2toaf/vb3z6LfQBQlc4a6D//+c+xfv36WLduXXz/+9+P3/72t1EoFKK7u/uz2AcAVan2bHe49NJL4ytf+crk7xdeeGEsWrQo6uvrSzoMAKrZWa+gZ8+efcaxoaGhaG1tLckgAKCIK+h/19fXFzfccEM0NTX9h3s9esrPV03cAIBiTSnQY2NjsWPHjvjlL395lnu2R4SnwAHgXE3pfdBbtmyJu+++2+vPAFBiRQd6+/btcd1118WCBQsiImJ0dDROnDhRsmEAUM2KCvTWrVvj4MGD8dZbb8UzzzwTXV1dcdttt0WhUCj1PgCoSmd9DbqzszPa29sjIqKjo2Py+J133hk1NT4pFABK4ayBXr16daxevfqz2AIATHAJDAAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkFBtuQfAVG2K+8s9gSpwf2wq9wSqnCtoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABIqOhADwwMRGtrazQ0NMSVV14Zr7zySil3AUBVKzrQDz74YNx1112xZ8+eGB4eju9973ul3AUAVa22mDuNjIzET3/602hqaoqIiE2bNkVbW1tJhwFANSvqCnrOnDmTcY6IGBsbi9tvv71kowCg2hV1BX2qw4cPxxNPPBG//vWv/8O9Hj3l56smbgBAsaYU6H379sW9994bTz/9dFx99dXxwgsvRH19/Sfcsz0iPuk4AFCMKb3NqqWlJbq7u6Orqytefvnl2L17d6l2AUBVO6f3QV9//fWxdOnS6O/vn+49AED8Fx9UMnfu3LjsssumcwsAMKGoQB85ciQef/zxOHLkSERE7N+/P44fPx7XXnttSccBQLUqKtBvv/12bNy4MZqbm+PGG2+MHTt2xJNPPlnqbQBQtYr6K+4vfvGL8fe//73UWwCACb4sAwASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGB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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\"\n",
    "The predict function will take the following arguments:\n",
    "1) image matrix\n",
    "2) w1 trained weights\n",
    "3) w2 trained weights\n",
    "\"\"\"\n",
    "predict(x[1], w1, w2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "0c7febc7-d9e6-4d57-8350-6743631d3bb5",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Image is of letter C.\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAegAAAGkCAYAAAD6yrYbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAAxOAAAMTgF/d4wjAAASRklEQVR4nO3df2jchf3H8felSVNkgUbElZKKrhmOrtMI9g8HW6vbrKX5Y7qhgtvsOgPToF0ZXYs/Zrui+YL2+90fWgqWMEGoXWlwJYkyYXVR2UActY5uIOuslkxNJLO1MWls8/3DLLWrrpcu570v93jAweXjcbw4Up5+7nJ3hfHx8fEAAFKpKfcAAOBMAg0ACQk0ACQk0ACQkEADQEICDQAJ1U7nnZ08eTL6+/ujoaEhCoXCdN41AMwo4+PjcfTo0Zg/f37U1Jx5vjytge7v748FCxZM510CwIz25ptvRlNT0xnHpzXQDQ0NE9fWRkT9dN41TNoQ/1PuCVSB/4kN5Z7AjDcaEf/3sXaebloDfepp7foQaErFbxafDb9pfDY+7SVhfyQGAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACRUO5Ubd3R0xMGDB2N4eDh+9KMfxTXXXFOqXQBQ1YoO9COPPBKvvfZadHZ2xsjISLS0tERPT08sXLiwlPsAoCoV9RT38ePHY+PGjXHrrbdGRMScOXNi+fLl8cADD5R0HABUq6IC/eKLL8a7774bixcvnjx2+eWXR3d3d8mGAUA1KyrQBw4ciJqammhsbJw81tjYGAMDAzE0NFSycQBQrYp6Dfq9996LuXPnRk3NqZ7X19dHRMTw8PBp4f7Iox+7ftXEBQAoVlGBPv/882N0dPS0Yx988EFExCfEOSKiPSLq/9ttAFC1inqKe+HChXHs2LEYGRmZPDYwMBBNTU1x3nnnlWwcAFSrogK9bNmyuOCCC+Kll16aPHbgwIFYuXJlyYYBQDUrKtB1dXWxdu3a6OrqioiIY8eOxbPPPhsbNmwo6TgAqFZFf9Tn+vXro7a2NtasWRPt7e2xffv2uPjii0s4DQCqV9GfJDZr1qx46KGHSrkFAJjgyzIAICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASKi23AOIuD82lXtCRdkU95d7AlXAv8up829zejmDBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASChKQV6cHAw1q1bF3fccUep9gAAMYVAj42NxQsvvBC/+c1vYnh4uJSbAKDqFR3ourq6+Pa3vx1Lliwp5R4AIM7hNei6urpS7AAAPsYfiQFAQrWludtHP3b9qokLAFCsEgW6PSLqS3PXAFAFPMUNAAkJNAAkNOWnuE+cOBGFQqEUWwCACVM6g965c2f09fXF888/H7t27SrVJgCoelM6g77pppvipptuKtUWAGCC16ABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASqi33AJiq+2NTuScAlJwzaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASKioQB86dCiWL18eDQ0NccUVV8TevXtLvQsAqtpZAz0+Ph5tbW3xzW9+M7Zu3Rrj4+PR2toaf/vb3z6LfQBQlc4a6D//+c+xfv36WLduXXz/+9+P3/72t1EoFKK7u/uz2AcAVan2bDe49NJL4ytf+crkzxdeeGEsWrQo6uvrSzoMAKrZWc+gZ8+efcaxoaGhaG1tLckgAKCIM+h/19fXFzfccEM0NTX9h1s9+rHrV01cAIBiTSnQY2NjsWPHjvjlL395llu2R4SnwAHgXE3pfdBbtmyJu+++2+vPAFBiRQd6+/btcd1118WCBQsiImJ0dDROnDhRsmEAUM2KCvTWrVvj4MGD8dZbb8UzzzwTXV1dcdttt0WhUCj1PgCoSmd9DbqzszPa29sjIqKjo2Py+J133hk1NT4pFABK4ayBXr16daxevfqz2AIATHAKDAAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkFBtuQfAVG2K+8s9gSpwf2wq9wSqnDNoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABIqOhADwwMRGtrazQ0NMSVV14Zr7zySil3AUBVKzrQDz74YNx1112xZ8+eGB4eju9973ul3AUAVa22mBuNjIzET3/602hqaoqIiE2bNkVbW1tJhwFANSvqDHrOnDmTcY6IGBsbi9tvv71kowCg2hV1Bv1xhw8fjieeeCJ+/etf/4dbPfqx61dNXACAYk0p0Pv27Yt77703nn766bj66qvjhRdeiPr6+k+4ZXtEfNJxAKAYU3qbVUtLS3R3d0dXV1e8/PLLsXv37lLtAoCqdk7vg77++utj6dKl0d/fP917AID4Lz6oZO7cuXHZZZdN5xYAYEJRgT5y5Eg8/vjjceTIkYiI2L9/fxw/fjyuvfbako4DgGpVVKDffvvt2LhxYzQ3N8eNN94YO3bsiCeffLLU2wCgahX1V9xf/OIX4+9//3uptwAAE3xZBgAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJCTQAJCTQAJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQ05UD39vbGJZdcUootAMCEKQV6aGgo7rrrrhgfHy/VHgAgphjoe++9N37wgx+UagsAMKG22Bs+9dRTsWTJklJuAQAmFHUGPTg4GD09PbFq1aoi7/bRiPjficsfznEaAFSvos6g77vvvti8efMU7rY9IurPbREAcPYz6J07d8ayZcti3rx5n8UeACCKOIPetm1bPPfcc3HzzTefdrxQKMTevXtj2bJlpdoGAFXrrIF+7LHH4v3335/8ec+ePbFt27bo7e2N5ubmko4DgGp11kD/e4T37dsXs2fPjpaWllJtAoCq56M+ASChKQd61apV8frrr5dgCgDwL86gASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABISaABISKABICGBBoCEBBoAEhJoAEhIoAEgIYEGgIQEGgASEmgASEigASAhgQaAhAQaABKqskD/odwDKopH61x41KbOYzZVHrFzUXmPmkDzqTxa58KjNnUes6nyiJ2LynvUqizQAFAZaqfzzsbHxyeujU7n3U6zfNvyLTol57acq07Jvi+jfI9ZvkWny7kv56pTsu37aM+pdp6uMP5p/+UcHD58OBYsWDBddwcAM96bb74ZTU1NZxyf1kCfPHky+vv7o6GhIQqFwnTdLQDMOOPj43H06NGYP39+1NSc+YrztAYaAJge/kgMABISaABIqCoC3dHREW1tbXHLLbfE7373u3LPqQiDg4Oxbt26uOOOO8o9pSIcOnQoli9fHg0NDXHFFVfE3r17yz0pvYGBgWhtbY2Ghoa48sor45VXXin3pIrR29sbl1xySblnVIS+vr4oFAqTl4ceeqjck4o241+DfuSRR+JPf/pTdHZ2xsjISLS0tERPT08sXLiw3NPSGhsbi56envjZz34WX/3qV+NXv/pVuSelNj4+HsuXL49vfetbMW/evNiyZUu89tprsX//fr9n/8HatWtjxYoVUVdXF+3t7TFr1qx49dVXyz0rvaGhoViyZEl8+OGH8frrr5d7TnqrV6+Oyy67bPLnW2+9NRobG8u4qHgzOtDHjx+P+fPnx+7du2Pp0qUREbFmzZo4evRodHZ2lnldfrfcckvU1dUJ9Fm8+uqr8c4778Q3vvGNiIh455134gtf+EI88MADsWbNmjKvy2lkZCQGBwcn31qya9euaGtri3/+85/lHVYB2tvb4/Of/3x0dnYK9Fn85S9/iR07dsQvfvGLck85JzP6Ke4XX3wx3n333Vi8ePHkscsvvzy6u7vLuKpy1NXVlXtCRbj00ksn4xwRceGFF8aiRYuivr6+jKtymzNnzmnv+xwbG4vbb7+9jIsqw1NPPRVLliyJiy66qNxTKsLDDz8cDz74YHz961+P3t7ecs+Zshkd6AMHDkRNTc1pT2c0NjbGwMBADA0NlXEZM8ns2bPPODY0NBStra1lWFN5Dh8+HE888UTcc8895Z6S2uDgYPT09MSqVavKPaVifPe7342HH344RkdHY+XKldHR0VHuSVMyowP93nvvxdy5c097A/i/zmqGh4fLNYsZrq+vL2644YZP/GQgTrdv37748Y9/HE8//XRcffXVMTqa7aMY87jvvvti8+bN5Z5RUVasWBE/+clP4o9//GPcc8898fOf/zz++te/lntW0WZ0oM8///wz/sF/8MEHEREV80cCVJaxsbGKfs3rs9bS0hLd3d3R1dUVL7/8cuzevbvck1LauXNnLFu2LObNm1fuKRWpUCjE5s2bY/HixRX1DosZHeiFCxfGsWPHYmRkZPLYwMBANDU1xXnnnVfGZcxUW7Zsibvvvtvrz1N0/fXXx9KlS6O/v7/cU1Latm1b3HzzzZNvFfrhD38Yhw4dikKhEM8991y551WEQqEQ11xzTUU9SzOt32aVzbJly+KCCy6Il156Kb72ta9FxEevS69cubLMy5iJtm/fHtddd93kF8aMjo5GbW1tzJo1q8zLKsPcuXNPezsMpzz22GPx/vvvT/68Z8+e2LZtW/T29kZzc3MZl1WWf/zjH9HW1lbuGUWb0WfQdXV1sXbt2ujq6oqIiGPHjsWzzz4bGzZsKPOyynDixIk4efJkuWdUhK1bt8bBgwfjrbfeimeeeSa6urritttu86Uxn+LIkSPx+OOPx5EjRyIiYv/+/XH8+PG49tpry7wsp+bm5mhpaZm8XHTRRTF79uxoaWmJz33uc+Wel9Ibb7wRd955Z7zxxhsR8dHLBF/+8pfjS1/6UpmXFW9GBzoiYv369VFbWxtr1qyJ9vb22L59e1x88cXlnpXezp07o6+vL55//vnYtWtXueek1tnZGe3t7dHR0RErVqyIFStWxHe+851obGz8xG+oIeLtt9+OjRs3RnNzc9x4442xY8eOePLJJ8s9ixmktrY2fv/738eiRYti6dKl8eGHH1bcOwVm9AeVAECl8r/3AJCQQANAQgINAAkJNAAkJNAAkJBAA0BCAg0ACQk0ACQk0ACQkEADQEICDQAJ/T9QYFoFh8Pz8gAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "t =[0, 0, 1, 1, 0, 0,\n",
    "   0, 1, 0, 0, 1, 0,\n",
    "   0, 1, 1, 1, 1, 0,\n",
    "   0, 1, 0, 0, 1, 0,\n",
    "   0, 1, 0, 0, 1, 0]\n",
    "t =np.array(t).reshape(1, 30)\n",
    "predict(t, w1, w2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a1e788d1-1777-48c9-8bd1-4a0ab5fa0e5a",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
