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