Download this file

855 lines (854 with data), 169.3 kB

{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 83,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "A7xgHxPxd0J_",
        "outputId": "f0709ddb-bf9a-4fe0-b0d4-b964d0f321f3"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since beginning of run: 1706002140.4025962\n",
            "Tue Jan 23 09:29:00 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": 84,
      "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": 85,
      "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": 86,
      "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": 87,
      "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",
        "    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": 88,
      "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": 89,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "c3oexS3hd0KD",
        "outputId": "07cda0f6-5df5-4585-cc7e-2483d1780690"
      },
      "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": 90,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1006
        },
        "id": "2ckiL7srd0KE",
        "outputId": "9af58050-ed26-4a35-e505-f83841de719c"
      },
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x1000 with 20 Axes>"
            ],
            "image/png": "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98ADD6h9+/Z68MEHNX/+fO3du5e/yyFs1bTXunbtanqNf/7zn4b1OXPm1GqmcBBh52JDhw7Vq6++aueSAAAAAACXsjWQ7t+/X0ePHrVzSQAAAACAS9XqJbt33XVXQO3YsWPasGGD4b0uAQAAAAA4Va0C6b///e+AWqNGjXTNNdcYvk8RAAAAAIBT1SqQLlq0yO45AAAAAABhplaBVJK++uorrVy5Uvv375fH41FSUpKys7PVpk0bO+eDjXbv3h1QGz16tGHvwoULDevXX3+9qZokxcTEGNaN7lNbUlJi2AvUF4899phh/ee3wPo5oyvnnqz98MMPkqT169dr48aNNk1YP0RERAR8XFVV5dQ4cJmEhISgrd2tW7eAmsfjUefOnSVJnTt3rr5K/BVXXGG4RnJyckAtKirKsHfkyJGG9Z/voZOOHTtm2Ltu3TrDellZWUCtQQPjv/KtX7++ev3t27dr27Zthn2A21xzzTUBtVmzZllaY82aNQG1G264wbD38OHDltYOJ7UKpMuWLdNdd92lpk2bqnXr1vL5fCopKdHs2bP15JNP6vLLL7d7TgAAAACAy9QqkD766KOaOHGibrnllup/yausrNS8efP00EMPEUgBAAAAAL+oVrd9OXDggEaPHu33spLIyEjdfPPN+v77720bDgAAAADgXrUKpOeee67he/7279+vTp061XkoAAAAAID71eolu+PHj9fkyZM1atQonXvuuaqsrNTevXu1aNEi3XTTTSoqKqru7dChg23DAgAAAADco1aB9E9/+pMkadOmTdVXmDx55blNmzZVP/Z4PNq+fbsNYyJY3njjDcP6rl27DOtGVxqt6T3DDz30kGG9Xbt2AbU///nPhr3FxcWGdSCY/vCHPwTUunfvbth78s++Uy1dutTOkULGySvqRkREVH9c0/+jkz8vEN5quoKs0e+bv/3tb4a99957b53n6Nq1a0Dt51fRXrx4cfXHFRUVhmscPXo0oFbTVWsXLFhgWP/8888DakZX7Zak7777zrD+zTffBNQaN25s2FtYWFh9rKioSIWFhYZ9QKhq3769Yf3111+v89p79uwJqNW0L1GzWgVSo9t2AAAAAABgRa0C6UUXXWT3HAAAAACAMFOrQOr1evXcc89p165dOn78uN8xj8ejF154wZbhAAAAAADuVatAOmXKFG3YsEE9evRQixYt7J4JAAAAABAGahVIP/vsMy1ZskRt27a1ex7UE1u2bDGsDxkyJKDWv39/w96FCxca1seOHRtQO++88wx7+/XrV9OIQNAYXfwjKirKsPff//63YT0vL8/WmZwUHR0dULvvvvtMf/57771nWL/nnntqOxJc5OSFEk+1b9++gFpmZmbQ5vjqq68CakuWLNGvfvUr3XfffZo5c2Z1T00XbPzXv/4VtPmMjBkzxrB+1llnBdSMLr4ChIPJkycb1k9eeK8uZs2aVec1UMv7kMbExKhVq1Z2zwIAAAAACCO1CqTDhw/Xq6++avcsAAAAAIAwUuuLGr388st644031K5dO0VE+Ofa3NxcW4YDAAAAALhXrQLptm3b1KFDB0nSf/7zH1sHAgAAAACEh1oF0kWLFtk9BwAAAAAgzFgKpMOGDTPVx/tL3cvr9QbUavoHivnz5xvWGzQI/G33m9/8xrC3T58+1Vfg7dmzp+Lj47V69WpzwwJnQFlZmWG9pKTkDE9Sd0ZX05WkadOmBdQmTZpk2PvNN9+oYcOGat26tb777judOHGixrdxlJaW1n5YuN5f/vIXp0eQJGVkZOi+++7T0qVLtXHjRqfH8XP55Zeb7n399deDOAngvO7du0uSOnfuXP1fn8+n7OzsOq/95ptvGtZ37NhR57VhMZCefJkuAAAAAAB1ZSmQPvzww8GaAwAAAAAQZmp12xcAAAAAAOqKQAoAAAAAcASBFAAAAADgiFrd9gXu17VrV8P6tddeG1C78MILDXuNrqZbk23bthnWP/zwQ/3444+SpA0bNtS7KxwCS5cudXoEy05eifBUNV05d+jQoQG1mq44+D//8z/KyMjQhg0bdNVVV7FngXrijTfecHoEIKhWrlwp6b9//3zmmWdUUVGh5s2bm17jX//6l2F99OjRdZ4PNeMMKQAAAADAEQRSAAAAAIAjCKQAAAAAAEcQSAEAAAAAjuCiRmGkc+fOAbXx48cb9g4aNMiw3qpVqzrPUVlZGVArKSkx7K2qqlJVVVXAx0AweTweUzVJuuaaawzrt99+u50j1drEiRMDatOnTzfsjY+PN6y//PLLAbVRo0bVbTAAAGyUmJjo9/jkzzQrf3d85plnDOulpaW1Hwy/iDOkAAAAAABHEEgBAAAAAI4gkAIAAAAAHEEgBQAAAAA4wtFAWlxcrHHjxqlXr17KzMzUlClT9MMPP0iStm/fruuuu04XXHCBsrOztWDBAidHBQAAAADYzNGr7N56661KS0vTe++9px9//FHjxo3TX/7yF02fPl1jx47VkCFDNG/ePBUVFemmm25ScnKysrOznRy5Xjl5xdsWLVpU/7dVq1YaPny4Yb/RFXXbt28ftPk+//xzw/qf//zngNrSpUuDNgdglc/nM1WTar7y9JNPPhlQO/kPayeveN25c2f5fD4dOHDAcI2LL744oHb99dcb9nbr1s2wnpycHFD76quvDHtXrFhhWK/pqoMA6iejq4J36tTJsPdf//pXsMcBbLdw4cKAWkRExGkfm7F27dpaz4Tac+wM6Q8//KC0tDTdddddiomJUatWrTRw4EB9/vnnWr16tU6cOKHbbrtNTZo0UWpqqgYPHqy8vDynxgUAAAAA2MyxM6RxcXF6+OGH/WolJSVq2bKltm7dqs6dOysyMrL6WEpKil577TVLz9GhQwc1a9ZMXbp0kaTq/7rFyTOjHTt29PtvUlKSYX9UVNSZGez/a9KkiWH9nHPOCahlZGTUuE4off82btzo9AgAAABAyHD0Jbs/V1BQoJdeekl//etf9e677youLs7veLNmzeT1elVVVWX6FPyuXbv8Qu3ixYttnbm+qW8vq0tLSzOsP/7447VaLxS+f0YvkwIAAABgrF4E0vXr1+u2227TXXfdpczMTL377ruGfVb/sn/eeedVnyFdvHixRowYocLCQjtGrhd+fob0mWee0Z/+9Cd9+eWX+u1vf2vYP3To0IBamzZtgjbftm3bDOv/9//+34DaBx98UOM6bv3+AQAAAOHO8UD63nvvadKkSZo+fbquueYaSVJCQoL27t3r1+f1etWsWTNLb1AuKirye1xYWFjvX1J59tlnG9ZTUlICak888YQkqVGjRpKknJwcHT9+PKgvbV23bl1Abfbs2Ya9b775pmG9qqqqVs8dCt8/hJ+fvwrj5/70pz8F1P7nf/5HktSwYUNJP1346MSJE9VXFz/VeeedV+f5jC7Q8P777xv2zpgxo87PB8B5Rhdhq80FXgCnde/e3bB+xRVXBNR+/vfLiIiI6sfl5eWGazz99NMBte+++64WU6KuHP3TacOGDZo8ebLmzJlTHUaln17quWPHDlVUVFTXCgoKaryKJAAAAAAg9DgWSCsqKjRt2jTl5OSod+/e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qJ111lkaOnSo8vLy9P333/sdGzt2rOm1r7rqKtO9TzzxhOle/MRyIH3ssccCaseOHdOaNWss/7ABAAAAAIQvy4H07bffDqg1atRIHTt21J133mnLUAAAAAAA97McSN97771gzAEAAAAACDO1eg/pkSNH9OGHH2r//v3yeDxKSkpS79691bhxY7vnAwAAAAC4lOVAum7dOt166606duyYYmNj5fP5dOTIEcXGxmr+/Pnq3r17EMYEAAAAALiN5du+zJgxQwMHDtQnn3yizz//XOvXr9fatWt11VVX6d577w3GjAAAAAAAF7IcSEtKSjRp0iQ1b968upaQkKC7775bxcXFtg4HAAAAAHAvy4E0OTlZpaWlAfWjR4+qbdu2tgwFAAAAAHA/y4F06tSpmjFjhjZv3qzS0lIdPnxYmzdv1n333aecnByVl5dX/wIAAAAAoCaWL2o0duxYVVRUaPXq1X51n88XcEuY7du312k4AAAAAIB7WQ6kDzzwQDDmAAAAAACEGY/P5/NZ+YT8/Hxde+21AfWjR49q8eLFuuWWW2wbDs7xeDyme6uqqiyt3aRJE9O9x44ds7Q2YIfKykrTvZGRkUGcJDis7quoqCjTvaH4/wNwmz59+pjuPfUVb0CoOnHihGG9YcOGhseGDx9ueu38/Pxaz4VfZvk9pDWdIf3xxx/15JNP1nkgAAAAAEB4MP2S3QULFmjBggUqLy9X7969A46XlpaqdevWtg4HAAAAAHAv04F02LBhat++vSZMmKBhw4YFHG/cuLGys7NtHQ4AAAAA4F6mA2mTJk102WWX6d5779XIkSODORMAAAAAIAxYvspuTEyMlixZUuPxa665pg7jAAAAAADCheVAOmXKFOOFGjRQo0aNCKQAAAAAAFMsB9IvvvjC73FlZaX27NmjefPmadSoUbYNBgAAAABwN8u3fYmKivL71bhxY6Wmpmr69Om6//77gzEjAAAAAMCFLAfSmsTFxWnfvn12LQcAAAAAcDnLL9lds2ZNQO348eNatmyZWrVqZctQAAAAAAD3sxxIb7nlFnk8Hvl8Pr96s2bNNGvWLNsGwy/79a9/HVDr1KmTXnjhBd1www3auXOn37G1a9eaXruqqsp0b0pKiuleSTp27JilfqA+Gz16tOnegoICv8ddunTRyy+/rJEjR6qwsDCg/9133zW99llnnWW6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7aqsrFSrVq20YMECDR8+XGeffbZOnDihF198UU8//bT69OkTxHEBAAAAAG5h+rYv8+bN07hx4/TZZ5/pd7/7ne655x4NHz5cS5cu1bvvvqu77rpLf/vb34I5KwAAAADARUwH0r179+qWW25R06ZNNWbMGH3xxRcaNWpU9fGRI0dqz549QRkSAAAAAOA+pgOpx+NRVVWVJCkhIUENGjRQQkJC9fETJ07oxIkT9k8IAAAAAHAl0+8hTU1N1fz58zVu3Dh5PB598sknfsfnzp3LrV5qcPjwYdO9H374oeneSy+91NIcZ511lune//znP6Z7ly1bZmmOq6++2nTvxx9/bFhfuHChpecE6oN//etffo+bN2+upKQkFRQU6NChQwH927ZtM712Zmam6d7OnTub7pWkY8eOme49evSoYX3t2rWWnhNA7X366adOjwC4yvXXX2+6t7y83NLa3333neneJ554wrCek5Nj6TnrG9OB9H//93914403qlWrVrr22msVGxtbfeyqq65SSUmJXnjhhaAMCQAAAABwH9OBtHv37lqxYoUqKioCjo0ePVoXX3yx2rZta+twAAAAAAD3Mh1IJally5aG9cGDB9syDAAAAAAgfJi+qBEAAAAAAHYikAIAAAAAHEEgBQAAAAA4gkAKAAAAAHCEbYF0w4YNWrNmjV3LAQAAAABcztJVdk9n6tSp2rt3r7Zv327XkgAAAAAAF7MtkD7//POG9ygFAAAAAMCIbYH07LPPtmupsPab3/zGdG9aWlpA7fzzz9drr72mIUOGBJytnjJlSp3nM3L11VcHZV0gFBw/ftx07+bNm/0et2nTRr/73e+0c+dOffvttwH9w4cPN732J598Yro3mCorKwNqkZGRqqqqMqwjfCQkJFjq37NnT5Amcb/58+eb7r344ourP+7UqZMkKT09XdHR0bbPBYSqF1980XRvbm6upbVzcnKsjuM6lgNpVVWVVq1apZ07d6q8vDzg+J133mnLYAAAAAAAd7McSGfOnKm8vDwlJiYG/OuZx+MhkAIAAAAATLEcSN966y09++yzysrKCsY8fjp37qyGDRvK4/FU14YMGaLp06cH/bkBWMeeBUILexYIHexXuJXlQBoZGalLL700GLMYWr58uZKTk8/Y8wGoG/YsEFrYs0DoYL/CjSzfh7Rfv35at25dMGYBAAAAAIQR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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": 91,
      "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": 92,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "Zj8fE8uhd0KF",
        "outputId": "ae15f46d-5a80-48b7-b22f-e2e90fda7b53"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/30\n",
            "13/13 - 1s - loss: 2.9347 - accuracy: 0.1600 - val_loss: 2.7291 - val_accuracy: 0.0667 - 1s/epoch - 83ms/step\n",
            "Epoch 2/30\n",
            "13/13 - 0s - loss: 2.5765 - accuracy: 0.1400 - val_loss: 2.7303 - val_accuracy: 0.1000 - 62ms/epoch - 5ms/step\n",
            "Epoch 3/30\n",
            "13/13 - 0s - loss: 2.1939 - accuracy: 0.2600 - val_loss: 2.7405 - val_accuracy: 0.1000 - 59ms/epoch - 5ms/step\n",
            "Epoch 4/30\n",
            "13/13 - 0s - loss: 1.8894 - accuracy: 0.3600 - val_loss: 2.4998 - val_accuracy: 0.0333 - 61ms/epoch - 5ms/step\n",
            "Epoch 5/30\n",
            "13/13 - 0s - loss: 1.7878 - accuracy: 0.4800 - val_loss: 2.4648 - val_accuracy: 0.1333 - 60ms/epoch - 5ms/step\n",
            "Epoch 6/30\n",
            "13/13 - 0s - loss: 1.6607 - accuracy: 0.5400 - val_loss: 2.6164 - val_accuracy: 0.0667 - 57ms/epoch - 4ms/step\n",
            "Epoch 7/30\n",
            "13/13 - 0s - loss: 1.3819 - accuracy: 0.6600 - val_loss: 2.3463 - val_accuracy: 0.2000 - 57ms/epoch - 4ms/step\n",
            "Epoch 8/30\n",
            "13/13 - 0s - loss: 1.2781 - accuracy: 0.8200 - val_loss: 2.4229 - val_accuracy: 0.1333 - 57ms/epoch - 4ms/step\n",
            "Epoch 9/30\n",
            "13/13 - 0s - loss: 1.1228 - accuracy: 0.8400 - val_loss: 2.3105 - val_accuracy: 0.2333 - 54ms/epoch - 4ms/step\n",
            "Epoch 10/30\n",
            "13/13 - 0s - loss: 0.9555 - accuracy: 0.9000 - val_loss: 2.4346 - val_accuracy: 0.2000 - 58ms/epoch - 4ms/step\n",
            "Epoch 11/30\n",
            "13/13 - 0s - loss: 0.9112 - accuracy: 0.9000 - val_loss: 2.2961 - val_accuracy: 0.2000 - 58ms/epoch - 4ms/step\n",
            "Epoch 12/30\n",
            "13/13 - 0s - loss: 0.8245 - accuracy: 0.9400 - val_loss: 2.3554 - val_accuracy: 0.2000 - 57ms/epoch - 4ms/step\n",
            "Epoch 13/30\n",
            "13/13 - 0s - loss: 0.7053 - accuracy: 0.9800 - val_loss: 2.2176 - val_accuracy: 0.2667 - 57ms/epoch - 4ms/step\n",
            "Epoch 14/30\n",
            "13/13 - 0s - loss: 0.6862 - accuracy: 0.9400 - val_loss: 2.3015 - val_accuracy: 0.2333 - 59ms/epoch - 5ms/step\n",
            "Epoch 15/30\n",
            "13/13 - 0s - loss: 0.5831 - accuracy: 1.0000 - val_loss: 2.1959 - val_accuracy: 0.2333 - 59ms/epoch - 5ms/step\n",
            "Epoch 16/30\n",
            "13/13 - 0s - loss: 0.5113 - accuracy: 0.9800 - val_loss: 2.2710 - val_accuracy: 0.2667 - 62ms/epoch - 5ms/step\n",
            "Epoch 17/30\n",
            "13/13 - 0s - loss: 0.4824 - accuracy: 1.0000 - val_loss: 2.1850 - val_accuracy: 0.3000 - 57ms/epoch - 4ms/step\n",
            "Epoch 18/30\n",
            "13/13 - 0s - loss: 0.4292 - accuracy: 1.0000 - val_loss: 2.3089 - val_accuracy: 0.2333 - 58ms/epoch - 4ms/step\n",
            "Epoch 19/30\n",
            "13/13 - 0s - loss: 0.4073 - accuracy: 1.0000 - val_loss: 2.1461 - val_accuracy: 0.2333 - 64ms/epoch - 5ms/step\n",
            "Epoch 20/30\n",
            "13/13 - 0s - loss: 0.3722 - accuracy: 1.0000 - val_loss: 2.1708 - val_accuracy: 0.2667 - 65ms/epoch - 5ms/step\n",
            "Epoch 21/30\n",
            "13/13 - 0s - loss: 0.3345 - accuracy: 1.0000 - val_loss: 2.2929 - val_accuracy: 0.2000 - 59ms/epoch - 5ms/step\n",
            "Epoch 22/30\n",
            "13/13 - 0s - loss: 0.3030 - accuracy: 1.0000 - val_loss: 2.0633 - val_accuracy: 0.3333 - 60ms/epoch - 5ms/step\n",
            "Epoch 23/30\n",
            "13/13 - 0s - loss: 0.2766 - accuracy: 1.0000 - val_loss: 2.1610 - val_accuracy: 0.3000 - 67ms/epoch - 5ms/step\n",
            "Epoch 24/30\n",
            "13/13 - 0s - loss: 0.2528 - accuracy: 1.0000 - val_loss: 2.1528 - val_accuracy: 0.3333 - 63ms/epoch - 5ms/step\n",
            "Epoch 25/30\n",
            "13/13 - 0s - loss: 0.2485 - accuracy: 1.0000 - val_loss: 2.1131 - val_accuracy: 0.3667 - 61ms/epoch - 5ms/step\n",
            "Epoch 26/30\n",
            "13/13 - 0s - loss: 0.2220 - accuracy: 1.0000 - val_loss: 2.1586 - val_accuracy: 0.2667 - 60ms/epoch - 5ms/step\n",
            "Epoch 27/30\n",
            "13/13 - 0s - loss: 0.2010 - accuracy: 1.0000 - val_loss: 2.0717 - val_accuracy: 0.3333 - 62ms/epoch - 5ms/step\n",
            "Epoch 28/30\n",
            "13/13 - 0s - loss: 0.1978 - accuracy: 1.0000 - val_loss: 2.1459 - val_accuracy: 0.3000 - 61ms/epoch - 5ms/step\n",
            "Epoch 29/30\n",
            "13/13 - 0s - loss: 0.1865 - accuracy: 1.0000 - val_loss: 2.1506 - val_accuracy: 0.3000 - 63ms/epoch - 5ms/step\n",
            "Epoch 30/30\n",
            "13/13 - 0s - loss: 0.1689 - accuracy: 1.0000 - val_loss: 2.0597 - val_accuracy: 0.3333 - 62ms/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": 93,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 0
        },
        "id": "xVJR8xXcd0KF",
        "outputId": "3da852af-eec1-4dc0-b299-cc159a8b62b2"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Epoch 1/30\n",
            "13/13 - 1s - loss: 2.2950 - accuracy: 0.1600 - val_loss: 2.3185 - val_accuracy: 0.0333 - 613ms/epoch - 47ms/step\n",
            "Epoch 2/30\n",
            "13/13 - 0s - loss: 1.9245 - accuracy: 0.2600 - val_loss: 2.1294 - val_accuracy: 0.0667 - 57ms/epoch - 4ms/step\n",
            "Epoch 3/30\n",
            "13/13 - 0s - loss: 1.6409 - accuracy: 0.6000 - val_loss: 1.9643 - val_accuracy: 0.4333 - 57ms/epoch - 4ms/step\n",
            "Epoch 4/30\n",
            "13/13 - 0s - loss: 1.4076 - accuracy: 0.7800 - val_loss: 1.8214 - val_accuracy: 0.4333 - 57ms/epoch - 4ms/step\n",
            "Epoch 5/30\n",
            "13/13 - 0s - loss: 1.2023 - accuracy: 0.8800 - val_loss: 1.7011 - val_accuracy: 0.5667 - 61ms/epoch - 5ms/step\n",
            "Epoch 6/30\n",
            "13/13 - 0s - loss: 1.0385 - accuracy: 0.9000 - val_loss: 1.6121 - val_accuracy: 0.6333 - 65ms/epoch - 5ms/step\n",
            "Epoch 7/30\n",
            "13/13 - 0s - loss: 0.9014 - accuracy: 0.9400 - val_loss: 1.5456 - val_accuracy: 0.6000 - 62ms/epoch - 5ms/step\n",
            "Epoch 8/30\n",
            "13/13 - 0s - loss: 0.7866 - accuracy: 0.9800 - val_loss: 1.4813 - val_accuracy: 0.6667 - 59ms/epoch - 5ms/step\n",
            "Epoch 9/30\n",
            "13/13 - 0s - loss: 0.6939 - accuracy: 0.9800 - val_loss: 1.4247 - val_accuracy: 0.6667 - 59ms/epoch - 5ms/step\n",
            "Epoch 10/30\n",
            "13/13 - 0s - loss: 0.6143 - accuracy: 0.9800 - val_loss: 1.3853 - val_accuracy: 0.6667 - 62ms/epoch - 5ms/step\n",
            "Epoch 11/30\n",
            "13/13 - 0s - loss: 0.5532 - accuracy: 1.0000 - val_loss: 1.3424 - val_accuracy: 0.6667 - 66ms/epoch - 5ms/step\n",
            "Epoch 12/30\n",
            "13/13 - 0s - loss: 0.4975 - accuracy: 1.0000 - val_loss: 1.3360 - val_accuracy: 0.6667 - 64ms/epoch - 5ms/step\n",
            "Epoch 13/30\n",
            "13/13 - 0s - loss: 0.4474 - accuracy: 1.0000 - val_loss: 1.3066 - val_accuracy: 0.7000 - 58ms/epoch - 4ms/step\n",
            "Epoch 14/30\n",
            "13/13 - 0s - loss: 0.4045 - accuracy: 1.0000 - val_loss: 1.2655 - val_accuracy: 0.7000 - 58ms/epoch - 4ms/step\n",
            "Epoch 15/30\n",
            "13/13 - 0s - loss: 0.3664 - accuracy: 1.0000 - val_loss: 1.2414 - val_accuracy: 0.7000 - 62ms/epoch - 5ms/step\n",
            "Epoch 16/30\n",
            "13/13 - 0s - loss: 0.3358 - accuracy: 1.0000 - val_loss: 1.2267 - val_accuracy: 0.7000 - 55ms/epoch - 4ms/step\n",
            "Epoch 17/30\n",
            "13/13 - 0s - loss: 0.3093 - accuracy: 1.0000 - val_loss: 1.2118 - val_accuracy: 0.6667 - 59ms/epoch - 5ms/step\n",
            "Epoch 18/30\n",
            "13/13 - 0s - loss: 0.2849 - accuracy: 1.0000 - val_loss: 1.1893 - val_accuracy: 0.6667 - 58ms/epoch - 4ms/step\n",
            "Epoch 19/30\n",
            "13/13 - 0s - loss: 0.2619 - accuracy: 1.0000 - val_loss: 1.1849 - val_accuracy: 0.6667 - 59ms/epoch - 5ms/step\n",
            "Epoch 20/30\n",
            "13/13 - 0s - loss: 0.2434 - accuracy: 1.0000 - val_loss: 1.1656 - val_accuracy: 0.7000 - 59ms/epoch - 5ms/step\n",
            "Epoch 21/30\n",
            "13/13 - 0s - loss: 0.2264 - accuracy: 1.0000 - val_loss: 1.1634 - val_accuracy: 0.6667 - 55ms/epoch - 4ms/step\n",
            "Epoch 22/30\n",
            "13/13 - 0s - loss: 0.2105 - accuracy: 1.0000 - val_loss: 1.1499 - val_accuracy: 0.7000 - 56ms/epoch - 4ms/step\n",
            "Epoch 23/30\n",
            "13/13 - 0s - loss: 0.1962 - accuracy: 1.0000 - val_loss: 1.1397 - val_accuracy: 0.7000 - 63ms/epoch - 5ms/step\n",
            "Epoch 24/30\n",
            "13/13 - 0s - loss: 0.1837 - accuracy: 1.0000 - val_loss: 1.1313 - val_accuracy: 0.7000 - 61ms/epoch - 5ms/step\n",
            "Epoch 25/30\n",
            "13/13 - 0s - loss: 0.1737 - accuracy: 1.0000 - val_loss: 1.1256 - val_accuracy: 0.7000 - 60ms/epoch - 5ms/step\n",
            "Epoch 26/30\n",
            "13/13 - 0s - loss: 0.1624 - accuracy: 1.0000 - val_loss: 1.1195 - val_accuracy: 0.7000 - 65ms/epoch - 5ms/step\n",
            "Epoch 27/30\n",
            "13/13 - 0s - loss: 0.1535 - accuracy: 1.0000 - val_loss: 1.1088 - val_accuracy: 0.7000 - 59ms/epoch - 5ms/step\n",
            "Epoch 28/30\n",
            "13/13 - 0s - loss: 0.1458 - accuracy: 1.0000 - val_loss: 1.1028 - val_accuracy: 0.7000 - 68ms/epoch - 5ms/step\n",
            "Epoch 29/30\n",
            "13/13 - 0s - loss: 0.1372 - accuracy: 1.0000 - val_loss: 1.1017 - val_accuracy: 0.7000 - 56ms/epoch - 4ms/step\n",
            "Epoch 30/30\n",
            "13/13 - 0s - loss: 0.1294 - accuracy: 1.0000 - val_loss: 1.0964 - val_accuracy: 0.7000 - 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": 94,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 963
        },
        "id": "fwDEhq0Qd0KF",
        "outputId": "ab21860e-88c3-490b-a126-fd71d17be9ea"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "<ipython-input-94-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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2aGQG9vQf3fvbNdKmhY6GSE3tlmhVUREROZndNIUEhKCtm3bom/fvtixYwfS09Mt0S6yA6IoYurxCdCL2S8Wphf1LJhLRESFhtFJ0969e/H777/jpZdewldffYVXX30VX3/9Na5fv26J9pENC40+nutq3IBUMPdk9IkCahEREZHl5Gudprp162LChAk4cuQI5s6di9jYWPTo0QM9e/ZESEgI9Hou9V4U3E+KNut+REREtsykxS21Wi3i4uKQkJAArVYLjUaD2bNn480338Tdu3fN1UayUb6upc26HxERkS3LV9J09epVTJ8+Ha+++iomTJiAYsWK4ffff8emTZuwZ88e1KpVC2PHjjV3W8nGBJZuiooe/rnu4+9ZCQGlmxRQi4iIiCzH6CUHevTogfPnz6NKlSr49NNP0bVrV7i5uRm+7+DggHHjxqFx48ZmbSjZnoyCuX13vZvt91kwl4iIChOjk6bKlStj/PjxqFu3bo77ODk54auvvjKlXWQnqni9nO12f89KmNRkGuu/ERFRoWF00vT1119j9+7duHz5MqpWrQoAOHLkCBITExEUFGTYr1OnTuZrJdmskBtbAQACBPzS4XdodKnwdS2NgNJN2MNERESFitFJ09q1a/HNN9/ghx9+MGzTaDSYOHEinj59il69epm1gWTbQiKlxSublGmGjpWCrdwaIiIiyzF6IvjKlSuxePFiNG/e3LCtbdu2WLp0KVauXGnWxpFtux1/C/8+OgcAHIYjIqJCz+ik6f79+2jYsGGW7TVr1sT9+/fN0iiyDzsin5VICfJn0kRERIWb0UlT2bJlcfTo0Szb9+7di1KlSpmlUWQfMurK1StZH37uZa3cGiIiIssyek7TwIEDMXToUDRv3hzlypWDXq/HjRs3cPLkScybN88SbSQb9CD5AU5FhwIAgit1sXJriIiILM/opKlTp07w9vbGmjVrcPz4cSgUClSsWBFLly5FYGCgJdpINmjnje0QIRXi5XwmIiIqCoxOmgCgWbNmaNasWZbt69evR48ePUxuFNm+jKUGqvpUw0teVazcGiIiIsvLV9L09OlTXL16FRqNxrAtOjoa06dPZ9JUBMSmxuCve9K8tiD2MhERURFhdNL0119/YciQIUhJSYEgCBBF0bCIYXAw1+kpCvbc3AWtXguA85mIiKjoMPrpublz5+L999/Hjh07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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": "d7ac6d33-67d2-4fad-acce-2503d90533dc"
      },
      "execution_count": 95,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Time in seconds since end of run: 1706002394.2473207\n",
            "Tue Jan 23 09:33:14 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
}