consistency_loss
anomaly_match.utils.consistency_loss
¶
Consistency regularization loss for semi-supervised learning.
consistency_loss(logits_w, logits_s, name='ce', T=1.0, p_cutoff=0.0, use_hard_labels=True)
¶
Calculate consistency loss between weak and strong augmentation predictions.
This function implements different consistency regularization losses for semi-supervised learning.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
logits_w
|
Tensor
|
Logits from weakly augmented images |
required |
logits_s
|
Tensor
|
Logits from strongly augmented images |
required |
name
|
str
|
Type of consistency loss ('ce' for cross entropy or 'L2' for mean squared error) |
'ce'
|
T
|
float
|
Temperature scaling parameter for sharpening predictions (only used with soft labels) |
1.0
|
p_cutoff
|
float
|
Confidence threshold to filter out low-confidence pseudo-labels |
0.0
|
use_hard_labels
|
bool
|
Whether to use hard (argmax) or soft (distribution) pseudo-labels |
True
|
Returns:
| Type | Description |
|---|---|
Tensor | tuple[Tensor, Tensor]
|
For 'L2': scalar consistency loss value |
Tensor | tuple[Tensor, Tensor]
|
For 'ce': tuple of (masked loss, mask ratio) |