Arch: resnet50_pt
Bs trn: 128
Bs val: 128
Hidden dim: 256
Dataset: celebA
Resample class: 
Slice with: rep
Rep cluster method: gmm
Num anchor: 32
Num positive: 32
Num negative: 32
Num negative easy: 0
Weight anc by loss: False
Weight pos by loss: False
Weight neg by loss: False
Anc loss temp: 0.5
Pos loss temp: 0.5
Neg loss temp: 0.5
Data wide pos: False
Target sample ratio: 1
Balance targets: False
Additional negatives: False
Hard negative factor: 0
Full contrastive: False
Train encoder: False
No projection head: False
Projection dim: 128
Batch factor: None
Temperature: 0.05
Single pos: False
Supervised linear scale up: False
Supervised update delay: 0
Contrastive weight: 0.5
Classifier update interval: 8
Optim: sgd
Max epoch: 50
Lr: 0.0001
Momentum: 0.9
Weight decay: 0.1
Weight decay c: 0.1
Stopping window: 30
Load encoder: 
Freeze encoder: False
Finetune epochs: 0
Clip grad norm: False
Lr scheduler classifier: 
Lr scheduler: 
Grad clip grad norm: False
Erm: False
Erm only: False
Pretrained spurious path: ./model/celebA/config/stage_one_erm/seed44/stage_one_erm_model_b_epoch0_seed44.pt
Max epoch s: 1
Bs trn s: 32
Lr s: 0.001
Momentum s: 0.9
Weight decay s: 0.0005
Slice temp: 10
Log loss interval: 10
Checkpoint interval: 50
Grad checkpoint interval: 50
Log visual interval: 100
Log grad visual interval: 50
Verbose: True
Seed: 44
Replicate: 0
No cuda: False
Resume: False
New slice: False
Num workers: 12
Evaluate: False
Data cmap: hsv
Test cmap: 
P correlation: 0.9
P corr by class: None
Train classes: ['blond', 'nonblond']
Train class ratios: None
Test shift: random
Flipped: False
Q: 0.7
Pretrained bmodel: True
Cosine: False
Exp: ours
Tau: 1.1
Gamma: None
Remove label noise: False
Model for remove samples: 
Remove ratio: 0.03
Supervised contrast: True
Prioritize spurious pos: False
Contrastive type: cnc
Compute auroc: False
Model type: resnet50_pt_cnc
Criterion: cross_entropy
Pretrained: False
Max grad norm: 1.0
Adam epsilon: 1e-08
Warmup steps: 0
Max grad norm s: 1.0
Adam epsilon s: 1e-08
Warmup steps s: 0
Grad max grad norm: 1.0
Grad adam epsilon: 1e-08
Grad warmup steps: 0
Device: cuda
Img file type: .png
Display image: False
Image path: ./images/celebA/celebA/config/contrastive_umaps
Log interval: 1
Log path: ./logs/celebA/config
Results path: ./results/celebA/config
Model path: ./model/celebA/config
Loss factor: 1
Supersample labels: False
Subsample labels: False
Weigh slice samples by loss: True
Val split: 0.2
Spurious train split: 0.2
Subsample groups: False
Train method: sc
Max robust acc: -1
Max robust epoch: -1
Max robust group acc: (None, None)
Root dir: ./datasets/data/CelebA/
Target name: Blond_Hair
Confounder names: ['Male']
Image mean: 0.449
Image std: 0.226
Augment data: False
Task: celebA
Num classes: 2
Experiment configs: config
Experiment name: cnc-celebA-sw=re-na=32-np=32-nn=32-nne=0-tsr=1-t=0.05-bf=None-cw=0.5-sud=0-me=50-bst=128-o=sgd-lr=0.0001-mo=0.9-wd=0.1-wdc=0.1-spur-me=1-bst=32-lr=0.001-mo=0.9-wd=0.0005-sts=0.2-s=44-r=0
Mi resampled: None

Loading checkpoints for train split:
[-1 -1 -1 ... -1 -1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [71629 66874 22880  1387]
Loading checkpoints for val split:
[-1 -1 -1 ... -1  1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [8535 8276 2874  182]
Loading checkpoints for test split:
[-1 -1 -1 ... -1 -1  1]
<class 'numpy.ndarray'>
[0 1 2 3] [9767 7535 2480  180]
Train dataset:
    Blond_Hair = 0, Male = 0 : n = 71629
    Blond_Hair = 0, Male = 1 : n = 66874
    Blond_Hair = 1, Male = 0 : n = 22880
    Blond_Hair = 1, Male = 1 : n = 1387
Val dataset:
    Blond_Hair = 0, Male = 0 : n = 8535
    Blond_Hair = 0, Male = 1 : n = 8276
    Blond_Hair = 1, Male = 0 : n = 2874
    Blond_Hair = 1, Male = 1 : n = 182
Test dataset:
    Blond_Hair = 0, Male = 0 : n = 9767
    Blond_Hair = 0, Male = 1 : n = 7535
    Blond_Hair = 1, Male = 0 : n = 2480
    Blond_Hair = 1, Male = 1 : n = 180
------------------------
> Loading spurious model
------------------------
Pretrained model loaded from ./model/celebA/config/stage_one_erm/seed44/stage_one_erm_model_b_epoch0_seed44.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8222, 0.0287],
        [0.1301, 0.0190]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 89.395 | Val Loss: 0.003 | Val Acc: 83.863
Training:
Accuracies by groups:
0, 0  acc: 10475 / 20336 =  51.510
0, 1  acc:  5430 /  9255 =  58.671
1, 0  acc: 121864 / 124699 =  97.727
1, 1  acc:  7740 /  8480 =  91.274
--------------------------------------
Average acc: 145509 / 162770 =  89.395
Robust  acc: 10475 / 20336 =  51.510
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6601 /  8535 =  77.340
0, 1  acc:  7065 /  8276 =  85.367
1, 0  acc:  2829 /  2874 =  98.434
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 16661 / 19867 =  83.863
Robust  acc:  6601 /  8535 =  77.340
------------------------------------
New max robust acc: 77.34036321031049
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed44.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed44.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.517
Robust Acc: 82.011 | Best Acc: 98.185
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  8010 /  9767 =  82.011
0, 1  acc:  6464 /  7535 =  85.786
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17071 / 19962 =  85.517
Robust  acc:  8010 /  9767 =  82.011
------------------------------------
Accuracies by groups:
0, 0  acc:  8010 /  9767 =  82.011
0, 1  acc:  6464 /  7535 =  85.786
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17071 / 19962 =  85.517
Robust  acc:  8010 /  9767 =  82.011
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8010 /  9767 =  82.011
0, 1  acc:  6464 /  7535 =  85.786
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17071 / 19962 =  85.517
Robust  acc:  8010 /  9767 =  82.011
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 93.575 | Val Loss: 0.002 | Val Acc: 86.666
Training:
Accuracies by groups:
0, 0  acc: 13995 / 20113 =  69.582
0, 1  acc:  7362 /  9171 =  80.275
1, 0  acc: 123409 / 125240 =  98.538
1, 1  acc:  7546 /  8246 =  91.511
--------------------------------------
Average acc: 152312 / 162770 =  93.575
Robust  acc: 13995 / 20113 =  69.582
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6783 /  8535 =  79.473
0, 1  acc:  7433 /  8276 =  89.814
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17218 / 19867 =  86.666
Robust  acc:  6783 /  8535 =  79.473
------------------------------------
New max robust acc: 79.47275922671353
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed44.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed44.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.997
Robust Acc: 83.895 | Best Acc: 98.065
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8194 /  9767 =  83.895
0, 1  acc:  6779 /  7535 =  89.967
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17566 / 19962 =  87.997
Robust  acc:  8194 /  9767 =  83.895
------------------------------------
Accuracies by groups:
0, 0  acc:  8194 /  9767 =  83.895
0, 1  acc:  6779 /  7535 =  89.967
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17566 / 19962 =  87.997
Robust  acc:  8194 /  9767 =  83.895
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8194 /  9767 =  83.895
0, 1  acc:  6779 /  7535 =  89.967
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17566 / 19962 =  87.997
Robust  acc:  8194 /  9767 =  83.895
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 94.300 | Val Loss: 0.002 | Val Acc: 88.005
Training:
Accuracies by groups:
0, 0  acc: 14687 / 20270 =  72.457
0, 1  acc:  7822 /  9191 =  85.105
1, 0  acc: 123263 / 124944 =  98.655
1, 1  acc:  7720 /  8365 =  92.289
--------------------------------------
Average acc: 153492 / 162770 =  94.300
Robust  acc: 14687 / 20270 =  72.457
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6907 /  8535 =  80.926
0, 1  acc:  7582 /  8276 =  91.614
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17484 / 19867 =  88.005
Robust  acc:  6907 /  8535 =  80.926
------------------------------------
New max robust acc: 80.92560046865846
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed44.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed44.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.944
Robust Acc: 84.755 | Best Acc: 98.024
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8278 /  9767 =  84.755
0, 1  acc:  6886 /  7535 =  91.387
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17755 / 19962 =  88.944
Robust  acc:  8278 /  9767 =  84.755
------------------------------------
Accuracies by groups:
0, 0  acc:  8278 /  9767 =  84.755
0, 1  acc:  6886 /  7535 =  91.387
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17755 / 19962 =  88.944
Robust  acc:  8278 /  9767 =  84.755
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8278 /  9767 =  84.755
0, 1  acc:  6886 /  7535 =  91.387
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17755 / 19962 =  88.944
Robust  acc:  8278 /  9767 =  84.755
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.114 | Val Loss: 0.002 | Val Acc: 89.551
Training:
Accuracies by groups:
0, 0  acc: 15117 / 20160 =  74.985
0, 1  acc:  8058 /  9144 =  88.123
1, 0  acc: 123870 / 125226 =  98.917
1, 1  acc:  7772 /  8240 =  94.320
--------------------------------------
Average acc: 154817 / 162770 =  95.114
Robust  acc: 15117 / 20160 =  74.985
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7083 /  8535 =  82.988
0, 1  acc:  7728 /  8276 =  93.378
1, 0  acc:  2814 /  2874 =  97.912
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17791 / 19867 =  89.551
Robust  acc:  7083 /  8535 =  82.988
------------------------------------
New max robust acc: 82.98769771528998
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed44.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed44.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.206
Robust Acc: 83.889 | Best Acc: 97.621
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8418 /  9767 =  86.188
0, 1  acc:  7017 /  7535 =  93.125
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18007 / 19962 =  90.206
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8418 /  9767 =  86.188
0, 1  acc:  7017 /  7535 =  93.125
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18007 / 19962 =  90.206
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8418 /  9767 =  86.188
0, 1  acc:  7017 /  7535 =  93.125
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18007 / 19962 =  90.206
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 95.730 | Val Loss: 0.002 | Val Acc: 91.146
Training:
Accuracies by groups:
0, 0  acc: 15395 / 20058 =  76.752
0, 1  acc:  8273 /  9241 =  89.525
1, 0  acc: 124309 / 125272 =  99.231
1, 1  acc:  7843 /  8199 =  95.658
--------------------------------------
Average acc: 155820 / 162770 =  95.730
Robust  acc: 15395 / 20058 =  76.752
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7290 /  8535 =  85.413
0, 1  acc:  7861 /  8276 =  94.986
1, 0  acc:  2798 /  2874 =  97.356
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 18108 / 19867 =  91.146
Robust  acc:  7290 /  8535 =  85.413
------------------------------------
New max robust acc: 85.41300527240774
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed44.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed44.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.394
Robust Acc: 83.333 | Best Acc: 97.016
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8560 /  9767 =  87.642
0, 1  acc:  7128 /  7535 =  94.599
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18244 / 19962 =  91.394
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8560 /  9767 =  87.642
0, 1  acc:  7128 /  7535 =  94.599
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18244 / 19962 =  91.394
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8560 /  9767 =  87.642
0, 1  acc:  7128 /  7535 =  94.599
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18244 / 19962 =  91.394
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.612 | Val Loss: 0.002 | Val Acc: 91.775
Training:
Accuracies by groups:
0, 0  acc: 16341 / 20376 =  80.197
0, 1  acc:  8407 /  9199 =  91.390
1, 0  acc: 124275 / 124830 =  99.555
1, 1  acc:  8233 /  8365 =  98.422
--------------------------------------
Average acc: 157256 / 162770 =  96.612
Robust  acc: 16341 / 20376 =  80.197
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7390 /  8535 =  86.585
0, 1  acc:  7904 /  8276 =  95.505
1, 0  acc:  2782 /  2874 =  96.799
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 18233 / 19867 =  91.775
Robust  acc:   157 /   182 =  86.264
------------------------------------
New max robust acc: 86.26373626373626
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed44.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed44.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.085
Robust Acc: 81.667 | Best Acc: 96.250
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8682 /  9767 =  88.891
0, 1  acc:  7166 /  7535 =  95.103
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18382 / 19962 =  92.085
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8682 /  9767 =  88.891
0, 1  acc:  7166 /  7535 =  95.103
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18382 / 19962 =  92.085
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8682 /  9767 =  88.891
0, 1  acc:  7166 /  7535 =  95.103
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18382 / 19962 =  92.085
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.476 | Val Loss: 0.001 | Val Acc: 93.034
Training:
Accuracies by groups:
0, 0  acc: 16728 / 19952 =  83.841
0, 1  acc:  8439 /  9058 =  93.166
1, 0  acc: 125239 / 125452 =  99.830
1, 1  acc:  8255 /  8308 =  99.362
--------------------------------------
Average acc: 158661 / 162770 =  97.476
Robust  acc: 16728 / 19952 =  83.841
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7607 /  8535 =  89.127
0, 1  acc:  8010 /  8276 =  96.786
1, 0  acc:  2722 /  2874 =  94.711
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18483 / 19867 =  93.034
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.297
Robust Acc: 73.889 | Best Acc: 96.589
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8873 /  9767 =  90.847
0, 1  acc:  7278 /  7535 =  96.589
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18624 / 19962 =  93.297
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8873 /  9767 =  90.847
0, 1  acc:  7278 /  7535 =  96.589
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18624 / 19962 =  93.297
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8873 /  9767 =  90.847
0, 1  acc:  7278 /  7535 =  96.589
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18624 / 19962 =  93.297
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 98.022 | Val Loss: 0.001 | Val Acc: 93.623
Training:
Accuracies by groups:
0, 0  acc: 17572 / 20155 =  87.184
0, 1  acc:  8522 /  9004 =  94.647
1, 0  acc: 125245 / 125367 =  99.903
1, 1  acc:  8211 /  8244 =  99.600
--------------------------------------
Average acc: 159550 / 162770 =  98.022
Robust  acc: 17572 / 20155 =  87.184
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7711 /  8535 =  90.346
0, 1  acc:  8050 /  8276 =  97.269
1, 0  acc:  2703 /  2874 =  94.050
1, 1  acc:   136 /   182 =  74.725
------------------------------------
Average acc: 18600 / 19867 =  93.623
Robust  acc:   136 /   182 =  74.725
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.838
Robust Acc: 67.222 | Best Acc: 97.014
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  9001 /  9767 =  92.157
0, 1  acc:  7310 /  7535 =  97.014
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18732 / 19962 =  93.838
Robust  acc:   121 /   180 =  67.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9001 /  9767 =  92.157
0, 1  acc:  7310 /  7535 =  97.014
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18732 / 19962 =  93.838
Robust  acc:   121 /   180 =  67.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9001 /  9767 =  92.157
0, 1  acc:  7310 /  7535 =  97.014
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18732 / 19962 =  93.838
Robust  acc:   121 /   180 =  67.222
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.615 | Val Loss: 0.001 | Val Acc: 94.322
Training:
Accuracies by groups:
0, 0  acc: 18241 / 20068 =  90.896
0, 1  acc:  8867 /  9217 =  96.203
1, 0  acc: 125142 / 125208 =  99.947
1, 1  acc:  8265 /  8277 =  99.855
--------------------------------------
Average acc: 160515 / 162770 =  98.615
Robust  acc: 18241 / 20068 =  90.896
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7892 /  8535 =  92.466
0, 1  acc:  8103 /  8276 =  97.910
1, 0  acc:  2619 /  2874 =  91.127
1, 1  acc:   125 /   182 =  68.681
------------------------------------
Average acc: 18739 / 19867 =  94.322
Robust  acc:   125 /   182 =  68.681
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.269
Robust Acc: 64.444 | Best Acc: 97.598
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  9128 /  9767 =  93.458
0, 1  acc:  7354 /  7535 =  97.598
1, 0  acc:  2220 /  2480 =  89.516
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18818 / 19962 =  94.269
Robust  acc:   116 /   180 =  64.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9128 /  9767 =  93.458
0, 1  acc:  7354 /  7535 =  97.598
1, 0  acc:  2220 /  2480 =  89.516
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18818 / 19962 =  94.269
Robust  acc:   116 /   180 =  64.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9128 /  9767 =  93.458
0, 1  acc:  7354 /  7535 =  97.598
1, 0  acc:  2220 /  2480 =  89.516
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18818 / 19962 =  94.269
Robust  acc:   116 /   180 =  64.444
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.792 | Val Loss: 0.001 | Val Acc: 94.368
Training:
Accuracies by groups:
0, 0  acc: 18583 / 20143 =  92.255
0, 1  acc:  8915 /  9205 =  96.850
1, 0  acc: 125221 / 125317 =  99.923
1, 1  acc:  8084 /  8105 =  99.741
--------------------------------------
Average acc: 160803 / 162770 =  98.792
Robust  acc: 18583 / 20143 =  92.255
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7869 /  8535 =  92.197
0, 1  acc:  8157 /  8276 =  98.562
1, 0  acc:  2622 /  2874 =  91.232
1, 1  acc:   100 /   182 =  54.945
------------------------------------
Average acc: 18748 / 19867 =  94.368
Robust  acc:   100 /   182 =  54.945
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.550
Robust Acc: 57.778 | Best Acc: 98.261
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9132 /  9767 =  93.499
0, 1  acc:  7404 /  7535 =  98.261
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   104 /   180 =  57.778
------------------------------------
Average acc: 18874 / 19962 =  94.550
Robust  acc:   104 /   180 =  57.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9132 /  9767 =  93.499
0, 1  acc:  7404 /  7535 =  98.261
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   104 /   180 =  57.778
------------------------------------
Average acc: 18874 / 19962 =  94.550
Robust  acc:   104 /   180 =  57.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9132 /  9767 =  93.499
0, 1  acc:  7404 /  7535 =  98.261
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   104 /   180 =  57.778
------------------------------------
Average acc: 18874 / 19962 =  94.550
Robust  acc:   104 /   180 =  57.778
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.678 | Val Loss: 0.001 | Val Acc: 93.139
Training:
Accuracies by groups:
0, 0  acc: 18450 / 20073 =  91.915
0, 1  acc:  8938 /  9215 =  96.994
1, 0  acc: 124991 / 125192 =  99.839
1, 1  acc:  8239 /  8290 =  99.385
--------------------------------------
Average acc: 160618 / 162770 =  98.678
Robust  acc: 18450 / 20073 =  91.915
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7572 /  8535 =  88.717
0, 1  acc:  8098 /  8276 =  97.849
1, 0  acc:  2713 /  2874 =  94.398
1, 1  acc:   121 /   182 =  66.484
------------------------------------
Average acc: 18504 / 19867 =  93.139
Robust  acc:   121 /   182 =  66.484
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.508
Robust Acc: 67.222 | Best Acc: 97.346
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8889 /  9767 =  91.011
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18666 / 19962 =  93.508
Robust  acc:   121 /   180 =  67.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8889 /  9767 =  91.011
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18666 / 19962 =  93.508
Robust  acc:   121 /   180 =  67.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8889 /  9767 =  91.011
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18666 / 19962 =  93.508
Robust  acc:   121 /   180 =  67.222
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.455 | Val Loss: 0.002 | Val Acc: 91.841
Training:
Accuracies by groups:
0, 0  acc: 18410 / 20215 =  91.071
0, 1  acc:  8926 /  9203 =  96.990
1, 0  acc: 124501 / 124849 =  99.721
1, 1  acc:  8418 /  8503 =  99.000
--------------------------------------
Average acc: 160255 / 162770 =  98.455
Robust  acc: 18410 / 20215 =  91.071
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7335 /  8535 =  85.940
0, 1  acc:  7999 /  8276 =  96.653
1, 0  acc:  2766 /  2874 =  96.242
1, 1  acc:   146 /   182 =  80.220
------------------------------------
Average acc: 18246 / 19867 =  91.841
Robust  acc:   146 /   182 =  80.220
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.270
Robust Acc: 71.667 | Best Acc: 96.045
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8684 /  9767 =  88.912
0, 1  acc:  7237 /  7535 =  96.045
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18419 / 19962 =  92.270
Robust  acc:   129 /   180 =  71.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8684 /  9767 =  88.912
0, 1  acc:  7237 /  7535 =  96.045
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18419 / 19962 =  92.270
Robust  acc:   129 /   180 =  71.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8684 /  9767 =  88.912
0, 1  acc:  7237 /  7535 =  96.045
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18419 / 19962 =  92.270
Robust  acc:   129 /   180 =  71.667
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.860 | Val Loss: 0.002 | Val Acc: 89.319
Training:
Accuracies by groups:
0, 0  acc: 17977 / 20265 =  88.710
0, 1  acc:  8909 /  9332 =  95.467
1, 0  acc: 124240 / 124832 =  99.526
1, 1  acc:  8161 /  8341 =  97.842
--------------------------------------
Average acc: 159287 / 162770 =  97.860
Robust  acc: 17977 / 20265 =  88.710
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6970 /  8535 =  81.664
0, 1  acc:  7845 /  8276 =  94.792
1, 0  acc:  2785 /  2874 =  96.903
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 17745 / 19867 =  89.319
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.946
Robust Acc: 77.778 | Best Acc: 96.895
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8325 /  9767 =  85.236
0, 1  acc:  7087 /  7535 =  94.054
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 17955 / 19962 =  89.946
Robust  acc:   140 /   180 =  77.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8325 /  9767 =  85.236
0, 1  acc:  7087 /  7535 =  94.054
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 17955 / 19962 =  89.946
Robust  acc:   140 /   180 =  77.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8325 /  9767 =  85.236
0, 1  acc:  7087 /  7535 =  94.054
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 17955 / 19962 =  89.946
Robust  acc:   140 /   180 =  77.778
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.227 | Val Loss: 0.001 | Val Acc: 94.614
Training:
Accuracies by groups:
0, 0  acc: 17386 / 20325 =  85.540
0, 1  acc:  8771 /  9309 =  94.221
1, 0  acc: 124065 / 124862 =  99.362
1, 1  acc:  8035 /  8274 =  97.111
--------------------------------------
Average acc: 158257 / 162770 =  97.227
Robust  acc: 17386 / 20325 =  85.540
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7926 /  8535 =  92.865
0, 1  acc:  8169 /  8276 =  98.707
1, 0  acc:  2598 /  2874 =  90.397
1, 1  acc:   104 /   182 =  57.143
------------------------------------
Average acc: 18797 / 19867 =  94.614
Robust  acc:   104 /   182 =  57.143
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.735
Robust Acc: 53.333 | Best Acc: 98.527
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  9182 /  9767 =  94.010
0, 1  acc:  7424 /  7535 =  98.527
1, 0  acc:  2209 /  2480 =  89.073
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18911 / 19962 =  94.735
Robust  acc:    96 /   180 =  53.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9182 /  9767 =  94.010
0, 1  acc:  7424 /  7535 =  98.527
1, 0  acc:  2209 /  2480 =  89.073
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18911 / 19962 =  94.735
Robust  acc:    96 /   180 =  53.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9182 /  9767 =  94.010
0, 1  acc:  7424 /  7535 =  98.527
1, 0  acc:  2209 /  2480 =  89.073
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18911 / 19962 =  94.735
Robust  acc:    96 /   180 =  53.333
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.846 | Val Loss: 0.001 | Val Acc: 93.618
Training:
Accuracies by groups:
0, 0  acc: 16979 / 20224 =  83.955
0, 1  acc:  8514 /  9128 =  93.273
1, 0  acc: 124146 / 125135 =  99.210
1, 1  acc:  7998 /  8283 =  96.559
--------------------------------------
Average acc: 157637 / 162770 =  96.846
Robust  acc: 16979 / 20224 =  83.955
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8389 /  8535 =  98.289
0, 1  acc:  8248 /  8276 =  99.662
1, 0  acc:  1908 /  2874 =  66.388
1, 1  acc:    54 /   182 =  29.670
------------------------------------
Average acc: 18599 / 19867 =  93.618
Robust  acc:    54 /   182 =  29.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.783
Robust Acc: 28.333 | Best Acc: 99.496
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  9602 /  9767 =  98.311
0, 1  acc:  7497 /  7535 =  99.496
1, 0  acc:  1571 /  2480 =  63.347
1, 1  acc:    51 /   180 =  28.333
------------------------------------
Average acc: 18721 / 19962 =  93.783
Robust  acc:    51 /   180 =  28.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9602 /  9767 =  98.311
0, 1  acc:  7497 /  7535 =  99.496
1, 0  acc:  1571 /  2480 =  63.347
1, 1  acc:    51 /   180 =  28.333
------------------------------------
Average acc: 18721 / 19962 =  93.783
Robust  acc:    51 /   180 =  28.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9602 /  9767 =  98.311
0, 1  acc:  7497 /  7535 =  99.496
1, 0  acc:  1571 /  2480 =  63.347
1, 1  acc:    51 /   180 =  28.333
------------------------------------
Average acc: 18721 / 19962 =  93.783
Robust  acc:    51 /   180 =  28.333
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.179 | Val Loss: 0.003 | Val Acc: 87.069
Training:
Accuracies by groups:
0, 0  acc: 16180 / 20056 =  80.674
0, 1  acc:  8552 /  9333 =  91.632
1, 0  acc: 124009 / 125201 =  99.048
1, 1  acc:  7809 /  8180 =  95.465
--------------------------------------
Average acc: 156550 / 162770 =  96.179
Robust  acc: 16180 / 20056 =  80.674
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6685 /  8535 =  78.325
0, 1  acc:  7616 /  8276 =  92.025
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17298 / 19867 =  87.069
Robust  acc:  6685 /  8535 =  78.325
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.203
Robust Acc: 82.820 | Best Acc: 98.468
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8089 /  9767 =  82.820
0, 1  acc:  6918 /  7535 =  91.812
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17607 / 19962 =  88.203
Robust  acc:  8089 /  9767 =  82.820
------------------------------------
Accuracies by groups:
0, 0  acc:  8089 /  9767 =  82.820
0, 1  acc:  6918 /  7535 =  91.812
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17607 / 19962 =  88.203
Robust  acc:  8089 /  9767 =  82.820
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8089 /  9767 =  82.820
0, 1  acc:  6918 /  7535 =  91.812
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17607 / 19962 =  88.203
Robust  acc:  8089 /  9767 =  82.820
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.629 | Val Loss: 0.002 | Val Acc: 91.146
Training:
Accuracies by groups:
0, 0  acc: 15732 / 20108 =  78.238
0, 1  acc:  8300 /  9149 =  90.720
1, 0  acc: 123730 / 125193 =  98.831
1, 1  acc:  7893 /  8320 =  94.868
--------------------------------------
Average acc: 155655 / 162770 =  95.629
Robust  acc: 15732 / 20108 =  78.238
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7371 /  8535 =  86.362
0, 1  acc:  7815 /  8276 =  94.430
1, 0  acc:  2761 /  2874 =  96.068
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 18108 / 19867 =  91.146
Robust  acc:  7371 /  8535 =  86.362
------------------------------------
New max robust acc: 86.36203866432336
debias model - Saving best checkpoint at epoch 16
replace: True
-> Updating checkpoint debias-wga-best_seed44.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed44.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.714
Robust Acc: 80.000 | Best Acc: 95.202
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8688 /  9767 =  88.953
0, 1  acc:  7115 /  7535 =  94.426
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18308 / 19962 =  91.714
Robust  acc:   144 /   180 =  80.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8688 /  9767 =  88.953
0, 1  acc:  7115 /  7535 =  94.426
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18308 / 19962 =  91.714
Robust  acc:   144 /   180 =  80.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8688 /  9767 =  88.953
0, 1  acc:  7115 /  7535 =  94.426
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18308 / 19962 =  91.714
Robust  acc:   144 /   180 =  80.000
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.048 | Val Loss: 0.001 | Val Acc: 94.785
Training:
Accuracies by groups:
0, 0  acc: 15406 / 20184 =  76.328
0, 1  acc:  7984 /  9054 =  88.182
1, 0  acc: 123582 / 125261 =  98.660
1, 1  acc:  7738 /  8271 =  93.556
--------------------------------------
Average acc: 154710 / 162770 =  95.048
Robust  acc: 15406 / 20184 =  76.328
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8192 /  8535 =  95.981
0, 1  acc:  8212 /  8276 =  99.227
1, 0  acc:  2343 /  2874 =  81.524
1, 1  acc:    84 /   182 =  46.154
------------------------------------
Average acc: 18831 / 19867 =  94.785
Robust  acc:    84 /   182 =  46.154
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.895
Robust Acc: 40.556 | Best Acc: 99.204
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  9435 /  9767 =  96.601
0, 1  acc:  7475 /  7535 =  99.204
1, 0  acc:  1960 /  2480 =  79.032
1, 1  acc:    73 /   180 =  40.556
------------------------------------
Average acc: 18943 / 19962 =  94.895
Robust  acc:    73 /   180 =  40.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9435 /  9767 =  96.601
0, 1  acc:  7475 /  7535 =  99.204
1, 0  acc:  1960 /  2480 =  79.032
1, 1  acc:    73 /   180 =  40.556
------------------------------------
Average acc: 18943 / 19962 =  94.895
Robust  acc:    73 /   180 =  40.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9435 /  9767 =  96.601
0, 1  acc:  7475 /  7535 =  99.204
1, 0  acc:  1960 /  2480 =  79.032
1, 1  acc:    73 /   180 =  40.556
------------------------------------
Average acc: 18943 / 19962 =  94.895
Robust  acc:    73 /   180 =  40.556
------------------------------------
Epoch:  19 | Train Loss: 0.002 | Train Acc: 94.468 | Val Loss: 0.007 | Val Acc: 56.601
Training:
Accuracies by groups:
0, 0  acc: 15158 / 20343 =  74.512
0, 1  acc:  8203 /  9469 =  86.630
1, 0  acc: 122739 / 124688 =  98.437
1, 1  acc:  7665 /  8270 =  92.684
--------------------------------------
Average acc: 153765 / 162770 =  94.468
Robust  acc: 15158 / 20343 =  74.512
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3214 /  8535 =  37.657
0, 1  acc:  4976 /  8276 =  60.126
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11245 / 19867 =  56.601
Robust  acc:  3214 /  8535 =  37.657
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 56.953
Robust Acc: 42.541 | Best Acc: 99.919
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  4155 /  9767 =  42.541
0, 1  acc:  4559 /  7535 =  60.504
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11369 / 19962 =  56.953
Robust  acc:  4155 /  9767 =  42.541
------------------------------------
Accuracies by groups:
0, 0  acc:  4155 /  9767 =  42.541
0, 1  acc:  4559 /  7535 =  60.504
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11369 / 19962 =  56.953
Robust  acc:  4155 /  9767 =  42.541
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4155 /  9767 =  42.541
0, 1  acc:  4559 /  7535 =  60.504
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11369 / 19962 =  56.953
Robust  acc:  4155 /  9767 =  42.541
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 94.183 | Val Loss: 0.006 | Val Acc: 66.794
Training:
Accuracies by groups:
0, 0  acc: 14700 / 20070 =  73.244
0, 1  acc:  7813 /  9184 =  85.072
1, 0  acc: 123198 / 125273 =  98.344
1, 1  acc:  7591 /  8243 =  92.090
--------------------------------------
Average acc: 153302 / 162770 =  94.183
Robust  acc: 14700 / 20070 =  73.244
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4830 /  8535 =  56.591
0, 1  acc:  5391 /  8276 =  65.140
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13270 / 19867 =  66.794
Robust  acc:  4830 /  8535 =  56.591
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.170
Robust Acc: 62.404 | Best Acc: 99.677
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  6095 /  9767 =  62.404
0, 1  acc:  4863 /  7535 =  64.539
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13608 / 19962 =  68.170
Robust  acc:  6095 /  9767 =  62.404
------------------------------------
Accuracies by groups:
0, 0  acc:  6095 /  9767 =  62.404
0, 1  acc:  4863 /  7535 =  64.539
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13608 / 19962 =  68.170
Robust  acc:  6095 /  9767 =  62.404
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6095 /  9767 =  62.404
0, 1  acc:  4863 /  7535 =  64.539
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13608 / 19962 =  68.170
Robust  acc:  6095 /  9767 =  62.404
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 93.974 | Val Loss: 0.002 | Val Acc: 92.435
Training:
Accuracies by groups:
0, 0  acc: 14612 / 20221 =  72.262
0, 1  acc:  7839 /  9212 =  85.096
1, 0  acc: 122880 / 125057 =  98.259
1, 1  acc:  7631 /  8280 =  92.162
--------------------------------------
Average acc: 152962 / 162770 =  93.974
Robust  acc: 14612 / 20221 =  72.262
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7630 /  8535 =  89.397
0, 1  acc:  7901 /  8276 =  95.469
1, 0  acc:  2688 /  2874 =  93.528
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18364 / 19867 =  92.435
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.192
Robust Acc: 75.000 | Best Acc: 95.474
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8977 /  9767 =  91.912
0, 1  acc:  7194 /  7535 =  95.474
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18603 / 19962 =  93.192
Robust  acc:   135 /   180 =  75.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8977 /  9767 =  91.912
0, 1  acc:  7194 /  7535 =  95.474
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18603 / 19962 =  93.192
Robust  acc:   135 /   180 =  75.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8977 /  9767 =  91.912
0, 1  acc:  7194 /  7535 =  95.474
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18603 / 19962 =  93.192
Robust  acc:   135 /   180 =  75.000
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 93.613 | Val Loss: 0.004 | Val Acc: 78.462
Training:
Accuracies by groups:
0, 0  acc: 14304 / 20225 =  70.724
0, 1  acc:  7637 /  9172 =  83.264
1, 0  acc: 122778 / 125063 =  98.173
1, 1  acc:  7655 /  8310 =  92.118
--------------------------------------
Average acc: 152374 / 162770 =  93.613
Robust  acc: 14304 / 20225 =  70.724
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6110 /  8535 =  71.588
0, 1  acc:  6444 /  8276 =  77.864
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 15588 / 19867 =  78.462
Robust  acc:  6110 /  8535 =  71.588
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.448
Robust Acc: 76.656 | Best Acc: 99.032
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  7487 /  9767 =  76.656
0, 1  acc:  5945 /  7535 =  78.898
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16059 / 19962 =  80.448
Robust  acc:  7487 /  9767 =  76.656
------------------------------------
Accuracies by groups:
0, 0  acc:  7487 /  9767 =  76.656
0, 1  acc:  5945 /  7535 =  78.898
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16059 / 19962 =  80.448
Robust  acc:  7487 /  9767 =  76.656
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7487 /  9767 =  76.656
0, 1  acc:  5945 /  7535 =  78.898
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16059 / 19962 =  80.448
Robust  acc:  7487 /  9767 =  76.656
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 93.571 | Val Loss: 0.002 | Val Acc: 92.671
Training:
Accuracies by groups:
0, 0  acc: 13997 / 19933 =  70.220
0, 1  acc:  7508 /  9231 =  81.335
1, 0  acc: 123212 / 125373 =  98.276
1, 1  acc:  7588 /  8233 =  92.166
--------------------------------------
Average acc: 152305 / 162770 =  93.571
Robust  acc: 13997 / 19933 =  70.220
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7668 /  8535 =  89.842
0, 1  acc:  7950 /  8276 =  96.061
1, 0  acc:  2658 /  2874 =  92.484
1, 1  acc:   135 /   182 =  74.176
------------------------------------
Average acc: 18411 / 19867 =  92.671
Robust  acc:   135 /   182 =  74.176
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.287
Robust Acc: 70.000 | Best Acc: 95.992
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  8986 /  9767 =  92.004
0, 1  acc:  7233 /  7535 =  95.992
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18622 / 19962 =  93.287
Robust  acc:   126 /   180 =  70.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8986 /  9767 =  92.004
0, 1  acc:  7233 /  7535 =  95.992
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18622 / 19962 =  93.287
Robust  acc:   126 /   180 =  70.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8986 /  9767 =  92.004
0, 1  acc:  7233 /  7535 =  95.992
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18622 / 19962 =  93.287
Robust  acc:   126 /   180 =  70.000
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 93.449 | Val Loss: 0.007 | Val Acc: 54.925
Training:
Accuracies by groups:
0, 0  acc: 13980 / 20225 =  69.122
0, 1  acc:  7475 /  9261 =  80.715
1, 0  acc: 123041 / 125101 =  98.353
1, 1  acc:  7611 /  8183 =  93.010
--------------------------------------
Average acc: 152107 / 162770 =  93.449
Robust  acc: 13980 / 20225 =  69.122
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3872 /  8535 =  45.366
0, 1  acc:  3992 /  8276 =  48.236
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10912 / 19867 =  54.925
Robust  acc:  3872 /  8535 =  45.366
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 55.425
Robust Acc: 46.795 | Best Acc: 99.677
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  4889 /  9767 =  50.056
0, 1  acc:  3526 /  7535 =  46.795
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11064 / 19962 =  55.425
Robust  acc:  3526 /  7535 =  46.795
------------------------------------
Accuracies by groups:
0, 0  acc:  4889 /  9767 =  50.056
0, 1  acc:  3526 /  7535 =  46.795
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11064 / 19962 =  55.425
Robust  acc:  3526 /  7535 =  46.795
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4889 /  9767 =  50.056
0, 1  acc:  3526 /  7535 =  46.795
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11064 / 19962 =  55.425
Robust  acc:  3526 /  7535 =  46.795
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 93.305 | Val Loss: 0.003 | Val Acc: 92.173
Training:
Accuracies by groups:
0, 0  acc: 13761 / 20125 =  68.378
0, 1  acc:  7309 /  9228 =  79.205
1, 0  acc: 123108 / 125123 =  98.390
1, 1  acc:  7694 /  8294 =  92.766
--------------------------------------
Average acc: 151872 / 162770 =  93.305
Robust  acc: 13761 / 20125 =  68.378
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7633 /  8535 =  89.432
0, 1  acc:  7890 /  8276 =  95.336
1, 0  acc:  2662 /  2874 =  92.624
1, 1  acc:   127 /   182 =  69.780
------------------------------------
Average acc: 18312 / 19867 =  92.173
Robust  acc:   127 /   182 =  69.780
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.032
Robust Acc: 65.556 | Best Acc: 95.700
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8961 /  9767 =  91.748
0, 1  acc:  7211 /  7535 =  95.700
1, 0  acc:  2281 /  2480 =  91.976
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18571 / 19962 =  93.032
Robust  acc:   118 /   180 =  65.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8961 /  9767 =  91.748
0, 1  acc:  7211 /  7535 =  95.700
1, 0  acc:  2281 /  2480 =  91.976
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18571 / 19962 =  93.032
Robust  acc:   118 /   180 =  65.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8961 /  9767 =  91.748
0, 1  acc:  7211 /  7535 =  95.700
1, 0  acc:  2281 /  2480 =  91.976
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18571 / 19962 =  93.032
Robust  acc:   118 /   180 =  65.556
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 93.346 | Val Loss: 0.004 | Val Acc: 82.403
Training:
Accuracies by groups:
0, 0  acc: 13944 / 20417 =  68.296
0, 1  acc:  7246 /  9217 =  78.616
1, 0  acc: 122942 / 124778 =  98.529
1, 1  acc:  7808 /  8358 =  93.419
--------------------------------------
Average acc: 151940 / 162770 =  93.346
Robust  acc: 13944 / 20417 =  68.296
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6473 /  8535 =  75.841
0, 1  acc:  6912 /  8276 =  83.519
1, 0  acc:  2812 /  2874 =  97.843
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16371 / 19867 =  82.403
Robust  acc:  6473 /  8535 =  75.841
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.050
Robust Acc: 81.059 | Best Acc: 97.298
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  7917 /  9767 =  81.059
0, 1  acc:  6278 /  7535 =  83.318
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16778 / 19962 =  84.050
Robust  acc:  7917 /  9767 =  81.059
------------------------------------
Accuracies by groups:
0, 0  acc:  7917 /  9767 =  81.059
0, 1  acc:  6278 /  7535 =  83.318
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16778 / 19962 =  84.050
Robust  acc:  7917 /  9767 =  81.059
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7917 /  9767 =  81.059
0, 1  acc:  6278 /  7535 =  83.318
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16778 / 19962 =  84.050
Robust  acc:  7917 /  9767 =  81.059
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 93.286 | Val Loss: 0.007 | Val Acc: 52.560
Training:
Accuracies by groups:
0, 0  acc: 13811 / 20266 =  68.149
0, 1  acc:  7103 /  9081 =  78.218
1, 0  acc: 123192 / 125094 =  98.480
1, 1  acc:  7736 /  8329 =  92.880
--------------------------------------
Average acc: 151842 / 162770 =  93.286
Robust  acc: 13811 / 20266 =  68.149
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3483 /  8535 =  40.808
0, 1  acc:  3909 /  8276 =  47.233
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10442 / 19867 =  52.560
Robust  acc:  3483 /  8535 =  40.808
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 53.932
Robust Acc: 46.739 | Best Acc: 99.879
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  4565 /  9767 =  46.739
0, 1  acc:  3546 /  7535 =  47.060
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10766 / 19962 =  53.932
Robust  acc:  4565 /  9767 =  46.739
------------------------------------
Accuracies by groups:
0, 0  acc:  4565 /  9767 =  46.739
0, 1  acc:  3546 /  7535 =  47.060
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10766 / 19962 =  53.932
Robust  acc:  4565 /  9767 =  46.739
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4565 /  9767 =  46.739
0, 1  acc:  3546 /  7535 =  47.060
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10766 / 19962 =  53.932
Robust  acc:  4565 /  9767 =  46.739
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 93.253 | Val Loss: 0.004 | Val Acc: 83.480
Training:
Accuracies by groups:
0, 0  acc: 13533 / 20116 =  67.275
0, 1  acc:  7303 /  9396 =  77.725
1, 0  acc: 123270 / 125029 =  98.593
1, 1  acc:  7682 /  8229 =  93.353
--------------------------------------
Average acc: 151788 / 162770 =  93.253
Robust  acc: 13533 / 20116 =  67.275
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6552 /  8535 =  76.766
0, 1  acc:  7023 /  8276 =  84.860
1, 0  acc:  2832 /  2874 =  98.539
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16585 / 19867 =  83.480
Robust  acc:  6552 /  8535 =  76.766
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.911
Robust Acc: 81.540 | Best Acc: 98.105
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  7964 /  9767 =  81.540
0, 1  acc:  6383 /  7535 =  84.711
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16950 / 19962 =  84.911
Robust  acc:  7964 /  9767 =  81.540
------------------------------------
Accuracies by groups:
0, 0  acc:  7964 /  9767 =  81.540
0, 1  acc:  6383 /  7535 =  84.711
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16950 / 19962 =  84.911
Robust  acc:  7964 /  9767 =  81.540
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7964 /  9767 =  81.540
0, 1  acc:  6383 /  7535 =  84.711
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16950 / 19962 =  84.911
Robust  acc:  7964 /  9767 =  81.540
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 93.293 | Val Loss: 0.006 | Val Acc: 64.454
Training:
Accuracies by groups:
0, 0  acc: 13443 / 20049 =  67.051
0, 1  acc:  7286 /  9347 =  77.950
1, 0  acc: 123374 / 125081 =  98.635
1, 1  acc:  7750 /  8293 =  93.452
--------------------------------------
Average acc: 151853 / 162770 =  93.293
Robust  acc: 13443 / 20049 =  67.051
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4858 /  8535 =  56.919
0, 1  acc:  4904 /  8276 =  59.256
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12805 / 19867 =  64.454
Robust  acc:  4858 /  8535 =  56.919
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.980
Robust Acc: 58.832 | Best Acc: 99.435
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  6095 /  9767 =  62.404
0, 1  acc:  4433 /  7535 =  58.832
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13171 / 19962 =  65.980
Robust  acc:  4433 /  7535 =  58.832
------------------------------------
Accuracies by groups:
0, 0  acc:  6095 /  9767 =  62.404
0, 1  acc:  4433 /  7535 =  58.832
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13171 / 19962 =  65.980
Robust  acc:  4433 /  7535 =  58.832
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6095 /  9767 =  62.404
0, 1  acc:  4433 /  7535 =  58.832
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13171 / 19962 =  65.980
Robust  acc:  4433 /  7535 =  58.832
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.184 | Val Loss: 0.005 | Val Acc: 74.772
Training:
Accuracies by groups:
0, 0  acc: 13429 / 20330 =  66.055
0, 1  acc:  7128 /  9216 =  77.344
1, 0  acc: 123473 / 125075 =  98.719
1, 1  acc:  7646 /  8149 =  93.827
--------------------------------------
Average acc: 151676 / 162770 =  93.184
Robust  acc: 13429 / 20330 =  66.055
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5730 /  8535 =  67.135
0, 1  acc:  6093 /  8276 =  73.623
1, 0  acc:  2852 /  2874 =  99.235
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14855 / 19867 =  74.772
Robust  acc:  5730 /  8535 =  67.135
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.400
Robust Acc: 72.120 | Best Acc: 99.113
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7044 /  9767 =  72.120
0, 1  acc:  5572 /  7535 =  73.948
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15251 / 19962 =  76.400
Robust  acc:  7044 /  9767 =  72.120
------------------------------------
Accuracies by groups:
0, 0  acc:  7044 /  9767 =  72.120
0, 1  acc:  5572 /  7535 =  73.948
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15251 / 19962 =  76.400
Robust  acc:  7044 /  9767 =  72.120
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7044 /  9767 =  72.120
0, 1  acc:  5572 /  7535 =  73.948
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15251 / 19962 =  76.400
Robust  acc:  7044 /  9767 =  72.120
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.082 | Val Loss: 0.004 | Val Acc: 80.571
Training:
Accuracies by groups:
0, 0  acc: 13357 / 20228 =  66.032
0, 1  acc:  7035 /  9219 =  76.310
1, 0  acc: 123266 / 124980 =  98.629
1, 1  acc:  7851 /  8343 =  94.103
--------------------------------------
Average acc: 151509 / 162770 =  93.082
Robust  acc: 13357 / 20228 =  66.032
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5891 /  8535 =  69.022
0, 1  acc:  7085 /  8276 =  85.609
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16007 / 19867 =  80.571
Robust  acc:  5891 /  8535 =  69.022
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.216
Robust Acc: 75.079 | Best Acc: 98.911
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  7333 /  9767 =  75.079
0, 1  acc:  6459 /  7535 =  85.720
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16412 / 19962 =  82.216
Robust  acc:  7333 /  9767 =  75.079
------------------------------------
Accuracies by groups:
0, 0  acc:  7333 /  9767 =  75.079
0, 1  acc:  6459 /  7535 =  85.720
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16412 / 19962 =  82.216
Robust  acc:  7333 /  9767 =  75.079
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7333 /  9767 =  75.079
0, 1  acc:  6459 /  7535 =  85.720
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16412 / 19962 =  82.216
Robust  acc:  7333 /  9767 =  75.079
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.177 | Val Loss: 0.003 | Val Acc: 88.191
Training:
Accuracies by groups:
0, 0  acc: 13261 / 20049 =  66.143
0, 1  acc:  7034 /  9234 =  76.175
1, 0  acc: 123531 / 125150 =  98.706
1, 1  acc:  7838 /  8337 =  94.015
--------------------------------------
Average acc: 151664 / 162770 =  93.177
Robust  acc: 13261 / 20049 =  66.143
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7051 /  8535 =  82.613
0, 1  acc:  7523 /  8276 =  90.901
1, 0  acc:  2785 /  2874 =  96.903
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17521 / 19867 =  88.191
Robust  acc:  7051 /  8535 =  82.613
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.540
Robust Acc: 81.667 | Best Acc: 95.242
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  8461 /  9767 =  86.628
0, 1  acc:  6904 /  7535 =  91.626
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 17874 / 19962 =  89.540
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8461 /  9767 =  86.628
0, 1  acc:  6904 /  7535 =  91.626
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 17874 / 19962 =  89.540
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8461 /  9767 =  86.628
0, 1  acc:  6904 /  7535 =  91.626
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 17874 / 19962 =  89.540
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.120 | Val Loss: 0.004 | Val Acc: 84.059
Training:
Accuracies by groups:
0, 0  acc: 13277 / 20198 =  65.734
0, 1  acc:  7016 /  9198 =  76.277
1, 0  acc: 123316 / 124929 =  98.709
1, 1  acc:  7962 /  8445 =  94.281
--------------------------------------
Average acc: 151571 / 162770 =  93.120
Robust  acc: 13277 / 20198 =  65.734
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6439 /  8535 =  75.442
0, 1  acc:  7249 /  8276 =  87.591
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16700 / 19867 =  84.059
Robust  acc:  6439 /  8535 =  75.442
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.452
Robust Acc: 79.758 | Best Acc: 98.468
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7790 /  9767 =  79.758
0, 1  acc:  6664 /  7535 =  88.441
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17058 / 19962 =  85.452
Robust  acc:  7790 /  9767 =  79.758
------------------------------------
Accuracies by groups:
0, 0  acc:  7790 /  9767 =  79.758
0, 1  acc:  6664 /  7535 =  88.441
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17058 / 19962 =  85.452
Robust  acc:  7790 /  9767 =  79.758
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7790 /  9767 =  79.758
0, 1  acc:  6664 /  7535 =  88.441
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17058 / 19962 =  85.452
Robust  acc:  7790 /  9767 =  79.758
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.126 | Val Loss: 0.004 | Val Acc: 80.143
Training:
Accuracies by groups:
0, 0  acc: 13192 / 20194 =  65.326
0, 1  acc:  7049 /  9194 =  76.670
1, 0  acc: 123630 / 125203 =  98.744
1, 1  acc:  7710 /  8179 =  94.266
--------------------------------------
Average acc: 151581 / 162770 =  93.126
Robust  acc: 13192 / 20194 =  65.326
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6040 /  8535 =  70.767
0, 1  acc:  6853 /  8276 =  82.806
1, 0  acc:  2852 /  2874 =  99.235
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15922 / 19867 =  80.143
Robust  acc:  6040 /  8535 =  70.767
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.191
Robust Acc: 76.421 | Best Acc: 99.234
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7464 /  9767 =  76.421
0, 1  acc:  6309 /  7535 =  83.729
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16407 / 19962 =  82.191
Robust  acc:  7464 /  9767 =  76.421
------------------------------------
Accuracies by groups:
0, 0  acc:  7464 /  9767 =  76.421
0, 1  acc:  6309 /  7535 =  83.729
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16407 / 19962 =  82.191
Robust  acc:  7464 /  9767 =  76.421
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7464 /  9767 =  76.421
0, 1  acc:  6309 /  7535 =  83.729
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16407 / 19962 =  82.191
Robust  acc:  7464 /  9767 =  76.421
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.218 | Val Loss: 0.003 | Val Acc: 93.904
Training:
Accuracies by groups:
0, 0  acc: 13387 / 20209 =  66.243
0, 1  acc:  7075 /  9218 =  76.752
1, 0  acc: 123548 / 125114 =  98.748
1, 1  acc:  7721 /  8229 =  93.827
--------------------------------------
Average acc: 151731 / 162770 =  93.218
Robust  acc: 13387 / 20209 =  66.243
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8174 /  8535 =  95.770
0, 1  acc:  8171 /  8276 =  98.731
1, 0  acc:  2230 /  2874 =  77.592
1, 1  acc:    81 /   182 =  44.505
------------------------------------
Average acc: 18656 / 19867 =  93.904
Robust  acc:    81 /   182 =  44.505
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.359
Robust Acc: 38.333 | Best Acc: 98.859
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  9443 /  9767 =  96.683
0, 1  acc:  7449 /  7535 =  98.859
1, 0  acc:  1875 /  2480 =  75.605
1, 1  acc:    69 /   180 =  38.333
------------------------------------
Average acc: 18836 / 19962 =  94.359
Robust  acc:    69 /   180 =  38.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9443 /  9767 =  96.683
0, 1  acc:  7449 /  7535 =  98.859
1, 0  acc:  1875 /  2480 =  75.605
1, 1  acc:    69 /   180 =  38.333
------------------------------------
Average acc: 18836 / 19962 =  94.359
Robust  acc:    69 /   180 =  38.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9443 /  9767 =  96.683
0, 1  acc:  7449 /  7535 =  98.859
1, 0  acc:  1875 /  2480 =  75.605
1, 1  acc:    69 /   180 =  38.333
------------------------------------
Average acc: 18836 / 19962 =  94.359
Robust  acc:    69 /   180 =  38.333
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.236 | Val Loss: 0.007 | Val Acc: 57.221
Training:
Accuracies by groups:
0, 0  acc: 13233 / 20068 =  65.941
0, 1  acc:  7091 /  9211 =  76.984
1, 0  acc: 123715 / 125282 =  98.749
1, 1  acc:  7722 /  8209 =  94.067
--------------------------------------
Average acc: 151761 / 162770 =  93.236
Robust  acc: 13233 / 20068 =  65.941
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3834 /  8535 =  44.921
0, 1  acc:  4480 /  8276 =  54.132
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11368 / 19867 =  57.221
Robust  acc:  3834 /  8535 =  44.921
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 58.095
Robust Acc: 50.701 | Best Acc: 99.758
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  4952 /  9767 =  50.701
0, 1  acc:  3993 /  7535 =  52.993
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11597 / 19962 =  58.095
Robust  acc:  4952 /  9767 =  50.701
------------------------------------
Accuracies by groups:
0, 0  acc:  4952 /  9767 =  50.701
0, 1  acc:  3993 /  7535 =  52.993
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11597 / 19962 =  58.095
Robust  acc:  4952 /  9767 =  50.701
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4952 /  9767 =  50.701
0, 1  acc:  3993 /  7535 =  52.993
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11597 / 19962 =  58.095
Robust  acc:  4952 /  9767 =  50.701
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.165 | Val Loss: 0.005 | Val Acc: 71.908
Training:
Accuracies by groups:
0, 0  acc: 13155 / 20018 =  65.716
0, 1  acc:  7037 /  9185 =  76.614
1, 0  acc: 123711 / 125292 =  98.738
1, 1  acc:  7742 /  8275 =  93.559
--------------------------------------
Average acc: 151645 / 162770 =  93.165
Robust  acc: 13155 / 20018 =  65.716
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5160 /  8535 =  60.457
0, 1  acc:  6080 /  8276 =  73.465
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14286 / 19867 =  71.908
Robust  acc:  5160 /  8535 =  60.457
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.339
Robust Acc: 66.469 | Best Acc: 99.597
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  6492 /  9767 =  66.469
0, 1  acc:  5503 /  7535 =  73.033
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14640 / 19962 =  73.339
Robust  acc:  6492 /  9767 =  66.469
------------------------------------
Accuracies by groups:
0, 0  acc:  6492 /  9767 =  66.469
0, 1  acc:  5503 /  7535 =  73.033
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14640 / 19962 =  73.339
Robust  acc:  6492 /  9767 =  66.469
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6492 /  9767 =  66.469
0, 1  acc:  5503 /  7535 =  73.033
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14640 / 19962 =  73.339
Robust  acc:  6492 /  9767 =  66.469
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.200 | Val Loss: 0.004 | Val Acc: 84.265
Training:
Accuracies by groups:
0, 0  acc: 13407 / 20262 =  66.168
0, 1  acc:  7062 /  9123 =  77.409
1, 0  acc: 123546 / 125186 =  98.690
1, 1  acc:  7686 /  8199 =  93.743
--------------------------------------
Average acc: 151701 / 162770 =  93.200
Robust  acc: 13407 / 20262 =  66.168
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6486 /  8535 =  75.993
0, 1  acc:  7253 /  8276 =  87.639
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16741 / 19867 =  84.265
Robust  acc:  6486 /  8535 =  75.993
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.678
Robust Acc: 80.342 | Best Acc: 98.065
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  7847 /  9767 =  80.342
0, 1  acc:  6664 /  7535 =  88.441
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17103 / 19962 =  85.678
Robust  acc:  7847 /  9767 =  80.342
------------------------------------
Accuracies by groups:
0, 0  acc:  7847 /  9767 =  80.342
0, 1  acc:  6664 /  7535 =  88.441
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17103 / 19962 =  85.678
Robust  acc:  7847 /  9767 =  80.342
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7847 /  9767 =  80.342
0, 1  acc:  6664 /  7535 =  88.441
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17103 / 19962 =  85.678
Robust  acc:  7847 /  9767 =  80.342
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.272 | Val Loss: 0.003 | Val Acc: 91.156
Training:
Accuracies by groups:
0, 0  acc: 13389 / 20258 =  66.092
0, 1  acc:  7109 /  9146 =  77.728
1, 0  acc: 123664 / 125251 =  98.733
1, 1  acc:  7657 /  8115 =  94.356
--------------------------------------
Average acc: 151819 / 162770 =  93.272
Robust  acc: 13389 / 20258 =  66.092
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7534 /  8535 =  88.272
0, 1  acc:  7751 /  8276 =  93.656
1, 0  acc:  2681 /  2874 =  93.285
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18110 / 19867 =  91.156
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.045
Robust Acc: 77.222 | Best Acc: 93.829
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  8878 /  9767 =  90.898
0, 1  acc:  7070 /  7535 =  93.829
1, 0  acc:  2287 /  2480 =  92.218
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18374 / 19962 =  92.045
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8878 /  9767 =  90.898
0, 1  acc:  7070 /  7535 =  93.829
1, 0  acc:  2287 /  2480 =  92.218
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18374 / 19962 =  92.045
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8878 /  9767 =  90.898
0, 1  acc:  7070 /  7535 =  93.829
1, 0  acc:  2287 /  2480 =  92.218
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18374 / 19962 =  92.045
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 93.324 | Val Loss: 0.004 | Val Acc: 86.420
Training:
Accuracies by groups:
0, 0  acc: 13624 / 20366 =  66.896
0, 1  acc:  6972 /  9060 =  76.954
1, 0  acc: 123477 / 125040 =  98.750
1, 1  acc:  7830 /  8304 =  94.292
--------------------------------------
Average acc: 151903 / 162770 =  93.324
Robust  acc: 13624 / 20366 =  66.896
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6911 /  8535 =  80.972
0, 1  acc:  7297 /  8276 =  88.171
1, 0  acc:  2792 /  2874 =  97.147
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17169 / 19867 =  86.420
Robust  acc:  6911 /  8535 =  80.972
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.411
Robust Acc: 84.601 | Best Acc: 96.452
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  8263 /  9767 =  84.601
0, 1  acc:  6633 /  7535 =  88.029
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17449 / 19962 =  87.411
Robust  acc:  8263 /  9767 =  84.601
------------------------------------
Accuracies by groups:
0, 0  acc:  8263 /  9767 =  84.601
0, 1  acc:  6633 /  7535 =  88.029
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17449 / 19962 =  87.411
Robust  acc:  8263 /  9767 =  84.601
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8263 /  9767 =  84.601
0, 1  acc:  6633 /  7535 =  88.029
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17449 / 19962 =  87.411
Robust  acc:  8263 /  9767 =  84.601
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 93.411 | Val Loss: 0.005 | Val Acc: 72.125
Training:
Accuracies by groups:
0, 0  acc: 13353 / 20031 =  66.662
0, 1  acc:  7147 /  9164 =  77.990
1, 0  acc: 123902 / 125467 =  98.753
1, 1  acc:  7643 /  8108 =  94.265
--------------------------------------
Average acc: 152045 / 162770 =  93.411
Robust  acc: 13353 / 20031 =  66.662
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5821 /  8535 =  68.202
0, 1  acc:  5507 /  8276 =  66.542
1, 0  acc:  2823 /  2874 =  98.225
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14329 / 19867 =  72.125
Robust  acc:  5507 /  8276 =  66.542
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.575
Robust Acc: 66.131 | Best Acc: 97.742
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  7109 /  9767 =  72.786
0, 1  acc:  4983 /  7535 =  66.131
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14687 / 19962 =  73.575
Robust  acc:  4983 /  7535 =  66.131
------------------------------------
Accuracies by groups:
0, 0  acc:  7109 /  9767 =  72.786
0, 1  acc:  4983 /  7535 =  66.131
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14687 / 19962 =  73.575
Robust  acc:  4983 /  7535 =  66.131
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7109 /  9767 =  72.786
0, 1  acc:  4983 /  7535 =  66.131
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14687 / 19962 =  73.575
Robust  acc:  4983 /  7535 =  66.131
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 93.299 | Val Loss: 0.007 | Val Acc: 51.266
Training:
Accuracies by groups:
0, 0  acc: 13456 / 20266 =  66.397
0, 1  acc:  7017 /  9043 =  77.596
1, 0  acc: 123559 / 125145 =  98.733
1, 1  acc:  7830 /  8316 =  94.156
--------------------------------------
Average acc: 151862 / 162770 =  93.299
Robust  acc: 13456 / 20266 =  66.397
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3696 /  8535 =  43.304
0, 1  acc:  3443 /  8276 =  41.602
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10185 / 19867 =  51.266
Robust  acc:  3443 /  8276 =  41.602
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 52.064
Robust Acc: 40.717 | Best Acc: 99.597
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  4677 /  9767 =  47.886
0, 1  acc:  3068 /  7535 =  40.717
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10393 / 19962 =  52.064
Robust  acc:  3068 /  7535 =  40.717
------------------------------------
Accuracies by groups:
0, 0  acc:  4677 /  9767 =  47.886
0, 1  acc:  3068 /  7535 =  40.717
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10393 / 19962 =  52.064
Robust  acc:  3068 /  7535 =  40.717
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4677 /  9767 =  47.886
0, 1  acc:  3068 /  7535 =  40.717
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10393 / 19962 =  52.064
Robust  acc:  3068 /  7535 =  40.717
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 93.380 | Val Loss: 0.010 | Val Acc: 35.048
Training:
Accuracies by groups:
0, 0  acc: 13616 / 20308 =  67.047
0, 1  acc:  7126 /  9179 =  77.634
1, 0  acc: 123395 / 124951 =  98.755
1, 1  acc:  7858 /  8332 =  94.311
--------------------------------------
Average acc: 151995 / 162770 =  93.380
Robust  acc: 13616 / 20308 =  67.047
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1868 /  8535 =  21.886
0, 1  acc:  2043 /  8276 =  24.686
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  6963 / 19867 =  35.048
Robust  acc:  1868 /  8535 =  21.886
------------------------------------
-------------------------------------------
Avg Test Loss: 0.010 | Avg Test Acc: 34.676
Robust Acc: 23.955 | Best Acc: 100.000
--------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  2458 /  9767 =  25.166
0, 1  acc:  1805 /  7535 =  23.955
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  6922 / 19962 =  34.676
Robust  acc:  1805 /  7535 =  23.955
------------------------------------
Accuracies by groups:
0, 0  acc:  2458 /  9767 =  25.166
0, 1  acc:  1805 /  7535 =  23.955
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  6922 / 19962 =  34.676
Robust  acc:  1805 /  7535 =  23.955
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2458 /  9767 =  25.166
0, 1  acc:  1805 /  7535 =  23.955
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  6922 / 19962 =  34.676
Robust  acc:  1805 /  7535 =  23.955
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 93.271 | Val Loss: 0.004 | Val Acc: 86.455
Training:
Accuracies by groups:
0, 0  acc: 13615 / 20412 =  66.701
0, 1  acc:  7086 /  9175 =  77.232
1, 0  acc: 123348 / 124945 =  98.722
1, 1  acc:  7769 /  8238 =  94.307
--------------------------------------
Average acc: 151818 / 162770 =  93.271
Robust  acc: 13615 / 20412 =  66.701
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6852 /  8535 =  80.281
0, 1  acc:  7355 /  8276 =  88.871
1, 0  acc:  2802 /  2874 =  97.495
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17176 / 19867 =  86.455
Robust  acc:  6852 /  8535 =  80.281
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.122
Robust Acc: 84.826 | Best Acc: 97.137
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8285 /  9767 =  84.826
0, 1  acc:  6739 /  7535 =  89.436
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17591 / 19962 =  88.122
Robust  acc:  8285 /  9767 =  84.826
------------------------------------
Accuracies by groups:
0, 0  acc:  8285 /  9767 =  84.826
0, 1  acc:  6739 /  7535 =  89.436
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17591 / 19962 =  88.122
Robust  acc:  8285 /  9767 =  84.826
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8285 /  9767 =  84.826
0, 1  acc:  6739 /  7535 =  89.436
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17591 / 19962 =  88.122
Robust  acc:  8285 /  9767 =  84.826
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 93.447 | Val Loss: 0.004 | Val Acc: 85.247
Training:
Accuracies by groups:
0, 0  acc: 13423 / 19973 =  67.206
0, 1  acc:  7348 /  9340 =  78.672
1, 0  acc: 123669 / 125296 =  98.701
1, 1  acc:  7663 /  8161 =  93.898
--------------------------------------
Average acc: 152103 / 162770 =  93.447
Robust  acc: 13423 / 19973 =  67.206
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6520 /  8535 =  76.391
0, 1  acc:  7443 /  8276 =  89.935
1, 0  acc:  2812 /  2874 =  97.843
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 16936 / 19867 =  85.247
Robust  acc:  6520 /  8535 =  76.391
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.630
Robust Acc: 81.499 | Best Acc: 97.258
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  7960 /  9767 =  81.499
0, 1  acc:  6769 /  7535 =  89.834
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17293 / 19962 =  86.630
Robust  acc:  7960 /  9767 =  81.499
------------------------------------
Accuracies by groups:
0, 0  acc:  7960 /  9767 =  81.499
0, 1  acc:  6769 /  7535 =  89.834
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17293 / 19962 =  86.630
Robust  acc:  7960 /  9767 =  81.499
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7960 /  9767 =  81.499
0, 1  acc:  6769 /  7535 =  89.834
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17293 / 19962 =  86.630
Robust  acc:  7960 /  9767 =  81.499
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 93.305 | Val Loss: 0.004 | Val Acc: 84.603
Training:
Accuracies by groups:
0, 0  acc: 13594 / 20294 =  66.985
0, 1  acc:  7267 /  9281 =  78.300
1, 0  acc: 123220 / 124900 =  98.655
1, 1  acc:  7792 /  8295 =  93.936
--------------------------------------
Average acc: 151873 / 162770 =  93.305
Robust  acc: 13594 / 20294 =  66.985
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6618 /  8535 =  77.540
0, 1  acc:  7194 /  8276 =  86.926
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16808 / 19867 =  84.603
Robust  acc:  6618 /  8535 =  77.540
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.124
Robust Acc: 82.635 | Best Acc: 97.863
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  8071 /  9767 =  82.635
0, 1  acc:  6533 /  7535 =  86.702
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17192 / 19962 =  86.124
Robust  acc:  8071 /  9767 =  82.635
------------------------------------
Accuracies by groups:
0, 0  acc:  8071 /  9767 =  82.635
0, 1  acc:  6533 /  7535 =  86.702
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17192 / 19962 =  86.124
Robust  acc:  8071 /  9767 =  82.635
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8071 /  9767 =  82.635
0, 1  acc:  6533 /  7535 =  86.702
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17192 / 19962 =  86.124
Robust  acc:  8071 /  9767 =  82.635
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 93.433 | Val Loss: 0.010 | Val Acc: 36.040
Training:
Accuracies by groups:
0, 0  acc: 13536 / 20063 =  67.467
0, 1  acc:  7072 /  9126 =  77.493
1, 0  acc: 123668 / 125285 =  98.709
1, 1  acc:  7805 /  8296 =  94.081
--------------------------------------
Average acc: 152081 / 162770 =  93.433
Robust  acc: 13536 / 20063 =  67.467
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1733 /  8535 =  20.305
0, 1  acc:  2371 /  8276 =  28.649
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  7160 / 19867 =  36.040
Robust  acc:  1733 /  8535 =  20.305
------------------------------------
-------------------------------------------
Avg Test Loss: 0.010 | Avg Test Acc: 35.878
Robust Acc: 24.071 | Best Acc: 100.000
--------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  2351 /  9767 =  24.071
0, 1  acc:  2152 /  7535 =  28.560
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  7162 / 19962 =  35.878
Robust  acc:  2351 /  9767 =  24.071
------------------------------------
Accuracies by groups:
0, 0  acc:  2351 /  9767 =  24.071
0, 1  acc:  2152 /  7535 =  28.560
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  7162 / 19962 =  35.878
Robust  acc:  2351 /  9767 =  24.071
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2351 /  9767 =  24.071
0, 1  acc:  2152 /  7535 =  28.560
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  7162 / 19962 =  35.878
Robust  acc:  2351 /  9767 =  24.071
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 93.469 | Val Loss: 0.003 | Val Acc: 93.824
Training:
Accuracies by groups:
0, 0  acc: 13592 / 20206 =  67.267
0, 1  acc:  7250 /  9233 =  78.523
1, 0  acc: 123785 / 125333 =  98.765
1, 1  acc:  7513 /  7998 =  93.936
--------------------------------------
Average acc: 152140 / 162770 =  93.469
Robust  acc: 13592 / 20206 =  67.267
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8049 /  8535 =  94.306
0, 1  acc:  8109 /  8276 =  97.982
1, 0  acc:  2378 /  2874 =  82.742
1, 1  acc:   104 /   182 =  57.143
------------------------------------
Average acc: 18640 / 19867 =  93.824
Robust  acc:   104 /   182 =  57.143
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.089
Robust Acc: 55.000 | Best Acc: 97.359
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  9309 /  9767 =  95.311
0, 1  acc:  7336 /  7535 =  97.359
1, 0  acc:  2038 /  2480 =  82.177
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18782 / 19962 =  94.089
Robust  acc:    99 /   180 =  55.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9309 /  9767 =  95.311
0, 1  acc:  7336 /  7535 =  97.359
1, 0  acc:  2038 /  2480 =  82.177
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18782 / 19962 =  94.089
Robust  acc:    99 /   180 =  55.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9309 /  9767 =  95.311
0, 1  acc:  7336 /  7535 =  97.359
1, 0  acc:  2038 /  2480 =  82.177
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18782 / 19962 =  94.089
Robust  acc:    99 /   180 =  55.000
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 93.515 | Val Loss: 0.003 | Val Acc: 94.020
Training:
Accuracies by groups:
0, 0  acc: 13689 / 20176 =  67.848
0, 1  acc:  7265 /  9252 =  78.524
1, 0  acc: 123526 / 125131 =  98.717
1, 1  acc:  7735 /  8211 =  94.203
--------------------------------------
Average acc: 152215 / 162770 =  93.515
Robust  acc: 13689 / 20176 =  67.848
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8355 /  8535 =  97.891
0, 1  acc:  8242 /  8276 =  99.589
1, 0  acc:  2028 /  2874 =  70.564
1, 1  acc:    54 /   182 =  29.670
------------------------------------
Average acc: 18679 / 19867 =  94.020
Robust  acc:    54 /   182 =  29.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.249
Robust Acc: 28.889 | Best Acc: 99.456
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  9578 /  9767 =  98.065
0, 1  acc:  7494 /  7535 =  99.456
1, 0  acc:  1690 /  2480 =  68.145
1, 1  acc:    52 /   180 =  28.889
------------------------------------
Average acc: 18814 / 19962 =  94.249
Robust  acc:    52 /   180 =  28.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9578 /  9767 =  98.065
0, 1  acc:  7494 /  7535 =  99.456
1, 0  acc:  1690 /  2480 =  68.145
1, 1  acc:    52 /   180 =  28.889
------------------------------------
Average acc: 18814 / 19962 =  94.249
Robust  acc:    52 /   180 =  28.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9578 /  9767 =  98.065
0, 1  acc:  7494 /  7535 =  99.456
1, 0  acc:  1690 /  2480 =  68.145
1, 1  acc:    52 /   180 =  28.889
------------------------------------
Average acc: 18814 / 19962 =  94.249
Robust  acc:    52 /   180 =  28.889
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 93.400 | Val Loss: 0.003 | Val Acc: 93.220
Training:
Accuracies by groups:
0, 0  acc: 13760 / 20393 =  67.474
0, 1  acc:  7223 /  9280 =  77.834
1, 0  acc: 123333 / 124901 =  98.745
1, 1  acc:  7711 /  8196 =  94.082
--------------------------------------
Average acc: 152027 / 162770 =  93.400
Robust  acc: 13760 / 20393 =  67.474
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8209 /  8535 =  96.180
0, 1  acc:  8194 /  8276 =  99.009
1, 0  acc:  2058 /  2874 =  71.608
1, 1  acc:    59 /   182 =  32.418
------------------------------------
Average acc: 18520 / 19867 =  93.220
Robust  acc:    59 /   182 =  32.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.808
Robust Acc: 35.000 | Best Acc: 98.726
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  9479 /  9767 =  97.051
0, 1  acc:  7439 /  7535 =  98.726
1, 0  acc:  1745 /  2480 =  70.363
1, 1  acc:    63 /   180 =  35.000
------------------------------------
Average acc: 18726 / 19962 =  93.808
Robust  acc:    63 /   180 =  35.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9479 /  9767 =  97.051
0, 1  acc:  7439 /  7535 =  98.726
1, 0  acc:  1745 /  2480 =  70.363
1, 1  acc:    63 /   180 =  35.000
------------------------------------
Average acc: 18726 / 19962 =  93.808
Robust  acc:    63 /   180 =  35.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9479 /  9767 =  97.051
0, 1  acc:  7439 /  7535 =  98.726
1, 0  acc:  1745 /  2480 =  70.363
1, 1  acc:    63 /   180 =  35.000
------------------------------------
Average acc: 18726 / 19962 =  93.808
Robust  acc:    63 /   180 =  35.000
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed44.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed44.pt
