diff --git a/1.dqn.ipynb b/1.dqn.ipynb index b3f33f4..9db68b0 100644 --- a/1.dqn.ipynb +++ b/1.dqn.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -14,13 +14,17 @@ "import torch\n", "import torch.nn as nn\n", "import torch.optim as optim\n", - "import torch.autograd as autograd \n", - "import torch.nn.functional as F" + "import torch.autograd as autograd\n", + "import torch.nn.functional as F\n", + "\n", + "import os\n", + "import logger\n", + "from common import monitor" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ @@ -38,24 +42,48 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], + "execution_count": 21, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "cuda\n" + ] + } + ], "source": [ - "USE_CUDA = torch.cuda.is_available()\n", - "Variable = lambda *args, **kwargs: autograd.Variable(*args, **kwargs).cuda() if USE_CUDA else autograd.Variable(*args, **kwargs)" + "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n", + "print(device)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "

Replay Buffer

" + "Replay Memory\n", + "-----------\n", + "\n", + "We'll be using experience replay memory for training our DQN. It stores\n", + "the transitions that the agent observes, allowing us to reuse this data\n", + "later. By sampling from it randomly, the transitions that build up a\n", + "batch are decorrelated. It has been shown that this greatly stabilizes\n", + "and improves the DQN training procedure.\n", + "\n", + "For this, we're going to need:\n", + "\n", + "- ``ReplayBuffer`` - a cyclic buffer of bounded size that holds the\n", + " transitions observed recently. It also implements a ``.sample()``\n", + " method for selecting a random batch of transitions for training.\n", + "- ``ReplayBuffer.buffer`` - a deque where each entry is a tuple containing (state, action, reward, next_state, done). ``state``, ``action``, and ``next_state`` are numpy arrays, while ``done`` is a bool" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -88,20 +116,22 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\u001b[33mWARN: gym.spaces.Box autodetected dtype as . Please provide explicit dtype.\u001b[0m\n" + "Logging to /tmp/RL_Adventure-2019-02-08-10-15-46-153322\n" ] } ], "source": [ + "logger.configure()\n", "env_id = \"CartPole-v0\"\n", - "env = gym.make(env_id)" + "env = gym.make(env_id)\n", + "env = monitor.Monitor(env, logger.get_dir())" ] }, { @@ -113,7 +143,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [ @@ -126,27 +156,29 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[]" + "[]" ] }, - "execution_count": 7, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvDW2N/gAAGlNJREFUeJzt3X10XPV95/H3d0YayXqyHi3bso1sYzsxIWCigIGchCSEAG1xuyfb2G02hCSl25Zm2XR3D5z0QMv+0yTttpuNm4RNQ9qE4BCaJl5q4nYTSDcUuxY4gB9BNtiWH5D8/CDLsqTv/jFXZiyPpLE88tW99/M6R0dzf/PT6Ht15Y9/+s3v3mvujoiIxEsq7AJERKT4FO4iIjGkcBcRiSGFu4hIDCncRURiSOEuIhJDCncRkRhSuIuIxJDCXUQkhkrC+saNjY3e2toa1rcXEYmkF1988aC7N43VL7Rwb21tpb29PaxvLyISSWa2q5B+mpYREYkhhbuISAwp3EVEYkjhLiISQwp3EZEYGjPczexbZtZlZptGeN7M7Ctm1mFmr5jZdcUvU0RELkYhI/dvA7eP8vwdwILg417ga5deloiIXIoxw93d/wU4PEqXZcDfedY6oNbMZhSrwOE2vHmYL/5kG7o9oIjIyIox594C7MnZ7gzaLmBm95pZu5m1d3d3j+ubvbznKF97bgfHT/eP6+tFRJKgGOFuedryDqvd/VF3b3P3tqamMc+ezauhKgPAoVNnxvX1IiJJUIxw7wRm52zPAvYV4XXzqq8sA+Dwqb6J+hYiIpFXjHBfDXwyWDWzFDjm7vuL8Lp5NVQOjdwV7iIiIxnzwmFm9gRwC9BoZp3Aw0ApgLt/HVgD3Al0AD3APRNVLEB9EO4auYuIjGzMcHf3FWM878AfFK2iMSjcRUTGFrkzVMtL01Rm0hw6qXAXERlJ5MIdoK4yw2GtlhERGVEkw72hMqM3VEVERhHJcK+vzGjOXURkFBEN9zKFu4jIKCIZ7g1V2ZG7ri8jIpJfJMO9vjLDmf5BevoGwi5FRGRSimy4g9a6i4iMJJLhrksQiIiMLpLh/vbIXWvdRUTyiWS4NwRXhtRZqiIi+UUy3OurNOcuIjKaSIZ7ZSZNpiSlcBcRGUEkw93MdAkCEZFRRDLcQZcgEBEZTaTDXSN3EZH8IhvuDbrsr4jIiKIb7lVlWgopIjKCyIZ7Y1UZPX0D9PT1h12KiMikE9lwb6rOnsh08IRG7yIiw0U+3LtP9oZciYjI5BPZcG8MzlLtPqE3VUVEhotsuJ8buSvcRUQuENlwb6gsI2XQrRUzIiIXiGy4p1NGfWWZRu4iInlENtwhO++ucBcRuVCkw72puozukwp3EZHhIh/uBzVyFxG5QLTDvSo7cnf3sEsREZlUoh3u1WX09Q9yvFeXIBARyRX5cAc4qHl3EZHzFBTuZna7mW03sw4zeyDP83PM7Fkz22hmr5jZncUv9UJNVTqRSUQknzHD3czSwErgDmAxsMLMFg/r9sfAk+6+BFgO/HWxC82nUWepiojkVcjI/Xqgw913unsfsApYNqyPAzXB46nAvuKVODKN3EVE8isk3FuAPTnbnUFbrj8BPmFmncAa4A/zvZCZ3Wtm7WbW3t3dPY5yzzd1SimladOcu4jIMIWEu+VpG772cAXwbXefBdwJfMfMLnhtd3/U3dvcva2pqeniqx0mlTIadAkCEZELFBLuncDsnO1ZXDjt8hngSQB3fwEoBxqLUeBYdJaqiMiFCgn3DcACM5trZhmyb5iuHtZnN/BhADN7J9lwv/R5lwI0VZfRdVzhLiKSa8xwd/d+4D5gLbCV7KqYzWb2iJndFXT7I+B3zOxl4AngU36ZThttrimjS9MyIiLnKSmkk7uvIftGaW7bQzmPtwA3F7e0wjTXlHPo1BnODgxSmo70OVkiIkUT+TRsrinHHY3eRURyRD7cp9eUA3DgmG6ULSIyJPLh3hyE+1vHFe4iIkMiH+7Tp2rkLiIyXOTDva6ilExJSiN3EZEckQ93M6O5powDCncRkXMiH+6QfVNVI3cRkbfFItyba8p5S2epioicE4twn15TzoFjvbqXqohIIBbh3lxTzumzA7qXqohIIB7hPlVr3UVEcsUi3HWWqojI+eIV7hq5i4gAMQn3aTXZe6l2KdxFRICYhHt5aZq6ilKN3EVEArEId8iumNGcu4hIVmzCvaV2CvuOKtxFRCBG4T6zdgp7j54OuwwRkUkhVuF+7PRZTp7RiUwiIrEJ95a6KQDs1+hdRCRG4V6bXeveqXAXEYlPuM+szY7c9yncRUTiE+7TqsspSRl7jyjcRURiE+7plDF9arlG7iIixCjcQWvdRUSGxC7ctdZdRCRm4T6zdgoHjvfSPzAYdikiIqGKVbi31E1hYNB564TupyoiyRarcNdySBGRrFiF+9CJTFoOKSJJV1C4m9ntZrbdzDrM7IER+vymmW0xs81m9r3illmYoZG73lQVkaQrGauDmaWBlcBHgE5gg5mtdvctOX0WAA8CN7v7ETObNlEFj6YiU0JdRSmdGrmLSMIVMnK/Huhw953u3gesApYN6/M7wEp3PwLg7l3FLbNwc+or6DzSE9a3FxGZFAoJ9xZgT852Z9CWayGw0MyeN7N1ZnZ7sQq8WLPrK9h9WOEuIslWSLhbnjYftl0CLABuAVYA3zSz2gteyOxeM2s3s/bu7u6LrbUgVzRUsPfIaa11F5FEKyTcO4HZOduzgH15+vzY3c+6+xvAdrJhfx53f9Td29y9rampabw1j2pOfQX9g85+3U9VRBKskHDfACwws7lmlgGWA6uH9fkR8EEAM2skO02zs5iFFmpOfSUAuw5pakZEkmvMcHf3fuA+YC2wFXjS3Teb2SNmdlfQbS1wyMy2AM8C/9XdD01U0aOZ01ABoHl3EUm0MZdCArj7GmDNsLaHch478PngI1TTa8rJpFPsOnwq7FJEREITqzNUIXtd91l1U9ijkbuIJFjswh2yUzOalhGRJItnuNdXsOtQD9nZIhGR5IltuJ/o7efY6bNhlyIiEorYhjtoOaSIJFc8w13LIUUk4eIZ7udG7loOKSLJFMtwr8iUML2mnJ0HFe4ikkyxDHeAeU2V7OxWuItIMsU23Oc2VrKz+6SWQ4pIIsU23Oc1VXG8t59Dp/rCLkVE5LKLcbhnrw6pqRkRSaLYhvv8xioA3jh4MuRKREQuv9iGe0vdFDIlKY3cRSSRYhvu6ZTR2lDBDoW7iCRQbMMdYF5jFTs1LSMiCRTvcG+qZPehHs7qZtkikjAxD/cq+gddN+4QkcSJebhrOaSIJFOsw31+U3Y55OtdmncXkWSJdbhPnVLKjKnlvPbWibBLERG5rGId7gALm6vZfkDhLiLJEvtwXzS9mo7uk/RrxYyIJEj8w725mr7+QXZpxYyIJEj8w316NYCmZkQkUWIf7ldOq8JM4S4iyRL7cC8vTdPaUKkVMyKSKLEPd4CFzVVsV7iLSIIkItwXNVfz5sFT9J4dCLsUEZHLIhHhvnB6NYMOHTpTVUQSIhHh/s4ZNQBs3X885EpERC6PgsLdzG43s+1m1mFmD4zS72Nm5mbWVrwSL93chkoqM2k271O4i0gyjBnuZpYGVgJ3AIuBFWa2OE+/auBzwPpiF3mpUilj8cwaNu09FnYpIiKXRSEj9+uBDnff6e59wCpgWZ5+/x34EtBbxPqK5qqZU9my/zgDgx52KSIiE66QcG8B9uRsdwZt55jZEmC2uz9dxNqK6l0tU+npG+CNg7q2u4jEXyHhbnnazg1/zSwF/CXwR2O+kNm9ZtZuZu3d3d2FV1kE72rJvqm6eZ+mZkQk/goJ905gds72LGBfznY18C7gOTN7E1gKrM73pqq7P+rube7e1tTUNP6qx2F+UxWZkpTm3UUkEQoJ9w3AAjOba2YZYDmweuhJdz/m7o3u3ururcA64C53b5+QisepNJ3indOr2bRXK2ZEJP7GDHd37wfuA9YCW4En3X2zmT1iZndNdIHFdFXLVDbtO4a73lQVkXgrKaSTu68B1gxre2iEvrdcelkT410zp/K99bvZfbiHKxoqwy5HRGTCJOIM1SHXzq4F4Jd7joZciYjIxEpUuC9srqIik+alXUfCLkVEZEIlKtxL0imumVXLS7s1cheReEtUuAMsmVPL1v3HOd2ny/+KSHwlLtyvm1NH/6Dzqta7i0iMJS7cr52TfVN1427Nu4tIfCUu3BuryriioYKXFO4iEmOJC3eAJbOzb6rqZCYRiatEhvt7rqij+8QZ9hw+HXYpIiITIpHhvnReAwDrdh4KuRIRkYmRyHC/cloVjVUZXlC4i0hMJTLczYwb5jWwbuchzbuLSCwlMtwhOzWz/1gvuw/3hF2KiEjRJTbcb5xXD2jeXUTiKbHhPr8pO+++bufhsEsRESm6xIb70Lz7Czs07y4i8ZPYcAd435WNHDjey+tdJ8MuRUSkqBId7h9YmL1J98+3d4dciYhIcSU63GfWTmFhcxXPvdYVdikiIkWV6HAHuGXRNDa8cYRTZ/rDLkVEpGgSH+4fWNhE38AgL+zQkkgRiY/Eh3tbax0VmbSmZkQkVhIf7mUlaW6a38Cz27q1JFJEYiPx4Q5w2+Lp7D16ms37joddiohIUSjcgVsXN5My+MmmA2GXIiJSFAp3oL4yww1zG3hm0/6wSxERKQqFe+COq6ezo/sUHV0nwi5FROSSKdwDty2eDsAzr2pqRkSiT+EemD61nCVzavnHVzU1IyLRp3DP8evXtrDtwAm27teqGRGJNoV7jl+7ZiYlKeMfNu4NuxQRkUtSULib2e1mtt3MOszsgTzPf97MtpjZK2b2UzO7ovilTrz6ygy3LJrGjzbuZWBQJzSJSHSNGe5mlgZWAncAi4EVZrZ4WLeNQJu7vxt4CvhSsQu9XP7ddS10nTjD8x0Hwy5FRGTcChm5Xw90uPtOd+8DVgHLcju4+7PuPnSn6XXArOKWefl86B3TqCkv4akXO8MuRURk3AoJ9xZgT852Z9A2ks8Az1xKUWEqL03zG0ta+MmmAxw6eSbsckRExqWQcLc8bXknpM3sE0Ab8OURnr/XzNrNrL27e/Le/egTS6+gb2CQJ9s1eheRaCok3DuB2Tnbs4B9wzuZ2a3AF4C73D3vkNfdH3X3Nndva2pqGk+9l8WC5mqWzqvn8fW79MaqiERSIeG+AVhgZnPNLAMsB1bndjCzJcA3yAZ7LC6M/h+WttJ55DQ/13XeRSSCxgx3d+8H7gPWAluBJ919s5k9YmZ3Bd2+DFQBPzCzX5rZ6hFeLjJuu6qZadVlPPb8m2GXIiJy0UoK6eTua4A1w9oeynl8a5HrCl1pOsWn3zeXP3tmG692HuPqWVPDLklEpGA6Q3UUv33DHKrLS/jr5zrCLkVE5KIo3EdRXV7KJ2+8gp9sPkBH18mwyxERKZjCfQz33DyXTDql0buIRIrCfQyNVWXcfVMr/7BxL9sP6EYeIhINCvcC/P4t86kqK+HLa7eFXYqISEEU7gWorcjwHz8wn/+7tYsNbx4OuxwRkTEp3Av06Zvn0lxTxp/+n806a1VEJj2Fe4GmZNL88a8sZtPe43x33a6wyxERGZXC/SL86rtn8L4rG/nztdvpOt4bdjkiIiNSuF8EM+ORZVdxpn+Qh1dvxl3TMyIyOSncL9K8piru/8gCntl0gB++pHutisjkpHAfh999/3yub63n4dWb2XO4Z+wvEBG5zBTu45BOGX/xm9cA8LlVGznTPxByRSIi51O4j9Ps+gq+/LF3s3H3UR7+sebfRWRyUbhfgjuunsEffHA+qzbs4bvrd4ddjojIOQVdz11G9vmPLGLr/hM8/ONNTKsu46NXTQ+7JBERjdwvVTplfPW3lnDN7Fr+8ImN/OuOg2GXJCKicC+GikwJj33qvbQ2VPDZv23n+Q4FvIiES+FeJLUVGb772RuYXVfBPY9t4J82Hwi7JBFJMIV7EU2rLuf7v7uUxTNr+L3HX+Jbv3hDq2hEJBQK9yKrrcjw+Gdv4MPvmMYjT2/hv/zgFXrPah28iFxeCvcJUFlWwtc/8R7uv3UBf/9SJ8u++jyb9x0LuywRSRCF+wRJpYz7b13IY/e8l8M9ffz6yuf5Xz99XWezishloXCfYB9cNI1/uv/93HbVdP7in1/jo3/5L/xs21thlyUiMadwvwzqKjOs/K3r+PY97yWVMj797XZWPLqOF3YcCrs0EYkpC2s1R1tbm7e3t4fyvcPU1z/Id9ft4ms/30H3iTNc31rPPTe3cuviZkrT+r9WREZnZi+6e9uY/RTu4eg9O8Cqf9vN//5/b7D36GmmVZfx8ffOZtm1M7lyWnXY5YnIJKVwj4iBQefZbV08vn4Xz73WjTssaq7mzqtn8KF3TOOqmTWkUhZ2mSIySSjcI+it47088+p+/vHV/bTvOoI71FWUctP8Rm6c38C1s2tZNL1a0zciCaZwj7iuE738a8chftFxkF+8fpADwQ25MyUprppZw9UtU7lyWhXzm7IfzTVlmGmELxJ3CvcYcXf2HD7Ny51HeaXzKC/vOcaW/cc5eab/XJ+qshJm1U1hZu0UZtaWM2Nq9nNzdTl1lRnqKzPUVpRSVpIOcU9E5FIVGu4FXc/dzG4H/ieQBr7p7n827Pky4O+A9wCHgI+7+5sXW7TkZ2bMaahgTkMFv3bNTCAb+F0nzrCj6yQd3SfZ0XWSziOn2Xesl5d2H+Foz9m8r1VVVkJdZSl1FRkqMyVUlpVQWZbOfs4MfS6hoixNWUma0rRRVpIiU5Iik85uZ4LtspIUpensRzplpMxIp4y0GakU59qG2lOG/roQuUzGDHczSwMrgY8AncAGM1vt7ltyun0GOOLuV5rZcuCLwMcnomDJMjOaa8pprinnpisbL3i+p6+f/cd6eet4L0d7znL4VB9HTvVxpOcsR3r6OHyqj1Nn+tl79DQ9ff2cOtPPqTMDnJ7g6+CkjAv+I7Ag9Idy34L9G/pvINtu5x7ntlvedsv5utH7Tbr/aiZZQZOsnEk3OBhvNZ/78IJzA7WJUsjI/Xqgw913ApjZKmAZkBvuy4A/CR4/BXzVzMx1ScTQVGRKzs3HX4yBQaenr5+evgH6+gc50z/I2YFB+voH6Rv6PKz97MAgA+4MDjoDg86Ak33s2W13Z2CQt/uc19dx59zVMx2y2wTbDkO/RNkuOe3BE47nPD7/6znv6/2815psv5yT7Z/L5KqGSVeQX0JBU6eUFrGS/AoJ9xZgT852J3DDSH3cvd/MjgENgO5aETHplFFdXkp1+cT/8onIxClkTV2+vzyG/5dVSB/M7F4zazez9u7u7kLqExGRcSgk3DuB2Tnbs4B9I/UxsxJgKnB4+Au5+6Pu3ububU1NTeOrWERExlRIuG8AFpjZXDPLAMuB1cP6rAbuDh5/DPiZ5ttFRMIz5px7MId+H7CW7FLIb7n7ZjN7BGh399XA3wDfMbMOsiP25RNZtIiIjK6gde7uvgZYM6ztoZzHvcC/L25pIiIyXrpIiYhIDCncRURiSOEuIhJDoV04zMy6gV3j/PJGkneClPY5GbTPyXAp+3yFu4+5ljy0cL8UZtZeyFXR4kT7nAza52S4HPusaRkRkRhSuIuIxFBUw/3RsAsIgfY5GbTPyTDh+xzJOXcRERldVEfuIiIyisiFu5ndbmbbzazDzB4Iu57xMrPZZvasmW01s81m9p+C9noz+2czez34XBe0m5l9JdjvV8zsupzXujvo/7qZ3T3S95wszCxtZhvN7Olge66ZrQ/q/35wgTrMrCzY7gieb815jQeD9u1m9tFw9qQwZlZrZk+Z2bbgeN8Y9+NsZv85+L3eZGZPmFl53I6zmX3LzLrMbFNOW9GOq5m9x8xeDb7mK2YXeRsqd4/MB9kLl+0A5gEZ4GVgcdh1jXNfZgDXBY+rgdeAxcCXgAeC9geALwaP7wSeIXvt/KXA+qC9HtgZfK4LHteFvX9j7Pvnge8BTwfbTwLLg8dfB34vePz7wNeDx8uB7wePFwfHvgyYG/xOpMPer1H292+BzwaPM0BtnI8z2Zv3vAFMyTm+n4rbcQbeD1wHbMppK9pxBf4NuDH4mmeAOy6qvrB/QBf5w7wRWJuz/SDwYNh1FWnffkz2PrXbgRlB2wxge/D4G8CKnP7bg+dXAN/IaT+v32T7IHs/gJ8CHwKeDn5xDwIlw48x2SuR3hg8Lgn62fDjnttvsn0ANUHQ2bD22B5n3r4zW31w3J4GPhrH4wy0Dgv3ohzX4LltOe3n9SvkI2rTMvlu+dcSUi1FE/wZugRYDzS7+36A4PO0oNtI+x61n8lfAf8NGAy2G4Cj7t4fbOfWf97tG4Gh2zdGaZ/nAd3AY8FU1DfNrJIYH2d33wv8ObAb2E/2uL1IvI/zkGId15bg8fD2gkUt3Au6nV+UmFkV8PfA/e5+fLSuedp8lPZJx8x+Fehy9xdzm/N09TGei8w+kx2JXgd8zd2XAKfI/rk+ksjvczDPvIzsVMpMoBK4I0/XOB3nsVzsPl7yvkct3Au55V9kmFkp2WB/3N1/GDS/ZWYzgudnAF1B+0j7HqWfyc3AXWb2JrCK7NTMXwG1lr09I5xf/0i3b4zSPncCne6+Pth+imzYx/k43wq84e7d7n4W+CFwE/E+zkOKdVw7g8fD2wsWtXAv5JZ/kRC88/03wFZ3/x85T+XesvBusnPxQ+2fDN51XwocC/7sWwvcZmZ1wYjptqBt0nH3B919lru3kj12P3P33waeJXt7Rrhwn/PdvnE1sDxYZTEXWED2zadJx90PAHvMbFHQ9GFgCzE+zmSnY5aaWUXwez60z7E9zjmKclyD506Y2dLgZ/jJnNcqTNhvSIzjDYw7ya4s2QF8Iex6LmE/3kf2z6xXgF8GH3eSnWv8KfB68Lk+6G/AymC/XwXacl7r00BH8HFP2PtW4P7fwturZeaR/UfbAfwAKAvay4PtjuD5eTlf/4XgZ7Gdi1xFEMK+Xgu0B8f6R2RXRcT6OAN/CmwDNgHfIbviJVbHGXiC7HsKZ8mOtD9TzOMKtAU/vx3AVxn2pvxYHzpDVUQkhqI2LSMiIgVQuIuIxJDCXUQkhhTuIiIxpHAXEYkhhbuISAwp3EVEYkjhLiISQ/8fSrxxVFxHn1MAAAAASUVORK5CYII=\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], @@ -163,18 +195,18 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "class DQN(nn.Module):\n", - " def __init__(self, num_inputs, num_actions):\n", + " def __init__(self, num_inputs, num_actions, num_hiddenNodes1):\n", " super(DQN, self).__init__()\n", " \n", " self.layers = nn.Sequential(\n", - " nn.Linear(env.observation_space.shape[0], 128),\n", + " nn.Linear(env.observation_space.shape[0], num_hiddenNodes1),\n", " nn.ReLU(),\n", - " nn.Linear(128, 128),\n", + " nn.Linear(num_hiddenNodes1, 128),\n", " nn.ReLU(),\n", " nn.Linear(128, env.action_space.n)\n", " )\n", @@ -182,11 +214,12 @@ " def forward(self, x):\n", " return self.layers(x)\n", " \n", + " \n", " def act(self, state, epsilon):\n", " if random.random() > epsilon:\n", - " state = Variable(torch.FloatTensor(state).unsqueeze(0), volatile=True)\n", - " q_value = self.forward(state)\n", - " action = q_value.max(1)[1].data[0]\n", + " state = torch.tensor(state,dtype=torch.float32,device=device).unsqueeze(0)\n", + " q_value = self.forward(state).detach()\n", + " action = q_value.max(1)[1].item()\n", " else:\n", " action = random.randrange(env.action_space.n)\n", " return action" @@ -194,20 +227,65 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ - "model = DQN(env.observation_space.shape[0], env.action_space.n)\n", - "\n", - "if USE_CUDA:\n", - " model = model.cuda()\n", - " \n", + "def save_variables(model_file):\n", + " torch.save(model.state_dict(), model_file)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "def load_variables(load_path):\n", + " model.load_state_dict(torch.load(PATH))\n", + " model.eval() # to set dropout and batch normalization layers to evaluation mode before running inference" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "model = DQN(env.observation_space.shape[0], env.action_space.n, 128).to(device)\n", + "target_model = DQN(env.observation_space.shape[0], env.action_space.n, 128).to(device)\n", + " \n", "optimizer = optim.Adam(model.parameters())\n", "\n", "replay_buffer = ReplayBuffer(1000)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "

Synchronize current policy net and target net

" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "def update_target(current_model, target_model):\n", + " target_model.load_state_dict(current_model.state_dict())" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "update_target(model, target_model)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -217,28 +295,29 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "def compute_td_loss(batch_size):\n", " state, action, reward, next_state, done = replay_buffer.sample(batch_size)\n", - "\n", - " state = Variable(torch.FloatTensor(np.float32(state)))\n", - " next_state = Variable(torch.FloatTensor(np.float32(next_state)), volatile=True)\n", - " action = Variable(torch.LongTensor(action))\n", - " reward = Variable(torch.FloatTensor(reward))\n", - " done = Variable(torch.FloatTensor(done))\n", - "\n", - " q_values = model(state)\n", - " next_q_values = model(next_state)\n", - "\n", - " q_value = q_values.gather(1, action.unsqueeze(1)).squeeze(1)\n", + " \n", + " states = torch.tensor(state,dtype=torch.float32,device=device)\n", + " next_states = torch.tensor(next_state,dtype=torch.float32,device=device)\n", + " actions = torch.tensor(action,dtype=torch.long, device=device)\n", + " rewards = torch.tensor(reward,dtype=torch.float32,device=device) \n", + " dones = torch.tensor(done,dtype=torch.float32,device=device)\n", + " \n", + " q_values = model(states)\n", + " next_q_values = target_model(next_states).detach()\n", + " \n", + " q_value = q_values.gather(1, actions.unsqueeze(1)).squeeze(1)\n", " next_q_value = next_q_values.max(1)[0]\n", - " expected_q_value = reward + gamma * next_q_value * (1 - done)\n", + " expected_q_value = rewards + gamma * next_q_value * (1 - dones)\n", + " \n", + " #loss = (q_value - expected_q_value).pow(2).mean().unsqueeze(0)\n", + " loss = F.smooth_l1_loss(q_value, expected_q_value) # Huber loss\n", " \n", - " loss = (q_value - Variable(expected_q_value.data)).pow(2).mean()\n", - " \n", " optimizer.zero_grad()\n", " loss.backward()\n", " optimizer.step()\n", @@ -248,7 +327,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 33, "metadata": {}, "outputs": [], "source": [ @@ -273,18 +352,29 @@ }, { "cell_type": "code", - "execution_count": 21, - "metadata": {}, + "execution_count": 34, + "metadata": { + "scrolled": true + }, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saving model due to mean reward increase: 189.8 -> 190.3\n" + ] } ], "source": [ @@ -295,6 +385,14 @@ "losses = []\n", "all_rewards = []\n", "episode_reward = 0\n", + "num_episodes = 0\n", + "saved_mean_reward = None\n", + "\n", + "target_network_update_freq = 100\n", + "train_freq = 1\n", + "checkpoint_freq = 1000\n", + "\n", + "model_file = os.path.join(os.getcwd(), env_id[:10]+\"model_test\")\n", "\n", "state = env.reset()\n", "for frame_idx in range(1, num_frames + 1):\n", @@ -312,19 +410,25 @@ " all_rewards.append(episode_reward)\n", " episode_reward = 0\n", " \n", - " if len(replay_buffer) > batch_size:\n", + " mean_10ep_reward = round(np.mean(all_rewards[-11:-1]), 1)\n", + " num_episodes = len(all_rewards)\n", + " \n", + " if len(replay_buffer) > batch_size and frame_idx % train_freq == 0:\n", " loss = compute_td_loss(batch_size)\n", " losses.append(loss.data[0])\n", " \n", + " if frame_idx % target_network_update_freq == 0:\n", + " update_target(model, target_model)\n", + " \n", " if frame_idx % 200 == 0:\n", - " plot(frame_idx, all_rewards, losses)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "


" + " plot(frame_idx, all_rewards, losses)\n", + " \n", + " if (frame_idx > batch_size and num_episodes > 10 and frame_idx % checkpoint_freq == 0):\n", + " if saved_mean_reward is None or mean_10ep_reward > saved_mean_reward:\n", + " logger.log(\"Saving model due to mean reward increase: {} -> {}\".format(\n", + " saved_mean_reward, mean_10ep_reward))\n", + " save_variables(model_file)\n", + " saved_mean_reward = mean_10ep_reward" ] }, { @@ -336,28 +440,38 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 17, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Logging to /tmp/RL_Adventure-2019-02-07-23-16-41-829728\n" + ] + } + ], "source": [ - "from common.wrappers import make_atari, wrap_deepmind, wrap_pytorch" + "from common.wrappers import make_atari, wrap_deepmind, wrap_pytorch\n", + "logger.configure()" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "env_id = \"PongNoFrameskip-v4\"\n", "env = make_atari(env_id)\n", - "env = wrap_deepmind(env)\n", + "env = monitor.Monitor(env, logger.get_dir())\n", + "env = wrap_deepmind(env, frame_stack = True)\n", "env = wrap_pytorch(env)" ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -390,13 +504,13 @@ " return x\n", " \n", " def feature_size(self):\n", - " return self.features(autograd.Variable(torch.zeros(1, *self.input_shape))).view(1, -1).size(1)\n", + " return self.features(torch.zeros(1, *self.input_shape)).view(1, -1).size(1)\n", " \n", " def act(self, state, epsilon):\n", " if random.random() > epsilon:\n", - " state = Variable(torch.FloatTensor(np.float32(state)).unsqueeze(0), volatile=True)\n", - " q_value = self.forward(state)\n", - " action = q_value.max(1)[1].data[0]\n", + " state_ = torch.tensor(state,dtype=torch.float32,device=device).unsqueeze(0)\n", + " q_value = self.forward(state_).detach()\n", + " action = q_value.max(1)[1].item()\n", " else:\n", " action = random.randrange(env.action_space.n)\n", " return action" @@ -404,57 +518,70 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 20, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "cuda\n" + ] + } + ], "source": [ - "model = CnnDQN(env.observation_space.shape, env.action_space.n)\n", - "\n", - "if USE_CUDA:\n", - " model = model.cuda()\n", + "model = CnnDQN(env.observation_space.shape, env.action_space.n).to(device)\n", + "target_model = CnnDQN(env.observation_space.shape, env.action_space.n).to(device)\n", + "update_target(model, target_model)\n", + "print(device)\n", " \n", - "optimizer = optim.Adam(model.parameters(), lr=0.00001)\n", + "optimizer = optim.Adam(model.parameters(), lr=0.000025)\n", "\n", - "replay_initial = 10000\n", - "replay_buffer = ReplayBuffer(100000)" + "replay_initial = 50000\n", + "replay_buffer = ReplayBuffer(1000000)" ] }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "epsilon_start = 1.0\n", "epsilon_final = 0.01\n", "epsilon_decay = 30000\n", + "final_explr = int(2e5)\n", "\n", - "epsilon_by_frame = lambda frame_idx: epsilon_final + (epsilon_start - epsilon_final) * math.exp(-1. * frame_idx / epsilon_decay)" + "epsilon_by_frame = lambda frame_idx: max(epsilon_start - (epsilon_start - epsilon_final) * (frame_idx / final_explr), epsilon_final)\n", + "\n", + "#epsilon_by_frame = lambda frame_idx: epsilon_final + (epsilon_start - epsilon_final) * math.exp(-1. * frame_idx / epsilon_decay)" ] }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[]" + "[]" ] }, - "execution_count": 27, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\nKOxFRDLg/wF0AksxrTlRXQAAAABJRU5ErkJggg==\n", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], @@ -464,18 +591,27 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 23, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saving model due to mean reward increase: -2.7 -> -2.4\n" + ] } ], "source": [ @@ -486,6 +622,16 @@ "losses = []\n", "all_rewards = []\n", "episode_reward = 0\n", + "num_episodes = 0\n", + "saved_mean_reward = None\n", + "\n", + "target_network_update_freq = 10000\n", + "train_freq = 4\n", + "print_freq = 100 # no. of episodes\n", + "checkpoint_freq = 10000\n", + "plot_freq = 10000\n", + "\n", + "model_file = os.path.join(os.getcwd(), env_id[:10]+\"model_test\") # Save weights of NN in current directory as the file \"model\"\n", "\n", "state = env.reset()\n", "for frame_idx in range(1, num_frames + 1):\n", @@ -503,39 +649,52 @@ " all_rewards.append(episode_reward)\n", " episode_reward = 0\n", " \n", - " if len(replay_buffer) > replay_initial:\n", + " mean_100ep_reward = round(np.mean(all_rewards[-101:-1]), 1)\n", + " num_episodes = len(all_rewards)\n", + "\n", + " if len(all_rewards) % print_freq == 0:\n", + " logger.record_tabular(\"steps\", frame_idx)\n", + " logger.record_tabular(\"episodes\", len(all_rewards))\n", + " logger.record_tabular(\"mean 100 episode reward\", mean_100ep_reward)\n", + " logger.record_tabular(\"% time spent exploring\", epsilon)\n", + " logger.dump_tabular() \n", + " \n", + " if len(replay_buffer) > replay_initial and frame_idx % train_freq == 0:\n", " loss = compute_td_loss(batch_size)\n", - " losses.append(loss.data[0])\n", + " losses.append(loss.item())\n", + " \n", + " if frame_idx % target_network_update_freq == 0:\n", + " update_target(model, target_model) \n", " \n", - " if frame_idx % 10000 == 0:\n", - " plot(frame_idx, all_rewards, losses)" + " if frame_idx % plot_freq == 0:\n", + " plot(frame_idx, all_rewards, losses)\n", + " \n", + " if (frame_idx > batch_size and num_episodes > 10 and frame_idx % checkpoint_freq == 0):\n", + " if saved_mean_reward is None or mean_100ep_reward > saved_mean_reward:\n", + " logger.log(\"Saving model due to mean reward increase: {} -> {}\".format(\n", + " saved_mean_reward, mean_100ep_reward))\n", + " save_variables(model_file)\n", + " saved_mean_reward = mean_100ep_reward" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 2", + "display_name": "Python 3", "language": "python", - "name": "python2" + "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", - "version": 2 + "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.13" + "pygments_lexer": "ipython3", + "version": "3.7.2" } }, "nbformat": 4, diff --git a/common/monitor.py b/common/monitor.py new file mode 100644 index 0000000..0db473a --- /dev/null +++ b/common/monitor.py @@ -0,0 +1,189 @@ +__all__ = ['Monitor', 'get_monitor_files', 'load_results'] + +import gym +from gym.core import Wrapper +import time +from glob import glob +import csv +import os.path as osp +import json +import numpy as np + +class Monitor(Wrapper): + EXT = "monitor.csv" + f = None + + def __init__(self, env, filename, allow_early_resets=False, reset_keywords=(), info_keywords=()): + Wrapper.__init__(self, env=env) + self.tstart = time.time() + self.results_writer = ResultsWriter( + filename, + header={"t_start": time.time(), 'env_id' : env.spec and env.spec.id}, + extra_keys=reset_keywords + info_keywords + ) + self.reset_keywords = reset_keywords + self.info_keywords = info_keywords + self.allow_early_resets = allow_early_resets + self.rewards = None + self.needs_reset = True + self.episode_rewards = [] + self.episode_lengths = [] + self.episode_times = [] + self.total_steps = 0 + self.current_reset_info = {} # extra info about the current episode, that was passed in during reset() + + def reset(self, **kwargs): + self.reset_state() + for k in self.reset_keywords: + v = kwargs.get(k) + if v is None: + raise ValueError('Expected you to pass kwarg %s into reset'%k) + self.current_reset_info[k] = v + return self.env.reset(**kwargs) + + def reset_state(self): + if not self.allow_early_resets and not self.needs_reset: + raise RuntimeError("Tried to reset an environment before done. If you want to allow early resets, wrap your env with Monitor(env, path, allow_early_resets=True)") + self.rewards = [] + self.needs_reset = False + + + def step(self, action): + if self.needs_reset: + raise RuntimeError("Tried to step environment that needs reset") + ob, rew, done, info = self.env.step(action) + self.update(ob, rew, done, info) + return (ob, rew, done, info) + + def update(self, ob, rew, done, info): + self.rewards.append(rew) + if done: + self.needs_reset = True + eprew = sum(self.rewards) + eplen = len(self.rewards) + epinfo = {"r": round(eprew, 6), "l": eplen, "t": round(time.time() - self.tstart, 6)} + for k in self.info_keywords: + epinfo[k] = info[k] + self.episode_rewards.append(eprew) + self.episode_lengths.append(eplen) + self.episode_times.append(time.time() - self.tstart) + epinfo.update(self.current_reset_info) + self.results_writer.write_row(epinfo) + + if isinstance(info, dict): + info['episode'] = epinfo + + self.total_steps += 1 + + def close(self): + if self.f is not None: + self.f.close() + + def get_total_steps(self): + return self.total_steps + + def get_episode_rewards(self): + return self.episode_rewards + + def get_episode_lengths(self): + return self.episode_lengths + + def get_episode_times(self): + return self.episode_times + +class LoadMonitorResultsError(Exception): + pass + + +class ResultsWriter(object): + def __init__(self, filename=None, header='', extra_keys=()): + self.extra_keys = extra_keys + if filename is None: + self.f = None + self.logger = None + else: + if not filename.endswith(Monitor.EXT): + if osp.isdir(filename): + filename = osp.join(filename, Monitor.EXT) + else: + filename = filename + "." + Monitor.EXT + self.f = open(filename, "wt") + if isinstance(header, dict): + header = '# {} \n'.format(json.dumps(header)) + self.f.write(header) + self.logger = csv.DictWriter(self.f, fieldnames=('r', 'l', 't')+tuple(extra_keys)) + self.logger.writeheader() + self.f.flush() + + def write_row(self, epinfo): + if self.logger: + self.logger.writerow(epinfo) + self.f.flush() + + + +def get_monitor_files(dir): + return glob(osp.join(dir, "*" + Monitor.EXT)) + +def load_results(dir): + import pandas + monitor_files = ( + glob(osp.join(dir, "*monitor.json")) + + glob(osp.join(dir, "*monitor.csv"))) # get both csv and (old) json files + if not monitor_files: + raise LoadMonitorResultsError("no monitor files of the form *%s found in %s" % (Monitor.EXT, dir)) + dfs = [] + headers = [] + for fname in monitor_files: + with open(fname, 'rt') as fh: + if fname.endswith('csv'): + firstline = fh.readline() + if not firstline: + continue + assert firstline[0] == '#' + header = json.loads(firstline[1:]) + df = pandas.read_csv(fh, index_col=None) + headers.append(header) + elif fname.endswith('json'): # Deprecated json format + episodes = [] + lines = fh.readlines() + header = json.loads(lines[0]) + headers.append(header) + for line in lines[1:]: + episode = json.loads(line) + episodes.append(episode) + df = pandas.DataFrame(episodes) + else: + assert 0, 'unreachable' + df['t'] += header['t_start'] + dfs.append(df) + df = pandas.concat(dfs) + df.sort_values('t', inplace=True) + df.reset_index(inplace=True) + df['t'] -= min(header['t_start'] for header in headers) + df.headers = headers # HACK to preserve backwards compatibility + return df + +def test_monitor(): + env = gym.make("CartPole-v1") + env.seed(0) + mon_file = "/tmp/baselines-test-%s.monitor.csv" % uuid.uuid4() + menv = Monitor(env, mon_file) + menv.reset() + for _ in range(1000): + _, _, done, _ = menv.step(0) + if done: + menv.reset() + + f = open(mon_file, 'rt') + + firstline = f.readline() + assert firstline.startswith('#') + metadata = json.loads(firstline[1:]) + assert metadata['env_id'] == "CartPole-v1" + assert set(metadata.keys()) == {'env_id', 'gym_version', 't_start'}, "Incorrect keys in monitor metadata" + + last_logline = pandas.read_csv(f, index_col=None) + assert set(last_logline.keys()) == {'l', 't', 'r'}, "Incorrect keys in monitor logline" + f.close() + os.remove(mon_file) diff --git a/common/wrappers.py b/common/wrappers.py index b961b2d..c40db9a 100644 --- a/common/wrappers.py +++ b/common/wrappers.py @@ -98,9 +98,6 @@ def __init__(self, env, skip=4): self._obs_buffer = np.zeros((2,)+env.observation_space.shape, dtype=np.uint8) self._skip = skip - def reset(self): - return self.env.reset() - def step(self, action): """Repeat action, sum reward, and max over last observations.""" total_reward = 0.0 @@ -126,7 +123,8 @@ def __init__(self, env): gym.RewardWrapper.__init__(self, env) def reward(self, reward): - """Bin reward to {+1, 0, -1} by its sign.""" + """Bin reward to {+1, 0, -1} by its sign. + The np.sign function returns -1 if x < 0, 0 if x==0, 1 if x > 0. """ return np.sign(reward) class WarpFrame(gym.ObservationWrapper): @@ -146,17 +144,19 @@ def observation(self, frame): class FrameStack(gym.Wrapper): def __init__(self, env, k): """Stack k last frames. + Returns lazy array, which is much more memory efficient. + See Also -------- baselines.common.atari_wrappers.LazyFrames """ gym.Wrapper.__init__(self, env) - self.k = k + self.k = k # Stack k=4 frames, as defined in wrap_deepmind() self.frames = deque([], maxlen=k) shp = env.observation_space.shape - self.observation_space = spaces.Box(low=0, high=255, shape=(shp[0], shp[1], shp[2] * k), dtype=np.uint8) - + self.observation_space = spaces.Box(low=0, high=255, shape=(shp[0], shp[1], shp[2] * k), dtype=np.uint8) # shp = (210,160,12) + def reset(self): ob = self.env.reset() for _ in range(self.k): @@ -170,7 +170,7 @@ def step(self, action): def _get_ob(self): assert len(self.frames) == self.k - return LazyFrames(list(self.frames)) + return LazyFrames(list(self.frames)) # list(self.frames) is a list of numpy arrays each of size (84,84,1) class ScaledFloatFrame(gym.ObservationWrapper): def __init__(self, env): @@ -188,16 +188,17 @@ def __init__(self, frames): buffers. This object should only be converted to numpy array before being passed to the model. You'd not believe how complex the previous solution was.""" - self._frames = frames - self._out = None + self._frames = frames # Store input to line 176 as part of this instance of the class + self._out = None # self._frames is a list of len 4 with entries of np arrays of size (84,84,1) def _force(self): if self._out is None: - self._out = np.concatenate(self._frames, axis=2) + self._out = np.concatenate(self._frames, axis=2) # axis = -1 gives same result since each item in the list self._frames[].ndim=3 + self._out = np.swapaxes(self._out,2,0) self._frames = None return self._out - def __array__(self, dtype=None): + def __array__(self, dtype=None): # Overload the function np.array() out = self._force() if dtype is not None: out = out.astype(dtype) @@ -206,8 +207,9 @@ def __array__(self, dtype=None): def __len__(self): return len(self._force()) - def __getitem__(self, i): + def __getitem__(self, i): # See Lutz p. 890 return self._force()[i] + def make_atari(env_id): env = gym.make(env_id) @@ -222,12 +224,14 @@ def wrap_deepmind(env, episode_life=True, clip_rewards=True, frame_stack=False, if episode_life: env = EpisodicLifeEnv(env) if 'FIRE' in env.unwrapped.get_action_meanings(): + """Take action on reset for environments that are fixed until firing.""" env = FireResetEnv(env) env = WarpFrame(env) if scale: env = ScaledFloatFrame(env) if clip_rewards: env = ClipRewardEnv(env) +# env = ImageToPyTorch(env) if frame_stack: env = FrameStack(env, 4) return env @@ -241,11 +245,14 @@ class ImageToPyTorch(gym.ObservationWrapper): def __init__(self, env): super(ImageToPyTorch, self).__init__(env) old_shape = self.observation_space.shape - self.observation_space = gym.spaces.Box(low=0.0, high=1.0, shape=(old_shape[-1], old_shape[0], old_shape[1]), dtype=np.uint8) + self.observation_space = gym.spaces.Box(low=0.0, high=255, shape=(old_shape[-1], old_shape[0], old_shape[1]), dtype=np.uint8) +# self.observation_space = gym.spaces.Box(low=0.0, high=1.0, shape=(old_shape[-1], old_shape[0], old_shape[1]), dtype=np.uint8) def observation(self, observation): - return np.swapaxes(observation, 2, 0) + return observation +# return np.swapaxes(observation, 2, 0) # Converts LazyFrames Class object into numpy array, and swap axes of numpy array +# return np.array(observation) def wrap_pytorch(env): - return ImageToPyTorch(env) \ No newline at end of file + return ImageToPyTorch(env)