Fix issue around reset

This commit is contained in:
Marek Wolan
2024-02-29 13:22:05 +00:00
parent f7c535b557
commit 2f3e40fb6b
2 changed files with 4 additions and 3 deletions

View File

@@ -417,7 +417,7 @@ class PrimaiteGame:
agent_settings=agent_settings,
)
else:
msg(f"Configuration error: {agent_type} is not a valid agent type.")
msg = f"Configuration error: {agent_type} is not a valid agent type."
_LOGGER.error(msg)
raise ValueError(msg)
game.agents[agent_cfg["ref"]] = new_agent

View File

@@ -1,3 +1,4 @@
import copy
import json
from typing import Any, Dict, Optional, SupportsFloat, Tuple
@@ -23,7 +24,7 @@ class PrimaiteGymEnv(gymnasium.Env):
super().__init__()
self.game_config: Dict = game_config
"""PrimaiteGame definition. This can be changed between episodes to enable curriculum learning."""
self.game: PrimaiteGame = PrimaiteGame.from_config(self.game_config)
self.game: PrimaiteGame = PrimaiteGame.from_config(copy.deepcopy(self.game_config))
"""Current game."""
self._agent_name = next(iter(self.game.rl_agents))
"""Name of the RL agent. Since there should only be one RL agent we can just pull the first and only key."""
@@ -78,7 +79,7 @@ class PrimaiteGymEnv(gymnasium.Env):
f"Resetting environment, episode {self.episode_counter}, "
f"avg. reward: {self.agent.reward_function.total_reward}"
)
self.game: PrimaiteGame = PrimaiteGame.from_config(cfg=self.game_config)
self.game: PrimaiteGame = PrimaiteGame.from_config(cfg=copy.deepcopy(self.game_config))
self.game.setup_for_episode(episode=self.episode_counter)
self.episode_counter += 1
state = self.game.get_sim_state()