class_docstr: A simple out-of-graph Replay Buffer.
  
  Stores transitions, state, action, reward, next_state, terminal (and any
  extra contents specified) in a circular buffer and provides a uniform
  transition sampling function.
  
  When the states consist of stacks of observations storing the states is
  inefficient. This class writes observations and constructs the stacked states
  at sample time.
  
  Attributes:
    add_count: int, counter of how many transitions have been added (including
      the blank ones at the beginning of an episode).
    invalid_range: np.array, an array with the indices of cursor-related invalid
      transitions
    episode_end_indices: set[int], a set of indices corresponding to the
      end of an episode.
docstr: Returns a default list of elements to be stored in this replay memory.
  
  Note - Derived classes may return a different signature.
  
  Returns:
    list of ReplayElements defining the type of the contents stored.
docstr_tok: ["Returns","a","default","list","of","elements","to","be","stored","in","this","replay","memory",".","Note","-","Derived","classes","may","return","a","different","signature",".","Returns",":","list","of","ReplayElements","defining","the","type","of","the","contents","stored","."]
code: def get_storage_signature(self):
      """Returns a default list of elements to be stored in this replay memory.
  
      Note - Derived classes may return a different signature.
  
      Returns:
        list of ReplayElements defining the type of the contents stored.
      """
      storage_elements = [
          ReplayElement(
              "observation",
              self._observation_shape,
              self._observation_dtype,
          ),
          ReplayElement(
              "action", self._action_shape, self._action_dtype
          ),
          ReplayElement(
              "reward", self._reward_shape, self._reward_dtype
          ),
          ReplayElement("terminal", (), self._terminal_dtype),
      ]
  
      for extra_replay_element in self._extra_storage_types:
          storage_elements.append(extra_replay_element)
      return storage_elements
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  import gzip
  import math
  import os
  import pickle
  from absl import logging
  import gin.tf
  import numpy
  import tensorflow
label_desc: Use image node_id 5 for calling the OutOfGraphReplayBuffer obj's underlying member method code with example usage: obj.get_storage_signature() and returns: storage_elements