From bcdd99d22c7530265abc37a88c307008fb9d39f2 Mon Sep 17 00:00:00 2001 From: Antonin RAFFIN Date: Sat, 21 Sep 2019 15:53:28 +0200 Subject: [PATCH] Fix deterministic run --- torchy_baselines/common/base_class.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/torchy_baselines/common/base_class.py b/torchy_baselines/common/base_class.py index 1d0c773..bebd824 100644 --- a/torchy_baselines/common/base_class.py +++ b/torchy_baselines/common/base_class.py @@ -210,8 +210,12 @@ class BaseRLModel(object): def seed(self, seed=0): set_random_seed(seed, using_cuda=self.device == th.device('cuda')) + self.action_space.seed(seed) if self.env is not None: self.env.seed(seed) + if self.eval_env is not None: + self.eval_env.seed(seed) + def collect_rollouts(self, env, n_episodes=1, action_noise_std=0.0, deterministic=False, callback=None, remove_timelimits=True, @@ -219,7 +223,6 @@ class BaseRLModel(object): episode_rewards = [] total_timesteps = [] - assert isinstance(env, VecEnv) assert env.num_envs == 1 @@ -231,7 +234,7 @@ class BaseRLModel(object): while not done: # Select action randomly or according to policy if num_timesteps < start_timesteps: - action = [env.action_space.sample()] + action = [self.action_space.sample()] else: action = self.predict(obs, deterministic=deterministic) / self.max_action