From 10a084d7b5aa2862158c3b82b7054525b29e8440 Mon Sep 17 00:00:00 2001 From: Erik Nygren <erik.nygren@sbb.ch> Date: Sun, 28 Apr 2019 16:47:24 +0200 Subject: [PATCH] added __init__.py in examples to get editor working --- examples/__init__.py | 0 flatland/utils/editor.py | 1 + notebooks/CanvasEditor.ipynb | 194 +++++++++++++++-------------------- 3 files changed, 84 insertions(+), 111 deletions(-) create mode 100644 examples/__init__.py diff --git a/examples/__init__.py b/examples/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/flatland/utils/editor.py b/flatland/utils/editor.py index 88b6d7a7..0c2185f0 100644 --- a/flatland/utils/editor.py +++ b/flatland/utils/editor.py @@ -33,6 +33,7 @@ class View(object): class JupEditor(object): def __init__(self, env, wid_img): + print("Correct editor") self.env = env self.wid_img = wid_img diff --git a/notebooks/CanvasEditor.ipynb b/notebooks/CanvasEditor.ipynb index 144ce7d4..ed911ad9 100644 --- a/notebooks/CanvasEditor.ipynb +++ b/notebooks/CanvasEditor.ipynb @@ -59,6 +59,24 @@ "cell_type": "code", "execution_count": 4, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['', 'C:\\\\Users\\\\u224870\\\\Innovation\\\\progressive_growing_of_gans', 'c:\\\\users\\\\u224870\\\\appdata\\\\local\\\\programs\\\\python\\\\python36\\\\python36.zip', 'c:\\\\users\\\\u224870\\\\appdata\\\\local\\\\programs\\\\python\\\\python36\\\\DLLs', 'c:\\\\users\\\\u224870\\\\appdata\\\\local\\\\programs\\\\python\\\\python36\\\\lib', 'c:\\\\users\\\\u224870\\\\appdata\\\\local\\\\programs\\\\python\\\\python36', 'c:\\\\users\\\\u224870\\\\appdata\\\\local\\\\programs\\\\python\\\\python36\\\\lib\\\\site-packages', 'c:\\\\users\\\\u224870\\\\appdata\\\\local\\\\programs\\\\python\\\\python36\\\\lib\\\\site-packages\\\\flatland_rl-0.1.1-py3.6.egg', 'c:\\\\users\\\\u224870\\\\projekte_git\\\\jupyter_canvas_widget', 'c:\\\\users\\\\u224870\\\\appdata\\\\local\\\\programs\\\\python\\\\python36\\\\lib\\\\site-packages\\\\IPython\\\\extensions', 'C:\\\\Users\\\\u224870\\\\.ipython']\n" + ] + } + ], + "source": [ + "import sys\n", + "print(sys.path)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -79,7 +97,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -102,7 +120,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -116,11 +134,11 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ - "sfEnv = \"../flatland/env-data/tests/test1.npy\"\n", + "sfEnv = \"C:/Users/u224870/Projekte_Git/flatland/env-data/tests/test1.npy\"\n", "if True:\n", " oEnv.rail.load_transition_map(sfEnv)\n", " oEnv.width = oEnv.rail.width\n", @@ -129,7 +147,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -138,7 +156,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -147,7 +165,7 @@ "10" ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -165,7 +183,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -182,7 +200,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -222,12 +240,20 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Correct editor\n" + ] + } + ], "source": [ "wid_img.unregister_all()\n", - "oEditor = JupEditor(oEnv, wid_img)\n", + "oEditor = JupEditor(oEnv,wid_img)\n", "wid_img.register_move(oEditor.event_handler)\n", "wid_img.register_click(oEditor.on_click)\n" ] @@ -241,7 +267,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -294,7 +320,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "metadata": { "scrolled": false }, @@ -302,28 +328,16 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0c9b294c3a3d492fa0035935bda407ed", + "model_id": "c30a40a90919407d804dfc82ed67ea53", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(Canvas(), VBox(children=(Text(value='../flatland/env-data/tests/test1.npy', description='Filena…" + "HBox(children=(Canvas(), VBox(children=(Text(value='C:/Users/u224870/Projekte_Git/flatland/env-data/tests/test…" ] }, "metadata": {}, "output_type": "display_data" - }, - { - "ename": "IndexError", - "evalue": "list assignment index out of range", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m~/projects/aicrowd/rl-trains/flatland/flatland/utils/editor.py\u001b[0m in \u001b[0;36mon_click\u001b[0;34m(self, wid, event)\u001b[0m\n\u001b[1;32m 80\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 81\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdrawMode\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"Origin\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 82\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0miAgent\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0menv\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_agent\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrcCell\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrcCell\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 83\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdrawMode\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"Destination\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 84\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplayer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;31m# will need to start a new player\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/projects/aicrowd/rl-trains/flatland/flatland/envs/rail_env.py\u001b[0m in \u001b[0;36madd_agent\u001b[0;34m(self, rcPos, rcTarget, iDir)\u001b[0m\n\u001b[1;32m 536\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0miDir\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 537\u001b[0m \u001b[0miDir\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpick_agent_direction\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrcPos\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrcTarget\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 538\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0magents_direction\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0miAgent\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0miDir\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 539\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 540\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0magents_direction\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mIndexError\u001b[0m: list assignment index out of range" - ] } ], "source": [ @@ -335,7 +349,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -344,7 +358,7 @@ "0" ] }, - "execution_count": 15, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -355,7 +369,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": { "scrolled": true }, @@ -363,7 +377,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d187e6c9f63d43b0a0f6cbc1aae0fc92", + "model_id": "b8951ec0e2504bf08b45539117774bda", "version_major": 2, "version_minor": 0 }, @@ -381,7 +395,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -395,7 +409,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -404,7 +418,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ @@ -420,9 +434,23 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: '../flatland/env-data/tests/test-editor.npy'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m<ipython-input-21-a40691809d2c>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0moEnv\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrail\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msave_transition_map\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"../flatland/env-data/tests/test-editor.npy\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[1;32mc:\\users\\u224870\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\flatland_rl-0.1.1-py3.6.egg\\flatland\\core\\transition_map.py\u001b[0m in \u001b[0;36msave_transition_map\u001b[1;34m(self, filename)\u001b[0m\n\u001b[0;32m 259\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 260\u001b[0m \"\"\"\n\u001b[1;32m--> 261\u001b[1;33m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msave\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfilename\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgrid\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 262\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 263\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mload_transition_map\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfilename\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0moverride_gridsize\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mc:\\users\\u224870\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\numpy\\lib\\npyio.py\u001b[0m in \u001b[0;36msave\u001b[1;34m(file, arr, allow_pickle, fix_imports)\u001b[0m\n\u001b[0;32m 490\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mfile\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mendswith\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'.npy'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 491\u001b[0m \u001b[0mfile\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfile\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;34m'.npy'\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 492\u001b[1;33m \u001b[0mfid\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfile\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"wb\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 493\u001b[0m \u001b[0mown_fid\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 494\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0mis_pathlib_path\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfile\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: '../flatland/env-data/tests/test-editor.npy'" + ] + } + ], "source": [ "oEnv.rail.save_transition_map(\"../flatland/env-data/tests/test-editor.npy\")" ] @@ -436,7 +464,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -452,7 +480,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -462,7 +490,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -471,31 +499,16 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "03564681edac4bc6a937b5f3fc4dc8b6", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "IntText(value=0)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "ipywidgets.IntText(0)" ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -504,7 +517,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -513,7 +526,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -522,7 +535,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -539,24 +552,9 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "cecbaa2e04974ed4bfe10f9e10b8e4ad", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "IntSlider(value=0)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "slider = ipywidgets.IntSlider()\n", "\n", @@ -572,24 +570,9 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a950ac7c3b084a2eb565b68c549eb560", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "FloatProgress(value=0.0, max=1.0)" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "\n", "import threading\n", @@ -610,20 +593,9 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "False" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "[2,3] == (2,3)" ] @@ -632,9 +604,9 @@ "metadata": { "hide_input": false, "kernelspec": { - "display_name": "ve367", + "display_name": "Python 3", "language": "python", - "name": "ve367" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -646,7 +618,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.7" + "version": "3.6.5" }, "latex_envs": { "LaTeX_envs_menu_present": true, -- GitLab