[404218]: / Code / PennyLane / QML Algorithm Search / Quanvolutional Neural Networks / 1RYeRandomLrsRYt 3rd 70.0% 128.88s.ipynb

Download this file

862 lines (861 with data), 164.2 kB

{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "A7xgHxPxd0J_",
        "outputId": "25df0c12-36b3-4143-bdb1-07cd58789966"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since beginning of run: 1706120236.18129\n",
            "Wed Jan 24 18:17:16 2024\n"
          ]
        }
      ],
      "source": [
        "# This cell is added by sphinx-gallery\n",
        "# It can be customized to whatever you like\n",
        "%matplotlib inline\n",
        "# from google.colab import drive\n",
        "# drive.mount('/content/drive')\n",
        "# !pip install pennylane\n",
        "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)"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "RWYw4Yy7d0KA"
      },
      "source": [
        "Quanvolutional Neural Networks {#quanvolution}\n",
        "==============================\n",
        "\n",
        "::: {.meta}\n",
        ":property=\\\"og:description\\\": Train a quantum convolutional neural\n",
        "network to classify MNIST images. :property=\\\"og:image\\\":\n",
        "<https://pennylane.ai/qml/_static/demonstration_assets//circuit.png>\n",
        ":::\n",
        "\n",
        "*Author: Andrea Mari --- Posted: 24 March 2020. Last updated: 15 January\n",
        "2021.*\n",
        "\n",
        "In this demo we implement the *Quanvolutional Neural Network*, a quantum\n",
        "machine learning model originally introduced in [Henderson et al.\n",
        "(2019)](https://arxiv.org/abs/1904.04767).\n",
        "\n",
        "![](../_static/demonstration_assets/quanvolution/circuit.png){.align-center\n",
        "width=\"90.0%\"}\n",
        "\n",
        "Introduction\n",
        "------------\n",
        "\n",
        "### Classical convolution\n",
        "\n",
        "The *convolutional neural network* (CNN) is a standard model in\n",
        "classical machine learning which is particularly suitable for processing\n",
        "images. The model is based on the idea of a *convolution layer* where,\n",
        "instead of processing the full input data with a global function, a\n",
        "local convolution is applied.\n",
        "\n",
        "If the input is an image, small local regions are sequentially processed\n",
        "with the same kernel. The results obtained for each region are usually\n",
        "associated to different channels of a single output pixel. The union of\n",
        "all the output pixels produces a new image-like object, which can be\n",
        "further processed by additional layers.\n",
        "\n",
        "### Quantum convolution\n",
        "\n",
        "One can extend the same idea also to the context of quantum variational\n",
        "circuits. A possible approach is given by the following procedure which\n",
        "is very similar to the one used in Ref. \\[1\\]. The scheme is also\n",
        "represented in the figure at the top of this tutorial.\n",
        "\n",
        "1.  A small region of the input image, in our example a $2 \\times 2$\n",
        "    square, is embedded into a quantum circuit. In this demo, this is\n",
        "    achieved with parametrized rotations applied to the qubits\n",
        "    initialized in the ground state.\n",
        "2.  A quantum computation, associated to a unitary $U$, is performed on\n",
        "    the system. The unitary could be generated by a variational quantum\n",
        "    circuit or, more simply, by a random circuit as proposed in Ref.\n",
        "    \\[1\\].\n",
        "3.  The quantum system is finally measured, obtaining a list of\n",
        "    classical expectation values. The measurement results could also be\n",
        "    classically post-processed as proposed in Ref. \\[1\\] but, for\n",
        "    simplicity, in this demo we directly use the raw expectation values.\n",
        "4.  Analogously to a classical convolution layer, each expectation value\n",
        "    is mapped to a different channel of a single output pixel.\n",
        "5.  Iterating the same procedure over different regions, one can scan\n",
        "    the full input image, producing an output object which will be\n",
        "    structured as a multi-channel image.\n",
        "6.  The quantum convolution can be followed by further quantum layers or\n",
        "    by classical layers.\n",
        "\n",
        "The main difference with respect to a classical convolution is that a\n",
        "quantum circuit can generate highly complex kernels whose computation\n",
        "could be, at least in principle, classically intractable.\n",
        "\n",
        "::: {.note}\n",
        "::: {.title}\n",
        "Note\n",
        ":::\n",
        "\n",
        "In this tutorial we follow the approach of Ref. \\[1\\] in which a fixed\n",
        "non-trainable quantum circuit is used as a \\\"quanvolution\\\" kernel,\n",
        "while the subsequent classical layers are trained for the classification\n",
        "problem of interest. However, by leveraging the ability of PennyLane to\n",
        "evaluate gradients of quantum circuits, the quantum kernel could also be\n",
        "trained.\n",
        ":::\n",
        "\n",
        "General setup\n",
        "-------------\n",
        "\n",
        "This Python code requires *PennyLane* with the *TensorFlow* interface\n",
        "and the plotting library *matplotlib*.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {
        "id": "VPbcKloNd0KC"
      },
      "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"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ISZAWXDMd0KC"
      },
      "source": [
        "Setting of the main hyper-parameters of the model\n",
        "=================================================\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 4,
      "metadata": {
        "id": "1D5V-v5Vd0KC"
      },
      "outputs": [],
      "source": [
        "n_epochs = 30   # Number of optimization epochs\n",
        "n_layers = 1    # Number of random layers\n",
        "n_train = 50    # Size of the train dataset\n",
        "n_test = 30     # Size of the test dataset\n",
        "\n",
        "SAVE_PATH = \"/content/drive/MyDrive/Colab Notebooks/data/quanvolution\"  # 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": "markdown",
      "metadata": {
        "id": "avddR0atd0KC"
      },
      "source": [
        "Loading of the MNIST dataset\n",
        "============================\n",
        "\n",
        "We import the MNIST dataset from *Keras*. To speedup the evaluation of\n",
        "this demo we use only a small number of training and test images.\n",
        "Obviously, better results are achievable when using the full dataset.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 5,
      "metadata": {
        "id": "xlhnv1hrd0KC",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "outputId": "279fc8aa-7945-4eb3-d3c5-58b9575db36d"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n",
            "11490434/11490434 [==============================] - 0s 0us/step\n"
          ]
        }
      ],
      "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": "markdown",
      "metadata": {
        "id": "bDVPKQD8d0KD"
      },
      "source": [
        "Quantum circuit as a convolution kernel\n",
        "=======================================\n",
        "\n",
        "We follow the scheme described in the introduction and represented in\n",
        "the figure at the top of this demo.\n",
        "\n",
        "We initialize a PennyLane `default.qubit` device, simulating a system of\n",
        "$4$ qubits. The associated `qnode` represents the quantum circuit\n",
        "consisting of:\n",
        "\n",
        "1.  an embedding layer of local $R_y$ rotations (with angles scaled by a\n",
        "    factor of $\\pi$);\n",
        "2.  a random circuit of `n_layers`;\n",
        "3.  a final measurement in the computational basis, estimating $4$\n",
        "    expectation values.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 6,
      "metadata": {
        "id": "rD5_3eztd0KD"
      },
      "outputs": [],
      "source": [
        "dev = qml.device(\"default.qubit\", wires=4)\n",
        "# Random circuit parameters\n",
        "rand_params = np.random.uniform(high=2 * np.pi, size=(n_layers, 4))\n",
        "\n",
        "@qml.qnode(dev)\n",
        "def circuit(phi):\n",
        "    # Encoding of 4 classical input values\n",
        "    for j in range(4):\n",
        "        qml.RY(np.pi * phi[j], wires=j)\n",
        "\n",
        "    # Random quantum circuit\n",
        "    RandomLayers(rand_params, wires=list(range(4)), ratio_imprim=0, rotations=[qml.RY], seed=42)\n",
        "\n",
        "    # Measurement producing 4 classical output values\n",
        "    return [qml.expval(qml.PauliZ(j)) for j in range(4)]"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "02g-DOe8d0KD"
      },
      "source": [
        "The next function defines the convolution scheme:\n",
        "\n",
        "1.  the image is divided into squares of $2 \\times 2$ pixels;\n",
        "2.  each square is processed by the quantum circuit;\n",
        "3.  the $4$ expectation values are mapped into $4$ different channels of\n",
        "    a single output pixel.\n",
        "\n",
        "::: {.note}\n",
        "::: {.title}\n",
        "Note\n",
        ":::\n",
        "\n",
        "This process halves the resolution of the input image. In the standard\n",
        "language of CNN, this would correspond to a convolution with a\n",
        "$2 \\times 2$ *kernel* and a *stride* equal to $2$.\n",
        ":::\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 7,
      "metadata": {
        "id": "AEL9cTFEd0KD"
      },
      "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": "markdown",
      "metadata": {
        "id": "N3MmyCQad0KD"
      },
      "source": [
        "Quantum pre-processing of the dataset\n",
        "=====================================\n",
        "\n",
        "Since we are not going to train the quantum convolution layer, it is\n",
        "more efficient to apply it as a \\\"pre-processing\\\" layer to all the\n",
        "images of our dataset. Later an entirely classical model will be\n",
        "directly trained and tested on the pre-processed dataset, avoiding\n",
        "unnecessary repetitions of quantum computations.\n",
        "\n",
        "The pre-processed images will be saved in the folder `SAVE_PATH`. Once\n",
        "saved, they can be directly loaded by setting `PREPROCESS = False`,\n",
        "otherwise the quantum convolution is evaluated at each run of the code.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 8,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "c3oexS3hd0KD",
        "outputId": "16cc9a3f-6679-4e72-b783-218a793345da"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Quantum pre-processing of train images:\n",
            "\n",
            "Quantum pre-processing of test images:\n"
          ]
        }
      ],
      "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": "markdown",
      "metadata": {
        "id": "kJYilWS1d0KE"
      },
      "source": [
        "Let us visualize the effect of the quantum convolution layer on a batch\n",
        "of samples:\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 9,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1006
        },
        "id": "2ckiL7srd0KE",
        "outputId": "49f7d3cf-0da1-4bc0-bd2e-cd1a15b361fd"
      },
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x1000 with 20 Axes>"
            ],
            "image/png": "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AAAAAICbjO4xraqq0t69exuuFxcXa9euXercubN69OihyZMn66GHHlLv3r2VlpammTNnKikpqdG5TgEAAAAA4S2gPab5+fk6deqUz/qXX36p/Px829vZtm2bvv/97+v73/++JGnKlCn6/ve/r1mzZkmS7r//ft1999268847dcUVV6iqqkoFBQVq27ZtILEBAAAAACEooMF07ty5fr/HdOrUKc2dO9f2dq655hpZluVzWblypSTJ4/EoPz9fpaWlOn36tN58880mv8cFAAAAAAhPAQ2mlmXJ4/H4rH/44Yfq3Llzs0MBAAAAAKKHo++YdurUSR6PRx6PRxdddFGj4bSurk5VVVX65S9/6XpIBGbOnDl+1wcMGOCzdvXVV/utzc7O9rv+xhtvBJwLCGdNHfX7scce87vu70ijJ0+e9Fs7btw4v+vbtm3zWYukI5X26NHDdASEgO9973u2a//3f/83iEkih7+/l/wdqVeS/v73v/usNfV3FRANUlNT/a6/9NJLzd72kiVL/K6//fbbzd52OHM0mC5atEiWZWnChAmaO3duo1MexMbGKjU1lSPmAgAAAAAccTSY5ubmSvr6VC5XXnml2rRpE5RQAAAAAIDoEdDpYtLS0vye8P0sPpYFAAAAALAroME0NTXV78GPzqqrqws4EAAAAAAgugQ0mO7cubPR9TNnzmjnzp16/PHH9fDDD7sSDM1XXV3td/2OO+7wWduxY4ff2t/97nd+1/19OdvfAVokaenSpX7XLcvyuw6EsrPnXf6//B3kqCk33nij3/V33303oExAtPnggw9MRwi6+Ph4n7Uf//jHfmtvueUWv+vXXXed7Z/34IMP+qyVl5fbvj8QaZrqt379+tneRmFhod/13/zmNwFlinQBDabp6ek+awMHDlRSUpIWLFigUaNGNTsYAAAAACA6BHQe06Z873vfi4rfYgIAAAAA3BPQHtPKyspG1y3L0uHDhzVnzhz17t3blWAAAAAAgOgQ0GDasWNHn4MfWZallJQUrV692pVgAAAAAIDoENBg+n8PfBMTE6OuXbvqwgsvVOvWAW0SAAAAABClApoir776ardzoAXt27fPZ+22227zW7tixQq/67feequtNUk677zz/K4/99xzPmvfdn5cIBQ8/vjjftebOoWWvyPtRsPRd2NifA9hUF9fbyAJIlHnzp2Dtm1/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el1dnQoKCnTBBRe4mw4AAAAAEPFsD6b9+/eXx+ORx+Px+5Hddu3aacmSJa6GAwAAAABEPtuDaXFxsSzLUq9evbR161Z17dq14bbY2Fh169ZNrVq1CkpIAAAAAEDksj2Y9uzZU5JUX18ftDAAAAAAgOjj+HQxzz333LfePm7cuIDDAAAAAACij+PB9N577210/cyZMzp16pRiY2PVvn17BlMAAAAAgCOOTxdz4sSJRpeqqirt2bNHgwcP1gsvvBCMjAAAAACACOZ4j6k/vXv31iOPPKJbbrlFn376qRubhAODBg1yVD9nzhzbtW+88Ybt2gcffNBRDn9Hd27KggULHG0baGmzZs2yXTt16lRH277hhhts1544ccJ2bevWzv4J+OZpwwCEPo4Lgmi1bds2R/WxsbG2az/77DOncWCT4z2mTWndurUOHTrk1uYAAAAAAFHC8R7T9evXN7puWZYOHz6sJ5980vGeu40bN2rBggXavn27Dh8+rLVr12rEiBGNtj179mz97ne/U3l5uQYNGqRly5apd+/eTmMDAAAAAEKU48H0m4OjJHk8HnXt2lVDhgzRwoULHW2rurpa6enpmjBhgkaNGuVz+/z587V48WI9++yzSktL08yZM5WTk6Pdu3erbdu2TqMDAAAAAEKQ48HUze8rDBs2TMOGDfN7m2VZWrRokWbMmKEbb7xR0tenqklISNC6det08803+71fTU2NampqGq5XVla6lhcAAAAA4L6Av2N67NgxHTt2zM0sjRQXF6u0tFTZ2dkNa16vV5mZmdq0aVOT95s3b568Xm/DJSUlJWgZAQAAAADN52gwLS8v16RJk9SlSxclJCQoISFBXbp0UV5ensrLy10NVlpaKklKSEhotJ6QkNBwmz/Tp09XRUVFw6WkpMTVXAAAAAAAd9n+KO8XX3yhrKwsHTx4UGPHjtXFF18sSdq9e7dWrlypwsJCvf/+++rUqVPQwtoRFxenuLg4oxkAAAAAAPbZHkzz8/MVGxurffv2+ezFzM/P13XXXaf8/Hw98cQTrgRLTEyUJJWVlal79+4N62VlZerfv78rPwMAAAAAYJ7tj/KuW7dOjz32mM9QKn09RM6fP19r1651LVhaWpoSExNVWFjYsFZZWaktW7YoKyvLtZ8DAAAAADDL9h7Tw4cPq2/fvk3efumll37rdz/9qaqq0t69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AAAAGMVgCgAAAAAwisEUAAAAAGAUgykAAAAAwCgGUwAAAACAUQymAAAAAACjWtspWr9+veMNX3vttWrXrp3j+wEAAAAAooutwXTEiBGONurxeFRUVKRevXoFkiliHTlyxHZtQkJCEJOEhlGjRtmuPXDggO3alJSUQOIAIat9+/a2a+vr623XJiUlOcpx6NAh27WPPvqo7doHHnjAUQ5El+uvv9527WuvvRbEJJEtPj7edAQg4sydOzdo2/Z4PEHbtim2P8pbWlqq+vp6Wxcn/4kCAAAAAEQ3W4Npbm6uo4/l3nLLLfzmDQAAAABgi62P8q5YscLRRpctWxZQGAAAAABA9OGovAAAAAAAoxwNpr///e+Vm5vbsAd1zZo1uvjii9WrVy/Nnj07KAEBAAAAAJHN1kd5JWnRokWaMWOGcnJy9Otf/1qHDh3SE088ofvuu091dXVauHChLrjgAt15553BzAsAAAAAiDC2B9Onn35av/3tb/Xzn/9cO3fuVEZGhpYvX67bb79dknTBBRdo2bJlDKYAAAAAAEdsf5T3s88+0+DBgyVJ3//+99WqVSv94Ac/aLj96quv1r59+9xPCAAAAACIaLYH0/bt26u6urrheteuXXX++ec3qvnqq6/cSwYAAAAAiAq2B9M+ffroo48+arheUlKinj17Nlz/9NNPlZqa6mo4AAAAAEDks/0d00cffVTnnXdek7cfOHBAv/jFL1wJFam6detmu/amm26yXfvSSy85ypGQkGC7trS01Hbt6NGjHeU4+9FwINq0atXKUX19fb3t2qVLl9quve+++xzl2Lx5s+3a6dOn26594IEHHOUAYE///v1t106ePDloOYBIUlxcbLt2zpw5jrb96quv2q797ne/62jb4cD2YDpo0KBvvf2uu+5qdhgAAAAAQPRxdB5TAAAAAADcxmAKAAAAADCKwRQAAAAAYBSDKQAAAADAKAZTAAAAAIBRrg2mr7zyip577jm3NgcAAAAAiBKuDaYPPPCAxo8f79bmAAAAAABRwvZ5TM/l008/dWtTAAAAAIAowndMAQAAAABGBbTHtLy8XFu3btWRI0dUX1/f6LZx48a5Eizavfjii7Zr77nnHkfbfv31153GsWXNmjVB2S4QDnJycmzXxsQ4+53g22+/bbv2hz/8oe3au+66y1EOJ5xkRnR57LHHTEeIGrt3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\n"
          },
          "metadata": {}
        }
      ],
      "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": "markdown",
      "metadata": {
        "id": "rCnk_yy0d0KE"
      },
      "source": [
        "Below each input image, the $4$ output channels generated by the quantum\n",
        "convolution are visualized in gray scale.\n",
        "\n",
        "One can clearly notice the downsampling of the resolution and some local\n",
        "distortion introduced by the quantum kernel. On the other hand the\n",
        "global shape of the image is preserved, as expected for a convolution\n",
        "layer.\n"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "vCjr6WvXd0KE"
      },
      "source": [
        "Hybrid quantum-classical model\n",
        "==============================\n",
        "\n",
        "After the application of the quantum convolution layer we feed the\n",
        "resulting features into a classical neural network that will be trained\n",
        "to classify the $10$ different digits of the MNIST dataset.\n",
        "\n",
        "We use a very simple model: just a fully connected layer with 10 output\n",
        "nodes with a final *softmax* activation function.\n",
        "\n",
        "The model is compiled with a *stochastic-gradient-descent* optimizer,\n",
        "and a *cross-entropy* loss function.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 10,
      "metadata": {
        "id": "PHtPdynad0KE"
      },
      "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": "markdown",
      "metadata": {
        "id": "WlOj9hwGd0KE"
      },
      "source": [
        "Training\n",
        "========\n",
        "\n",
        "We first initialize an instance of the model, then we train and validate\n",
        "it with the dataset that has been already pre-processed by a quantum\n",
        "convolution.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 11,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "Zj8fE8uhd0KF",
        "outputId": "570c6800-291f-4d21-cf79-f6ef3a64147b"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/30\n",
            "13/13 - 1s - loss: 2.6067 - accuracy: 0.2000 - val_loss: 2.2828 - val_accuracy: 0.2000 - 812ms/epoch - 62ms/step\n",
            "Epoch 2/30\n",
            "13/13 - 0s - loss: 1.9466 - accuracy: 0.3800 - val_loss: 2.0157 - val_accuracy: 0.2333 - 54ms/epoch - 4ms/step\n",
            "Epoch 3/30\n",
            "13/13 - 0s - loss: 1.6144 - accuracy: 0.4800 - val_loss: 1.9731 - val_accuracy: 0.2667 - 57ms/epoch - 4ms/step\n",
            "Epoch 4/30\n",
            "13/13 - 0s - loss: 1.2881 - accuracy: 0.6600 - val_loss: 1.7315 - val_accuracy: 0.4000 - 54ms/epoch - 4ms/step\n",
            "Epoch 5/30\n",
            "13/13 - 0s - loss: 1.0827 - accuracy: 0.7600 - val_loss: 1.6012 - val_accuracy: 0.5667 - 55ms/epoch - 4ms/step\n",
            "Epoch 6/30\n",
            "13/13 - 0s - loss: 0.9261 - accuracy: 0.8400 - val_loss: 1.5962 - val_accuracy: 0.5000 - 57ms/epoch - 4ms/step\n",
            "Epoch 7/30\n",
            "13/13 - 0s - loss: 0.7506 - accuracy: 0.8600 - val_loss: 1.5247 - val_accuracy: 0.4667 - 58ms/epoch - 4ms/step\n",
            "Epoch 8/30\n",
            "13/13 - 0s - loss: 0.6221 - accuracy: 0.9200 - val_loss: 1.4060 - val_accuracy: 0.5667 - 55ms/epoch - 4ms/step\n",
            "Epoch 9/30\n",
            "13/13 - 0s - loss: 0.5495 - accuracy: 0.9400 - val_loss: 1.3640 - val_accuracy: 0.5333 - 55ms/epoch - 4ms/step\n",
            "Epoch 10/30\n",
            "13/13 - 0s - loss: 0.4526 - accuracy: 1.0000 - val_loss: 1.3787 - val_accuracy: 0.6000 - 55ms/epoch - 4ms/step\n",
            "Epoch 11/30\n",
            "13/13 - 0s - loss: 0.4217 - accuracy: 0.9400 - val_loss: 1.3244 - val_accuracy: 0.6000 - 55ms/epoch - 4ms/step\n",
            "Epoch 12/30\n",
            "13/13 - 0s - loss: 0.3646 - accuracy: 0.9800 - val_loss: 1.3110 - val_accuracy: 0.6333 - 60ms/epoch - 5ms/step\n",
            "Epoch 13/30\n",
            "13/13 - 0s - loss: 0.3335 - accuracy: 1.0000 - val_loss: 1.2706 - val_accuracy: 0.6000 - 54ms/epoch - 4ms/step\n",
            "Epoch 14/30\n",
            "13/13 - 0s - loss: 0.2977 - accuracy: 1.0000 - val_loss: 1.2335 - val_accuracy: 0.6000 - 55ms/epoch - 4ms/step\n",
            "Epoch 15/30\n",
            "13/13 - 0s - loss: 0.2536 - accuracy: 1.0000 - val_loss: 1.1964 - val_accuracy: 0.6333 - 58ms/epoch - 4ms/step\n",
            "Epoch 16/30\n",
            "13/13 - 0s - loss: 0.2229 - accuracy: 1.0000 - val_loss: 1.2157 - val_accuracy: 0.7000 - 55ms/epoch - 4ms/step\n",
            "Epoch 17/30\n",
            "13/13 - 0s - loss: 0.2112 - accuracy: 1.0000 - val_loss: 1.1919 - val_accuracy: 0.6667 - 56ms/epoch - 4ms/step\n",
            "Epoch 18/30\n",
            "13/13 - 0s - loss: 0.1865 - accuracy: 1.0000 - val_loss: 1.1870 - val_accuracy: 0.6667 - 53ms/epoch - 4ms/step\n",
            "Epoch 19/30\n",
            "13/13 - 0s - loss: 0.1704 - accuracy: 1.0000 - val_loss: 1.1778 - val_accuracy: 0.6333 - 53ms/epoch - 4ms/step\n",
            "Epoch 20/30\n",
            "13/13 - 0s - loss: 0.1571 - accuracy: 1.0000 - val_loss: 1.1411 - val_accuracy: 0.6667 - 58ms/epoch - 4ms/step\n",
            "Epoch 21/30\n",
            "13/13 - 0s - loss: 0.1439 - accuracy: 1.0000 - val_loss: 1.1702 - val_accuracy: 0.6333 - 58ms/epoch - 4ms/step\n",
            "Epoch 22/30\n",
            "13/13 - 0s - loss: 0.1318 - accuracy: 1.0000 - val_loss: 1.1446 - val_accuracy: 0.7000 - 61ms/epoch - 5ms/step\n",
            "Epoch 23/30\n",
            "13/13 - 0s - loss: 0.1235 - accuracy: 1.0000 - val_loss: 1.1221 - val_accuracy: 0.7000 - 55ms/epoch - 4ms/step\n",
            "Epoch 24/30\n",
            "13/13 - 0s - loss: 0.1148 - accuracy: 1.0000 - val_loss: 1.1067 - val_accuracy: 0.6667 - 56ms/epoch - 4ms/step\n",
            "Epoch 25/30\n",
            "13/13 - 0s - loss: 0.1105 - accuracy: 1.0000 - val_loss: 1.1077 - val_accuracy: 0.7000 - 54ms/epoch - 4ms/step\n",
            "Epoch 26/30\n",
            "13/13 - 0s - loss: 0.1000 - accuracy: 1.0000 - val_loss: 1.1049 - val_accuracy: 0.6667 - 58ms/epoch - 4ms/step\n",
            "Epoch 27/30\n",
            "13/13 - 0s - loss: 0.0948 - accuracy: 1.0000 - val_loss: 1.0967 - val_accuracy: 0.7000 - 58ms/epoch - 4ms/step\n",
            "Epoch 28/30\n",
            "13/13 - 0s - loss: 0.0925 - accuracy: 1.0000 - val_loss: 1.0957 - val_accuracy: 0.7000 - 58ms/epoch - 4ms/step\n",
            "Epoch 29/30\n",
            "13/13 - 0s - loss: 0.0852 - accuracy: 1.0000 - val_loss: 1.1033 - val_accuracy: 0.6667 - 61ms/epoch - 5ms/step\n",
            "Epoch 30/30\n",
            "13/13 - 0s - loss: 0.0795 - accuracy: 1.0000 - val_loss: 1.0872 - val_accuracy: 0.7000 - 61ms/epoch - 5ms/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": {
        "id": "ZrgNg_sSd0KF"
      },
      "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": 12,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "xVJR8xXcd0KF",
        "outputId": "aeaf7231-d0a8-4520-dd61-67e1748760f7"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/30\n",
            "13/13 - 1s - loss: 2.3757 - accuracy: 0.1000 - val_loss: 2.1771 - val_accuracy: 0.1333 - 578ms/epoch - 44ms/step\n",
            "Epoch 2/30\n",
            "13/13 - 0s - loss: 1.9988 - accuracy: 0.3600 - val_loss: 2.0245 - val_accuracy: 0.2667 - 58ms/epoch - 4ms/step\n",
            "Epoch 3/30\n",
            "13/13 - 0s - loss: 1.6974 - accuracy: 0.5800 - val_loss: 1.8907 - val_accuracy: 0.3333 - 56ms/epoch - 4ms/step\n",
            "Epoch 4/30\n",
            "13/13 - 0s - loss: 1.4574 - accuracy: 0.7000 - val_loss: 1.7703 - val_accuracy: 0.4333 - 66ms/epoch - 5ms/step\n",
            "Epoch 5/30\n",
            "13/13 - 0s - loss: 1.2514 - accuracy: 0.7600 - val_loss: 1.6549 - val_accuracy: 0.5000 - 54ms/epoch - 4ms/step\n",
            "Epoch 6/30\n",
            "13/13 - 0s - loss: 1.0864 - accuracy: 0.8200 - val_loss: 1.5704 - val_accuracy: 0.4667 - 63ms/epoch - 5ms/step\n",
            "Epoch 7/30\n",
            "13/13 - 0s - loss: 0.9471 - accuracy: 0.9000 - val_loss: 1.5042 - val_accuracy: 0.5333 - 58ms/epoch - 4ms/step\n",
            "Epoch 8/30\n",
            "13/13 - 0s - loss: 0.8274 - accuracy: 0.9200 - val_loss: 1.4386 - val_accuracy: 0.6000 - 54ms/epoch - 4ms/step\n",
            "Epoch 9/30\n",
            "13/13 - 0s - loss: 0.7302 - accuracy: 0.9400 - val_loss: 1.3836 - val_accuracy: 0.6333 - 56ms/epoch - 4ms/step\n",
            "Epoch 10/30\n",
            "13/13 - 0s - loss: 0.6473 - accuracy: 0.9600 - val_loss: 1.3442 - val_accuracy: 0.6333 - 55ms/epoch - 4ms/step\n",
            "Epoch 11/30\n",
            "13/13 - 0s - loss: 0.5817 - accuracy: 0.9800 - val_loss: 1.3024 - val_accuracy: 0.7000 - 57ms/epoch - 4ms/step\n",
            "Epoch 12/30\n",
            "13/13 - 0s - loss: 0.5252 - accuracy: 0.9800 - val_loss: 1.2909 - val_accuracy: 0.6667 - 54ms/epoch - 4ms/step\n",
            "Epoch 13/30\n",
            "13/13 - 0s - loss: 0.4738 - accuracy: 1.0000 - val_loss: 1.2612 - val_accuracy: 0.7000 - 56ms/epoch - 4ms/step\n",
            "Epoch 14/30\n",
            "13/13 - 0s - loss: 0.4269 - accuracy: 1.0000 - val_loss: 1.2223 - val_accuracy: 0.7000 - 58ms/epoch - 4ms/step\n",
            "Epoch 15/30\n",
            "13/13 - 0s - loss: 0.3873 - accuracy: 1.0000 - val_loss: 1.1987 - val_accuracy: 0.7333 - 59ms/epoch - 5ms/step\n",
            "Epoch 16/30\n",
            "13/13 - 0s - loss: 0.3542 - accuracy: 1.0000 - val_loss: 1.1820 - val_accuracy: 0.7333 - 57ms/epoch - 4ms/step\n",
            "Epoch 17/30\n",
            "13/13 - 0s - loss: 0.3259 - accuracy: 1.0000 - val_loss: 1.1668 - val_accuracy: 0.7333 - 55ms/epoch - 4ms/step\n",
            "Epoch 18/30\n",
            "13/13 - 0s - loss: 0.3006 - accuracy: 1.0000 - val_loss: 1.1426 - val_accuracy: 0.7000 - 53ms/epoch - 4ms/step\n",
            "Epoch 19/30\n",
            "13/13 - 0s - loss: 0.2756 - accuracy: 1.0000 - val_loss: 1.1376 - val_accuracy: 0.7333 - 55ms/epoch - 4ms/step\n",
            "Epoch 20/30\n",
            "13/13 - 0s - loss: 0.2563 - accuracy: 1.0000 - val_loss: 1.1184 - val_accuracy: 0.7667 - 53ms/epoch - 4ms/step\n",
            "Epoch 21/30\n",
            "13/13 - 0s - loss: 0.2378 - accuracy: 1.0000 - val_loss: 1.1150 - val_accuracy: 0.7667 - 57ms/epoch - 4ms/step\n",
            "Epoch 22/30\n",
            "13/13 - 0s - loss: 0.2211 - accuracy: 1.0000 - val_loss: 1.1011 - val_accuracy: 0.7667 - 53ms/epoch - 4ms/step\n",
            "Epoch 23/30\n",
            "13/13 - 0s - loss: 0.2061 - accuracy: 1.0000 - val_loss: 1.0899 - val_accuracy: 0.7667 - 60ms/epoch - 5ms/step\n",
            "Epoch 24/30\n",
            "13/13 - 0s - loss: 0.1928 - accuracy: 1.0000 - val_loss: 1.0805 - val_accuracy: 0.7667 - 58ms/epoch - 4ms/step\n",
            "Epoch 25/30\n",
            "13/13 - 0s - loss: 0.1821 - accuracy: 1.0000 - val_loss: 1.0734 - val_accuracy: 0.7667 - 57ms/epoch - 4ms/step\n",
            "Epoch 26/30\n",
            "13/13 - 0s - loss: 0.1702 - accuracy: 1.0000 - val_loss: 1.0674 - val_accuracy: 0.7667 - 54ms/epoch - 4ms/step\n",
            "Epoch 27/30\n",
            "13/13 - 0s - loss: 0.1608 - accuracy: 1.0000 - val_loss: 1.0563 - val_accuracy: 0.7667 - 60ms/epoch - 5ms/step\n",
            "Epoch 28/30\n",
            "13/13 - 0s - loss: 0.1525 - accuracy: 1.0000 - val_loss: 1.0492 - val_accuracy: 0.7667 - 57ms/epoch - 4ms/step\n",
            "Epoch 29/30\n",
            "13/13 - 0s - loss: 0.1433 - accuracy: 1.0000 - val_loss: 1.0473 - val_accuracy: 0.7667 - 57ms/epoch - 4ms/step\n",
            "Epoch 30/30\n",
            "13/13 - 0s - loss: 0.1352 - accuracy: 1.0000 - val_loss: 1.0422 - val_accuracy: 0.7667 - 57ms/epoch - 4ms/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": "markdown",
      "metadata": {
        "id": "oXLGIhPJd0KF"
      },
      "source": [
        "Results\n",
        "=======\n",
        "\n",
        "We can finally plot the test accuracy and the test loss with respect to\n",
        "the number of training epochs.\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 13,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 963
        },
        "id": "fwDEhq0Qd0KF",
        "outputId": "08a2d333-9bb1-4651-af59-dfba72aa4878"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "<ipython-input-13-c3ef9ba498fb>:3: MatplotlibDeprecationWarning: The seaborn styles shipped by Matplotlib are deprecated since 3.6, as they no longer correspond to the styles shipped by seaborn. However, they will remain available as 'seaborn-v0_8-<style>'. Alternatively, directly use the seaborn API instead.\n",
            "  plt.style.use(\"seaborn\")\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x900 with 2 Axes>"
            ],
            "image/png": "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v/76q9GgQQPjjz/+yNU11NPkhIiICPbv38+oUaMoUaIE1atX5/HHH2fBggXuDk1uAD4+PixatIhq1apd89rChQtp06YNbdq0wcfHh169enHbbbfl7S+rYux6bSiOiYuLo169eowcOZKAgAAqVKjAvffeS3h4OD///DNpaWk888wz+Pv7U7duXfr166ffkVm4XjuKY5KSkhgxYgSDBw/G29ub0qVL07FjRw4ePMjy5cupXr06ffv2xcfHh5YtW9K+fXsWLlyYq2soaXLCvn37qFy5MiVLlrRvq1u3LpGRkcTHx7sxsqJp2rRptG3bliZNmjB+/HgSEhLcHVKh9uijj1KiRIksX9u3bx916tTJtK1OnTpEREQURGhFxvXaECA6OponnniCpk2bcs899/Djjz8WYHRFQ1BQEG+++SZlypSxb4uOjqZcuXLs27eP22+/HQ8PD/trderU4c8//3RHqIXa9doxw5gxY2jdujXNmzdn2rRppKWluSPUQqtkyZL069cPT09bsZMjR46wZMkSunbtmu3vxNy+F5U0OSE2NpagoKBM2zISqJiYGHeEVGQ1atSIli1bsmbNGhYsWMDevXuZNGmSu8MqsmJjYzMl82B7b+p96bjSpUtTvXp1Ro8eza+//soLL7zAyy+/zLZt29wdWqEWERHB119/zTPPPJPl78hSpUoRGxuruZ85+Hc7ent7c8cdd9CxY0c2btzI7NmzWbZsGTNnznR3mIVSVFQU9erVo1u3btSvX5/nnnsu2/dibn8nKmlykqEqNC6xYMEC+vXrh7e3N7fccgujRo1ixYoVpKamuju0IkvvTee0bduWzz//nDp16uDt7U337t3p2LEjixcvdndohdbu3bsZNGgQI0eOpGXLltnuZzKZCjCqoufqdixXrhzff/89HTt2xMvLiwYNGjB48GC9F7NRuXJlIiIiWLVqFUePHmXMmDEuO7eSJieULl2a2NjYTNtiY2MxmUyULl3aPUEVEzfffDPp6elcuHDB3aEUScHBwVm+N/W+dE7lypU5e/asu8MolDZs2MDTTz/Nyy+/zKOPPgrYfkde/Zd8bGwspUqVwmzWx09WsmrHrFSuXJnz58/rj6NsmEwmqlevzogRI1ixYgWenp7X/E6MiYnJ9e9EvWudUK9ePaKjo7l48aJ9W0REBDVr1iQgIMCNkRUtf/31F2+9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M5PFixezevVqBg0a5OqmlStWq5VnnnmGcePGcd111+V5rkuXLvj7+/Puu++SmprKb7/9xrx58/Qz8jIKq2PVqlV5++23+f7778nMzCQ2NpbZs2erjv/QunVrkpOTmTZtGqmpqZw+fZo333yTjh07MnjwYA4fPszcuXNJT0/n119/5ddff2XgwIHFeg2Tob49hxw9epQJEyawceNG/P39GTRoEI888ojSfzFt2rSJV155hT179uDl5cWAAQMYM2YM3t7erm5audWmTRuA3L/ic+4YyblD7scff+SVV17h8OHDNGnShKeffppOnTq5prHlVGE1NAyDd999l3nz5nHixAkaNGjA+PHjuemmm1zW3vJo8+bN/Otf/8LLyyvfc8uWLSMlJYVJkybx+++/U6tWLf79739z9913u6Cl5VtRdfzjjz946623SEhIoGrVqgwZMoR///vfGub8hz179jB16lR27NiBr68vERERPPHEE9StW5dNmzYxdepU4uLiqF+/PmPHjqV79+7Fur5Ck4iIiIgdFFFFRERE7KDQJCIiImIHhSYREREROyg0iYiIiNhBoUlERETEDgpNIiIiInZQaBIRERGxg0KTiIiIiB0UmkRE7DB//nyuvPJKVzdDRFzIw9UNEBEpypAhQ9i8eXPuNif/9NVXX9GqVasybpWIVDYKTSLiFnr27Mmrr77q6maISCWm4TkRqRC6du3Kq6++ypNPPkmnTp1o164dTz/9NBkZGbnHbN68mcGDB9OpUyc6dOjAqFGjOHjwYO7zp06d4rHHHiM8PJzw8HAefvhhDh8+nOd1YmNjuf3227nqqqu48cYbWbFiRZl9jSLiWgpNIlJhfPHFF3Tu3Jn169fzySefsGLFCt5++20ADhw4wLBhw7jxxhtZvXo1P/74I5mZmTzwwANkZWUB8Mgjj3Du3Dl++OEHfv75ZywWCyNHjuTSfc0/+eQT3nnnHTZu3EjHjh156qmn8gQzEam4NDwnIm5h2bJll+3V6dSpEx9++CEAbdq0oW/fvgBcddVV9O7dmx9//JExY8bw1VdfUb9+fR588EFMJhM+Pj6MGzeOfv36sXXrVqpWrcrWrVuZP38+gYGBADz99NNs2bIlTyj697//Td26dQHo06cPixYt4vjx4zRo0KC0SyAiLqbQJCJuwZ45TU2aNMnzecOGDTl69CiQ3dPUtGlTTCZT7vONGzcG4ODBg/j5+eWek6Nu3br06tUrzzWvuOKK3P+uUqUKAOnp6cX9ckTEDWl4TkQqjJxhthyGYeSGpMsFm5xhN5PJhMViAcBmsxX6GmazfmyKVFb67heRCiMhISHP5wcPHqRevXoAhIaG8ueff+aZn/Tnn3/mPhcSEgJAXFxc7vMnTpxg9uzZnD9/vnQbLiJuQaFJRCqM3377jR9++IGMjAx27NjB0qVL6dmzJwB33HEHhw8fZubMmWRkZHD8+HGmTZtG8+bNadu2LU2bNqVTp068+uqrHDt2jJSUFF555RW+/fZb/P39XfyViUh5oDlNIuIWCpoIDjBq1CgABgwYwOrVq5k4cSJWq5U+ffowYsQIAJo3b84777zD22+/zcyZM/Hz8yMyMpJXX301dwjv7bffZsqUKfTq1QuLxUKHDh14//3388yDEpHKy2Rc2lctIuKmunbtSq9evRg3bpyrmyIiFZSG50RERETsoNAkIiIiYgcNz4mIiIjYQT1NIiIiInZQaBIRERGxg0KTiIiIiB0UmkRERETsoNAkIiIiYgeFJhERERE7KDSJiIiI2EGhSURERMQO/w9xr+AXJZhdNwAAAABJRU5ErkJggg==\n"
          },
          "metadata": {}
        }
      ],
      "source": [
        "import matplotlib.pyplot as plt\n",
        "\n",
        "plt.style.use(\"seaborn\")\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": {
        "id": "eFIiSMV9d0KF"
      },
      "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",
      "source": [
        "seconds = time.time()\n",
        "print(\"Time in seconds since end of run:\", seconds)\n",
        "local_time = time.ctime(seconds)\n",
        "print(local_time)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "DN7xl_1qggGu",
        "outputId": "38fab65c-3c56-41d9-d471-f87a6659fb6e"
      },
      "execution_count": 14,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since end of run: 1706120365.0617578\n",
            "Wed Jan 24 18:19:25 2024\n"
          ]
        }
      ]
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.10.13"
    },
    "colab": {
      "provenance": [],
      "machine_shape": "hm"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}