rlightning.policy.utils.losses

rlightning.policy.utils.losses.compute_ppo_actor_critic_loss(**kwargs) Tuple[MockModule('torch.Tensor'), Dict][source]

Compute PPO actor-critic loss.

Parameters:

**kwargs – Keyword arguments forwarded to actor and critic loss functions.

Returns:

Total loss and metrics dictionary.

Return type:

Tuple[torch.Tensor, Dict]

rlightning.policy.utils.losses.compute_ppo_actor_loss(logprobs: MockModule('torch.Tensor'), old_logprobs: MockModule('torch.Tensor'), clip_ratio_low: float, clip_ratio_high: float, advantages: MockModule('torch.Tensor'), loss_mask: MockModule('torch.Tensor') | None = None, c_clip: float | None = None, loss_agg_func: ~typing.Callable[[...], MockModule('torch.Tensor')] | None = <function masked_mean>, max_episode_steps: int | None = None, loss_mask_sum: MockModule('torch.Tensor') | None = None, critic_warmup: bool | None = False, **kwargs) Tuple[MockModule('torch.Tensor'), Dict][source]

Compute PPO actor loss.

Parameters:
  • logprobs (torch.FloatTensor) – Log probabilities of actions.

  • old_logprobs (torch.FloatTensor) – Old log probabilities of actions.

  • clip_ratio_low (float) – Lower bound of clipping ratio.

  • clip_ratio_high (float) – Upper bound of clipping ratio.

  • advantages (torch.FloatTensor) – GAE (normalized) advantages.

  • loss_mask (Optional[torch.BoolTensor]) – Mask for valid entries.

  • c_clip (Optional[float]) – Optional clipping coefficient.

  • loss_agg_func (Optional[Callable[..., torch.Tensor]]) – Aggregation function.

  • max_episode_steps (Optional[int]) – Max episode length for normalization.

  • loss_mask_sum (Optional[torch.Tensor]) – Sum of mask values for normalization.

  • critic_warmup (Optional[bool]) – If True, zero out actor loss.

  • **kwargs – Unused extra keyword arguments.

Returns:

Actor loss and metrics dictionary.

Return type:

Tuple[torch.Tensor, Dict]

rlightning.policy.utils.losses.compute_ppo_critic_loss(values: MockModule('torch.Tensor'), returns: MockModule('torch.Tensor'), prev_values: MockModule('torch.Tensor'), value_clip: float, huber_delta: float, loss_mask: MockModule('torch.Tensor') | None = None, max_episode_steps: int | None = None, loss_mask_sum: MockModule('torch.Tensor') | None = None, **kwargs) Tuple[MockModule('torch.Tensor'), Dict][source]

Compute PPO critic loss.

Parameters:
  • values (torch.Tensor) – Current value predictions.

  • returns (torch.Tensor) – Return values.

  • prev_values (torch.Tensor) – Previous value predictions.

  • value_clip (float) – Value clipping threshold.

  • huber_delta (float) – Huber loss delta parameter.

  • loss_mask (Optional[torch.Tensor]) – Mask for valid entries.

  • max_episode_steps (Optional[int]) – Max episode length for normalization.

  • loss_mask_sum (Optional[torch.Tensor]) – Sum of mask values for normalization.

  • **kwargs – Unused extra keyword arguments.

Returns:

Critic loss and metrics dictionary.

Return type:

Tuple[torch.Tensor, Dict]