From ce24706bca63b066a9bb95b9564c3db499858345 Mon Sep 17 00:00:00 2001 From: Erik Nygren <erik.nygren@sbb.ch> Date: Mon, 29 Jul 2019 12:14:53 -0400 Subject: [PATCH] included warning message if predictor or observation builder does not provide cells to render. --- examples/training_example.py | 2 +- flatland/envs/predictions.py | 2 +- flatland/utils/rendertools.py | 12 ++++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/examples/training_example.py b/examples/training_example.py index 521cca8c..cfed6c92 100644 --- a/examples/training_example.py +++ b/examples/training_example.py @@ -84,7 +84,7 @@ for trials in range(1, n_trials + 1): # Environment step which returns the observations for all agents, their corresponding # reward and whether their are done next_obs, all_rewards, done, _ = env.step(action_dict) - env_renderer.render_env(show=True, show_observations=False, show_predictions=True) + env_renderer.render_env(show=True, show_observations=True, show_predictions=True) # Update replay buffer and train agent for a in range(env.get_num_agents()): diff --git a/flatland/envs/predictions.py b/flatland/envs/predictions.py index a16adfc7..1d825ff1 100644 --- a/flatland/envs/predictions.py +++ b/flatland/envs/predictions.py @@ -163,7 +163,7 @@ class ShortestPathPredictorForRailEnv(PredictionBuilder): # prediction is ready prediction[index] = [index, *new_position, new_direction, 0] visited.add((new_position[0], new_position[1], new_direction)) - # self.env.dev_pred_dict[agent.handle] = visited + self.env.dev_pred_dict[agent.handle] = visited prediction_dict[agent.handle] = prediction # cleanup: reset initial position diff --git a/flatland/utils/rendertools.py b/flatland/utils/rendertools.py index 8d5238ba..65fffadf 100644 --- a/flatland/utils/rendertools.py +++ b/flatland/utils/rendertools.py @@ -280,7 +280,9 @@ class RenderTool(object): # Check if the observation builder provides an observation if len(observation_dict) < 1: - warnings.warn("Observation Builder did not provide an observation_dict of all observed cells.") + warnings.warn( + "Predictor did not provide any predicted cells to render. \ + Observaiton builder needs to populate: env.dev_obs_dict") else: for agent in agent_handles: color = self.gl.get_agent_color(agent) @@ -299,7 +301,13 @@ class RenderTool(object): """ rt = self.__class__ if len(prediction_dict) < 1: - warnings.warn("Predictor did not provide any predicted cells to render.") + warnings.warn( + "Predictor did not provide any predicted cells to render. \ + Predictors builder needs to populate: env.dev_pred_dict") + + + + else: for agent in agent_handles: color = self.gl.get_agent_color(agent) -- GitLab