def run_eval(self, eval_id, mode, render):
        """
            Launches an eval processes with id eval_id

        Args:
            eval_id (int): eval agent's id
            mode: eval_deterministic or eval_stochastic
            render: see run_eval
        """
        np.random.seed(int(time.time() * 100000 % 100000))

        session_config, learner_config, env_config = \
            self.session_config, self.learner_config, self.env_config

        # env, env_config = make_env(env_config, 'eval')

        agent_mode = mode
        assert agent_mode != 'training'

        agent_class = self.agent_class
        agent = agent_class(
            learner_config=learner_config,
            env_config=env_config,
            session_config=session_config,
            agent_id=eval_id,
            agent_mode=agent_mode,
            render=render
        )

        agent.main_eval()

            Launches an eval processes with id eval_id

        Args:
            eval_id (int): eval agent's id
            mode: eval_deterministic or eval_stochastic
            render: see run_eval
        
surreal/launch/launcher.py