ray.rllib.policy.policy.Policy.compute_single_action#

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

计算并返回一个单一(B=1)的动作值。

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

参数:
  • obs – 单一观察。

  • state – RNN 状态输入列表(如果有)。

  • prev_action – 如果有的话,前一个动作的值。

  • prev_reward – 如果有的话,之前的奖励。

  • info – 信息对象(如果有)。

  • input_dict – 包含单个(未批处理的)张量以计算动作的 SampleBatch 或输入字典。如果提供,它将代替 obsstateprev_action|rewardinfo 使用。

  • episode – 这提供了对所有内部剧情节点的访问,这对于基于模型的或多方代理的算法可能非常有用。

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

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

关键字参数:

kwargs – 向前兼容占位符。

返回:

由动作、RNN状态输出列表(如果有)和额外特征字典(如果有)组成的元组。