{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "mnist_20200721_numpy_error.ipynb", "provenance": [], "collapsed_sections": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" } }, "cells": [ { "cell_type": "code", "metadata": { "id": "p-ocOoMngMbn", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 817 }, "outputId": "91494dd3-118a-44dc-e0a7-50f42ba1f59e" }, "source": [ "!pip install tensorflow pennylane" ], "execution_count": 1, "outputs": [ { "output_type": "stream", "text": [ "Requirement already satisfied: tensorflow in /usr/local/lib/python3.6/dist-packages (2.2.0)\n", "Requirement already satisfied: pennylane in /usr/local/lib/python3.6/dist-packages (0.10.0)\n", "Requirement already satisfied: google-pasta>=0.1.8 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (0.2.0)\n", "Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (3.2.1)\n", "Requirement already satisfied: wheel>=0.26; python_version >= \"3\" in /usr/local/lib/python3.6/dist-packages (from tensorflow) (0.34.2)\n", "Requirement already satisfied: six>=1.12.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.12.0)\n", "Requirement already satisfied: tensorflow-estimator<2.3.0,>=2.2.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (2.2.0)\n", "Requirement already satisfied: tensorboard<2.3.0,>=2.2.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (2.2.2)\n", "Requirement already satisfied: scipy==1.4.1; python_version >= \"3\" in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.4.1)\n", "Requirement already satisfied: astunparse==1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.6.3)\n", "Requirement already satisfied: numpy<2.0,>=1.16.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.18.5)\n", "Requirement already satisfied: h5py<2.11.0,>=2.10.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (2.10.0)\n", "Requirement already satisfied: keras-preprocessing>=1.1.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.1.2)\n", "Requirement already satisfied: termcolor>=1.1.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.1.0)\n", "Requirement already satisfied: gast==0.3.3 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (0.3.3)\n", "Requirement already satisfied: wrapt>=1.11.1 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.12.1)\n", "Requirement already satisfied: absl-py>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (0.9.0)\n", "Requirement already satisfied: protobuf>=3.8.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (3.12.2)\n", "Requirement already satisfied: grpcio>=1.8.6 in /usr/local/lib/python3.6/dist-packages (from tensorflow) (1.30.0)\n", "Requirement already satisfied: toml in /usr/local/lib/python3.6/dist-packages (from pennylane) (0.10.1)\n", "Requirement already satisfied: appdirs in /usr/local/lib/python3.6/dist-packages (from pennylane) (1.4.4)\n", "Requirement already satisfied: semantic-version==2.6 in /usr/local/lib/python3.6/dist-packages (from pennylane) (2.6.0)\n", "Requirement already satisfied: networkx in /usr/local/lib/python3.6/dist-packages (from pennylane) (2.4)\n", "Requirement already satisfied: autograd in /usr/local/lib/python3.6/dist-packages (from pennylane) (1.3)\n", "Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow) (0.4.1)\n", "Requirement already satisfied: requests<3,>=2.21.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow) (2.23.0)\n", "Requirement already satisfied: setuptools>=41.0.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow) (49.1.0)\n", "Requirement already satisfied: werkzeug>=0.11.15 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow) (1.0.1)\n", "Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow) (3.2.2)\n", "Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow) (1.7.0)\n", "Requirement already satisfied: google-auth<2,>=1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorboard<2.3.0,>=2.2.0->tensorflow) (1.17.2)\n", "Requirement already satisfied: decorator>=4.3.0 in /usr/local/lib/python3.6/dist-packages (from networkx->pennylane) (4.4.2)\n", "Requirement already satisfied: future>=0.15.2 in /usr/local/lib/python3.6/dist-packages (from autograd->pennylane) (0.16.0)\n", "Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.3.0,>=2.2.0->tensorflow) (1.3.0)\n", "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow) (2020.6.20)\n", "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow) (1.24.3)\n", "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow) (3.0.4)\n", "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard<2.3.0,>=2.2.0->tensorflow) (2.10)\n", "Requirement already satisfied: importlib-metadata; python_version < \"3.8\" in /usr/local/lib/python3.6/dist-packages (from markdown>=2.6.8->tensorboard<2.3.0,>=2.2.0->tensorflow) (1.7.0)\n", "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow) (0.2.8)\n", "Requirement already satisfied: rsa<5,>=3.1.4; python_version >= \"3\" in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow) (4.6)\n", "Requirement already satisfied: cachetools<5.0,>=2.0.0 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow) (4.1.1)\n", "Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.3.0,>=2.2.0->tensorflow) (3.1.0)\n", "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.6/dist-packages (from importlib-metadata; python_version < \"3.8\"->markdown>=2.6.8->tensorboard<2.3.0,>=2.2.0->tensorflow) (3.1.0)\n", "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.6/dist-packages (from pyasn1-modules>=0.2.1->google-auth<2,>=1.6.3->tensorboard<2.3.0,>=2.2.0->tensorflow) (0.4.8)\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "HWH_KFsSgUCj", "colab_type": "code", "colab": {} }, "source": [ "# after installing pennylane, please restart runtume!\n", "# https://discuss.pennylane.ai/t/error-when-calling-device/259/7\n", "import os\n", "\n", "def restart_runtime():\n", " os.kill(os.getpid(), 9)\n", "restart_runtime()" ], "execution_count": null, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "nuXVOm16gZMR", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 372 }, "outputId": "64b193d7-2784-4d86-8b4f-fa9b0bbc80d7" }, "source": [ "import pennylane as qml\n", "from pennylane import numpy as np\n", "\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as ticker\n", "\n", "qml.about()" ], "execution_count": 1, "outputs": [ { "output_type": "stream", "text": [ "Name: PennyLane\n", "Version: 0.10.0\n", "Summary: PennyLane is a Python quantum machine learning library by Xanadu Inc.\n", "Home-page: https://github.com/XanaduAI/pennylane\n", "Author: None\n", "Author-email: None\n", "License: Apache License 2.0\n", "Location: /usr/local/lib/python3.6/dist-packages\n", "Requires: scipy, numpy, appdirs, networkx, toml, autograd, semantic-version\n", "Required-by: \n", "Platform info: Linux-4.19.104+-x86_64-with-Ubuntu-18.04-bionic\n", "Python version: 3.6.9\n", "Numpy version: 1.18.5\n", "Scipy version: 1.4.1\n", "Installed devices:\n", "- default.gaussian (PennyLane-0.10.0)\n", "- default.qubit (PennyLane-0.10.0)\n", "- default.qubit.tf (PennyLane-0.10.0)\n", "- default.tensor (PennyLane-0.10.0)\n", "- default.tensor.tf (PennyLane-0.10.0)\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "MeAEh7Sigo6l", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 52 }, "outputId": "cbed552a-d5a0-4a73-956c-263311b3c352" }, "source": [ "import tensorflow as tf\n", "\n", "(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()\n", "\n", "# Rescale the images from [0,255] to the [0.0,1.0] range.\n", "x_train, x_test = x_train[..., np.newaxis] / 255.0, x_test[..., np.newaxis] / 255.0\n", "\n", "print(\"Number of original training examples:\", len(x_train))\n", "print(\"Number of original test examples:\", len(x_test))" ], "execution_count": 2, "outputs": [ { "output_type": "stream", "text": [ "Number of original training examples: 60000\n", "Number of original test examples: 10000\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "6oxy4O-KhuRr", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 52 }, "outputId": "a6347fc7-7841-43f7-c01f-372efe220b16" }, "source": [ "def filter_36(x, y):\n", " keep = (y == 3) | (y == 6)\n", " x, y = x[keep], y[keep]\n", " y = y == 3\n", " return x,y\n", "\n", "x_train, y_train = filter_36(x_train, y_train)\n", "x_test, y_test = filter_36(x_test, y_test)\n", "\n", "print(\"Number of filtered training examples:\", len(x_train))\n", "print(\"Number of filtered test examples:\", len(x_test))" ], "execution_count": 3, "outputs": [ { "output_type": "stream", "text": [ "Number of filtered training examples: 12049\n", "Number of filtered test examples: 1968\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "NAdEyzHZhnMz", "colab_type": "code", "colab": {} }, "source": [ "x_train = tf.image.resize(x_train, (16, 16)).numpy()\n", "x_test = tf.image.resize(x_test, (16, 16)).numpy()" ], "execution_count": 4, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "0NvfSaQCh4e9", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 287 }, "outputId": "1f29fdd3-63f5-44e0-c12e-50ba44d6a559" }, "source": [ "plt.imshow(x_train[0,:,:,0], vmin=0, vmax=1)\n", "plt.colorbar()" ], "execution_count": 5, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": { "tags": [] }, "execution_count": 5 }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [], "needs_background": "light" } } ] }, { "cell_type": "code", "metadata": { "id": "pgNfYfyn8vir", "colab_type": "code", "colab": { "base_uri": "https://localhost:8080/", "height": 391 }, "outputId": "9c9d6810-de27-42f7-8b73-044e16950ed7" }, "source": [ "n_qubits = 8\n", "dev = qml.device(\"default.qubit\", wires=n_qubits, shots=10, analytic=False)\n", "\n", "# quantum circuit\n", "@qml.qnode(dev)\n", "def circuit(features=None):\n", " qml.templates.AmplitudeEmbedding(features, range(n_qubits), normalize=True)\n", " return qml.expval(qml.PauliZ(0))\n", "\n", "circuit(features=x_train[0].flatten())" ], "execution_count": 6, "outputs": [ { "output_type": "error", "ename": "ValueError", "evalue": "ignored", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mqml\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexpval\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mqml\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mPauliZ\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 10\u001b[0;31m \u001b[0mcircuit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfeatures\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mx_train\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mflatten\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pennylane/interfaces/autograd.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 60\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_trainable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0margs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mautograd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuiltins\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtuple\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# pylint: disable=no-member\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 62\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mevaluate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 63\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 64\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mstaticmethod\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/autograd/tracer.py\u001b[0m in \u001b[0;36mf_wrapped\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 46\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mnew_box\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mans\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtrace\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 48\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mf_raw\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 49\u001b[0m \u001b[0mf_wrapped\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfun\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mf_raw\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 50\u001b[0m \u001b[0mf_wrapped\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_is_autograd_primitive\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pennylane/qnodes/base.py\u001b[0m in \u001b[0;36mevaluate\u001b[0;34m(self, args, kwargs)\u001b[0m\n\u001b[1;32m 819\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdevice\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mqml\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mQubitDevice\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 820\u001b[0m \u001b[0;31m# TODO: remove this if statement once all devices are ported to the QubitDevice API\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 821\u001b[0;31m \u001b[0mret\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdevice\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexecute\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcircuit\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreturn_native_type\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtemp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 822\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 823\u001b[0m ret = self.device.execute(\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pennylane/_qubit_device.py\u001b[0m in \u001b[0;36mexecute\u001b[0;34m(self, circuit, **kwargs)\u001b[0m\n\u001b[1;32m 181\u001b[0m \u001b[0;31m# generate computational basis samples\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 182\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0manalytic\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mcircuit\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_sampled\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 183\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_samples\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgenerate_samples\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 184\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 185\u001b[0m \u001b[0;31m# compute the required statistics\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pennylane/_qubit_device.py\u001b[0m in \u001b[0;36mgenerate_samples\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 307\u001b[0m \u001b[0mrotated_prob\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0manalytic_probability\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 308\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 309\u001b[0;31m \u001b[0msamples\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msample_basis_states\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnumber_of_states\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrotated_prob\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 310\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mQubitDevice\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mstates_to_binary\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msamples\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnum_wires\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 311\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/usr/local/lib/python3.6/dist-packages/pennylane/_qubit_device.py\u001b[0m in \u001b[0;36msample_basis_states\u001b[0;34m(self, number_of_states, state_probability)\u001b[0m\n\u001b[1;32m 323\u001b[0m \"\"\"\n\u001b[1;32m 324\u001b[0m \u001b[0mbasis_states\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnumber_of_states\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 325\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrandom\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mchoice\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbasis_states\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshots\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mp\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstate_probability\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 326\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 327\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mstaticmethod\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32mmtrand.pyx\u001b[0m in \u001b[0;36mnumpy.random.mtrand.RandomState.choice\u001b[0;34m()\u001b[0m\n", "\u001b[0;31mValueError\u001b[0m: probabilities do not sum to 1" ] } ] }, { "cell_type": "code", "metadata": { "id": "0bxqZQj3tuam", "colab_type": "code", "colab": {} }, "source": [ "" ], "execution_count": null, "outputs": [] } ] }