ray.rllib.policy.Policy.compute_log_likelihoods#

Policy.compute_log_likelihoods(actions: List[numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor] | numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor, obs_batch: List[numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor] | numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor, 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] | numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor | None = None, prev_reward_batch: List[numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor] | numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor | None = None, actions_normalized: bool = True, in_training: bool = True) numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor[源代码]#

计算给定动作和观察的对数概率/似然。

对数似然是使用此策略的动作分布类(self.dist_class)计算的。

参数:
  • actions – 要获取日志概率/似然值(给定所有其他输入:观察值、状态等)的一批动作。

  • obs_batch – 观测批次。

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

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

  • prev_reward_batch – 先前奖励的批次。

  • actions_normalized – 给定的 actions 是否已经归一化(在 -1.0 和 1.0 之间)?如果没有并且 normalize_actions=True,我们需要在计算对数似然之前先对给定的动作进行归一化。

  • in_training – 是否使用底层 RLModule 的 forward_train() 或 forward_exploration()。

返回:

[批量大小].

返回类型:

Batch of log probs/likelihoods, with shape