class_docstr: A compact implementation of the full Rainbow agent.
docstr: Records the most recent transition and returns the agent's next action.
docstr_tok: ["Records","the","most","recent","transition","and","returns","the","agent","'s","next","action","."]
code: def step(self, reward, observation):
      """Records the most recent transition and returns the agent's next action."""
      self._last_observation = self._observation
      self._record_observation(observation)
  
      if not self.eval_mode:
          self._store_transition(
              self._last_observation, self.action, reward, False
          )
          self._train_step()
  
      state = self.preprocess_fn(self.state)
      self._rng, self.action = select_action(
          self.network_def,
          self.online_params,
          state,
          self._rng,
          self.num_actions,
          self.eval_mode,
          self.epsilon_eval,
          self.epsilon_train,
          self.epsilon_decay_period,
          self.training_steps,
          self.min_replay_history,
          self.epsilon_fn,
          self._support,
      )
      self.action = onp.asarray(self.action)
      return self.action
  
imports: import functools
  from absl import logging
  from dopamine.jax import losses
  from dopamine.jax import networks
  from dopamine.jax.agents.dqn import dqn_agent
  from dopamine.jax.agents.rainbow import rainbow_agent
  from dopamine.metrics import statistics_instance
  from dopamine.replay_memory import prioritized_replay_buffer
  import gin
  import jax
  import jax.numpy
  import numpy
  import optax
  import tensorflow
label_desc: Use image node_id 8 for calling the JaxFullRainbowAgent obj's underlying member method code with example usage: obj.step(reward, observation) and returns: self