garage.replay_buffer.path_buffer

A replay buffer that efficiently stores and can sample whole paths.

class PathBuffer(capacity_in_transitions, env_spec=None)

A replay buffer that stores and can sample whole episodes.

This buffer only stores valid steps, and doesn’t require paths to have a maximum length.

Parameters
  • capacity_in_transitions (int) – Total memory allocated for the buffer.

  • env_spec (EnvSpec) – Environment specification.

add_episode_batch(self, episodes)

Add a EpisodeBatch to the buffer.

Parameters

episodes (EpisodeBatch) – Episodes to add.

add_path(self, path)

Add a path to the buffer.

Parameters

path (dict) – A dict of array of shape (path_len, flat_dim).

Raises

ValueError – If a key is missing from path or path has wrong shape.

sample_path(self)

Sample a single path from the buffer.

Returns

A dict of arrays of shape (path_len, flat_dim).

Return type

path

sample_transitions(self, batch_size)

Sample a batch of transitions from the buffer.

Parameters

batch_size (int) – Number of transitions to sample.

Returns

A dict of arrays of shape (batch_size, flat_dim).

Return type

dict

sample_timesteps(self, batch_size)

Sample a batch of timesteps from the buffer.

Parameters

batch_size (int) – Number of timesteps to sample.

Returns

The batch of timesteps.

Return type

TimeStepBatch

clear(self)

Clear buffer.

property n_transitions_stored(self)

Return the size of the replay buffer.

Returns

Size of the current replay buffer.

Return type

int