From 4f384c81f51c3740c2fea88aeb3fc50920182c54 Mon Sep 17 00:00:00 2001 From: Kyungwon Chun Date: Sun, 12 Nov 2023 22:44:06 +0900 Subject: [PATCH] Update Hill_Climbing.ipynb * Use gymnasium instead of gym * Reflect interface change of env.reset and env.step * Enable rendering in Jupyter Notebook * Use CartPole-v1 --- hill-climbing/Hill_Climbing.ipynb | 70 ++++++++++++++++++------------- 1 file changed, 41 insertions(+), 29 deletions(-) diff --git a/hill-climbing/Hill_Climbing.ipynb b/hill-climbing/Hill_Climbing.ipynb index 80019f106..3bac58a7a 100644 --- a/hill-climbing/Hill_Climbing.ipynb +++ b/hill-climbing/Hill_Climbing.ipynb @@ -20,13 +20,14 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ - "import gym\n", + "import gymnasium as gym\n", "import numpy as np\n", "from collections import deque\n", + "from IPython import display\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] @@ -40,21 +41,20 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\u001b[33mWARN: gym.spaces.Box autodetected dtype as . Please provide explicit dtype.\u001b[0m\n", - "observation space: Box(4,)\n", + "observation space: Box([-4.8000002e+00 -3.4028235e+38 -4.1887903e-01 -3.4028235e+38], [4.8000002e+00 3.4028235e+38 4.1887903e-01 3.4028235e+38], (4,), float32)\n", "action space: Discrete(2)\n" ] } ], "source": [ - "env = gym.make('CartPole-v0')\n", + "env = gym.make('CartPole-v1', render_mode=\"rgb_array\")\n", "print('observation space:', env.observation_space)\n", "print('action space:', env.action_space)\n", "\n", @@ -82,22 +82,20 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\u001b[33mWARN: gym.spaces.Box autodetected dtype as . Please provide explicit dtype.\u001b[0m\n", - "Episode 100\tAverage Score: 175.24\n", - "Environment solved in 13 episodes!\tAverage Score: 196.21\n" + "Environment solved in -74 episodes!\tAverage Score: 207.85\n" ] } ], "source": [ - "env = gym.make('CartPole-v0')\n", - "env.seed(0)\n", + "env = gym.make('CartPole-v1', render_mode=\"rgb_array\")\n", + "env.reset(seed=0)\n", "np.random.seed(0)\n", "\n", "policy = Policy()\n", @@ -119,10 +117,10 @@ " best_w = policy.w\n", " for i_episode in range(1, n_episodes+1):\n", " rewards = []\n", - " state = env.reset()\n", + " state, _ = env.reset()\n", " for t in range(max_t):\n", " action = policy.act(state)\n", - " state, reward, done, _ = env.step(action)\n", + " state, reward, done, _, _ = env.step(action)\n", " rewards.append(reward)\n", " if done:\n", " break \n", @@ -162,14 +160,14 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAGwCAYAAABIC3rIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABh2klEQVR4nO3deXhU5dk/8O/smayTfZEQwiI7qCwhgKISWVwqyttKi4rKT1xAq7T1lbagoi1KrbUoQrVWtOJG30orKoggIBAQoyACsmNQyEZIJuus5/fHzDmTQIBkcmbOOTPfz3XlksyczDyZRObmfu7nvnWCIAggIiIiimJ6pRdAREREpDQGRERERBT1GBARERFR1GNARERERFGPARERERFFPQZEREREFPUYEBEREVHUMyq9AC3wer04ceIEEhISoNPplF4OERERtYMgCKirq0NOTg70+vPngBgQtcOJEyeQm5ur9DKIiIgoCMePH0eXLl3Oew0DonZISEgA4HtBExMTFV4NERERtYfdbkdubq70Pn4+DIjaQdwmS0xMZEBERESkMe0pd2FRNREREUU9BkREREQU9RgQERERUdRjQERERERRjwERERERRT0GRERERBT1GBARERFR1GNARERERFGPARERERFFPQZEREREFPUUDYg2bdqEG264ATk5OdDpdFi5cmWr+wVBwLx585CdnQ2r1YqioiIcPHiw1TXV1dWYOnUqEhMTYbPZMH36dNTX17e65ptvvsHll1+OmJgY5ObmYuHChaH+1oiIiEhDFA2IGhoaMHjwYCxevLjN+xcuXIhFixZh6dKl2L59O+Li4jB+/Hg0NzdL10ydOhV79uzB2rVrsWrVKmzatAkzZsyQ7rfb7Rg3bhzy8vJQUlKCP/3pT3j88cfx8ssvh/z7IyIiIm3QCYIgKL0IwDd47f3338ekSZMA+LJDOTk5+NWvfoVf//rXAIDa2lpkZmZi2bJlmDJlCvbt24d+/fphx44dGDp0KABg9erVuPbaa/HDDz8gJycHS5Yswe9+9zuUlZXBbDYDAB599FGsXLkS3333XbvWZrfbkZSUhNraWg53JSLSgNomF+qaXZ1+HJNBj8zEGBlWROfidHvxY00TEmOMSI23yPrYHXn/Vu20+6NHj6KsrAxFRUXSbUlJSSgoKEBxcTGmTJmC4uJi2Gw2KRgCgKKiIuj1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27ZtU3pJEeeWW24RsrOzBbPZLFx00UXCLbfcIhw6dEjpZWneZ599JgA462PatGmCIPiO3s+dO1fIzMwULBaLMHbsWGH//v3KLlqDzvc6NzY2CuPGjRPS09MFk8kk5OXlCXfffbdQVlam9LI1p63XGIDw2muvSdc0NTUJ999/v5CcnCzExsYKN910k3Dy5EnlFq1BF3qdS0tLhSuuuEJISUkRLBaL0LNnT+E3v/mNUFtbq+zCO0gnCIIQzgCMiIiISG1YQ0RERERRjwERERERRT0GRERERBT1GBARERFR1GNARERERFGPARERERFFPQZEREREFPUYEBEREVHUY0BERJp27Ngx6HQ6aXZSKNxxxx0cX0IU4RgQEZFi7rjjDuh0urM+JkyY0O7HyM3NxcmTJzFgwIAQrlReO3bsQE5ODgDgxIkTsFqtcDqdCq+KKLpxuCsRKWrChAl47bXXWt1msVja/fUGgwFZWVlyLyukiouLMWrUKADA559/jqFDh8JsNiu8KqLoxgwRESnKYrEgKyur1UdycrJ0v06nw5IlSzBx4kRYrVZ0794d//rXv6T7z9wyO336NKZOnYr09HRYrVb06tWrVcC1e/duXH311bBarUhNTcWMGTNQX18v3e/xeDB79mzYbDakpqbikUcewZkjH71eLxYsWID8/HxYrVYMHjy41ZouZOvWrVJAtHnzZunPRKQcBkREpHpz587F5MmTsWvXLkydOhVTpkzBvn37znnt3r178fHHH2Pfvn1YsmQJ0tLSAAANDQ0YP348kpOTsWPHDqxYsQKffvopZs2aJX39n//8Zyxbtgz/+Mc/sHnzZlRXV+P9999v9RwLFizAG2+8gaVLl2LPnj14+OGHceutt2Ljxo3n/B42b94Mm80Gm82Gf/3rX/jd734Hm82GpUuXYtGiRbDZbHj66adleLWIKCgCEZFCpk2bJhgMBiEuLq7Vxx/+8AfpGgDCvffe2+rrCgoKhPvuu08QBEE4evSoAED4+uuvBUEQhBtuuEG4884723y+l19+WUhOThbq6+ul2z788ENBr9cLZWVlgiAIQnZ2trBw4ULpfpfLJXTp0kW48cYbBUEQhObmZiE2NlbYunVrq8eePn268POf//yc32tTU5Nw9OhR4eOPPxaSk5OFI0eOCF9++aVgNpuFffv2CUePHhVOnz59/heMiEKGNUREpKirrroKS5YsaXVbSkpKq88LCwvP+vxcp8ruu+8+TJ48GV999RXGjRuHSZMmYeTIkQCAffv2YfDgwYiLi5OuHzVqFLxeL/bv34+YmBicPHkSBQUF0v1GoxFDhw6Vts0OHTqExsZGXHPNNa2e1+l04tJLLz3n9xkTE4Nu3brhvffew8SJE5Gfn4+tW7fi8ssvR58+fc75dUQUHgyIiEhRcXFx6Nmzp2yPN3HiRHz//ff46KOPsHbtWowdOxYzZ87Es88+K8vji/VGH374IS666KJW952vGDw+Ph4A4HA4oNfr8Z///AdOpxOCICA+Ph6XX345Pv74Y1nWSEQdxxoiIlK9bdu2nfV53759z3l9eno6pk2bhjfffBPPP/88Xn75ZQBA3759sWvXLjQ0NEjXbtmyBXq9Hr1790ZSUhKys7Oxfft26X63242SkhLp8379+sFisaC0tBQ9e/Zs9ZGbm3vONe3cuRNffvklDAYD1q1bh507dyI1NRXvvfcedu7cib///e8dfl2ISD7MEBGRohwOB8rKylrdZjQapUJoAFixYgWGDh2K0aNHY/ny5fjiiy/w6quvtvl48+bNw5AhQ9C/f384HA6sWrVKCp6mTp2Kxx57DNOmTcPjjz+OyspKPPDAA7jtttuQmZkJAPjlL3+Jp59+Gr169UKfPn3w3HPPoaamRnr8hIQE/PrXv8bDDz8Mr9eL0aNHo7a2Flu2bEFiYiKmTZvW5rp69uyJbdu2ITMzE6NHj0ZpaSnq6upwww03wGjkX8VESuP/hUSkqNWrVyM7O7vVbb1798Z3330nff7EE0/gnXfewf3334/s7Gy8/fbb6NevX5uPZzabMWfOHBw7dgxWqxWXX3453nnnHQBAbGws1qxZg1/+8pcYNmwYYmNjMXnyZDz33HPS1//qV7/CyZMnMW3aNOj1etx111246aabUFtbK13z5JNPIj09HQsWLMCRI0dgs9lw2WWX4be//e15v9cNGzbgiiuuAABs3LgRhYWFDIaIVEInCGc02CAiUhGdTof333+fozOIKKRYQ0RERERRjwERERERRT1uXhORqnFXn4jCgRkiIiIiinoMiIiIiCjqMSAiIiKiqMeAiIiIiKIeAyIiIiKKegyIiIiIKOoxICIiIqKox4CIiIiIot7/B4SRUBGBGHh0AAAAAElFTkSuQmCC", "text/plain": [ - "
" + "
" ] }, "metadata": {}, @@ -194,35 +192,49 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 13, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[33mWARN: gym.spaces.Box autodetected dtype as . Please provide explicit dtype.\u001b[0m\n" - ] + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAF7CAYAAAD4/3BBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsrUlEQVR4nO3df3DU9Z3H8ddukt0kJLsxhGQTSRARgcgPe4Bhz9baIyUgenLGGbGcYI+RkQtOFWsxPatib4zVm/NHT+GPuxNvRkprR/REwSJIqDWCUlJ+aSocNSjZBMllNwlk82M/94dlr6vIZkOy+93wfMx8Z7Lfz3u/+/5+JpiX3/3+sBljjAAAACzEnugGAAAAvoyAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALCehAeXZZ5/VJZdcovT0dJWVlWn37t2JbAcAAFhEwgLKL3/5S61cuVIPPfSQfv/732vatGmqqKhQS0tLoloCAAAWYUvUwwLLyso0c+ZM/du//ZskKRQKqbi4WHfddZfuv//+RLQEAAAsIjURH9rd3a09e/aouro6vM5ut6u8vFx1dXVfqQ8GgwoGg+HXoVBIra2tGjlypGw2W1x6BgAA58cYo/b2dhUVFcluP/eXOAkJKJ9//rn6+vpUUFAQsb6goEAfffTRV+pramq0evXqeLUHAACG0LFjxzR69Ohz1iQkoMSqurpaK1euDL/2+/0qKSnRsWPH5HK5EtgZAADor0AgoOLiYmVnZ0etTUhAycvLU0pKipqbmyPWNzc3y+PxfKXe6XTK6XR+Zb3L5SKgAACQZPpzekZCruJxOByaPn26tm3bFl4XCoW0bds2eb3eRLQEAAAsJGFf8axcuVJLlizRjBkzdNVVV+mpp55SZ2envv/97yeqJQAAYBEJCyi33HKLTpw4oQcffFA+n09XXnmltmzZ8pUTZwEAwIUnYfdBOR+BQEBut1t+v59zUAAASBKx/P3mWTwAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByCCgAAMByBj2gPPzww7LZbBHLxIkTw+NdXV2qqqrSyJEjlZWVpcrKSjU3Nw92GwAAIIkNyRGUK664Qk1NTeHlnXfeCY/dc889eu211/TSSy+ptrZWx48f10033TQUbQAAgCSVOiQbTU2Vx+P5ynq/36//+I//0Pr16/U3f/M3kqTnn39ekyZN0nvvvadZs2YNRTsAACDJDMkRlI8//lhFRUW69NJLtWjRIjU2NkqS9uzZo56eHpWXl4drJ06cqJKSEtXV1X3t9oLBoAKBQMQCAACGr0EPKGVlZVq3bp22bNmiNWvW6OjRo/rWt76l9vZ2+Xw+ORwO5eTkRLynoKBAPp/va7dZU1Mjt9sdXoqLiwe7bQAAYCGD/hXPvHnzwj9PnTpVZWVlGjNmjH71q18pIyNjQNusrq7WypUrw68DgQAhBQCAYWzILzPOycnR5ZdfrsOHD8vj8ai7u1ttbW0RNc3NzWc9Z+UMp9Mpl8sVsQAAgOFryANKR0eHjhw5osLCQk2fPl1paWnatm1beLyhoUGNjY3yer1D3QoAAEgSg/4Vzw9/+EPdcMMNGjNmjI4fP66HHnpIKSkpuvXWW+V2u7V06VKtXLlSubm5crlcuuuuu+T1ermCBwAAhA16QPn0009166236uTJkxo1apS++c1v6r333tOoUaMkSU8++aTsdrsqKysVDAZVUVGh5557brDbAAAAScxmjDGJbiJWgUBAbrdbfr+f81EAAEgSsfz95lk8AADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcmIOKDt37tQNN9ygoqIi2Ww2vfLKKxHjxhg9+OCDKiwsVEZGhsrLy/Xxxx9H1LS2tmrRokVyuVzKycnR0qVL1dHRcV47AgAAho+YA0pnZ6emTZumZ5999qzjjz/+uJ555hmtXbtWu3bt0ogRI1RRUaGurq5wzaJFi3Tw4EFt3bpVmzZt0s6dO7Vs2bKB7wUAABhWbMYYM+A322zauHGjFixYIOmLoydFRUW699579cMf/lCS5Pf7VVBQoHXr1mnhwoX68MMPVVpaqvfff18zZsyQJG3ZskXXXXedPv30UxUVFUX93EAgILfbLb/fL5fLNdD2AQBAHMXy93tQz0E5evSofD6fysvLw+vcbrfKyspUV1cnSaqrq1NOTk44nEhSeXm57Ha7du3addbtBoNBBQKBiAUAAAxfgxpQfD6fJKmgoCBifUFBQXjM5/MpPz8/Yjw1NVW5ubnhmi+rqamR2+0OL8XFxYPZNgAAsJikuIqnurpafr8/vBw7dizRLQEAgCE0qAHF4/FIkpqbmyPWNzc3h8c8Ho9aWloixnt7e9Xa2hqu+TKn0ymXyxWxAACA4WtQA8rYsWPl8Xi0bdu28LpAIKBdu3bJ6/VKkrxer9ra2rRnz55wzfbt2xUKhVRWVjaY7QAAgCSVGusbOjo6dPjw4fDro0ePqr6+Xrm5uSopKdHdd9+tf/7nf9b48eM1duxY/eQnP1FRUVH4Sp9JkyZp7ty5uuOOO7R27Vr19PRoxYoVWrhwYb+u4AEAAMNfzAHlgw8+0He+853w65UrV0qSlixZonXr1ulHP/qROjs7tWzZMrW1temb3/ymtmzZovT09PB7XnzxRa1YsUKzZ8+W3W5XZWWlnnnmmUHYHQAAMByc131QEoX7oAAAkHwSdh8UAACAwUBAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlkNAAQAAlhNzQNm5c6duuOEGFRUVyWaz6ZVXXokYv/3222Wz2SKWuXPnRtS0trZq0aJFcrlcysnJ0dKlS9XR0XFeOwIAAIaPmANKZ2enpk2bpmefffZra+bOnaumpqbw8otf/CJifNGiRTp48KC2bt2qTZs2aefOnVq2bFns3QMAgGEpNdY3zJs3T/PmzTtnjdPplMfjOevYhx9+qC1btuj999/XjBkzJEk///nPdd111+lf/uVfVFRUFGtLAABgmBmSc1B27Nih/Px8TZgwQcuXL9fJkyfDY3V1dcrJyQmHE0kqLy+X3W7Xrl27zrq9YDCoQCAQsQAAgOFr0APK3Llz9V//9V/atm2bfvazn6m2tlbz5s1TX1+fJMnn8yk/Pz/iPampqcrNzZXP5zvrNmtqauR2u8NLcXHxYLcNAAAsJOaveKJZuHBh+OcpU6Zo6tSpGjdunHbs2KHZs2cPaJvV1dVauXJl+HUgECCkAAAwjA35ZcaXXnqp8vLydPjwYUmSx+NRS0tLRE1vb69aW1u/9rwVp9Mpl8sVsQAAgOFryAPKp59+qpMnT6qwsFCS5PV61dbWpj179oRrtm/frlAopLKysqFuBwAAJIGYv+Lp6OgIHw2RpKNHj6q+vl65ubnKzc3V6tWrVVlZKY/HoyNHjuhHP/qRLrvsMlVUVEiSJk2apLlz5+qOO+7Q2rVr1dPToxUrVmjhwoVcwQMAACRJNmOMieUNO3bs0He+852vrF+yZInWrFmjBQsWaO/evWpra1NRUZHmzJmjn/70pyooKAjXtra2asWKFXrttddkt9tVWVmpZ555RllZWf3qIRAIyO12y+/383UPAABJIpa/3zEHFCsgoAAAkHxi+fvNs3gAAIDlEFAAAIDlEFAAAIDlEFAAAIDlEFAAAIDlEFAAAIDlEFAAAIDlEFAAAIDlEFAAAIDlEFAAAIDlEFAAAIDlxPw0YwDA+TPGyIT6ZLPZJNkkm02S/vwaAAEFAOLMGKPu9pM68OtHNGLUGI0YdYky80qUmVcse6rjiyUlTfZUB4EFFywCCgAkQEfz/yjU06X24w1qP97wxUqbXekXeZSRU6j0HI8yLipS7rgZhBRckAgoAJAAJz767VdXmpC6Wo+rq/W4JMmWkqbccTPi3BlgDZwkCwAJ0NF8JNEtAJZGQAGAOOvrPi2Z6HWjZy4Y8l4AqyKgAECcdZ74k/qTULKLLh/yXgCrIqAAQJy1fbJPJhSKWpc2IocTZHHBIqAAQJy1f/aR+vUdD3ABI6AAQBz1BjtlTF/UulGTrlFKWnocOgKsiYACAHF0qvW4+nqCUetcF0+UPTUtDh0B1kRAAYA4+vzDnerpbItal+LIlM3Gf6Jx4eK3HwAsxpE1UinOjES3ASQUAQUA4qS3+3S/vt7JLhwvZ3ZeHDoCrIuAAgBx0tPZpp7Tgah1TtcopToz49ARYF0EFACIk8BnH6qz+WjUOltKqsT5J7jA8S8AAOLAGPPnm7Od+/4n9rR0paVncYM2XPAIKAAQB6avR71dHVHrMkeOVvbFE+PQEWBtBBQAiIPe7tPq8jdHrUt1jpBjxEVx6AiwtpgCSk1NjWbOnKns7Gzl5+drwYIFamhoiKjp6upSVVWVRo4cqaysLFVWVqq5OfIfZWNjo+bPn6/MzEzl5+frvvvuU29v7/nvDQBYVHf7Sfkb90ets9lTZE9JjUNHgLXFFFBqa2tVVVWl9957T1u3blVPT4/mzJmjzs7OcM0999yj1157TS+99JJqa2t1/Phx3XTTTeHxvr4+zZ8/X93d3Xr33Xf1wgsvaN26dXrwwQcHb68AwEKMMTJ9vQr1dp+70GZTioPb2wOSZDPGDPiJVSdOnFB+fr5qa2t1zTXXyO/3a9SoUVq/fr1uvvlmSdJHH32kSZMmqa6uTrNmzdLmzZt1/fXX6/jx4yooKJAkrV27VqtWrdKJEyfkcDiifm4gEJDb7Zbf75fL5Rpo+wAQFyYU0smPd+nojufPWZeWmaMJ8+9RRm5hnDoD4iuWv9/ndQ6K3++XJOXm5kqS9uzZo56eHpWXl4drJk6cqJKSEtXV1UmS6urqNGXKlHA4kaSKigoFAgEdPHjwrJ8TDAYVCAQiFgBIFqG+Hn3+x3ej1tlSUuV0cYM2QDqPgBIKhXT33Xfr6quv1uTJkyVJPp9PDodDOTk5EbUFBQXy+Xzhmr8MJ2fGz4ydTU1Njdxud3gpLi4eaNsAEHcm1Kv24w1R62w2Gw8IBP5swAGlqqpKBw4c0IYNGwazn7Oqrq6W3+8PL8eOHRvyzwSAQdOvb9JtGlV67VB3AiSNAZ0qvmLFCm3atEk7d+7U6NGjw+s9Ho+6u7vV1tYWcRSlublZHo8nXLN79+6I7Z25yudMzZc5nU45nc6BtAoACWWM0amTn0YvtEmuiycMfUNAkojpCIoxRitWrNDGjRu1fft2jR07NmJ8+vTpSktL07Zt28LrGhoa1NjYKK/XK0nyer3av3+/WlpawjVbt26Vy+VSaWnp+ewLAFhS6/980I8qmzJyODkWOCOmIyhVVVVav369Xn31VWVnZ4fPGXG73crIyJDb7dbSpUu1cuVK5ebmyuVy6a677pLX69WsWbMkSXPmzFFpaaluu+02Pf744/L5fHrggQdUVVXFURIAw1Lrx7ujF0my2bl3JnBGTAFlzZo1kqRrr702Yv3zzz+v22+/XZL05JNPym63q7KyUsFgUBUVFXruuefCtSkpKdq0aZOWL18ur9erESNGaMmSJXrkkUfOb08AwIKMCUV5+s4XRk28WuL5O0DYed0HJVG4DwqAZHHq82P68NWfRb1J22Vz71JOyWQeEohhLW73QQEAnFvgeINMqC9qXcZFHsIJ8BcIKAAwhFoP7+5XQAEQiYACAEMk1NstY0JR61yjS5WSxjN4gL9EQAGAIRJsb43+gEBJOWOmKsWREYeOgORBQAGAIdJyaIe62pqj1jkyc2Szp8ShIyB5EFAAYIiYvl4pykXGKWnpsqc5OUEW+BICCgAMgVBfz58DyrllFY5Xes7ZH/MBXMgIKAAwBHpOt6vndCBqnTN7pFLTs+LQEZBcCCgAMAQ6fEfU3vTHqHUpjgzZUx1x6AhILgQUABhkxhiFeoPRr+Cx2WVPSeP8E+AsCCgAMNhMSKGe6JcXZ1xUqJxLrhz6foAkREABgEHW1xPU6bamqHWpzhFyZI+MQ0dA8iGgAMAg6znlV9sn+6LW2VJSlcoN2oCzIqAAwCAyxijU16Oezv+NXsy5J8DXIqAAwCDrORX98uIUZ6aKvnFdHLoBkhMBBQAGkQn16X+P7o1aZ7OnKiO3KA4dAcmJgAIAg8iE+vT5R7+NWmez2ZTqHBGHjoDkREABgAS4aOw3Et0CYGkEFAAYRN0drf2qc5dMGeJOgORGQAGAQeQ/dqBfdSNGXTK0jQBJjoACAIOoae+WftWlpKUPcSdAciOgAECcZV88iXugAFEQUABgkATbW2VMKGrdyHEzZbPzn1/gXPgXAgCDpPPEn2RCvVHrRowaI4kjKMC5EFAAYJC0HHxboZ5g9EK7XTa+4gHOiYACAIPAhPokY6LWped4lJLqjENHQHIjoADAIOg5HVBfb/SjJxddOl2pGdlx6AhIbgQUABgEQf8J9QVPRa1zZufJnuqIQ0dAciOgAMAgaDt2QMHA51HrbPYUzj8B+oGAAgDnyYRCMn09ks59DkqKc4RSHBnxaQpIcgQUADhPvd2n1HO6PWqde3Spsj3j4tARkPxiCig1NTWaOXOmsrOzlZ+frwULFqihoSGi5tprr5XNZotY7rzzzoiaxsZGzZ8/X5mZmcrPz9d9992n3t7o9w4AACs6ffJTtTf9MWpdanqWUhyZcegISH6psRTX1taqqqpKM2fOVG9vr3784x9rzpw5OnTokEaMGBGuu+OOO/TII4+EX2dm/v8/yL6+Ps2fP18ej0fvvvuumpqatHjxYqWlpenRRx8dhF0CgPjq7WpXT2db1Dqbzc4dZIF+iimgbNkS+RCsdevWKT8/X3v27NE111wTXp+ZmSmPx3PWbfzmN7/RoUOH9NZbb6mgoEBXXnmlfvrTn2rVqlV6+OGH5XBwdjuA5GGMkQlFv729IztPOWOvHPqGgGHivKK83++XJOXm5kasf/HFF5WXl6fJkyerurpap079/6V3dXV1mjJligoKCsLrKioqFAgEdPDgwbN+TjAYVCAQiFgAwApCfT067W+OWpfqzFB6ztn/xw3AV8V0BOUvhUIh3X333br66qs1efLk8Prvfe97GjNmjIqKirRv3z6tWrVKDQ0NevnllyVJPp8vIpxICr/2+Xxn/ayamhqtXr16oK0CwJDpC56Sv3F/1Dp7ikNpGa44dAQMDwMOKFVVVTpw4IDeeeediPXLli0L/zxlyhQVFhZq9uzZOnLkiMaNG9jZ69XV1Vq5cmX4dSAQUHFx8cAaB4BBFOrp0qkTn0Qv/PNFAwD6Z0Bf8axYsUKbNm3S22+/rdGjR5+ztqysTJJ0+PBhSZLH41Fzc+Th0DOvv+68FafTKZfLFbEAQKIZY9TX2xO1zpaSpvzSb8ehI2D4iCmgGGO0YsUKbdy4Udu3b9fYsWOjvqe+vl6SVFhYKEnyer3av3+/WlpawjVbt26Vy+VSaWlpLO0AQML15+iJ3Z6irMLxcegGGD5i+oqnqqpK69ev16uvvqrs7OzwOSNut1sZGRk6cuSI1q9fr+uuu04jR47Uvn37dM899+iaa67R1KlTJUlz5sxRaWmpbrvtNj3++OPy+Xx64IEHVFVVJaeTJ3wCSCImpLbGfdHrbHY5s3Kj1wEIi+kIypo1a+T3+3XttdeqsLAwvPzyl7+UJDkcDr311luaM2eOJk6cqHvvvVeVlZV67bXXwttISUnRpk2blJKSIq/Xq7//+7/X4sWLI+6bAgDJwBijtk/+kOg2gGEppiMoxpz7ORPFxcWqra2Nup0xY8bojTfeiOWjAcBy+oKnoj1+R5JUMGX20DcDDDPc0hAABqjjxJ/6VZc7bsbQNgIMQwQUABigxnd+of4cQkkbkTPkvQDDDQEFAAYsejhxuvO5/wkwAAQUABiA3q5OGRP9GTx5l/+1bClpcegIGF4IKAAwAKf/97hMX2/UusxRY2Sz8Z9aIFb8qwGAAWg+sF29XR1R61IdGXHoBhh+CCgAECNjjEK93VHrUpyZsqekcQ4KMAAEFACIUV9Pl0J90Z/BkztuphzZ3EEWGAgCCgDEqLv98359vZPuGqWUtPQ4dAQMPwQUAIhR4LMGdbU1R62zpzlls6fEoSNg+CGgAEAMjDHq6z4tE+0rHpudcAKcBwIKAMQg1Nut3mBn1DrXxRPlHl0ah46A4YmAAgAxCAZOqMN3OGpdWnq2UjNccegIGJ4IKAAQg+6OVp36vDFqnS0lVfaUmB4YD+AvEFAAoJ+Mif7sHUlKTc+S6+JJQ9wNMLwRUACgn0yoT8H2k1HrUhyZyhxVEoeOgOGLgAIA/RTq7Vbgs4+i1tnTHHJm58WhI2D4IqAAQD+FerrU9qe9UetssnH+CXCeCCgA0A/GmP6dg2Kz66JLpw99Q8AwR8QHMOyFQiGFQqHz3k7nyc+i1tjsdmVdXKre3t4BfUZqKv9ZBiQCCoALwOuvv66bbrrpvLZhk7Tipqt0699ccc66U6dOa+To8QP6jEsvvVQNDQ0Dei8w3BBQAAx7oVBowEc0zrDZpMprJvardqCf1dfXN6D3AcMRAQUA+sGZmiKbpGAoQy3dxeoKZcmuPrlTTyjPcTxc987+6DdxAxAdAQUA+mGMJ0c9JkN/CHxXnX056jFO2RRSur1DxekNGpdZL0n6de2hxDYKDBMEFADohx8u/LZ2tVeqK5QdXmeUotMhtw6f+iul2rpVkn5Ijc3+BHYJDB8EFADoh33dC5UXyjrrWEipOtR5tUx3s3r7zv9qIQDcBwUAonKkpshms+mLa3m+jk2b3v2jurrP72RcAF8goABAFKNHZcuRFv2Ac8Oxz9XTyxEUYDAQUAAgihuunqCRroyodSf8pxTq5xOPAZwbAQUAohjlHqFvjdykVFvwrOM2hTQu/T257E1x7gwYvmIKKGvWrNHUqVPlcrnkcrnk9Xq1efPm8HhXV5eqqqo0cuRIZWVlqbKyUs3NzRHbaGxs1Pz585WZman8/Hzdd999530DJQAYSsc/b9enviZdbv5TJuiTzQQlGdnUJ6etU2Mz/qBPPtqoY82tiW4VGDZiuopn9OjReuyxxzR+/HgZY/TCCy/oxhtv1N69e3XFFVfonnvu0euvv66XXnpJbrdbK1as0E033aTf/e53kr64S+L8+fPl8Xj07rvvqqmpSYsXL1ZaWpoeffTRIdlBADhfz736vn719gGVFLhV5Nmn9NwZcmTka5Q7TePz/BqdeULvngio/VR3olsFhg2b6dfjOb9ebm6unnjiCd18880aNWqU1q9fr5tvvlmS9NFHH2nSpEmqq6vTrFmztHnzZl1//fU6fvy4CgoKJElr167VqlWrdOLECTkcjn59ZiAQkNvt1u23397v9wC4cH3yySd68803B3WbI9LTNNKVoTx3pvLcI/Q/Tf+rw5+d3xEUl8ulhQsXDlKHgPV0d3dr3bp18vv9crlc56wd8H1Q+vr69NJLL6mzs1Ner1d79uxRT0+PysvLwzUTJ05USUlJOKDU1dVpypQp4XAiSRUVFVq+fLkOHjyob3zjG2f9rGAwqGDw/7/7DQQCkqTbbrtNWVlnvy8BAJyxc+fOQQ8onV096uzqUWNLYNC2mZ2draVLlw7a9gCr6ejo0Lp16/pVG3NA2b9/v7xer7q6upSVlaWNGzeqtLRU9fX1cjgcysnJiagvKCiQz+eTJPl8vohwcmb8zNjXqamp0erVq7+yfsaMGVETGAA0NSXHyavp6em66qqrEt0GMGTOHGDoj5iv4pkwYYLq6+u1a9cuLV++XEuWLNGhQ0P77Inq6mr5/f7wcuzYsSH9PAAAkFgxH0FxOBy67LLLJEnTp0/X+++/r6efflq33HKLuru71dbWFnEUpbm5WR6PR5Lk8Xi0e/fuiO2ducrnTM3ZOJ1OOZ3OWFsFAABJ6rzvgxIKhRQMBjV9+nSlpaVp27Zt4bGGhgY1NjbK6/VKkrxer/bv36+WlpZwzdatW+VyuVRaWnq+rQAAgGEipiMo1dXVmjdvnkpKStTe3q7169drx44devPNN+V2u7V06VKtXLlSubm5crlcuuuuu+T1ejVr1ixJ0pw5c1RaWqrbbrtNjz/+uHw+nx544AFVVVVxhAQAAITFFFBaWlq0ePFiNTU1ye12a+rUqXrzzTf13e9+V5L05JNPym63q7KyUsFgUBUVFXruuefC709JSdGmTZu0fPlyeb1ejRgxQkuWLNEjjzwyuHsFAACS2nnfByURztwHpT/XUQPAq6++qgULFiS6jajGjRunw4cPJ7oNYMjE8vebZ/EAAADLIaAAAADLIaAAAADLIaAAAADLGfCzeAAgWRQWFibFSbLnumElcKHhKh4AABAXXMUDAACSGgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYDgEFAABYTkwBZc2aNZo6dapcLpdcLpe8Xq82b94cHr/22mtls9kiljvvvDNiG42NjZo/f74yMzOVn5+v++67T729vYOzNwAAYFhIjaV49OjReuyxxzR+/HgZY/TCCy/oxhtv1N69e3XFFVdIku644w498sgj4fdkZmaGf+7r69P8+fPl8Xj07rvvqqmpSYsXL1ZaWpoeffTRQdolAACQ7GzGGHM+G8jNzdUTTzyhpUuX6tprr9WVV16pp5566qy1mzdv1vXXX6/jx4+roKBAkrR27VqtWrVKJ06ckMPh6NdnBgIBud1u+f1+uVyu82kfAADESSx/vwd8DkpfX582bNigzs5Oeb3e8PoXX3xReXl5mjx5sqqrq3Xq1KnwWF1dnaZMmRIOJ5JUUVGhQCCggwcPfu1nBYNBBQKBiAUAAAxfMX3FI0n79++X1+tVV1eXsrKytHHjRpWWlkqSvve972nMmDEqKirSvn37tGrVKjU0NOjll1+WJPl8vohwIin82ufzfe1n1tTUaPXq1bG2CgAAklTMAWXChAmqr6+X3+/Xr3/9ay1ZskS1tbUqLS3VsmXLwnVTpkxRYWGhZs+erSNHjmjcuHEDbrK6ulorV64Mvw4EAiouLh7w9gAAgLXF/BWPw+HQZZddpunTp6umpkbTpk3T008/fdbasrIySdLhw4clSR6PR83NzRE1Z157PJ6v/Uyn0xm+cujMAgAAhq/zvg9KKBRSMBg861h9fb0kqbCwUJLk9Xq1f/9+tbS0hGu2bt0ql8sV/poIAAAgpq94qqurNW/ePJWUlKi9vV3r16/Xjh079Oabb+rIkSNav369rrvuOo0cOVL79u3TPffco2uuuUZTp06VJM2ZM0elpaW67bbb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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "env = gym.make('CartPole-v0')\n", - "state = env.reset()\n", + "env = gym.make('CartPole-v0', render_mode=\"rgb_array\")\n", + "state, _ = env.reset()\n", + "img = plt.imshow(env.render()) # only call this once\n", + "\n", "for t in range(200):\n", " action = policy.act(state)\n", - " env.render()\n", - " state, reward, done, _ = env.step(action)\n", + " img.set_data(env.render()) # just update the data\n", + " display.display(plt.gcf())\n", + " display.clear_output(wait=True)\n", + " state, reward, done, _, _ = env.step(action)\n", " if done:\n", " break \n", "\n", "env.close()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -236,7 +248,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.4" + "version": "3.10.12" } }, "nbformat": 4,