862 lines (861 with data), 168.5 kB
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 0
},
"id": "A7xgHxPxd0J_",
"outputId": "596d3d1d-7d85-4853-96bf-b929671e8e7c"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since beginning of run: 1706118861.8111155\n",
"Wed Jan 24 17:54:21 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",
"{.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": "a4485ad6-8916-4391-e22e-07cdaa9c5e15"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n",
"11490434/11490434 [==============================] - 1s 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)))\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": "74c7de7e-0761-47b7-b2c6-d4909c7c04db"
},
"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": "a01c4f5a-0369-4714-9ba1-1b98d39ce98c"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 1000x1000 with 20 Axes>"
],
"image/png": "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AAAANxndY1pbW6vdu3f7rpeVlWn79u3q3r27evfurbvuuksPPvig+vXrp6ysLM2cOVNpaWnNznUKAAAAAIhsQe0xLS4u1meffea3/vnnn6u4uNj2djZv3qxvfetb+ta3viVJKioq0re+9S3NmjVLknTvvffq9ttv16233qoLL7xQtbW1Wr9+vTp27BhMbAAAAABAGApqML3//vsDfo/ps88+0/333297O5dccoksy/K7rFy5UpLk8XhUXFysiooKnThxQq+++mqL3+MCAAAAAESmoAZTy7Lk8Xj81t977z1179691aEAAAAAALHD0XdMu3XrJo/HI4/Ho/79+zcbThsbG1VbW6uf/vSnrodEcObMmRNwffDgwX5r3/ve9wLW5uXlBVz/+9//HnQuIJK1dNTvRx55JOB6oCONHj9+PGDtxIkTA65v3rzZby2ajlTau3dv0xEQBs455xzbtf/85z9DmCR6BPp7KdCReiXpX//6l99aS39XAbEgMzMz4Przzz/f6m0vWbIk4Prrr7/e6m1HMkeD6aJFi2RZliZPnqz777+/2SkP4uPjlZmZyRFzAQAAAACOOBpMCwoKJH15KpeLLrpIHTp0CEkoAAAAAEDsCOp0MVlZWQFP+H4KH8sCAAAAANgV1GCamZkZ8OBHpzQ2NgYdCAAAAAAQW4IaTLdt29bs+smTJ7Vt2zY9+uijeuihh1wJhtarq6sLuH7LLbf4rW3dujVg7RNPPBFwPdCXswMdoEWSli5dGnDdsqyA60A4O3Xe5f8r0EGOWnLNNdcEXH/zzTeDygTEmnfffdd0hJBLSkryW7viiisC1t5www0B1y+//HLbP++BBx7wW6uqqrJ9fyDatNRvAwcOtL2NkpKSgOu//vWvg8oU7YIaTLOzs/3WhgwZorS0NM2fP19jx45tdTAAAAAAQGwI6jymLTnnnHNi4reYAAAAAAD3BLXHtKamptl1y7J08OBBzZkzR/369XMlGAAAAAAgNgQ1mHbt2tXv4EeWZSkjI0OrV692JRgAAAAAIDYENZj+3wPfxMXFqUePHjr77LPVvn1QmwQAAAAAxKigpsjvfe97budAG9qzZ4/f2k033RSwdsWKFQHXb7zxRltrktS5c+eA60899ZTf2tedHxcIB48++mjA9ZZOoRXoSLuxcPTduDj/Qxg0NTUZSIJo1L1795BtO9AB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O3bMd/n0009DkREAAAAAEMUcD6b79+/XHXfcoU6dOoUiTzNz5syRx+NpdhkwYEDIfy4AAAAAoO04/ihvfn6+Nm/erL59+4Yij5/zzz9fr776qu96+/auHUgYAAAAABAGbE1569at8/35yiuv1LRp07Rjxw5985vfVIcOHZrVXn311e4GbN9eqamprm4TAAAAABA+bA2mY8aM8VsrLi72W/N4PGpsbGx1qK/atWuX0tLS1LFjR+Xm5mru3Lnq3bt3i/X19fWqr6/3Xa+pqXE1DwAAAADAXba+Y9rU1GTr4vZQmpOTo5UrV2r9+vVatmyZysrKdPHFF3/toZfnzp0rr9fru2RkZLiaCQAAAADgLscHP2pLo0aN0vXXX6+BAwcqPz9ff/3rX1VVVaVnn322xftMnz5d1dXVvouTcw0BAAAAANqe48H0jjvu0OLFi/3WH3vsMd11111uZGpR165d1b9/f+3evbvFmoSEBCUlJTW7AAAAAADCl+PB9Pnnn9ewYcP81i+66CI999xzroRqSW1trfbs2aNevXqF9OcAAAAAANqO48H06NGj8nq9futJSUk6cuSIK6FOueeee/Tmm29q7969euedd3TttdeqXbt2Gj9+vKs/BwAAAABgjuOTgp599tlav369CgsLm62//PLLrp/b9JNPPtH48eN19OhR9ejRQ8OHD9eGDRvUo0cPV39OOHJyNOFzzz3X0bbLysps1/7iF79wtG0gmiQkJNiufeGFF2zXTp8+3VGOV155xXbt3r17HW07VL56dHTgq55//nlH9Zs2bQpRkuh3+PBh27XvvPNOCJMA4a1///62a5383+Cf//xnMHFiluPBtKioSIWFhTp8+LBGjBghSSopKdGCBQu0aNEiV8OtXr3a1e0BAAAAAMKP48F08uTJqq+v10MPPaQHHnhAkpSZmally5Zp4sSJrgcEAAAAAEQ3x4OpJE2ZMkVTpkzR4cOHlZiYqDPOOMPtXAAAAACAGBHUYHpKLHzXEwAAAAAQWraOyvvtb39bx44ds73R4cOHa//+/UGHAgAAAADEDlt7TLdv36733ntP3bt3t7XR7du3c0RGAAAAAIAttj/KO3LkSFmWZavW4/EEHQgAAAAAEFtsDaZOznt5Snp6uuP7AAAAAABij63BtE+fPqHOAQAAAACIUbYOfgQAAAAAQKi06nQxCA91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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": "9b7b45b4-5254-4c55-dd86-6b08635f02b6"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Epoch 1/30\n",
"13/13 - 1s - loss: 2.9023 - accuracy: 0.0600 - val_loss: 2.4179 - val_accuracy: 0.2333 - 972ms/epoch - 75ms/step\n",
"Epoch 2/30\n",
"13/13 - 0s - loss: 2.1004 - accuracy: 0.2400 - val_loss: 2.2160 - val_accuracy: 0.2000 - 79ms/epoch - 6ms/step\n",
"Epoch 3/30\n",
"13/13 - 0s - loss: 1.7416 - accuracy: 0.3800 - val_loss: 2.1007 - val_accuracy: 0.2667 - 83ms/epoch - 6ms/step\n",
"Epoch 4/30\n",
"13/13 - 0s - loss: 1.3845 - accuracy: 0.6000 - val_loss: 1.9134 - val_accuracy: 0.4667 - 78ms/epoch - 6ms/step\n",
"Epoch 5/30\n",
"13/13 - 0s - loss: 1.1616 - accuracy: 0.8400 - val_loss: 1.7726 - val_accuracy: 0.4667 - 74ms/epoch - 6ms/step\n",
"Epoch 6/30\n",
"13/13 - 0s - loss: 0.9698 - accuracy: 0.8400 - val_loss: 1.7222 - val_accuracy: 0.5667 - 73ms/epoch - 6ms/step\n",
"Epoch 7/30\n",
"13/13 - 0s - loss: 0.7809 - accuracy: 0.9200 - val_loss: 1.6299 - val_accuracy: 0.4667 - 76ms/epoch - 6ms/step\n",
"Epoch 8/30\n",
"13/13 - 0s - loss: 0.6584 - accuracy: 0.9600 - val_loss: 1.5423 - val_accuracy: 0.5667 - 75ms/epoch - 6ms/step\n",
"Epoch 9/30\n",
"13/13 - 0s - loss: 0.5632 - accuracy: 1.0000 - val_loss: 1.4554 - val_accuracy: 0.6333 - 70ms/epoch - 5ms/step\n",
"Epoch 10/30\n",
"13/13 - 0s - loss: 0.4625 - accuracy: 1.0000 - val_loss: 1.4842 - val_accuracy: 0.6333 - 75ms/epoch - 6ms/step\n",
"Epoch 11/30\n",
"13/13 - 0s - loss: 0.4272 - accuracy: 1.0000 - val_loss: 1.4155 - val_accuracy: 0.6000 - 76ms/epoch - 6ms/step\n",
"Epoch 12/30\n",
"13/13 - 0s - loss: 0.3722 - accuracy: 1.0000 - val_loss: 1.4297 - val_accuracy: 0.6333 - 73ms/epoch - 6ms/step\n",
"Epoch 13/30\n",
"13/13 - 0s - loss: 0.3299 - accuracy: 1.0000 - val_loss: 1.3710 - val_accuracy: 0.6333 - 71ms/epoch - 5ms/step\n",
"Epoch 14/30\n",
"13/13 - 0s - loss: 0.3018 - accuracy: 1.0000 - val_loss: 1.3176 - val_accuracy: 0.6000 - 69ms/epoch - 5ms/step\n",
"Epoch 15/30\n",
"13/13 - 0s - loss: 0.2566 - accuracy: 1.0000 - val_loss: 1.3050 - val_accuracy: 0.6667 - 65ms/epoch - 5ms/step\n",
"Epoch 16/30\n",
"13/13 - 0s - loss: 0.2252 - accuracy: 1.0000 - val_loss: 1.3237 - val_accuracy: 0.6333 - 71ms/epoch - 5ms/step\n",
"Epoch 17/30\n",
"13/13 - 0s - loss: 0.2126 - accuracy: 1.0000 - val_loss: 1.2824 - val_accuracy: 0.6000 - 70ms/epoch - 5ms/step\n",
"Epoch 18/30\n",
"13/13 - 0s - loss: 0.1902 - accuracy: 1.0000 - val_loss: 1.2819 - val_accuracy: 0.6333 - 70ms/epoch - 5ms/step\n",
"Epoch 19/30\n",
"13/13 - 0s - loss: 0.1723 - accuracy: 1.0000 - val_loss: 1.2814 - val_accuracy: 0.6333 - 68ms/epoch - 5ms/step\n",
"Epoch 20/30\n",
"13/13 - 0s - loss: 0.1602 - accuracy: 1.0000 - val_loss: 1.2385 - val_accuracy: 0.6667 - 78ms/epoch - 6ms/step\n",
"Epoch 21/30\n",
"13/13 - 0s - loss: 0.1463 - accuracy: 1.0000 - val_loss: 1.2711 - val_accuracy: 0.6667 - 73ms/epoch - 6ms/step\n",
"Epoch 22/30\n",
"13/13 - 0s - loss: 0.1338 - accuracy: 1.0000 - val_loss: 1.2363 - val_accuracy: 0.6000 - 69ms/epoch - 5ms/step\n",
"Epoch 23/30\n",
"13/13 - 0s - loss: 0.1262 - accuracy: 1.0000 - val_loss: 1.2135 - val_accuracy: 0.6333 - 77ms/epoch - 6ms/step\n",
"Epoch 24/30\n",
"13/13 - 0s - loss: 0.1174 - accuracy: 1.0000 - val_loss: 1.2099 - val_accuracy: 0.6333 - 71ms/epoch - 5ms/step\n",
"Epoch 25/30\n",
"13/13 - 0s - loss: 0.1126 - accuracy: 1.0000 - val_loss: 1.2047 - val_accuracy: 0.6667 - 68ms/epoch - 5ms/step\n",
"Epoch 26/30\n",
"13/13 - 0s - loss: 0.1021 - accuracy: 1.0000 - val_loss: 1.2106 - val_accuracy: 0.6333 - 73ms/epoch - 6ms/step\n",
"Epoch 27/30\n",
"13/13 - 0s - loss: 0.0968 - accuracy: 1.0000 - val_loss: 1.1924 - val_accuracy: 0.6333 - 72ms/epoch - 6ms/step\n",
"Epoch 28/30\n",
"13/13 - 0s - loss: 0.0943 - accuracy: 1.0000 - val_loss: 1.1853 - val_accuracy: 0.6667 - 68ms/epoch - 5ms/step\n",
"Epoch 29/30\n",
"13/13 - 0s - loss: 0.0872 - accuracy: 1.0000 - val_loss: 1.2114 - val_accuracy: 0.6333 - 74ms/epoch - 6ms/step\n",
"Epoch 30/30\n",
"13/13 - 0s - loss: 0.0814 - accuracy: 1.0000 - val_loss: 1.1846 - val_accuracy: 0.6667 - 77ms/epoch - 6ms/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": "f0dbe001-5dbf-4511-a0aa-a41a75d9f23a"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Epoch 1/30\n",
"13/13 - 1s - loss: 2.3291 - accuracy: 0.1800 - val_loss: 2.1788 - val_accuracy: 0.2333 - 664ms/epoch - 51ms/step\n",
"Epoch 2/30\n",
"13/13 - 0s - loss: 1.9615 - accuracy: 0.3800 - val_loss: 2.0470 - val_accuracy: 0.2667 - 69ms/epoch - 5ms/step\n",
"Epoch 3/30\n",
"13/13 - 0s - loss: 1.6625 - accuracy: 0.6800 - val_loss: 1.9237 - val_accuracy: 0.3667 - 78ms/epoch - 6ms/step\n",
"Epoch 4/30\n",
"13/13 - 0s - loss: 1.4269 - accuracy: 0.8400 - val_loss: 1.7951 - val_accuracy: 0.5000 - 79ms/epoch - 6ms/step\n",
"Epoch 5/30\n",
"13/13 - 0s - loss: 1.2215 - accuracy: 0.9000 - val_loss: 1.6719 - val_accuracy: 0.5333 - 78ms/epoch - 6ms/step\n",
"Epoch 6/30\n",
"13/13 - 0s - loss: 1.0544 - accuracy: 0.9200 - val_loss: 1.5773 - val_accuracy: 0.6000 - 77ms/epoch - 6ms/step\n",
"Epoch 7/30\n",
"13/13 - 0s - loss: 0.9128 - accuracy: 0.9400 - val_loss: 1.5101 - val_accuracy: 0.5667 - 79ms/epoch - 6ms/step\n",
"Epoch 8/30\n",
"13/13 - 0s - loss: 0.7967 - accuracy: 0.9600 - val_loss: 1.4398 - val_accuracy: 0.6000 - 79ms/epoch - 6ms/step\n",
"Epoch 9/30\n",
"13/13 - 0s - loss: 0.7025 - accuracy: 0.9600 - val_loss: 1.3862 - val_accuracy: 0.6667 - 76ms/epoch - 6ms/step\n",
"Epoch 10/30\n",
"13/13 - 0s - loss: 0.6224 - accuracy: 0.9800 - val_loss: 1.3438 - val_accuracy: 0.6667 - 75ms/epoch - 6ms/step\n",
"Epoch 11/30\n",
"13/13 - 0s - loss: 0.5598 - accuracy: 0.9800 - val_loss: 1.3000 - val_accuracy: 0.6667 - 75ms/epoch - 6ms/step\n",
"Epoch 12/30\n",
"13/13 - 0s - loss: 0.5056 - accuracy: 1.0000 - val_loss: 1.2930 - val_accuracy: 0.6667 - 76ms/epoch - 6ms/step\n",
"Epoch 13/30\n",
"13/13 - 0s - loss: 0.4554 - accuracy: 1.0000 - val_loss: 1.2588 - val_accuracy: 0.7000 - 73ms/epoch - 6ms/step\n",
"Epoch 14/30\n",
"13/13 - 0s - loss: 0.4111 - accuracy: 1.0000 - val_loss: 1.2206 - val_accuracy: 0.7000 - 72ms/epoch - 6ms/step\n",
"Epoch 15/30\n",
"13/13 - 0s - loss: 0.3735 - accuracy: 1.0000 - val_loss: 1.1967 - val_accuracy: 0.6667 - 71ms/epoch - 5ms/step\n",
"Epoch 16/30\n",
"13/13 - 0s - loss: 0.3423 - accuracy: 1.0000 - val_loss: 1.1786 - val_accuracy: 0.7000 - 77ms/epoch - 6ms/step\n",
"Epoch 17/30\n",
"13/13 - 0s - loss: 0.3158 - accuracy: 1.0000 - val_loss: 1.1651 - val_accuracy: 0.7333 - 72ms/epoch - 6ms/step\n",
"Epoch 18/30\n",
"13/13 - 0s - loss: 0.2913 - accuracy: 1.0000 - val_loss: 1.1417 - val_accuracy: 0.7333 - 72ms/epoch - 6ms/step\n",
"Epoch 19/30\n",
"13/13 - 0s - loss: 0.2671 - accuracy: 1.0000 - val_loss: 1.1340 - val_accuracy: 0.7333 - 75ms/epoch - 6ms/step\n",
"Epoch 20/30\n",
"13/13 - 0s - loss: 0.2487 - accuracy: 1.0000 - val_loss: 1.1132 - val_accuracy: 0.7000 - 74ms/epoch - 6ms/step\n",
"Epoch 21/30\n",
"13/13 - 0s - loss: 0.2314 - accuracy: 1.0000 - val_loss: 1.1102 - val_accuracy: 0.7000 - 70ms/epoch - 5ms/step\n",
"Epoch 22/30\n",
"13/13 - 0s - loss: 0.2151 - accuracy: 1.0000 - val_loss: 1.0971 - val_accuracy: 0.7333 - 80ms/epoch - 6ms/step\n",
"Epoch 23/30\n",
"13/13 - 0s - loss: 0.2007 - accuracy: 1.0000 - val_loss: 1.0862 - val_accuracy: 0.7333 - 74ms/epoch - 6ms/step\n",
"Epoch 24/30\n",
"13/13 - 0s - loss: 0.1879 - accuracy: 1.0000 - val_loss: 1.0764 - val_accuracy: 0.7333 - 72ms/epoch - 6ms/step\n",
"Epoch 25/30\n",
"13/13 - 0s - loss: 0.1780 - accuracy: 1.0000 - val_loss: 1.0725 - val_accuracy: 0.7667 - 74ms/epoch - 6ms/step\n",
"Epoch 26/30\n",
"13/13 - 0s - loss: 0.1660 - accuracy: 1.0000 - val_loss: 1.0653 - val_accuracy: 0.7333 - 73ms/epoch - 6ms/step\n",
"Epoch 27/30\n",
"13/13 - 0s - loss: 0.1571 - accuracy: 1.0000 - val_loss: 1.0543 - val_accuracy: 0.7000 - 62ms/epoch - 5ms/step\n",
"Epoch 28/30\n",
"13/13 - 0s - loss: 0.1493 - accuracy: 1.0000 - val_loss: 1.0487 - val_accuracy: 0.7333 - 64ms/epoch - 5ms/step\n",
"Epoch 29/30\n",
"13/13 - 0s - loss: 0.1402 - accuracy: 1.0000 - val_loss: 1.0461 - val_accuracy: 0.7333 - 67ms/epoch - 5ms/step\n",
"Epoch 30/30\n",
"13/13 - 0s - loss: 0.1323 - accuracy: 1.0000 - val_loss: 1.0414 - val_accuracy: 0.7333 - 65ms/epoch - 5ms/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": "08568501-5225-4fda-fdee-aa8fa1594298"
},
"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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/v28mwvd3FRo1kwBRQlbp1ebOFLuGEP9YBx1xxjqB+OoO33E0GidpPXq1UNUVBRiY2M120JDQ1G9enXY2GTP+ARBwPjx42FmZoZNmzYVKmEyNRIJMGdOOqTS3JM4qVTA7NlcpJeIiMhUGC1pqlOnDurXr4+lS5ciKSkJYWFh2LhxIwYOHAgA8Pb2RkhICABg//79uHfvHn744QfI5XJjVVnvfH0V8PdPg5tb9szXzU0Ff/80+PqWsCYmIiIiE2bUMU0rVqzArFmz0KpVK9ja2mLAgAH48MMPAQARERFISUkBAPzxxx+IjIzMMfC7V69eWLhwYZHXW598fRXo1k2B4GAZYmIkcHER4OGhZAsTERGRiZEI2o7GLsaePRP5yJqWuAq1fjCOumMM9YNx1B1jqB+Mo+7ExLBMGTtRx+LED0REREQiMGkiIiIiEoFJExEREZEITJqIiIiIRGDSRERERCQCkyYiIiIiEZg0EREREYnApImIiIhIBCZNRERERCIwaSIiIiISgUkTERERkQhMmoiIiIhEYNJEREREJAKTJiIiIiIRmDQRERERicCkiYiIiEgEJk1EREREIjBpIiIiIhKBSRMRERGRCEyaiIiIiERg0kREREQkApMmIiIiIhGYNBERERGJwKSJiIiISAQmTUREREQiMGkiIiIiEoFJExEREZEITJqIiIiIRGDSRERERCQCkyYiIiIiEZg0EREREYnApImIiIhIBCZNRERERCIwaSIiIiISgUkTERERkQhMmoiIiIhEYNJEREREJAKTJiIiIiIRmDQRERERicCkiYiIiEgEJk1EREREIjBpIiIiIhKBSRMRERGRCEyaiIiIiERg0kREREQkApMmIiIiIhGYNBERERGJwKSJiIiISAQmTUREREQiMGkiIiIiEoFJExEREZEITJqIiIiIRGDSRERERCQCkyYiIiIiEZg0EREREYnApImIiIhIBCZNRERERCIwaSIiIiISgUkTERERkQhMmoiIiIhEYNJEREREJAKTJiIiIiIRmDQRERERicCkiYiIiEgEJk1EREREIhg1aYqMjMTIkSPh4eGB9u3bY/HixVCpVLmW/eWXX9C1a1c0adIEAwcOxLVr14q4tkRERFSSGTVpGjduHMqVK4fjx49j48aNOH78ODZv3pyj3MmTJ7Fy5Up89913CAwMRPv27TF69Gik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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": "53ec7f18-46e1-4efe-b9ce-a506fdcf72a0"
},
"execution_count": 14,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Time in seconds since end of run: 1706119013.7045577\n",
"Wed Jan 24 17:56:53 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
}