ray.rllib.utils.replay_buffers.multi_agent_replay_buffer.MultiAgentReplayBuffer.__init__#

MultiAgentReplayBuffer.__init__(capacity: int = 10000, storage_unit: str = 'timesteps', num_shards: int = 1, replay_mode: str = 'independent', replay_sequence_override: bool = True, replay_sequence_length: int = 1, replay_burn_in: int = 0, replay_zero_init_states: bool = True, underlying_buffer_config: dict = None, **kwargs)[源代码]#

初始化一个 MultiAgentReplayBuffer 实例。

参数:
  • capacity – 缓冲区的容量,以 storage_unit 为单位进行测量。

  • storage_unit – 可以是 ‘timesteps’、’sequences’ 或 ‘episodes’。指定经验如何存储。如果它们按 episodes 存储,则 replay_sequence_length 被忽略。

  • num_shards – 缓冲区分片存在的总数(包括这个)。

  • replay_mode – “独立”或“同步”之一。确定批次是独立采样还是采样到相等数量。

  • replay_sequence_override – 如果为 True,忽略传入批次中找到的序列,根据 replay_sequence_lengthreplay_sequence_burn_in 将它们切片为序列。仅当 storage_unit 为 sequences 时,此设置才有效。

  • replay_sequence_length – 单个样本的序列长度(T)。如果 > 1,我们将从此缓冲区中采样 B x T。仅当 storage_unit 为 ‘timesteps’ 时,此设置才有效。

  • replay_burn_in – 这是每个序列与前一个序列重叠的时间步数,以生成更好的内部状态(=烧入后的状态),而不是每次RNN展开时都从0.0开始。只有当storage_unit为`sequences`时,这才会产生影响。

  • replay_zero_init_states – 缓冲区中的初始状态(如果 replay_sequence_length > 0)是否始终为 0.0,或者应使用前一个 train_batch 状态输出来更新。

  • underlying_buffer_config – 一个包含所有必要构造函数参数和用于调用底层缓冲区方法的参数的配置。

  • **kwargs – 向前兼容的关键字参数。