torchcell.losses.multi_dim_nan_tolerant.MultiDimNaNTolerantOrdinalCELoss

class MultiDimNaNTolerantOrdinalCELoss(num_classes: int, num_tasks: int = 2)[source]

Bases: Module

Multi-task ordinal cross-entropy loss with learnable monotonic thresholds.

property thresholds: Tensor

Return monotonic ordinal thresholds via cumulative softplus.

forward(logits: Tensor, targets: Tensor) → tuple[Tensor, Tensor][source]

Compute ordinal cross entropy loss with NaN handling.

Parameters:
  • logits – Raw model outputs [batch_size, num_tasks * (num_classes - 1)]

  • targets – Target one-hot encodings [batch_size, num_tasks * num_classes]