class_docstr: Object that handles update schedule and configurations.
  
  Args:
      replay_buffer (ReplayBuffer): Replay buffer
      update_func (callable): Callable that accepts one of these:
          (1) a list of transition dicts (if episodic_update=False)
          (2) a list of lists of transition dicts (if episodic_update=True)
      replay_start_size (int): if the replay buffer's size is less than
          replay_start_size, skip update
      batchsize (int): Minibatch size
      update_interval (int): Model update interval in step
      n_times_update (int): Number of repetition of update
      episodic_update (bool): Use full episodes for update if set True
      episodic_update_len (int or None): Subsequences of this length are used
          for update if set int and episodic_update=True
code: def __init__(
      self,
      replay_buffer,
      update_func,
      batchsize,
      episodic_update,
      n_times_update,
      replay_start_size,
      update_interval,
      episodic_update_len=None,
  ):
      assert batchsize <= replay_start_size
      self.replay_buffer = replay_buffer
      self.update_func = update_func
      self.batchsize = batchsize
      self.episodic_update = episodic_update
      self.episodic_update_len = episodic_update_len
      self.n_times_update = n_times_update
      self.replay_start_size = replay_start_size
      self.update_interval = update_interval
  
imports: from abc import ABCMeta
  from abc import abstractmethod
  from abc import abstractproperty
  import itertools
  import numpy
  from chainerrl.misc.batch_states import batch_states
label_desc: Use image node_id 1 to create a new ReplayUpdater object from inherited base classes: object with example: obj = ReplayUpdater(replay_buffer, update_func, batchsize, episodic_update, n_times_update, replay_start_size, update_interval, episodic_update_len)