class_docstr: An implementation of the DQN agent.
class_docstr_tok: ["An","implementation","of","the","DQN","agent","."]
docstr: Returns the agent's first action for this episode.
  
  Args:
    observation: numpy array, the environment's initial observation.
  
  Returns:
    int, the selected action.
docstr_tok: ["Returns","the","agent","'s","first","action","for","this","episode",".","Args",":","observation",":","numpy","array",",","the","environment","'s","initial","observation",".","Returns",":","int",",","the","selected","action","."]
code: def begin_episode(self, observation):
      """Returns the agent's first action for this episode.
  
      Args:
        observation: numpy array, the environment's initial observation.
  
      Returns:
        int, the selected action.
      """
      self._reset_state()
      self._record_observation(observation)
  
      if not self.eval_mode:
          self._train_step()
  
      self.action = self._select_action()
      return self.action
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  import os
  import random
  from absl import logging
  from dopamine.discrete_domains import atari_lib
  from dopamine.replay_memory import circular_replay_buffer
  import gin.tf
  import numpy
  import tensorflow
label_desc: Use image node_id 8 for calling the DQNAgent obj's underlying member method code with example usage: obj.begin_episode(observation) and returns: self