{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Quantum Circuit Builder v1\n", "\n", "In this notebook we rely on IBM *qiskit* [1], OpenAI *gym* [2] and the library *stable-baselines* [3] to setup a quantum game and have some artificial reinforcement learning agent play and learn them.\n", "\n", "In a previous notebook we run a very simple game, *qcircuit-v0*. We now try out a more challenging version, *qcircuit-v0*, and we compare the performances of different agents playing it." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup\n", "\n", "As before, it is necessary to setup the packages required for this simulation as explained in [Setup.ipynb](Setup.ipynb).\n", "\n", "Next, we import some basic libraries." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "scrolled": true }, "outputs": [], "source": [ "import numpy as np\n", "import gym\n", "\n", "from IPython.display import display" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Importing the game\n", "\n", "The game we will run is provided in **gym-qcircuit** [4], and it is implemented complying with the standard OpenAI gym interface. \n", "\n", "The game is a simple *quantum circuit building* game: given a fixed number of qubits and a desired final state for these qubits, the objective is to design a quantum circuit that takes the given qubits to the desired final state. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import qcircuit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The module **qcircuit** offers two versions of the game:\n", "- *qcircuit-v0*: it presents the player with a single qubit, and it requires to design a simple circuit setting this qubit in a perfect superposition.\n", "- *qcircuit-v1*: a slightly more challenging scenario where the player is presented with two qubits and he/she is requested to design a circuit setting the qubits in the state $\\frac{1}{\\sqrt{2}}\\left|00\\right\\rangle +\\frac{1}{\\sqrt{2}}\\left|11\\right\\rangle $.\n", "\n", "Details on the implementation of these games are available at https://github.com/FMZennaro/gym-qcircuit/blob/master/qcircuit/envs/qcircuit_env.py." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## qcircuit-v1\n", "We start loading the first scenario and run agents on it." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "env = gym.make('qcircuit-v1')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The game *qcircuit-v1* is *completely observed*, and both its *state space* and *action space* are described below.\n", "\n", "Remember that two qubits are described by $\\alpha\\left|00\\right\\rangle +\\beta\\left|01\\right\\rangle +\\gamma\\left|10\\right\\rangle +\\delta\\left|11\\right\\rangle$, where $\\alpha, \\beta, \\gamma, \\delta$ are complex numbers and $\\left|00\\right\\rangle, \\left|01\\right\\rangle, \\left|10\\right\\rangle, \\left|11\\right\\rangle$ are the measurement axes. The state space is then described by eight real numbers between -1 and 1 representing the real and complex part of $\\alpha, \\beta, \\gamma, \\delta$.\n", "\n", "An agent plays the game interacting with a quantum circuit, adding and removing standard gates. In this version of the game there are seven actions available: add an *X gate* on the first or on the second qubit, add a *Hadamard gate* on the first or on the second qubit, add a *CNOT gate* on the first or on the second qubit, or remove the last inserted gate.\n", "\n", "Again, details on the implementation of the state space and the action space are available at https://github.com/FMZennaro/gym-qcircuit/blob/master/qcircuit/envs/qcircuit_env.py." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Random agent\n", "First, we simply run a random agent. This allows us to test out the game and see its evolution.\n", "\n", "A random agent selects a possible action from the action space at random and executes it. Given the number of actions, and the relative low probability of removing a gate ($\\frac{1}{7}$) over adding a new gate ($\\frac{1}{7}$), it is likely that the random agent will run for a very long time developing a long and complex circuit before stumbling in the correct solution." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAN8AAACoCAYAAABg3jtVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAKs0lEQVR4nO3df0zU9x3H8df9gOMEr/JjgFPRIqfCcXeJWNdOnGmslhrbJkhlODSRDhRZHNpurTE6M+fhr9h2P2JYtkYzbeNQKSbVtNpVRmXNjthqUdLDYkWUnUKlBQcU7r77o5XmRlRUjjfl83ok/PO5O+5N4Mnn4xfkdJqmaSCiIaeXHoBIVYyPSAjjIxLC+IiEMD4iIYyPSAjjIxLC+IiEMD4iIYyPSAjjIxLC+IiEMD4iIYyPSAjjIxLC+IiEMD4iIYyPSAjjIxLC+IiEMD4iIYyPSAjjIxLC+IiEMD4iIYyPSAjjIxJilB6ABib0+DGR5/163lMP9Pji/YM0yD149WdD/5z3gzsfkRDGRySE8REJYXxEQhgfkRDGRySE8REJYXxEQhgfkRDl4vP7/di5cyesVivCwsLgdDpRWVmJqVOnoqCgQHq8QaF1dqLnuZ/CX/XBd2vd3egtfgG9v90Cze8XnO7O/vKLH6L25F8D1jRNw+6fW3DBXS40VXAoF19eXh42b96MFStW4NixY1i8eDFycnLQ0NCAtLQ06fEGhc5shj5rEXz734SmadB8Pvh+VwKEhMDw8q+h0w/PT3vHF1dws60ZP0hwBqx/ea0BX3e1Iy5xhtBkwTE8PwtB8sYbb2Dv3r04cuQIXnzxRTz++ONYv349HnvsMfT29vbF5/V6MX/+fIwaNQpOpxMfffSR8OT3Tv/M00DrF9A+OAXfq3+A1tICw6aN0IWGSI92W94GN3R6A6LH2wLWWxrPYNRDcRgdPUFosuBQKr6SkhJkZGRgzpw5AetJSUkICQmB3W4HABQWFmLatGlobW1FUVERsrKy4PP5JEa+bzpzGPTPLYJvxy5oZ8/C6NoMXfgo6bHuyNvgRmT8FBhDzQHr1xvPIPbhkbXrAQr9r4ampibU1tZizZo1/W5rbGyEzWaDyWRCe3s73n77bVy5cgVmsxkFBQVwuVz48MMPMWvWrKDMptPp7nqfkHeP3t877+qCIXsxdJGR9/Xwgcx2J7/cpw34vt4GN9q8F1C6MiZgvae7AzOeXjfg9/OgMz8oTRvYx6xUfAAQHx8fsN7Z2YnKykosWLAAAFBfX4/o6GjExHz3BWC323H+/PmgxRcM/hP/gP/A36F7cj585RXQPfWk+Bfl3Xgv1uBHmZuQnL4sYH3/OjviRuDOp8yx81ZMHo8nYH379u1obm7G9OnTAQA3b96ExWIJuI/FYkFHR0fQZtM07a5v98L/bzd8f/wTDL/ZAMOqlUBbG7R/VgVttsGYu+0/F9B98wYmOp7E6OjxfW++ni50/7cNsfdwseVBZx6qj1mZnS8xMREOhwMulwtRUVEYN24cDh48iKNHvznO3brYEh4ejvb29oDHfvXVV4iIiBjyme+H/9x5+FxbYfjVC9A7vvk3rP65RfDtexO62enD9kqnt8ENo2lUvyudzfXViIiegPCH4oQmC57h+ZkIAr1ej7KyMthsNhQWFmL58uWIiYlBUVERjEYjHA4HAMBqtaKlpQWtra19j62trUVKSorU6AOmXfwcvo2bYFiRD/2sH/et659ZCHz55X3vfkPB2+BG3MOPQG8I3A+aL/xrRB45AUCn3euZZoRZunQpzpw5g7Nnz/atZWZmIiEhAVu3bsW+ffvgcrlQX18Pg8EgNif/jMTAfV/+jIQyx87bqampwaOPPhqwtnv3buTm5iIyMhJWqxWHDh0SDY9GJqXj6+jogMfjwapVqwLW4+LicPz4caGpSBVKxxcREfG9++E5jRzKXHAhGm4YH5EQxkckhPERCWF8REIYH5EQ5X/DhUgKdz4iIYyPSAjjIxLC+IiEMD4iIYyPSAjjIxLC+IiEMD4iIYyPSAjjIxLC+IiEMD4iIYyPSAjjIxLC+IiEMD4iIYyPSAjjIxLC+IiEMD4iIYyPSAjjIxLC+IiEMD4iIcrF5/f7sXPnTlitVoSFhcHpdKKyshJTp05FQUGB9HikEOVemTYvLw/l5eXYsGED0tLSUF1djZycHFy/fh1r166VHo9Uoilk//79GgDt5MmTAeuZmZkaAM3tdmuapmkbN27UkpOTNZ1Op5WVlUmMSgpQ6thZUlKCjIwMzJkzJ2A9KSkJISEhsNvtAACr1YrXXnsNM2fOlBiTFKHMsbOpqQm1tbVYs2ZNv9saGxths9lgMpkAALm5uQCALVu2DMlsOp1uSJ6HhoY2wBf+Umbna2pqAgDEx8cHrHd2dqKyshJpaWkSY5HClNn5YmJiAAAejwcLFizoW9++fTuam5sxffp0qdEG/J2SRhZl4ktMTITD4YDL5UJUVBTGjRuHgwcP4ujRowDAnY+GnDLHTr1ej7KyMthsNhQWFmL58uWIiYlBUVERjEYjHA6H9IikGGV2PgCYMmUK3n///YC1pUuXIjk5GWazuW+tp6cHPp8Pfr8fPT096Orqgslk4oURGlTK7Hy3U1NT0+/ImZ+fD7PZjKqqKixZsgRmsxmXLl0SmpBGKqXj6+jogMfj6XexZc+ePdA0LeBt0qRJMkPSiKXTeKmNSITSOx+RJMZHJITxEQlhfERCGB+REMZHJITxEQlhfERCGB+REMZHJITxEQlhfERCGB+REMZHJITxEQlhfERCGB+REMZHJITxEQlhfERCGB+REMZHJITxEQlhfERCGJ8iLl++jLlz5yI5ORmpqalYt26d9EjKY3yKMBqN2LZtG+rq6nD69GlUV1ejoqJCeiylKfUqRSobO3Ysxo4dCwAIDQ2Fw+FAY2Oj8FRq486noNbWVrz11luYN2+e9ChKY3yK6e7uRlZWFoqLizFt2jTpcZTGVylSiM/nQ3Z2NhISErBr1y7pcZTH+BTy/PPPw+/34/XXX+er7A4DjE8Rp06dQnp6OlJTU2EwGAAAeXl5WL16NTRNY4wCGB/hzSPvIXqMBfN/8oj0KErhBZf/U1FRgYULFyI2NhYmkwkTJ07EkiVL8Mknn0iPFhRXvS04U/cZ9Hp+KQw1/pzvW729vcjNzcWBAwcwfvx4ZGZmwmKxwOPx4NChQ1i2bBnsdrv0mIPuverTCDOFYtaMVOlRlMNj57dWrlyJ0tJS5Ofn45VXXkF4eHjfbZcvX8aYMWMwevTooDz3y9v+HJT3SzK2vlQwoPtx5wNQVVWF0tJSZGRkoLS0tN/FhwkTJghNRiMZdz4AixYtwuHDh/Hxxx/D6XRKjzMkrnpb8Ps9h/HErDQ8kZ4mPY6SGB8Ai8WC6OhoXLx4UeT5eewcWQZ67FT+EldbWxva29sxadIk6VFIMcrvfDdu3EBUVBRSUlJw7tw56XGGxN/K38Vnl67ipZU5MIeZpMdRlvI7X2RkJCZPnoy6ujqcOHGi3+2ffvqpwFTBc9XbgnOez5E+w87whPFqJwCXy4Xs7GxkZGTg2WefRVJSEq5du4bq6mqkpKSgvLxcesRB80VbO6LGjObP9YYB5Y+dt7zzzjvYsWMH3G43urq6EBsbi5kzZ6K4uBizZ8+WHm9Q+f1+/kbLMMD4iITw2x+REMZHJITxEQlhfERCGB+REMZHJITxEQlhfERCGB+REMZHJITxEQlhfERCGB+REMZHJITxEQlhfERCGB+REMZHJITxEQlhfERCGB+REMZHJITxEQlhfERCGB+REMZHJITxEQn5H10g5lnGgTxmAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "env.reset()\n", "display(env.render())\n", "\n", "done = False\n", "while(not done):\n", " obs, _, done, info = env.step(env.action_space.sample())\n", " display(info['circuit_img'])\n", " \n", "env.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### PPO2 Agent\n", "\n", "We now run a *PPO2* agent, a more sophisticated agent picked from the library of *stable_baselines*.\n", "\n", "First we import the agent." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:\n", "The TensorFlow contrib module will not be included in TensorFlow 2.0.\n", "For more information, please see:\n", " * https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md\n", " * https://github.com/tensorflow/addons\n", " * https://github.com/tensorflow/io (for I/O related ops)\n", "If you depend on functionality not listed there, please file an issue.\n", "\n" ] } ], "source": [ "from stable_baselines.common.policies import MlpPolicy\n", "from stable_baselines.common.vec_env import DummyVecEnv\n", "from stable_baselines import PPO2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we train it." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/common/tf_util.py:57: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead.\n", "\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/common/tf_util.py:66: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.\n", "\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/common/policies.py:115: The name tf.variable_scope is deprecated. Please use tf.compat.v1.variable_scope instead.\n", "\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/common/input.py:25: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.\n", "\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/common/policies.py:562: flatten (from tensorflow.python.layers.core) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use keras.layers.flatten instead.\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/tensorflow_core/python/layers/core.py:332: Layer.apply (from tensorflow.python.keras.engine.base_layer) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Please use `layer.__call__` method instead.\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/a2c/utils.py:156: The name tf.get_variable is deprecated. Please use tf.compat.v1.get_variable instead.\n", "\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/common/distributions.py:323: The name tf.random_uniform is deprecated. Please use tf.random.uniform instead.\n", "\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/common/distributions.py:324: The name tf.log is deprecated. Please use tf.math.log instead.\n", "\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/ppo2/ppo2.py:193: The name tf.summary.scalar is deprecated. Please use tf.compat.v1.summary.scalar instead.\n", "\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/ppo2/ppo2.py:201: The name tf.trainable_variables is deprecated. Please use tf.compat.v1.trainable_variables instead.\n", "\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/tensorflow_core/python/ops/math_grad.py:1424: where (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use tf.where in 2.0, which has the same broadcast rule as np.where\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/ppo2/ppo2.py:209: The name tf.train.AdamOptimizer is deprecated. Please use tf.compat.v1.train.AdamOptimizer instead.\n", "\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/ppo2/ppo2.py:243: The name tf.global_variables_initializer is deprecated. Please use tf.compat.v1.global_variables_initializer instead.\n", "\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/ppo2/ppo2.py:245: The name tf.summary.merge_all is deprecated. Please use tf.compat.v1.summary.merge_all instead.\n", "\n", "--------------------------------------\n", "| approxkl | 1.5884034e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00191 |\n", "| fps | 24 |\n", "| n_updates | 1 |\n", "| policy_entropy | 1.945895 |\n", "| policy_loss | -0.0007621155 |\n", "| serial_timesteps | 128 |\n", "| time_elapsed | 3.58e-06 |\n", "| total_timesteps | 128 |\n", "| value_loss | 304.28973 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 2.2909548e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00177 |\n", "| fps | 32 |\n", "| n_updates | 2 |\n", "| policy_entropy | 1.9457854 |\n", "| policy_loss | -0.0013871952 |\n", "| serial_timesteps | 256 |\n", "| time_elapsed | 5.26 |\n", "| total_timesteps | 256 |\n", "| value_loss | 354.50415 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 2.010588e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00163 |\n", "| fps | 25 |\n", "| n_updates | 3 |\n", "| policy_entropy | 1.9455837 |\n", "| policy_loss | -0.0011787172 |\n", "| serial_timesteps | 384 |\n", "| time_elapsed | 9.26 |\n", "| total_timesteps | 384 |\n", "| value_loss | 551.58307 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 2.0156647e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00611 |\n", "| fps | 27 |\n", "| n_updates | 4 |\n", "| policy_entropy | 1.9453187 |\n", "| policy_loss | -0.0019203236 |\n", "| serial_timesteps | 512 |\n", "| time_elapsed | 14.3 |\n", "| total_timesteps | 512 |\n", "| value_loss | 670.7571 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 3.702501e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00576 |\n", "| fps | 27 |\n", "| n_updates | 5 |\n", "| policy_entropy | 1.9449025 |\n", "| policy_loss | -0.0022225466 |\n", "| serial_timesteps | 640 |\n", "| time_elapsed | 19 |\n", "| total_timesteps | 640 |\n", "| value_loss | 497.50574 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 3.691289e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00734 |\n", "| fps | 32 |\n", "| n_updates | 6 |\n", "| policy_entropy | 1.9444643 |\n", "| policy_loss | -0.0021257065 |\n", "| serial_timesteps | 768 |\n", "| time_elapsed | 23.6 |\n", "| total_timesteps | 768 |\n", "| value_loss | 229.97098 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 2.5588033e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00359 |\n", "| fps | 25 |\n", "| n_updates | 7 |\n", "| policy_entropy | 1.9437414 |\n", "| policy_loss | -0.0006487622 |\n", "| serial_timesteps | 896 |\n", "| time_elapsed | 27.5 |\n", "| total_timesteps | 896 |\n", "| value_loss | 610.44653 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 1.5525578e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00939 |\n", "| fps | 23 |\n", "| n_updates | 8 |\n", "| policy_entropy | 1.9435197 |\n", "| policy_loss | -0.0011929604 |\n", "| serial_timesteps | 1024 |\n", "| time_elapsed | 32.5 |\n", "| total_timesteps | 1024 |\n", "| value_loss | 468.35883 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 1.8419583e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | -0.00299 |\n", "| fps | 35 |\n", "| n_updates | 9 |\n", "| policy_entropy | 1.942427 |\n", "| policy_loss | -0.0010164734 |\n", "| serial_timesteps | 1152 |\n", "| time_elapsed | 37.9 |\n", "| total_timesteps | 1152 |\n", "| value_loss | 334.41132 |\n", "--------------------------------------\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "---------------------------------------\n", "| approxkl | 1.0285833e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00987 |\n", "| fps | 22 |\n", "| n_updates | 10 |\n", "| policy_entropy | 1.9424908 |\n", "| policy_loss | -0.00080490555 |\n", "| serial_timesteps | 1280 |\n", "| time_elapsed | 41.5 |\n", "| total_timesteps | 1280 |\n", "| value_loss | 717.072 |\n", "---------------------------------------\n", "--------------------------------------\n", "| approxkl | 4.757797e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.006 |\n", "| fps | 32 |\n", "| n_updates | 11 |\n", "| policy_entropy | 1.9414101 |\n", "| policy_loss | -0.0017191665 |\n", "| serial_timesteps | 1408 |\n", "| time_elapsed | 47.3 |\n", "| total_timesteps | 1408 |\n", "| value_loss | 261.5157 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 2.5375e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00357 |\n", "| fps | 35 |\n", "| n_updates | 12 |\n", "| policy_entropy | 1.9406744 |\n", "| policy_loss | 0.00019657891 |\n", "| serial_timesteps | 1536 |\n", "| time_elapsed | 51.2 |\n", "| total_timesteps | 1536 |\n", "| value_loss | 429.21405 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 1.7320363e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00448 |\n", "| fps | 20 |\n", "| n_updates | 13 |\n", "| policy_entropy | 1.9401853 |\n", "| policy_loss | -0.0007757377 |\n", "| serial_timesteps | 1664 |\n", "| time_elapsed | 54.9 |\n", "| total_timesteps | 1664 |\n", "| value_loss | 164.3076 |\n", "--------------------------------------\n", "-------------------------------------\n", "| approxkl | 6.397137e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0105 |\n", "| fps | 34 |\n", "| n_updates | 14 |\n", "| policy_entropy | 1.9391428 |\n", "| policy_loss | -0.002846446 |\n", "| serial_timesteps | 1792 |\n", "| time_elapsed | 61.3 |\n", "| total_timesteps | 1792 |\n", "| value_loss | 381.38333 |\n", "-------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00012407018 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | -0.00471 |\n", "| fps | 32 |\n", "| n_updates | 15 |\n", "| policy_entropy | 1.9376421 |\n", "| policy_loss | -0.0018057548 |\n", "| serial_timesteps | 1920 |\n", "| time_elapsed | 65 |\n", "| total_timesteps | 1920 |\n", "| value_loss | 330.12433 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 2.4927474e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0215 |\n", "| fps | 18 |\n", "| n_updates | 16 |\n", "| policy_entropy | 1.9367133 |\n", "| policy_loss | -0.0010947302 |\n", "| serial_timesteps | 2048 |\n", "| time_elapsed | 68.9 |\n", "| total_timesteps | 2048 |\n", "| value_loss | 434.34946 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00011265186 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0115 |\n", "| fps | 32 |\n", "| n_updates | 17 |\n", "| policy_entropy | 1.9320261 |\n", "| policy_loss | -0.005025226 |\n", "| serial_timesteps | 2176 |\n", "| time_elapsed | 75.9 |\n", "| total_timesteps | 2176 |\n", "| value_loss | 459.16666 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00010576048 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00794 |\n", "| fps | 31 |\n", "| n_updates | 18 |\n", "| policy_entropy | 1.926846 |\n", "| policy_loss | 0.00025757286 |\n", "| serial_timesteps | 2304 |\n", "| time_elapsed | 79.9 |\n", "| total_timesteps | 2304 |\n", "| value_loss | 613.7107 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 2.5211524e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0199 |\n", "| fps | 29 |\n", "| n_updates | 19 |\n", "| policy_entropy | 1.9233967 |\n", "| policy_loss | -0.0016552964 |\n", "| serial_timesteps | 2432 |\n", "| time_elapsed | 83.9 |\n", "| total_timesteps | 2432 |\n", "| value_loss | 1025.4532 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 8.3442166e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0137 |\n", "| fps | 16 |\n", "| n_updates | 20 |\n", "| policy_entropy | 1.9176646 |\n", "| policy_loss | -0.0021406934 |\n", "| serial_timesteps | 2560 |\n", "| time_elapsed | 88.3 |\n", "| total_timesteps | 2560 |\n", "| value_loss | 636.50574 |\n", "--------------------------------------\n", "-------------------------------------\n", "| approxkl | 6.68434e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00411 |\n", "| fps | 33 |\n", "| n_updates | 21 |\n", "| policy_entropy | 1.9144856 |\n", "| policy_loss | -0.002023064 |\n", "| serial_timesteps | 2688 |\n", "| time_elapsed | 96.3 |\n", "| total_timesteps | 2688 |\n", "| value_loss | 376.06577 |\n", "-------------------------------------\n", "---------------------------------------\n", "| approxkl | 6.0928684e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00601 |\n", "| fps | 29 |\n", "| n_updates | 22 |\n", "| policy_entropy | 1.9110223 |\n", "| policy_loss | -0.00038641796 |\n", "| serial_timesteps | 2816 |\n", "| time_elapsed | 100 |\n", "| total_timesteps | 2816 |\n", "| value_loss | 600.3182 |\n", "---------------------------------------\n", "-------------------------------------\n", "| approxkl | 5.581788e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0205 |\n", "| fps | 34 |\n", "| n_updates | 23 |\n", "| policy_entropy | 1.9110854 |\n", "| policy_loss | -0.002564559 |\n", "| serial_timesteps | 2944 |\n", "| time_elapsed | 104 |\n", "| total_timesteps | 2944 |\n", "| value_loss | 506.4913 |\n", "-------------------------------------\n", "--------------------------------------\n", "| approxkl | 4.134916e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0158 |\n", "| fps | 29 |\n", "| n_updates | 24 |\n", "| policy_entropy | 1.8988805 |\n", "| policy_loss | -0.0013897291 |\n", "| serial_timesteps | 3072 |\n", "| time_elapsed | 108 |\n", "| total_timesteps | 3072 |\n", "| value_loss | 941.0134 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 5.6479952e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00793 |\n", "| fps | 14 |\n", "| n_updates | 25 |\n", "| policy_entropy | 1.895507 |\n", "| policy_loss | -0.0009734394 |\n", "| serial_timesteps | 3200 |\n", "| time_elapsed | 112 |\n", "| total_timesteps | 3200 |\n", "| value_loss | 657.02515 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 1.5475653e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0134 |\n", "| fps | 30 |\n", "| n_updates | 26 |\n", "| policy_entropy | 1.8943511 |\n", "| policy_loss | -0.0008585951 |\n", "| serial_timesteps | 3328 |\n", "| time_elapsed | 122 |\n", "| total_timesteps | 3328 |\n", "| value_loss | 1054.0438 |\n", "--------------------------------------\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "--------------------------------------\n", "| approxkl | 8.295983e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0169 |\n", "| fps | 31 |\n", "| n_updates | 27 |\n", "| policy_entropy | 1.8943397 |\n", "| policy_loss | -0.0020506172 |\n", "| serial_timesteps | 3456 |\n", "| time_elapsed | 126 |\n", "| total_timesteps | 3456 |\n", "| value_loss | 274.5761 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 7.5044154e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0296 |\n", "| fps | 30 |\n", "| n_updates | 28 |\n", "| policy_entropy | 1.895614 |\n", "| policy_loss | -0.0002788771 |\n", "| serial_timesteps | 3584 |\n", "| time_elapsed | 130 |\n", "| total_timesteps | 3584 |\n", "| value_loss | 712.16614 |\n", "--------------------------------------\n", "---------------------------------------\n", "| approxkl | 0.000105085644 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0272 |\n", "| fps | 31 |\n", "| n_updates | 29 |\n", "| policy_entropy | 1.8843951 |\n", "| policy_loss | -0.0034806936 |\n", "| serial_timesteps | 3712 |\n", "| time_elapsed | 134 |\n", "| total_timesteps | 3712 |\n", "| value_loss | 772.5188 |\n", "---------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00011768955 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0348 |\n", "| fps | 12 |\n", "| n_updates | 30 |\n", "| policy_entropy | 1.8758233 |\n", "| policy_loss | -0.0033539014 |\n", "| serial_timesteps | 3840 |\n", "| time_elapsed | 138 |\n", "| total_timesteps | 3840 |\n", "| value_loss | 978.59985 |\n", "--------------------------------------\n", "-------------------------------------\n", "| approxkl | 5.9856e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0232 |\n", "| fps | 32 |\n", "| n_updates | 31 |\n", "| policy_entropy | 1.8640102 |\n", "| policy_loss | -0.002186644 |\n", "| serial_timesteps | 3968 |\n", "| time_elapsed | 148 |\n", "| total_timesteps | 3968 |\n", "| value_loss | 827.60266 |\n", "-------------------------------------\n", "--------------------------------------\n", "| approxkl | 4.8030866e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0212 |\n", "| fps | 33 |\n", "| n_updates | 32 |\n", "| policy_entropy | 1.8431563 |\n", "| policy_loss | -0.0008569873 |\n", "| serial_timesteps | 4096 |\n", "| time_elapsed | 152 |\n", "| total_timesteps | 4096 |\n", "| value_loss | 1450.6925 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 2.5180281e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00811 |\n", "| fps | 32 |\n", "| n_updates | 33 |\n", "| policy_entropy | 1.8455621 |\n", "| policy_loss | -0.0011510032 |\n", "| serial_timesteps | 4224 |\n", "| time_elapsed | 156 |\n", "| total_timesteps | 4224 |\n", "| value_loss | 856.6877 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 1.982256e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0209 |\n", "| fps | 30 |\n", "| n_updates | 34 |\n", "| policy_entropy | 1.8410442 |\n", "| policy_loss | -0.0010599534 |\n", "| serial_timesteps | 4352 |\n", "| time_elapsed | 160 |\n", "| total_timesteps | 4352 |\n", "| value_loss | 1003.9776 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 3.6075995e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0212 |\n", "| fps | 32 |\n", "| n_updates | 35 |\n", "| policy_entropy | 1.839669 |\n", "| policy_loss | -0.0019737522 |\n", "| serial_timesteps | 4480 |\n", "| time_elapsed | 164 |\n", "| total_timesteps | 4480 |\n", "| value_loss | 1037.9608 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 6.053823e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0256 |\n", "| fps | 31 |\n", "| n_updates | 36 |\n", "| policy_entropy | 1.8407198 |\n", "| policy_loss | -0.0023057328 |\n", "| serial_timesteps | 4608 |\n", "| time_elapsed | 168 |\n", "| total_timesteps | 4608 |\n", "| value_loss | 781.1861 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 4.262956e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0242 |\n", "| fps | 10 |\n", "| n_updates | 37 |\n", "| policy_entropy | 1.8401663 |\n", "| policy_loss | -0.0013190813 |\n", "| serial_timesteps | 4736 |\n", "| time_elapsed | 172 |\n", "| total_timesteps | 4736 |\n", "| value_loss | 1053.6825 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 2.7102764e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0134 |\n", "| fps | 32 |\n", "| n_updates | 38 |\n", "| policy_entropy | 1.8290623 |\n", "| policy_loss | -0.0017685738 |\n", "| serial_timesteps | 4864 |\n", "| time_elapsed | 184 |\n", "| total_timesteps | 4864 |\n", "| value_loss | 1681.4944 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 6.9206784e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0223 |\n", "| fps | 32 |\n", "| n_updates | 39 |\n", "| policy_entropy | 1.8066614 |\n", "| policy_loss | -0.0025333911 |\n", "| serial_timesteps | 4992 |\n", "| time_elapsed | 188 |\n", "| total_timesteps | 4992 |\n", "| value_loss | 1580.4724 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 9.368379e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0254 |\n", "| fps | 35 |\n", "| n_updates | 40 |\n", "| policy_entropy | 1.8165164 |\n", "| policy_loss | -0.0015186564 |\n", "| serial_timesteps | 5120 |\n", "| time_elapsed | 192 |\n", "| total_timesteps | 5120 |\n", "| value_loss | 844.2538 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 5.399082e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0076 |\n", "| fps | 34 |\n", "| n_updates | 41 |\n", "| policy_entropy | 1.8055782 |\n", "| policy_loss | -0.0019963083 |\n", "| serial_timesteps | 5248 |\n", "| time_elapsed | 195 |\n", "| total_timesteps | 5248 |\n", "| value_loss | 725.58435 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 3.9073806e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0235 |\n", "| fps | 34 |\n", "| n_updates | 42 |\n", "| policy_entropy | 1.8104093 |\n", "| policy_loss | -0.0010099054 |\n", "| serial_timesteps | 5376 |\n", "| time_elapsed | 199 |\n", "| total_timesteps | 5376 |\n", "| value_loss | 1061.5419 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00028749614 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0123 |\n", "| fps | 32 |\n", "| n_updates | 43 |\n", "| policy_entropy | 1.7929943 |\n", "| policy_loss | -0.0028197626 |\n", "| serial_timesteps | 5504 |\n", "| time_elapsed | 203 |\n", "| total_timesteps | 5504 |\n", "| value_loss | 197.30269 |\n", "--------------------------------------\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "---------------------------------------\n", "| approxkl | 7.898419e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0361 |\n", "| fps | 32 |\n", "| n_updates | 44 |\n", "| policy_entropy | 1.8026001 |\n", "| policy_loss | -0.00043669326 |\n", "| serial_timesteps | 5632 |\n", "| time_elapsed | 207 |\n", "| total_timesteps | 5632 |\n", "| value_loss | 729.86597 |\n", "---------------------------------------\n", "--------------------------------------\n", "| approxkl | 2.6466723e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0224 |\n", "| fps | 31 |\n", "| n_updates | 45 |\n", "| policy_entropy | 1.7909173 |\n", "| policy_loss | -0.001732644 |\n", "| serial_timesteps | 5760 |\n", "| time_elapsed | 211 |\n", "| total_timesteps | 5760 |\n", "| value_loss | 1133.4182 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00012678545 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0309 |\n", "| fps | 9 |\n", "| n_updates | 46 |\n", "| policy_entropy | 1.7720149 |\n", "| policy_loss | -0.0011669645 |\n", "| serial_timesteps | 5888 |\n", "| time_elapsed | 215 |\n", "| total_timesteps | 5888 |\n", "| value_loss | 1062.8923 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 7.0968585e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0396 |\n", "| fps | 33 |\n", "| n_updates | 47 |\n", "| policy_entropy | 1.778688 |\n", "| policy_loss | -0.0022358913 |\n", "| serial_timesteps | 6016 |\n", "| time_elapsed | 228 |\n", "| total_timesteps | 6016 |\n", "| value_loss | 1487.3807 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00020320652 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0282 |\n", "| fps | 32 |\n", "| n_updates | 48 |\n", "| policy_entropy | 1.749349 |\n", "| policy_loss | -0.004993585 |\n", "| serial_timesteps | 6144 |\n", "| time_elapsed | 232 |\n", "| total_timesteps | 6144 |\n", "| value_loss | 1002.5958 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00042819922 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00813 |\n", "| fps | 30 |\n", "| n_updates | 49 |\n", "| policy_entropy | 1.7123698 |\n", "| policy_loss | -0.005672829 |\n", "| serial_timesteps | 6272 |\n", "| time_elapsed | 236 |\n", "| total_timesteps | 6272 |\n", "| value_loss | 1046.5302 |\n", "--------------------------------------\n", "---------------------------------------\n", "| approxkl | 0.00013379454 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00907 |\n", "| fps | 28 |\n", "| n_updates | 50 |\n", "| policy_entropy | 1.7152259 |\n", "| policy_loss | -8.6367596e-05 |\n", "| serial_timesteps | 6400 |\n", "| time_elapsed | 240 |\n", "| total_timesteps | 6400 |\n", "| value_loss | 1215.6829 |\n", "---------------------------------------\n", "---------------------------------------\n", "| approxkl | 2.1924472e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0368 |\n", "| fps | 29 |\n", "| n_updates | 51 |\n", "| policy_entropy | 1.7218428 |\n", "| policy_loss | -0.00071638706 |\n", "| serial_timesteps | 6528 |\n", "| time_elapsed | 245 |\n", "| total_timesteps | 6528 |\n", "| value_loss | 1421.1805 |\n", "---------------------------------------\n", "---------------------------------------\n", "| approxkl | 3.9770104e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0406 |\n", "| fps | 26 |\n", "| n_updates | 52 |\n", "| policy_entropy | 1.7098793 |\n", "| policy_loss | -0.00050403504 |\n", "| serial_timesteps | 6656 |\n", "| time_elapsed | 249 |\n", "| total_timesteps | 6656 |\n", "| value_loss | 1449.4645 |\n", "---------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00013161713 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0284 |\n", "| fps | 30 |\n", "| n_updates | 53 |\n", "| policy_entropy | 1.6992989 |\n", "| policy_loss | -0.0037235608 |\n", "| serial_timesteps | 6784 |\n", "| time_elapsed | 254 |\n", "| total_timesteps | 6784 |\n", "| value_loss | 1116.0957 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00016224293 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0256 |\n", "| fps | 24 |\n", "| n_updates | 54 |\n", "| policy_entropy | 1.6677443 |\n", "| policy_loss | -0.0020994307 |\n", "| serial_timesteps | 6912 |\n", "| time_elapsed | 258 |\n", "| total_timesteps | 6912 |\n", "| value_loss | 1610.2294 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 8.50085e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0418 |\n", "| fps | 24 |\n", "| n_updates | 55 |\n", "| policy_entropy | 1.6844364 |\n", "| policy_loss | -0.0029015616 |\n", "| serial_timesteps | 7040 |\n", "| time_elapsed | 263 |\n", "| total_timesteps | 7040 |\n", "| value_loss | 1394.1884 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 8.778148e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0174 |\n", "| fps | 25 |\n", "| n_updates | 56 |\n", "| policy_entropy | 1.6462625 |\n", "| policy_loss | -0.0012754094 |\n", "| serial_timesteps | 7168 |\n", "| time_elapsed | 268 |\n", "| total_timesteps | 7168 |\n", "| value_loss | 1377.0343 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 5.3626245e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0195 |\n", "| fps | 7 |\n", "| n_updates | 57 |\n", "| policy_entropy | 1.6674904 |\n", "| policy_loss | -0.0027412288 |\n", "| serial_timesteps | 7296 |\n", "| time_elapsed | 273 |\n", "| total_timesteps | 7296 |\n", "| value_loss | 1218.1082 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00013577589 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0091 |\n", "| fps | 33 |\n", "| n_updates | 58 |\n", "| policy_entropy | 1.6370174 |\n", "| policy_loss | -0.0023144195 |\n", "| serial_timesteps | 7424 |\n", "| time_elapsed | 290 |\n", "| total_timesteps | 7424 |\n", "| value_loss | 1628.3422 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00010879507 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0177 |\n", "| fps | 31 |\n", "| n_updates | 59 |\n", "| policy_entropy | 1.6247839 |\n", "| policy_loss | -0.0029689218 |\n", "| serial_timesteps | 7552 |\n", "| time_elapsed | 294 |\n", "| total_timesteps | 7552 |\n", "| value_loss | 1387.0997 |\n", "--------------------------------------\n", "---------------------------------------\n", "| approxkl | 0.000101132115 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 2.88e-05 |\n", "| fps | 32 |\n", "| n_updates | 60 |\n", "| policy_entropy | 1.6153951 |\n", "| policy_loss | -0.0010824468 |\n", "| serial_timesteps | 7680 |\n", "| time_elapsed | 298 |\n", "| total_timesteps | 7680 |\n", "| value_loss | 1266.4176 |\n", "---------------------------------------\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "--------------------------------------\n", "| approxkl | 9.941224e-06 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00992 |\n", "| fps | 31 |\n", "| n_updates | 61 |\n", "| policy_entropy | 1.6221255 |\n", "| policy_loss | -0.0008568058 |\n", "| serial_timesteps | 7808 |\n", "| time_elapsed | 302 |\n", "| total_timesteps | 7808 |\n", "| value_loss | 1107.5613 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 4.4428856e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00487 |\n", "| fps | 29 |\n", "| n_updates | 62 |\n", "| policy_entropy | 1.5875471 |\n", "| policy_loss | 0.00012629665 |\n", "| serial_timesteps | 7936 |\n", "| time_elapsed | 306 |\n", "| total_timesteps | 7936 |\n", "| value_loss | 1427.987 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 2.9562718e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0334 |\n", "| fps | 31 |\n", "| n_updates | 63 |\n", "| policy_entropy | 1.6306133 |\n", "| policy_loss | -0.0014668173 |\n", "| serial_timesteps | 8064 |\n", "| time_elapsed | 310 |\n", "| total_timesteps | 8064 |\n", "| value_loss | 1847.7845 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00013762948 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00831 |\n", "| fps | 27 |\n", "| n_updates | 64 |\n", "| policy_entropy | 1.586098 |\n", "| policy_loss | -0.0009872088 |\n", "| serial_timesteps | 8192 |\n", "| time_elapsed | 314 |\n", "| total_timesteps | 8192 |\n", "| value_loss | 1298.9132 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00010181793 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0501 |\n", "| fps | 28 |\n", "| n_updates | 65 |\n", "| policy_entropy | 1.6185954 |\n", "| policy_loss | -0.0028534413 |\n", "| serial_timesteps | 8320 |\n", "| time_elapsed | 319 |\n", "| total_timesteps | 8320 |\n", "| value_loss | 1583.869 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.0002465874 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0481 |\n", "| fps | 31 |\n", "| n_updates | 66 |\n", "| policy_entropy | 1.6411582 |\n", "| policy_loss | -0.0016201262 |\n", "| serial_timesteps | 8448 |\n", "| time_elapsed | 323 |\n", "| total_timesteps | 8448 |\n", "| value_loss | 1832.3912 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00012862496 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0041 |\n", "| fps | 26 |\n", "| n_updates | 67 |\n", "| policy_entropy | 1.595502 |\n", "| policy_loss | -0.0016494679 |\n", "| serial_timesteps | 8576 |\n", "| time_elapsed | 327 |\n", "| total_timesteps | 8576 |\n", "| value_loss | 1128.1818 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00012446745 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0162 |\n", "| fps | 25 |\n", "| n_updates | 68 |\n", "| policy_entropy | 1.6092746 |\n", "| policy_loss | -0.0021886777 |\n", "| serial_timesteps | 8704 |\n", "| time_elapsed | 332 |\n", "| total_timesteps | 8704 |\n", "| value_loss | 1229.1382 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00019569931 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00843 |\n", "| fps | 29 |\n", "| n_updates | 69 |\n", "| policy_entropy | 1.5853233 |\n", "| policy_loss | -0.002774232 |\n", "| serial_timesteps | 8832 |\n", "| time_elapsed | 337 |\n", "| total_timesteps | 8832 |\n", "| value_loss | 1888.6075 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.0005179059 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0137 |\n", "| fps | 6 |\n", "| n_updates | 70 |\n", "| policy_entropy | 1.5566128 |\n", "| policy_loss | -0.0013805616 |\n", "| serial_timesteps | 8960 |\n", "| time_elapsed | 342 |\n", "| total_timesteps | 8960 |\n", "| value_loss | 1391.2072 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 3.206292e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0114 |\n", "| fps | 29 |\n", "| n_updates | 71 |\n", "| policy_entropy | 1.5555453 |\n", "| policy_loss | -0.0013167775 |\n", "| serial_timesteps | 9088 |\n", "| time_elapsed | 361 |\n", "| total_timesteps | 9088 |\n", "| value_loss | 1698.6151 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00015032938 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.022 |\n", "| fps | 31 |\n", "| n_updates | 72 |\n", "| policy_entropy | 1.5699382 |\n", "| policy_loss | -0.0038755746 |\n", "| serial_timesteps | 9216 |\n", "| time_elapsed | 365 |\n", "| total_timesteps | 9216 |\n", "| value_loss | 1398.7964 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00038285612 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0105 |\n", "| fps | 29 |\n", "| n_updates | 73 |\n", "| policy_entropy | 1.5486213 |\n", "| policy_loss | -0.0057686158 |\n", "| serial_timesteps | 9344 |\n", "| time_elapsed | 369 |\n", "| total_timesteps | 9344 |\n", "| value_loss | 1049.9211 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00043470136 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0196 |\n", "| fps | 31 |\n", "| n_updates | 74 |\n", "| policy_entropy | 1.5498748 |\n", "| policy_loss | -0.0051575904 |\n", "| serial_timesteps | 9472 |\n", "| time_elapsed | 373 |\n", "| total_timesteps | 9472 |\n", "| value_loss | 1127.1415 |\n", "--------------------------------------\n", "--------------------------------------\n", "| approxkl | 0.00016276767 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0289 |\n", "| fps | 30 |\n", "| n_updates | 75 |\n", "| policy_entropy | 1.5488236 |\n", "| policy_loss | -0.0029246937 |\n", "| serial_timesteps | 9600 |\n", "| time_elapsed | 378 |\n", "| total_timesteps | 9600 |\n", "| value_loss | 1371.421 |\n", "--------------------------------------\n", "---------------------------------------\n", "| approxkl | 2.517243e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | -0.00129 |\n", "| fps | 29 |\n", "| n_updates | 76 |\n", "| policy_entropy | 1.5047842 |\n", "| policy_loss | -0.00013768359 |\n", "| serial_timesteps | 9728 |\n", "| time_elapsed | 382 |\n", "| total_timesteps | 9728 |\n", "| value_loss | 1410.051 |\n", "---------------------------------------\n", "---------------------------------------\n", "| approxkl | 1.304726e-05 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.0304 |\n", "| fps | 31 |\n", "| n_updates | 77 |\n", "| policy_entropy | 1.515545 |\n", "| policy_loss | -0.00078836584 |\n", "| serial_timesteps | 9856 |\n", "| time_elapsed | 386 |\n", "| total_timesteps | 9856 |\n", "| value_loss | 1565.2759 |\n", "---------------------------------------\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "--------------------------------------\n", "| approxkl | 0.00014238954 |\n", "| clipfrac | 0.0 |\n", "| explained_variance | 0.00227 |\n", "| fps | 29 |\n", "| n_updates | 78 |\n", "| policy_entropy | 1.502316 |\n", "| policy_loss | -0.0016405442 |\n", "| serial_timesteps | 9984 |\n", "| time_elapsed | 390 |\n", "| total_timesteps | 9984 |\n", "| value_loss | 1184.733 |\n", "--------------------------------------\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "env = DummyVecEnv([lambda: env])\n", "modelPPO2 = PPO2(MlpPolicy, env, verbose=1)\n", "modelPPO2.learn(total_timesteps=10000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Last, we test it by letting it play the game; we run ten steps of the game (notice, though, that the agent could reach the solution before the tenth step, which would cause the game to restart)." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAN8AAACoCAYAAABg3jtVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAORElEQVR4nO3dfWxVdZ7H8fe9LbSltNKHqTA81dIW+rwLiu2CMsSH7aKJGWVhq+CGMoDYXYMJiWtI1swQQZHVgY1rcEZXZpQJC4iQGYhPgw2CoyDIQHkoylMLCFKLtNBC23v3jzMFCxRauPd+23s+r+Qm9HfO/fUbcj/9/c7vnHuOx+/3+xGRkPNaFyDiVgqfiBGFT8SIwidiROETMaLwiRhR+ESMKHwiRhQ+ESMKn4gRhU/EiMInYkThEzGi8IkYUfhEjCh8IkYUPhEjCp+IEYVPxIjCJ2JE4RMxovCJGFH4RIwofCJGFD4RIwqfiBGFT8SIwidiROETMaLwiRiJtC5ABKC+EfYdh6rv4VQ9+HwQ3QP6J0BqMtyWAl6PdZWB5dHz+cTSyTPwwS7YfhhafO3vl9wb7hoKozMhIkzmawqfmPD5oXwv/GkHNLd0/H0DEuGxIujXJ3i1hYrCJyHn88Pyz+Hzb27s/dE9YPrPIC0loGWFXJgM4NKd/PGrGw8eQGMTvP4JnDgTsJJMKHwSUt+chA27r73Prx9zXtfS2AR/+MxZmOmutNoZpi40w44jcPwHiPRC1k+dVUOP4Yqh3w8rvoBAHeccOgVfHITCIQHqMMRcN/L5fD4WLlxIRkYG0dHRFBQUUF5eztChQ5k+fbp1eQGx7RA89y688xn8ebezmrjoA1i4Hmrq7er6+gR8+0Ng+9y4zwl1d+S68JWWljJ37lxmzJjB+vXrmTBhAiUlJRw4cIARI0ZYl3fTdlbB7zZBQ9OV247Vwn9/6JxTs7DlYOD7PFob+ECHiqvCt2zZMpYuXcratWuZPXs2Y8eOZc6cORQVFdHc3HwxfCdOnOD++++nV69eFBQUsH37duPKO8bvh7Xbob2ZpR84fQ4+3R/Kqi45UhOcfg8Hqd9gc1X45s+fT3FxMWPGjGnTnp6eTo8ePcjLywNg5syZDBs2jJqaGsrKyhg/fjwtLZ04GWXk0Cn4ru76x1SfGYSvxRe81cljtcHpN9hcc56vurqagQMH8sYbb1BaWtpmW0lJCXv37mX79u3U1dWRnJzM0aNHSU5OBiA1NZV33nmHUaNGBaU2T4BWQTLunMC4f19+3f38fh+LJ0cE5Hd2VM+YOGb+pm36rrei2Z5Z77T9ueKTN/jot7+4wcoCr6ORcs3IV11dDUDfvn3btDc0NFBeXn5xyrl//36SkpIuBg8gLy+P3buvsz7eBVxo6NjBT1Nj6FddWpovAB3/YHau7/MB7zMUXHOqoTVMlZWVjBs37mL7ggULOH78OMOHDwfg7NmzxMfHt3lvfHw89fXB+8AG6gPZ1OKscp670P4+HmBMXjz/YzDh+eVqqD13aZS/fARr1Toitrf9cs898yR//t8nb7K60HNN+NLS0sjPz2fevHkkJibSv39/Vq5cybp16wAujnyxsbHU1dW1ee+ZM2fo3bt3yGvurB4RMDbLuV7yajyA1wtjhoW0rIsGJkHtuSD0mxj4PkPBNdNOr9fLihUryMnJYebMmUyZMoXk5GTKysqIjIwkPz8fgIyMDE6dOkVNzaUltF27dpGdnW1VeqfckwOjMpx/X34kGRkBU++GvreEvCwA8gcGvs9bYmBw8vX364pcM/IBZGZmsmHDhjZtkydPJisri5iYGADi4uJ44IEHmDt3Li+88AJvv/02Ho+HwsJCi5I7zeuB8XfAyDTYtB++OOC0jytwrgSJj7GrrWAQrP4SzgbwEK0wvft+xaiblh04W7duveLk+muvvUZFRQUJCQksXryYVatWERER2tXBm+HxOKPBo0WX2u7PtQ0eONPiBwoC198tMXZT6EBw1ch3ufr6eiorK3nyybYH67feeisffvihUVXhrSgddlQ531q/WRPvhF49b74fK64OX+/evbvFyfNw4vHAv46CVz92Lg27mo6scv58BGT3D2xtoeb6aaeEXq8oKLsXcm4gPFGRznS6O083W7l65BM7vXrCL8bA1oOw7q9Qe/ba+3uA3AHOiJfY9c/6dIjCJ2Y8HrgjDUakwu5jUHHUuXtZ9ffO9vgY5+5lg5Oc/ZLCJHStFD4x5/U6o1ruAOfn1mO+Xz1sV1Mo6JhPxIjCJ2JE4RMxovCJGFH4RIwofCJGFD4RIwqfiBGFT8SIwidiROETMaLwiRhR+ESMKHwiRhQ+ESMKn4gRhU/EiMInYkThEzGi8IkYUfhEjCh8Yaq5pe3jkr+vd57ZLl2Hbh0YRi40w1dH4C9fw+Ea5znorX61BmKjYFg/GJ0JqcnOfTPFjsIXJiqqYfkXcKah/X3OnocvDzmvoX3hXwohITZUFcrlNO3s5nx+WLUFflN+7eBdbt+38MIfYffR4NUm16bwdWN+P/zf57Cx8sbef74ZfluuAFpR+LqxLw7AX7659j6/fsx5tcfnh99vgh+C8Kx0uTaFr5v6ocF5xHIgNDTBii2B6SuQfrxgFI5cFz6fz8fChQvJyMggOjqagoICysvLGTp0KNOnT7cur8M+3QeNTYHrb1c1HD8duP5uxO6j8OpHl36esxLe+7Jzx7LdievCV1payty5c5kxYwbr169nwoQJlJSUcODAgSuezd5Vtfjgs+tMN2/Ephs8dgyEDXvg9U/g65OX2hqb4JO98F/rnfOU4cZV4Vu2bBlLly5l7dq1zJ49m7FjxzJnzhyKiopobm6+GL7nnnuO7OxsvF4vK1euNK76SsdPQ31j4PutPBH4PjuiqgbWbHP+fbULAc40wNubQ1tTKLgqfPPnz6e4uJgxY8a0aU9PT6dHjx7k5eUBkJGRwaJFixg5cqRFmddV9X1w+v3uTGCnsh21sdJ58mx7/MCB79pesRMOXHOSvbq6ml27dvH0009fse3IkSPk5OQQFRUFwKRJkwB4/vnnQ1Kbp5OXmtz58/+k8JFftmm71ormtba3PogSnA95v0GZnP52f6fquVmliw4TlzTouvv908R/468fvhqCim6Ov4PX8blm5Kuurgagb9++bdobGhooLy/vNsd7QHCvCzO45szjjejQft4O7tdduGbkS05OBqCyspJx48ZdbF+wYAHHjx9n+PDhVqV1+C9lq437YNXWtm0/HsF+rHXEa2/75aoP7iM2qlPl3LQ3yp3V1uv9L6z63SLSUhaFpKZQcE340tLSyM/PZ968eSQmJtK/f39WrlzJunXrALrVyDcgMTj9JsQS8uCBc6H3zur2t3uAlFvgtp+ErKSQcM200+v1smLFCnJycpg5cyZTpkwhOTmZsrIyIiMjyc/Pty6xw/onQFQQ/mwOMfpwZ/aFf8i4+jaPByIj4LGi8PsWhmtGPoDMzEw2bNjQpm3y5MlkZWURExNzsa2pqYmWlhZ8Ph9NTU00NjYSFRXV6YWRYOkZCXfcBp8GeF2kvQAEm8cD/3wHpMTDht3O1TutsvrBg38HP02wqS2YXBW+q9m6dSuFhYVt2qZNm8bSpUsB2LhxIwAHDx4kNTU11OW1665hzon2QF2CNTjJdlrn8cDPhsHdmVBdC03NkNg7vL/y5Jpp59XU19dTWVl5xWLLW2+9hd/vb/PqSsEDuDUe/jE3MH1FeKGki0zrvF4YlARDbg3v4AF4/J1dapMuo8UHSzZA5bc318+EkXZTTjdz9cjX3UV4YeoY59YQN8IDPHK7gmdFI18Y8PmgfB/8aYdz46SO+EkcPFoUfsv33YnCF0Zqz8Km/c4XbNu78HpgonNe7e8HO6umYkfhC0M+P9TUOauG5847CykJsU7wekdbVyetFD4RI1pwETGi8IkYUfhEjCh8IkYUPhEjCp+IEYVPxIjCJ2JE4RMxovCJGFH4RIwofCJGFD4RIwqfiBGFT8SIwidiROETMaLwiRhR+ESMKHwuUVVVxT333ENWVha5ubk8++yz1iW5nsLnEpGRkbz44ovs2bOHbdu2sXnzZtasWWNdlqvpzo0u0a9fP/r1c25t3bNnT/Lz8zly5IhxVe6mkc+FampqeO+997jvvvusS3E1hc9lzp8/z/jx45k1axbDhg2zLsfVdNNcF2lpaWHixIkMGjSIl19+2boc11P4XGTq1Kn4fD7efPPNLvOUXTdT+Fxi06ZNjB49mtzcXCIiIgAoLS3lqaeewu/3K4wGFD7hD2s/JqlPPPfffYd1Ka6iBZfLrFmzhgcffJCUlBSioqIYPHgwjz76KDt37rQuLSiOnTjFjj3f4PXqoxBqOs/3N83NzUyaNInly5czYMAAHn74YeLj46msrGTVqlU8/vjj5OXlWZcZcB9v3kZ0VE9G3R6gB7xLh2na+TdPPPEES5YsYdq0abzyyivExsZe3FZVVUWfPn2Ii4sLyu/+jxdfD0q/YuOFZ6Z3aD+NfMDGjRtZsmQJxcXFLFmy5IrFh4EDBxpVJuFMIx/wyCOP8O677/LVV19RUFBgXU5IHDtxisVvvcu9o0Zw7+gR1uW4ksIHxMfHk5SUxMGDB01+v6ad4aWj007XL3GdPn2auro6UlNTrUsRl3H9yFdbW0tiYiLZ2dlUVFRYlxMSv1/9Ad8cPsYzT5QQEx1lXY5ruX7kS0hIYMiQIezZs4ePPvroiu379u0zqCp4jp04RUXlIUbfnqfgGdNqJzBv3jwmTpxIcXExDz30EOnp6Zw8eZLNmzeTnZ3N6tWrrUsMmO9P15HYJ07n9boA1087W73//vu89NJLbNmyhcbGRlJSUhg5ciSzZs3irrvusi4voHw+n65o6QIUPhEj+vMnYkThEzGi8IkYUfhEjCh8IkYUPhEjCp+IEYVPxIjCJ2JE4RMxovCJGFH4RIwofCJGFD4RIwqfiBGFT8SIwidiROETMaLwiRhR+ESMKHwiRhQ+ESMKn4gRhU/EiMInYkThEzGi8IkY+X/iiPt3RDMhAAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWcAAACoCAYAAAA8cS9YAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAU8UlEQVR4nO3de3SU1b3G8e/MJORGArmQgFwFwi0kaQERBKVU0ZSldRUQikVPQUERj8XWXlyeo5xyDN6OVdtTD6c3aRWrcil4BBVvKYJoKIgEKQEChkAMEggkIQkkM+ePVy4DucyEmXl3Ms9nLZa4582e3wozz+zZ73736/B4PB5ERMQoTrsLEBGRiymcRUQMpHAWETGQwllExEAKZxERAymcRUQMpHAWETGQwllExEAKZxERAymcRUQMpHAWETGQwllExEAKZxERAymcRUQMpHAWETGQwllExEAKZxERAymcRUQMpHAWETGQwllExEAKZxERAymcRUQMpHAWETGQwllExEAKZxERAymcRUQMpHAWETFQhN0FSPs2/6XQP+czPwj9c4oEmkbOIiIGUjiLiBhI0xoiYabiJBR+CQeOwtEq8HggNgp6JEKfLtA7GRwOu6sUhbNImCg5Cm8XQEEJuD0XP755n/Xfbp1g3GAY2RecCmnbKJxF2rkGN7y1Hd7Z0XgoX6j0OPx1kxXW00dBcsfg1ygX05yzSDtW3wB/Wm+NmH0J5vPtKYNn3oLSiuDUJs1TOIu0Y3/92JrGaK3KWvjtu3CiJnA1iW8UziLt1KfF5+aRm/LMD1peF15ZC69+Yp04lNDRnHM7daoethVb84cRThh8GfRJ0Vn4cFHfAMvzA9dfQQnsPARDugeuz9aoroMt++FYNUR3gOxekJZgb03BEnYjZ7fbzVNPPUV6ejrR0dFkZ2eTl5fHwIEDmTNnjt3lBcSW/fDICnjpI3jvc2u+8dm34am1UF5ld3XN+/29l1HwwR+82jweD8/fmcCe/JU2VdX2bCu2RryB9GFhYPvzh8cDb34GD6+A5ZvhvZ2wZhsseh3+kAe1p+2rLVjCLpxnzZrFwoULueuuu1i7di1Tp05l+vTpFBUVMXz4cLvLu2TbD8CfN0BNIy/WQ8fg1+ugKsBv2kCpOnqQ6opSuvTK9mo/friIU7WVpPUdYVNlbU9+C9MZrbHzUOAD31dvFcCb262VJxfaXgK/+wDcjTzWloVVOC9dupQlS5awevVqHnjgAcaPH89DDz3E6NGjqa+vPxvOZWVlXH/99cTGxpKdnc3WrVttrtw3Hg+s3gpNzVx4sC5A+HB3KKvyXVlRPg6ni+QeGV7tR4q3EdspjfjknjZV1rZ4PFBcHoR+gQNB6Lcl1XWwrqD5Y/Yetj482pOwCudFixaRk5PDuHHjvNr79+9PZGQkmZmZAMydO5dBgwZRXl7OvHnzmDJlCg0NDXaU7Jf9R+CrSutN1JyPDA7nxK4DiOgQ49X+VfE2Ui/XqNlXx2vg5Kng9H3IhmV1W/Y3PmI+n8MBm/aGpJyQCZsTgiUlJRQUFHD//fdf9FhxcTEZGRlERUVRWVnJG2+8wcGDB4mJiWHOnDnk5uayadMmxowZE5TaHAE6S5d+5VQm/usrLR5XcdKNw+EKyHO25Ecv+n6Kv6won4qyPSy+O8Wr/XRdFSNuetDnfgL1+2yrOncbwL88ucurraUVGU09fuGugv++YCETlj18CdX5b8y0xxh+409xOJoeS3o88O6HW7nzW8NCWFnreHxc9hJW4QzQtWtXr/aamhry8vKYOHEiALt37yY5OZmUlHMBkZmZyeeffx60cA6UUzXHfTrudK2ZZwXL9m3mykkLGDz2dq/2lx7MJE0jZ5+564M0bA5y3005VXO82WAGcLsbqDt5LEQVhUbYhPOZsC0sLDwbxABPPPEEpaWlDBtmfeJWV1eTkOC9NichIYGqquAFmq+fpC053WCt0mjuK60DGJeZwG9DtGjV1/2cK77cQ131MXpn3UB8cg/v9pMVpPpxMjBQv8+2qsENP3/VWk53RlP/DmdGzL7+O/3PMwv55sqFl1agnw6fgNzXmz/G6XTx4x9+m+WPtp9/+7AJ5759+5KVlUVubi5JSUl0796dZcuWsWbNGoCzJwPj4uKorKz0+tkTJ07QsaP5GwxEumD8YHhjW+OPOwCnE8YNCmlZPikryiciKvailRqluzfSMbkncZ3SbKqs7XE5oXtn+CIIJ+96JgW+z5akJkBWT/jsQOOPO4D4GBjRJ5RVBV/YnBB0Op289tprZGRkMHfuXGbOnElKSgrz5s0jIiKCrKwsANLT0zly5Ajl5ede2QUFBQwZMsSu0v1ybQaMSbf+fuHMa4QL7rgGunYKeVktKivKJ+3yK3C6vMcLpXs+0pRGK2T3CnyflyXatwnSraOh/9efzxe+ruNj4J5rISoy5GUFlcMT5t8Bb7vtNrZt28Znn312tm3SpEn06tWLxx57jBdffJHc3Fx2796NyxWak2iX6sxSqg274ZMiq21iNozqBwkxzf9soOk2VfaoqoUFK6G+hVUO/kxr3DLy3Ae/Hdxu2FkKH+89N4qeOhKG92l/wQxhNHJuyubNmy+6+OT5559nx44dJCYm8txzz7F8+fI2E8xgLSvqnWKNNs64fmjog1ns0zEarsto+Thfde0EV/YNXH+t4XRCRneYdc25tqvS22cwQxjNOTemqqqKwsJC7rnnHq/2tLQ01q1bZ1NVIoExYai1J0bJJS5icDqsD/qItjM+aRfCOpw7duzYJi4uEWkNlxPu/JZ1yX5Te6q0NJ3hAGZcBb2SA12dtCTspzVE2rPOsXDfBOjbxf+fjYuCO8bBsD4BL0t8ENYjZ5Fw0CkW7p1g7Sq3rqDlzYucDhjWG24eDvHRoalRLqZwFgkDTgdcMxCu6m+tdPhnqXX37TO3oOocCz2SrD2/r+gLnXTy2HYKZ5EwEuGypinOTFWcmXNe8D27KpKmaM5ZRMRACmcREQNpWkOCSlfribSORs4iIgZSOIuIGEjhLCJiIIWziIiBFM4iIgZSOIuIGEjhLCJiIIWziIiBFM4iIgZSOIuIGEjhLCJiIIWziIiBFM4iIgZSOIuIGEjhLCJiIO3nLEF15jZIoXSpe0h3WLc2MIX46dSE79jyvGImjZxFRAykcBYRMZDCuZ2qb4BDx879/9Eq8Hjsq0ckEOrqobj83P9X1dpXS7BpzrkdOVUPnxbDpj3wRTk0uM899stVEBcFg7rB2AHQJwUcDvtqFfFVdR18vBfy98GXx70HGf+2HDrHQlZPGDMA0hLsqzPQFM7txI4SeOUTOFHT9DHVdfCP/dafgV3h+6MgMS5UFYr4x+2BDwvh9a1wuqHp4ypOwt93WX9G94ebh0F0ZOjqDBZNa7Rxbg8sz4ff5TUfzBfa9SU89n/w+cHg1SbSWrWnYfF7sGJz88F8oY/2wONvWCPstk7h3IZ5PPDqx7C+sHU/X1cPv89TQItZTtXD4vetAURrHKuG36yDshOBrSvUFM5t2CdFsGlv88c884Pm1/26PfCXDXD8ZGBrE2mt17fCvq+aP6al13VVHSxZb50Yb6sUzm3U8RpY+Y/A9FVzGl7LD0xf0ja53S0fEwp7D7f+m+CFDlXAOzsC05cdwi6c3W43Tz31FOnp6URHR5OdnU1eXh4DBw5kzpw5dpfnsw93WfNygVJQAqUVgetPzOXxwJb98PSb59oeXgFrtsHJU7aVBQQ+TD/4pzV91xaFXTjPmjWLhQsXctddd7F27VqmTp3K9OnTKSoqYvjw4XaX55MGN3zUwnRGa2wI0IjlUvz+3sso+OAPXm0ej4fn70xgT/5Km6pqmqemhtO3fB/3+g/PtdXVUT//J9T/8lE8pgxJz/P6VvjzBjhw/nrhOni7AJ59y1rVY4fyKvjnocD2WXsatn4R2D5DJazCeenSpSxZsoTVq1fzwAMPMH78eB566CFGjx5NfX392XB+5JFHGDJkCE6nk2XLltlc9cVKK4Kz+L6wLPB9+qPq6EGqK0rp0ivbq/344SJO1VaS1neETZU1zRETg3PKZBpeehmPx4OnoYGG/1wEkZG4fvEzHE6z3mI7DsJ7O62/N3ZN0uETsMymKa7dXzZeUyD6bYvMeuUE2aJFi8jJyWHcuHFe7f379ycyMpLMzEwA0tPTefbZZxk5cqQdZbbowNHg9PvVicBOlfirrCgfh9NFco8Mr/YjxduI7ZRGfHJPmyprnvO7N0H5UTwfbqDhmV/jOXIE14KHcXQwb7Ht+l3NX3zkAbYVW+c0Qi1Yr+vzryhsS8LmIpSSkhIKCgq4//77L3qsuLiYjIwMoqKiAJgxYwYAjz76aEhqc/h5qd6V33uYUZP/w6utpZ3Ymnr8/F3jPEC3XgOo+HK3X/U050cv+j4WKivKJ7HrACI6xHi1f1W8jdTLfR81+/v7vFDk22v8Ot4RE43zlsk0PPk0JHYm4pn/whEX6/fzXmrdvrj3T7W4IqOaPcbtgRHjJrMnf0XQ6znfTT9eRd9h3/VqC8Tr+uBXVTgc8ZdYXeB4fNxHIazCGaBr165e7TU1NeTl5TFx4kQ7ymqdYL6Jbbymu6won4qyPSy+O8Wr/XRdFSNuetCmqvxQW4tr2lQciYl2V9I0h29flh1OV5ALafRZg9Rr29ynIGzCOSXFesMXFhZ6BfETTzxBaWkpw4YNs6s0nz9Jz1i/C5Zv9m5rat/kMyMLX/dVLtm3i7jmB1Z+8Wc/57J9m7ly0gIGj73dq/2lBzNJ82Pk7O/v80L+7ufsfuc93K+8iuOG62lYuQrHd25o1Sj4Uuv2xdNvWicCW3qmDetepUuIB5svb7L20DhfIF7XqclxIfndBlrYhHPfvn3JysoiNzeXpKQkunfvzrJly1izxvoK21ZWagD0SApOv4lxBDSY/VHx5R7qqo/RO+sG4pN7eLefrCDVwJOBAO5P8mn4zX/j+uUCHOnp1N8+E8/f1+MYd43dpTVq7ABY+lHTjzsckJ5GyIMZoEcifByEfnsG6f0SbGFzQtDpdPLaa6+RkZHB3LlzmTlzJikpKcybN4+IiAiysrLsLtFn3RMhKggfq/26BL5PX5UV5RMRFXvRSo3S3RvpmNyTuE5pNlXWNPeOz2nIfQzXT3+CMyvz3Nzziy8buYQOYEQfyOzR+GMOILYD3GLTefB+qcHpt2+Q+g22sAlngAEDBvD+++9TXV1NcXExCxcuZPv27QwePJiYmHMnoU6fPk1tbS1ut/vs3036WtQhAq64PPD9XpUe+D59VVaUT9rlV+B0eX/qlO75yK8pjVDx7NtPw8MLcN01G+eYq862O797Ixw/jufv622srmlOJ/zwasjJ8v6W5HRAdi+4/wZ7Rs0AlyVC75SWj/NHhDM475VQCJtpjaZs3ryZUaNGebXNnj2bJUuWALB+vfUm27dvH3369Al1eU26epB1IUpDgAZovZPhchtHztfMeLrR9m/PfD7ElfjGcXkfIpe/enF7dDSRry4NeT3+cDkhJxOuGwIlx6zXUGo8xMe0/LPB9u3B8KcAfq5d2c++qbpLFVYj5wtVVVVRWFh40cnAF154wbqg4Lw/JgUzWJuK3zA0MH25nDB9tDbfDzcRLuumC/1SzQhmsDbNzwrQcvbOsXDjNwLTlx3CeuTcsWNHGhra7rZV12bAnsNQ2MwVUL6czZ48Arp2ClxdIq3lcFhz3ocq4Ehl08e19LqOcMFtYyCmQ2DrC6WwHjm3dS4n3DHOuvVUaziwgtnOuWaRC8VHw7xrIbWVt5zqEAGzxwXvBGOoKJzbuKgImPMt69Y8EX5cN9AlHu67Hq4eGLTSRFotMQ5+kgNj/Rw49EuFn02Ega0csJgkrKc12gunE8YPhm/0gg27rQ34m9oYqWeStdb1m72tEYaIqaIiYcpIGNXfupfglv1wqpFZSAdWGI8dAEO6WytP2gO9PduRxDjrBMjEbCivtM7En6yz5vES46xg7hhtd5Ui/umRZN2M+JaR1r0BDx2z9miOcEKXBOvilSjz9pi6ZArndsjpsF60XdrRbeJFXE7rAqzuBm9dEkiacxYRMZDCWUTEQA6PSdcli4gIoJGziIiRFM4iIgZSOIuIGEjhLCJiIIWziIiBFM4iIgZSOIuIGEjhLCJiIIWziIiBFM4iIgZSOIuIGEjhLCJiIIWziIiBFM4iIgZSOIuIGEjhLCJiIIVzmDhw4ADXXnstgwcPZujQoTz44IN2lyQizVA4h4mIiAgef/xxdu7cyZYtW9i4cSOrVq2yuywRaYLuvh0munXrRrdu3QDo0KEDWVlZFBcX21yViDRFI+cwVF5ezt/+9jcmTJhgdyki0gSFc5ipq6tjypQpzJ8/n0GDBtldjog0QXffDiMNDQ1MmzaNXr168fTTT9tdjog0Q+EcRu644w7cbjd//OMfcTgcdpcjIs1QOIeJDRs2MHbsWIYOHYrL5QJg1qxZ3HfffXg8HoW1iGEUzsLLq98luXMC119zhd2liMjXdELwAqtWreLGG28kNTWVqKgoevfuza233sr27dvtLi0oDpUdYdvOvTideimImETrnL9WX1/PjBkzeOWVV+jRoweTJk0iISGBwsJCli9fzu23305mZqbdZQbcuxu3EB3VgTEjhtpdioicR9MaX7v77rtZvHgxs2fP5le/+hVxcXFnHztw4ACdO3cmPj4+KM/9i8f/Nyj9ioh5Hvv5HJ+O08gZWL9+PYsXLyYnJ4fFixdfdHKsZ8+eNlUmIuFKI2dg8uTJrFixgk8//ZTs7Gy7ywmJQ2VHeO6FFVw3ZjjXjR1udzkicgGFM5CQkEBycjL79u2z5fk1rSESPnyd1gj7U/QVFRVUVlbSp08fu0sRETkr7EfOx44dIykpiSFDhrBjxw67ywmJv6x8m71fHOLnd08nJjrK7nJEpBFhP3JOTEykX79+7Ny5k3feeeeix3ft2mVDVcFzqOwIOwr3M3ZEpoJZxGBarQHk5uYybdo0cnJyuPnmm+nfvz+HDx9m48aNDBkyhJUrV9pdYsAcragkqXO81jWLGC7spzXOeOutt3jyySfJz8+ntraW1NRURo4cyfz587n66qvtLi+g3G63rggUMZzCWUTEQBo+iYgYSOEsImIghbOIiIEUziIiBlI4i4gYSOEsImIghbOIiIEUziIiBlI4i4gYSOEsImIghbOIiIEUziIiBlI4i4gYSOEsImIghbOIiIEUziIiBlI4i4gYSOEsImIghbOIiIEUziIiBlI4i4gYSOEsImIghbOIiIEUziIiBlI4i4gYSOEsImIghbOIiIH+H+ej45VqVpcsAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "obs = env.reset()\n", "display(env.render())\n", "\n", "for _ in range(10):\n", " action, _states = modelPPO2.predict(obs)\n", " obs, _, done, info = env.step(action)\n", " display(info[0]['circuit_img'])\n", " \n", "env.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected, the agent easily learned the optimal circuit. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### A2C Agent\n", "\n", "For comparison, we now run an *A2C* agent, another agent from the library of *stable_baselines*.\n", "\n", "First we import the agent." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "from stable_baselines import A2C" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We train it." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/common/tf_util.py:312: The name tf.get_collection is deprecated. Please use tf.compat.v1.get_collection instead.\n", "\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/common/tf_util.py:312: The name tf.GraphKeys is deprecated. Please use tf.compat.v1.GraphKeys instead.\n", "\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/stable_baselines/a2c/a2c.py:159: The name tf.train.RMSPropOptimizer is deprecated. Please use tf.compat.v1.train.RMSPropOptimizer instead.\n", "\n", "WARNING:tensorflow:From /home/fmzennaro/miniconda2_1/envs/quantumgymstable/lib/python3.7/site-packages/tensorflow_core/python/training/rmsprop.py:119: calling Ones.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Call initializer instance with the dtype argument instead of passing it to the constructor\n", "---------------------------------\n", "| explained_variance | -0.0111 |\n", "| fps | 11 |\n", "| nupdates | 1 |\n", "| policy_entropy | 1.95 |\n", "| total_timesteps | 5 |\n", "| value_loss | 12.5 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | 0.0309 |\n", "| fps | 32 |\n", "| nupdates | 100 |\n", "| policy_entropy | 1.95 |\n", "| total_timesteps | 500 |\n", "| value_loss | 10.4 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | -0.0657 |\n", "| fps | 33 |\n", "| nupdates | 200 |\n", "| policy_entropy | 1.95 |\n", "| total_timesteps | 1000 |\n", "| value_loss | 11.1 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | 0.0445 |\n", "| fps | 18 |\n", "| nupdates | 300 |\n", "| policy_entropy | 1.95 |\n", "| total_timesteps | 1500 |\n", "| value_loss | 2.92 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | 0.0629 |\n", "| fps | 20 |\n", "| nupdates | 400 |\n", "| policy_entropy | 1.95 |\n", "| total_timesteps | 2000 |\n", "| value_loss | 10.2 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | -0.037 |\n", "| fps | 21 |\n", "| nupdates | 500 |\n", "| policy_entropy | 1.95 |\n", "| total_timesteps | 2500 |\n", "| value_loss | 10.4 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | 0.00122 |\n", "| fps | 22 |\n", "| nupdates | 600 |\n", "| policy_entropy | 1.94 |\n", "| total_timesteps | 3000 |\n", "| value_loss | 9.58e+03 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | 0 |\n", "| fps | 22 |\n", "| nupdates | 700 |\n", "| policy_entropy | 1.94 |\n", "| total_timesteps | 3500 |\n", "| value_loss | 10 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | -0.00539 |\n", "| fps | 22 |\n", "| nupdates | 800 |\n", "| policy_entropy | 1.94 |\n", "| total_timesteps | 4000 |\n", "| value_loss | 4.24e+03 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | 0.00213 |\n", "| fps | 22 |\n", "| nupdates | 900 |\n", "| policy_entropy | 1.93 |\n", "| total_timesteps | 4500 |\n", "| value_loss | 4.33e+03 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | 0.0761 |\n", "| fps | 23 |\n", "| nupdates | 1000 |\n", "| policy_entropy | 1.93 |\n", "| total_timesteps | 5000 |\n", "| value_loss | 4.59 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | -0.014 |\n", "| fps | 23 |\n", "| nupdates | 1100 |\n", "| policy_entropy | 1.93 |\n", "| total_timesteps | 5500 |\n", "| value_loss | 5.29 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | 0.000819 |\n", "| fps | 23 |\n", "| nupdates | 1200 |\n", "| policy_entropy | 1.89 |\n", "| total_timesteps | 6000 |\n", "| value_loss | 4.46e+03 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | -0.432 |\n", "| fps | 22 |\n", "| nupdates | 1300 |\n", "| policy_entropy | 1.92 |\n", "| total_timesteps | 6500 |\n", "| value_loss | 12.2 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | 0.462 |\n", "| fps | 23 |\n", "| nupdates | 1400 |\n", "| policy_entropy | 1.88 |\n", "| total_timesteps | 7000 |\n", "| value_loss | 7.03 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | 0.364 |\n", "| fps | 23 |\n", "| nupdates | 1500 |\n", "| policy_entropy | 1.86 |\n", "| total_timesteps | 7500 |\n", "| value_loss | 5.83 |\n", "---------------------------------\n", "----------------------------------\n", "| explained_variance | -0.000234 |\n", "| fps | 23 |\n", "| nupdates | 1600 |\n", "| policy_entropy | 1.83 |\n", "| total_timesteps | 8000 |\n", "| value_loss | 6.63e+03 |\n", "----------------------------------\n", "---------------------------------\n", "| explained_variance | -0.0783 |\n", "| fps | 23 |\n", "| nupdates | 1700 |\n", "| policy_entropy | 1.8 |\n", "| total_timesteps | 8500 |\n", "| value_loss | 8.55e+03 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | 0.27 |\n", "| fps | 23 |\n", "| nupdates | 1800 |\n", "| policy_entropy | 1.53 |\n", "| total_timesteps | 9000 |\n", "| value_loss | 6.1 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | -0.00153 |\n", "| fps | 23 |\n", "| nupdates | 1900 |\n", "| policy_entropy | 1.55 |\n", "| total_timesteps | 9500 |\n", "| value_loss | 4.04e+03 |\n", "---------------------------------\n", "---------------------------------\n", "| explained_variance | 0.000107 |\n", "| fps | 23 |\n", "| nupdates | 2000 |\n", "| policy_entropy | 1.32 |\n", "| total_timesteps | 10000 |\n", "| value_loss | 5.53e+03 |\n", "---------------------------------\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "modelA2C = A2C(MlpPolicy, env, verbose=1)\n", "modelA2C.learn(total_timesteps=10000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we test it by letting it play ten steps of the game (as before the agent may reach a solution before the tenth step)." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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/szWrVt54IEHSEhIICwsjGHDhvHII49w6NAhq6P5xamqGr46ehynU/8UpGu6D+MnLS0tzJw5k7fffpvExEQeeughYmJiKC4uZvPmzTz22GNkZmZaHdPnPtx7gPCw3ky4fbTVUSQI6JTkJwsWLGDdunXMnTuXF198kT59+lzeV1FRQb9+/YiOjvbLY//jc6/6ZVwRU88+Pc/oOM0wgD179rBu3Try8vJYt25duwXAIUOGWJRM5OaiGQbw8MMP884773Dw4EGys7OtjhMQp6pqePmNd7hnQg73TMyxOo4ECRUGEBMTQ1xcHGVlZZY8vk5JxGqmpyS2Xxo/d+4c9fX1DB8+3OooIjc9288wamtriY2NJT09ncOHD1sdJyD+e8sHHD9xiqcXzCAiPMzqOBJEbD/D6N+/PyNGjODo0aPs2rWr3f5jx45ZkMp/TlXVcLj4OybenqmykG7TVRIgPz+f6dOnk5eXx4MPPkhycjLV1dXs3buX9PR0tmzZYnVEnzl7rp7YftG670Kui+1PSdq8//77PP/88xQWFtLU1ERCQgLjxo1j8eLF3HHHHVbH8ymXy6U7O+W6qDBExJieZkTEmApDRIypMETEmApDRIypMETEmApDRIypMETEmApDRIypMETEmApDRIypMETEmApDRIypMETEmApDRIypMETEmApDRIypMETEmApDRIypMETEmApDRIypMETEmApDRIypMETEmApDRIypMETEmApDRIypMETE2P8DTrVTGmqfaToAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAN8AAACoCAYAAABg3jtVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAMfklEQVR4nO3df0zUd57H8Se/BERQgYIegpZCFRC4U+ueq13P6y/O9NI7a2p01Y10pVKaHjYmu8Y0vaQptta022Y3DZvWq7nWTVfU6qW6vdptqVvWXVx/VKjbUbECSrGgVBBBfsz94UpvSi1YZ+YN8309kknkO8OXdyLP+XznO8A3yO12uxERvwu2HkDEqRSfiBHFJ2JE8YkYUXwiRhSfiBHFJ2JE8YkYUXwiRhSfiBHFJ2JE8YkYUXwiRhSfiBHFJ2JE8YkYUXwiRhSfiBHFJ2JE8YkYUXwiRhSfiBHFJ2JE8YkYUXwiRhSfiBHFJ2Ik1HoAGZziN22+7i9+bPN1nUArn4gRxSdiRPGJGFF8IkYUn4gRxSdiRPGJGFF8Ikb0JrsMKfXnoaoernRDfDRMmwQRYdZT+YbjVr7e3l42btxIeno6ERER5ObmUl5ezuTJkykoKLAez2tefezvqPrwNY9tbrebV34aw4nKHUZTXV9bB/zyPdi4B353FH5/DH77Z3hyG3z0mfV0vuG4lS8/P58dO3bw5JNPMn36dCoqKli8eDFffvklTzzxhPV4XtF2/gyXWhq4JSXXY/tX52q40tFKYuoMo8m+3ZVu+NX78EVL//u6emD7AQgJhtnp/p/Nlxy18m3ZsoXNmzeza9cu1qxZw7x581i3bh2zZs2iu7ub6dOnA9DY2Mi9997LyJEjyc3N5dChQ8aT35jGmkqCgkOIm5Dlsb2p9ggjRycSHZdsNNm3+8vn0NAC7u94zDuHobvHXxP5h6PiW79+PXl5ecydO9dje1paGmFhYWRnZwNQWFjIlClTaG5upqioiIULF9LTM3z+5xtrKhk77nZCR0R6bP+y9ggJtw6tVQ/gjycgaIDHtF+BqjN+GcdvHHPYWV9fT1VVFatXr+53X21tLVlZWYSHh9Pa2so777zDmTNniIyMpKCggJKSEvbv38/s2bN9MltQ0EDfevAfb3zXuuCpsaaSlsYTlK6K99je1dnGjH9d6/XZbtZPf3mWqDHjB3xc/qonOLTnRZ/Pc7Pc7sH9XzkqPoBx48Z5bL98+TLl5eXMnz8fgOPHjxMXF0d8/NffuNnZ2Xz66ac+i8/bGk8d4AcL/pOMOcs9tr+5NpvEIbjydba3MHJ0IkFB330gdqX9Kz9N5B+OOey8FpPL5fLYvmHDBhoaGpg2bRoAly5dIiYmxuMxMTExtLW1+Ww2t9s94G2wWr44QeelC0zMuY/ouAl9t56uDjrbW0i4wZMtg5ntZm9L7ssYMLyQYNj/u9f8Ms/N3gbLMStfamoqOTk5lJSUEBsbS1JSEmVlZezevRug72RLVFQUra2tHp978eJFRo0a5feZv4/GmkpCw0f2O9PZcLyCUXHJRI1ONJrs+malw4d/hc6u6590mZUGoyL8OpbPOWblCw4OZuvWrWRlZVFYWMiKFSuIj4+nqKiI0NBQcnJyAEhPT6epqYnm5ua+z62qqiIzM9Nq9BvSWFNJ4q13EBzi+bzacOKPQ/KQE2B0JKz65/5vpl97tZmdDP82ze9j+VyQ+0bWyQC0bNkyjhw5wieffNK3bcGCBaSkpPDss8/yxhtvUFJSwvHjxwkJCTGb0wl/RqK9E/58Ct7+y9WP/2Ei/DAN0hLBD+d9/M4xK9/1HDhwoO+Q85pXXnmF6upqxo4dy8svv8y2bdtMw3OKkeHwT1O+/vgncyB9XGCGBw56zfdt2tracLlcPProox7bExMTee+994ymEqdwdHyjRo0aVm+eS2Bx/GGniBXFJ2JE8YkYUXwiRhSfiBHFJ2LE0W81DCe6YEng0conYkTxiRhRfCJGFJ+IEcUnYkTxiRhRfCJGFJ+IEcUnYkTxiRhRfCJGFJ+IEcUnYkTxiRhRfCJGFJ+IEcUnYkTxiRhRfDKkfNX+9b/rzkNXAP9BccdfpUjs1Z+Hj49DdT1c7PC8LzgIksbCD26DGbf2v4zYcKb4xExbB5RVwuHawT0+Mgz+fQbccWtgXLlI8YmJz5vg1Q+hrfPGP/fvU2DpDyF0mF+1TfGJ39U2w6/2Qmf3999HVhLk/+jqtdqHq2E8ugxHHV3wXx99d3i/+PHAf6e0+gy8/6l3Z/M3xSd+9T+H4EL7wI8bjHePwhdfeWdfFhwXX29vLxs3biQ9PZ2IiAhyc3MpLy9n8uTJFBQUWI8X0C5ehv0nvbe/nl74/TBe/RwXX35+Pk8//TSPPPIIe/bs4aGHHmLx4sXU1NT0uza7eNefTl4NxpsOnob273HSZihwVHxbtmxh8+bN7Nq1izVr1jBv3jzWrVvHrFmz6O7u7ovvqaeeIjMzk+DgYMrKyoynDhyuL7y/z+4eONXk/f36g6PiW79+PXl5ecydO9dje1paGmFhYWRnZwOQnp7OSy+9xMyZMy3GDEhuN9Rf8M2+65p9s19fc8xViurr66mqqmL16tX97qutrSUrK4vw8HAAli5dCsAzzzzjl9mCAuEd4wGEhUfx6GttHtsGOqN5vfuL3/T8+PmXfs2/bHrkJqbzrsG+e+eYla++vh6AcePGeWy/fPky5eXler3naz58ghmuT16OWfni4+MBcLlczJ8/v2/7hg0baGhoYNq0aVajDfqZcjjrdcPP34Ir/+8Hpb+5gl1zbcW73v3fVPzYSva+uvLmBjTgmPhSU1PJycmhpKSE2NhYkpKSKCsrY/fu3QBa+Xzs2g9I++LkSHKs9/fpD4457AwODmbr1q1kZWVRWFjIihUriI+Pp6ioiNDQUHJycqxHDHipCd7fZxAw6Rbv79cfHLPyAdx+++188MEHHtuWLVtGRkYGkZGRfdu6urro6emht7eXrq4uOjo6CA8PH7avLYaKf0zz/o+ETZ0AoyMHftxQ5JiV73oOHDjQ75Bz5cqVREZGsm/fPpYsWUJkZCSnT582mjBw3BINOcne3ee8DO/uz58cHV9bWxsul6vfyZbXX38dt9vtcZs0aZLNkAHmwRlXfy/PG2an++ZQ1l/0K0Xid0frYNNHcDPfeBNi4bG7h/dvtjt65RMb2cmwfM73/128lDhYNW94hwda+cTQ2QuwZf/Vv+EyGMFBcFcm3Jc9/H+LHRSfGOvphU/q4A8uOHnu2x8TEQYzU6++xksc7d/5fEnxyZDRfgXOnIemtqtRRoZBUiwkRENwAL5AUnwiRgLw+URkeFB8IkYUn4gRxSdiRPGJGFF8IkYUn4gRxSdiRPGJGFF8IkYUn4gRxSdiRPGJGFF8IkYUn4gRxSdiRPGJGFF8IkYUn4gRxecQdXV13HXXXWRkZDB16lTWrl1rPZLjKT6HCA0N5bnnnuPYsWMcPHiQiooKdu7caT2WoznqKkVONn78eMaPHw/AiBEjyMnJoba21ngqZ9PK50DNzc28/fbb3HPPPdajOJric5jOzk4WLlxIcXExU6ZMsR7H0fRHcx2kp6eHRYsWkZKSwgsvvGA9juMpPgd5+OGH6e3tZdOmTbrK7hCg+Bzi448/Zs6cOUydOpWQkKuX+MnPz+fxxx/H7XYrRgOKT/jNrveJGxPDvT+6w3oUR9EJl2/YuXMn999/PwkJCYSHhzNx4kSWLFnC0aNHrUfzibONTRw5dpLgQLwM0BCn9/n+pru7m6VLl/LWW28xYcIEFixYQExMDC6Xi23btrF8+XKys7Otx/S69ysOEhE+gtkzplqP4jg67PybVatWUVpaysqVK3nxxReJiorqu6+uro4xY8YQHR3tk6/98+d+7ZP9io1nf1YwqMdp5QP27dtHaWkpeXl5lJaW9jv5kJycbDSZBDKtfMCDDz7I9u3bOXz4MLm5udbj+MXZxiZefn07d8+ezt1zpluP40iKD4iJiSEuLo5Tp06ZfH0ddgaWwR52Ov4UV0tLC62trUyaNMl6FHEYx698Fy5cIDY2lszMTKqrq63H8Yv/3vG/nDx9lp+tWkxkRLj1OI7l+JVv7Nix3HbbbRw7doy9e/f2u/+zzz4zmMp3zjY2Ue36nDkzshWeMZ3tBEpKSli0aBF5eXk88MADpKWlce7cOSoqKsjMzGTHjh3WI3rN+ZZWYsdE6329IcDxh53XvPvuuzz//PNUVlbS0dFBQkICM2fOpLi4mDvvvNN6PK/q7e3VT7QMAYpPxIie/kSMKD4RI4pPxIjiEzGi+ESMKD4RI4pPxIjiEzGi+ESMKD4RI4pPxIjiEzGi+ESMKD4RI4pPxIjiEzGi+ESMKD4RI4pPxIjiEzGi+ESMKD4RI4pPxIjiEzGi+ESMKD4RI4pPxMj/AXGCTKH8QWZKAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "obs = env.reset()\n", "display(env.render())\n", "\n", "for _ in range(10):\n", " action, _states = modelA2C.predict(obs)\n", " obs, _, done, info = env.step(action)\n", " display(info[0]['circuit_img'])\n", " \n", "env.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Comparison of the agents\n", "\n", "Finally, we compare the agents quantitavely by contrasting their average reward computed running 1000 episodes of the game. We rely on the *evaluation* module that provides simple and standard routines to evaluate the agents." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "import evaluation\n", "n_episodes = 1000\n", "\n", "PPO2_perf, _ = evaluation.evaluate_model(modelPPO2, env, num_steps=n_episodes)\n", "A2C_perf, _ = evaluation.evaluate_model(modelA2C, env, num_steps=n_episodes)\n", "\n", "env = gym.make('qcircuit-v1')\n", "rand_perf, _ = evaluation.evaluate_random(env, num_steps=n_episodes)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean performance of random agent (out of 1000 episodes): 19.333\n", "Mean performance of PPO2 agent (out of 1000 episodes): 72.541\n", "Mean performance of A2C agent (out of 1000 episodes): 90.753\n" ] } ], "source": [ "print('Mean performance of random agent (out of {0} episodes): {1}'.format(n_episodes,rand_perf))\n", "print('Mean performance of PPO2 agent (out of {0} episodes): {1}'.format(n_episodes,PPO2_perf))\n", "print('Mean performance of A2C agent (out of {0} episodes): {1}'.format(n_episodes,A2C_perf))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The reinforcement learning agents (PPO2, A2C) learned to play the game to different degrees. On the opposite, the random agent performed very badly, showing that even with this limited state and action space a random policy rarely finds the right solution." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References\n", "\n", "[1] IBM qiskit, https://qiskit.org/\n", "\n", "[2] OpenAI gym, http://gym.openai.com/docs/\n", "\n", "[3] stable-baselines, https://github.com/hill-a/stable-baselines\n", "\n", "[4] gym-qcircuit, https://github.com/FMZennaro/gym-qcircuit" ] } ], "metadata": { "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.7.5" } }, "nbformat": 4, "nbformat_minor": 2 }