ray.rllib.policy.policy.Policy.compute_actions_from_input_dict#

Policy.compute_actions_from_input_dict(input_dict: SampleBatch | Dict[str, numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor | dict | tuple], explore: bool | None = None, timestep: int | None = None, episodes: List[Episode] | None = None, **kwargs) Tuple[numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor, List[numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor], Dict[str, numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor]][源代码]#

计算从收集的样本(跨多个代理)中得出的动作。

接受一个输入字典(通常是一个 SampleBatch)作为其主要数据输入。这允许在需要更复杂的输入模式(视图需求)时使用此方法,例如当模型需要最后 n 个观察值、最后 m 个动作/奖励,或这些的任何组合时。

参数:
  • input_dict – 包含要计算动作的张量的 SampleBatch 或输入字典。input_dict 已经符合策略和模型的视图要求,因此可以直接传递给模型。

  • explore – 选择利用还是探索动作(默认:None -> 使用 self.config[“explore”])。

  • timestep – 当前(采样)时间步。

  • episodes – 这提供了访问所有内部事件状态的权限,这对于基于模型的算法或多智能体算法可能非常有用。

关键字参数:

kwargs – 向前兼容占位符。

返回:

输出动作的批次,形状类似于 [BATCH_SIZE, ACTION_SHAPE]。state_outs: RNN 状态输出批次的列表(如果有),每个批次形状为 [BATCH_SIZE, STATE_SIZE]。info: 额外特征批次的字典(如果有),形状类似于 {“f1”: [BATCH_SIZE, …], “f2”: [BATCH_SIZE, …]}。

返回类型:

actions