Download this file

851 lines (850 with data), 171.5 kB

{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 53,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "A7xgHxPxd0J_",
        "outputId": "c6670532-35d5-4522-c10a-b293840502d8"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since beginning of run: 1706000815.7251525\n",
            "Tue Jan 23 09:06:55 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": 54,
      "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": 55,
      "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": 56,
      "metadata": {
        "id": "xlhnv1hrd0KC"
      },
      "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": "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": 57,
      "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",
        "    for j in range(4):\n",
        "        qml.RY(np.pi * phi[j], wires=j)\n",
        "    for j in range(4):\n",
        "        qml.RY(np.pi * phi[j], wires=j)\n",
        "    for j in range(4):\n",
        "        qml.RY(np.pi * phi[j], wires=j)\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": 58,
      "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": 59,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "c3oexS3hd0KD",
        "outputId": "220209f2-f24d-4cac-8953-e5b9ba0e21f8"
      },
      "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": 60,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "2ckiL7srd0KE",
        "outputId": "eb17c962-817f-40da-d59a-b284862699b8"
      },
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x1000 with 20 Axes>"
            ],
            "image/png": "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RaZmSU9Pl/TDFYjz8/NNfS4QDObNm+e3PnTo0As6h7+r+kpSTEyMT+3jjz/22+vvyqidO3eu1VwITSNHjvSpff755zZM4gzVXYn7D3/4Q9XHAwcOlFT91bwLCwutHwxwmOuvv95vffz48YbXqG6v3XTTTUpJSdF7772nfv36adu2bfr+++9rNGddwhlSAAAAAIAtCKQAAAAAAFsQSAEAAAAAtiCQAgAAAABsQSAFAAAAANiCq+za5PDhw37rDz74oN/6TTfd5FM7d8XZpKQkTZo0SU888YS+++47Pfvss4bn2Lx5s996nz59/NZPnDjhU0tJSfHbe++99xqeAwgFl19+uSSpffv2kqSOHTsqLCxMN954o99+l8tleO3qrnr77rvv+tSefPJJv73/+7//67fu7+rWR44c8dt77bXXVn0cFvbDv3ma+TqAc879/oE1Xn75ZcO9u3btCuAkgHP07NnTp7Zw4UK/vWbumDF79my/9X379ikhIUGSVFJSon379hlesy7jpz0AAAAAwBYEUgAAAACALQikAAAAAABbEEgBAAAAALaw/aJGn376qSZOnKgePXro6aef9jq2fPlyvfjii/ruu+/Upk0b3X///X7fPOwkS5Ys8Vv/6KOPfGrHjx+XJKWnp2vSpEl68803lZ+fry5duvhd48477/SpVXdxE38XL6rOtm3b/NZHjx5teA3Aabp27epT++c//ylJCg8PlyS9+OKLqqioUFxcnN81PB6PT+3999/32zt06FC/9czMTJ/a1KlT/fZWd9GTgwcP+tS2bNnit7eyslLSDxekOfdxdRdt6tatm9/6pk2b/NbhTJ07d/Zbv/jiiy/wJM5m5oIq535WATi/22+/3ad2ySWXmFpj9erVPrXXXnutpiMFJVsD6UsvvaS8vDy1atXK59iOHTs0ceJEzZ07V1dddZU++OADjRs3TitWrFDz5s1tmBYAAAAAYCVbX7IbGRlZbSB98803lZmZqczMTEVGRqp///667LLLtHTpUhsmBQAAAABYzdYzpCNHjqz22LZt23xeatapUycVFBQYXr9NmzZq1KiROnToIElV/w1GMTExPrVzL6v96dfXpEkTw+u2bt3abz09Pd3khIETTN8/f/drBAAAAOCf7e8hrY7b7fZ5v0N8fLy++eYbw2vs2rWr6r1akrR48WLL5quL3njjDdOf89hjj5mq2ykYvn8ul8vuEQAAAICgUWcDqeT/gh5mtGvXruoM6eLFizVs2DAVFhZaNN2F9XNnSN944w0NHz5chYWFmjJlit81br75Zp9adRc3WbFiRc2HtZgTvn8AAAAAfNXZQNq4cWO53W6vmtvtVkJCguE1ioqKvB4XFhY68iWV54L7jh07lJ+frz179hj+3D59+vitP/74437r566aaQenfv8Q3C677DK/9QcffNCn9tNXfZz7h6b//Oc/ftcoKSnxqb366qt+e0tLS/3W33vvPUO1QIqKivJbf+CBB/zWhw8fHshxUMf85je/8Vuv7vcNfp6/KxS3adPG8OcXFxdbOQ4Q9Jo2beq3/vvf/96nVt3flX+aa8559NFHazyXU9TZ+5CmpqZq69atXrWCgoJqb2kCAAAAAAgudTaQDh48WGvXrtXq1at15swZ5eXlae/everfv7/dowEAAAAALGDrS3bT0tIkSeXl5ZKkVatWSfrhTOhll12mJ598UjNnzlRxcbGSk5M1b948XXTRRbbNCwAAAACwTo0C6W233aZFixb51I8fP67hw4cbvlfoz93CpW/fvurbt29NRgQAAAAA1HGmAun+/fu1b98+bd68WZ999pnPVXD37NmjvXv3WjkfAAAAAMChTAXS/Px8zZw5U+Xl5brzzjv99vz2t7+1ZDDU3PTp0/3WL7/8cp9aZmam397rr7/eb33lypU1ngsIZpGRkX7rTz75pN+6vyuHHj9+XJIUFham2NhYnThxQpWVlRo5cqTfNTZs2OBTc9KVR3/xi1/YPQLqgPbt2xvu3bZtWwAncQ5/P5f8XXlXkr7++mtFRkaqdevW2rdvn86cOVP1swoINa1bt/Zbf+utt2q99nPPPee3/q9//avWawc7U4G0f//+6tevnzp37uz3PpVRUVGmbssCAAAAAAhdpt9D6nK59Pnnn1fdPw8AAAAAgJqo0UWN/vjHP573+GuvvVajYQAAAAAAoaNGgbRJkyZyuVxVjysqKlRUVKSDBw/qxhtvtGw4AAAAAIBz1SiQPv30037rr7/+utxud23mgQVOnDjht/6HP/zBp7Zp0ya/vS+99JLfur83Xvu78IokPf/8837rP706MxAM0tPT/db9XbyoOucu+tauXTu99NJLuv/++7Vr1y59/PHHlswION369evtHiHg4uLifGq//vWv/faOGDHCb93MLfMeeeQRtW7dWo8++qhefvll7d27l7/LIWRVt9c6d+5seI0PP/zQb33OnDk1mikUhFm52K233qq///3vVi4JAAAAAHAoSwPpgQMHdPLkSSuXBAAAAAA4VI1esvvAAw/41E6dOqVNmzb5vdclAAAAAAA/VaNA+u9//9un1qBBA918881+36cIAAAAAMBP1SiQLlq0yOo5AAAAAAAhpkaBVJK+/fZbrVy5UgcOHJDL5VJiYqL69u2rSy65xMr5YKHdu3f71EaNGuW3d+HChX7rt912m6GaJEVHR/ut+7tPbUlJid9eoK546qmn/NZ/fAusH/N35dxztWPHjkmSNm7cqPz8fIsmrBvCwsJ8Pq6srLRrHDhMQkJCwNbu0qWLT83lcql9+/aSpPbt21ddJf7666/3u0ZSUpJPLSIiwm/v8OHD/dZ/vIfOOXXqlN/edevW+a2fOXPGp1avnv+/8m3cuLFq/R07dmj79u1++wCnufnmm31qs2bNMrXGmjVrfGq33367396jR4+aWjuU1CiQLl++XA888IBiY2PVokULeTwelZSUaPbs2Xr22Wd13XXXWT0nAAAAAMBhahRIn3zySU2YMEF33XVX1b/kVVRUaP78+XrssccIpAAAAACAn1Wj274cOnRIo0aN8npZSXh4uO68804dPHjQsuEAAAAAAM5Vo0Datm1bv+/5O3DggC677LJaDwUAAAAAcL4avWR33LhxmjhxokaOHKm2bduqoqJCe/fu1aJFi/T73/9eRUVFVb1t2rSxbFgAAAAAgHPUKJD+8Y9/lCRt3ry56gqT5648t3nz5qrHLpdLO3bssGBMBMrbb7/tt75r1y6/dX9XGq3uPcOPPfaY33qrVq18an/5y1/89hYXF/utA4F00003+dS6du3qt/fcz76fWrp0qZUjBY1zV9QNCwur+ri6/0fn/rxAaKvuCrL+ft/89a9/9ds7efLkWs/RuXNnn9qPr6K9ePHiqo/Ly8v9rnHy5EmfWnVXrV2wYIHf+oYNG3xq/q7aLUnff/+93/p3333nU4uKivLbW1hYWHWsqKhIhYWFfvuAYNW6dWu/9bfeeqvWa+/Zs8enVt2+RPVqFEj93bYDAAAAAAAzahRIr7zySqvnAAAAAACEmBoFUrfbrZdeekm7du3S6dOnvY65XC69+uqrlgwHAAAAAHCuGgXSSZMmadOmTerWrZuaNm1q9UwAAAAAgBBQo0C6fv16LVmyRC1btrR6HtQRW7du9VsfPHiwT61fv35+excuXOi3PmbMGJ9au3bt/Pb26dOnuhGBgPF38Y+IiAi/vf/+97/91nNzcy2dyU6RkZE+tenTpxv+/I8++shv/aGHHqrpSHCQcxdK/Kl9+/b51DIyMgI2x7fffutTW7JkiX7xi19o+vTpmjFjRlVPdRds/OKLLwI2nz+jR4/2W7/ooot8av4uvgKEgokTJ/qtn7vwXm3MmjWr1mughvchjY6OVvPmza2eBQAAAAAQQmoUSIcOHaq///3vVs8CAAAAAAghNb6o0RtvvKG3335brVq1UliYd67NycmxZDgAAAAAgHPVKJBu375dbdq0kST95z//sXQgAAAAAEBoqFEgXbRokdVzAAAAAABCjKlAOmTIEEN9vL/Uudxut0+tun+gePnll/3W69Xz/W13zTXX+O3t1atX1RV4u3fvrvj4eK1evdrYsMAFcObMGb/1kpKSCzxJ7fm7mq4kTZ061af24IMP+u397rvvVL9+fbVo0ULff/+9zp49W+3bOEpLS2s+LBzv8ccft3sESVJ6erqmT5+upUuXKj8/3+5xvFx33XWGe996660ATgLYr2vXrpKk9u3bV/3X4/Gob9++tV77nXfe8VvfuXNnrdeGyUB67mW6AAAAAADUlqlAOnPmzEDNAQAAAAAIMTW67QsAAAAAALVFIAUAAAAA2IJACgAAAACwRY1u+wLn69y5s9/6Lbfc4lO74oor/Pb6u5pudbZv3+63/sknn+j48eOSpE2bNtW5KxwCS5cutXsE085difCnqrty7q233upTq+6Kg7/73e+Unp6uTZs26cYbb2TPAnXE22+/bfcIQECtXLlS0v/9/fOFF15QeXm5GjdubHiNL774wm991KhRtZ4P1eMMKQAAAADAFgRSAAAAAIAtCKQAAAAAAFsQSAEAAAAAtuCiRiGkffv2PrVx48b57R04cKDfevPmzWs9R0VFhU+tpKTEb29lZaUqKyt9PgYCyeVyGapJ0s033+y3fu+991o5Uo1NmDDBp5adne23Nz4+3m/9jTfe8KmNHDmydoMBAGChJk2aeD0+92eamb87vvDCC37rpaWlNR8MP4szpAAAAAAAWxBIAQAAAAC2IJACAAAAAGxBIAUAAAAA2MLWQFpcXKyxY8eqR48eysjI0KRJk3Ts2DFJ0o4dOzRixAhdfvnl6tu3rxYsWGDnqAAAAAAAi9l6ld27775bqamp+uijj3T8+HGNHTtWjz/+uLKzszVmzBgNHjxY8+fPV1FRkX7/+98rKSlJffv2tXPkOuXcFW+bNm1a9d/mzZtr6NChfvv9XVG3devWAZtvw4YNfut/+ctffGpLly4N2ByAWR6Px1BNqv7K088++6xP7dw/rJ274nX79u3l8Xh06NAhv2tcddVVPrXbbrvNb2+XLl381pOSknxq3377rd/eDz74wG+9uqsOAqib/F0V/LLLLvPb+8UXXwR6HMByCxcu9KmFhYWd97ERa9eurfFMqDnbzpAeO3ZMqampeuCBBxQdHa3mzZtrwIAB2rBhg1avXq2zZ8/qnnvuUcOGDZWSkqJBgwYpNzfXrnEBAAAAABaz7QxpXFycZs6c6VUrKSlRs2bNtG3bNrVv317h4eFVxzp16qQ333zT1HO0adNGjRo1UocOHSSp6r9Oce7MaHJystd/ExMT/fZHRERcmMH+v4YNG/qtX3rppT619PT0atcJpu9ffn6+3SMAAAAAQcPWl+z+WEFBgV5//XW9+OKLev/99xUXF+d1vFGjRnK73aqsrDR8Cn7Xrl1eoXbx4sWWzlzX1LWX1aWmpvqtP/300zVaLxi+f/5eJgUAAADAvzoRSDdu3Kh77rlHDzzwgDIyMvT+++/77TP7l/127dpVnSFdvHixhg0bpsLCQitGrhN+fIb0hRde0B//+Ed98803+q//+i+//bfeeqtP7ZJLLgnYfNu3b/db/5//+R+f2scff1ztOk79/gEAAAChzvZA+tFHH+nBBx9Udna2br75ZklSQkKC9u7d69XndrvVqFEjU29QLioq8npcWFhY519SefHFF/utd+rUyaf2zDPPSJIaNGggScrKytLp06cD+tLWdevW+dRmz57tt/edd97xW6+srKzRcwfD9w+h58evwvixP/7xjz613/3ud5Kk+vXrS/rhwkdnz56turr4T7Vr167W8/m7QMO//vUvv73Tpk2r9fMBsJ+/i7DV5AIvgN26du3qt3799df71H7898uwsLCqx2VlZX7XeP75531q33//fQ2mRG3Z+tNp06ZNmjhxoubMmVMVRqUfXuq5c+dOlZeXV9UKCgqqvYokAAAAACD4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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": 61,
      "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": 62,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "Zj8fE8uhd0KF",
        "outputId": "0b49a534-ceab-4236-ba22-a5de5c2e36b7"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/30\n",
            "13/13 - 1s - loss: 2.8947 - accuracy: 0.1400 - val_loss: 2.3345 - val_accuracy: 0.0333 - 572ms/epoch - 44ms/step\n",
            "Epoch 2/30\n",
            "13/13 - 0s - loss: 2.2481 - accuracy: 0.1400 - val_loss: 2.3482 - val_accuracy: 0.1000 - 57ms/epoch - 4ms/step\n",
            "Epoch 3/30\n",
            "13/13 - 0s - loss: 2.0753 - accuracy: 0.2400 - val_loss: 2.3592 - val_accuracy: 0.2000 - 56ms/epoch - 4ms/step\n",
            "Epoch 4/30\n",
            "13/13 - 0s - loss: 1.7658 - accuracy: 0.4000 - val_loss: 2.2311 - val_accuracy: 0.1000 - 54ms/epoch - 4ms/step\n",
            "Epoch 5/30\n",
            "13/13 - 0s - loss: 1.6933 - accuracy: 0.4800 - val_loss: 2.2186 - val_accuracy: 0.1333 - 57ms/epoch - 4ms/step\n",
            "Epoch 6/30\n",
            "13/13 - 0s - loss: 1.5496 - accuracy: 0.5800 - val_loss: 2.3131 - val_accuracy: 0.1000 - 56ms/epoch - 4ms/step\n",
            "Epoch 7/30\n",
            "13/13 - 0s - loss: 1.3041 - accuracy: 0.7200 - val_loss: 2.0930 - val_accuracy: 0.2000 - 54ms/epoch - 4ms/step\n",
            "Epoch 8/30\n",
            "13/13 - 0s - loss: 1.2202 - accuracy: 0.7800 - val_loss: 2.1709 - val_accuracy: 0.1333 - 65ms/epoch - 5ms/step\n",
            "Epoch 9/30\n",
            "13/13 - 0s - loss: 1.0545 - accuracy: 0.8800 - val_loss: 2.0762 - val_accuracy: 0.2000 - 62ms/epoch - 5ms/step\n",
            "Epoch 10/30\n",
            "13/13 - 0s - loss: 0.8826 - accuracy: 0.9800 - val_loss: 2.1888 - val_accuracy: 0.2000 - 57ms/epoch - 4ms/step\n",
            "Epoch 11/30\n",
            "13/13 - 0s - loss: 0.8534 - accuracy: 0.9800 - val_loss: 2.0546 - val_accuracy: 0.1667 - 60ms/epoch - 5ms/step\n",
            "Epoch 12/30\n",
            "13/13 - 0s - loss: 0.7915 - accuracy: 0.9200 - val_loss: 2.1063 - val_accuracy: 0.1333 - 55ms/epoch - 4ms/step\n",
            "Epoch 13/30\n",
            "13/13 - 0s - loss: 0.6537 - accuracy: 1.0000 - val_loss: 1.9976 - val_accuracy: 0.2000 - 56ms/epoch - 4ms/step\n",
            "Epoch 14/30\n",
            "13/13 - 0s - loss: 0.6380 - accuracy: 0.9800 - val_loss: 2.0914 - val_accuracy: 0.2000 - 55ms/epoch - 4ms/step\n",
            "Epoch 15/30\n",
            "13/13 - 0s - loss: 0.5532 - accuracy: 1.0000 - val_loss: 1.9684 - val_accuracy: 0.1667 - 55ms/epoch - 4ms/step\n",
            "Epoch 16/30\n",
            "13/13 - 0s - loss: 0.4645 - accuracy: 1.0000 - val_loss: 2.0596 - val_accuracy: 0.2000 - 54ms/epoch - 4ms/step\n",
            "Epoch 17/30\n",
            "13/13 - 0s - loss: 0.4372 - accuracy: 1.0000 - val_loss: 1.9865 - val_accuracy: 0.3333 - 59ms/epoch - 5ms/step\n",
            "Epoch 18/30\n",
            "13/13 - 0s - loss: 0.3928 - accuracy: 1.0000 - val_loss: 2.0694 - val_accuracy: 0.2000 - 52ms/epoch - 4ms/step\n",
            "Epoch 19/30\n",
            "13/13 - 0s - loss: 0.3742 - accuracy: 1.0000 - val_loss: 1.9679 - val_accuracy: 0.2333 - 55ms/epoch - 4ms/step\n",
            "Epoch 20/30\n",
            "13/13 - 0s - loss: 0.3478 - accuracy: 1.0000 - val_loss: 1.9626 - val_accuracy: 0.2333 - 58ms/epoch - 4ms/step\n",
            "Epoch 21/30\n",
            "13/13 - 0s - loss: 0.3017 - accuracy: 1.0000 - val_loss: 2.0817 - val_accuracy: 0.1667 - 60ms/epoch - 5ms/step\n",
            "Epoch 22/30\n",
            "13/13 - 0s - loss: 0.2815 - accuracy: 1.0000 - val_loss: 1.9179 - val_accuracy: 0.3667 - 60ms/epoch - 5ms/step\n",
            "Epoch 23/30\n",
            "13/13 - 0s - loss: 0.2609 - accuracy: 1.0000 - val_loss: 1.9465 - val_accuracy: 0.3000 - 59ms/epoch - 5ms/step\n",
            "Epoch 24/30\n",
            "13/13 - 0s - loss: 0.2351 - accuracy: 1.0000 - val_loss: 1.9723 - val_accuracy: 0.2667 - 58ms/epoch - 4ms/step\n",
            "Epoch 25/30\n",
            "13/13 - 0s - loss: 0.2306 - accuracy: 1.0000 - val_loss: 1.9578 - val_accuracy: 0.2667 - 57ms/epoch - 4ms/step\n",
            "Epoch 26/30\n",
            "13/13 - 0s - loss: 0.2107 - accuracy: 1.0000 - val_loss: 1.9385 - val_accuracy: 0.2000 - 58ms/epoch - 4ms/step\n",
            "Epoch 27/30\n",
            "13/13 - 0s - loss: 0.1932 - accuracy: 1.0000 - val_loss: 1.9240 - val_accuracy: 0.3000 - 59ms/epoch - 5ms/step\n",
            "Epoch 28/30\n",
            "13/13 - 0s - loss: 0.1913 - accuracy: 1.0000 - val_loss: 1.9671 - val_accuracy: 0.2333 - 55ms/epoch - 4ms/step\n",
            "Epoch 29/30\n",
            "13/13 - 0s - loss: 0.1821 - accuracy: 1.0000 - val_loss: 1.9689 - val_accuracy: 0.2667 - 55ms/epoch - 4ms/step\n",
            "Epoch 30/30\n",
            "13/13 - 0s - loss: 0.1651 - accuracy: 1.0000 - val_loss: 1.9027 - val_accuracy: 0.3333 - 57ms/epoch - 4ms/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": 63,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "xVJR8xXcd0KF",
        "outputId": "9c683f2b-7259-4c02-fa56-c956e29d4962"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/30\n",
            "13/13 - 1s - loss: 2.4015 - accuracy: 0.0800 - val_loss: 2.2208 - val_accuracy: 0.1667 - 1s/epoch - 81ms/step\n",
            "Epoch 2/30\n",
            "13/13 - 0s - loss: 1.9880 - accuracy: 0.3600 - val_loss: 2.0371 - val_accuracy: 0.3333 - 73ms/epoch - 6ms/step\n",
            "Epoch 3/30\n",
            "13/13 - 0s - loss: 1.6628 - accuracy: 0.6600 - val_loss: 1.8959 - val_accuracy: 0.5333 - 60ms/epoch - 5ms/step\n",
            "Epoch 4/30\n",
            "13/13 - 0s - loss: 1.4271 - accuracy: 0.7600 - val_loss: 1.7566 - val_accuracy: 0.6000 - 56ms/epoch - 4ms/step\n",
            "Epoch 5/30\n",
            "13/13 - 0s - loss: 1.2261 - accuracy: 0.8400 - val_loss: 1.6345 - val_accuracy: 0.6000 - 53ms/epoch - 4ms/step\n",
            "Epoch 6/30\n",
            "13/13 - 0s - loss: 1.0689 - accuracy: 0.9000 - val_loss: 1.5365 - val_accuracy: 0.6333 - 58ms/epoch - 4ms/step\n",
            "Epoch 7/30\n",
            "13/13 - 0s - loss: 0.9308 - accuracy: 0.9000 - val_loss: 1.4641 - val_accuracy: 0.6667 - 56ms/epoch - 4ms/step\n",
            "Epoch 8/30\n",
            "13/13 - 0s - loss: 0.8173 - accuracy: 0.9000 - val_loss: 1.3936 - val_accuracy: 0.7000 - 57ms/epoch - 4ms/step\n",
            "Epoch 9/30\n",
            "13/13 - 0s - loss: 0.7244 - accuracy: 0.9000 - val_loss: 1.3379 - val_accuracy: 0.6667 - 65ms/epoch - 5ms/step\n",
            "Epoch 10/30\n",
            "13/13 - 0s - loss: 0.6439 - accuracy: 0.9000 - val_loss: 1.2944 - val_accuracy: 0.7667 - 57ms/epoch - 4ms/step\n",
            "Epoch 11/30\n",
            "13/13 - 0s - loss: 0.5800 - accuracy: 0.9400 - val_loss: 1.2530 - val_accuracy: 0.7333 - 62ms/epoch - 5ms/step\n",
            "Epoch 12/30\n",
            "13/13 - 0s - loss: 0.5236 - accuracy: 0.9600 - val_loss: 1.2417 - val_accuracy: 0.7333 - 59ms/epoch - 5ms/step\n",
            "Epoch 13/30\n",
            "13/13 - 0s - loss: 0.4744 - accuracy: 0.9800 - val_loss: 1.2111 - val_accuracy: 0.7333 - 60ms/epoch - 5ms/step\n",
            "Epoch 14/30\n",
            "13/13 - 0s - loss: 0.4280 - accuracy: 0.9800 - val_loss: 1.1680 - val_accuracy: 0.7667 - 56ms/epoch - 4ms/step\n",
            "Epoch 15/30\n",
            "13/13 - 0s - loss: 0.3886 - accuracy: 1.0000 - val_loss: 1.1410 - val_accuracy: 0.7667 - 67ms/epoch - 5ms/step\n",
            "Epoch 16/30\n",
            "13/13 - 0s - loss: 0.3561 - accuracy: 1.0000 - val_loss: 1.1239 - val_accuracy: 0.7333 - 58ms/epoch - 4ms/step\n",
            "Epoch 17/30\n",
            "13/13 - 0s - loss: 0.3282 - accuracy: 1.0000 - val_loss: 1.1080 - val_accuracy: 0.7667 - 57ms/epoch - 4ms/step\n",
            "Epoch 18/30\n",
            "13/13 - 0s - loss: 0.3026 - accuracy: 1.0000 - val_loss: 1.0877 - val_accuracy: 0.7667 - 60ms/epoch - 5ms/step\n",
            "Epoch 19/30\n",
            "13/13 - 0s - loss: 0.2777 - accuracy: 1.0000 - val_loss: 1.0830 - val_accuracy: 0.7333 - 56ms/epoch - 4ms/step\n",
            "Epoch 20/30\n",
            "13/13 - 0s - loss: 0.2581 - accuracy: 1.0000 - val_loss: 1.0637 - val_accuracy: 0.7333 - 53ms/epoch - 4ms/step\n",
            "Epoch 21/30\n",
            "13/13 - 0s - loss: 0.2397 - accuracy: 1.0000 - val_loss: 1.0592 - val_accuracy: 0.7333 - 55ms/epoch - 4ms/step\n",
            "Epoch 22/30\n",
            "13/13 - 0s - loss: 0.2226 - accuracy: 1.0000 - val_loss: 1.0466 - val_accuracy: 0.7333 - 54ms/epoch - 4ms/step\n",
            "Epoch 23/30\n",
            "13/13 - 0s - loss: 0.2078 - accuracy: 1.0000 - val_loss: 1.0356 - val_accuracy: 0.7333 - 53ms/epoch - 4ms/step\n",
            "Epoch 24/30\n",
            "13/13 - 0s - loss: 0.1944 - accuracy: 1.0000 - val_loss: 1.0270 - val_accuracy: 0.7333 - 54ms/epoch - 4ms/step\n",
            "Epoch 25/30\n",
            "13/13 - 0s - loss: 0.1837 - accuracy: 1.0000 - val_loss: 1.0205 - val_accuracy: 0.7333 - 56ms/epoch - 4ms/step\n",
            "Epoch 26/30\n",
            "13/13 - 0s - loss: 0.1715 - accuracy: 1.0000 - val_loss: 1.0143 - val_accuracy: 0.7333 - 57ms/epoch - 4ms/step\n",
            "Epoch 27/30\n",
            "13/13 - 0s - loss: 0.1622 - accuracy: 1.0000 - val_loss: 1.0049 - val_accuracy: 0.7333 - 65ms/epoch - 5ms/step\n",
            "Epoch 28/30\n",
            "13/13 - 0s - loss: 0.1536 - accuracy: 1.0000 - val_loss: 0.9982 - val_accuracy: 0.7333 - 56ms/epoch - 4ms/step\n",
            "Epoch 29/30\n",
            "13/13 - 0s - loss: 0.1446 - accuracy: 1.0000 - val_loss: 0.9954 - val_accuracy: 0.7333 - 55ms/epoch - 4ms/step\n",
            "Epoch 30/30\n",
            "13/13 - 0s - loss: 0.1363 - accuracy: 1.0000 - val_loss: 0.9894 - val_accuracy: 0.7333 - 58ms/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": 64,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 963
        },
        "id": "fwDEhq0Qd0KF",
        "outputId": "5e5709ec-d406-4734-d419-62b1bd6059c5"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "<ipython-input-64-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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+vTpAwAICQlBZGQkAKBPnz7YvHkzzp07h9TUVCxevBhKpRKtW7eWKnwiIiIqYiStPbdw4UJMmDABzZo1g7u7O3r37o133nkHABAdHW1Yh6lly5YYMWIEPv/8czx58gS1a9fGkiVL4OzsLGX4REREVIQIImdYExEREeWLCz8QERERGYFJExEREZERmDQRERERGYFJExEREZERmDQRERERGYFJk5liYmLw8ccfIzAwEG3atMHs2bOh1WqlDsvhVKtWDQEBAahdu7bhz9SpU6UOy+4dOXIEwcHBGD58eLbHtm/fjq5du6J+/fp44403cPToUQkitH+5teHGjRtRvXr1LNdk7dq18c8//0gUqf2KiYnBp59+isDAQAQHB+PLL79EYmIiAODSpUt477330LBhQ3To0AG//PKLxNHar9za8e7du6hWrVq2a3H58uVSh2x3Ll++jA8++AANGzZEcHAwPv/8czx69AgAEBERgZ49e6JBgwYIDQ3Fli1bTD+BSGZ5/fXXxfHjx4uJiYlidHS02KFDB/GXX36ROiyH8+qrr4p37tyROgyHsmTJErFDhw5i7969xc8//zzLYxcvXhQDAgLEgwcPimlpaeKff/4p1q1bV4yNjZUoWvuUVxv+73//E9977z2JInMsXbp0Eb/88ksxKSlJjI2NFd944w1x3LhxYmpqqtiiRQvx+++/F5OTk8Xz58+LTZo0EXft2iV1yHYpt3a8c+eO+Oqrr0odnt1LT08XmzZtKv7www9ienq6+OTJE/G9994TP/nkE/HBgwdivXr1xPXr14tpaWnisWPHxDp16oj//POPSedgT5MZoqKicPnyZYwaNQoeHh6oWLEi+vXrh3Xr1kkdGhUBKpUKGzZsQIUKFbI9tn79erRq1QqtWrWCSqVCt27d8Oqrrxbsm1UhllcbknESExMREBCAkSNHws3NDaVKlcLrr7+OyMhIHDx4EJmZmRgyZAhcXV1Rq1Yt9OrVi78jc5BXO5JxUlNTMXz4cAwaNAhKpRI+Pj5o3749rl69iq1bt6JixYro2bMnVCoVgoOD0bZtW6xfv96kczBpMsOFCxfg5+cHLy8vw7ZatWohOjoaSUlJEkbmmObOnYvWrVujUaNGmDBhApKTk6UOya69//778PDwyPGxCxcuoGbNmlm21axZE1FRUbYIzWHk1YYAEBsbi/79+6Nx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\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": "b2c8ff49-bf6a-40e3-853c-307006c55fff"
      },
      "execution_count": 65,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since end of run: 1706000999.4583955\n",
            "Tue Jan 23 09:09:59 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
}