Configuration Reference
AutoMAX is driven by a single YAML file passed via --config_file.
It has five top-level sections:
Section |
Required |
Purpose |
|---|---|---|
|
✅ yes |
Dataset name, splits, and loading kwargs |
|
✅ yes |
Architecture and checkpoint settings |
|
no |
Evaluation metrics — defaults to |
|
✅ yes |
Loss, optimizer, schedule, and checkpointing |
|
✅ yes |
Hyperparameter search configuration |
dataset
dataset:
name: cifar10
eval_splits: [val, test]
kwargs:
imratio: 0.1
Field |
Type |
Required |
Description |
|---|---|---|---|
|
string |
✅ yes |
Dataset identifier passed to |
|
list[string] |
no |
Splits evaluated each epoch. Default: |
|
mapping |
no |
Extra arguments forwarded to |
kwargs sub-fields:
Field |
Type |
Description |
|---|---|---|
|
float |
Positive-class imbalance ratio (e.g. |
model
model:
name: resnet18
pretrained: false
pretrained_path: /path/to/checkpoint.pth
num_classes: 1
in_channels: 3
Field |
Type |
Required |
Default |
Description |
|---|---|---|---|---|
|
string |
✅ yes |
— |
Architecture identifier passed to |
|
bool |
no |
|
Whether to load pretrained weights |
|
string |
no |
— |
Path to a |
|
int |
✅ yes |
— |
Number of output classes. Use |
|
int |
no |
|
Number of input channels |
metrics
A list of metric names computed on every evaluation split after each epoch. The first entry is used as the AutoMAX optimization target.
metrics:
- AUROC
Value |
Description |
|---|---|
|
Area Under the ROC Curve |
|
Area Under the Precision-Recall Curve |
|
Accuracy at threshold 0.5 |
If omitted, defaults to [AUROC].
For partial AUC variants, supply metric_kwargs alongside metrics:
metrics:
- AUROC
metric_kwargs:
- max_fpr: 0.3 # one-way pAUC: FPR in [0, 0.3]
- min_tpr: 0.7 # two-way pAUC: TPR in [0.7, 1.0]
training
training:
project_name: libauc
experiment_name: AUCMLoss_cifar10
epochs: 100
batch_size: 128
eval_batch_size: 256
sampling_rate: 0.2
num_workers: 0
SEED: 123
loss: AUCMLoss
optimizer: PESG
decay_epochs: [0.5, 0.75]
output_path: ./output
resume_from_checkpoint: false
save_checkpoint_every: 10
Experiment tracking
Field |
Required |
Default |
Description |
|---|---|---|---|
|
no |
|
Top-level project name for run tracking |
|
✅ yes |
— |
Unique name for this run |
Core training parameters
Field |
Type |
Default |
Description |
|---|---|---|---|
|
int |
|
Total training epochs |
|
int |
|
Training mini-batch size |
|
int |
|
Batch size used during evaluation |
|
float |
|
Positive-sample ratio for |
|
int |
|
DataLoader worker processes. Use |
|
int |
|
Global random seed for reproducibility |
Loss and optimizer
Field |
Required |
Description |
|---|---|---|
|
✅ yes |
Loss function name. See Loss / Optimizer Pairs |
|
✅ yes |
Optimizer name. Must be compatible with the chosen loss |
|
no |
Override individual loss hyperparameters (merged over defaults) |
|
no |
Override individual optimizer hyperparameters (merged over defaults) |
loss_kwargs and optimizer_kwargs accept the same hyperparameter
definition format as the search spaces. See Hyperparameter Definition Format.
training:
optimizer_kwargs:
lr: 0.05 # scalar → fixed constant
loss_kwargs:
margin:
val: [0.8, 1.0] # narrow the categorical choices
default: 1.0
Learning rate schedule
Field |
Type |
Default |
Description |
|---|---|---|---|
|
list[float] |
|
Epoch fractions at which LR is decayed. E.g. |
Checkpointing
Field |
Type |
Default |
Description |
|---|---|---|---|
|
string |
|
Directory for checkpoints and results |
|
bool |
|
Resume from latest checkpoint in |
|
int |
|
Save a |
automax
automax:
name: n5_AUCMLoss_cifar10
n_trials: 5
SEED: 42
deterministic: true
output_directory: ./automax_output
overwrite: true
Field |
Type |
Required |
Default |
Description |
|---|---|---|---|---|
|
string |
✅ yes |
— |
Unique identifier for this search run |
|
int |
no |
|
Number of hyperparameter configurations to evaluate |
|
int |
no |
|
Random seed for the hyperparameter sampler |
|
bool |
no |
|
Enforce fully deterministic training across trials |
|
string |
no |
|
Directory for search results and trial logs |
|
bool |
no |
|
Overwrite an existing search run with the same |
Note
The field is output_directory in code (AutoMAXConfigration), but
some example YAMLs use output_path. Always use output_directory to
ensure the value is correctly read.