ding.worker.replay_buffer.episode_buffer¶
ding.worker.replay_buffer.episode_buffer
¶
EpisodeReplayBuffer
¶
Bases: NaiveReplayBuffer
Overview
Episode replay buffer is a buffer to store complete episodes, i.e. Each element in episode buffer is an episode.
Some algorithms do not want to sample batch_size complete episodes, however, they want some transitions with
some fixed length. As a result, sample should be overwritten for those requirements.
Interface: start, close, push, update, sample, clear, count, state_dict, load_state_dict, default_config
Full Source Code
../ding/worker/replay_buffer/episode_buffer.py
1from typing import List 2from ding.worker.replay_buffer import NaiveReplayBuffer 3from ding.utils import BUFFER_REGISTRY 4 5 6@BUFFER_REGISTRY.register('episode') 7class EpisodeReplayBuffer(NaiveReplayBuffer): 8 r""" 9 Overview: 10 Episode replay buffer is a buffer to store complete episodes, i.e. Each element in episode buffer is an episode. 11 Some algorithms do not want to sample `batch_size` complete episodes, however, they want some transitions with 12 some fixed length. As a result, ``sample`` should be overwritten for those requirements. 13 Interface: 14 start, close, push, update, sample, clear, count, state_dict, load_state_dict, default_config 15 """ 16 17 @property 18 def episode_len(self) -> List[int]: 19 return [len(episode) for episode in self._data]