in mbrl/util/replay_buffer.py [0:0]
def _trajectory_bookkeeping(self, done: bool):
self.cur_idx += 1
if self.num_stored < self.capacity:
self.num_stored += 1
if self.cur_idx >= self.capacity:
self.num_stored = max(self.num_stored, self.cur_idx)
if done:
self.close_trajectory()
else:
partial_trajectory = (self._start_last_trajectory, self.cur_idx + 1)
self.remove_overlapping_trajectories(partial_trajectory)
if self.cur_idx >= len(self.obs):
warnings.warn(
"The replay buffer was filled before current trajectory finished. "
"The history of the current partial trajectory will be discarded. "
"Make sure you set `max_trajectory_length` to the appropriate value "
"for your problem."
)
self._start_last_trajectory = 0
self.cur_idx = 0
self.num_stored = len(self.obs)