ray.rllib.policy.policy.Policy.compute_actions#

abstract Policy.compute_actions(obs_batch: List[numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor | dict | tuple] | numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor | dict | tuple, state_batches: List[numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor] | None = None, prev_action_batch: List[numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor | dict | tuple] | numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor | dict | tuple = None, prev_reward_batch: List[numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor | dict | tuple] | numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor | dict | tuple = None, info_batch: Dict[str, list] | None = None, episodes: List[Episode] | None = None, explore: bool | None = None, timestep: int | 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]][源代码]#

计算当前策略的动作。

参数:
  • obs_batch – 观测批次。

  • state_batches – RNN 状态输入批次的列表(如果有)。

  • prev_action_batch – 前一动作值的批次。

  • prev_reward_batch – 先前奖励的批次。

  • info_batch – 信息对象的批次。

  • episodes – Episode 对象列表,每个 obs_batch 中的 obs 对应一个。这提供了访问所有内部 episode 状态的权限,这对于基于模型的算法或多智能体算法可能很有用。

  • explore – 选择一个利用或探索动作。设置为 None(默认)以使用 self.config["explore"] 的值。

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

关键字参数:

kwargs – 向前兼容占位符

返回:

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

返回类型:

actions