def __init__(self, limit, action_shape, observation_shape, dtype='float32', do_valid=False):
    "Daniel: careful about RAM usage. See:\n        https://github.com/BerkeleyAutomation/baselines-fork/issues/9\n\n        For this we can assume that in the replay buffer, the teacher samples\n        come first, and are fixed ahead of time, so our 'starting' index for\n        adding into the replay buffer should be offset by this quantity.\n        "
    self.limit = limit
    self.do_valid = do_valid
    if self.do_valid:
        self.valid_frac = 0.2
        self.nb_valid_items = 0
    self.observations0 = RingBuffer(limit, shape=observation_shape, dtype=dtype)
    self.actions = RingBuffer(limit, shape=action_shape)
    self.nb_teach = 0
    self.done_adding_teach = False
Daniel: careful about RAM usage. See:
https://github.com/BerkeleyAutomation/baselines-fork/issues/9

For this we can assume that in the replay buffer, the teacher samples
come first, and are fixed ahead of time, so our 'starting' index for
adding into the replay buffer should be offset by this quantity.
def __init__(self, limit, action_shape, observation_shape, dtype='float32', do_valid=False):
    "Daniel: careful about RAM usage. See:\n        https://github.com/BerkeleyAutomation/baselines-fork/issues/9\n\n        For this we can assume that in the replay buffer, the teacher samples\n        come first, and are fixed ahead of time, so our 'starting' index for\n        adding into the replay buffer should be offset by this quantity.\n        "
    self.limit = limit
    self.do_valid = do_valid
    if self.do_valid:
        self.valid_frac = 0.2
        self.nb_valid_items = 0
    self.observations0 = RingBuffer(limit, shape=observation_shape, dtype=dtype)
    self.actions = RingBuffer(limit, shape=action_shape)
    self.nb_teach = 0
    self.done_adding_teach = False