docstr: Args:
      exp (Experience):
code: def append(self, exp):
      """
      Args:
          exp (Experience):
      """
      if self._curr_size < self.max_size:
          self._assign(self._curr_pos, exp)
          self._curr_pos = (self._curr_pos + 1) % self.max_size
          self._curr_size += 1
      else:
          self._assign(self._curr_pos, exp)
          self._curr_pos = (self._curr_pos + 1) % self.max_size
  
imports: import copy
  import itertools
  import numpy
  import threading
  from collections import namedtuple
  from six.moves import queue, range
  from tensorpack.utils.concurrency import LoopThread, ShareSessionThread
  from tensorpack.callbacks.base import Callback
  from tensorpack.dataflow import DataFlow
  from tensorpack.utils import logger, get_rng, get_tqdm
  from tensorpack.utils.stats import StatCounter
label_desc: Use image node_id 2 for calling the ReplayMemory obj's underlying member method code with example usage: obj.append(exp) without return types