def __init__(self, env,
                 agent_id,
                 session_config,
                 separate_plots=True):
        """
        Display "reward" and "step_per_s" curves on Tensorboard

        Args:
            env:
            agent_id: int.
            session_config: to construct AgentTensorplex
            - interval: log to Tensorplex every N episodes.
            - average_episodes: average rewards/speed over the last N episodes
            separate_plots: True to put reward plot in a separate section on
                Tensorboard, False to put all plots together
        """
        super().__init__(env)
        U.assert_type(agent_id, int)
        self.tensorplex = get_tensorplex_client(
            '{}/{}'.format('agent', agent_id),
            session_config
        )
        interval = session_config['tensorplex']['update_schedule']['training_env']
        self._periodic = PeriodicTracker(interval)
        self._avg = interval
        self._separate_plots = separate_plots

        Display "reward" and "step_per_s" curves on Tensorboard

        Args:
            env:
            agent_id: int.
            session_config: to construct AgentTensorplex
            - interval: log to Tensorplex every N episodes.
            - average_episodes: average rewards/speed over the last N episodes
            separate_plots: True to put reward plot in a separate section on
                Tensorboard, False to put all plots together
        
surreal/env/monitor.py