def test_issue_185_act_multidiscrete_space(self): for env_name in self.get_list_env(): if env_name == "blank": continue elif env_name == "l2rpn_neurips_2020_track1": # takes too much time continue elif env_name == "l2rpn_neurips_2020_track2": # takes too much time continue elif env_name == "rte_case118_example": # takes too much time continue elif env_name == ENV_WITH_ALARM_NAME: # takes too much time continue with warnings.catch_warnings(): warnings.filterwarnings("ignore") with grid2op.make(env_name, test=True) as env: gym_env = GymEnv(env) gym_env.action_space = MultiDiscreteActSpace(gym_env.init_env.action_space) gym_env.seed(0) gym_env.observation_space.seed(0) gym_env.action_space.seed(0) obs_gym = gym_env.reset() assert obs_gym in gym_env.observation_space, f"error for {env_name}" act = gym_env.action_space.sample() assert act in gym_env.action_space, f"error for {env_name}" obs, reward, done, info = gym_env.step(act) assert obs in gym_env.observation_space, f"error for {env_name}"
def test_issue_185(self): for env_name in self.get_list_env(): if env_name == "blank": continue with warnings.catch_warnings(): warnings.filterwarnings("ignore") with grid2op.make(env_name, test=True) as env: gym_env = GymEnv(env) gym_env.seed(0) gym_env.observation_space.seed(0) gym_env.action_space.seed(0) obs_gym = gym_env.reset() assert obs_gym["a_ex"].shape[ 0] == env.n_line, f"error for {env_name}" assert obs_gym in gym_env.observation_space, f"error for {env_name}"
def test_issue_185_obs_box_space(self): for env_name in self.get_list_env(): if env_name == "blank": continue with warnings.catch_warnings(): warnings.filterwarnings("ignore") with grid2op.make(env_name, test=True) as env: gym_env = GymEnv(env) gym_env.observation_space = BoxGymObsSpace(gym_env.init_env.observation_space) gym_env.seed(0) gym_env.observation_space.seed(0) gym_env.action_space.seed(0) obs_gym = gym_env.reset() assert obs_gym in gym_env.observation_space, f"error for {env_name}" act = gym_env.action_space.sample() assert act in gym_env.action_space, f"error for {env_name}" obs, reward, done, info = gym_env.step(act) assert obs in gym_env.observation_space, f"error for {env_name}"
def test_issue_185_act_discrete_space(self): env_with_alarm = os.path.join(PATH_DATA_TEST, "l2rpn_neurips_2020_track1_with_alert") for env_name in self.get_list_env(): if env_name == "blank": continue elif env_name == "l2rpn_neurips_2020_track1": # takes too much time continue elif env_name == "l2rpn_neurips_2020_track2": # takes too much time continue elif env_name == "rte_case118_example": # takes too much time continue elif env_name == env_with_alarm: # takes too much time continue with warnings.catch_warnings(): warnings.filterwarnings("ignore") with grid2op.make(env_name, test=True) as env: gym_env = GymEnv(env) gym_env.action_space = DiscreteActSpace( gym_env.init_env.action_space) gym_env.seed(0) gym_env.observation_space.seed(0) gym_env.action_space.seed(0) obs_gym = gym_env.reset() assert obs_gym in gym_env.observation_space, f"error for {env_name}" act = gym_env.action_space.sample() assert act in gym_env.action_space, f"error for {env_name}" obs, reward, done, info = gym_env.step(act) if obs not in gym_env.observation_space: for k in obs: if not obs[k] in gym_env.observation_space[k]: import pdb pdb.set_trace() raise RuntimeError( f"Error for key {k} for env {env_name}")