{ "cells": [ { "cell_type": "markdown", "id": "9c5c18a1", "metadata": {}, "source": [ "* Pong V4: https://gymnasium.farama.org/environments/atari/pong/" ] }, { "cell_type": "markdown", "id": "2df4fa0b", "metadata": {}, "source": [ "# Libraries" ] }, { "cell_type": "code", "execution_count": 1, "id": "df27797f", "metadata": { "execution": { "iopub.execute_input": "2023-11-27T22:43:04.535542Z", "iopub.status.busy": "2023-11-27T22:43:04.535184Z", "iopub.status.idle": "2023-11-27T22:43:04.977598Z", "shell.execute_reply": "2023-11-27T22:43:04.977123Z", "shell.execute_reply.started": "2023-11-27T22:43:04.535509Z" }, "scrolled": true }, "outputs": [], "source": [ "import gymnasium\n", "\n", "from matplotlib import pyplot\n", "from IPython.display import clear_output" ] }, { "cell_type": "markdown", "id": "4876213b", "metadata": {}, "source": [ "# Environment" ] }, { "cell_type": "code", "execution_count": 2, "id": "092108a6", "metadata": { "execution": { "iopub.execute_input": "2023-11-27T22:43:04.978069Z", "iopub.status.busy": "2023-11-27T22:43:04.977944Z", "iopub.status.idle": "2023-11-27T22:43:05.066204Z", "shell.execute_reply": "2023-11-27T22:43:05.065830Z", "shell.execute_reply.started": "2023-11-27T22:43:04.978061Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "A.L.E: Arcade Learning Environment (version 0.8.1+53f58b7)\n", "[Powered by Stella]\n" ] }, { "data": { "text/plain": [ "(array([[[ 0, 0, 0],\n", " [ 0, 0, 0],\n", " [ 0, 0, 0],\n", " ...,\n", " [109, 118, 43],\n", " [109, 118, 43],\n", " [109, 118, 43]],\n", " \n", " [[109, 118, 43],\n", " [109, 118, 43],\n", " [109, 118, 43],\n", " ...,\n", " [109, 118, 43],\n", " [109, 118, 43],\n", " [109, 118, 43]],\n", " \n", " [[109, 118, 43],\n", " [109, 118, 43],\n", " [109, 118, 43],\n", " ...,\n", " [109, 118, 43],\n", " [109, 118, 43],\n", " [109, 118, 43]],\n", " \n", " ...,\n", " \n", " [[ 53, 95, 24],\n", " [ 53, 95, 24],\n", " [ 53, 95, 24],\n", " ...,\n", " [ 53, 95, 24],\n", " [ 53, 95, 24],\n", " [ 53, 95, 24]],\n", " \n", " [[ 53, 95, 24],\n", " [ 53, 95, 24],\n", " [ 53, 95, 24],\n", " ...,\n", " [ 53, 95, 24],\n", " [ 53, 95, 24],\n", " [ 53, 95, 24]],\n", " \n", " [[ 53, 95, 24],\n", " [ 53, 95, 24],\n", " [ 53, 95, 24],\n", " ...,\n", " [ 53, 95, 24],\n", " [ 53, 95, 24],\n", " [ 53, 95, 24]]], dtype=uint8),\n", " {'lives': 0, 'episode_frame_number': 0, 'frame_number': 0})" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "name = \"pong\"\n", "\n", "environment = gymnasium.make('PongNoFrameskip-v4', render_mode='rgb_array')\n", "\n", "environment.reset()" ] }, { "cell_type": "markdown", "id": "6a2a2b8f", "metadata": {}, "source": [ "## Possible actions" ] }, { "cell_type": "code", "execution_count": 3, "id": "baa95bb6", "metadata": { "execution": { "iopub.execute_input": "2023-11-27T22:43:05.066579Z", "iopub.status.busy": "2023-11-27T22:43:05.066487Z", "iopub.status.idle": "2023-11-27T22:43:05.068929Z", "shell.execute_reply": "2023-11-27T22:43:05.068742Z", "shell.execute_reply.started": "2023-11-27T22:43:05.066572Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "6 possible actions: ['NOOP', 'FIRE', 'RIGHT', 'LEFT', 'RIGHTFIRE', 'LEFTFIRE']\n" ] } ], "source": [ "actions = environment.action_space.n\n", "meanings = environment.unwrapped.get_action_meanings()\n", "\n", "print(f\"{actions} possible actions: {meanings}\")" ] }, { "cell_type": "markdown", "id": "c9401905", "metadata": {}, "source": [ "## Taking Screenshot" ] }, { "cell_type": "code", "execution_count": 4, "id": "bca13d96", "metadata": { "execution": { "iopub.execute_input": "2023-11-27T22:43:05.069443Z", "iopub.status.busy": "2023-11-27T22:43:05.069372Z", "iopub.status.idle": "2023-11-27T22:43:05.116463Z", "shell.execute_reply": "2023-11-27T22:43:05.116158Z", "shell.execute_reply.started": "2023-11-27T22:43:05.069434Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/efren/.pyenv/versions/3.11.6/envs/pong/lib/python3.11/site-packages/gymnasium/utils/passive_env_checker.py:335: UserWarning: \u001b[33mWARN: No render fps was declared in the environment (env.metadata['render_fps'] is None or not defined), rendering may occur at inconsistent fps.\u001b[0m\n", " logger.warn(\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pyplot.imshow(environment.render())\n", "pyplot.show()" ] }, { "cell_type": "markdown", "id": "22a99803", "metadata": {}, "source": [ "# Running Games" ] }, { "cell_type": "markdown", "id": "d5fe9402", "metadata": {}, "source": [ "## Spectator" ] }, { "cell_type": "code", "execution_count": 5, "id": "097a8526", "metadata": { "execution": { "iopub.execute_input": "2023-11-27T22:43:05.116856Z", "iopub.status.busy": "2023-11-27T22:43:05.116785Z", "iopub.status.idle": "2023-11-27T22:43:06.259701Z", "shell.execute_reply": "2023-11-27T22:43:06.259369Z", "shell.execute_reply.started": "2023-11-27T22:43:05.116848Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for x in range(30):\n", " action = environment.action_space.sample()\n", " state, reward, done, truncated, info = environment.step(action)\n", " \n", " clear_output(wait=True)\n", " pyplot.imshow(environment.render())\n", " pyplot.show()" ] }, { "cell_type": "markdown", "id": "c07e53c6", "metadata": {}, "source": [ "## Full Random Run" ] }, { "cell_type": "code", "execution_count": 6, "id": "7f4d8911", "metadata": { "execution": { "iopub.execute_input": "2023-11-27T22:43:06.260082Z", "iopub.status.busy": "2023-11-27T22:43:06.260008Z", "iopub.status.idle": "2023-11-27T22:43:06.460509Z", "shell.execute_reply": "2023-11-27T22:43:06.460035Z", "shell.execute_reply.started": "2023-11-27T22:43:06.260075Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Steps taken: 3277\n", "Final score: -21.0\n" ] } ], "source": [ "score, steps, reward = 0, 0, 0\n", "\n", "done=False\n", "while not done:\n", " steps += 1\n", " action = environment.action_space.sample()\n", " state, reward, done, truncated, info = environment.step(action)\n", " score += reward\n", "\n", "print(f\"Steps taken: {steps}\")\n", "print(f\"Final score: {score}\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.11.6" } }, "nbformat": 4, "nbformat_minor": 5 }