{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Basic Agent Sudy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is recommended to have a look at the [0_basic_functionalities](0_basic_functionalities.ipynb), [1_Observation_Agents](1_Observation_Agents.ipynb), [2_Action_GridManipulation](3_TrainingAnAgent.ipynb) and [3_TrainingAnAgent](3_TrainingAnAgent.ipynb) notebooks before getting into this one." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Objectives**\n", "\n", "In this notebook we will expose how to study an Agent. For this notebook to be interested, we first use a dummy agent, and then we look at how to study its behaviour from the file saved.\n", "\n", "This notebook will also show you how to use the Graphical User Interface built for analyzing grid2Op agents called \"Grid2Viz\".\n", "\n", "It is more than recommended to know how to define an Agent and use a Runner before doing this tutotial!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Evaluate the performance of a simple Agen" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import os\n", "import sys\n", "import grid2op\n", "import copy\n", "import numpy as np\n", "import shutil\n", "import seaborn as sns\n", "import plotly.graph_objects as go\n", "\n", "from tqdm.notebook import tqdm\n", "from grid2op.Agent import PowerLineSwitch\n", "from grid2op.Reward import L2RPNReward\n", "from grid2op.Runner import Runner\n", "from grid2op.Chronics import GridStateFromFileWithForecasts, Multifolder\n", "path_agents = \"study_agent_getting_started\"\n", "max_iter = 30" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the next cell we evaluate the agent \"PowerLineSwitch\" and save the results of this evaluation in \"study_agent_getting_started\"" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/donnotben/Documents/Grid2Op_dev/getting_started/grid2op/MakeEnv/MakeNew.py:138: UserWarning:\n", "\n", "You are using a development environment. This is really not recommended for training agents.\n", "\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7b7cc5f51c9145dfba6331b5711f47ee", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(FloatProgress(value=0.0, description='episode', max=2.0, style=ProgressStyle(description_width=…" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "f855452d58be48969f285097163fafb6", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(FloatProgress(value=0.0, description='episode', max=30.0, style=ProgressStyle(description_width…" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "ad14068467a040a280e86cad1c5cbe76", "version_major": 2, "version_minor": 0 }, "text/plain": [ "HBox(children=(FloatProgress(value=0.0, description='episode', max=30.0, style=ProgressStyle(description_width…" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "\n", "The results for the evaluated agent are:\n", "\tFor chronics with id 000\n", "\t\t - cumulative reward: 496.772954\n", "\t\t - number of time steps completed: 30 / 30\n", "\tFor chronics with id 001\n", "\t\t - cumulative reward: 515.620095\n", "\t\t - number of time steps completed: 30 / 30\n" ] } ], "source": [ "scoring_function = L2RPNReward\n", "env = grid2op.make_new(reward_class=L2RPNReward, test=True)\n", "# env.chronics_handler.set_max_iter(max_iter)\n", "shutil.rmtree(os.path.abspath(path_agents), ignore_errors=True)\n", "if not os.path.exists(path_agents):\n", " os.mkdir(path_agents)\n", "\n", "# make a runner for this agent\n", "path_agent = os.path.join(path_agents, \"PowerLineSwitch\")\n", "shutil.rmtree(os.path.abspath(path_agent), ignore_errors=True)\n", "\n", "runner = Runner(**env.get_params_for_runner(),\n", " agentClass=PowerLineSwitch\n", " )\n", "res = runner.run(path_save=path_agent, nb_episode=2, \n", " max_iter=max_iter,\n", " pbar=tqdm)\n", "print(\"The results for the evaluated agent are:\")\n", "for _, chron_id, cum_reward, nb_time_step, max_ts in res:\n", " msg_tmp = \"\\tFor chronics with id {}\\n\".format(chron_id)\n", " msg_tmp += \"\\t\\t - cumulative reward: {:.6f}\\n\".format(cum_reward)\n", " msg_tmp += \"\\t\\t - number of time steps completed: {:.0f} / {:.0f}\".format(nb_time_step, max_ts)\n", " print(msg_tmp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Looking at the results, understand the behaviour of the Agent" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The content of the folder is the following:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['dict_observation_space.json',\n", " '000',\n", " 'dict_action_space.json',\n", " 'dict_env_modification_space.json',\n", " '001']" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "os.listdir(path_agent)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "000 dict_action_space.json\t dict_observation_space.json\r\n", "001 dict_env_modification_space.json\r\n" ] } ], "source": [ "!ls $path_agent" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can load the data corresponding to episode 1 for example, we can load the actions and the observations and de-serialize them properly into proper objects. This is now automatically done with the class \"EpisodeData\" that can be used as follow:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "from grid2op.EpisodeData import EpisodeData\n", "episode_studied = \"001\"\n", "this_episode = EpisodeData.from_disk(path_agent, episode_studied)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Inspect the actions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And now we can start to study the given agent, for example, let's inspect its actions and wonder how many powerlines it has disconnected (for example, this is probably not the best thing to do here...)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "line_disc = 0\n", "line_reco = 0\n", "for act in this_episode.actions:\n", " dict_ = act.as_dict() # representation of an action as a dictionnary, see the documentation for more information\n", " if \"change_line_status\" in dict_:\n", " if \"set_bus_vect\" in dict_:\n", " line_reco += 1\n", " else:\n", " line_disc += 1\n", "line_disc" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also wonder how many times this Agent acted on the powerline with id $14$, and inspect how many times it has change its status:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "id_line_inspected = 13\n", "line_disconnected = 0\n", "for act in this_episode.actions:\n", " dict_ = act.effect_on(line_id=id_line_inspected) # which effect has this action action on the substation with given id\n", " # other objects are: load_id, gen_id, line_id or substation_id\n", " if dict_['change_line_status'] or dict_[\"set_line_status\"] != 0:\n", " line_disconnected += 1\n", "line_disconnected" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Inspect the modification of the environment" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For example, we might want to inspect the number of hazards and maintenance of a total scenario, to see how difficult it was." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nb_hazards = 0\n", "nb_maintenance = 0\n", "for act in this_episode.env_actions:\n", " dict_ = act.as_dict() # representation of an action as a dictionnary, see the documentation for more information\n", " if \"nb_hazards\" in dict_:\n", " nb_hazards += 1\n", " if \"nb_maintenance\" in dict_:\n", " nb_maintenance += 1\n", "nb_maintenance" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Inspect the observations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For example, let's look at the value consumed by load 1. For this cell to work, it requires plotly for displaying the results." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "type": "scatter", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ], "y": [ 87.4, 85.8, 87.1, 87.8, 86.9, 86.6, 85.2, 85.4, 83.4, 85.3, 82.7, 82.7, 83.3, 81.2, 82.2, 82.2, 81.3, 82.6, 82.4, 82.9, 81.6, 82.3, 82.5, 81.4, 83.1, 81.6, 81.5, 80.9, 80.9, 80.9, 80.8 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Consumption of load 1" }, "xaxis": { "title": { "text": "Time step" } }, "yaxis": { "title": { "text": "Load (MW)" } } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import plotly.graph_objects as go\n", "load_id = 1\n", "# extract the data\n", "val_load1 = np.zeros(len(this_episode.observations))\n", "for i, obs in enumerate(this_episode.observations):\n", " dict_ = obs.state_of(load_id=load_id) # which effect has this action action on the substation with id 1\n", " # other objects are: load_id, gen_id, line_id or substation_id\n", " # see the documentation for more information.\n", " val_load1[i] = dict_['p']\n", "\n", "# plot it\n", "fig = go.Figure(data=[go.Scatter(x=[i for i in range(len(val_load1))],\n", " y=val_load1)])\n", "fig.update_layout(title=\"Consumption of load {}\".format(load_id),\n", " xaxis_title=\"Time step\",\n", " yaxis_title=\"Load (MW)\")\n", "fig.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or the values of generator 3 (it's supposed to represent a solar energy source)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "type": "scatter", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ], "y": [ 75.57900088523799, 70.84698172409249, 76.95658162146563, 71.31450725445501, 74.58030951364829, 73.71127151638619, 73.32105212149457, 74.34606591504476, 72.17799439761842, 72.58058205350451, 69.57158302582786, 69.16791721913629, 71.35700525823687, 66.82981126172206, 69.03187291339927, 68.57645047173364, 70.34136980048768, 69.51804864150623, 71.44571631742635, 71.57627376638486, 68.18572909119185, 67.83510574330373, 73.47824551057212, 69.13488613683349, 71.38350041811711, 69.9678993040545, 69.2187892648742, 68.79897928362018, 68.91580579918926, 70.41966607149955, 67.74209298382824 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Production of generator 4" }, "xaxis": { "title": { "text": "Time step" } }, "yaxis": { "title": { "text": "Production (MW)" } } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "gen_id = 4\n", "# extract the data\n", "val_lgen3 = np.zeros(len(this_episode.observations))\n", "for i, obs in enumerate(this_episode.observations):\n", " dict_ = obs.state_of(gen_id=gen_id) # which effect has this action action on the substation with id 1\n", " # other objects are: load_id, gen_id, line_id or substation_id\n", " # see the documentation for more information.\n", " val_lgen3[i] = dict_['p']\n", "\n", "# plot it\n", "fig = go.Figure(data=[go.Scatter(x=[i for i in range(len(val_lgen3))],\n", " y=val_lgen3)])\n", "fig.update_layout(title=\"Production of generator {}\".format(gen_id),\n", " xaxis_title=\"Time step\",\n", " yaxis_title=\"Production (MW)\")\n", "fig.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the same fashion, we might want to get the flows on powerline connecting bus 3 to bus 4 (without knowing its id by using the appropriate method of the observation_space):" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "type": "scatter", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ], "y": [ 138.4017424785358, 63.16057136732613, 66.07588682408385, 63.77981283702956, 67.49467359567859, 65.87722356479519, 63.963554721216035, 66.58081305309501, 63.66123498134033, 64.71082421420287, 60.87655713402235, 61.7520350034303, 65.4093811572164, 59.579091672245866, 62.48618052523357, 63.28826868255224, 63.651317164696685, 63.36323128442804, 64.97779743620029, 63.92928191826769, 60.64646261292145, 61.256597033662004, 65.11277357973503, 61.552977158869005, 64.09252768875488, 64.59538771679821, 63.22343793714577, 61.05243685567725, 61.63949510999398, 63.50414278684731, 62.4095555036831 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Flow on powerline 6 (going from 3 to 4)" }, "xaxis": { "title": { "text": "Time step" } }, "yaxis": { "title": { "text": "Production (MW)" } } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from_ = 3\n", "to_ = 4\n", "found_ids = this_episode.observations.helper.get_lines_id(from_=from_, to_=to_)\n", "line_id = found_ids[0]\n", "\n", "# extract the data\n", "val_l3_4 = np.zeros(len(this_episode.observations))\n", "for i, obs in enumerate(this_episode.observations):\n", " dict_ = obs.state_of(line_id=line_id) # which effect has this action action on the substation with id 1\n", " # other objects are: load_id, gen_id, line_id or substation_id\n", " # see the documentation for more information.\n", " val_l3_4[i] = dict_[\"origin\"]['a']\n", "\n", "# plot it\n", "fig = go.Figure(data=[go.Scatter(x=[i for i in range(len(val_l3_4))],\n", " y=val_l3_4)])\n", "fig.update_layout(title=\"Flow on powerline {} (going from {} to {})\".format(line_id, from_, to_),\n", " xaxis_title=\"Time step\",\n", " yaxis_title=\"Production (MW)\")\n", "fig.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Quick display of a grid using an observation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bellow you can find an example on how to plot a observation and the underlying powergrid. This is an example, the results doesn't look really great. It uses plotly and requires the layout of the grid (eg the coordinates of the substations) to be specified.\n", "\n", "Note also that this code is not optimized at all." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/donnotben/Documents/Grid2Op_dev/getting_started/grid2op/Plot/Plotting.py:47: UserWarning:\n", "\n", "Matplotlib is currently using module://ipykernel.pylab.backend_inline, which is a non-GUI backend, so cannot show the figure.\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3sAAANOCAYAAACoehX9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8GearUAAAgAElEQVR4nOzdeZxU1Zn/8c+ptbt632RHlkZkEVpowKZVIsTI4jZKXJJMjNGsmkz8xcQkzpiJcaKOMRONTvJKYlyjnahJ1EERREG0QQQBQUGWZpO1m973rqrz++M2BQRQllq6q7/v18uXXVX33ufUpcV66pzzPMZai4iIiIiIiCQXV6IHICIiIiIiItGnZE9ERERERCQJKdkTERERERFJQkr2REREREREkpCSPRERERERkSTkSfQAjkd+fr4dNGhQoochIiIiIiKSECtWrKiy1hacyDndItkbNGgQy5cvT/QwREREREREEsIYs+1Ez9EyThERERERkSSkZE9ERERERCQJKdkTERERERFJQkr2REREREREkpCSPRERERERkSSkZE9ERERERCQJKdkTERERERFJQkr2REREREREkpCSPRERERERkSSkZE9ERERERCQJKdkTERERERFJQkr2REREREREkpCSPRERERERkSSkZE9ERERERCQJKdkTERERERFJQkr2REREREREkpCSPRERERERkSSkZE9ERERERCQJKdkTERERERFJQkr2REREREREkpCSPRERERERkSSkZE9ERERERCQJKdkTERERERFJQkr2REREREREkpCSPRERERERkSSkZE9ERERERCQJKdkTERERERFJQkr2REREREREkpCSPRERERERkSSkZE9ERERERCQJKdkTERERERFJQkr2RP7Jn//8Z8aMGcNZZ53F5MmTWb16deS1//mf/2HUqFGMHj2aa6+9ltbW1iPOf/PNNxk3bhwej4fnnnsu8vzWrVsxxvDv//7vkeeqqqrwer3cfPPN1NbWkpeXh7UWgCVLlmCM4eOPPwagrq6O3NxcwuFwrN66iIiIiCQRJXsi/2Tw4MEsWrSINWvW8B//8R98/etfB2Dnzp08+OCDLF++nLVr1xIKhSgrKzvi/IEDB/LYY4/xhS984ajXnjNnTuTxs88+y6hRowDIzs6mT58+rFu3DoDy8nLOPvtsysvLAVi6dCkTJ07E5dJ/tiIiIiLy6fSpUeSfTJ48mZycHADOOeecyMwaQDAYpKWlhWAwSHNzM3379j3i/EGDBjFmzJijJmWBQIARI0awfPlyAP7yl79w1VVXHRb7QHJXXl7OLbfcctjj0tLS6L1REREREUlqSvZEPsEjjzzCjBkzAOjXrx+33norAwcOpE+fPmRlZfG5z33uhK95zTXXUFZWxo4dO3C73YcljKWlpZHkrqKigs9//vORxLC8vJzJkyeze/duQqFQFN6diIiIiCQzJXsix/DGG2/wyCOPcO+99wJQU1PDCy+8wJYtW9i1axdNTU089dRTJ3zd6dOnM3/+fMrKyrj66qsPe+3AzN6WLVsYNGgQKSkpWGtpbGxkxYoVjBo1ihUrVvDuu+9q756IiIiIfCIleyLAww8/TFFREUVFRezatYv333+fG2+8kRdeeIG8vDwAXnvtNQYPHkxBQQFer5crrrgiMgt3Inw+H+PHj+f+++9n9uzZh702bNgwamtreemllygpKQFg/PjxPProowwaNIjevXszduxYKisrWb58uRI+ERERETkmJXsiwE033cSqVatYtWoVwWCQK664gieffJIzzjgjcszAgQNZunQpzc3NWGtZsGABI0aMOKl43//+97n33nvJzc094rVzzjmHBx54IJLslZSU8Otf/zqyX2/AgAGMGTOGvXv3smLFCiV8IiIiInJUSvZE/smdd97J/v37+fa3v01RURHFxcUATJo0idmzZzNu3DjOOusswuFwpFLnHXfcwYsvvgjAu+++S//+/Xn22Wf5xje+Eam2eahRo0Zx3XXXHTV+aWkpO3bsiMQtKSmhoqKCyZMnR445/fTTGTVqFHv27GHlypWRdg0iIiIiIgeY7vAhsbi42B4oUiEiB23atIl169bRv39/ioqKMMYkekgiIiIiEgPGmBXW2uITOccTq8GISOwVFhYSDof56KOPcLlcjB07NtFDEhEREZEuQsmeSDd3xhlnEA6H2bhxI263m9GjRyd6SCIiIiLSBSjZE0kCZ555JqFQiIqKClwuFyNHjkz0kEREREQkwZTsiSSJUaNGEQ6H2bx5My6XizPPPDPRQxIRERGRBFKyJ5JERo8efdiSzmHDhiV6SCIiIiKSIKfcesEYk2KMWWaMWW2M+cAY87PO5wcbY94xxmwyxvzFGOPrfN7f+XhT5+uDTnUMIuIwxjBmzBj69+/P+vXr2bx5c6KHJCIiIiIJEo0+e23AVGvtWKAImG6MOQe4F/gfa20hUAPc0Hn8DUBN5/P/03mciESJMYaioiL69u3Lhx9+yJYtWxI9JBERERFJgFNO9qyjsfOht/MfC0wFnut8/nHg8s6fL+t8TOfr04yag4lElTGGs88+m969e7N27Vq2bduW6CGJiIiISJxFY2YPY4zbGLMK2AfMBzYDtdbaYOchHwP9On/uB+wA6Hy9Dsg7yjW/boxZboxZXllZGY1hivQoLpeL8ePHc9ppp/H++++zY8eORA9JREREROIoKsmetTZkrS0C+gMTgVMuA2it/b21tthaW1xQUHDKYxTpiVwuFxMmTKCgoIDVq1ezc+fORA9JREREROIkKsneAdbaWuANoATINsYcqPbZHzjwKXMnMACg8/UsYH80xyEiBx1I+HJzc1m5ciW7d+9O9JBEREREJA6iUY2zwBiT3flzKnAhsA4n6Zvdedh1wAudP7/Y+ZjO11+31tpTHYeIHJvb7WbixIlkZ2fz3nvvsXfv3kQPSURERERiLBoze32AN4wx7wPvAvOttf8H3Ab8P2PMJpw9eY90Hv8IkNf5/P8DfhSFMYjIp/B4PEyaNInMzEyWL1+O9sKKiIiIJDfTHSbViouL7fLlyxM9DJGk0NHRQXl5OU1NTUyaNIm8vCPqI4mIiIhIF2OMWWGtLT6Rc6K6Z09Euj6v10tJSQmBQIB33nmH6urqRA9JRERERGJAyZ5ID+Tz+SgpKSElJYV33nmH2traRA9JRERERKJMyZ5ID+X3+5k8eTI+n4+lS5dSX1+f6CGJiIiISBQp2RPpwVJSUigpKcHj8bBkyRIaGhoSPSQRERERiRIleyI9XCAQoKSkBJfLxZIlS2hsbEz0kEREREQkCjyffohIcrPW8uGHH/Lqq6+ydetWWlpaSE1NZdCgQVx00UWMHDkSY0yihxlTaWlplJSUUF5ezpIlS5g8eTJpaWmnfN3du3czd+5c1qxZQ2NjI16vl4KCAqZOnUpJSQlerzcKoxcRERGRo9HMnvRY+/fv5/vf/z6nn346s2bNYsOGDQwdOpQJEyYwdOhQNmzYwMyZMxk0aBDf//73k75qZXp6OiUlJYTDYZYsWUJLS8tJXScYDPLQQw9x9tlnM2rUKF555RX69u3L+PHjGTFiBK2trdxyyy2cdtppXH311XzwwQdRficiIiIiAprZkx4oFArx+9//nv/8z/9k9uzZzJs3j+HDhx919s5ay/r16/nNb37DiBEjuPPOO7nxxhtxu90JGHnsZWRkcM4557BkyRLKy8spLS0lJSXluM9/4403+M53vkPv3r154IEHmDx5Mh7PkX/N3HPPPezdu5enn36az3zmM3zpS1/ipz/9KdnZ2dF8OyIiIiI9mpqqS49SW1vLJZdcgsvl4je/+Q1jxow57nNXrVrFd7/7XYwxvPjii2RlZcVwpIlVW1vLkiVL8Pv9lJaW4vf7P/H4cDjMrbfeyt/+9jd+9atf8S//8i/HvfS1srKSn/zkJ7zyyiu8/PLLJ/RnIiIiItJTqKm6yCeorKxk6tSpjBs3jjfeeOOEk4qioiIWLlzImDFjmDp1KlVVVTEaaeJlZ2czadIkWltbWbJkCe3t7cc8NhQK8bWvfY2lS5eyatUqrrjiihPa41hQUMAf/vAH7r//fi688EKWLVsWjbcgIiIi0uMp2ZMeYc+ePUyZMoWZM2fy61//Gpfr5H71XS4XDz74IBdddBFTpkxhz549UR5p15Gbm8vEiRNpampiyZIldHR0HHFMKBTii1/8Itu2bWPevHmntAzz6quv5k9/+hMXX3wxixcvPpWhi4iIiAhK9qQHCAaDXHXVVVx55ZXcddddp1xZ0xjDL37xCy6//HKuueYagsFglEba9eTn5zNx4kQaGxtZunTpEQnfz372M/bu3cv//d//kZ6efsrxZs2axZ///Gc+//nP8/HHH5/y9URERER6MiV7kvTuvPNOUlNT+dnPfhb163q9Xu66666oXrerKSgooLi4mLq6OpYtWxZJbhcuXMgjjzxCWVnZCRVx+TQXXngh//Zv/8YXv/hFwuFw1K4rIiIi0tMo2ZOktnLlSn73u9/x2GOPnfTSzWNxu9089thj/O///i+rVq2K6rW7ml69ejF+/HhqampYtmwZdXV1fPWrX+X3v/89vXr1inq8H/7whwSDQR5++OGoX1tERESkp1A1TklqB8r633jjjTGL8Yc//IGnn36aN954I2YxuoqdO3eycuVKXnzxRerr6ykrK4tZrI8++ojJkyezefNmtWQQERGRHk/VOEUOsWTJErZt28ZXvvKVmMb5yle+QkVFBe+8805M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hAl88sknAJSXl3PKKadQXl4OwMaNG5k/fz6GMcS/9h0uiEXR0d5LgIUQQiQfKfaEEOI40t2bL/XYvfmUxQouLx99uA1nPMyPf/SjYRvXmWeeydKlS7nvvvuG7RnDYaABLrm5uZx22mm9Wk68/fbblJSUMHnyZOx2OytXruT555/vdf0jjzzCqlWrumdXc3Nzu4+53W5KS0vZvHkzAGvWrOHSSy/tPr5o0aLu4q68vJzrrruux/eLFy8e5KdwGNm3J4QQY4oUe0IIcZxRSqFSvObSTrvT7M3nO4A+wj/QldXGz++5n3+65MvYHY5hHdeNN97Igw8+mNTpnEdyKMAle9ABLvv372fixInd3xcUFLB///5e51VUVFBRUcHixYtZsGAB69at63F85cqVPPXUU+zbtw+LxUJeXl73scWLF3cXd7t27eLLX/5yd2FYXl7OokWLBvS+j8juMPd7SmKpEEKMCVLsCSHEccrszZd71N58H3zwAX97/Q2+eNlXh30806ZN4+yzz+bRRx8d9mcNB2W1HQpwiUbMWb4EB7hEo1F27NjBhg0bePLJJ7nyyitpamrqPn7++efzl7/8haeeeorLLrusx7VdM3u7d++muLgYp9OJ1prW1lbeffddTj/99CGPTynDLPhkZk8IIcYEKfaEEOI4d7TefHfddRfXXnstTqdzRMZy4403snr1aqLRsdnWoGeAiwPaW3hw9Z2UzZlDWVkZNTU1R7wuPz+fffv2dX9fXV19xNYWBQUFrFixApvNxqRJk5g2bRo7duzoPm6325k7dy6rV6/mS1/6Uo9rp06dSlNTEy+++CILFy4EYO7cuTz22GMUFxeTmpqaiI+gO6RFUkqFECL5SbEnhBAngCP15uuor+Zvf1nPP//zP4/YOObOnUtmZiabNm0asWcOB2UcCnBZ9a//wvt/W8f7b/6dCePHH/H80047jR07drB7924ikQhPPfUUK1as6HXeF7/4RTZs2ACYaZsVFRVMnjy5xznXX389d955J5mZmb2uX7BgAffdd193sbdw4ULuvffexOzX62J3QTxuzm4KIYRIalLsCSHECeTw3nwff7CVi85ZTG4CeuoNxPLly3nppZdG9JnDxQxwye4OcDlY8REFBfncfffd3HbbbRQUFNDc3IzVauWBBx5g6dKllJaWcumll3Ynaf70pz/lhRdeAGDp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evzxx7n44osB+PKXv8zbb7/d4/j8+fPZtm0bDQ0NTJs2rcexrpm98vJyFi5ciMfjIRQKsWHDBtmvJ8YEKfaEEAlRUVHBWWedxV133cWaNWv461//ynXXXceMGTN6/MQ6JSWF5cuXc//991NRUcG0adMoKyvjjjvuID5K/6gQYqDCjY00vrWRWChExtxTSJ08adTG0tbWRn19PUVFRSMzOzSYfXv0r/ceYC7ljIQSst9OOZyoklmQMx7qD6IrP0L3o09gf3R0dPCjH/2IRYsWsWTJErZv387q1atZsmRJj/AVpRRz5szhxhtv5K233uLuu+/m+uuv539dcik1obhZBFut0OI/VPSN4p+Fyub4TIBL3agEuKxatYotW7awZcsWZsyYwauvvgqYs9iffvopkydPZunSpbzyyiv4/X78fj+vvPIKS5cu7XWvvLw8/v73vwPw2muvMXVq71ToO+64o8eMXpfS0lJqamp44403OOWUUwAoKyvj4Ycflv16YkyQYk8IMWTvv/8+Z511Fl/60pd45513+v0XYEpKCj/72c945513eP7557nyyiuJ/X/23js87upM+/+c6U0adUuWe+/dlgsdNtg4yZqyxAnJJoQk+wYSAsTUDZAlyWVICKH+AiFZXkj4QQhLwgYb0wzYIMsNC1ew5S7LtuqMNL2d948zki0s2SojjWSfz3VxJdbMnHNGlkff+/s8z33HO+byp9GkC/+BgzRs2ozRaiV3bgnW/Py0nqfZmGXIkCFnfnIKEGarqkh1UuwBal7PYlVZdO0JGqsdEgmIdt6kpS2EwYCheBhi+BglIndvQzbUdmvNUCjENddcQ3l5Odu2beOnP/0pFsuZZwztdjtLly5l27ZtzJo1i/POO499lVWInCLIKVRzik0NUFuZrKql5/OwtYGLOe0GLvfeey+lpaVMnjyZSy+9lIceeoi8vDxycnK49957mT17NrNnz+a+++5rCav/3ve+R3Ns17PPPstPf/pTpk6dyj333MMf/vCHU/ZYtGgRF1988SlfF0JQUlJCbm4uZrNqP543bx779u3TlT1Nv0Dn7Gk0mm5RWlrKkiVL+P3vf8/VV1/d5XV8Ph9LliwhNzeXP//5zx26cNJoehMZj+PdsZNQ1VGsBfm4p0zGYErv6HsikeDtt98mPz+fmTNn9tq+su6oypMrHtXpaqIMh+D4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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from grid2op.Plot import Plotting\n", "obs = copy.deepcopy(this_episode.observations[-1])\n", "# and change the topology (just to have something to represent)\n", "obs.topo_vect[3:9] = [2,2,1,1,2,1]\n", "\n", "plot_helper = Plotting(observation_space=this_episode.observation_space, display_mod=\"matplotlib\")\n", "fig = plot_helper.plot_obs(obs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this plot, we can see that the \"action\" (that is implemented here only to demonstrate the plotting utility) has the following effect.\n", "\n", "After its application, the disconnected powerline, the load and the \"diagonal\" poweline going right are connected together on bus 1 (small node represented in orange).\n", "\n", "And the other elements: the power plants, the horizontal line and the diagonal powerline going up left are connecte together on bus 2. This is represented by the blue dot." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Synching Observation and Action" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As stated in the documentation, at row i, it's the observation at time \"i\" and the action at time \"i\". So at row i of the numpy matrices, we see what the agent saw when he took his actions. We have \"an agent view\".\n", "\n", "In case we want to see the impact of an Action, it is then necessary to:\n", "\n", "- look at action i\n", "- look at observation i+1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Using the dedicated grid2viz framework\n", "\n", "Grid2viz is a package that has been developped to help you visualize the behaviour of your agent. \n", "\n", "It is available for now in a github repository [grid2viz](https://github.com/mjothy/grid2viz). In the few following cells we will demonstrate how to use it to inspect in more detail the log of the agents generated by the runner (second cell of this notebook).\n", "\n", "\n", "We will first run some other agents to show the full potential of grid2viz (optional). Then we emphasize a constraint on the use of grid2viz: the folder tree must respect a certain order. Then we show how to install it and finally how to launch it on the data generated by this notebook.\n", "\n", "![](https://raw.githubusercontent.com/mjothy/grid2viz/master/grid2viz/assets/screenshots/scenario_overview.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### More agents to compare\n", "\n", "This section is not mandatory, but it is better to show the full capabilities of grid2viz. We will first run 2 others agents: the do nothing agent, and the topology greedy agents." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The results for the DoNothingAgent agent are:\n", "\tFor chronics with id 000\n", "\t\t - cumulative reward: 482.929717\n", "\t\t - number of time steps completed: 30 / 30\n", "\tFor chronics with id 001\n", "\t\t - cumulative reward: 501.151587\n", "\t\t - number of time steps completed: 30 / 30\n" ] } ], "source": [ "# make a runner for this agent\n", "from grid2op.Agent import DoNothingAgent, TopologyGreedy\n", "\n", "for agentClass, agentName in zip([DoNothingAgent], # , TopologyGreedy\n", " [\"DoNothingAgent\"]): # , \"TopologyGreedy\"\n", " path_agent = os.path.join(path_agents, agentName)\n", " shutil.rmtree(os.path.abspath(path_agent), ignore_errors=True)\n", " runner = Runner(**env.get_params_for_runner(),\n", " agentClass=agentClass\n", " )\n", " res = runner.run(path_save=path_agent, nb_episode=2, \n", " max_iter=max_iter)\n", " print(\"The results for the {} agent are:\".format(agentName))\n", " for _, chron_id, cum_reward, nb_time_step, max_ts in res:\n", " msg_tmp = \"\\tFor chronics with id {}\\n\".format(chron_id)\n", " msg_tmp += \"\\t\\t - cumulative reward: {:.6f}\\n\".format(cum_reward)\n", " msg_tmp += \"\\t\\t - number of time steps completed: {:.0f} / {:.0f}\".format(nb_time_step, max_ts)\n", " print(msg_tmp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Caution" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Grid2Viz for now require a specific organization of the folders. You must:\n", "- use the runner to save the results of your experiment, using the \"path_save\" argument\n", "- the agent must be \"alone\" in this directory: you should save it to an empty directory\n", "- the path where the agent is stored must contain only folder of agents.\n", "\n", "These contraints give the following \"architecture\":\n", "\n", "+ regular directory\n", " + runner log\n", " + agent log 1\n", " - scenario log 1\n", " - scenario log 2\n", " ...\n", " - scenario log n\n", " + agent log 2\n", " - scenario log 1\n", " ...\n", " - scenario log p\n", " + agent log 3\n", " - scenario log 1\n", " ...\n", " + other folders\n", "+ other folders\n", "\n", "An example is given in the \"path_agents\" directory used in this notebook." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "study_agent_getting_started:\r\n", "DoNothingAgent\tPowerLineSwitch\r\n", "\r\n", "study_agent_getting_started/DoNothingAgent:\r\n", "000 dict_action_space.json\t dict_observation_space.json\r\n", "001 dict_env_modification_space.json\r\n", "\r\n", "study_agent_getting_started/DoNothingAgent/000:\r\n", "actions.npy\t\t\t episode_meta.json _parameters.json\r\n", "agent_exec_times.npy\t\t episode_times.json rewards.npy\r\n", "disc_lines_cascading_failure.npy observations.npy\r\n", "env_modifications.npy\t\t other_rewards.json\r\n", "\r\n", "study_agent_getting_started/DoNothingAgent/001:\r\n", "actions.npy\t\t\t episode_meta.json _parameters.json\r\n", "agent_exec_times.npy\t\t episode_times.json rewards.npy\r\n", "disc_lines_cascading_failure.npy observations.npy\r\n", "env_modifications.npy\t\t other_rewards.json\r\n", "\r\n", "study_agent_getting_started/PowerLineSwitch:\r\n", "000 dict_action_space.json\t dict_observation_space.json\r\n", "001 dict_env_modification_space.json\r\n", "\r\n", "study_agent_getting_started/PowerLineSwitch/000:\r\n", "actions.npy\t\t\t episode_meta.json _parameters.json\r\n", "agent_exec_times.npy\t\t episode_times.json rewards.npy\r\n", "disc_lines_cascading_failure.npy observations.npy\r\n", "env_modifications.npy\t\t other_rewards.json\r\n", "\r\n", "study_agent_getting_started/PowerLineSwitch/001:\r\n", "actions.npy\t\t\t episode_meta.json _parameters.json\r\n", "agent_exec_times.npy\t\t episode_times.json rewards.npy\r\n", "disc_lines_cascading_failure.npy observations.npy\r\n", "env_modifications.npy\t\t other_rewards.json\r\n" ] } ], "source": [ "!ls -R $path_agents" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If the command \"tree\" is installed on your machine, you can uncomment the following cell to have a better layout." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# !tree $path_agents" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Installation\n", "\n", "Grid2Viz is not yet on pypi, the python package repository. So you need a specific command to install it. It can be done super easily by running the cell bellow (more information can be found on the grid2iz github)." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "To install it, either uncomment the cell bellow, or type, in a command prompt:\n", "\t/usr/bin/python3 -m pip install git+https://github.com/mjothy/grid2viz.git --user --extra-index-url https://test.pypi.org/simple/\n" ] } ], "source": [ "import sys\n", "print(\"To install it, either uncomment the cell bellow, or type, in a command prompt:\\n{}\".format(\n", " (\"\\t{} -m pip install git+https://github.com/mjothy/grid2viz.git --user --extra-index-url https://test.pypi.org/simple/\".format(sys.executable))))" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "# !$sys.executable -m pip install git+https://github.com/mjothy/grid2viz --user --extra-index-url https://test.pypi.org/simple/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Usage" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once the above package is installed, you can now start to study what your agent did (NB the agent must have been run with a runner and the \"path_save\" argument in order for grid2viz to work properly." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "You can start this server either by running the next cell, or by typing in a cmd:\n", "\t\t/usr/bin/python3 -m grid2viz.main --path /home/donnotben/Documents/Grid2Op_dev/getting_started/study_agent_getting_started\n" ] } ], "source": [ "print(\"You can start this server either by running the next cell, or by typing in a cmd:\\n\"\\\n", " \"\\t\\t{} -m grid2viz.main --path {}\".format(sys.executable, os.path.abspath(path_agents)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For performance optimization, grid2viz uses a cache. This notebook being an example, it is recommended to clear the cache before starting the grid2viz app. Of course, if you study different generation of your agent, it is NOT recommended to clear the cache before any study." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "shutil.rmtree(os.path.join(os.path.abspath(path_agents), \"_cache\"), ignore_errors=True)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!$sys.executable -m grid2viz.main --path=$path_agents" ] } ], "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.6.6" } }, "nbformat": 4, "nbformat_minor": 2 }