class_docstr: Tandem DQN agent.
code: def begin_episode(self, agent_type, observation):
      self._reset_state()
      self._record_observation(observation)
      if agent_type == "passive":
          params = self.passive_online_params
      else:
          params = self.active_online_params
          if not self.eval_mode:
              self._train_step()
  
      action = self._select_action(params)
      if agent_type == "active":
          self.action = action
      return action
  
imports: import functools
  from absl import logging
  from dopamine.jax import losses
  from dopamine.jax.agents.dqn import dqn_agent
  import gin
  import jax
  import jax.numpy
  import numpy
  import optax
  import tensorflow
label_desc: Use image node_id 5 for calling the TandemDQNAgent obj's underlying member method code with example usage: obj.begin_episode(agent_type, observation) and returns: action