One-way pAUC — pAUCLoss (1w) + SOPAs
Optimizes partial AUC restricted to a specific FPR range [0, max_fpr].
Useful when false positives are costly and sensitivity at low FPR is the
primary concern.
Config
recipes/config_opauc.yaml
dataset:
name: cifar10
eval_splits: [val, test]
kwargs:
imratio: 0.02
model:
name: resnet18
pretrained: false
num_classes: 1
in_channels: 3
metrics:
- AUROC
metric_kwargs:
- max_fpr: 0.3
training:
project_name: libauc
experiment_name: resnet18_opauc_cifar10
SEED: 2026
epochs: 60
batch_size: 128
eval_batch_size: 256
sampling_rate: 0.5
num_workers: 0
decay_epochs: [0.5, 0.75]
loss: pAUCLoss
loss_kwargs:
mode: 1w
optimizer: SOPAs
output_path: ./output
resume_from_checkpoint: false
save_checkpoint_every: 5
automax:
deterministic: true
n_trials: 5
SEED: 42
name: resnet18_opauc_cifar10
output_directory: ./automax_output
overwrite: true
Run
python -m src.auto_trainer \
--config_file recipes/config_opauc.yaml
Note
The max_fpr value in metric_kwargs controls which region of the
ROC curve is optimized. A value of 0.3 means only the area under
the curve for FPR ∈ [0, 0.3] is maximized.