qiskit-documentation/docs/tutorials/quantum-kernel-training.ipynb

423 lines
160 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"id": "4ba97b35-a453-42fb-a59a-e9f0c129283f",
"metadata": {},
"source": [
"# Quantum kernel training\n",
"*Usage estimate: under 1 minute on IBM Nazca (NOTE: This is an estimate only. Your runtime may vary.)*"
]
},
{
"cell_type": "markdown",
"id": "c2d486a5",
"metadata": {},
"source": [
"## Background\n",
"\n",
"In this tutorial, we will show how to build a `Qiskit Pattern` for evaluating entries into a quantum kernel matrix used for binary classification. For more information on `Qiskit Patterns` and how `Qiskit Serverless` can be used to deploy them to the cloud for managed execution, visit our [docs page on the IBM Quantum Platform](https://docs.quantum.ibm.com/run/quantum-serverless)."
]
},
{
"cell_type": "markdown",
"id": "ad7bc6f9",
"metadata": {},
"source": [
"## Requirements\n",
"\n",
"Before starting this tutorial, be sure you have the following installed:\n",
"- Qiskit SDK v1.0 or later, with visualization support ( `pip install 'qiskit[visualization]'` )\n",
"- Qiskit Runtime 0.22 or later (`pip install qiskit-ibm-runtime`)"
]
},
{
"cell_type": "markdown",
"id": "dfb22142-2377-40bf-801c-b2116f048a9a",
"metadata": {},
"source": [
"## Setup"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4405f2da-ce6e-4b97-960a-bb04730cfb6d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--2024-11-08 09:58:28-- https://raw.githubusercontent.com/qiskit-community/prototype-quantum-kernel-training/main/data/dataset_graph7.csv\n",
"Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.110.133, 185.199.108.133, ...\n",
"Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.109.133|:443... connected.\n",
"HTTP request sent, awaiting response... 200 OK\n",
"Length: 49405 (48K) [text/plain]\n",
"Saving to: dataset_graph7.csv.11\n",
"\n",
"dataset_graph7.csv. 100%[===================>] 48.25K --.-KB/s in 0.05s \n",
"\n",
"2024-11-08 09:58:28 (1.04 MB/s) - dataset_graph7.csv.11 saved [49405/49405]\n",
"\n"
]
}
],
"source": [
"!wget https://raw.githubusercontent.com/qiskit-community/prototype-quantum-kernel-training/main/data/dataset_graph7.csv\n",
"\n",
"# General Imports and helper functions\n",
"\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"\n",
"from qiskit.circuit import Parameter, ParameterVector, QuantumCircuit\n",
"from qiskit.circuit.library import UnitaryOverlap\n",
"from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager\n",
"\n",
"from qiskit_ibm_runtime import QiskitRuntimeService, Sampler\n",
"\n",
"from qiskit_serverless import IBMServerlessProvider, QiskitPattern\n",
"\n",
"\n",
"def visualize_counts(res_counts, num_qubits, num_shots):\n",
" \"\"\"Visualize the outputs from the Qiskit Sampler primitive.\"\"\"\n",
" zero_prob = res_counts.get(0, 0.0)\n",
" top_10 = dict(\n",
" sorted(res_counts.items(), key=lambda item: item[1], reverse=True)[\n",
" :10\n",
" ]\n",
" )\n",
" top_10.update({0: zero_prob})\n",
" by_key = dict(sorted(top_10.items(), key=lambda item: item[0]))\n",
" x_vals, y_vals = list(zip(*by_key.items()))\n",
" x_vals = [bin(x_val)[2:].zfill(num_qubits) for x_val in x_vals]\n",
" y_vals_prob = []\n",
" for t in range(len(y_vals)):\n",
" y_vals_prob.append(y_vals[t] / num_shots)\n",
" y_vals = y_vals_prob\n",
" plt.bar(x_vals, y_vals)\n",
" plt.xticks(rotation=75)\n",
" plt.title(\"Results of sampling\")\n",
" plt.xlabel(\"Measured bitstring\")\n",
" plt.ylabel(\"Probability\")\n",
" plt.show()\n",
"\n",
"\n",
"def get_training_data():\n",
" \"\"\"Read the training data.\"\"\"\n",
" df = pd.read_csv(\"dataset_graph7.csv\", sep=\",\", header=None)\n",
" training_data = df.values[:20, :]\n",
" ind = np.argsort(training_data[:, -1])\n",
" X_train = training_data[ind][:, :-1]\n",
"\n",
" return X_train"
]
},
{
"cell_type": "markdown",
"id": "6ddce42e-a365-451d-972d-24c1306ac47b",
"metadata": {},
"source": [
"## Step 1: Map classical inputs to a quantum problem\n",
"\n",
"* Input: Training dataset.\n",
"* Output: Abstract circuit for calculating a kernel matrix entry.\n",
"\n",
"Create the quantum circuit used to evaluate one entry in the kernel matrix. We use the input data to determine the rotation angles for the circuit's parametrized gates. We will use data samples `x1=14` and `x2=19`.\n",
"\n",
"***Note: The dataset used in this tutorial can be downloaded [here](https://github.com/qiskit-community/prototype-quantum-kernel-training/blob/main/data/dataset_graph7.csv).***"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "70d6faff-9a56-44bb-b26f-f573a8c90889",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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xo0b+eijjxg9ejR2u50VK1bc9N/j/MVLDdn9/QkM8KpDLCIiIiIi4rN8sl1FR0cTExPDt99+y8iRI5t8z9atWykqKqKkpASA8+fPc/z4cbf3hISEUFhYSGFhIQ8++CA5OTlUV1cTGRn5b2fT6KuIiIiIiMit4ZMFFuDZZ59l6tSphIWFkZeXx9mzZ6msrCQ2NpZRo0bRtWtX1q5dy86dO7FYLEyfPp36nzyMury8HIfDQZ8+fQgKCuKdd94hOjoam83W4v/3l67RXv1RFf+oqaVThxj+86ECr71EQURERERExNf4bIF94oknsFgszJ07l4kTJxIeHk5qaiozZswAGgru0aNHycvLIzw8nKeffprq6mrX9uHh4bz44otMnjwZgJSUFNatW4f5Jma+08zDIiIiIiIit47XzEJ8O6g7d4FNVZ9R/cNZxpUMVoEVERERERHxIBXYW8DhcNzUSK6IiIiIiIg0pgIrIiIiIiIiPkHDhCIiIiIiIuITVGBFRERERETEJ6jAioiIiIiIiE9QgRURERERERGfoAIrIiIiIiIiPkEFVkRERERERHyCCqyIiIiIiIj4BBVYERERERER8QkqsCIiIiIiIuITVGBFRERERETEJ6jAioiIiIiIiE9QgRURERERERGfoAIrIiIiIiIiPkEFVkRERERERHyCCqyIiIiIiIj4BBVYERERERER8QkqsCIiIiIiIuITVGBFRERERETEJ6jAioiIiIiIiE9QgRURERERERGfoAIrIiIiIiIiPkEFVkRERERERHyCCqyIiIiIiIj4BBVYERERERER8QkqsCIiIiIiIuITVGBFRERERETEJ/w/EO9g6rr3BzUAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 1201.07x421.4 with 1 Axes>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Prepare training data\n",
"X_train = get_training_data()\n",
"\n",
"# Empty kernel matrix\n",
"num_samples = np.shape(X_train)[0]\n",
"kernel_matrix = np.full((num_samples, num_samples), np.nan)\n",
"\n",
"# Prepare feature map for computing overlap\n",
"num_features = np.shape(X_train)[1]\n",
"num_qubits = int(num_features / 2)\n",
"entangler_map = [[0, 2], [3, 4], [2, 5], [1, 4], [2, 3], [4, 6]]\n",
"fm = QuantumCircuit(num_qubits)\n",
"training_param = Parameter(\"θ\")\n",
"feature_params = ParameterVector(\"x\", num_qubits * 2)\n",
"fm.ry(training_param, fm.qubits)\n",
"for cz in entangler_map:\n",
" fm.cz(cz[0], cz[1])\n",
"for i in range(num_qubits):\n",
" fm.rz(-2 * feature_params[2 * i + 1], i)\n",
" fm.rx(-2 * feature_params[2 * i], i)\n",
"\n",
"# Assign tunable parameter to known optimal value and set the data params for first two samples\n",
"x1 = 14\n",
"x2 = 19\n",
"unitary1 = fm.assign_parameters(list(X_train[x1]) + [np.pi / 2])\n",
"unitary2 = fm.assign_parameters(list(X_train[x2]) + [np.pi / 2])\n",
"\n",
"# Create the overlap circuit\n",
"overlap_circ = UnitaryOverlap(unitary1, unitary2)\n",
"overlap_circ.measure_all()\n",
"overlap_circ.draw(\"mpl\", scale=0.6, style=\"iqp\")"
]
},
{
"cell_type": "markdown",
"id": "158d8cec-1d92-4105-ac64-6f801dec4259",
"metadata": {},
"source": [
"## Step 2: Optimize problem for quantum hardware execution\n",
"\n",
"* Input: Abstract circuit, not optimized for a particular backend\n",
"* Output: Target circuit and observable, optimized for the selected QPU\n",
"\n",
"Use the `generate_preset_pass_manager` function from Qiskit to specify an optimization routine for our circuit with respect to the QPU on which we plan to run the experiment. We set `optimization_level=3` , which means we will use the preset pass manager which provides the highest level of optimization."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "49607b34-9723-493d-85da-bd97c1351104",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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xNmzZ7FixQp06dIFQOkltqrCz88PTZo0qdJzba3D19cXw4YNw7BhwzBkyBD07dsXN2/exIMPPohr165BrVZb3IdFqk6dOmHTpk0WyxISEtCpU6cqvyYREREREREREREREd2dpMuCffrppyguLkbbtm2xZs0anD59GmfPnsU333yDM2fOwNXV1erz/vGPf8Dd3R2jRo3CiRMn8Ntvv+Gll17CyJEjLe4bUlhYiOeffx6nTp3Cpk2b8M477+DFF1+Ei4sLAgICEBgYiOXLl+P8+fPYvn07pk6dWr13XwW21LFgwQJ8//33OHPmDM6dO4e1a9eifv368Pf3R8+ePdGpUyc88cQTiI+Px8WLF7F371688cYbOHz4MADg8uXLuPfee3Hw4MEK6xg3bhwuXLiAV155BWfOnMGnn36KH3/8EVOmTLHr+yciIiIiIiIiIiIiqu1s/uUKADRu3BhHjx7FnDlz8NprryEtLQ1arRb3338/pk+fjgkTJlh9nqenJ7Zs2YLJkyejXbt28PT0xJNPPokFCxZYbPfoo4+iadOmeOSRR2AwGDBixAjMmDEDAODi4oIffvgBkyZNQnR0NJo1a4bFixejW7duVXrjVWVLHT4+Ppg3bx7++usvuLq6ol27dti0aZP58mObNm3CG2+8geeeew43btxA/fr18cgjj5gnmoqKinD27Fnk5eVVWEdUVBR+/fVXTJkyBR999BEaNGiAzz//HH369LHr+yciIiIiIiIiIiIiqu1UJpPJpHQRREREREREREREREREjkLSZcGIiIiIiIiIiIiIiIhqO06uEBERERERERERERERScDJFSIiIiIiIiIiIiIiIgk4uUJERERERERERERERCQBJ1eIiIiIiIiIiIiIiIgk4OQKERERERERERERERGRBJxcISIiIiIiIiIiIiIikoCTK0RERERERERERERERBJwcoWIiIiIiIiIiIiIiEgCTq4QERERERERERERERFJoFa6ACIiIiIiIiIiInI+hw4dqnDd2rVrMXTo0ArXt2vXzh4lERHVGP5yhYiIiIiIiIiIiGS1bt06pUsgIqoWTq4QERERERERERERERFJwMkVIiIiIiIiIiIiklXv3r2VLoGIqFo4uUJERERERERERESyGjJkiNIlEBFVCydXiIiIiIiIiIiISFZjxoxRugQiompRK10A2S6n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REREcuHkihNq8NyHAICwZ94FAOQc+gUqtRvqxUxGvZjJSpamOE1QA0T935fmxxFjFgMAoqZ8ZbFdg+c+sHgc/sJC+xdHTu3O/len69MAgIgxS5QqSVh3ToLeOrYNxTnpcNF6IufIJpToshH69EwAQNa+9cg9vgMl+mzU7Tuu3OPa5s4vDlw8fFCckw5NvShkblsNU1EBwl/4CEDpvW2ufPMGCi6fhUdEcwQ8NFTh6omIiOh2t3+uS1s1nZ/pbMTciIiISC6cXKkFyk4uiYgcwZ2ToLfz7/C4xeOAToMR0GlwuWW1VWVfHHg362jxWBPUAFHTvpWjLCIiIqomfqarGuZGJLbly5crXQIRUbW4KF0AERERERERERER1S7r1q1TugQiomrh5IqD8FIDnjL8zshTXbovKTTeHlB7u999w2pSe7tD4+1h8/ZyZQZULTdyHuyfztU/Rc0MELutERERkTSiHtd5LsRzISK5xMfH230farUaarX9O7Rc+yEisahMJpNJ6SLINjmFgL7YvvvwUgN+GunPM2TlolCXX/MF3Ubj7QFtgI+k58iRGVD13Mh2uanp+E/7CbLt78mDn8InPNjm7dk/nat/ipoZIHZbIyIiEonc54+A85xD8lyI50JENeXQoUMVrhs2bBjWrFlT4fp27drVSA0GgwHFxbYNHJ//8KvF4xeG97fpeWq1GlqtVnJtROTYOKXqQPw04p7gaQN8qnRibG8iZ0bOReS2xv4pnaiZAWLnRkRERNKIelznuRARyWHIkCGy7Eer1do88VFiUlk89vLyskdJROQkeFkwIiIiIiIiIiIiklXHjh2VLoGIqFo4uUJERERERERERESymj59utIlEBFVCydXiIiIiIiIiIiIiIiIJODkChEREREREREREcnKx0fMezsREdmKkytEREREREREREQkqz59+ihdAhFRtXByhYiIiIiIiIiIiGS1bt06pUsgIqoWTq4QERERERERERERERFJwMkVIiIiIiIiIiIiklXv3r2VLoGIqFo4uUJERERERERERESyGjJkiNIlEBFVi1rpAsh2OYWAvti++/BSA34a6c8zZOWiUJdf8wXdRuPtAW2Aj6TnyJEZULXcRM0MELutEdmbHH2zjKjjGsc06UTNDJCem1zHToDHgtpO1D4AiDtuEBEROZMxY8ZgzZo1SpdB5PQMBgOK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RanPSul8GR8UBFmlL2717sAg6/Q5fdLuIeWkXyi7YJKsIYEatGVasQ+mfFUz6drqBgAAvGPW8ZBZx0KSeWsmmbtuZmXW5emrZSmZ95iA4wEAAADvZGVlafHixT5prvTu3btMGixcFqycyMjxTZPgfI73f9V1MT3TJwdSOekXvPprOF/VTLq2ugEAAO+YdTxk1rGQZN6aSeaum1mZdXn6allK5j0m4HgAALw3b948oyMAMFBOTk6ZN1bK+nNorgAAAAAAAADwqalTpxodAQBKhOYKAAAAAAAAAJ/avHmz0REAoES450oFsuuBevKzOWSx2uTKuajo301QVPc/GB3L1KgZAAAVB/t171GzioXl6T1qBgAAgGtFc6WCafjUZwqsfYMyk37QnvG/VZXWt8sWGWN0LFOjZgAAVBzs171HzSoWlqf3qBkAGOO+++4zOgKACsjlcslisfjks2iu/GrBggWaNm2atm/frtOnT+vQoUOqV69emTzHFxx1m8o/OELZJ1OUtm2xTq39UJLkzDwni9WmG6Zs9HmmEUfne/2a2TUHlkGSgpmxZgAA4NqYdb9u5vEQNatYWJ7eM2vNAKCiqlOnjtERAJQD6enpWrdunVJSUnT+/HnZbDZFREQoPj4+3/dIamqq/vGPf+iRRx5RZGRkmWejufKrjIwMderUSf3799fo0aPL9Dm+kP7jOllDq8pRv4WCf9NO1Xo8KElKemeUwtv1NSTTqhF/1eFlWw357OIwY80AAMC1Met+3czjIWpWsbA8vWfWmgFARfXcc89p3rx5RscAYFKJiYlatmyZ1q9fr4sXL+ab/9lnn6lx48bq3r272rdvr59//lnPPfeczp49q8TExIrbXPn22281atQo7dy5U82aNdOYMWM0atQopaeny8/Pz4hIuvfeeyVJe/fuLfPnlKUDL/WTy+lU1s8/qf6Ef8svwO6el75nvXIzziisze2GZPPR2VheM3PNAAAwWuuJ96he3w4KjY3WZ53GKu2nVKMjFcns+3UzjoeoWdHYBkqX0cuzIGavGQAAQGWzYsUKvffee3K5XGrUqJG6d++u5s2bKzg4WBcvXlRycrJWrlypTZs2ac+ePWratKkOHz6sc+fOady4cWrdurVPcvq8ufLdd9+pc+fO7u70V199pYcfflhNmjS5psbKN998oxEjRigxMTHfvFdffVU/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",
"text/plain": [
"<Figure size 2082.03x421.4 with 1 Axes>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Remember to insert your token in the QiskitRuntimeService constructor\n",
"service = QiskitRuntimeService(channel=\"ibm_quantum\")\n",
"backend = service.least_busy(\n",
" operational=True, simulator=False, min_num_qubits=overlap_circ.num_qubits\n",
")\n",
"pm = generate_preset_pass_manager(optimization_level=3, backend=backend)\n",
"overlap_ibm = pm.run(overlap_circ)\n",
"overlap_ibm.draw(\"mpl\", scale=0.6, idle_wires=False, fold=-1, style=\"iqp\")"
]
},
{
"cell_type": "markdown",
"id": "9359b92c-a130-44d1-ba11-752f8f4935a0",
"metadata": {},
"source": [
"## Step 3: Execute using Qiskit primitives\n",
"\n",
"* Input: Target circuit\n",
"* Output: Quasi-probability distribution\n",
"\n",
"Use the `Sampler` primitive from Qiskit Runtime to reconstruct a quasi-probability distribution of states yielded from sampling the circuit. For the task of generating a kernel matrix, we are particularly interested in the probability of measuring the |0> state.\n",
"\n",
"Since we optimized the circuit for the backend in Step 2, we can avoid doing transpilation on the Runtime server by setting `skip_transpilation=True` and passing the optimized circuit to the `Sampler`. For this demo, we will run on a QPU with `qiskit-ibm-runtime` primitives. To run on `qiskit` statevector-based primitives, replace the block of code using Qiskit IBM Runtime primitives with the commented block."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d2f4f6cf-067e-4d53-aa04-7ca9c803d3e1",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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1XbDwsKQnZ2tfty8ebOGEhMREZGuMZRrx3Z2djAwMCh39Vh6evpjJ2A/LRsbGzRt2hSJiYkAAEdHRxQVFeH+/fsaR5GetF8TE5PHznsiIiKi2kO2I0jGxsbw9vZGVFSUeplKpUJUVBR8fX1rbD+5ublISkpCgwYNAADe3t4wMjLS2O+lS5eQnJxco/slIiIi/SXbESQACA0NxZgxY9CxY0d07twZK1asQF5eHsaNGwcAGD16NJydnREeHg7g0cTu+Ph49Z9v376N2NhYWFhYoEmTJgCAd999FwMHDoSrqytSUlIwZ84cGBgYYOTIkQAAa2trjB8/HqGhobC1tYWVlRUmT54MX19fdOnSRYZPgYiIiHSNrAVp+PDhuHPnDmbPno20tDS0a9cOERER6onbycnJUCr/PsiVkpKC9u3bq58vXboUS5cuhZ+fHw4ePAgAuHXrFkaOHImsrCzY29uje/fuOHbsGOzt7dWvW758OZRKJYKCglBYWIiAgAB8+eWX2nnTREREpPMUQgghdwh9lJOTA2tra2RnZ8PKyqpGt+02fXeNbq8mXF8UKHcEIiKif62qv79r3VVsRERERP8WCxIRERGRBAsSERERkQQLEhEREZEECxIRERGRBAsSERERkQQLEhEREZEECxIRERGRBAsSERERkQQLEhEREZEECxIRERGRBAsSERERkQQLEhEREZEECxIRERGRBAsSERERkQQLEhEREZEECxIRERGRBAsSERERkQQLEhEREZEECxIRERGRBAsSERERkQQLEhEREZEECxIRERGRBAsSERERkQQLEhEREZEECxIRERGRBAsSERERkQQLEhEREZEECxIRERGRBAsSERERkQQLEhEREZEECxIRERGRBAsSERERkQQLEhEREZEECxIRERGRBAsSERERkYTsBWnVqlVwc3ODqakpfHx8cOLEiUrHXrhwAUFBQXBzc4NCocCKFSvKjQkPD0enTp1gaWmJ+vXrY/Dgwbh06ZLGmF69ekGhUGg83nzzzZp+a0RERKSnZC1ImzZtQmhoKObMmYPTp0+jbdu2CAgIQEZGRoXj8/Pz4eHhgUWLFsHR0bHCMYcOHUJISAiOHTuGyMhIFBcXo1+/fsjLy9MYFxwcjNTUVPXjk08+qfH3R0RERPrJUM6dL1u2DMHBwRg3bhwAYPXq1di9ezfWrl2L6dOn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jsbcuXORlZWFr776qkZDEhEREWlTtQrShg0bsHHjRjz//PPqZW3atIGLiwtGjhzJgkRERER6rVqn2ExMTODm5lZuubu7O4yNjf9tJiIiIiJZVasgTZo0CQsWLEBhYaF6WWFhIT766CNMmjSpxsIRERERyaHKp9iGDBmi8Xz//v1o2LAh2rZtCwA4e/YsioqK0Ldv35pNSERERKRlVS5I1tbWGs+DgoI0nvMyfyIiIqotqlyQ1q1b9yxzEBEREemMf3WjyDt37qi/nLZZs2awt7evkVBEREREcqrWJO28vDy8/vrraNCgAXr27ImePXvCyckJ48ePR35+fk1nJCIiItKqahWk0NBQHDp0CDt37sT9+/dx//59/Pbbbzh06BCmTZtW0xmJiIiItKpap9h++eUXbN26Fb169VIvGzBgAMzMzDBs2DDeKJKIiIj0WrWOIOXn58PBwaHc8vr16/MUGxEREem9ahUkX19fzJkzBwUFBeplDx8+xLx589TfzUZERESkr6p1im3FihXo379/uRtFmpqaYu/evTUakIiIiEjbqlWQvLy8cOXKFfz0009ISEgAAIwcORKjRo2CmZlZjQYkIiIi0ranLkjFxcVo3rw5du3aheDg4GeRiYiIiEhWTz0HycjISGPuEREREVFtU61J2iEhIVi8eDFKSkpqOg8RERGR7Ko1B+nkyZOIiorCvn374OXlBXNzc43127Ztq5FwRERERHKoVkGysbFBUFBQTWchIiIi0glPVZBUKhWWLFmCy5cvo6ioCH369MHcuXN55RoRERHVKk81B+mjjz7CjBkzYGFhAWdnZ6xcuRIhISHPKhsRERGRLJ6qIH3//ff48ssvsXfvXmzfvh07d+7ETz/9BJVK9azyEREREWndUxWk5ORkDBgwQP3c398fCoUCKSkpNR6MiIiISC5PVZBKSkpgamqqsczIyAjFxcU1GoqIiIhITk81SVsIgbFjx8LExES9rKCgAG+++abGpf68zJ+IiIj02VMVpDFjxpRb9uqrr9ZYGCIiIiJd8FQFad26dc8qBxEREZHOqNZXjRARERHVZixIRERERBI6UZBWrVoFNzc3mJqawsfHBydOnHjs+C1btqB58+YwNTWFl5cX9uzZo7FeoVBU+FiyZIl6jJubW7n1ixYteibvj4iIiPSL7AVp06ZNCA0NxZw5c3D69Gm0bdsWAQEByMjIqHD80aNHMXLkSIwfPx5nzpzB4MGDMXjwYJw/f149JjU1VeOxdu1aKBSKct8fN3/+fI1xkydPfqbvlYiIiPSDQggh5Azg4+ODTp064YsvvgDw6PveXFxcMHnyZEyfPr3c+OHDhyMvLw+7du1SL+vSpQvatWuH1atXV7iPwYMH48GDB4iKilIvc3NzwzvvvIN33nmnWrlzcnJgbW2N7OxsWFlZVWsblXGbvrtGt1cTri8KlDsCERHRv1bV39+yHkEqKipCTEwM/P391cuUSiX8/f0RHR1d4Wuio6M1xgNAQEBApePT09Oxe/dujB8/vty6RYsWoV69emjfvj2WLFmCkpKSSrMWFhYiJydH40FERES101Nd5l/TMjMzUVpaCgcHB43lDg4OSEhIqPA1aWlpFY5PS0urcPz69ethaWmJIUOGaCx/++230aFDB9ja2uLo0aMICwtDamoqli1bVuF2wsPDMW/evKq+NSIiItJjshYkbVi7di1GjRpV7itSQkND1X9u06YNjI2NMXHiRISHh2vcKbxMWFiYxmtycnLg4uLy7IITERGRbGQtSHZ2djAwMEB6errG8vT0dDg6Olb4GkdHxyqP//PPP3Hp0iVs2rTpiVl8fHxQUlKC69evo1mzZuXWm5iYVFiciIiIqPaRdQ6SsbExvL29NSZPq1QqREVFwdfXt8LX+Pr6aowHgMjIyArHf/vtt/D29kbbtm2fmCU2NhZKpRL169d/yndBREREtY3sp9hCQ0MxZswYdOzYEZ07d8aKFSuQl5eHcePGAQBGjx4NZ2dnhIeHAwCmTJkCPz8/fPrppwgMDMTGjRtx6tQpfP311xrbzcnJwZYtW/Dpp5+W22d0dDSOHz+O3r17w9LSEtHR0Zg6dSpeffVV1K1b99m/aSIiItJpshek4cOH486dO5g9ezbS0tLQrl07REREqCdiJycnQ6n8+0BX165dsWHDBsycORMzZsyAp6cntm/fjtatW2tsd+PGjRBCYOTIkeX2aWJigo0bN2Lu3LkoLCyEu7s7pk6dqjHHiIiIiP67ZL8Pkr7ifZCIiIj0j17cB4mIiIhIF7EgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJsCARERERSbAgEREREUnoREFatWoV3NzcYGpqCh8fH5w4ceKx47ds2YLmzZvD1NQUXl5e2LNnj8b6sWPHQqFQaDz69++vMebu3bsYNWoUrKysYGNjg/HjxyM3N7fG3xsRERHpH9kL0qZNmxAaGoo5c+bg9OnTaNu2LQICApCRkVHh+KNHj2LkyJEYP348zpw5g8GDB2Pw4ME4f/68xrj+/fsjNTVV/fj555811o8aNQoXLlxAZGQkdu3ahcOHD2PChAnP7H0SERGR/lAIIYScAXx8fNCpUyd88cUXAACVSgUXFxdMnjwZ06dPLzd++PDhyMvLw65du9TLunTpgnbt2mH16tUAHh1Bun//PrZv317hPi9evIiWLVvi5MmT6NixIwAgIiICAwYMwK1bt+Dk5PTE3Dk5ObC2tkZ2djasrKye9m0/ltv03TW6vZpwfVGg3BGIiIj+tar+/pb1CFJRURFiYmLg7++vXqZUKuHv74/o6OgKXxMdHa0xHgACAgLKjT948CDq16+PZs2a4X//+x+ysrI0tmFjY6MuRwDg7+8PpVKJ48eP18RbIyIiIj1mKOfOMzMzUVpaCgcHB43lDg4OSEhIqPA1aWlpFY5PS0tTP+/fvz+GDBkCd3d3JCUlYcaMGXj++ecRHR0NAwMDpKWloX79+hrbMDQ0hK2trcZ2/qmwsBCFhYXq5zk5OU/1XomIiEh/yFqQnpURI0ao/+zl5YU2bdqgcePGOHjwIPr27VutbYaHh2PevHk1FZGIiIh0mKyn2Ozs7GBgYID09HSN5enp6XB0dKzwNY6Ojk81HgA8PDxgZ2eHxMRE9Takk8BLSkpw9+7dSrcTFhaG7Oxs9ePmzZtPfH9ERESkn2QtSMbGxvD29kZUVJR6mUqlQlRUFHx9fSt8ja+vr8Z4AIiMjKx0PADcunULWVlZaNCggXob9+/fR0xMjHrMgQMHoFKp4OPjU+E2TExMYGVlpfEgIiKi2kn2y/xDQ0Pxf//3f1i/fj0uXryI//3vf8jLy8O4ceMAAKNHj0ZYWJh6/JQpUxAREYFPP/0UCQkJmDt3Lk6dOoVJkyYBAHJzc/Hee+/h2LFjuH79OqKiojBo0CA0adIEAQEBAIAWLVqgf//+CA4OxokTJ3DkyBFMmjQJI0aMqNIVbERERFS7yT4Hafjw4bhz5w5mz56NtLQ0tGvXDhEREeqJ2MnJyVAq/+5xXbt2xYYNGzBz5kzMmDEDnp6e2L59O1q3bg0AMDAwQFxcHNavX4/79+/DyckJ/fr1w4IFC2BiYqLezk8//YRJkyahb9++UCqVCAoKwsqVK7X75omIiEgnyX4fJH3F+yARERHpn6r+/pb9CBLVHix2RERUW8g+B4mIiIhI17AgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJsCARERERSfA+SERERDWE94OrPXgEiYiIiEiCBYmIiIhIggWJiIiISIIFiYiIiEiCBYmIiIhIggWJiIiISIIFiYiIiEiCBYmIiIhIggWJiIiISIIFiYiIiEiCBYmIiIhIggWJiIiISIIFiYiIiEiCBYmIiIhIggWJiIiISIIFiYiIiEiCBYmIiIhIggWJiIiISIIFiYiIiEiCBYmIiIhIggWJiIiISIIFiYiIiEiCBYmIiIhIggWJiIiISIIFiYiIiEiCBYmIiIhIggWJiIiISEInCtKqVavg5uYGU1NT+Pj44MSJE48dv2XLFjRv3hympqbw8vLCnj171OuKi4vxwQcfwMvLC+bm5nBycsLo0aORkpKisQ03NzcoFAqNx6JFi57J+yMiIiL9IntB2rRpE0JDQzFnzhycPn0abdu2RUBAADIyMiocf/ToUYwcORLjx4/HmTNnMHjwYAwePBjnz58HAOTn5+P06dOYNWsWTp8+jW3btuHSpUt48cUXy21r/vz5SE1NVT8mT578TN8rERER6QfZC9KyZcsQHByMcePGoWXLlli9ejXq1KmDtWvXVjj+s88+Q//+/fHee++hRYsWWLBgATp06IAvvvgCAGBtbY3IyEgMGzYMzZo1Q5cuXfDFF18gJiYGycnJGtuytLSEo6Oj+mFubv7M3y8RERHpPlkLUlFREWJiYuDv769eplQq4e/vj+jo6ApfEx0drTEeAAICAiodDwDZ2dlQKBSwsbHRWL5o0SLUq1cP7du3x5IlS1BSUlLpNgoLC5GTk6PxICIiotrJUM6dZ2ZmorS0FA4ODhrLHRwckJCQUOFr0tLSKhyflpZW4fiCggJ88MEHGDlyJKysrNTL3377bXTo0AG2trY4evQowsLCkJqaimXLllW4nfDwcMybN+9p3h4RERHpKVkL0rNWXFyMYcOGQQiBr776SmNdaGio+s9t2rSBsbExJk6ciPDwcJiYmJTbVlhYmMZrcnJy4OLi8uzCExERkWxkLUh2dnYwMDBAenq6xvL09HQ4OjpW+BpHR8cqjS8rRzdu3MCBAwc0jh5VxMfHByUlJbh+/TqaNWtWbr2JiUmFxYmIiIhqH1nnIBkbG8Pb2xtRUVHqZSqVClFRUfD19a3wNb6+vhrjASAyMlJjfFk5unLlCvbv34969eo9MUtsbCyUSiXq169fzXdDREREtYXsp9hCQ0MxZswYdOzYEZ07d8aKFSuQl5eHcePGAQBGjx4NZ2dnhIeHAwCmTJkCPz8/fPrppwgMDMTGjRtx6tQpfP311wAelaOhQ4fi9OnT2LVrF0pLS9Xzk2xtbWFsbIzo6GgcP34cvXv3hqWlJaKjozF16lS8+uqrqFu3rjwfBBEREekM2QvS8OHDcefOHcyePRtpaWlo164dIiIi1BOxk5OToVT+faCra9eu2LBhA2bOnIkZM2bA09MT27dvR+vWrQEAt2/fxo4dOwAA7dq109jXH3/8gV69esHExAQbN27E3LlzUVhYCHd3d0ydOlVjjhERERH9dymEEELuEPooJycH1tbWyM7OfuL8pqflNn13jW6vJlxfFPjEMfqam4iopvDvQd1X1d/fst8okoiIiEjXsCARERERSbAgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJsCARERERSbAgEREREUmwIBERERFJGModgIj+W9ym75Y7QjnXFwXKHYGIdAwLEpGeYtEgInp2eIqNiIiISIJHkOg/j0diiHQP/7skufEIEhEREZEECxIRERGRBE+xERER/cfxlGZ5PIJEREREJMGCRERERCTBgkREREQkwTlIRES1GOeWEFUPjyARERERSbAgEREREUmwIBERERFJsCARERERSXCSNhFRFXCyM9F/C48gEREREUmwIBERERFJsCAR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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"num_shots = 10_000\n",
"\n",
"## Evaluate the problem using statevector-based primitives from Qiskit\n",
"# from qiskit.primitives import StatevectorSampler\n",
"\n",
"# sampler = StatevectorSampler()\n",
"# results = sampler.run([overlap_circ]).result()\n",
"# counts = results[0].data.meas.get_int_counts()\n",
"\n",
"# Evaluate the problem using a QPU via Qiskit IBM Runtime\n",
"\n",
"sampler = Sampler(mode=backend)\n",
"results = sampler.run([overlap_ibm]).result()\n",
"counts = results[0].data.meas.get_int_counts()\n",
"\n",
"visualize_counts(counts, num_qubits, num_shots)"
]
},
{
"cell_type": "markdown",
"id": "1b750103-c369-4651-9092-db0385294c46",
"metadata": {},
"source": [
"## Step 4: Post-process and return result in desired classical format\n",
"\n",
"* Input: Probability distribution\n",
"* Output: A single kernel matrix element\n",
"\n",
"Calculate the probability of measuring |0> on the overlap circuit, and populate the kernel matrix in the position corresponding to the samples represented by this particular overlap circuit (row 15, column 20). In this visualization, darker red indicates fidelities closer to 1.0. To fill out the entire kernel matrix, we need to run a quantum experiment for each entry."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "8efcb466-3110-4e60-82a6-185f0dca1771",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fidelity: 0.1891\n"
]
}
],
"source": [
"# Calculate the fidelity, or the probability to measure 0\n",
"kernel_matrix[x1, x2] = counts.get(0, 0.0) / num_shots\n",
"print(f\"Fidelity: {kernel_matrix[x1, x2]}\")"
]
},
{
"attachments": {},
"cell_type": "markdown",
"id": "dec33657-9055-4fdc-b146-dba0e5882719",
"metadata": {},
"source": [
"![kernel_matrix.png](/images/tutorials/quantum-kernel-training/kernel_matrix.avif)"
]
},
{
"cell_type": "markdown",
"id": "5b0397d6-6673-45cb-9d38-7e9faadba4a1",
"metadata": {},
"source": [
"## Deploy the Qiskit Pattern to the cloud\n",
"\n",
"To do this, move the source code above to a file, `./source/generate_kernel_entry.py`, wrap the code in a script which takes inputs returns the final solution, and finally upload it to a remote cluster using the `QiskitPattern` class from `Qiskit Serverless`. For guidance on specifying external dependencies, passing input arguments, and more, check out the [Qiskit Serverless guides](https://qiskit.github.io/qiskit-serverless/getting_started/index.html).\n",
"\n",
"The input to the Pattern is a pair of data samples, `x1` and `x2`. The output is the fidelity between the two samples. This value will be used to populate the kernel matrix entry corresponding to these two samples."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8ce74c3c-4212-4c75-ae55-1394813c89a6",
"metadata": {},
"outputs": [],
"source": [
"serverless = IBMServerlessProvider()\n",
"\n",
"kernel_entry_pattern = QiskitPattern(\n",
" title=\"ibm/generate-kernel-entry\",\n",
" entrypoint=\"generate_kernel_entry.py\",\n",
" working_dir=\"./source/\",\n",
")\n",
"\n",
"serverless.upload(kernel_entry_pattern)"
]
},
{
"cell_type": "markdown",
"id": "f5b1e64a-881e-459e-a425-7876e56d73de",
"metadata": {},
"source": [
"## Run the Qiskit Pattern as a managed service\n",
"\n",
"Once we have uploaded the pattern to the cloud, we can easily run it using the `IBMServerlessProvider` client. For simplicity, we will use an exact quantum simulator in the cloud environment, so the fidelity we calculate will be exact."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "c70725fe-57e9-42ed-a0a4-daf0222ddc3a",
"metadata": {},
"outputs": [],
"source": [
"job = serverless.run(\n",
" \"ibm/generate-kernel-entry\",\n",
" arguments={\"sample1\": list(X_train[x1]), \"sample2\": list(X_train[x2])},\n",
")\n",
"\n",
"kernel_matrix[x1, x2] = job.result()[\"fidelity\"]\n",
"print(f\"fidelity: {kernel_matrix[x1, x2]}\")"
]
},
{
"cell_type": "markdown",
"id": "6847b837",
"metadata": {},
"source": [
"## Tutorial survey\n",
"\n",
"Please take one minute to provide feedback on this tutorial. Your insights will help us improve our content offerings and user experience.\n",
"\n",
"[Link to survey](https://your.feedback.ibm.com/jfe/form/SV_6xsFvUYV1pNHCqW)"
]
},
{
"cell_type": "markdown",
"id": "0ea07bca",
"metadata": {},
"source": [
"© IBM Corp. 2024, 2025"
]
}
],
"metadata": {
"description": "Build a Qiskit Pattern for evaluating entries into a quantum kernel matrix used for binary classification.",
"kernelspec": {
"display_name": "Python 3",
"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"
},
"platform": "cloud",
"title": "Quantum kernel training"
},
"nbformat": 4,
"nbformat_minor": 5
}