{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Quantum Regressor\n", "\n", "## Quantum Doctor\n", "\n", "### How to train a hybrid-quantum neural network to predict diabetes progression in patients.\n", "\n", "In this tutorial you will learn how to create a hybrid neural network, which utilizes a quantum regression layer as its output. \n", "As our training dataset we will use a subset of the [diabetes toy dataset](https://www4.stat.ncsu.edu/~boos/var.select/diabetes.html) available via `scikit-learn`.\n", "\n", "## Table of contents:\n", "- [Dataset preparation and exploration](#dataset-preparation)\n", "- [Model creation](#model-creation)\n", "- [Model training and evaluation](#model-evaluation)\n" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "import warnings\n", "warnings.simplefilter('ignore')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Dataset preparation\n", "\n", "We can load our dataset via the `load_diabetes` method available from `sklearn.datasets` as it is one of the toy datasets provided by the library. \n", "You might notice that the $X$ values are already processed. This will save us time. \n", "We will only use 200 samples from the 442 total, 100 for training and 100 for evaluation." ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "from sklearn.datasets import load_diabetes\n", "\n", "diabetes = load_diabetes()\n", "\n", "X = pd.DataFrame(diabetes.data[:200],columns=diabetes.feature_names)\n", "y = pd.Series(diabetes.target[:200])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The diabetes dataset consists of 10 numeric variables: age, sex (2 possible values), body mass index (*bmi*), average blood pressure (*bp*), as well as results of six blood serum measurements (described on the [sklearn dataset page](https://scikit-learn.org/stable/datasets/toy_dataset.html#diabetes-dataset))." ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
agesexbmibps1s2s3s4s5s6
00.0380760.0506800.0616960.021872-0.044223-0.034821-0.043401-0.0025920.019907-0.017646
1-0.001882-0.044642-0.051474-0.026328-0.008449-0.0191630.074412-0.039493-0.068332-0.092204
20.0852990.0506800.044451-0.005670-0.045599-0.034194-0.032356-0.0025920.002861-0.025930
3-0.089063-0.044642-0.011595-0.0366560.0121910.024991-0.0360380.0343090.022688-0.009362
40.005383-0.044642-0.0363850.0218720.0039350.0155960.008142-0.002592-0.031988-0.046641
\n", "
" ], "text/plain": [ " age sex bmi bp s1 s2 s3 \\\n", "0 0.038076 0.050680 0.061696 0.021872 -0.044223 -0.034821 -0.043401 \n", "1 -0.001882 -0.044642 -0.051474 -0.026328 -0.008449 -0.019163 0.074412 \n", "2 0.085299 0.050680 0.044451 -0.005670 -0.045599 -0.034194 -0.032356 \n", "3 -0.089063 -0.044642 -0.011595 -0.036656 0.012191 0.024991 -0.036038 \n", "4 0.005383 -0.044642 -0.036385 0.021872 0.003935 0.015596 0.008142 \n", "\n", " s4 s5 s6 \n", "0 -0.002592 0.019907 -0.017646 \n", "1 -0.039493 -0.068332 -0.092204 \n", "2 -0.002592 0.002861 -0.025930 \n", "3 0.034309 0.022688 -0.009362 \n", "4 -0.002592 -0.031988 -0.046641 " ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X.head(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The target variable is a quantitative measure of diabetes progression after one year." ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 151.0\n", "1 75.0\n", "2 141.0\n", "3 206.0\n", "4 135.0\n", "dtype: float64" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y.head(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As usual we will create the training and evaluation subsets using `train_test_split`" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "\n", "X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.5,random_state=42)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model creation\n", "\n", "### Quantum layer circuit\n", "\n", "A fairly simple QNN architecture will be used for the quantum layer, consisting of one input encoder applied at the beginning and end of the circuit and a RealAmplitudes block for the weights." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzQAAAEvCAYAAACT/IQGAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAATT1JREFUeJzt3XdYFNcaBvB32WXpSFVQFAFBBAW7YscSwXrtJsZoNCYmMRqvUVNuYkxRo6aaplGjSYzRWGKvwd4bFmxIk6oivbPl/oGsLLvAgsAyy/t7njyR2Tkz38LZmXl3zsyIlEqlEkRERERERAJkpO8CiIiIiIiIqoqBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBIuBhoiIiIiIBEui7wLqO6VSCVluvr7LoBoiMTOBSCSqcD72AyLDpMs2gJ9/w6frvqA0pVIJuVxeAxXVDLFYXKX3SfSsGGj0TJabjw0eL+q7DKohEyL+gLG5aYXzsR8QGSZdtgH8/Bs+XfcFpcnlcmzdurUGKqoZo0aNgkTCQ0uqfRxyRkREREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREQ6USgU+i6BSINE3wUQERERUc2RyWSIjY1FZGQkUlNTUVhYCIlEggYNGsDd3R3NmjWDVCqtcDkHDhzA2bNnMX/+fJiamtZC5US6YaAhIiIiMjAKhQJXrlzBoUOHcOPGDchksjLnFYvF8Pb2xoABA9CxY0dIJJqHhwcOHMCvv/4KAPjiiy/w/vvvw9jYuMbqJ6qMejHkLDk5GfPmzUOLFi1gamqKpk2bYtasWcjOzsbUqVMhEonw/fff67tMIiIiomeiVCpx6tQpzJw5E8uWLUNoaGi5YQYA5HI5wsLC8M033+Ctt97C4cOHoVQqVa+XDDMA4O3trTX0EOmLwffG0NBQBAcHIykpCRYWFvDx8UFCQgK+++47REREICUlBQDQtm1b/RZaHpEIPtMGo+XEAbB0cUTe4wxE7TqN0KWbIMvN13d1VBvYB4jqN24DSAdpaWlYs2YNLly4oDbdzs4OrVq1gru7O5ydnSGVSlFYWIgHDx4gMjISt2/fxsOHDwEAqampWL16Nc6cOYPXXnsNV65cUQszI0aMwNixYyESiWr1vRGVx6ADTXJyMoYOHYqkpCTMmTMHCxYsgJWVFQBg6dKlmD9/PiQSCUQiEfz8/PRcbdk6fzIZPq8MRszec7jx8y7YeDaBz9RBsG/thgNjPwFKfItChol9gKh+4zaAKhITE4NFixYhPT1dNc3Pzw8DBw5Eu3btYGRU9qAcpVKJGzdu4ODBg6owFBYWhjlz5qCwsFA1H8MM1VUGHWhmzpyJuLg4zJgxA8uXL1d7bd68efjzzz9x9epVuLm5wdraWk9Vls/GywWtpgQjes9ZHH3l6XvIvP8QXT+fCrf/dEfU9pN6rJBqGvsAUf3GbQBVJCYmBp988gmys7MBANbW1pgyZQq6du2qU3uRSIQ2bdqgTZs2uHbtGlauXInHjx8zzJBgGOw1NLdu3cKmTZvg4OCAxYsXa52nQ4cOAAB/f3+16VFRURg2bBisrKxga2uLl156CY8fP67xmrVxG9EDIiMj3Pxlj9r08A2HUZiTB49RvfRSF9Ue9gGi+o3bACpPeno6Fi9erAozLVq0wPLly3UOM6X5+fkhKChIbZpEIkGvXr0YZqjOMthAs3HjRigUCkyYMAGWlpZa5zEzMwOgHmgyMzMRGBiIuLg4bNy4EatWrcKJEycwZMgQvdx73aFtCyjkciRfCVebLs8vRMqNaDi09aj1mqh2sQ8Q1W/cBlBZlEol1qxZg7S0NABFYeaDDz54plEnBw4cwIYNG9SmyWQyrFq1is+goTrLYANNSEgIACAwMLDMeeLi4gCoB5pVq1YhPj4e//zzD4YMGYIxY8bgzz//xNmzZ7Fz586aLVoL80a2yE/JhKJA8w4lOUkpMLVvACNjgx45WO+xDxDVb9wGUFnOnj2L8+fPAwCsrKzwzjvvqL6srYrSdzMbMmQIHBwcABSNfDl48OCzFUxUQwx2CxgTEwMAcHV11fq6TCbDqVOnAKgHmt27d6NHjx5o1qyZalpAQADc3d2xa9cu/Oc//6l0LR07dkRSUpLW14yVRliAzmW2FZuZQF5QqPU1eX7RdImZFAWF5d+SkfTDy9MLhaKKv9Eqrx+wDxAJly7bAO4HDJ+u+4LSpFJpmcPmFQoF/vrrL9XPL7/8MmxsbKpaokaYKb5mpm3btvjss88AAFu3bkXfvn3LfAinl5cXCgoKqlwD1W9OTk64ePFildoabKApHkuam5ur9fVNmzYhOTkZVlZWcHNzU02/efMmxowZozG/r68vbt68WaVakpKSEB8fr/U1qUgMNCq7rTw3H8YWDbS+JjYpeqCVLJcbj7oqITEBBUp5hfOV1w/YB4iES5dtAPcDhk/XfUFpJiYmZb52/fp1PHjwAADg4+ODgICAKtdXVpgRiURo3bo1AgICcObMGWRmZuLcuXPo2bOn1uUkJCQgP5+3EafaZ7CBxsnJCampqbh8+bLGhzwxMRFz584FUHTxW8mL3FJTU7V+w2FnZ4c7d+5UuZayGCuNgHK+tMl5kIoGXi4wkko0hhuYO9kh73E6FPxWrs5q7NxY5zM0ZfUD9gEi4dJlG8D9gOHTdV9QWllnQgDg8OHDqn8HBQVV+YL98sJMsYEDB+LMmTMAgIMHD5YZaBo3bswzNFRl5R0vV8RgA03//v1x69YtfPHFFxgwYAC8vLwAABcuXMDEiRORnJwMoHYeqFne6bPCnDxs8HixzNeTQ++hSZ+2cGjniYfnbqmmi02MYde6OR6cvVVmW9K/u+F3YWxuWuF85fUD9gEi4dJlG8D9gOHTdV9Qmkwmw9atWzWmKxQKXLt2DQBgY2OjumtrZekSZgCgZcuWcHFxQVxcHMLDw5GTkwNzc3ON5d29excSicEeWlIdZrA3BZg3bx7s7e0RGxsLX19ftGnTBp6enujcuTPc3d3Rt29fAJq3bLa1tVXdLaSklJQU2NnZ1UbpaqJ2nIZSoYDPtMFq0z0n9IexuSkitx2v9ZqodrEPENVv3AZQaYmJiaqhXV5eXhCLxZVehq5hBih6Tk2rVq1UP0dHR1e+aKIaZLAx2sXFBSdOnMDcuXNx7NgxREdHw8fHBytXrsS0adPg4VF0m8vSgaZVq1Zar5W5efMmevWq/Xv9p92+j9u/7kerqYMQuGYu4v69jAZPnhCddDoMkdv4MDVDxz5AVL9xG0ClRUZGqv7t7u5e6faVCTPFSl5vHBkZCR8fn0qvl6imGGygAYrCye7duzWmZ2VlITo6GkZGRmjdurXaa0OGDMH777+PuLg4uLi4AADOnTuHiIgILFu2rFbqLu38R+uQFfsIXi/2h0u/9shLycCttftwZekmQKnUS01Uu9gHiOo3bgOopNTUVNW/nZ2dK9W2KmGm9HpKrp+oLjDoQFOWsLAwKJVKeHl5aYwBffXVV7FixQoMHz4cCxcuRF5eHubNm4fOnTtj+PDheqlXqVAgbOUuhK3cpZf1k/6xDxDVb9wGUEktW7bEmDFjUFBQgCZNmujc7v79+1UKMwDg6OiIYcOGQSqVqq5LJqor6mWguX79OgDN4WYAYG1tjZCQEMyaNQvjx4+HRCLBkCFD8PXXX8PIyGAvOSIiIiKBaNmyJVq2bFnpds2aNcOkSZOwfv36SoUZAHBwcMALL7xQ6XUS1QYGGi08PDy0DlUjIiIiErLg4GB4eHjA09Ozyrd6JqprGGiIiIiI6hEOGSNDUy8DTUhIiL5LICIiIiKiasCLQoiIiIiISLAYaIiIiIiISLAYaIiIiIiISLAYaIiIiIiISLAYaIiIiIiISLAYaIiIiIiISLAYaIiIiIiISLAYaIiIiIiISLAYaIiIiIiISLAYaIiIiIiISLAYaIiIiIiISLAk+i6AiIiIiDSJxWKMGjWqWpa1bOUmZGZnw8rCAnNfG1fmtGchFoufeRlEVcFAQ0RERFQHiUQiSCTVc6imBKBQFv2/eJnaphEJEYecERERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYDHQEBERERGRYEn0XQARERERUWlKpRJyuVzfZVSKWCyGSCTSdxn1DgMNEREREdU5crkcW7du1XcZlTJq1ChIJDy8rm0cckZERERERILFQENERERERILFQENERERERILFQENERERERILFQENERERERILFQENERERERILFQENERERERILFQENERERERILFQEP1jlOALyYnbkGLsX30XUq9I+TffdDWhRh9/ke1aT2+eROTE7fUiVpIuxZj+2By4hY4BfjquxSqQ4S8LSIiTXyUqQFyCvBF0LaFatMKs3OREZmIiC3HcWvNXijlikov19LFEaMv/FTuPJvbv4qcxJRKL5tqXk31i+okMjLC6Is/wcLZHpeX/oVrX9d+WHhWzYI6wc7XDaFfbtZ3Kc9EW38pSSGT47em42qxIqoM7geIqD5hoDFgkdtOIC7kMiASwczRBi3G9EbnhZPRwLMJzsxdWeXlxh+7ioi/j2p9LT8tq8rLpdpRU/2iOjTp2w4WzvbIiEpEi7F96nygOfXOzzgzf5XatGZBndFiXKDgA00xVX8pRalQ6qEaqizuB4ieUiqVSE9PR15eHkQiEczMzGBlZQWRSKRTe4VCgV27dmHgwIEwNTWt4WqpMhhoDNjj61GI3HpC9fOddQcw4sS38HqhHy4v2Yj8xxlVWm5GRILacqmIxNwUspw8fZdRoZrqF9XB84W+yIhKxIWP16Pf+nfh1M0XSafD9FZPRZQyOeQyub7LqFGl+wsVnUk0MpFAnlug71IqxP1A7RLKfqA+uX//Pk6ePImIiAhER0cjOztb7fUGDRrA3d0dLVq0QM+ePdGwYUOty1EoFPjhhx9w6tQphIaGYv78+Qw1dUi9CDTJyclYunQptm3bhri4ODg6OmLkyJFYtGgRZs6cibVr12LFihWYMWOGvkutUbLcfDy6HI7mQwNg7doIjx5nwKVfe/T77V2E/3UEp+c8HUYgMTfF0ANfQNrAAjv7vYPcR2mVXt/kxC24t+kI7vx+CB0+mAB7fw/I8wpxf985nP9oncZG38zRBm1mjkTTAR1g7mSHgswcpIZF4/qPO5B4/JpqvkZdW8H/7dFwaNcCRsYSpN+Lx+1f9yN8Y4hGDU0HdkLbOWNh49kEeY8zcG/zUSSdvam1XiOpBL7Th8F9ZE9YuzaCPL8QD87dwpVlm5ByI0o1X/FQjpOzvofE3BTeLw+ElasTrq/YLshv5bX1CwAwa2gD//+OgUv/9jBztEF+SiZiD1/ClSUbkVfiIMiskS18pw9F4x5tYOHiCImpFJn3H+De5mMI+2knlArdhrWYOjRA0/4dcPXrLYj79zJyH6XB84V+WgPN6PM/Iiv2Ec59uBadFkyCYwdPyHILELHlGC599geMJGK0m/883P7THaa2VngUeg9n5q1Eeni8ahktxvZBj29n4MDYhWjUuRVajA+EmaMN0iMScP27bYjacarCmnt88yZajAvEOufRAIqubXHqVnStRslra07O+h73Nh9F0NaFsGzqiC2d31BbTvEwntDlm9X6kLSBBTp+OBHNgjtDbCrF49AIXFi4vsx67P094DdrJBp1aQVjCzNkxT5ExJZjuP79P2rDi2y8XND2nXFw7OgFUztrFKRnIS08HmE/7UTcv5pnYypSsv7kqxFoO2cMbL2bIT89G5Fbj+PSog0aw5usmjvBb9ZINO7lD1MHa+SnZCI5NAJXv/4bj69FquZrFtQJvq8Ph13r5oBSiZSwGNz4cQdiD1zQqMNzQn+0nj4Ulk0bIjshGbd/3Y+CjBytNRtbmcNv5ki4Du4Ci8YOKMzKQcLx67i85E9k3X+omq9kP3Hs2BItxvaBZRMHnH7nZ9zbfLTSvyt9436A+4H6QKlU4ty5c9i3bx/u3LlT7rzp6em4cuUKrly5gi1btqB9+/YYNGgQfH2fXndXMswAwN27dxEZGQkfH58afR+kO4MPNKGhoQgODkZSUhIsLCzg4+ODhIQEfPfdd4iIiEBKStE437Zt2+q30HK0eWsE7Nu4w97PHVaujZAV+1DjgEhXVs0bAXg6JCDu38u4+cse+L42FInHr6kO4roumQZrd2ccfnGRxk5MbGIMEzsrjWUrZXKNgwc73+bo99t7uLfpCCK3n4RTgC+8JvSHUqlUG+5g6eKI4J2fwczRBhF/H0Py1QhIzE3g2MELjXv6qXZkLgM6oO/aech9mIawn3ehMDsPbsO7o/tXb8DStRGuLNmoWmaz4M4IXP0OsmIfIfTrLVDK5GgxPhAu/dtr1C6SiDHgz/+hYceWiNhyDLfX7oPU2hyeE/pj0M7PsG/ER3h8NUKtjc+0wTCxtcLdDYeR+ygN2QmPdf0zVFp19gFtSvcLiyYOGLTrc4ilEoT/GYKMmAewbu6ElpOeg3O31tgVNB+FmUV/azsfV7gO6oL7+84jM/oBjIzFaBLYFh3/9yKsXBvizLxVZa63JI8xvSESGyHi72NQyhWI3HYCLV96DmetzFXrKsnc2Q7PbfoI0TtOIWbPWTTu7Y/W04dBKVPApmVTiE2luP79PzC1s4Lv68PQd+08bO/1NqBUHyrV4X8vwtjcFLfXHQAAeI4PRO+fZ0NsYlzpA9ar324FjERw6uqD4zO+VU1/eKH8Hao2IokYAzb+D47tPHHv72N4dOku7Fo3x3ObPkJ+aqbG/C792iNwzVxkRCch7OddyE/LQsMOXmg7dxzsfN1w9NUvAQAmtpYYuOVjAMCd3w4iKy4ZpnZWsPf3gEN7T41AIzGTav28KwpkKMzKVZvWpF87tJw8EHd+O4jwjSFoFtQJrd8Yjvz0bFz/bptqPnt/Dwzc/BGMjCUI//NfpN6JhYmNJZwCfODYsaUq0LScNBABS6YhLTwOV78qCogtxvVBv3XzcXruz7j7x2HVMn2mDUbnT15Gyo0oXF78J8TmJvCdPgx5j9M1aje2MsegXZ/DsokDwv8KQdqdWJg1tIX35IEYsncxdgXNR3ZcslqbTh+9BJGxBOEbDqMgMxfpEQll/u1qAvcD3A+Qbh4/foxVq1bh6tWrGq/Z2trC1dUVFhYWUCqVyMjIQFRUlOqsjVKpxKVLl3Dp0iX06dMHL730EkxNTdXCjFgsxuzZsxlm6hiDDjTJyckYOnQokpKSMGfOHCxYsABWVkUb4KVLl2L+/PmQSCQQiUTw8/PTc7Vl6/D+BOSlZCLleiSk1uY6t1MdiDwZO93ypedg38Ydjy6HIyMyUTXfpc83oFFXHwQsfRWProSjYWdvtBjTGzd+2on4I6Eay/Wa0B9eE/prTE+9fR87Av+rNs3WxxV7hnyA5CvhAIC7vx+CsZUZPMcF4sKC9apv57oumQYLZ3scfP5TJBwttRF6MrZVZGSErotegSw7D7sHvYvcB6kAgNu/7sfALR+jzYz/4N6mI8iMSoLIyAidP30Z+WlZ2D3oXeSnFB0A3vn9EIaHfKlRe6spwXDu3lpj/bfXHcDwo1+h00cvYf+oBWptLJo4YHvPWWpnK2pKVfuANrr0iy6fTYWRsQQ7B8xVu7g3evcZDN69CL6vDlF9C5l05ia2dnlTbR03f9mDnivegucL/RC6fDNyH6ZVWJfn833x4OwtZMU9AgDc23wUvq8NhfuIHrjz20GN+a3dnHFk2peI2X0GQNHB+ZADX6D1G8MQe/ASDo59ekF0fmoWunw2BY17+2n0L1M7a+zoO0cVmu78dhDDQ75Ep48nIWrnacjzdB9WlHj8GjxG9gS6+jzzcBzP8YFwbOeJ0C83I3T502980+/GofMnLyMr9ulZBLGJMbp/9ToeXQnHgdEfq86G3P39EFJuxqDzwslwCvBF0pkwNOzkDTNHGxx99UtE7zpTYR3t5o1Hu3njNabHHrqEf19arDbNpmVT7Og9W/U3vPPbQQw/8hVaTQlWCzQ9vnkTYqkxdg96D6m3YlTTr6/Yrvq8F52dehEZUYnYM+g9VXi6s/4Ahh5ahk4LJiF652kUZORAam2Odu8+j7S7sdgz7APVULB7f4VgxImnwfLpexoHq2YNsWfI+0i9+XT99zYfwfCQr9DunXE4+fYPam3EplLsfG6u3oaZcT/A/QBV7Pz58/jpp5+Qm/v0yxYXFxf0798fnTt3hp2dnUYbpVKJBw8e4MyZMzh8+DAePy4KpUePHsXVq1fRtGlTXLtWFKaLw0zHjh1r5w2Rzgw60MycORNxcXGYMWMGli9frvbavHnz8Oeff+Lq1atwc3ODtbW1nqqs2JYub6iGQAw/8hWMLXQbs6ntQCR6z1mce2+12jRFoQzHXvsKQw8tQ9+182Dl2gjJofdwadEGrcu9v/88bq3dpzFdlq05bvjhxbuqnVixpJM30LR/B1g2dUTanVhIbSzRJLAt4kKuaO7EANU36vZ+7rB0cUTYyl2qnVhx/Td+3IF+6+aj2cDOCPt5Z9G8TRxx48cdqp0YABRm5uDObwfR4f0JaqtwH9UTaeFxeHwtUuNbx4Rj19BibB+ITaVqB7cRW47V2k6sqn1Am4r6hbGVOVwGtMe9v45Anl+o9vvIin2IzOgkNO7trwo0JX8nRsYSSCxMITISIf5oKDxG94a9vwfiDl0qtybHji1h4+mCkz/sUE1LvRmDx9ej4Pl8X62BJjvhsSrMFHt4/jYc/Dxwa+1etekPzt0CUBSCSvexO+sPqJ0BKtlHnLr5Ij7kSrm115RmQZ2hkMkR9vMutem31x9A23fGqk1z7uUHs4a2uLToT0gbWKi9FvfvZXReOBmN+/gj6UwYCp681yZ92yH+SKjGWZbS7vx+UGvw0db37++/oAozxZJO3UCrqYNU1xbYtXaDrXcz3F5/QC3MqDz5vDfu5QdjCzNcXrNRrcbCrFzcWrMXXT6dAueefqqzc8bmprj96wG1wJGTmFJ0pm/ic2qrcB/ZEw/O3UJOUopa/5blFA3HatzbX/P38NtBvV4zw/0A9wNUvuPHj+Onn36C8klfsbW1xdSpU9GhQ4dyL/oXiURwcnLCiBEjMGzYMBw5cgQbNmxAbm4uUlNTkZpa1M8YZuo2gw00t27dwqZNm+Dg4IDFixdrnadDhw64evUq/P2f7rzi4uKwZMkSnD9/HlevXkVBQYHqw6EvJcdzV0bxgYiRsQS23s3Q+s3/wMLZHvJ8zZ1yZswDXPh4Pbp/+Tpkufk49vo3UJZxsXN2wmMknriuY+0PNKYVD5cp3mFYN3eCyMhIbXyyNpbNii7US7sTq/Fa8TQr14ZP/l80pCL9XrzmvHfjNKbZeLpAYmaC58N+LXP9JnZWyCkxnCA9IrHMeatbVfuANhX1iwYejWEkFpf5DSwAZEQnqf4tEhuhzVsj4DG6N6zdiv6WJZnYWFZYk+fzfSEvKETKjShYNXdSTU84Goo2b42AbStXjYPfkmcoihWkFQ0bKP37KngytMbEVnOITFp42X3EqlmjCmuvKVaujZD7IFUjcCgKZMiMeQgTm6fBxcbTBUDRmY+ymDo0AAA8OHMT9zYfhef4vnAf2RPJoRFIPHENUTtPI13LZyMjMkn3z3uMts/7k9+9nSVkOXmwdiv6+1b8eS/63Zf/eW+k9n9dPu+m9tYwtbNGkz5ty/y8K+Sa277aHmJWGvcDRerzfoDKduHCBbUwExAQgKlTp8LSsuL9T0lisRj9+/eHn58f/ve//yEj42lYfeGFFxhm6jCDDTQbN26EQqHAhAkTyuzQZmZmAKAWaO7du4etW7eiU6dOkEqlqjGTQlTyQCQ+5AoenL+NQTs+RcAXr+HY619rzN90QNEHVWJmggYejZFZ4qC1qsp7zoEIut0msbak3IzBhY/Xlfl66bsByXPza7iimlFhv3jyTVbElmNlXkNS8hvKTh9Phs8rgxD1zylc+3Yr8h5nQFEog30bd3T8cGKFt8OUmJvCbVg3iKXGGHZ4udZ5PJ8PxPmP1qlNK69vlfWarrfmrCllfTkikoifbcFP3teFhb8hJUz7AWFOiW+zT876Hjd+3IEmfduhUZdW8J0+FH6zRuH8R7/i9q/7q1yGID7vT35XCceu4voP/+jcTAh3NNOG+4HKqS/7AUOSkpKCn3/+WbV9fe655zB58mQYGVXt2fEKhQKbNm1SCzMAcPjwYQwYMABSqfSZa6bqZ7CBJiSk6E4ngYGBZc4TF1f0DU3JQNOrVy8kJhZ94/Lxxx8LOtCU9ujiHURsOY4WY/vg5pq9eHTx6YXK3lOC0SyoE66t2AbX4C7o8e2b2NF3jk7XPjyrjOgkKBUK2Pk2L3e+zCff/tq0bKrxmo2Xy5N5HqrN26BFkzLnVashKgmm9tZIPHlD46JxQ1e6X2RExEOpUMDIWKLTN7Aeo3sh6UyYxsGRtZuzTutvPqwbjC3NcGnRBrUx/cVavTII7qN64eKnf0BRKNPtTVWCjWcTjTtmqfqTlm+WK1LeGd38tCzY+7lrTC/+JrmkzJgHRUOpLM3UztIYSSWwcm2IgvSntx7NiCr6vcly8nT+1jztTizS7sQi7KedkFqbY/CexejwwYRnCjS6KP4bV+bznnhS/T3ZeDVVm6fk511zXvXPe97jDOSnZcHYylzn35Uh4X5AfV61GurxfkColEolfvnlF9VF/V27dn3mMFP6BgCOjo5ISkpCYmIiNm3ahIkTJ1Zb/VR9qvYXF4CYmKLhKa6urlpfl8lkqg5bMtBU9UMgFFe/3gKFTI52c58+4dvWxxWdPpyIxJPXcXnxRhx7/RsYW5qj54qZqm8za1JBWhbiQq7ApV97OPdsU+Z8KdejkBX3CC3GFd1et5hIIkbrN4ZDqVDg/oHzAIDH1yKRHZ+MFuMD1cZCG1uaoeVLz5VeNCL+PgbzRrbwfW2o1nUXD9cxVCX7RX5qFuL+vQLXQV3g2N5T6/wm9k+vOVMqFBr9RGJmAp9pg3Vat+fzfZGXkokbP+5AzJ6zGv+F//kvTO2s0XRgp6q/wXK0nDQQxlZPL7I2tjJHy5eeQ35aFpLOVP4ZOMXXEEi1DLXLiEyA1MocDm1bPJ0oEsHn1SEa894/cAFGEjF8p6v3Se9JAyG1Vr9OJuFIKHIfpaHNWyO0rldsKoXkyTUXUhtLjb9XQUYOsmIfQmJmArFpzX77mBIWjdTb9+E5vq/Wg8piicevojA7F62mBKtqBwCJhSlaTQlGYVYuEp7c9Srh+DXIcvPh/fJAiM2e1m/ubAf3ET3VF6xUInLbCTi294Tr4K5a121qX3evqawO3A9wP2AoLl26hCtXiq5ztLGxwSuvvFKtYWb27NmYO3cujI2NAQB79+5FbKzmcEfSP4M9Q1Oc1kve6aKkTZs2ITk5GVZWVnBzc6vRWjp27IikJO2n7Y2VRliAzjW6/pIyo5MQteMUPEb1QsMurZByLRK9f56NgqxcHJ/xXdFzHm5E4dLnf6DzJy+jzYz/FN15qARrj8ZwH9VT6/ITj1+v0rMKzr2/BvZt3DFgwwe4t/koHl+LhNhMCsd2nsiKfYRLn/8BpUKBs++vRt+18zBk3xLc2XAYsqxcNB/WDQ07tsTVb7ciM6ro96xUKHB+wTr0WfVfDNm7BHc3HIZCJofn832Rn5oJSxdHtfXfXL0HjXv7odOCl+DcozUST95AYVYOLJo4wLlHG8jzC3Fg9MeVfl9enl4oFFX8HJba7gelle4XZ95dhUE7PkPQ9k8Q8fcxpNyIBoxEsHJthGYDOyHi72OqmwLE7D6Lli89h94/z0bCieswc2wAz/F9td5auLQGLRqjUWdvhP8VUuawlNiDFyEvKITXC301bgJQHfJSMjBk72KE/3UEQNHdxSxdHHHqvz9WaZjRo8vhaDUVCFg8DbH/XoKyUI5Hl8ORFfsQd38/DN/XhiJw7VzcWr0XikIZXId0hZFYc8jZvb+OwOvF/mg7ZywsmzXCo4t3YNfGDc2HBCAjKhFGJYapyXLzcWLmCvRdOw8jT36L8I1HkBGdBKm1ORq0aALXQV1wZMoyJJ0JQ4sxveHz6hDc33cOGVFJUMjkcOrqgyaB7RC145TGXd3s27iV+Xm/v+9ClR4iePLtHzDw7wUYvG8Jwv8MQdqd+5BaW6BRgA/ij4Ti9tp9KMjIwcVP/0DAkmkYsncx7m06CqDots3W7s44Pfdn1c0cCtKzceWLv9Dp40kYvPNz3NtyDBIzE7Sc+BwyohJh30b9rNjlJRvRsJM3+qz6L6J3nsGjy3chL5DB0sURLv3a4fG1SI27nFWVLtsA7geKGOp+ANB9X1CTRrz8NiwsrZGYlAgXF5cyp9UlUqm0zOugAWD//qdnlF9++eVKXzNTrKwwU3zNzKhRo/DXX39BqVTi0KFDmDJlSpnL8vLyQkGBMIeo6puTkxMuXrxYpbYGG2icnJyQmpqKy5cvIyAgQO21xMREzJ07FwDg5+dX4+Pqk5KSEB+veVEiAEhFYqCWrzu+9u1WuP2nO9rNHYes+w/RwKMxDk9crHbHmJu/7IFzTz+0mzsOiSdvqN2hpklvfzTRchcgADgwdmGVdmRZsQ+xO2g+/GePRpN+7eAxpjcK0rORcjMGCSWeNRF36BIOjF0I/1mj0Pr1YRAbS5AWHo9T//1R44FqMXvO4si0L9F29mi0nTMWecnpqgeqDdz0kdq8Spkch19cBO/JQfAY3Qtt5xbdRSo3KRWPQu8hoooP0EtITECBsuInyeujH5RWsl8cGP0xdg2chzZv/gdNB3aCx6hekOcXIjshGbGHLiJq12lVu/Mfr0PhkwOKZgM7ITvhMe7+cQjJoREY+PeCctYIeD7fDwAQs/dcmfMUpGcj6XQYnHv5wbyxvdoFudXh0md/oFGXVvB+eSDMHGyQEZmAY298g6jtJ6u0vMjtJ2HX2g1uw7vDdWhRWDk563vci32IrNiHCHl5KTq89wLazRuP/NRMRGw5jvC/QjDy5Hdqy1EUynBw3KdFD9YM6gzXwV3wODQCB8d/ik4fvQTLpuoHYwlHr2J38Lto89YIuI/qCVN7axSkZyMz+gHCVu1GypObKiSdDoNdaze49O8As0a2UMoVyLr/EBc+Xo9bv2retcp9ZE+4j9R+4Lo1YEaVrrF4fDUCu4Pfhf/s0XAbFgCpzYAnD9a8h4cXbqvmu7P+AHIfpqL168PhP2cMACA1LAYhL3+B+/vVhwmGrdyFwpw8+L46BB3em4DshGSE/bwTBRk5GjdLKMzMwd7hH8B3+jC4DQ1A04EdoZQrkJ34GA/P38bdDf9W+j2VRZdtAPcDRQx1PwDovi+oScU3u1DI5apjEm3T6hITE5MyX4uPj8eNGzcAFB3zdepUtbP4FYUZoOi6nO3btyM/Px/Hjx/H+PHjYW6u/fbpCQkJyM/ntVW1TaTU9y28asjMmTOxYsUKNG3aFIcPH4aXlxeAojthTJw4EZGRkSgsLMSbb76J77//XusyPv74YyxcuPCZ73JW4Rkahe7fzBXfrrM6H6pINWeh0Xndz9Do2A/YB6pH8RPg949cUKWhZUS60GUbwP2A4dN1X1CTis/GZGdlYPuv35Q5rS4p7wzN33//ja1btwIAJk6ciMGDdRvmXJIuYabY6tWrcfhwUbB+66230L17d63LfO+993iGpop4hkaL4ufMxMbGwtfXF97e3sjLy8O9e/cQHByM5s2b48CBA2rXz9SU8v44hTl52ODxYo3XQPpxN/wujM0rfl4E+wGRYdJlG8DPv+HTdV9Qkxb9sAEZWdlwdnJW3RRJ27S6RCaTqUJLaZGRkap/V+V2ypUJM0DRoz6KA01kZGSZgebu3buQSAz28LrOMtjfuIuLC06cOIG5c+fi2LFjiI6Oho+PD1auXIlp06bBw8MDAGol0Dwr99G9VGN9Te2tYWQsgd/bowAAWXGPELnluD7Lo1rAPkBUv3EbQPSUUqlUBRoLCws0bNiwUu0rG2YAwN396bV4JcMU1Q0GG2gAoFWrVti9e7fG9KysLERHR8PIyAitW7fWQ2WV4/V8Pzh181Wb1n7+8wCKxsNzR2b42AeI6jduA4ieysnJQXp6OoCiu9lW5lroqoQZAGjQoAFsbW2RmpqKhAT9PmiXNBl0oClLWFgYlEolvLy8tF7UtWXLFgDAzZs31X5u3ry5Xp4Su39U+RdWk+FjH6h+9zYfLfPBoUR1DbcBRE/J5XI0atQIBQUFcHBw0LmdUqnEjz/+WOkwU6xhw4YQiUSwsrKqeGaqVfUy0Fy/XvQwtbKGm40ZM0brz5MmTcK6detqtDYiIiIiKpu1tTW+/fbbSrcTiUTw8PDAyZMnKx1mAGDhwoWVXifVDgYaLQz0xm9ERERE9VpwcDBEIhEcHBz0MuqGagYDDRERERHVG0FBQfougapZvQw0ISEhFc9ERERERER1npG+CyAiIiIiIqoqBhoiIiIiIhIsBhoiIiIiIhIsBhoiIiIiIhIsBhoiIiIiIhIsBhoiIiIiIhIsBhoiIiIiIhIsBhoiIiIiIhIsBhoiIiIiIhIsBhoiIiIiIhIsBhoiIiIiIhIsBhoiIiIiIhIsib4LICIiIiIqTSwWY9SoUdW2vGUrNyEzOxtWFhaY+9o4jZ+rg1gsrpblUOUw0BARERFRnSMSiSCRVN+hqhKAQln0f4lEovEzCReHnBERERERkWAxjlK16fzpFDQb2BGWTRtiZ/93kBIWXWEbsYkxev88Gw08XSDPK0BecjrOvPsLMqOTKmzb/es3YO/nASgUUMjkuPT5BiSevF4N74SeRZO+7dD+3echEokgkohx48cdiPj7WIXtHNq2QJfPpsBIagyxqTHu/XUEN37cUWG7du8+j2bPdYRSrgAAXP/+H0TtOFVhux7fvAnnXn7If5wBAEg4fg0XP/29wnbt33sBroO6QJ5fCIVMjstL/kTC0asVtoNIhC6fvowm/doDSiVu/rIHt3/dX2EzE3tr9PjqDVi4OMLIWIzkK/dwZv4qyPMKym0nNpUiYOlrsG/jBgDIjHmAU3N+Ur3f8th4N0PXz6fC1LEBAODyko24v/dcuW0sXRzR49sZsGvdHFn3H2LngLkVrudZ1ufYwQsBS6YBAETGEjw8fwvn/rcWigKZzuul6sf9ABHpAwMNVZuYPWdw48d/MGjHZ5Vqd+f3Q4gPuQIA8H45CN2/fB37Ry2osN2FBetQkJEDALBr7YaBmz/CRt8pgFJZ+eKp2vT6fib2j/oYqbdiYOniiBEnvkXM3nOQZeeV267bstdwZdkmxB68CKmNJUac+Baxhy8h/W5cue3CftyBK0s2AgDMnezwn+PfIOHENeSnZFZYa9hPO3Hzlz26vzkAD87dwtWvt0CeVwBbH1cEb/8Em9u+CllufrntPEb3QgOvptjefSaMrc0x7NAyJJ26gbQK3p//rJHIiErEv5OWQGRkhP5/vIcW4wJxZ/2Bctu1nDgAEjMpdgT+FwDQbfl0tH59GC599ke57cRmUvRbNx8nZq7Aw/O3ITIygtTWstw2AFCQlYvLX2yE1Moc7d99vsL5n3V9KTejsSv4XShlckAkQuCad+A9OQg3V+3Wed1U/bgfICJ94JAzqjYPzt5CTmJKpdrI8wtVOzEAeHQ5HJZNHXVqW7wTAwCplXml1ks1R6kEpA2K/h7GVubIS83U6VvzonYWAACJuQkUBTIUpGZV2K5kP5BYmBadGRKJqlh9xeJDrqjOjqTeug+IRDC1t66wXfNh3RC+4TCUCgUK0rIQteMU3Eb0qLCdUgkYW5oBIhGMpBKIzUyQk/hYh3ZKSMxMYGQsgUhsBIm5qU6fT/cRPfHo0l08PH+7aDkKhU5ndQrSsvDw/G3IcsoPdtW1PnluQVGYASCWSiAxlfIgtg7gfoCI9IFnaKhO8XllEO4fuKDz/B3enwDXoQEwaWCBI68s5wFNHXBs+lcIXDMXspx8SBtY4MjUZVAUVhxoTs3+AX3XzUe7+eNhameNM/NXIfdRmk7rbDV1ELwnD4R5Y3ucnvMT8nQ4IAaAVq8MQovxfZEdn4wrX2zUaXhMSZ7jA5EV8wBZcY8qnNeyiYPafFmxj+DYwavCdle/3oLA1e9g3LXVkJhKEbn9BGIPXqyw3d3fD6Fhx5YYf30NFHIFkq+E49bafRW2s/FygbygEP1+ew8WznZIuXUfFxau1ylkVMWzrM/SxRF9182HVfNGiDt8GbfXlX/WioSB+wEiqiyeoaE6o83MkbBq7oRLizbo3ObSog3YFjADR1/7Ch0/nAgjY2Z0fRKJjeD/9mgcmboMWzq9jgNjFqLnipkwsbOqsG2bGSNwadEGbOn4Ov7pMxvt5z+PBl4uOq331pq92N5zFvYO/QB+M0fCRIchS5eXbMTWrjOws98chG/8F/03fACJualO6wMA5x5t4D9nDI5O/1rnNlXhNrw70u7GYbP/NGxqOw3W7o3h+UK/Cts17u0PkZERNvm/gs1tp6EgPRvt5lV8W1KRWIzGPf1wZt5K7BwwFzlJj1XXqtSEZ1lfVtwj7Oz/Djb5TYPYxBiug7rUWJ1UO7gfIKKqYKChOsF3+jC4DuqCwxM+hzy3/IudtUk8cR3GlmawbdWsBqojXdm1doNZI1s8OHsLAPD4agRyEh/DrrVbue1M7KzQLLgzorafBABk3X+IR5fD0bCTd6XWn3ozBjlJKXDq5lvhvDlJKapvcu/vO4/CzBw0aNFYp/U0CvBB92/ewL8vLUFGRIJObbLik2Hp8nQYjWVTR2THV3xmx3vyQERuOwGlQgFZdh5idp+FU/fWFbbzenEAYvadK7p5QaEMkdtOwKlbxe2y45OReDqs6PcDIHLLcTi2r/hMUlVVx/pkOXmI+ucU3Ef2rIkSqZZwP0BEVcVAQ7Wix3dvoVlwZ62v+bw2BG4juuPguE/UxkMDQPv3X4D3y0EabUQSMayaO6l+dmjbAqb21siMeVC9hVOlZMcnw7yRLRp4NgEAWDV3gpVrI9VBf1l/z4K0bMhy8lQH6iZ2VnBo3wJpt+8DKLpIuP37L2hdZ8mzOFaujWDX2k11oX157cyd7VT/dmzvCRM7K2REJVXYrlHXVui54i2ETF6K1Jsxaq81C+6MHt+9pbVdzK4z8JzQv+iidxtLuA3vjqgdpytslxnzAE0C2wIo6veN+/irfi8ObVvguc3aL5zOjHmAJr39VT+79G+PtDtF7cyd7DDixLda20XvOg2Hth5F1+0AaNKvPVJuRlfYrjw1sT6r5k4QSYoeYGdkLEGz4M5IuRWjdV6qG7gfIKKawvOyVG0Clr4Kl34dYNbQBgM2/g+FWbnY1q3oIM3B3x231uzVaGPubIfOH09GRnQSgrZ8DACQF8iwZ/B7AAA7n+Z4fDVSo52RsRg9vp0BqbU5lDI5CnPycWTalyhIz665N0gVyktOx+m5P6PPyv9CqVBCZCTC2Q/WIDs+GUDZf0+lQlE0XOSjiTASi2FkLMbNX/bg0aW7AIqus8iMeah1nR3/NxGWzRpCWSiDQq7A2ffXID08vsJ2Pb6ZATPHBlDKFZDlFeDotC9RmJlTYbvuX74BsdQYPb5+QzXt+FsrkHb7PqzdnFXLKC1iy3HYt22BkadXQKlUImzlLlUwKa/d+Q9/RcDSVzE85EuIxEZ4ePGu6k5elk0dy7x9c+iXm9Ft2WsYfrRoSFz6vXicmbcSQFFQUDy5oL607PhkXPtuGwbt+hxKhRI5SSk4PffnCtuJzaQYeXIFxCYSGFuZY8yllYjYegyXF/1ZI+tz7tEaraYOglKugEgiRuKJ67j29Rat81Lt4X6AiPSBgYaqzZl5q7RON7G3Rk5iCh5fjdB4LScxBeucR2ttJzIygqm9NWK0PI9CnluAfcP/92wFU42I+ucUov7RfA5MeX9PoGi4yO6B87W+Zuvjiotl3G7435cWl1lLee0OjvukSu22ddd+JgUAGnZqifMf/qr1NaVCgXPvr4a2d19eu6zYhzj0vPZb4DYK8MX177drfa0gLQtHp31ZRjufMtsBRcO+Irccr1Q7eW4B/u7wWq2t7+4fh3H3j8NlLpP0g/sBItIHBhqqcfmPM3Bw/KeVbqdUKLA7+N0aqIj04Vn+nvuGfyiIdiEvL63VdufeX12ldmE/7TTodlT3cD9ARDWJ19AQEREREZFgMdAQEREREZFgMdAQEREREZFgMdAQEREREZFgMdAQEREREZFgMdAQEREREZFg8bbNRERERER1jFKphFyu/eHCdZVYLIZIJKr19TLQEBERERHVMXK5HFu3btV3GZUyatQoSCS1Hy845IyIiIiIiASLgYaIiIiIiASLgYaIiIiIiASLgYaIiIiIiASLgYaIiIiIiASLgYaIiIiIiASLgYaIiIiIiASLgYaIiIiIiASLgYaIiIiIiASLgYaIiIiIiASLgYaIiIiIiCqUmZmJvLw8fZehQaLvAoiIiIiIqGZkZWUhIiICkZGRiIqKQlZWFuRyOaRSKRwdHeHu7g53d3c0b94cRkZln+vIyMjAZ599BgsLC8yfPx+mpqa1+C7Kx0BDRERERGRAlEolwsPDcfDgQZw9exYymazMeUNCQgAADg4O6N+/PwIDA9GgQQO1eYrDzP379wEAK1euxKxZs2ruDVRSvQg0ycnJWLp0KbZt24a4uDg4Ojpi5MiRWLRoEWbOnIm1a9dixYoVmDFjhr5L1WDt7gz3Ub3QpLc/rJo3gthEiszoJETvPoObq/ZAlpuv7xKphrEPENVv3AYQUWU8fPgQK1euRFhYWKXaJScn46+//sKWLVswYsQIDB8+HBKJRCPM2NraYuzYsTVRepUZfKAJDQ1FcHAwkpKSYGFhAR8fHyQkJOC7775DREQEUlJSAABt27bVb6Fl8BzfF94vB+H+wYuI2HYCSpkcTt180f7dF9B8aDfsGfI+5HkF+i6TahD7AFH9xm0AEelCqVTi0KFD2LBhA/Lzn37RYWlpiW7dusHLywtubm5wcHCAWCxGXl4e4uLiEBkZievXryM0NBRKpRIymQx///03Ll68iEmTJmHt2rVqYeajjz6Cs7Ozvt6mVgYdaJKTkzF06FAkJSVhzpw5WLBgAaysrAAAS5cuxfz58yGRSCASieDn56fnarWL3nMW11ZsR2Fmjmrand8OIiMqEf5vj4bn831x+9f9eqyQahr7AFH9xm0AEVVEoVBg/fr1OHDggGqag4MDRo8ejW7dukEqlWq0sbS0hLe3N7y9vTFo0CA8fPgQ+/btw/79+6FUKhEVFYWFCxdCqVQCqLthBjDwu5zNnDkTcXFxmDFjBpYvX64KMwAwb948+Pv7QyaToXnz5rC2ttZjpWV7fDVCbSdWLGrHaQCArXez2i6Jahn7AFH9xm0AEZVHqVTit99+Uwsz/fv3x7Jly9CnTx+tYUabhg0bYtKkSfjss89UoaU4zFhZWdXZMAMYcKC5desWNm3aBAcHByxevFjrPB06dAAA+Pv7q6Zt2bIFo0aNgqurK8zNzeHt7Y0PPvgAWVlZtVK3riwa2wMAch+l6bcQ0hv2AaL6jdsAIgKAf//9F/v3F52lFYlEeP311/HKK6/AzMysSstzdHSERKI+iEuhUFR5ebXBYAPNxo0boVAoMGHCBFhaWmqdp/gPUzLQLF++HGKxGIsWLcK+ffvw+uuv46effkJQUBAUCkWt1F4RkZER/N8eDUWhDJHbT+q7HNID9gGi+o3bACICim4A8Mcff6h+nj59Onr37l3l5RXfACA2NhYAVMEmOzsba9euVZ2xqWsM9hqa4lvQBQYGljlPXFwcAPVAs2vXLjg6Oqp+7t27NxwdHTFhwgScPHkSvXr1qqGKddf5k8lo2KklLi3agIyIBH2XQ3rAPkBUv3EbQEQAsHr1atWDLvv27VstYabkDQBmz56NZcuWITMzE+fPn8fZs2cREBBQLbVXJ4MNNDExMQAAV1dXra/LZDKcOnUKgHqgKRlminXs2BEAEB8fX6VaOnbsiKSkJK2vGSuNsACddV5Wu3nj0WrqINz5/SCur9hepXqo9nh5eqFQVPGZvcr0A/YBIuHQZRvA/YDh03VfUJNGvPw2LCytkZiUCBcXlzKnGbLS77euv3+pVFrmZRMAEBERgWvXrgEA7Ozs8OKLL1Z5XdrCTPE1M1OnTsU333wDANixYwe6du0KkUikdTleXl4oKKjaXRednJxw8eLFKrU12ECTnZ0NAMjNzdX6+qZNm5CcnAwrKyu4ubmVu6wjR44AAFq1alWlWpKSksoMQ1KRGGik23LazhkL/9mjEb4xBGfmrapSLVS7EhITUKCUVzifrv2AfYBIWHTZBnA/YPh03RfUJIVcrvp/8TGJtmmGrPT7revv38TEpNzXDx06pPr3yJEjYW5uXqX1lBdmAKBr167w8PBAREQEoqOjER4eDi8vL63LSkhIULtldG0x2EDj5OSE1NRUXL58WePUWGJiIubOnQsA8PPzKzNlAkVnZT788EMEBQVV+Vk1Tk5OZb5mrDQCdPjSpu2csWj7zljc23QEp+b8VKU6qPY1dm6s8xmaivoB+wCR8OiyDeB+wPDpui+oSUZiser/TZo0KXOaISv9fuv6+y/v7mS5ubmqkUZmZmbo0aNHldZRUZgp9txzz+Gnn4q2OyEhIWUGmsaNGz/TGZqqMthA079/f9y6dQtffPEFBgwYoPrFX7hwARMnTkRycjKA8h+omZWVheHDh0MqlWLt2rVVrqW802eFOXnY4FH+KUL/2aOLdmJ/H8PJ2T8CdfSCLNJ0N/wujM1NK5yvon7APkAkTLpsA7gfMHy67gtq0qIfNiAjKxvOTs6qa4i1TTNkpd9vXX//MpkMW7du1fpaZGQkCgsLAQABAQEwNa18/9I1zBSvY82aNSgoKMDt27fLXObdu3c17pBWGww20MybNw9//vknYmNj4evrC29vb+Tl5eHevXsIDg5G8+bNceDAAbXrZ0rKzc3F0KFDERUVhRMnTujtvtvek4PQbt54ZMU9QuKJa3AfqZ7Acx+lI/H4Nb3URrWDfYCofuM2gIhKi4qKUv27RYsWlW5fmTADFJ0tcnV1RXh4OJKSkpCdnQ0LC4uqFV8DDDbQuLi44MSJE5g7dy6OHTuG6Oho+Pj4YOXKlZg2bRo8PDwAQGugKSwsxOjRo3Hx4kX8+++/8PHxqe3yVRzaFtVp6eKInt+9pfF60ukw7sgMHPsAUf3GbQARlRYdHa36t7u7e6XaVjbMFHNzc0N4eLhq/b6+vpUrugYZbKABii7i3717t8b0rKwsREdHw8jICK1bt1Z7rfjZNf/++y/27t2Lzp11v/NMTTj59g84+fYPeq2B9It9gKh+4zaAiEor+cB3e3t7ndtVNcyUXk/xzbfqCoMONGUJCwuDUqmEl5eXxh0h3nzzTfz999949913YW5ujrNnz6pe8/Dw0HpbZyIiIiKi2jJhwgQMHjwYhYWFqgfF6+Lq1atVCjMA0KVLF7i6usLY2BhNmzatUt01pV4GmuvXrwPQPtxs3759AIAlS5ZgyZIlaq/9+uuvmDx5co3XR0RERERUlqZNm1YpVPTs2RNZWVnYtWsXPvzww0pdI+7k5PRMdyKrSQw0pZQck0hEREREZEiCg4PRu3fvKj+3pi4y0ncB+lBeoCEiIiIiMmSGFGaAenqGJiQkRN8lEBERERFRNaiXZ2iIiIiIiMgwMNAQEREREZFgMdAQEREREZFgMdAQEREREZFgMdAQEREREZFgMdAQEREREZFgMdAQEREREZFgMdAQEREREZFgMdAQEREREZFgMdAQEREREZFgMdAQEREREZFgSfRdQH0nMTPBhIg/9F0G1RCJmYnO87EfEBkeXbYB/PwbPl33BUQlicVijBo1qtqWt2zlJmRmZ8PKwgJzXxun8XN1EIvF1bKcymKg0TORSARjc1N9l0F6xn5AVH/x809E2ohEIkgk1XeorgSgUBb9XyKRaPwsZBxyRkREREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAQ0REREREgsVAUwf8/vvv6NChA2xtbWFmZoZWrVrhq6++glKp1HdpRERERGXau3cv2rZtCxMTEzRv3hxfffWVvkuqVcePH8fw4cPh6uoKkUiEzz77TN8l1Zply5YhICAAtra2sLGxQY8ePbB//3691CLRy1pJTcOGDfHhhx+iZcuWMDExwYkTJ/DGG29ALBZj1qxZ+i6PiIiISMPFixcxfPhwvPPOO9i4cSPOnTuH6dOnw9zcHNOnT9d3ebUiKysLPj4+eOGFF/D222/ru5xaFRISgilTpqBTp04wNzfH6tWrMWTIEBw7dgzdu3ev1VoYaOqAgQMHqv3s7u6Of/75B0ePHmWgISIiojrpq6++QqdOnbB48WIAQKtWrRAWFoYlS5bUm0AzaNAgDBo0CAAwf/58PVdTu/bt26f289KlS7F//35s27at1gMNh5zVMUqlEufPn8epU6cQGBio73KIiIiItDp16hSCgoLUpgUFBSEmJgZxcXF6qor0RaFQICMjAxYWFrW+bp6hqSPS09PRpEkTFBQUQKFQYMGCBZg5c6a+yyIiIiKBiUt8hJy8fLVpMrlc9f+7UXFlTgMAE2MJXF2cKlxPYmIinJzU5yv+OTExES4uLlV/E88gIysHSY9SNKaXfr9lvX8AaNa4IUxNpDVfbA1QKpW4FxOP0pdiV+b921hZoKGDbaXWu2jRIqSlpeHVV1+tevFVxEBTR1hZWSE0NBQ5OTk4ffo03nvvPTRu3BhTp07Vd2lEREQkIFk5uVi3RfvF2Tm5eVi7eW+500YH99Yp0NRVJsYS/HPwBFLSMrW+Xvr9lv7Zrakzpo0fXON11hSRSIR70fE4du6q1tcrev8SsRgzJo2o1Dp//PFHLFq0CDt37tRLkOWQszrCyMgILVq0gJ+fH6ZPn4558+bhgw8+0HdZREREJDDeHs3Q2d+7Sm19PJujQxsvneZ1dnZGUlKS2rQHDx6oXtMXExMpxg4OhEgkqnxbqTHGDu4DIyNhHyIP6NERzg3tq9R2YK9OcHK003n+5cuXY+7cudi5cyf69+9fpXU+K2H/tQyYQqFAXl6evssgIiIiARrcNwD2NtaVamNpboaRQT11DgLdu3fHgQMH1Kbt378frq6uehtuVqy5ixN6d/GvdLth/bvDtoFVDVRUuyQSMcYNCYRYXLlDffdmjdG9Uxud5//oo4+wcOFC7N27V29hBmCgqRMWLFiAw4cPIzIyEnfu3MEvv/yCL774ApMmTdJ3aURERCRAJlJjjB1SubMUI4N7wdLcTOf5Z8+ejfPnz+ODDz7A7du3sX79eqxYsQLvvvtuVUqudv17dKjUWQpfr+Zo39qzUuvIyspCaGgoQkNDUVBQgKSkJISGhuLevXuVLbfaOTnaYWCvzjrPrzo7pWOfefvtt7Fs2TL8/vvvaNmyJZKSkpCUlIT09PSqllxlIiWf3qh3s2fPxq5duxAfHw9TU1O4u7tjypQpmD59OsRisb7LIyIiIoE6cPwCjpy5UuF8nfy8MSq4V6WXv2fPHrz//vu4ffs2nJycMGvWLPz3v/+tSqk1IulRCr5fv111AXxZLC3M8PaU0ZUKdABw9OhRrXel7d27N44ePVqpZdUEhVKJXzbuRlRsYoXzjh3cB+1b6zbcEECZYXnSpElYt26dzsupDgw0RERERAZKJpfjx9//QcKDx2XOY2djhVmTR8FEoHf1qsiJ89ew58jZcueZPDoI3h7Naqmi2pWanolv1m5BfkFhmfO09nLDhP/0r9J1R3UBh5wJTGziQ41bMRIRERFpIxGLMW5IX0jKGPEhEokwdnCgwYYZAOjeqQ3cmzUu8/XO/t4GG2YAwLaBFYb1L/tBl1YWZhgxUPdrp+oiBhoBkcnl+GP7IXzx05+4H/9A3+UQERGRADRysEVQb+3XUvTu4o/mAr5Fsy6MRCKMHdwHJlJjjdfsbawxuG+AHqqqXe1be8LXq7nW10YH94aFuWntFlTNGGhKkcvl+P333/Hcc8/B0dERJiYmaNasGYKCgrB69WrIKxiDWZMuXb+D9MxsSKXGVb4VHxEREdU/3Tq2hoer+lkK54b26N+jg54qql021pYYPkD9LIWonKBjaEQiEUYO7AVLC/VrhLq0bYWWBnB2ioGmhIyMDAwYMAAvvfQSDh06BKlUCn9/fygUChw8eBDTpk1DZqb2hzTVNJlcjpDTRRf19enSFsbGfCYqERER6cZIJMKYQX1g+mRoWdFQtMAyh6IZona+nmjt5ab6uU9Xf0E/QLSyLMxNMTq4t+pne1trDA7sqseKqg8DTQlTp07FkSNH4OLigpCQEMTHx+P8+fOIi4tDYmIiPv/8cxgb6yfFF5+dsbI0r/LDsoiIiKj+KnmWorIPTzQEIpEIIwb2hJWFGRo3ske/7vXj7FRJxQ9dFYlEGDc4EFIDOTvFu5w9cenSJXTs2BESiQRXrlxB69atq23ZK9ZvQ2ZW7jMsQYnM7FwolUqYmkgh1VOoIiIiImFTKpUoKJRBaiwR9EXgz0Imk0FkZASxUf38Xl+pVKJQJqtzx5NWlmZ4a9LIKrXluKUn/vnnHwDA4MGDqzXMAEBmVi4ysrKrZVl5+QXIyy+olmURERFR/ZRfwGOJ+s6QjicZaJ64efMmACAgoPrvdGFlWbmHNKnj2RkiIiIiMmzPcrzMQPNERkYGAKBBgwbVvuyqnj4DgHOht7D9wAlYWZpj3qvjeTMAIiIiIqISeHT8hLW1NQAgPT292pdd9Wtois7OAEBhoQzLVm2q3sKIiIiIiOoAXkNTDXx9fbFt2zacOXOm2pddHdfQ8NoZIiIiIiJNDDRPjBgxAp9++in27t2LmzdvwsfHp9qWXbUxgbx2hoiIiIjqh2e5hoa3bS5h3Lhx2Lx5M5o1a4bffvsNvXs/ffjQgwcPsHbtWsycORMWFhY1XguvnSEiIiIiqhgDTQkZGRkYPnw4jh49CgBo0qQJGjdujMTERMTHx0OpVCI1NRU2NjY1WodMLsfyVZuQlpGFof26oXvH6r2NNBERERGRoaifTxQqg7W1NQ4fPow1a9agT58+yMnJwdWrV2FkZISBAwdizZo1sLKyqvE6Ll2/i7SMLFhZmqOzv3eNr4+IiIiISKh4hqYOuhIWjn1Hz6N3F3+enSEiIiIiKgcDTR1VKJNBBBEkErG+SyEiIiIiqrMYaIiIiIiISLB4DQ0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQkWAw0REREREQnW/wFLkeTOibIPpQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "# QNN library integrating with PyTorch\n", "from qailab.circuit import build_circuit, RotationalEncoder, RealAmplitudesBlock\n", "from qailab.circuit.utils import assign_input_weight\n", "\n", "input_encoder = RotationalEncoder('x','input')\n", "qnn_circuit = build_circuit(\n", " 3,\n", " [\n", " input_encoder,\n", " RealAmplitudesBlock('weight'),\n", " input_encoder, # You can put the same block twice in different parts of the circuit. It will encode the same parameters\n", " ],\n", " measure_qubits=[0,1,2] # Measure all qubits\n", " )\n", "\n", "qnn_circuit.assign_parameters(assign_input_weight(qnn_circuit,[1,2,3],np.random.randint(0,9,12))).draw('mpl')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sequential neural network\n", "\n", "Our neural network will consist of two linear layers with ReLU activation functions, then a quantum layer, which outputs a single feature: the expected value of measurement from it's circuit. \n", "\n", "The expected value of a random variable can be expressed as $E[X] = \\sum_{i=0}^{n} P(X == X_i) * X_i$ \n", "Given that our measurement bitstrings can be interpreted as integers, the expected value of a parameterized quantum circuit becomes $E[X] = \\sum_{i=0}^{n} |\\braket{X_i|U(\\theta)|0}|^2 * \\text{integer}(X_i)$, where $X_i$ is a given measurement bitstring. \n", " \n", "Since we measure all 3 qubits in our QNN circuit, the expected value layer will output a value in the range of $[0,7]$. Our problem needs a higher range of numbers, therefore we will tell `ExpectedValueQLayer` to rescale the output." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Neural networks libraries\n", "import torch.nn as nn \n", "\n", "from qailab.torch import ExpectedValueQLayer,QModel\n", "from quantum_launcher.routines.qiskit_routines import AerBackend\n", "\n", "qlayer = ExpectedValueQLayer(\n", " qnn_circuit,\n", " rescale_output=(0,350), # Max target value in dataset + a bit more.\n", " backend=AerBackend('local_simulator')\n", " )\n", "\n", "sequential_net = nn.Sequential(\n", " nn.Linear(len(X.columns),64),\n", " nn.ReLU(),\n", " nn.Linear(64,qlayer.in_features),\n", " qlayer,\n", " \n", ")\n", "\n", "model = QModel(\n", " module=sequential_net,\n", " loss=nn.L1Loss(), # MAE loss\n", " optimizer_type='adam',\n", " learning_rate=0.001,\n", " batch_size=4,\n", " validation_fraction=0.1,\n", " epochs=20\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Model training and results." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Training\n", "\n", "To train our model we can simply call `QModel.fit()`" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 20/20 [02:35<00:00, 7.78s/epochs, epoch=20, loss=47.3]\n" ] } ], "source": [ "model.fit(X_train,y_train)\n", "pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Below we can see how our model was performing during the 10 epochs of training." ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAnZpJREFUeJzs3Xd8U3X3wPFPku5NSycUyqaMskGmICBDZTsARRTF7YOIAye4eET9icqjiCJDcaAI4mIKyN57lLaslg5oS/du8/vjNmkL3U1y0/a8X6+8kiY3954gktPvOEej1+v1CCGEEELUI1q1AxBCCCGEsDRJgIQQQghR70gCJIQQQoh6RxIgIYQQQtQ7kgAJIYQQot6RBEgIIYQQ9Y4kQEIIIYSodyQBEkIIIUS9IwmQEEIIIeodSYCEEHXS1KlTcXFxqdSxGo2GOXPmmDcgIYRVkQRICFEly5YtQ6PRcPDgQbVDUdX333/PggUL1A5DCFFNNmoHIIQQasvMzMTGpmr/HH7//fecPHmSGTNmmCcoIYRZSQIkhKj3HBwc1A4BgLy8PAoKCrCzs1M7FCHqPJkCE0KYxZEjRxgxYgRubm64uLgwePBg9u7dW+KY3Nxc5s6dS6tWrXBwcMDLy4t+/fqxadMm4zGxsbE89NBDNG7cGHt7e/z9/Rk9ejQXL16sVBxXrlxhzJgxuLi44O3tzaxZs8jPzy9xzI1rgFJTU5kxYwZBQUHY29vj4+PD0KFDOXz4MAADBw7kzz//5NKlS2g0GjQaDUFBQcb3X716lWnTpuHr64uDgwOdOnVi+fLlJa558eJFNBoNH374IQsWLKBFixbY29uzf/9+nJ2d+c9//nPTZ4mKikKn0zFv3rxKfXYhRNlkBEgIYXKnTp2if//+uLm58eKLL2Jra8uXX37JwIED2b59O7169QJgzpw5zJs3j0ceeYSePXuSkpLCwYMHOXz4MEOHDgVg/PjxnDp1imeeeYagoCCuXr3Kpk2buHz5comkozT5+fkMGzaMXr168eGHH7J582Y++ugjWrRowRNPPFHm+x5//HF++eUXnn76adq1a0dCQgI7d+7kzJkzdO3alVdffZXk5GSioqL4+OOPAYwLrjMzMxk4cCDh4eE8/fTTNGvWjJ9//pmpU6eSlJR0U2KzdOlSsrKymD59Ovb29jRp0oSxY8fy008/8X//93/odDrjsT/88AN6vZ7JkydX+b+JEOIGeiGEqIKlS5fqAf2BAwfKPGbMmDF6Ozs7fUREhPG56Ohovaurq37AgAHG5zp16qS/4447yjzP9evX9YD+gw8+qHKcDz74oB7Qv/XWWyWe79Kli75bt24lngP0b775pvFnd3d3/VNPPVXu+e+44w5906ZNb3p+wYIFekD/3XffGZ/LycnR9+7dW+/i4qJPSUnR6/V6/YULF/SA3s3NTX/16tUS59iwYYMe0P/9998lng8JCdHfeuut5cYlhKgcmQITQphUfn4+GzduZMyYMTRv3tz4vL+/P5MmTWLnzp2kpKQA4OHhwalTpwgLCyv1XI6OjtjZ2bFt2zauX79erXgef/zxEj/379+f8+fPl/seDw8P9u3bR3R0dJWv99dff+Hn58fEiRONz9na2vLss8+SlpbG9u3bSxw/fvx4vL29Szw3ZMgQAgICWLlypfG5kydPcvz4ce6///4qxySEuJkkQEIIk7p27RoZGRm0adPmpteCg4MpKCggMjISgLfeeoukpCRat25Nx44deeGFFzh+/LjxeHt7e95//33+/vtvfH19GTBgAPPnzyc2NrZSsTg4ONyUXDRo0KDCZGr+/PmcPHmSwMBAevbsyZw5cypMmgwuXbpEq1at0GpL/vMaHBxsfL24Zs2a3XQOrVbL5MmTWbt2LRkZGQCsXLkSBwcH7r777krFIYQonyRAQgjVDBgwgIiICL755hs6dOjA119/TdeuXfn666+Nx8yYMYNz584xb948HBwceP311wkODubIkSMVnr/4+pmquOeeezh//jyfffYZAQEBfPDBB7Rv356///67Wucrj6OjY6nPT5kyhbS0NNauXYter+f777/nzjvvxN3d3eQxCFEfSQIkhDApb29vnJycCA0Nvem1s2fPotVqCQwMND7n6enJQw89xA8//EBkZCQhISE3VWVu0aIFzz//PBs3buTkyZPk5OTw0UcfmfVz+Pv78+STT7J27VouXLiAl5cX7777rvF1jUZT6vuaNm1KWFgYBQUFJZ4/e/as8fXK6NChA126dGHlypXs2LGDy5cv88ADD1Tz0wghbiQJkBDCpHQ6Hbfffju//fZbia3qcXFxfP/99/Tr1w83NzcAEhISSrzXxcWFli1bkp2dDUBGRgZZWVkljmnRogWurq7GY0wtPz+f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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "\n", "sns.lineplot(model.loss_history)\n", "\n", "plt.title('Loss history')\n", "plt.ylabel('Loss')\n", "plt.xlabel('Epoch')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As a comparison we will also train a similar classical model." ] }, { "cell_type": "code", "execution_count": 84, "metadata": {}, "outputs": [], "source": [ "sequential_net_classical = nn.Sequential(\n", " nn.Linear(len(X.columns),64),\n", " nn.ReLU(),\n", " nn.Linear(64,3),\n", " nn.ReLU(),\n", " nn.Linear(3,1),\n", " nn.ReLU()\n", " \n", ")\n", "model_classical = QModel(\n", " module=sequential_net_classical,\n", " loss=nn.L1Loss(), # MAE loss\n", " optimizer_type='adam',\n", " learning_rate=0.001,\n", " batch_size=4,\n", " validation_fraction=0.1,\n", " epochs=20\n", " )" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 20/20 [00:02<00:00, 9.28epochs/s, epoch=20, loss=38] \n" ] } ], "source": [ "model_classical.fit(X,y)\n", "pass" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "data": { "image/png": "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oqKi8Pf3JzAwkGHDhpGamlq8hYuUoDohfjzbrT6rnr2Zz4a1ptd14Xi6WTlwIo03F+/mhjd+JerjNXwffZT0rByzyxWRQpg2bRrh4eHYbPlHZ7/jjju477772L9/P3fccQchISH4+vrSqlUrli5desVj/vP36bp162jWrBmenp60bNmSTZs25ds/NzeXYcOGUaNGDby8vKhXrx7vvvtu3vaxY8cya9YsfvjhBywWCxaLheXLl1/yNtaKFSto3bo1Hh4ehIWF8eyzz5KTc+HfpQ4dOvDYY4/xn//8h6CgIEJDQxk7dmzh/+AKydSwk5aWRkREBO+///4V95s7dy5r1qwhPDz8om1RUVFs376dJUuW8OOPP/L7778zfPjw4ipZxDQuVgvt61TgnX7NWP98Z8bf1ZTIGkEYBqzad4onv95Cy1eX8tTXW/hz/0lstjL/oKWIXVbalV+5f/tPQk7WlffNPnthX8O4eHsh3X333Zw6dYrffvstb93p06dZtGgRUVFRpKam0r17d5YtW8amTZvo2rUrPXv25MiRIwU6fmpqKrfddhsNGzZk48aNjB07ltGjR+fbx2azUblyZb755ht27NjBiy++yP/93//x9ddfAzB69Gj69u1L165dOX78OMePH6dt27YXfdaxY8fo3r07rVq1YsuWLUyZMoVPPvmEV199Nd9+s2bNwsfHh7Vr1zJ+/HhefvlllixZUtg/ukIx9TZWt27d6Nat2xX3OXbsGI8++iiLFy+mR48e+bbt3LmTRYsWsX79elq2bAnA5MmT6d69OxMmTLhkOBJxBn6ebvRtWYW+LasQczqd76OP8f2moxw+lc530Uf5LvoolQK9uLN5Je5sXpkawXqMXcqw16/yu+DumdCot33515fhz8mX3ze8GQxfbl9OPwVv1sq/fWxSoUorV64c3bp1Y86cOXTq1AmAb7/9luDgYDp27IjVaiUiIiJv/1deeYW5c+cyf/58Ro4cedXjz5kzB5vNxieffIKnpyeNGjXi6NGjjBgxIm8fNzc3Xnrppbzva9SowerVq/n666/p27cvvr6+eHl5kZmZecXbVh988AFVqlThvffew2KxUL9+fWJjY3nmmWd48cUXsVrt7StNmzZlzJgxANSpU4f33nuPZcuWccsttxTqz64wHPppLJvNxsCBA3n66adp1KjRRdtXr15NYGBg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cePG+db5+PhQvnz5vPXDhg3jySefJCgoCH9/fx599FHatGnD9ddfb0bJIiIizsPV3d7KU+NG+wSjiTH2fj5V/9agsOULWPWOvc9P5VZQ5xZ75+fQpg7T18ehw05BvP3221itVvr06UNmZiZdunThgw8+MLssERER5xNYBVoOzb/OLwwqNLjQ6hOzFn591T4xae3O0LiPvaOziSyGYRimVuAAkpOTCQgIICkpCX9/f7PLERERKX0SY2DfEti7FA4sh+w0+/rIh6DbG8XykQX9/V3qW3ZERETEAQRWgZb32V85mXBktb2fT/3bzK5MYUdERESKmKsH1OxgfzkAx+g5JCIiIlJMFHZERETEqSnsiIiIiFNT2BERERGnprAjIiIiTk1hR0RERJyawo6IiIg4NYUdERERcWoKOyIiIuLUFHZERETEqSnsiIiIiFNT2BERERGnprAjIiIiTk1hR0RERJyaq9kFOALDMABITk42uRIREREpqPO/t8//Hr8chR0gJSUFgCpVqphciYiIiBRWSkoKAQEBl91uMa4Wh8oAm81GbGwsfn5+WCyWIjtucnIyVapUISYmBn9//yI7rqMqS+erc3VeZel8da7Oq6ycr2EYpKSkEB4ejtV6+Z45atkBrFYrlStXLrbj+/v7O/Vftn8qS+erc3VeZel8da7Oqyyc75VadM5TB2URERFxago7IiIi4tQUdoqRh4cHY8aMwcPDw+xSSkRZOl+dq/MqS+erc3VeZe18r0YdlEVERMSpqWVHREREnJrCjoiIiDg1hR0RERFxago7IiIi4tQUdv6l999/n+rVq+Pp6UlkZCTr1q274v7ffPMN9evXx9PTkyZNmvDTTz+VUKX/zrhx42jVqhV+fn5UrFiRXr16sXv37iu+Z+bMmVgslnwvT0/PEqr42o0dO/aiuuvXr3/F95TW61q9evWLztVisfDII49ccv/Sdk1///13evbsSXh4OBaLhXnz5uXbbhgGL774ImFhYXh5edG5c2f27t171eMW9ue+JFzpXLOzs3nmmWdo0qQJPj4+hIeHM2jQIGJjY694zGv5WSgJV7uuQ4YMuajurl27XvW4jnhd4erne6mfYYvFwptvvnnZYzrqtS0uCjv/wldffcWTTz7JmDFjiI6OJiIigi5dupCQkHDJ/f/880/69+/PsGHD2LRpE7169aJXr15s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7t0XbSvt1/S333675N/b8+dks9mMF154wQgJCTE8PDyMTp06XfTnUK1aNWPMmDH51l3p594sVzrXgwcPXvZn+Lfffss7xj/P9Wo/C2a50rmmp6cbt956q1GhQgXDzc3NqFatmvHAAw9cFFpKy3U1jKv/PTYMw/jwww8NLy8vIzEx8ZLHKC3XtrhYDMMwirXpSERERMRE6rMjIiIiTk1hR0RERJyawo6IiIg4NYUdERERcWoKOyIiIuLUFHZERETEqSnsiIiIiFNT2BERuQSLxcK8efPMLkNEioDCjog4nCFDhmCxWC56de3a1ezSRKQUcjW7ABGRS+natSszZszIt87Dw8OkakSkNFPLjog4JA8PD0JDQ/O9ypUrB9hvMU2ZMoVu3brh5eVFzZo1+fbbb/O9f+vWrdx88814eXlRvnx5hg8fTmpqar59pk+fTqNGjfDw8CAsLIyRI0fm237y5El69+6Nt7c3derUYf78+cV70iJSLBR2RKRUeuGFF+jTpw9btmwhKiqKfv36sXPnTgDS0tLo0qUL5cqVY/369XzzzTcsXbo0X5iZMmUKjzzyCMOHD2fr1q3Mnz+f2rVr5/uMl156ib59+/LXX3/RvXt3oqKiOH36dImep4gUAbNnIhUR+afBgwcbLi4uho+PT77Xa6+9ZhiGYQDGQw89lO89kZGRxogRIwzDMIxp06YZ5cqVM1JTU/O2L1y40LBarXmzX4eHhxvPP//8ZWsAjP/+979536emphqA8fPPPxfZeYpIyVCfHRFxSB07dmTKlCn51gUFBeUtt2nTJt+2Nm3asHnzZgB27txJREQEPj4+edtvuOEGbDYbu3fvxmKxEBsbS6dOna5YQ9OmTfOWfXx88Pf3JyEh4VpPSURMorAjIg7Jx8fnottKRcXLy6tA+7m5ueX73mKxYLPZiqMkESlG6rMjIqXSmjVrLvq+QYMGADRo0IAtW7aQlpaWt33VqlVYrVbq1auHn58f1atXZ9myZSVas4iYQy07IuKQMjMziYuLy7fO1dWV4OBgAL755htatmxJu3btmD17NuvWreOTTz4BICoqijFjxjB48GDGjh3LiRMnePTRRxk4cCAhISEAjB07loceeoiKFSvSrVs3UlJSWLVqFY8++mjJnqiIFDuFHRFxSIsWLSIsLCzfunr16rFr1y7A/qTUl19+ycMPP0xYWBhffPEFDRs2BMDb25vFixfz+OOP06pVK7y9venTpw8TJ07MO9bgwYPJyMjg7bffZvTo0QQHB3PXXXeV3AmKSImxGIZhmF2EiEhhWCwW5s6dS69evcwuRURKAfXZEREREaemsCMiIiJOTX12RKTU0d13ESkMteyIiIiIU1PYEREREaemsCMiIiJOTWFHREREnJrCjoiIiDg1hR0RERFxago7IiIi4tQUdkRERMSpKeyIiIiIU/t/PY5c+XNcj9cAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "\n", "sns.lineplot(model_classical.loss_history)\n", "\n", "plt.title('Loss history')\n", "plt.ylabel('Loss')\n", "plt.xlabel('Epoch')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Model evaluation\n", "\n", "Let's compare the performance of our models on the test dataset." ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Classical model error: 67.45968666076661\n", "Hybrid model error: 45.06171913146973\n" ] } ], "source": [ "from sklearn.metrics import mean_absolute_error\n", "\n", "classical_predictions = model_classical.predict(X_test)\n", "quantum_predictions = model.predict(X_test)\n", "\n", "print(f\"Classical model error: {mean_absolute_error(classical_predictions,y_test)}\")\n", "print(f\"Hybrid model error: {mean_absolute_error(quantum_predictions,y_test)}\")" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.9" } }, "nbformat": 4, "nbformat_minor": 2 }