[404218]: / Code / PennyLane / Quanvolutional Neural Networks / 8 Qubit 85.0% kkawchak.ipynb

Download this file

576 lines (575 with data), 140.2 kB

{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Time in seconds since beginning of run: 1682914005.660751\n",
      "Sun Apr 30 21:06:45 2023\n"
     ]
    }
   ],
   "source": [
    "import time\n",
    "seconds = time.time()\n",
    "print(\"Time in seconds since beginning of run:\", seconds)\n",
    "local_time = time.ctime(seconds)\n",
    "print(local_time)\n",
    "# Quanvolutional Neural Networks by Author: Andrea Mari \n",
    "# https://pennylane.ai/qml/demos/tutorial_quanvolution.html\n",
    "# This cell is added by sphinx-gallery\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "import pennylane as qml\n",
    "from pennylane import numpy as np\n",
    "from pennylane.templates import RandomLayers\n",
    "import tensorflow as tf\n",
    "from tensorflow import keras\n",
    "import matplotlib.pyplot as plt\n",
    "# tensorrt not used"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "n_epochs = 30   # Number of optimization epochs\n",
    "n_layers = 1    # Number of random layers\n",
    "n_train = 600    ## Size of the train dataset\n",
    "n_test = 100     # Size of the test dataset\n",
    "\n",
    "SAVE_PATH = \"imageqnn/\" # Data saving folder\n",
    "PREPROCESS = True           # If False, skip quantum processing and load data from SAVE_PATH\n",
    "np.random.seed(0)           # Seed for NumPy random number generator\n",
    "tf.random.set_seed(0)       # Seed for TensorFlow random number generator"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "mnist_dataset = keras.datasets.mnist\n",
    "(train_images, train_labels), (test_images, test_labels) = mnist_dataset.load_data()\n",
    "\n",
    "# Reduce dataset size\n",
    "train_images = train_images[:n_train]\n",
    "train_labels = train_labels[:n_train]\n",
    "test_images = test_images[:n_test]\n",
    "test_labels = test_labels[:n_test]\n",
    "\n",
    "# Normalize pixel values within 0 and 1\n",
    "train_images = train_images / 255\n",
    "test_images = test_images / 255\n",
    "\n",
    "# Add extra dimension for convolution channels\n",
    "train_images = np.array(train_images[..., tf.newaxis], requires_grad=False)\n",
    "test_images = np.array(test_images[..., tf.newaxis], requires_grad=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "dev = qml.device(\"default.qubit\", wires=8) ##\n",
    "# Random circuit parameters\n",
    "rand_params = np.random.uniform(high=2 * np.pi, size=(n_layers, 4))\n",
    "\n",
    "@qml.qnode(dev, interface=\"autograd\")\n",
    "def circuit(phi):\n",
    "    # Encoding of 4 classical input values\n",
    "    for j in range(4):\n",
    "        qml.RY(np.pi * phi[j-2], wires=j) ##\n",
    "\n",
    "    # Random quantum circuit\n",
    "    RandomLayers(rand_params, wires=list(range(8))) ##\n",
    "\n",
    "    # Measurement producing 4 classical output values\n",
    "    return [qml.expval(qml.PauliZ(j)) for j in range(8)] ##"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "def quanv(image):\n",
    "    \"\"\"Convolves the input image with many applications of the same quantum circuit.\"\"\"\n",
    "    out = np.zeros((14, 14, 4))\n",
    "\n",
    "    # Loop over the coordinates of the top-left pixel of 2X2 squares\n",
    "    for j in range(0, 28, 2):\n",
    "        for k in range(0, 28, 2):\n",
    "            # Process a squared 2x2 region of the image with a quantum circuit\n",
    "            q_results = circuit(\n",
    "                [\n",
    "                    image[j, k, 0],\n",
    "                    image[j, k + 1, 0],\n",
    "                    image[j + 1, k, 0],\n",
    "                    image[j + 1, k + 1, 0]\n",
    "                ]\n",
    "            )\n",
    "            # Assign expectation values to different channels of the output pixel (j/2, k/2)\n",
    "            for c in range(4):\n",
    "                out[j // 2, k // 2, c] = q_results[c]\n",
    "    return out"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Quantum pre-processing of train images:\n",
      "600/600        \n",
      "Quantum pre-processing of test images:\n",
      "100/100        \r"
     ]
    }
   ],
   "source": [
    "if PREPROCESS == True:\n",
    "    q_train_images = []\n",
    "    print(\"Quantum pre-processing of train images:\")\n",
    "    for idx, img in enumerate(train_images):\n",
    "        print(\"{}/{}        \".format(idx + 1, n_train), end=\"\\r\")\n",
    "        q_train_images.append(quanv(img))\n",
    "    q_train_images = np.asarray(q_train_images)\n",
    "\n",
    "    q_test_images = []\n",
    "    print(\"\\nQuantum pre-processing of test images:\")\n",
    "    for idx, img in enumerate(test_images):\n",
    "        print(\"{}/{}        \".format(idx + 1, n_test), end=\"\\r\")\n",
    "        q_test_images.append(quanv(img))\n",
    "    q_test_images = np.asarray(q_test_images)\n",
    "\n",
    "    # Save pre-processed images\n",
    "    np.save(SAVE_PATH + \"q_train_images.npy\", q_train_images)\n",
    "    np.save(SAVE_PATH + \"q_test_images.npy\", q_test_images)\n",
    "\n",
    "\n",
    "# Load pre-processed images\n",
    "q_train_images = np.load(SAVE_PATH + \"q_train_images.npy\")\n",
    "q_test_images = np.load(SAVE_PATH + \"q_test_images.npy\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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RUWFJCk9Pb1Jbnp6euNjPzRnzhylpaU13rKzs2NbOAAAAACgReJmMC0sLNRHH32kZ555JuyxH35HwrKsiN+bkKRp06apurq68VZWVhaTegEAAAAA7jD6HdNj/uM//kOrV6/W22+/3eQEHcdOJlJRUaFu3bo1xvfu3Ru2F/WYYDCoYDAY24JbQXPb98///M9hscWLF0fM7du3r6s1fd/7778fFrv//vsj5r744osR4w0NDa7WBJiUlJQUMT5p0qSw2FVXXRUxt7mvHvTu3Tv6wv7/In394c0334yY+/vf/77FPw+AeZFO1ubGSWEAEwYNGhQxfvHFF4fFmvs/Zl1dXcT4ww8/HBb7+9//br84uMLo306WZamwsFAvvPCC3njjDfXo0aPJ4z169FBGRobWrFnTGKurq9O6deuUl5fX2uUCAAAAAGLA6B7TyZMn6+mnn9aLL76olJSUxu+NpqWlqUOHDgoEAioqKtLs2bPVu3dv9e7dW7Nnz1bHjh113XXXmSwdAAAAAOASo4PpI488IkkaMWJEk/jSpUt1ww03SJLuuOMOffvtt5o0aZIOHDigoUOH6vXXX+capgAAAADgEUYH0+YuVP99gUBAxcXFKi4ujn1BAAAAAIBWxzfgAQAAAABGxcVZef2iU6dOYbHHHnssYm5zZx7r2bOnmyU1inTGTkmaP39+xPhrr70WFvv2229drQkw7d133w2LbdiwIWLuOeecY3vdY2cc/6HmzsYdyf79+yPGn3322YjxW2+91fbaALxr2LBhEePLli1r3UIAh0466aSI8eb+TY1k9+7dEeO33357NCXBZewxBQAAAAAYxWAKAAAAADCKwRQAAAAAYBSDKQAAAADAKAZTAAAAAIBRnJW3hYYOHRoWmzp1asTcIUOGhMVOPfVU12s65ptvvokYX7RoUVhs9uzZEXMPHTrkak1AItm1a1dYbMyYMRFzb7755ojxu+66q8V1/OEPfwiLPfLIIxFzP//88xb/PADeEAgETJcAALaxxxQAAAAAYBSDKQAAAADAKAZTAAAAAIBRDKYAAAAAAKM4+VELXXnllbZiTm3bti1i/H//93/DYkePHo2YO3/+/IjxqqqqqOsC/K68vDxivLi42FEcANzyyiuvRIz/67/+aytXAsTOp59+GjG+fv36sNj5558f63IQA+wxBQAAAAAYxWAKAAAA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OC0n7tkeTK+88kpdeeWVzT5+7bXXNg6oAAAAAADY5eg6pgAAAAAAuI3BFAAAAABgFIMpAAAAAMAoBlMAAAAAgFEMpgAAAAAAo1wbTF988UUtX77creUAAAAAAD7h2mB655136sYbb3RrOQAAAACAT9i+junxfPrpp24tBQAAAADwEb5jCgAAAAAwKqo9plVVVfrggw+0d+9eNTQ0NHls3LhxrhTmd7W1tTFbOxAI2M796quvYlYH4FdJSUkxW/uHfyf/mAceeMDR2j/72c+clmPL3//+d9u56enpMakB8evQoUOmSwCAqPTr189Rft++fW3ndujQwWk5cc/xYPrSSy/p+uuv16FDh5SSktJkyAkEAgymAAAAAABHHB/K+5vf/EY33XSTamtrVVVVpQMHDjTevv76a1eLKy4uViAQaHLLyMhw9WcAAAAAAMxyvMd09+7duuWWW9SxY8dY1BOmX79++vOf/9x4P5aHwAEAAAAAWp/jwfSSSy7Rxo0b1bNnz1jUE6Zt27bsJQUAAAAAD7M1mK5evbrxzz/96U81depUbdu2TQMGDFC7du2a5F5xxRWuFrhjxw5lZmYqGAxq6NChmj179o8OxaFQSKFQqPF+TU2Nq/UAAAAAANxlazAdPXp0WKykpCQsFggEVF9f3+Kijhk6dKiWL1+uPn366O9//7vuuece5eXlaevWrTrllFMiPmfOnDmaNWuWazUAAAAAAGLL1smPGhoabN3cHEolqaCgQFdddZUGDBigiy++WH/6058kSU8++WSzz5k2bZqqq6sbb2VlZa7WBAAAAABwV1TXMTXlhBNO0IABA7Rjx45mc4LBoILBYCtWBQAAAABoCceXi7nlllu0aNGisPjixYtVVFTkRk3NCoVC2r59u7p16xbTnwMAAAAAaD2OB9Pnn39e5513Xlg8Ly9Pzz33nCtFHXP77bdr3bp1Ki0t1fvvv6+f//znqqmp0fjx4139OQAAAAAAcxwfyrt//36lpaWFxVNTU1VZWelKUcfs2rVL1157rSorK9WlSxede+65eu+995STk+PqzwEAAAAAmON4MO3Vq5deffVVFRYWNom/8sorrl/b9Nlnn3V1PXynT58+tnM/+eQT27n9+/ePphzAE84555yYrX306FHbuYFAwHbu1KlToynHdeeee67t3NLS0hhWAnjLv/zLv9jOTU1NjWElgHdkZGTEbO3t27fHbO1E4HgwnTJligoLC7Vv3z6NHDlSkrR27VrNnz9fCxcudLs+AAAAAIDHOR5Mb7rpJoVCId177726++67JUm5ubl65JFHNG7cONcLBAAAAAB4W1SXi5k4caImTpyoffv2qUOHDjrxxBPdrgsAAAAA4BMtuo5ply5d3KoDAAAAAOBTti4Xc9ZZZ+nAgQO2Fz3//PO1e/fuqIsCAAAAAPiHrT2mW7Zs0YcffqhOnTrZWnTLli0KhUItKgwAAAAA4A+2D+W96KKLZFmWrVwnlysAAAAAAPibrcE0muvGZWVlOX4OAAAAAMB/bA2mOTk5sa4DAAAAAOBTtk5+BAAAAABArLTocjFITJ999pnt3KSkJNu5DQ0NjupwcoKs5ORkR2sDrW3jxo22c+1+Xx9AfNi7d6+j/BkzZtjOfeKJJ2znOvk3WZLq6+tt5zq5+gLgNe+++67t3L///e+2c+vq6qIpx7fYYwoAAAAAMIrBFAAAAABglOPBtGfPntq/f39YvKqqSj179nSlKAAAAACAfzgeTL/88suI31kIhULavXu3K0UBAAAAAPzD9smPVq9e3fjn1157TWlpaY336+vrtXbtWuXm5rpaHAAAAADA+2wPpqNHj5YkBQIBjR8/vslj7dq1U25urubPn+9qcQAAAAAA77M9mB67FEiPHj20YcMGde7cOWZFAQAAAAD8w/F1TEtLS2NRBwAAAADApxwPpiUlJT/6+O9///uoiwEAAAAA+I/jwXTlypVN7h85ckSlpaVq27atTjvtNAZTAAAAAIAjjgfTzZs3h8Vqamp0ww036Morr3SlKMSPSJcGas7//u//Olo7GAzazrUsy9HagBvWrVtnOzc5OTmGlXjb3/72N9MlII45ObHi0KFDY1LDnXfe6Sj/sccei0muU4FAwHbu96+2APhNXl5eTNZt165dTNb1KsfXMY0kNTVVJSUlmjFjhhvLAQAAAAB8xJXBVJKqqqpUXV3t1nIAAAAAAJ9wfCjvokWLmty3LEvl5eV66qmndOmll7pWGAAAAADAHxwPpg8++GCT+23atFGXLl00fvx4TZs2zbXCAAAAAAD+wHVMAQAAAABGteg7pmVlZdq1a5dbtQAAAAAAfMjxYHr06FHNmDFDaWlpys3NVU5OjtLS0nTXXXfpyJEjsagRAAAAAOBhjg/lLSws1MqVKzVv3jwNGzZMkvTuu++quLhYlZWVevTRR10vEgAAAADgXY4H02eeeUbPPvusCgoKGmNnnHGGunfvrmuuuYbBFAAAAADgiONDedu3b6/c3NyweG5urpKTk92oCQAAAADgI44H08mTJ+vuu+9WKBRqjIVCId17770qLCx0tTgAAAAAgPc5PpR38+bNWrt2rbKysjRw4EBJ0ocffqi6ujpddNFFGjNmTGPuCy+84F6lMKKystJ27l133RXDSoD4Nm7cONMlOLZv3z5H+V27drWda1mW03KAiKZMmRKTXADe1a5du5it3dDQELO1/c7xYHrSSSfpqquuahLLzs52rSAAAAAAgL84HkyXLl0aizoAAAAAAD7l+DumI0eOVFVVVVi8pqZGI0eOdKMmAAAAAICPOB5M33rrLdXV1YXFDx8+rHfeeceVogAAAAAA/mH7UN6PPvqo8c/btm1TRUVF4/36+nq9+uqrOvXUU92tDgAAAADgebYH00GDBikQCCgQCEQ8ZLdDhw566KGHXC0OAAAAAOB9tgfT0tJSWZalnj176oMPPlCXLl0aH0tOTlbXrl2VlJQUkyIBAAAAAN5lezDNycmRxLV7AAAAAADucny5mOXLl//o44l4kXkAAAAAgDmOB9Nbb721yf0jR47om2++UXJysjp27MhgCgAAAABwxPFgeuDAgbDYjh07NHHiRE2dOtWVouDMkSNHHOWffPLJtnMPHTrktBzb3n///ZitDbS2P/7xj7ZzZ8+e7WjtrVu32s4tKCiwnRsIBBzVsXPnTkf5AACYcPTo0Zit7fTfTtjn+DqmkfTu3Vtz584N25sKAAAAAMDxuDKYSlJSUpL27Nnj6Dlvv/22Lr/8cmVmZioQCGjVqlVNHrcsS8XFxcrMzFSHDh00YsQIR3sOAAAAAADxz/GhvKtXr25y37IslZeXa/HixTrvvPMcrXXo0CENHDhQN954o6666qqwx+fNm6cFCxZo2bJl6tOnj+655x6NGjVKn332mVJSUpyWDgAAAACIQ44H09GjRze5HwgE1KVLF40cOVLz5893tFZBQUGz34eyLEsLFy7U9OnTNWbMGEnSk08+qfT0dD399NO6+eabIz4vFAopFAo13q+pqXFUEwAAAACgdTk+lLehoaHJrb6+XhUVFXr66afVrVs31worLS1VRUWF8vPzG2PBYFDDhw/X+vXrm33enDlzlJaW1njLzs52rSYAAAAAgPui/o5pZWWl9u/f72YtTVRUVEiS0tPTm8TT09MbH4tk2rRpqq6ubryVlZXFrEYAAAAAQMs5Gkyrqqo0efJkde7cWenp6eratas6d+6swsJCVVVVxaTAH56S2bKsHz1NczAYVGpqapMbAAAAACB+2f6O6ddff61hw4Zp9+7duv7663X66afLsixt375dy5Yt09q1a7V+/XpH18j8MRkZGZK+23P6/UOE9+7dG7YXFQAAAACQuGwPpiUlJUpOTtYXX3wRNhiWlJQoPz9fJSUlevDBB10prEePHsrIyNCaNWt05plnSpLq6uq0bt063Xfffa78DAAAAACAebYP5V21apUeeOCBiHsrMzIyNG/ePK1cudLRDz948KC2bNmiLVu2SPruhEdbtmzRzp07FQgEVFRUpNmzZ2vlypX65JNPdMMNN6hjx4667rrrHP0cAAAAAED8sr3HtLy8XP369Wv28f79+//oSYki2bhxo37yk5803p8yZYokafz48Vq2bJnuuOMOffvtt5o0aZIOHDigoUOH6vXXX0/Ya5jW19fbzj3ppJNs5x48eDCKauz5sTMg/9CwYcNiVgdgwrnnnhuTdbt27RqTdSXpl7/8pe3cJ554ImZ1AADgph07dsRsbcuyYrY27LM9mHbu3FlffvmlsrKyIj5eWlqqU045xdEPHzFixI++EQKBgIqLi1VcXOxoXQAAAABA4rB9KO+ll16q6dOnq66uLuyxUCikGTNm6NJLL3W1OAAAAACA99neYzpr1iydffbZ6t27tyZPnqy+fftKkrZt26YlS5YoFArpqaeeilmhAAAAAABvsj2YZmVl6d1339WkSZM0bdq0xkNwA4GARo0apcWLFys7OztmhQIAAAAAvMn2YCp9dwmXV155RQcOHGj8AnKvXr3UqVOnmBQHAAAAAPA+R4PpMSeffLKGDBnidi0AAAAAAB+yffIjAAAAAABigcEUAAAAAGAUgykAAAAAwCgGUwAAAACAUVGd/Aj/MGXKFNu5Dz74oO3ck08+2Xbub3/7W9u5kjRnzhxH+YBfBYNB27nHLqEFAADcl5uba7oExBh7TAEAAAAARjGYAgAAAACMYjAFAAAAABjFYAoAAAAAMIrBFAAAAABgFIMpAAAAAMAoBlMAAAAAgFEMpgAA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\n",
      "text/plain": [
       "<Figure size 1000x1000 with 20 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_samples = 4\n",
    "n_channels = 4\n",
    "fig, axes = plt.subplots(1 + n_channels, n_samples, figsize=(10, 10))\n",
    "for k in range(n_samples):\n",
    "    axes[0, 0].set_ylabel(\"Input\")\n",
    "    if k != 0:\n",
    "        axes[0, k].yaxis.set_visible(False)\n",
    "    axes[0, k].imshow(train_images[k, :, :, 0], cmap=\"gray\")\n",
    "\n",
    "    # Plot all output channels\n",
    "    for c in range(n_channels):\n",
    "        axes[c + 1, 0].set_ylabel(\"Output [ch. {}]\".format(c))\n",
    "        if k != 0:\n",
    "            axes[c, k].yaxis.set_visible(False)\n",
    "        axes[c + 1, k].imshow(q_train_images[k, :, :, c], cmap=\"gray\")\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "def MyModel():\n",
    "    \"\"\"Initializes and returns a custom Keras model\n",
    "    which is ready to be trained.\"\"\"\n",
    "    model = keras.models.Sequential([\n",
    "        keras.layers.Flatten(),\n",
    "        keras.layers.Dense(10, activation=\"softmax\")\n",
    "    ])\n",
    "\n",
    "    model.compile(\n",
    "        optimizer='adam',\n",
    "        loss=\"sparse_categorical_crossentropy\",\n",
    "        metrics=[\"accuracy\"],\n",
    "    )\n",
    "    return model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/30\n",
      "150/150 - 0s - loss: 1.4438 - accuracy: 0.5567 - val_loss: 0.9497 - val_accuracy: 0.7100 - 427ms/epoch - 3ms/step\n",
      "Epoch 2/30\n",
      "150/150 - 0s - loss: 0.6747 - accuracy: 0.8167 - val_loss: 0.8989 - val_accuracy: 0.7200 - 116ms/epoch - 771us/step\n",
      "Epoch 3/30\n",
      "150/150 - 0s - loss: 0.5239 - accuracy: 0.8417 - val_loss: 0.5978 - val_accuracy: 0.8500 - 101ms/epoch - 675us/step\n",
      "Epoch 4/30\n",
      "150/150 - 0s - loss: 0.4008 - accuracy: 0.8817 - val_loss: 0.6136 - val_accuracy: 0.7900 - 114ms/epoch - 761us/step\n",
      "Epoch 5/30\n",
      "150/150 - 0s - loss: 0.3414 - accuracy: 0.9067 - val_loss: 0.4831 - val_accuracy: 0.8500 - 105ms/epoch - 698us/step\n",
      "Epoch 6/30\n",
      "150/150 - 0s - loss: 0.2752 - accuracy: 0.9367 - val_loss: 0.4663 - val_accuracy: 0.8300 - 99ms/epoch - 657us/step\n",
      "Epoch 7/30\n",
      "150/150 - 0s - loss: 0.2411 - accuracy: 0.9333 - val_loss: 0.4625 - val_accuracy: 0.8400 - 100ms/epoch - 666us/step\n",
      "Epoch 8/30\n",
      "150/150 - 0s - loss: 0.1957 - accuracy: 0.9550 - val_loss: 0.4073 - val_accuracy: 0.8400 - 111ms/epoch - 739us/step\n",
      "Epoch 9/30\n",
      "150/150 - 0s - loss: 0.1697 - accuracy: 0.9650 - val_loss: 0.4519 - val_accuracy: 0.8800 - 101ms/epoch - 673us/step\n",
      "Epoch 10/30\n",
      "150/150 - 0s - loss: 0.1467 - accuracy: 0.9750 - val_loss: 0.4916 - val_accuracy: 0.8100 - 100ms/epoch - 667us/step\n",
      "Epoch 11/30\n",
      "150/150 - 0s - loss: 0.1206 - accuracy: 0.9833 - val_loss: 0.3891 - val_accuracy: 0.8500 - 88ms/epoch - 586us/step\n",
      "Epoch 12/30\n",
      "150/150 - 0s - loss: 0.1154 - accuracy: 0.9767 - val_loss: 0.4190 - val_accuracy: 0.8600 - 100ms/epoch - 667us/step\n",
      "Epoch 13/30\n",
      "150/150 - 0s - loss: 0.1033 - accuracy: 0.9917 - val_loss: 0.3848 - val_accuracy: 0.8700 - 90ms/epoch - 597us/step\n",
      "Epoch 14/30\n",
      "150/150 - 0s - loss: 0.0955 - accuracy: 0.9850 - val_loss: 0.4095 - val_accuracy: 0.8700 - 104ms/epoch - 692us/step\n",
      "Epoch 15/30\n",
      "150/150 - 0s - loss: 0.0818 - accuracy: 0.9917 - val_loss: 0.4450 - val_accuracy: 0.8400 - 96ms/epoch - 643us/step\n",
      "Epoch 16/30\n",
      "150/150 - 0s - loss: 0.0783 - accuracy: 0.9900 - val_loss: 0.4643 - val_accuracy: 0.7900 - 109ms/epoch - 728us/step\n",
      "Epoch 17/30\n",
      "150/150 - 0s - loss: 0.0645 - accuracy: 0.9967 - val_loss: 0.3904 - val_accuracy: 0.8700 - 113ms/epoch - 755us/step\n",
      "Epoch 18/30\n",
      "150/150 - 0s - loss: 0.0625 - accuracy: 0.9950 - val_loss: 0.3657 - val_accuracy: 0.8500 - 120ms/epoch - 799us/step\n",
      "Epoch 19/30\n",
      "150/150 - 0s - loss: 0.0543 - accuracy: 0.9983 - val_loss: 0.3592 - val_accuracy: 0.8500 - 115ms/epoch - 764us/step\n",
      "Epoch 20/30\n",
      "150/150 - 0s - loss: 0.0494 - accuracy: 0.9967 - val_loss: 0.3499 - val_accuracy: 0.8700 - 105ms/epoch - 702us/step\n",
      "Epoch 21/30\n",
      "150/150 - 0s - loss: 0.0411 - accuracy: 1.0000 - val_loss: 0.3670 - val_accuracy: 0.8600 - 104ms/epoch - 697us/step\n",
      "Epoch 22/30\n",
      "150/150 - 0s - loss: 0.0391 - accuracy: 0.9983 - val_loss: 0.3785 - val_accuracy: 0.8700 - 81ms/epoch - 537us/step\n",
      "Epoch 23/30\n",
      "150/150 - 0s - loss: 0.0332 - accuracy: 1.0000 - val_loss: 0.3661 - val_accuracy: 0.9100 - 97ms/epoch - 648us/step\n",
      "Epoch 24/30\n",
      "150/150 - 0s - loss: 0.0324 - accuracy: 1.0000 - val_loss: 0.3601 - val_accuracy: 0.8600 - 137ms/epoch - 912us/step\n",
      "Epoch 25/30\n",
      "150/150 - 0s - loss: 0.0274 - accuracy: 1.0000 - val_loss: 0.3630 - val_accuracy: 0.8500 - 103ms/epoch - 686us/step\n",
      "Epoch 26/30\n",
      "150/150 - 0s - loss: 0.0258 - accuracy: 1.0000 - val_loss: 0.3817 - val_accuracy: 0.8600 - 85ms/epoch - 568us/step\n",
      "Epoch 27/30\n",
      "150/150 - 0s - loss: 0.0257 - accuracy: 1.0000 - val_loss: 0.4181 - val_accuracy: 0.8600 - 88ms/epoch - 584us/step\n",
      "Epoch 28/30\n",
      "150/150 - 0s - loss: 0.0247 - accuracy: 1.0000 - val_loss: 0.3811 - val_accuracy: 0.8500 - 90ms/epoch - 600us/step\n",
      "Epoch 29/30\n",
      "150/150 - 0s - loss: 0.0230 - accuracy: 1.0000 - val_loss: 0.3804 - val_accuracy: 0.8300 - 113ms/epoch - 753us/step\n",
      "Epoch 30/30\n",
      "150/150 - 0s - loss: 0.0193 - accuracy: 1.0000 - val_loss: 0.3854 - val_accuracy: 0.8500 - 98ms/epoch - 656us/step\n"
     ]
    }
   ],
   "source": [
    "q_model = MyModel()\n",
    "\n",
    "q_history = q_model.fit(\n",
    "    q_train_images,\n",
    "    train_labels,\n",
    "    validation_data=(q_test_images, test_labels),\n",
    "    batch_size=4,\n",
    "    epochs=n_epochs,\n",
    "    verbose=2,\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In order to compare the results achievable with and without the quantum\n",
    "convolution layer, we initialize also a \\\"classical\\\" instance of the\n",
    "model that will be directly trained and validated with the raw MNIST\n",
    "images (i.e., without quantum pre-processing).\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/30\n",
      "150/150 - 0s - loss: 1.5891 - accuracy: 0.5850 - val_loss: 1.1266 - val_accuracy: 0.7000 - 340ms/epoch - 2ms/step\n",
      "Epoch 2/30\n",
      "150/150 - 0s - loss: 0.7952 - accuracy: 0.8450 - val_loss: 0.7911 - val_accuracy: 0.7900 - 128ms/epoch - 854us/step\n",
      "Epoch 3/30\n",
      "150/150 - 0s - loss: 0.5685 - accuracy: 0.8800 - val_loss: 0.6618 - val_accuracy: 0.8500 - 89ms/epoch - 593us/step\n",
      "Epoch 4/30\n",
      "150/150 - 0s - loss: 0.4502 - accuracy: 0.9117 - val_loss: 0.5869 - val_accuracy: 0.8500 - 147ms/epoch - 979us/step\n",
      "Epoch 5/30\n",
      "150/150 - 0s - loss: 0.3761 - accuracy: 0.9217 - val_loss: 0.5145 - val_accuracy: 0.8700 - 137ms/epoch - 912us/step\n",
      "Epoch 6/30\n",
      "150/150 - 0s - loss: 0.3265 - accuracy: 0.9300 - val_loss: 0.4860 - val_accuracy: 0.8700 - 140ms/epoch - 932us/step\n",
      "Epoch 7/30\n",
      "150/150 - 0s - loss: 0.2819 - accuracy: 0.9400 - val_loss: 0.4457 - val_accuracy: 0.8600 - 162ms/epoch - 1ms/step\n",
      "Epoch 8/30\n",
      "150/150 - 0s - loss: 0.2516 - accuracy: 0.9483 - val_loss: 0.4262 - val_accuracy: 0.8700 - 176ms/epoch - 1ms/step\n",
      "Epoch 9/30\n",
      "150/150 - 0s - loss: 0.2239 - accuracy: 0.9650 - val_loss: 0.4215 - val_accuracy: 0.8400 - 98ms/epoch - 655us/step\n",
      "Epoch 10/30\n",
      "150/150 - 0s - loss: 0.2008 - accuracy: 0.9650 - val_loss: 0.4056 - val_accuracy: 0.8800 - 145ms/epoch - 966us/step\n",
      "Epoch 11/30\n",
      "150/150 - 0s - loss: 0.1792 - accuracy: 0.9783 - val_loss: 0.3946 - val_accuracy: 0.8500 - 109ms/epoch - 730us/step\n",
      "Epoch 12/30\n",
      "150/150 - 0s - loss: 0.1647 - accuracy: 0.9733 - val_loss: 0.3707 - val_accuracy: 0.9000 - 76ms/epoch - 510us/step\n",
      "Epoch 13/30\n",
      "150/150 - 0s - loss: 0.1475 - accuracy: 0.9783 - val_loss: 0.3720 - val_accuracy: 0.8800 - 86ms/epoch - 575us/step\n",
      "Epoch 14/30\n",
      "150/150 - 0s - loss: 0.1353 - accuracy: 0.9800 - val_loss: 0.3663 - val_accuracy: 0.8800 - 107ms/epoch - 713us/step\n",
      "Epoch 15/30\n",
      "150/150 - 0s - loss: 0.1229 - accuracy: 0.9883 - val_loss: 0.3473 - val_accuracy: 0.8800 - 85ms/epoch - 569us/step\n",
      "Epoch 16/30\n",
      "150/150 - 0s - loss: 0.1114 - accuracy: 0.9883 - val_loss: 0.3597 - val_accuracy: 0.8900 - 101ms/epoch - 673us/step\n",
      "Epoch 17/30\n",
      "150/150 - 0s - loss: 0.1020 - accuracy: 0.9917 - val_loss: 0.3440 - val_accuracy: 0.8800 - 122ms/epoch - 816us/step\n",
      "Epoch 18/30\n",
      "150/150 - 0s - loss: 0.0928 - accuracy: 0.9983 - val_loss: 0.3459 - val_accuracy: 0.8700 - 107ms/epoch - 715us/step\n",
      "Epoch 19/30\n",
      "150/150 - 0s - loss: 0.0855 - accuracy: 0.9983 - val_loss: 0.3390 - val_accuracy: 0.8700 - 93ms/epoch - 619us/step\n",
      "Epoch 20/30\n",
      "150/150 - 0s - loss: 0.0785 - accuracy: 0.9983 - val_loss: 0.3333 - val_accuracy: 0.8900 - 100ms/epoch - 665us/step\n",
      "Epoch 21/30\n",
      "150/150 - 0s - loss: 0.0719 - accuracy: 1.0000 - val_loss: 0.3386 - val_accuracy: 0.8900 - 128ms/epoch - 853us/step\n",
      "Epoch 22/30\n",
      "150/150 - 0s - loss: 0.0671 - accuracy: 1.0000 - val_loss: 0.3302 - val_accuracy: 0.8700 - 116ms/epoch - 776us/step\n",
      "Epoch 23/30\n",
      "150/150 - 0s - loss: 0.0614 - accuracy: 1.0000 - val_loss: 0.3313 - val_accuracy: 0.8900 - 97ms/epoch - 645us/step\n",
      "Epoch 24/30\n",
      "150/150 - 0s - loss: 0.0570 - accuracy: 1.0000 - val_loss: 0.3334 - val_accuracy: 0.8900 - 115ms/epoch - 765us/step\n",
      "Epoch 25/30\n",
      "150/150 - 0s - loss: 0.0526 - accuracy: 1.0000 - val_loss: 0.3383 - val_accuracy: 0.8900 - 101ms/epoch - 676us/step\n",
      "Epoch 26/30\n",
      "150/150 - 0s - loss: 0.0488 - accuracy: 1.0000 - val_loss: 0.3344 - val_accuracy: 0.8900 - 82ms/epoch - 547us/step\n",
      "Epoch 27/30\n",
      "150/150 - 0s - loss: 0.0453 - accuracy: 1.0000 - val_loss: 0.3418 - val_accuracy: 0.8900 - 103ms/epoch - 690us/step\n",
      "Epoch 28/30\n",
      "150/150 - 0s - loss: 0.0423 - accuracy: 1.0000 - val_loss: 0.3374 - val_accuracy: 0.8800 - 125ms/epoch - 832us/step\n",
      "Epoch 29/30\n",
      "150/150 - 0s - loss: 0.0394 - accuracy: 1.0000 - val_loss: 0.3358 - val_accuracy: 0.8900 - 127ms/epoch - 844us/step\n",
      "Epoch 30/30\n",
      "150/150 - 0s - loss: 0.0370 - accuracy: 1.0000 - val_loss: 0.3308 - val_accuracy: 0.8900 - 95ms/epoch - 630us/step\n"
     ]
    }
   ],
   "source": [
    "c_model = MyModel()\n",
    "\n",
    "c_history = c_model.fit(\n",
    "    train_images,\n",
    "    train_labels,\n",
    "    validation_data=(test_images, test_labels),\n",
    "    batch_size=4,\n",
    "    epochs=n_epochs,\n",
    "    verbose=2,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAN5CAYAAAAVZg9XAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAADTYUlEQVR4nOzdd3gUVcPG4d/uhlRICNKREkCRLjUBEWkSqkQEEayAilRFkBeVpqIIigoqIMpLfEVFQVDpSkdpCahElB6QXgMhpGf3+2M/Vpa0SXZTgOe+Li7I7NmZMyezycM5Z86YbDabDRERERHJkrmgKyAiIiJyI1BoEhERETFAoUlERETEAIUmEREREQMUmkREREQMUGgSERERMUChSURERMQAhSYRERERAxSaRERERAxQaBIRERExoFCHpk2bNtG8eXOGDx+ebdnw8HBCQ0Np1KgRvXv3ZteuXflQQxEREblVFNrQ9OmnnzJx4kQqV66cbdnVq1fz8ccfM2XKFH799Vfatm3LwIEDuXLlSj7UVERERG4FhTY0eXl5sXDhQkOhacGCBXTv3p369evj7e1N//79MZvNrF+/Pu8rKiIiIreEQhuannjiCYoVK2ao7O7du6lVq5bja5PJxF133UVUVFReVU9ERERuMYU2NOXExYsXCQgIcNoWEBBATEyM4X3YbDZ3V0tERERuIh4FXYG8YrPZMJlMhstfuHAFs9l4+ZywWMz4+/sQG5tAWpo1T45xM1P7uUbt5zq1oWvUfq5R+7kuuzYMDPQztJ+bIjQFBgam61W6dOkSd9xxh+F9WK02rNa87W1KS7OSmqoLPrfUfq5R+7lObegatZ9r1H6uc7UNb4rhuTp16rB7927H12lpafz111/Ur1+/AGslIiIiN5MbNjR16NCByMhIAHr37s3333/P77//TkJCAjNnzsTT05NWrVoVbCVFRETkplFoh+fq1q0LQGpqKmBfiwlw3BEXHR1NfHw8AC1btuTFF19k9OjRnD17ltq1azN79my8vb0LoOYiIiJyMyq0oSm75QL27t3r9HWfPn3o06dPXlZJREREbmE37PCciIiISH5SaBIRERExQKFJRERExACFJhEREREDFJpEREREDFBoEhERETFAoUlERETEAIUmEREREQMUmkREREQMUGgSERERMUChSURERMQAhSYRERERAxSaRERE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oQO7d+/Oy0OLiIiIuJXbe5ouXbrEypUrWbJkCTt37uTuu++mV69edOrUiWLF7MuUf/XVV4wePZolS5a4+/AiIiIiecLtoemee+6hXLlyPPDAA0yaNCnDeUx9+vTh7bffdvehRURERPKM20NTeHg4jRs3xmazYTKZAEhJSaFIkSJO5Xbt2uXuQ4uIiIjkGbfPaSpXrhy9e/dm9erVjm3h4eH06tWLEydOuPtwIiIiIvnC7aFp/Pjx3HnnnTRu3Nix7aGHHqJOnTqMHz/e3YcTERERyRduH577/fffmTVrFh4e/+66RIkS/Oc//6F58+buPpyIiIhIvnB7T5Ofnx+HDh1Kt33Pnj34+Pi4+3AiIiIi+cLtPU1PPvkkffv2pUuXLlSoUAGr1Up0dDTLly/nhRdecPfhRERERPKF20NTv379qFSpEosWLWLz5s0AVKpUicmTJ9OmTRt3H05EREQkX7g9NAGOx6hc79tvv+Xhhx/Oi0OKiIiI5Kk8CU3R0dH8/fffJCcnO7adPn2amTNnKjSJiIjIDcntoWnBggWMHz+eYsWKERsbS/HixYmJiaF8+fIMHDjQ3YcTERERyRduv3tu9uzZzJ49m23btlGkSBG2bNnC2rVrqVu3Lk2bNnX34URERETyhdtD07lz52jRooV952YzNpuN8uXL89JLL2lxSxEREblhuT00lS9fni1btgBw2223ERkZCYC/vz9Hjx519+FERERE8oXb5zQNGDCAp59+ms2bN9O9e3cGDhxI48aNOXToEA0bNnT34URERETyhdtD0wMPPEDDhg0JCAhg8ODBlC5dmqioKBo2bEjv3r3dfTgRERGRfOH20DRz5kynu+R69uxJz5493X0YERERkXzl9jlNX331FRcuXHD3bkVEREQKlNt7mvr378/zzz9Pp06dKFeuHB4ezoe4emediIiIyI3E7aHp7bffBiAiIiLdayaTib///tvdhxQRERHJc24PTXv27HH3LkVEREQKnNtD07XPm8uIp6enuw8pIiIikufcHprq1auHyWTK9HUNz4mIiMiNyO2h6X//+5/T12lpafzzzz/88MMPPPPMM+4+nIiIiEi+cHtoyuihvM2aNaN58+aMHDmS1q1bu/uQIiIiInnO7es0ZaZUqVLs27cvvw4nIiIi4lZu72n65ptv0m1LTExk3bp1VK5c2d2HExEREckXbg9Nn3zySbptXl5eVK5c2bGGk4iIiMiNxu2hae3ate7epYiIiEiBc/ucppSUFN5//30iIyMd2xYvXszUqVOzXcNJREREpLBye2h644032Lx5M8WLF3dsu/POO4mIiGDSpEnuPpyIiIhIvnB7aPr555/59NNPqV69umNb7dq1mTlzJqtWrXL34URERETyhdtDU2pqaobbU1JSNDwnIiIiNyy3TwQPDQ1l8ODB9O/fn/Lly2Oz2YiOjuazzz6jS5cu7j6ciIiISL5we2gaM2YMU6dOZfTo0cTGxgLg7+9P9+7dGTFihLsPJyIiIpIv3B6avL29efXVV3n11VeJiYnBZDI5TQoXERERuRG5fU5TcnKyY8mBwMBAihcvriUHRERE5Ibn9tA0ceJELTkgIiIiNx0tOSAiIiJigJYcEBERETEgX5cc6Ny5s7sPJyIiIpIv8mXJgYCAALp3784zzzzj7sOJiIiI5Au3D89dXXJg+/btbNmyha1bt/Lee+9x+vRpWrdu7e7DiYiIiOQLt/c0XXX8+HEWLVrE4sWLuXDhAm3btmXmzJl5dTgRERGRPOXW0JScnMyqVatYuHAhkZGR1KtXj3PnzrF48WKqVavmzkOJiIiI5Cu3haYJEyawfPlyAgMD6dq1KxMnTqRixYo0adIEHx8fdx1GREREpEC4LTTNnz+fTp068fzzz1O5cmV37VZERESkUHDbRPDPPvsMq9VK165d6dWrF1999RUXL17EZDK56xAiIiIiBcZtoalFixZ88MEHbNiwgY4dO/L111/TokULrly5wtatWzNd9FJERETkRuD2JQcCAwN56qmnWLJkCfPmzSMsLIyJEyfSsmVL3n77bXcfTkRERCRf5NmSAwB33303d999N2PGjGHp0qV89913eXk4ERERkTyTp6HpKh8fH3r27EnPnj3z43AiIiIibuf24TkRERGRm5FCk4iIiIgBhTo0HT16lGeeeYbg4GBat27N5MmTSUtLy/I9p0+fpkGDBnz44Yf5VEsRERG5FRTq0DRs2DDKli3L6tWrCQ8PZ+3atYSHh2f5nokTJ2I2F+rTEhERkRtQoU0XUVFR7N27l5EjR1KsWDEqV65M3759WbBgQabv2bBhA/v376dVq1b5V1ERERG5JeTL3XO5sXv3bipUqEBAQIBjW61atYiOjiYuLo6iRYs6lU9M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lSrleL1q1aqkpKRw9uxZ/vnnHypUqOC0r44dOzp9fe3r3t7eJCcnu3o6IlKIaXhORG5qVqvV6WubzYbJZAJw/H3tawApKSmYTKZ0773e9e8XkZubQpOI3NT++ecfx78vXbpEXFwcZcuWpWLFily8eJHz5887Xo+OjsbLy4syZcpQsWLFdMNtn3/+OUeOHMm3uotI4aLQJCI3tbVr17Jr1y4SExOZNWsWt912G3Xr1qVGjRpUq1aNd999l/j4eE6fPs2sWbPo3LkzRYoUoUuXLpw8eZJvv/2W5ORkli1bxrRp0yhatGhBn5KIFBDNaRKRG1pGE8EBx8KWPXr04P3332fHjh2ULVuWjz/+GIvFAsCMGTN44403aNWqFT4+PrRr146RI0cCULJkSebMmcP48eN58803CQoKYsaMGdx2220cOHAg/05QRAoNk+3aW0FERG4ibdq04ZlnntHilyLiFhqeExERETFAoUlERETEAA3PiYiIiBigniYRERERAxSaRERERAxQaBIRERExQKFJRERExACFJhEREREDFJpEREREDFBoEhERETFAoUlERETEAIUmEREREQMUmkREREQMUGgSERERMUChSURERMQAhSYRERERAxSaRERERAxQaBIRERExoEBD0/Hjxxk8eDDBwcGEhIQwatQoYmNj05X77rvvuOuuu6hbt67Tn3PnzgGQlJTE2LFjadmyJSEhIQwdOpQLFy7k9+mIiIjITaxAQ9OgQYPw9/dn7dq1LFmyhEOHDjF58uR05S5fvkzz5s2Jiopy+lOyZEkApk6dyl9//cU333zDqlWrMJlMvPzyy/l9OiIiInITK7DQFBsbS61atRgxYgR+fn6UKlWKsLAwIiMj05W9dOkSAQEBGe4nLS2NRYsWMWjQIMqVK0dAQAAvvPACGzZs4PTp03l9GiIiInKLKLDQ5O/vz6RJkxy9RQAnTpygdOnS6crGxsZy5MgRevbsSePGjXnooYf49ddfAThy5AiXL1+mdu3ajvJVq1bF29ub3bt35/2JiIiIyC2h0EwEj4qK4ssvv2TgwIHpXitevDilS5dm0qRJbNy4kS5dujBgwAAOHjzIxYsXAXsIu5a/vz8xMTGGj2+z2Vyqv4iIiNzcPAq6AgA7duxg4MCBjBgxgubNm6d7fejQoU5f9+3bl2XLlrFkyRJatmyZ4T5tNhsm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0UfT+Pzzz7nnnnvp2fMR1q5dTUzMFS5f/rdNvLxSHfOiLl9OdOw/NTWNhITkdMcDnNp4+PBRvP32RObPn0+zZvfw2mtv8fzzg+nUqRPfffcjAQHFueee1rz11lu0axfqtL+hQ0cwdepkOnXqjNlsok6dekya9C4XL8Zz6VICALGxCRnWAbK/BrMLW1eZbHm5hKsB69atY+TIkYwdO5awsLBMyyUmJjJo0CASEhKYMWNGtndGNG/enFGjRmW5z2udPXs5+0K55OFhJjDQj5iYK6Sm6gduTqn9XKP2c53aMGM2m42tJzdz+sopyvqVI7hcswx77NV+2du6dTMjRw7jl18i0712K7Xf8ePH6Nv3URYtWua4y84dsmvDUqWKGduP22qUCzt37mTUqFFMmzaNFi1aZFrOZrMxfPhwPDw8CA8Pd0wKA4iLi+ODDz7g2WefdcyHunDhAhcuXKBixYp5fg4iIrcqk8lEs/L3FHQ15CZx+fJl3nnnLcLCurs1MLlTgc1qTE1NZcyYMYwcOTLDwNShQwciI+2Je8mSJRw4cIBp06Y5BSaAokWLsmPHDiZOnMjFixe5dOkSb7zxBjVr1qRBgwb5ci4iIiKSez/9tJIHH+xIQEBx+vUbUNDVyVSBDc9FRkby6KOPZjhRe+XKlbRp04ZPP/2Uli1b8uSTTxIREZFuVdVu3boxceJETpw4wZtvvklkZCQWi4XGjRszZsyYDO/Ey4yG5wovtZ9r1H6uUxu6Ru3nGrWf69w1PFfgc5oKC4Wmwkvt5xq1n+vUhq5R+7lG7ec6d4Wmm3fRERERERE3UmgSERERMUChSURERMQAhSYRERERAxSaRERERAxQaBIRERExQKFJRERExACFJhEREREDFJpEREREDFBoEhERETFAoUlERETEAIUmEREREQMUmkREREQMUGgSERERMUChSURERMQAhSYRERERAxSaRERERAxQaBIRERExQKFJRERExACFJhEREREDFJpEREREDFBoEhERETFAoUlERETEAIUmEREREQMUmkREREQMUGgSERERMUChSURERMQAhSYRERERAxSaRERERAxQaBIRERExQKFJRERExACFJhEREREDCjQ0HT9+nMGDBxMcHExISAijRo0iNjY2w7Lh4eGEhobSqFEjevfuza5duxyvJSUlMXbsWFq2bElISAhDhw7lwoUL+XUaIiIicgso0NA0aNAg/P39Wbt2LUuWLOHQoUNMnjw5XbnVq1fz8ccfM2XKFH799Vfatm3LwIEDuXLlCgBTp07lr7/+4ptvvmHVqlWYTCZefvnl/D4dERERuYkVWGiKjY2lVq1ajBgxAj8/P0qVKkVYWBiRkZHpyi5YsIDu3btTv359vL296d+/P2azmfXr15OWlsaiRYsYNGgQ5cqVIyAggBdeeIENGzZw+vTpAjgzERERuRl5FNSB/f39mTRpktO2EydOULp06XRld+/eTadOnRxfm0wm7rrrLqKioqhZsyaXL1+mdu3ajterVq2Kt7c3u3fvpkyZMobqYzabMJtNuTybrFksZqe/JWfUfq5R+7lObegatZ9r1H6uc1cbFlhoul5UVBRffvklM2fOTPfaxYsXCQgIcNoWEBBATEwMFy9eBOwh7Fr+/v7ExMQYPn6JEn6YTHkTmq7y9/fJ0/3f7NR+rlH7uU5t6Bq1n2vUfq5ztQ0LRWjasWMHAwcOZMSIETRv3tzQe2w2W5YhJ7vXr3fhwpU87Wny9/chNjaBtDRrnhzjZqb2c43az3VqQ9eo/Vyj9nNddm0YGOhnaD8FHprWrVvHyJEjGTt2LGFhYRmWCQwMTNdrdOnSJe644w5KlCgBwP+1d+fhUVR528e/vWTfCDtCCEFcgISAWyAIIyiyhE3H3ZEZxRWVR9QRnUEZMeiDjs44DvPgAuLryhBBhYyg4IYQGBbBCAIKYV8CZOkskKS76/0jEgkk6Uo6SXfC/bkurpDqqurTv1S675xzqio3N5fQ0NCKxx0OR8VjZrjdBm63UfsXUAsulxunUwd8Xal+3lH9vKcaekf1847q5z1va+jTAdINGzbw2GOP8fLLL1cbmADi4+PZvHlzxfcul4stW7aQmJhITEwMUVFRlR7fvn07paWlxMfHN2TzRURE5Czis9DkdDqZMmUKjz76KJdffvkZjw8bNqziTLqbb76Zjz76iI0bN3L8+HH+7//+j8DAQK644gpsNhs33HADs2bN4uDBg+Tm5vLSSy8xZMgQWrdu3dgvS0RERJopnw3Pbdy4kR07dpCamkpqamqlx5YsWUJWVhbFxcUADBw4kIcffpjHH3+cI0eO0LNnT1577TWCg4MBmDhxIsXFxdx44404nU6Sk5OZOnVqo78mERERab4shmE07ESeJuLIkYIG27fdbiU6Oozc3CKNR9eB6ucd1c97qqF3VD/vqH7e81TDNm0iTO1HF30QERERMUGhSURERMQEhSYRERERExSaRERERExQaBIRERExQaFJRERExASFJhERERETFJpERERETFBoEhERETFBoUlERETEBIUmERERERMUmkRERERMUGgSERERMUGhSURERMQEhSYRERERExSaRERERExQaBIRERExQaFJRERExASFJhERERETFJpERERETFBoEhERETFBoUlERETEBIUmERERERMUmkRERERMUGgSERERMUGhSURERMQEhSYRERERExSaRERERExQaBIRERExQaFJRERExASFJhERERETFJpERERETLD7ugErVqxg8uTJJCUl8be//a3a9e644w7Wrl1baZnL5WLMmDE899xzTJ48mUWLFmGz2Soej4uL45NPPmmwtouIiMjZw6eh6fXXXyctLY3Y2FiP686ZM6fS9ydOnCAlJYWRI0cC4HA4mDhxIvfee2+DtFVERETObj4dngsKCjIdmk43c+ZM4uPj6d+/P1AemqKiouq7iSIiIiKAj3uaxo0bV6ftDhw4wDvvvMPixYsrljkcDpYvX87cuXPJy8sjMTGRKVOm0LlzZ1P7tFotWK2WOrXHE5vNWumr1I7q5x3Vz3uqoXdUP++oft6rrxr6fE5TXbz++usMHz6cjh07Vizr2LEjHTp0YMaMGVgsFlJTU7nzzjtZvHgxgYGBHvfZsmUYFkvDhKaTIiNDGnT/zZ3q5x3Vz3uqoXdUP++oft7ztoZNLjQ5HA7S0tL48MMPKy2fNWtWpe+nTZvGZZddxvr16+nXr5/H/ebkFDVoT1NkZAgOx3FcLneDPEdzpvp5R/XznmroHdXPO6qf9zzVMDo6zNR+mlxoWr58OR06dOD888+vcb3w8HBatGjB4cOHTe3X7TZwu436aGK1XC43TqcO+LpS/byj+nlPNfSO6ucd1c973tawyQ2QLlu2jIEDB1ZaVlhYSGpqKtnZ2RXLcnJyyMnJISYmprGbKCIiIs2QX4emYcOGsW7dukrLtmzZckYQCg8PZ/369aSmppKXl0d+fj7PPPMM3bt3p0+fPo3ZZBEREWmmfDo8l5CQAIDT6QTKe5EAMjMzAcjKyqK4uLjSNkeOHKFt27Zn7GvmzJlMnz6doUOHYrPZuOSSS3j11VexWv06F4qIiEgT4dPQdDIcVWfbtm1nLPvhhx+qXPecc85h5syZ9dIuERERkdOpG0ZERETEBIUmERERERMUmkRERERMUGgSERERMUGhSURERMQEhSYRERERExSaRERERExQaBIRERExQaFJRERExASFJhERERETFJpERERETFBoEhERETFBoUlERETEBIUmERERERMUmkRERERMUGgSERERMUGhSURERMQEhSYRERERExSaRERERExQaBIRERExQaFJRERExASFJhERERETFJpERERETFBoEhERETFBoUlERETEBIUmERERERMUmkRERERMUGgSERERMUGhSURERMQEhSYRERERExSaRERERExQaBIRERExweehacWKFSQnJzNp0qQa1/vwww+58MILSUhIqPTv6NGjAJSUlPDkk08ycOBA+vbty4MPPkhOTk5jvAQRERE5C/g0NL3++uukpqYSGxvrcd2CggKSk5PJzMys9K9169YAvPjii2zZsoV58+axdOlSLBYLTzzxREO/BBERETlL2H355EFBQaSlpTF9+nRKSkpqXDc/P5+oqKgqH3O5XCxYsIAZM2bQoUMHAB566CFGjBjB4cOHadeunce2WK0WrFZL7V+ECTabtdJXqR3Vzzuqn/dUQ++oft5R/bxXXzX0aWgaN26c6XUdDge7d+/m+uuvJysri9jYWB5++GH69+/P7t27KSgooGfPnhXrd+3aleDgYDZv3mwqNLVsGYbF0jCh6aTIyJAG3X9zp/p5R/XznmroHdXPO6qf97ytoU9DU220aNGCtm3b8uijj3LOOecwb9487rnnHj7++GPy8/MBiIyMrLRNZGQkubm5pvafk1PUoD1NkZEhOBzHcbncDfIczZnq5x3Vz3uqoXdUP++oft7zVMPo6DBT+2kyoenBBx+s9P3tt99Oeno6ixYtYuDAgVVuYxiG6d4jt9vA7Ta8bmdNXC43TqcO+LpS/byj+nlPNfSO6ucd1c973tawSQ+QdurUiezsbFq2bAlwRq+Sw+GoeExERETEG00mNL322musWbOm0rIdO3YQExNDTEwMUVFRbN68ueKx7du3U1paSnx8fGM3VURERJohvw5Nw4YNY926dQAcPXqUp59+mqysLEpKSnjzzTfZu3cv1157LTabjRtuuIFZs2Zx8OBBcnNzeemllxgyZEjFJQlEREREvOHTOU0JCQkAOJ1OAJYtWwZAZmYmAFlZWRQXFwPwyCOPYBgG48aNo7i4mPPPP5+33nqr4sy4iRMnUlxczI033ojT6SQ5OZmpU6c29ksSERGRZspiGEbDzn5uIo4cKWiwfdvtVqKjw8jNLdIkvjpQ/byj+nlPNfSO6ucd1c97nmrYpk2Eqf3UaXiutLSU9957r+L7zz77jPvuu48ZM2ZQVFRUl12KiIiI+LU6habU1FQWL14MwE8//cSkSZNo0aIFmZmZPPvss/XaQBERERF/UKc5TZ9//jnp6ekAfPTRRyQnJ/Pcc8+Rm5vLqFGj6rWBIiIiIv6gTj1NJSUlFdc/+uabb7j66quB8qt2a3hOREREmqM69TR169aNf/3rXwQFBbF7926uvPJKoDxAnbxhroiIiEhzUqfQ9Kc//YnJkyeTn5/Pn//8Z1q2bElubi4PPPAAzz//fH23UURERMTn6hSaevfuzdKlSysti46OZtmyZRXXTRIRERFpTuo0p8nhcPDCCy9UfP/WW28xevRopk+fTnZ2dr01TkRERMRf1Ck0TZkyhb179wLw3Xff8cILL3D11Vdjs9lITU2t1waKiIiI+IM6Dc+tWbOGL774AoDFixdz5ZVX8sADD1BUVFQxKVxERESkOalTT5PL5SIoKAgoP2PuqquuAiA4OJiSkpL6a52IiIiIn6hTT1PPnj15+umnCQwMJDc3l0GDBgGwYMEC4uLi6rWBIiIiIv6gTj1NU6dOZf/+/WzcuJHnn3+e8PBwcnNzeeGFF5g8eXJ9t1FERETE5+rU09S1a1fmzJlTaVl0dDQrVqyoGLYTERERaU7qFJoA3n//fT7//HMOHDhAWVkZnTt35pprrmH06NH12T4RERERv1Cn0PT3v/+defPmMXbsWIYPH45hGGRlZTF9+nSKi4u56aab6rudIiIiIj5Vp9C0ZMkSXn/9deLj4ystHz58OJMnT1ZoEhERkWanThPBjxw5woUXXnjG8h49euiK4CIiItIs1Sk0devWjbS0tDOWL1y4kNjYWK8bJSIiIuJv6jQ898c//pE777yTt99+m3PPPReArKws9uzZwyuvvFKvDRQRERHxB3UKTZdccgnLly9n8eLF7Nu3D4BLL72UK6+8UsNzIiIi0izV+ZIDrVq14ve///0Zy4cPH86mTZu8apSIiIiIv6nTnKaaGIZR37sUERER8bl6D00Wi6W+dykiIiLic/UemkRERESao1rNaZo3b57HdVwuV50bIyIiIuKvahWaXn31VY/rtG3bts6NEREREfFXtQpNX3zxRUO1Q0RERMSvaU6TiIiIiAkKTSIiIiImKDSJiIiImKDQJCIiImKCz0PTihUrSE5OZtKkSR7Xff/99xk6dCh9+vRh1KhRLFu2rOKxyZMn06NHDxISEir+jR49uiGbLiIiImeROt97rj68/vrrpKWlERsb63HdZcuW8eKLL/Lqq6+SmJjIokWLeOihh/j000+JiYnB4XAwceJE7r333kZouYiIiJxtfBqagoKCSEtLY/r06ZSUlNS4bnFxMQ8//DAXX3wxANdccw3/+7//y8aNGytCU1RUVJ3bYrVasFob5hYwNpu10lepHdXPO6qf91RD76h+3lH9vFdfNfRpaBo3bpzpdU8fanM4HBQVFdGuXbuK75cvX87cuXPJy8sjMTGRKVOm0LlzZ1P7b9kyrMHvmxcZGdKg+2/uVD/vqH7eUw29o/p5R/Xznrc19GloqivDMJgyZQqJiYlcdtllAHTs2JEOHTowY8YMLBYLqamp3HnnnSxevJjAwECP+8zJKWrQnqbIyBAcjuO4XO4GeY7mTPXzjurnPdXQO6qfd1Q/73mqYXR0mKn9NLnQVFZWxuOPP87PP//M//t//69i+axZsyqtN23aNC677DLWr19Pv379PO7X7TZwu416b++pXC43TqcO+LpS/byj+nlPNfSO6ucd1c973tawSYWmEydOMGHCBI4fP867775LdHR0teuGh4fTokULDh8+3IgtFBERkeaqycwqMwyDSZMmYbfbmTt3bqXAVFhYSGpqKtnZ2RXLcnJyyMnJISYmxhfNFRERkWbGr0PTsGHDWLduHQCLFi3i559/5uWXXyYoKKjSeuHh4axfv57U1FTy8vLIz8/nmWeeoXv37vTp08cXTRcREZFmxqfDcwkJCQA4nU6AiotVZmZmApCVlUVxcTEAH374Ifv376+Y+H3SmDFjSE1NZebMmUyfPp2hQ4dis9m45JJLePXVV7Fa/ToXioiISBNhMQyjYWc/NxFHjhQ02L7tdivR0WHk5hZpEl8dqH7eUf28pxp6R/XzjurnPU81bNMmwtR+1A0jIiIiYoJCk4iIiIgJCk0iIiIiJig0iYiIiJig0CQiIiJi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hoHbcJfPyzOcZOxfya3/ud7j9nf3mkCbkDblQ5tlBb98LaSwtIA9jt3sLtjlcR+Hig56XKc+qafpF+pp8l+qn3fO5vp5Oy/rJF9Mpve2/Y0xGb/G61R58fxmP7Q/GLmQfuckY7PYsFvtWC3WWm1fXz19/rY9+PbnXx/tr48h9lPVV0+T7y7XKiLSwFK6jmL1Ld/x8dhPeW3Im3wydgmrb/muUW7BktJ1FLOHvk1cVNdKy+OiupqewOpN+715/pM9XSdDyOnM9NR58/wne+pqEhfVlUExgwmxhxBoC6zUVrPbe+rpq+vr9/X24Nuff32039ufYUNRT9Mv1NPkv1Q/76h+3vPlZHpv+Woy/qnPX9vhzZPP7etT3n15Bml9bA++/fnXx/Y6e85PKTT5L9XPO6qf987mGtZH6GuKl704yZdnkJ7cvi6hs774+vU31hC7QlMtKTT5L9XPO6qf91RD7zTVy174i7P9+GuM4K6z50REpMmr6xmU9bW9+J4//QzV0yQiIiJigs6eExERETFBoUlERETEBIUmERERERMUmkRERERMUGgSERERMUGhSURERMQEhSYRERERExSaRERERExQaBIRERExQaFJRERExASFpga0d+9e7rrrLpKSkhg0aBAzZszA5XL5ullNyqBBg4iPjychIaHi3zPPPOPrZvmtFStWkJyczKRJk854bOXKlVx33XVcdNFFpKSk8NFHHzV+A5uA6mq4d+9eLrjggkrHYkJCAp9++qmPWuqf9u/fz/33309SUhJ9+/blsccew+FwADoGzaiufjr+zNm6dSu///3vufjii0lOTuahhx7iyJEjQD0df4Y0mLFjxxpTpkwxHA6HsWvXLuPqq6823njjDV83q0m56KKLjPXr1/u6GU3Ca6+9Zlx99dXGTTfdZDz00EOVHjt06JCRmJhozJ8/3zhx4oSxatUqo1evXsamTZt81Fr/VFMNN2/ebPTs2dNHLWs6Ro8ebTz++ONGYWGhkZ2dbfz2t781/vSnP+kYNKm6+un486ykpMTo16+f8c9//tMoKSkxjhw5Ytxyyy3GhAkT6u34U09TA8nMzGTbtm08+uijREREEBsby+233878+fN93bQmw+VyUVRURFRUlK+b0iQEBQWRlpZGbGzsGY8tXryYuLg4rrvuOoKCgujXrx9XXnklaWlpPmip/6qphvn5+ToWPXA4HPTo0YNHHnmEsLAw2rRpw9ixY1m3bp2OQRNqqp+OP8+OHz/OpEmTuOeeewgMDKR169YMHTqUn376qd6OP4WmBrJ582Y6duxY6SDv0aMHWVlZFBYW+rBlTYfD4cAwDF555RUGDhzIgAEDmDp1KkVFRb5uml8aN24cERERVT62efNmevToUWlZ9+7d+eGHHxqjaU1GTTV0OBy43W7uvfdekpKSGDp0KHPnzsUwjEZupf+KjIzkueeeo3Xr1hXLDhw4QNu2bXUMmlBT/XT8eRYVFcX111+P3W4HYPfu3Xz00UeMGDGi3o4/haYGkpeXR2RkZKVlJwNUbm6uL5rU5JSWltKzZ08uuugili5dyptvvsmGDRv4y1/+4uumNTlVHY8tWrTQsVgLAQEBxMbGcuutt7JixQqmTJnCK6+8op6SGmRmZvLuu+9y33336Risg1Prp+PPvP379xMfH8/QoUPp1asXEydOrLfjT6GpEZ38i8Bisfi4JU1Du3btWLBgAePGjSMkJIRu3brx6KOPkp6eTmlpqa+b1+QZhqFjsRYGDx7MBx98wIABAwgMDGTAgAHceOONLFy40NdN80vr169n/PjxPPLIIyQnJ1e5jo7B6p1ePx1/5nXs2JHMzEyWLFnCzp07+eMf/1jlenU5/hSaGkjLli3PSLD5+flYLBaio6N91Kqmr1OnTrhcLo4dO+brpjQp0dHR5OXlVVqWl5enY9FLnTp1Ijs729fN8Dtffvkld999N3/6058YN24coGOwNqqqX1V0/FXPYrHQpUsXJk2axOLFi7Hb7fVy/Ck0NZD4+HgOHDhATk5OxbLMzEy6detGWFiYD1vWdGzdupUXXnih0rIdO3YQGBhI27ZtfdSqpikhIeGMsfsffviBxMREH7Wo6Vm6dCnz5s2rtGznzp3ExMT4qEX+acOGDTz22GO8/PLLjB07tmK5jkFzqqufjj/PVq5cydChQ3G73RXLrNbymJOcnFwvx59CUwPp0aMHvXr14sUXX6SwsJAdO3bw5ptvcvPNN/u6aU1GdHQ07733Hm+88QalpaVkZWXxyiuvcNNNN2Gz2XzdvCZl1KhR7N+/n/nz51NSUsLXX3/N119/zQ033ODrpjUZNpuN5557jlWrVuF0OsnIyODDDz/k1ltv9XXT/IbT6WTKlCk8+uijXH755ZUe0zHoWU310/HnWXx8PA6Hg7/+9a8cP36cnJwcXnnlFS655JJ6O/4shqbeN5hDhw7xl7/8hQ0bNhAREcHYsWN54IEHNIZfC2vXruWFF17gp59+Ijo6mmHDhvHQQw8RGBjo66b5nYSEBKD8jReoOIMkMzMTKK/l888/z44dO+jUqRMPPPAAV199tW8a66c81XDevHnMmTOH7OxsOnbsyB133MG1117rm8b6oXXr1nHrrbdW+fu5ZMkSDhw4oGOwBp7q9+233+r482Dr1q1Mnz6d77//ntDQUPr27cvjjz9Ou3bt6uU9UKFJRERExAQNz4mIiIiYoNAkIiIiYoJCk4iIiIgJCk0iIiIiJig0iYiIiJig0CQiIiJigkKTiIiIiAkKTSIiIiImKDSJiNTSmjVruOCCCygpKfF1U0SkEdl93QARkboaPHgwhw8frrgp56mee+45Ro4c6YNWiUhzpdAkIk3alClTdCNsEWkUGp4TkWZr8ODBzJ07l9tvv51evXpx1VVXsW7duorHDx06xH333UdSUhIDBw7kkUceIS8vr+Lxb7/9llGjRpGYmMjo0aPJyMiotP9169YxdOhQ+vTpw7333ktBQUFjvTQR8QGFJhFp1t58803+53/+h7Vr1zJ06FAefPBBnE4nABMmTCAiIoLly5eTlpbGvn37mDp1KgCHDx/mwQcf5L777mPdunXccccdTJgwgdzc3Ip9p6enM3/+fD755BM2bdpEWlqaT16jiDQODc+JSJOWmprKs88+W2lZaGgoa9asAcp7m3r37g3APffcw+zZs9m0aROhoaFs3ryZV199lfDwcMLDw7nnnnuYOHEibrebTz/9lM6dOzNixAgAxo4dS1BQEIZhVDzP+PHjiYyMJDIykt69e5OVldU4L1pEfEKhSUSaNE9zmuLi4ir+HxkZSUREBNnZ2djtdqKiomjTpk3F4127dqWsrIwjR46wZ88eOnbsWGlfw4cPr/T9qY8HBwdTWlrq7csRET+m4TkRadbcbnel7w3DwGKxAFR8PfUxgLKyMiwWyxnbnu707UWkeVNoEpFmbc+ePRX/z8/Pp7CwkPbt2xMTE0NeXh7Hjh2reDwrK4ugoCDatWtHTEzMGcNtb731Frt37260touIf1FoEpFm7YsvvuD777/nxIkTzJo1i1atWpGQkMAFF1zAueeey1//+leKi4s5fPgws2bNIiUlhYCAAEaOHMnBgwf597//TWlpKenp6bz88suEh4f7+iWJiI9oTpOINGlVTQQHKi5sed111/G3v/2N9evX0759e2bOnInNZgPgX//6F8888wxXXHEFISEhXHXVVTz66KMAtG7dmtmzZzN16lSmT59OXFwc//rXv2jVqhU///xz471AEfEbFuPUU0FERJqRwYMHc9ddd+nilyJSLzQ8JyIiImKCQpOIiIiICRqeExERETFBPU0iIiIiJig0iYiIiJig0CQiIiJigkKTiIiIiAkKTSIiIiImKDSJiIiImKDQJCIiImKCQpOIiIiICf8fOCHfisplnocAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 600x900 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.style.use(\"seaborn-v0_8\")\n",
    "fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(6, 9))\n",
    "\n",
    "ax1.plot(q_history.history[\"val_accuracy\"], \"-ob\", label=\"With quantum layer\")\n",
    "ax1.plot(c_history.history[\"val_accuracy\"], \"-og\", label=\"Without quantum layer\")\n",
    "ax1.set_ylabel(\"Accuracy\")\n",
    "ax1.set_ylim([0, 1])\n",
    "ax1.set_xlabel(\"Epoch\")\n",
    "ax1.legend()\n",
    "\n",
    "ax2.plot(q_history.history[\"val_loss\"], \"-ob\", label=\"With quantum layer\")\n",
    "ax2.plot(c_history.history[\"val_loss\"], \"-og\", label=\"Without quantum layer\")\n",
    "ax2.set_ylabel(\"Loss\")\n",
    "ax2.set_ylim(top=2.5)\n",
    "ax2.set_xlabel(\"Epoch\")\n",
    "ax2.legend()\n",
    "plt.tight_layout()\n",
    "#plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "References\n",
    "==========\n",
    "\n",
    "1.  Maxwell Henderson, Samriddhi Shakya, Shashindra Pradhan, Tristan\n",
    "    Cook. \\\"Quanvolutional Neural Networks: Powering Image Recognition\n",
    "    with Quantum Circuits.\\\"\n",
    "    [arXiv:1904.04767](https://arxiv.org/abs/1904.04767), 2019.\n",
    "\n",
    "About the author\n",
    "================\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Time in seconds since beginning of run: 1682914540.0444183\n",
      "Sun Apr 30 21:15:40 2023\n"
     ]
    }
   ],
   "source": [
    "seconds = time.time()\n",
    "print(\"Time in seconds since beginning of run:\", seconds)\n",
    "local_time = time.ctime(seconds)\n",
    "print(local_time)"
   ]
  }
 ],
 "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.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}