ray.rllib.core.learner.learner.Learner.update_from_batch#

Learner.update_from_batch(batch: MultiAgentBatch, *, timesteps: Dict[str, Any] | None = None, minibatch_size: int | None = None, num_iters: int = 1, reduce_fn=-1) Dict[源代码]#

对给定的训练批次执行 num_iters 次小批量更新。

您可以使用此方法对批次进行多次反向传递。在 MultiRLModule 中,所有模块 ID 将使用相同的 minibatch_sizenum_iters

参数:
  • batch – 一批用于更新的训练数据。

  • timesteps – 时间步长字典,必须包含键 NUM_ENV_STEPS_SAMPLED_LIFETIME。 # TODO (sven): 将其改为更正式的结构,并定义自己的类型。

  • minibatch_size – 每次更新使用的最小批次的大小。

  • num_iters – 输入多智能体批次中所有子批次完整遍历的次数。

返回:

一个由调用 self.metrics.reduce() 生成的 ResultDict 对象。返回的字典可以是任意嵌套的,并且其所有叶子节点都必须包含 Stats 对象,这允许下游组件(例如,使用此学习器的用户)进一步减少这些结果(例如,在 n 个并行学习器上)。