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/seed43/stage_one_erm_model_b_epoch0_seed43.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: 43
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=43-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/seed43/stage_one_erm_model_b_epoch0_seed43.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8303, 0.0206],
        [0.1391, 0.0100]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 91.161 | Val Loss: 0.003 | Val Acc: 79.710
Training:
Accuracies by groups:
0, 0  acc:  5827 / 13591 =  42.874
0, 1  acc:  3526 /  7584 =  46.493
1, 0  acc: 130923 / 133082 =  98.378
1, 1  acc:  8106 /  8513 =  95.219
--------------------------------------
Average acc: 148382 / 162770 =  91.161
Robust  acc:  5827 / 13591 =  42.874
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6162 /  8535 =  72.197
0, 1  acc:  6657 /  8276 =  80.437
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 15836 / 19867 =  79.710
Robust  acc:  6162 /  8535 =  72.197
------------------------------------
New max robust acc: 72.19683655536028
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed43.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed43.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 81.861
Robust Acc: 78.059 | Best Acc: 98.750
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7624 /  9767 =  78.059
0, 1  acc:  6098 /  7535 =  80.929
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16341 / 19962 =  81.861
Robust  acc:  7624 /  9767 =  78.059
------------------------------------
Accuracies by groups:
0, 0  acc:  7624 /  9767 =  78.059
0, 1  acc:  6098 /  7535 =  80.929
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16341 / 19962 =  81.861
Robust  acc:  7624 /  9767 =  78.059
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7624 /  9767 =  78.059
0, 1  acc:  6098 /  7535 =  80.929
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16341 / 19962 =  81.861
Robust  acc:  7624 /  9767 =  78.059
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 95.317 | Val Loss: 0.003 | Val Acc: 82.730
Training:
Accuracies by groups:
0, 0  acc:  9145 / 13441 =  68.038
0, 1  acc:  5777 /  7452 =  77.523
1, 0  acc: 132544 / 133704 =  99.132
1, 1  acc:  7681 /  8173 =  93.980
--------------------------------------
Average acc: 155147 / 162770 =  95.317
Robust  acc:  9145 / 13441 =  68.038
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6353 /  8535 =  74.435
0, 1  acc:  7061 /  8276 =  85.319
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16436 / 19867 =  82.730
Robust  acc:  6353 /  8535 =  74.435
------------------------------------
New max robust acc: 74.43468072642062
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed43.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed43.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.491
Robust Acc: 79.605 | Best Acc: 98.911
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7775 /  9767 =  79.605
0, 1  acc:  6470 /  7535 =  85.866
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16866 / 19962 =  84.491
Robust  acc:  7775 /  9767 =  79.605
------------------------------------
Accuracies by groups:
0, 0  acc:  7775 /  9767 =  79.605
0, 1  acc:  6470 /  7535 =  85.866
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16866 / 19962 =  84.491
Robust  acc:  7775 /  9767 =  79.605
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7775 /  9767 =  79.605
0, 1  acc:  6470 /  7535 =  85.866
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16866 / 19962 =  84.491
Robust  acc:  7775 /  9767 =  79.605
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.876 | Val Loss: 0.003 | Val Acc: 85.317
Training:
Accuracies by groups:
0, 0  acc:  9460 / 13445 =  70.361
0, 1  acc:  6117 /  7317 =  83.600
1, 0  acc: 132540 / 133601 =  99.206
1, 1  acc:  7940 /  8407 =  94.445
--------------------------------------
Average acc: 156057 / 162770 =  95.876
Robust  acc:  9460 / 13445 =  70.361
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6589 /  8535 =  77.200
0, 1  acc:  7339 /  8276 =  88.678
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16950 / 19867 =  85.317
Robust  acc:  6589 /  8535 =  77.200
------------------------------------
New max robust acc: 77.19976567076743
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed43.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed43.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.605
Robust Acc: 81.786 | Best Acc: 98.871
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  7988 /  9767 =  81.786
0, 1  acc:  6683 /  7535 =  88.693
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17288 / 19962 =  86.605
Robust  acc:  7988 /  9767 =  81.786
------------------------------------
Accuracies by groups:
0, 0  acc:  7988 /  9767 =  81.786
0, 1  acc:  6683 /  7535 =  88.693
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17288 / 19962 =  86.605
Robust  acc:  7988 /  9767 =  81.786
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7988 /  9767 =  81.786
0, 1  acc:  6683 /  7535 =  88.693
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17288 / 19962 =  86.605
Robust  acc:  7988 /  9767 =  81.786
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 96.368 | Val Loss: 0.002 | Val Acc: 87.195
Training:
Accuracies by groups:
0, 0  acc:  9811 / 13479 =  72.787
0, 1  acc:  6466 /  7463 =  86.641
1, 0  acc: 132666 / 133523 =  99.358
1, 1  acc:  7915 /  8305 =  95.304
--------------------------------------
Average acc: 156858 / 162770 =  96.368
Robust  acc:  9811 / 13479 =  72.787
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6735 /  8535 =  78.910
0, 1  acc:  7570 /  8276 =  91.469
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17323 / 19867 =  87.195
Robust  acc:  6735 /  8535 =  78.910
------------------------------------
New max robust acc: 78.9103690685413
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed43.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed43.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.268
Robust Acc: 83.239 | Best Acc: 98.508
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8130 /  9767 =  83.239
0, 1  acc:  6886 /  7535 =  91.387
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17620 / 19962 =  88.268
Robust  acc:  8130 /  9767 =  83.239
------------------------------------
Accuracies by groups:
0, 0  acc:  8130 /  9767 =  83.239
0, 1  acc:  6886 /  7535 =  91.387
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17620 / 19962 =  88.268
Robust  acc:  8130 /  9767 =  83.239
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8130 /  9767 =  83.239
0, 1  acc:  6886 /  7535 =  91.387
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17620 / 19962 =  88.268
Robust  acc:  8130 /  9767 =  83.239
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.771 | Val Loss: 0.002 | Val Acc: 88.740
Training:
Accuracies by groups:
0, 0  acc: 10265 / 13609 =  75.428
0, 1  acc:  6721 /  7636 =  88.017
1, 0  acc: 132388 / 133072 =  99.486
1, 1  acc:  8140 /  8453 =  96.297
--------------------------------------
Average acc: 157514 / 162770 =  96.771
Robust  acc: 10265 / 13609 =  75.428
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6881 /  8535 =  80.621
0, 1  acc:  7746 /  8276 =  93.596
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17630 / 19867 =  88.740
Robust  acc:  6881 /  8535 =  80.621
------------------------------------
New max robust acc: 80.62097246631518
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed43.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed43.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.675
Robust Acc: 84.734 | Best Acc: 98.185
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8276 /  9767 =  84.734
0, 1  acc:  7037 /  7535 =  93.391
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17901 / 19962 =  89.675
Robust  acc:  8276 /  9767 =  84.734
------------------------------------
Accuracies by groups:
0, 0  acc:  8276 /  9767 =  84.734
0, 1  acc:  7037 /  7535 =  93.391
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17901 / 19962 =  89.675
Robust  acc:  8276 /  9767 =  84.734
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8276 /  9767 =  84.734
0, 1  acc:  7037 /  7535 =  93.391
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17901 / 19962 =  89.675
Robust  acc:  8276 /  9767 =  84.734
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 97.139 | Val Loss: 0.002 | Val Acc: 89.138
Training:
Accuracies by groups:
0, 0  acc: 10577 / 13686 =  77.283
0, 1  acc:  6755 /  7537 =  89.625
1, 0  acc: 132586 / 133121 =  99.598
1, 1  acc:  8195 /  8426 =  97.258
--------------------------------------
Average acc: 158113 / 162770 =  97.139
Robust  acc: 10577 / 13686 =  77.283
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6973 /  8535 =  81.699
0, 1  acc:  7736 /  8276 =  93.475
1, 0  acc:  2829 /  2874 =  98.434
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17709 / 19867 =  89.138
Robust  acc:  6973 /  8535 =  81.699
------------------------------------
New max robust acc: 81.69888693614529
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed43.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed43.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.901
Robust Acc: 85.277 | Best Acc: 98.065
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8329 /  9767 =  85.277
0, 1  acc:  7029 /  7535 =  93.285
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17946 / 19962 =  89.901
Robust  acc:  8329 /  9767 =  85.277
------------------------------------
Accuracies by groups:
0, 0  acc:  8329 /  9767 =  85.277
0, 1  acc:  7029 /  7535 =  93.285
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17946 / 19962 =  89.901
Robust  acc:  8329 /  9767 =  85.277
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8329 /  9767 =  85.277
0, 1  acc:  7029 /  7535 =  93.285
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17946 / 19962 =  89.901
Robust  acc:  8329 /  9767 =  85.277
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.574 | Val Loss: 0.002 | Val Acc: 90.452
Training:
Accuracies by groups:
0, 0  acc: 10702 / 13543 =  79.022
0, 1  acc:  6787 /  7415 =  91.531
1, 0  acc: 133129 / 133494 =  99.727
1, 1  acc:  8203 /  8318 =  98.617
--------------------------------------
Average acc: 158821 / 162770 =  97.574
Robust  acc: 10702 / 13543 =  79.022
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7139 /  8535 =  83.644
0, 1  acc:  7842 /  8276 =  94.756
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17970 / 19867 =  90.452
Robust  acc:  7139 /  8535 =  83.644
------------------------------------
New max robust acc: 83.64381956649092
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed43.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed43.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.953
Robust Acc: 81.667 | Best Acc: 97.661
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8457 /  9767 =  86.587
0, 1  acc:  7130 /  7535 =  94.625
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18156 / 19962 =  90.953
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8457 /  9767 =  86.587
0, 1  acc:  7130 /  7535 =  94.625
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18156 / 19962 =  90.953
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8457 /  9767 =  86.587
0, 1  acc:  7130 /  7535 =  94.625
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18156 / 19962 =  90.953
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 98.004 | Val Loss: 0.002 | Val Acc: 91.524
Training:
Accuracies by groups:
0, 0  acc: 11025 / 13524 =  81.522
0, 1  acc:  7046 /  7575 =  93.017
1, 0  acc: 133154 / 133330 =  99.868
1, 1  acc:  8296 /  8341 =  99.460
--------------------------------------
Average acc: 159521 / 162770 =  98.004
Robust  acc: 11025 / 13524 =  81.522
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7291 /  8535 =  85.425
0, 1  acc:  7931 /  8276 =  95.831
1, 0  acc:  2803 /  2874 =  97.530
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 18183 / 19867 =  91.524
Robust  acc:  7291 /  8535 =  85.425
------------------------------------
New max robust acc: 85.42472173403632
debias model - Saving best checkpoint at epoch 7
replace: True
-> Updating checkpoint debias-wga-best_seed43.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed43.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.155
Robust Acc: 79.444 | Best Acc: 97.137
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8634 /  9767 =  88.400
0, 1  acc:  7210 /  7535 =  95.687
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18396 / 19962 =  92.155
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8634 /  9767 =  88.400
0, 1  acc:  7210 /  7535 =  95.687
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18396 / 19962 =  92.155
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8634 /  9767 =  88.400
0, 1  acc:  7210 /  7535 =  95.687
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18396 / 19962 =  92.155
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.338 | Val Loss: 0.002 | Val Acc: 89.168
Training:
Accuracies by groups:
0, 0  acc: 11077 / 13230 =  83.726
0, 1  acc:  7108 /  7523 =  94.484
1, 0  acc: 133526 / 133633 =  99.920
1, 1  acc:  8353 /  8384 =  99.630
--------------------------------------
Average acc: 160064 / 162770 =  98.338
Robust  acc: 11077 / 13230 =  83.726
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7005 /  8535 =  82.074
0, 1  acc:  7735 /  8276 =  93.463
1, 0  acc:  2812 /  2874 =  97.843
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17715 / 19867 =  89.168
Robust  acc:  7005 /  8535 =  82.074
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.936
Robust Acc: 85.000 | Best Acc: 97.218
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8375 /  9767 =  85.748
0, 1  acc:  7014 /  7535 =  93.086
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17953 / 19962 =  89.936
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8375 /  9767 =  85.748
0, 1  acc:  7014 /  7535 =  93.086
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17953 / 19962 =  89.936
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8375 /  9767 =  85.748
0, 1  acc:  7014 /  7535 =  93.086
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17953 / 19962 =  89.936
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.510 | Val Loss: 0.002 | Val Acc: 91.433
Training:
Accuracies by groups:
0, 0  acc: 11417 / 13313 =  85.758
0, 1  acc:  6927 /  7319 =  94.644
1, 0  acc: 133498 / 133614 =  99.913
1, 1  acc:  8502 /  8524 =  99.742
--------------------------------------
Average acc: 160344 / 162770 =  98.510
Robust  acc: 11417 / 13313 =  85.758
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7275 /  8535 =  85.237
0, 1  acc:  7945 /  8276 =  96.000
1, 0  acc:  2789 /  2874 =  97.042
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 18165 / 19867 =  91.433
Robust  acc:  7275 /  8535 =  85.237
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.910
Robust Acc: 77.222 | Best Acc: 96.411
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  7215 /  7535 =  95.753
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18347 / 19962 =  91.910
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  7215 /  7535 =  95.753
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18347 / 19962 =  91.910
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  7215 /  7535 =  95.753
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18347 / 19962 =  91.910
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.513 | Val Loss: 0.001 | Val Acc: 93.446
Training:
Accuracies by groups:
0, 0  acc: 11663 / 13560 =  86.010
0, 1  acc:  7182 /  7501 =  95.747
1, 0  acc: 133063 / 133211 =  99.889
1, 1  acc:  8441 /  8498 =  99.329
--------------------------------------
Average acc: 160349 / 162770 =  98.513
Robust  acc: 11663 / 13560 =  86.010
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7670 /  8535 =  89.865
0, 1  acc:  8066 /  8276 =  97.463
1, 0  acc:  2693 /  2874 =  93.702
1, 1  acc:   136 /   182 =  74.725
------------------------------------
Average acc: 18565 / 19867 =  93.446
Robust  acc:   136 /   182 =  74.725
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.778
Robust Acc: 67.778 | Best Acc: 97.200
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8970 /  9767 =  91.840
0, 1  acc:  7324 /  7535 =  97.200
1, 0  acc:  2304 /  2480 =  92.903
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18720 / 19962 =  93.778
Robust  acc:   122 /   180 =  67.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8970 /  9767 =  91.840
0, 1  acc:  7324 /  7535 =  97.200
1, 0  acc:  2304 /  2480 =  92.903
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18720 / 19962 =  93.778
Robust  acc:   122 /   180 =  67.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8970 /  9767 =  91.840
0, 1  acc:  7324 /  7535 =  97.200
1, 0  acc:  2304 /  2480 =  92.903
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18720 / 19962 =  93.778
Robust  acc:   122 /   180 =  67.778
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.256 | Val Loss: 0.001 | Val Acc: 94.217
Training:
Accuracies by groups:
0, 0  acc: 11473 / 13520 =  84.859
0, 1  acc:  7038 /  7449 =  94.482
1, 0  acc: 133080 / 133360 =  99.790
1, 1  acc:  8341 /  8441 =  98.815
--------------------------------------
Average acc: 159932 / 162770 =  98.256
Robust  acc: 11473 / 13520 =  84.859
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7848 /  8535 =  91.951
0, 1  acc:  8065 /  8276 =  97.450
1, 0  acc:  2667 /  2874 =  92.797
1, 1  acc:   138 /   182 =  75.824
------------------------------------
Average acc: 18718 / 19867 =  94.217
Robust  acc:   138 /   182 =  75.824
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.379
Robust Acc: 64.444 | Best Acc: 97.332
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  9117 /  9767 =  93.345
0, 1  acc:  7334 /  7535 =  97.332
1, 0  acc:  2273 /  2480 =  91.653
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18840 / 19962 =  94.379
Robust  acc:   116 /   180 =  64.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9117 /  9767 =  93.345
0, 1  acc:  7334 /  7535 =  97.332
1, 0  acc:  2273 /  2480 =  91.653
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18840 / 19962 =  94.379
Robust  acc:   116 /   180 =  64.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9117 /  9767 =  93.345
0, 1  acc:  7334 /  7535 =  97.332
1, 0  acc:  2273 /  2480 =  91.653
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18840 / 19962 =  94.379
Robust  acc:   116 /   180 =  64.444
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.925 | Val Loss: 0.002 | Val Acc: 91.649
Training:
Accuracies by groups:
0, 0  acc: 11187 / 13526 =  82.707
0, 1  acc:  6977 /  7500 =  93.027
1, 0  acc: 133068 / 133448 =  99.715
1, 1  acc:  8161 /  8296 =  98.373
--------------------------------------
Average acc: 159393 / 162770 =  97.925
Robust  acc: 11187 / 13526 =  82.707
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7398 /  8535 =  86.678
0, 1  acc:  7869 /  8276 =  95.082
1, 0  acc:  2778 /  2874 =  96.660
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 18208 / 19867 =  91.649
Robust  acc:  7398 /  8535 =  86.678
------------------------------------
New max robust acc: 86.67838312829525
debias model - Saving best checkpoint at epoch 12
replace: True
-> Updating checkpoint debias-wga-best_seed43.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed43.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.045
Robust Acc: 76.667 | Best Acc: 95.847
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8702 /  9767 =  89.096
0, 1  acc:  7157 /  7535 =  94.983
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18374 / 19962 =  92.045
Robust  acc:   138 /   180 =  76.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8702 /  9767 =  89.096
0, 1  acc:  7157 /  7535 =  94.983
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18374 / 19962 =  92.045
Robust  acc:   138 /   180 =  76.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8702 /  9767 =  89.096
0, 1  acc:  7157 /  7535 =  94.983
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18374 / 19962 =  92.045
Robust  acc:   138 /   180 =  76.667
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.552 | Val Loss: 0.004 | Val Acc: 79.015
Training:
Accuracies by groups:
0, 0  acc: 10989 / 13662 =  80.435
0, 1  acc:  6984 /  7572 =  92.235
1, 0  acc: 132550 / 133078 =  99.603
1, 1  acc:  8262 /  8458 =  97.683
--------------------------------------
Average acc: 158785 / 162770 =  97.552
Robust  acc: 10989 / 13662 =  80.435
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5765 /  8535 =  67.545
0, 1  acc:  6897 /  8276 =  83.337
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 15698 / 19867 =  79.015
Robust  acc:  5765 /  8535 =  67.545
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.493
Robust Acc: 72.724 | Best Acc: 99.194
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  7103 /  9767 =  72.724
0, 1  acc:  6336 /  7535 =  84.088
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16068 / 19962 =  80.493
Robust  acc:  7103 /  9767 =  72.724
------------------------------------
Accuracies by groups:
0, 0  acc:  7103 /  9767 =  72.724
0, 1  acc:  6336 /  7535 =  84.088
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16068 / 19962 =  80.493
Robust  acc:  7103 /  9767 =  72.724
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7103 /  9767 =  72.724
0, 1  acc:  6336 /  7535 =  84.088
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16068 / 19962 =  80.493
Robust  acc:  7103 /  9767 =  72.724
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 97.099 | Val Loss: 0.003 | Val Acc: 85.227
Training:
Accuracies by groups:
0, 0  acc: 10514 / 13475 =  78.026
0, 1  acc:  6760 /  7471 =  90.483
1, 0  acc: 132527 / 133273 =  99.440
1, 1  acc:  8247 /  8551 =  96.445
--------------------------------------
Average acc: 158048 / 162770 =  97.099
Robust  acc: 10514 / 13475 =  78.026
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6478 /  8535 =  75.899
0, 1  acc:  7439 /  8276 =  89.886
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16932 / 19867 =  85.227
Robust  acc:  6478 /  8535 =  75.899
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.154
Robust Acc: 80.076 | Best Acc: 98.306
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  7821 /  9767 =  80.076
0, 1  acc:  6775 /  7535 =  89.914
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17198 / 19962 =  86.154
Robust  acc:  7821 /  9767 =  80.076
------------------------------------
Accuracies by groups:
0, 0  acc:  7821 /  9767 =  80.076
0, 1  acc:  6775 /  7535 =  89.914
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17198 / 19962 =  86.154
Robust  acc:  7821 /  9767 =  80.076
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7821 /  9767 =  80.076
0, 1  acc:  6775 /  7535 =  89.914
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17198 / 19962 =  86.154
Robust  acc:  7821 /  9767 =  80.076
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.752 | Val Loss: 0.003 | Val Acc: 87.965
Training:
Accuracies by groups:
0, 0  acc: 10152 / 13344 =  76.079
0, 1  acc:  6719 /  7556 =  88.923
1, 0  acc: 132557 / 133474 =  99.313
1, 1  acc:  8055 /  8396 =  95.939
--------------------------------------
Average acc: 157483 / 162770 =  96.752
Robust  acc: 10152 / 13344 =  76.079
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6808 /  8535 =  79.766
0, 1  acc:  7664 /  8276 =  92.605
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17476 / 19867 =  87.965
Robust  acc:  6808 /  8535 =  79.766
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.829
Robust Acc: 83.311 | Best Acc: 98.347
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8137 /  9767 =  83.311
0, 1  acc:  7001 /  7535 =  92.913
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17732 / 19962 =  88.829
Robust  acc:  8137 /  9767 =  83.311
------------------------------------
Accuracies by groups:
0, 0  acc:  8137 /  9767 =  83.311
0, 1  acc:  7001 /  7535 =  92.913
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17732 / 19962 =  88.829
Robust  acc:  8137 /  9767 =  83.311
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8137 /  9767 =  83.311
0, 1  acc:  7001 /  7535 =  92.913
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17732 / 19962 =  88.829
Robust  acc:  8137 /  9767 =  83.311
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 96.313 | Val Loss: 0.005 | Val Acc: 73.544
Training:
Accuracies by groups:
0, 0  acc: 10000 / 13530 =  73.910
0, 1  acc:  6424 /  7381 =  87.034
1, 0  acc: 132346 / 133413 =  99.200
1, 1  acc:  7999 /  8446 =  94.708
--------------------------------------
Average acc: 156769 / 162770 =  96.313
Robust  acc: 10000 / 13530 =  73.910
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5026 /  8535 =  58.887
0, 1  acc:  6540 /  8276 =  79.024
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14611 / 19867 =  73.544
Robust  acc:  5026 /  8535 =  58.887
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.378
Robust Acc: 64.636 | Best Acc: 99.677
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  6313 /  9767 =  64.636
0, 1  acc:  6089 /  7535 =  80.810
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15047 / 19962 =  75.378
Robust  acc:  6313 /  9767 =  64.636
------------------------------------
Accuracies by groups:
0, 0  acc:  6313 /  9767 =  64.636
0, 1  acc:  6089 /  7535 =  80.810
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15047 / 19962 =  75.378
Robust  acc:  6313 /  9767 =  64.636
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6313 /  9767 =  64.636
0, 1  acc:  6089 /  7535 =  80.810
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15047 / 19962 =  75.378
Robust  acc:  6313 /  9767 =  64.636
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.925 | Val Loss: 0.004 | Val Acc: 76.262
Training:
Accuracies by groups:
0, 0  acc:  9637 / 13479 =  71.496
0, 1  acc:  6237 /  7347 =  84.892
1, 0  acc: 132395 / 133621 =  99.082
1, 1  acc:  7868 /  8323 =  94.533
--------------------------------------
Average acc: 156137 / 162770 =  95.925
Robust  acc:  9637 / 13479 =  71.496
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5646 /  8535 =  66.151
0, 1  acc:  6464 /  8276 =  78.105
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15151 / 19867 =  76.262
Robust  acc:  5646 /  8535 =  66.151
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 78.184
Robust Acc: 72.233 | Best Acc: 99.597
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  7055 /  9767 =  72.233
0, 1  acc:  5908 /  7535 =  78.407
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15607 / 19962 =  78.184
Robust  acc:  7055 /  9767 =  72.233
------------------------------------
Accuracies by groups:
0, 0  acc:  7055 /  9767 =  72.233
0, 1  acc:  5908 /  7535 =  78.407
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15607 / 19962 =  78.184
Robust  acc:  7055 /  9767 =  72.233
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7055 /  9767 =  72.233
0, 1  acc:  5908 /  7535 =  78.407
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15607 / 19962 =  78.184
Robust  acc:  7055 /  9767 =  72.233
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.790 | Val Loss: 0.002 | Val Acc: 94.443
Training:
Accuracies by groups:
0, 0  acc:  9553 / 13490 =  70.815
0, 1  acc:  6222 /  7440 =  83.629
1, 0  acc: 132177 / 133410 =  99.076
1, 1  acc:  7965 /  8430 =  94.484
--------------------------------------
Average acc: 155917 / 162770 =  95.790
Robust  acc:  9553 / 13490 =  70.815
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7978 /  8535 =  93.474
0, 1  acc:  8128 /  8276 =  98.212
1, 0  acc:  2543 /  2874 =  88.483
1, 1  acc:   114 /   182 =  62.637
------------------------------------
Average acc: 18763 / 19867 =  94.443
Robust  acc:   114 /   182 =  62.637
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.805
Robust Acc: 56.111 | Best Acc: 97.996
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  9264 /  9767 =  94.850
0, 1  acc:  7384 /  7535 =  97.996
1, 0  acc:  2176 /  2480 =  87.742
1, 1  acc:   101 /   180 =  56.111
------------------------------------
Average acc: 18925 / 19962 =  94.805
Robust  acc:   101 /   180 =  56.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9264 /  9767 =  94.850
0, 1  acc:  7384 /  7535 =  97.996
1, 0  acc:  2176 /  2480 =  87.742
1, 1  acc:   101 /   180 =  56.111
------------------------------------
Average acc: 18925 / 19962 =  94.805
Robust  acc:   101 /   180 =  56.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9264 /  9767 =  94.850
0, 1  acc:  7384 /  7535 =  97.996
1, 0  acc:  2176 /  2480 =  87.742
1, 1  acc:   101 /   180 =  56.111
------------------------------------
Average acc: 18925 / 19962 =  94.805
Robust  acc:   101 /   180 =  56.111
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.629 | Val Loss: 0.006 | Val Acc: 67.152
Training:
Accuracies by groups:
0, 0  acc:  9296 / 13387 =  69.441
0, 1  acc:  6156 /  7494 =  82.146
1, 0  acc: 132387 / 133604 =  99.089
1, 1  acc:  7816 /  8285 =  94.339
--------------------------------------
Average acc: 155655 / 162770 =  95.629
Robust  acc:  9296 / 13387 =  69.441
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4809 /  8535 =  56.344
0, 1  acc:  5484 /  8276 =  66.264
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13341 / 19867 =  67.152
Robust  acc:  4809 /  8535 =  56.344
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.650
Robust Acc: 62.097 | Best Acc: 99.839
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  6065 /  9767 =  62.097
0, 1  acc:  4985 /  7535 =  66.158
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13704 / 19962 =  68.650
Robust  acc:  6065 /  9767 =  62.097
------------------------------------
Accuracies by groups:
0, 0  acc:  6065 /  9767 =  62.097
0, 1  acc:  4985 /  7535 =  66.158
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13704 / 19962 =  68.650
Robust  acc:  6065 /  9767 =  62.097
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6065 /  9767 =  62.097
0, 1  acc:  4985 /  7535 =  66.158
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13704 / 19962 =  68.650
Robust  acc:  6065 /  9767 =  62.097
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 95.348 | Val Loss: 0.007 | Val Acc: 61.076
Training:
Accuracies by groups:
0, 0  acc:  9129 / 13521 =  67.517
0, 1  acc:  6014 /  7524 =  79.931
1, 0  acc: 132062 / 133280 =  99.086
1, 1  acc:  7993 /  8445 =  94.648
--------------------------------------
Average acc: 155198 / 162770 =  95.348
Robust  acc:  9129 / 13521 =  67.517
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3940 /  8535 =  46.163
0, 1  acc:  5144 /  8276 =  62.156
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12134 / 19867 =  61.076
Robust  acc:  3940 /  8535 =  46.163
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 62.679
Robust Acc: 52.575 | Best Acc: 99.839
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  5135 /  9767 =  52.575
0, 1  acc:  4723 /  7535 =  62.681
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12512 / 19962 =  62.679
Robust  acc:  5135 /  9767 =  52.575
------------------------------------
Accuracies by groups:
0, 0  acc:  5135 /  9767 =  52.575
0, 1  acc:  4723 /  7535 =  62.681
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12512 / 19962 =  62.679
Robust  acc:  5135 /  9767 =  52.575
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5135 /  9767 =  52.575
0, 1  acc:  4723 /  7535 =  62.681
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12512 / 19962 =  62.679
Robust  acc:  5135 /  9767 =  52.575
------------------------------------
Epoch:  22 | Train Loss: 0.001 | Train Acc: 95.215 | Val Loss: 0.002 | Val Acc: 88.871
Training:
Accuracies by groups:
0, 0  acc:  9220 / 13654 =  67.526
0, 1  acc:  5665 /  7278 =  77.837
1, 0  acc: 132079 / 133383 =  99.022
1, 1  acc:  8018 /  8455 =  94.831
--------------------------------------
Average acc: 154982 / 162770 =  95.215
Robust  acc:  9220 / 13654 =  67.526
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8522 /  8535 =  99.848
0, 1  acc:  8272 /  8276 =  99.952
1, 0  acc:   851 /  2874 =  29.610
1, 1  acc:    11 /   182 =   6.044
------------------------------------
Average acc: 17656 / 19867 =  88.871
Robust  acc:    11 /   182 =   6.044
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.146
Robust Acc: 5.000 | Best Acc: 99.973
------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  9749 /  9767 =  99.816
0, 1  acc:  7533 /  7535 =  99.973
1, 0  acc:   704 /  2480 =  28.387
1, 1  acc:     9 /   180 =   5.000
------------------------------------
Average acc: 17995 / 19962 =  90.146
Robust  acc:     9 /   180 =   5.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9749 /  9767 =  99.816
0, 1  acc:  7533 /  7535 =  99.973
1, 0  acc:   704 /  2480 =  28.387
1, 1  acc:     9 /   180 =   5.000
------------------------------------
Average acc: 17995 / 19962 =  90.146
Robust  acc:     9 /   180 =   5.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9749 /  9767 =  99.816
0, 1  acc:  7533 /  7535 =  99.973
1, 0  acc:   704 /  2480 =  28.387
1, 1  acc:     9 /   180 =   5.000
------------------------------------
Average acc: 17995 / 19962 =  90.146
Robust  acc:     9 /   180 =   5.000
------------------------------------
Epoch:  23 | Train Loss: 0.001 | Train Acc: 95.191 | Val Loss: 0.009 | Val Acc: 38.944
Training:
Accuracies by groups:
0, 0  acc:  8822 / 13318 =  66.241
0, 1  acc:  5788 /  7541 =  76.754
1, 0  acc: 132365 / 133512 =  99.141
1, 1  acc:  7967 /  8399 =  94.857
--------------------------------------
Average acc: 154942 / 162770 =  95.191
Robust  acc:  8822 / 13318 =  66.241
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2153 /  8535 =  25.226
0, 1  acc:  2528 /  8276 =  30.546
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  7737 / 19867 =  38.944
Robust  acc:  2153 /  8535 =  25.226
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 39.079
Robust Acc: 29.516 | Best Acc: 100.000
--------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  2919 /  9767 =  29.886
0, 1  acc:  2224 /  7535 =  29.516
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7801 / 19962 =  39.079
Robust  acc:  2224 /  7535 =  29.516
------------------------------------
Accuracies by groups:
0, 0  acc:  2919 /  9767 =  29.886
0, 1  acc:  2224 /  7535 =  29.516
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7801 / 19962 =  39.079
Robust  acc:  2224 /  7535 =  29.516
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2919 /  9767 =  29.886
0, 1  acc:  2224 /  7535 =  29.516
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7801 / 19962 =  39.079
Robust  acc:  2224 /  7535 =  29.516
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.957 | Val Loss: 0.004 | Val Acc: 83.133
Training:
Accuracies by groups:
0, 0  acc:  8912 / 13722 =  64.947
0, 1  acc:  5753 /  7546 =  76.239
1, 0  acc: 131846 / 133059 =  99.088
1, 1  acc:  8051 /  8443 =  95.357
--------------------------------------
Average acc: 154562 / 162770 =  94.957
Robust  acc:  8912 / 13722 =  64.947
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6418 /  8535 =  75.196
0, 1  acc:  7085 /  8276 =  85.609
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16516 / 19867 =  83.133
Robust  acc:  6418 /  8535 =  75.196
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.611
Robust Acc: 80.752 | Best Acc: 98.508
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  7887 /  9767 =  80.752
0, 1  acc:  6394 /  7535 =  84.857
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16890 / 19962 =  84.611
Robust  acc:  7887 /  9767 =  80.752
------------------------------------
Accuracies by groups:
0, 0  acc:  7887 /  9767 =  80.752
0, 1  acc:  6394 /  7535 =  84.857
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16890 / 19962 =  84.611
Robust  acc:  7887 /  9767 =  80.752
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7887 /  9767 =  80.752
0, 1  acc:  6394 /  7535 =  84.857
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16890 / 19962 =  84.611
Robust  acc:  7887 /  9767 =  80.752
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 95.038 | Val Loss: 0.006 | Val Acc: 62.294
Training:
Accuracies by groups:
0, 0  acc:  9030 / 13669 =  66.062
0, 1  acc:  5665 /  7461 =  75.928
1, 0  acc: 132079 / 133254 =  99.118
1, 1  acc:  7919 /  8386 =  94.431
--------------------------------------
Average acc: 154693 / 162770 =  95.038
Robust  acc:  9030 / 13669 =  66.062
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4418 /  8535 =  51.763
0, 1  acc:  4907 /  8276 =  59.292
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12376 / 19867 =  62.294
Robust  acc:  4418 /  8535 =  51.763
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 63.380
Robust Acc: 57.510 | Best Acc: 99.677
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  5617 /  9767 =  57.510
0, 1  acc:  4386 /  7535 =  58.208
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12652 / 19962 =  63.380
Robust  acc:  5617 /  9767 =  57.510
------------------------------------
Accuracies by groups:
0, 0  acc:  5617 /  9767 =  57.510
0, 1  acc:  4386 /  7535 =  58.208
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12652 / 19962 =  63.380
Robust  acc:  5617 /  9767 =  57.510
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5617 /  9767 =  57.510
0, 1  acc:  4386 /  7535 =  58.208
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12652 / 19962 =  63.380
Robust  acc:  5617 /  9767 =  57.510
------------------------------------
Epoch:  26 | Train Loss: 0.001 | Train Acc: 95.041 | Val Loss: 0.006 | Val Acc: 70.886
Training:
Accuracies by groups:
0, 0  acc:  8758 / 13419 =  65.266
0, 1  acc:  5781 /  7639 =  75.677
1, 0  acc: 132156 / 133303 =  99.140
1, 1  acc:  8004 /  8409 =  95.184
--------------------------------------
Average acc: 154699 / 162770 =  95.041
Robust  acc:  8758 / 13419 =  65.266
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5162 /  8535 =  60.480
0, 1  acc:  5877 /  8276 =  71.013
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14083 / 19867 =  70.886
Robust  acc:  5162 /  8535 =  60.480
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 72.227
Robust Acc: 65.967 | Best Acc: 99.556
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  6443 /  9767 =  65.967
0, 1  acc:  5329 /  7535 =  70.723
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14418 / 19962 =  72.227
Robust  acc:  6443 /  9767 =  65.967
------------------------------------
Accuracies by groups:
0, 0  acc:  6443 /  9767 =  65.967
0, 1  acc:  5329 /  7535 =  70.723
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14418 / 19962 =  72.227
Robust  acc:  6443 /  9767 =  65.967
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6443 /  9767 =  65.967
0, 1  acc:  5329 /  7535 =  70.723
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14418 / 19962 =  72.227
Robust  acc:  6443 /  9767 =  65.967
------------------------------------
Epoch:  27 | Train Loss: 0.001 | Train Acc: 94.866 | Val Loss: 0.004 | Val Acc: 80.515
Training:
Accuracies by groups:
0, 0  acc:  8700 / 13616 =  63.895
0, 1  acc:  5509 /  7412 =  74.325
1, 0  acc: 132225 / 133329 =  99.172
1, 1  acc:  7979 /  8413 =  94.841
--------------------------------------
Average acc: 154413 / 162770 =  94.866
Robust  acc:  8700 / 13616 =  63.895
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6264 /  8535 =  73.392
0, 1  acc:  6712 /  8276 =  81.102
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15996 / 19867 =  80.515
Robust  acc:  6264 /  8535 =  73.392
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.151
Robust Acc: 78.417 | Best Acc: 98.508
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  7659 /  9767 =  78.417
0, 1  acc:  6126 /  7535 =  81.301
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16399 / 19962 =  82.151
Robust  acc:  7659 /  9767 =  78.417
------------------------------------
Accuracies by groups:
0, 0  acc:  7659 /  9767 =  78.417
0, 1  acc:  6126 /  7535 =  81.301
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16399 / 19962 =  82.151
Robust  acc:  7659 /  9767 =  78.417
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7659 /  9767 =  78.417
0, 1  acc:  6126 /  7535 =  81.301
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16399 / 19962 =  82.151
Robust  acc:  7659 /  9767 =  78.417
------------------------------------
Epoch:  28 | Train Loss: 0.001 | Train Acc: 94.836 | Val Loss: 0.005 | Val Acc: 79.690
Training:
Accuracies by groups:
0, 0  acc:  8476 / 13484 =  62.860
0, 1  acc:  5440 /  7399 =  73.523
1, 0  acc: 132310 / 133379 =  99.199
1, 1  acc:  8139 /  8508 =  95.663
--------------------------------------
Average acc: 154365 / 162770 =  94.836
Robust  acc:  8476 / 13484 =  62.860
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5941 /  8535 =  69.607
0, 1  acc:  6855 /  8276 =  82.830
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15832 / 19867 =  79.690
Robust  acc:  5941 /  8535 =  69.607
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.309
Robust Acc: 75.315 | Best Acc: 99.113
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  7356 /  9767 =  75.315
0, 1  acc:  6248 /  7535 =  82.920
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16231 / 19962 =  81.309
Robust  acc:  7356 /  9767 =  75.315
------------------------------------
Accuracies by groups:
0, 0  acc:  7356 /  9767 =  75.315
0, 1  acc:  6248 /  7535 =  82.920
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16231 / 19962 =  81.309
Robust  acc:  7356 /  9767 =  75.315
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7356 /  9767 =  75.315
0, 1  acc:  6248 /  7535 =  82.920
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16231 / 19962 =  81.309
Robust  acc:  7356 /  9767 =  75.315
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.800 | Val Loss: 0.003 | Val Acc: 89.646
Training:
Accuracies by groups:
0, 0  acc:  8312 / 13498 =  61.579
0, 1  acc:  5490 /  7505 =  73.151
1, 0  acc: 132507 / 133452 =  99.292
1, 1  acc:  7997 /  8315 =  96.176
--------------------------------------
Average acc: 154306 / 162770 =  94.800
Robust  acc:  8312 / 13498 =  61.579
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7095 /  8535 =  83.128
0, 1  acc:  7783 /  8276 =  94.043
1, 0  acc:  2781 /  2874 =  96.764
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 17810 / 19867 =  89.646
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.732
Robust Acc: 81.111 | Best Acc: 96.129
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  8510 /  9767 =  87.130
0, 1  acc:  7072 /  7535 =  93.855
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18112 / 19962 =  90.732
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8510 /  9767 =  87.130
0, 1  acc:  7072 /  7535 =  93.855
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18112 / 19962 =  90.732
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8510 /  9767 =  87.130
0, 1  acc:  7072 /  7535 =  93.855
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18112 / 19962 =  90.732
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.720 | Val Loss: 0.003 | Val Acc: 91.317
Training:
Accuracies by groups:
0, 0  acc:  8428 / 13651 =  61.739
0, 1  acc:  5328 /  7409 =  71.913
1, 0  acc: 132426 / 133407 =  99.265
1, 1  acc:  7993 /  8303 =  96.266
--------------------------------------
Average acc: 154175 / 162770 =  94.720
Robust  acc:  8428 / 13651 =  61.739
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7423 /  8535 =  86.971
0, 1  acc:  7863 /  8276 =  95.010
1, 0  acc:  2702 /  2874 =  94.015
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 18142 / 19867 =  91.317
Robust  acc:   154 /   182 =  84.615
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.245
Robust Acc: 73.333 | Best Acc: 95.063
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  8779 /  9767 =  89.884
0, 1  acc:  7163 /  7535 =  95.063
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18414 / 19962 =  92.245
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8779 /  9767 =  89.884
0, 1  acc:  7163 /  7535 =  95.063
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18414 / 19962 =  92.245
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8779 /  9767 =  89.884
0, 1  acc:  7163 /  7535 =  95.063
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18414 / 19962 =  92.245
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 94.690 | Val Loss: 0.008 | Val Acc: 46.303
Training:
Accuracies by groups:
0, 0  acc:  8292 / 13545 =  61.218
0, 1  acc:  5457 /  7554 =  72.240
1, 0  acc: 132312 / 133255 =  99.292
1, 1  acc:  8066 /  8416 =  95.841
--------------------------------------
Average acc: 154127 / 162770 =  94.690
Robust  acc:  8292 / 13545 =  61.218
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2226 /  8535 =  26.081
0, 1  acc:  3918 /  8276 =  47.342
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9199 / 19867 =  46.303
Robust  acc:  2226 /  8535 =  26.081
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 45.837
Robust Acc: 31.115 | Best Acc: 99.879
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  3039 /  9767 =  31.115
0, 1  acc:  3456 /  7535 =  45.866
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9150 / 19962 =  45.837
Robust  acc:  3039 /  9767 =  31.115
------------------------------------
Accuracies by groups:
0, 0  acc:  3039 /  9767 =  31.115
0, 1  acc:  3456 /  7535 =  45.866
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9150 / 19962 =  45.837
Robust  acc:  3039 /  9767 =  31.115
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3039 /  9767 =  31.115
0, 1  acc:  3456 /  7535 =  45.866
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9150 / 19962 =  45.837
Robust  acc:  3039 /  9767 =  31.115
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 94.700 | Val Loss: 0.005 | Val Acc: 77.586
Training:
Accuracies by groups:
0, 0  acc:  8413 / 13652 =  61.625
0, 1  acc:  5551 /  7682 =  72.260
1, 0  acc: 132190 / 133096 =  99.319
1, 1  acc:  7990 /  8340 =  95.803
--------------------------------------
Average acc: 154144 / 162770 =  94.700
Robust  acc:  8413 / 13652 =  61.625
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5953 /  8535 =  69.748
0, 1  acc:  6435 /  8276 =  77.755
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15414 / 19867 =  77.586
Robust  acc:  5953 /  8535 =  69.748
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.185
Robust Acc: 75.049 | Best Acc: 99.194
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  7330 /  9767 =  75.049
0, 1  acc:  5846 /  7535 =  77.585
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15807 / 19962 =  79.185
Robust  acc:  7330 /  9767 =  75.049
------------------------------------
Accuracies by groups:
0, 0  acc:  7330 /  9767 =  75.049
0, 1  acc:  5846 /  7535 =  77.585
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15807 / 19962 =  79.185
Robust  acc:  7330 /  9767 =  75.049
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7330 /  9767 =  75.049
0, 1  acc:  5846 /  7535 =  77.585
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15807 / 19962 =  79.185
Robust  acc:  7330 /  9767 =  75.049
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 94.643 | Val Loss: 0.004 | Val Acc: 82.343
Training:
Accuracies by groups:
0, 0  acc:  8226 / 13469 =  61.074
0, 1  acc:  5440 /  7625 =  71.344
1, 0  acc: 132238 / 133181 =  99.292
1, 1  acc:  8146 /  8495 =  95.892
--------------------------------------
Average acc: 154050 / 162770 =  94.643
Robust  acc:  8226 / 13469 =  61.074
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6406 /  8535 =  75.056
0, 1  acc:  6946 /  8276 =  83.929
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16359 / 19867 =  82.343
Robust  acc:  6406 /  8535 =  75.056
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.090
Robust Acc: 80.598 | Best Acc: 98.468
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7872 /  9767 =  80.598
0, 1  acc:  6307 /  7535 =  83.703
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16786 / 19962 =  84.090
Robust  acc:  7872 /  9767 =  80.598
------------------------------------
Accuracies by groups:
0, 0  acc:  7872 /  9767 =  80.598
0, 1  acc:  6307 /  7535 =  83.703
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16786 / 19962 =  84.090
Robust  acc:  7872 /  9767 =  80.598
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7872 /  9767 =  80.598
0, 1  acc:  6307 /  7535 =  83.703
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16786 / 19962 =  84.090
Robust  acc:  7872 /  9767 =  80.598
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.783 | Val Loss: 0.005 | Val Acc: 76.016
Training:
Accuracies by groups:
0, 0  acc:  8185 / 13418 =  61.000
0, 1  acc:  5406 /  7436 =  72.700
1, 0  acc: 132796 / 133682 =  99.337
1, 1  acc:  7892 /  8234 =  95.846
--------------------------------------
Average acc: 154279 / 162770 =  94.783
Robust  acc:  8185 / 13418 =  61.000
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5536 /  8535 =  64.862
0, 1  acc:  6530 /  8276 =  78.903
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15102 / 19867 =  76.016
Robust  acc:  5536 /  8535 =  64.862
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.577
Robust Acc: 70.963 | Best Acc: 99.355
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  6931 /  9767 =  70.963
0, 1  acc:  5921 /  7535 =  78.580
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15486 / 19962 =  77.577
Robust  acc:  6931 /  9767 =  70.963
------------------------------------
Accuracies by groups:
0, 0  acc:  6931 /  9767 =  70.963
0, 1  acc:  5921 /  7535 =  78.580
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15486 / 19962 =  77.577
Robust  acc:  6931 /  9767 =  70.963
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6931 /  9767 =  70.963
0, 1  acc:  5921 /  7535 =  78.580
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15486 / 19962 =  77.577
Robust  acc:  6931 /  9767 =  70.963
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 94.643 | Val Loss: 0.003 | Val Acc: 91.690
Training:
Accuracies by groups:
0, 0  acc:  8144 / 13503 =  60.313
0, 1  acc:  5315 /  7499 =  70.876
1, 0  acc: 132504 / 133371 =  99.350
1, 1  acc:  8087 /  8397 =  96.308
--------------------------------------
Average acc: 154050 / 162770 =  94.643
Robust  acc:  8144 / 13503 =  60.313
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7419 /  8535 =  86.924
0, 1  acc:  7909 /  8276 =  95.565
1, 0  acc:  2743 /  2874 =  95.442
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18216 / 19867 =  91.690
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.265
Robust Acc: 73.333 | Best Acc: 95.395
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  8746 /  9767 =  89.546
0, 1  acc:  7188 /  7535 =  95.395
1, 0  acc:  2352 /  2480 =  94.839
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18418 / 19962 =  92.265
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8746 /  9767 =  89.546
0, 1  acc:  7188 /  7535 =  95.395
1, 0  acc:  2352 /  2480 =  94.839
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18418 / 19962 =  92.265
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8746 /  9767 =  89.546
0, 1  acc:  7188 /  7535 =  95.395
1, 0  acc:  2352 /  2480 =  94.839
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18418 / 19962 =  92.265
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.680 | Val Loss: 0.004 | Val Acc: 87.915
Training:
Accuracies by groups:
0, 0  acc:  8471 / 13691 =  61.873
0, 1  acc:  5388 /  7524 =  71.611
1, 0  acc: 132174 / 133119 =  99.290
1, 1  acc:  8077 /  8436 =  95.744
--------------------------------------
Average acc: 154110 / 162770 =  94.680
Robust  acc:  8471 / 13691 =  61.873
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7017 /  8535 =  82.214
0, 1  acc:  7490 /  8276 =  90.503
1, 0  acc:  2793 /  2874 =  97.182
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17466 / 19867 =  87.915
Robust  acc:  7017 /  8535 =  82.214
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.099
Robust Acc: 86.111 | Best Acc: 96.169
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8414 /  9767 =  86.147
0, 1  acc:  6832 /  7535 =  90.670
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17786 / 19962 =  89.099
Robust  acc:   155 /   180 =  86.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8414 /  9767 =  86.147
0, 1  acc:  6832 /  7535 =  90.670
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17786 / 19962 =  89.099
Robust  acc:   155 /   180 =  86.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8414 /  9767 =  86.147
0, 1  acc:  6832 /  7535 =  90.670
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17786 / 19962 =  89.099
Robust  acc:   155 /   180 =  86.111
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.781 | Val Loss: 0.005 | Val Acc: 72.084
Training:
Accuracies by groups:
0, 0  acc:  8300 / 13457 =  61.678
0, 1  acc:  5362 /  7460 =  71.877
1, 0  acc: 132531 / 133437 =  99.321
1, 1  acc:  8082 /  8416 =  96.031
--------------------------------------
Average acc: 154275 / 162770 =  94.781
Robust  acc:  8300 / 13457 =  61.678
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5232 /  8535 =  61.301
0, 1  acc:  6051 /  8276 =  73.115
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14321 / 19867 =  72.084
Robust  acc:  5232 /  8535 =  61.301
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.249
Robust Acc: 66.766 | Best Acc: 99.395
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  6521 /  9767 =  66.766
0, 1  acc:  5461 /  7535 =  72.475
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14622 / 19962 =  73.249
Robust  acc:  6521 /  9767 =  66.766
------------------------------------
Accuracies by groups:
0, 0  acc:  6521 /  9767 =  66.766
0, 1  acc:  5461 /  7535 =  72.475
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14622 / 19962 =  73.249
Robust  acc:  6521 /  9767 =  66.766
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6521 /  9767 =  66.766
0, 1  acc:  5461 /  7535 =  72.475
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14622 / 19962 =  73.249
Robust  acc:  6521 /  9767 =  66.766
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.853 | Val Loss: 0.005 | Val Acc: 77.395
Training:
Accuracies by groups:
0, 0  acc:  8392 / 13477 =  62.269
0, 1  acc:  5429 /  7473 =  72.648
1, 0  acc: 132291 / 133208 =  99.312
1, 1  acc:  8280 /  8612 =  96.145
--------------------------------------
Average acc: 154392 / 162770 =  94.853
Robust  acc:  8392 / 13477 =  62.269
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5928 /  8535 =  69.455
0, 1  acc:  6429 /  8276 =  77.682
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 15376 / 19867 =  77.395
Robust  acc:  5928 /  8535 =  69.455
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.800
Robust Acc: 74.260 | Best Acc: 98.790
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  7253 /  9767 =  74.260
0, 1  acc:  5861 /  7535 =  77.784
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 15730 / 19962 =  78.800
Robust  acc:  7253 /  9767 =  74.260
------------------------------------
Accuracies by groups:
0, 0  acc:  7253 /  9767 =  74.260
0, 1  acc:  5861 /  7535 =  77.784
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 15730 / 19962 =  78.800
Robust  acc:  7253 /  9767 =  74.260
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7253 /  9767 =  74.260
0, 1  acc:  5861 /  7535 =  77.784
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 15730 / 19962 =  78.800
Robust  acc:  7253 /  9767 =  74.260
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.719 | Val Loss: 0.004 | Val Acc: 85.509
Training:
Accuracies by groups:
0, 0  acc:  8448 / 13610 =  62.072
0, 1  acc:  5301 /  7347 =  72.152
1, 0  acc: 132384 / 133363 =  99.266
1, 1  acc:  8041 /  8450 =  95.160
--------------------------------------
Average acc: 154174 / 162770 =  94.719
Robust  acc:  8448 / 13610 =  62.072
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6809 /  8535 =  79.777
0, 1  acc:  7212 /  8276 =  87.144
1, 0  acc:  2800 /  2874 =  97.425
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 16988 / 19867 =  85.509
Robust  acc:  6809 /  8535 =  79.777
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.795
Robust Acc: 84.089 | Best Acc: 96.935
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  8213 /  9767 =  84.089
0, 1  acc:  6554 /  7535 =  86.981
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17326 / 19962 =  86.795
Robust  acc:  8213 /  9767 =  84.089
------------------------------------
Accuracies by groups:
0, 0  acc:  8213 /  9767 =  84.089
0, 1  acc:  6554 /  7535 =  86.981
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17326 / 19962 =  86.795
Robust  acc:  8213 /  9767 =  84.089
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8213 /  9767 =  84.089
0, 1  acc:  6554 /  7535 =  86.981
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17326 / 19962 =  86.795
Robust  acc:  8213 /  9767 =  84.089
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.879 | Val Loss: 0.005 | Val Acc: 74.893
Training:
Accuracies by groups:
0, 0  acc:  8302 / 13306 =  62.393
0, 1  acc:  5404 /  7382 =  73.205
1, 0  acc: 132752 / 133752 =  99.252
1, 1  acc:  7976 /  8330 =  95.750
--------------------------------------
Average acc: 154434 / 162770 =  94.879
Robust  acc:  8302 / 13306 =  62.393
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5644 /  8535 =  66.128
0, 1  acc:  6218 /  8276 =  75.133
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 14879 / 19867 =  74.893
Robust  acc:  5644 /  8535 =  66.128
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.841
Robust Acc: 72.018 | Best Acc: 98.790
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  7034 /  9767 =  72.018
0, 1  acc:  5688 /  7535 =  75.488
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15339 / 19962 =  76.841
Robust  acc:  7034 /  9767 =  72.018
------------------------------------
Accuracies by groups:
0, 0  acc:  7034 /  9767 =  72.018
0, 1  acc:  5688 /  7535 =  75.488
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15339 / 19962 =  76.841
Robust  acc:  7034 /  9767 =  72.018
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7034 /  9767 =  72.018
0, 1  acc:  5688 /  7535 =  75.488
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15339 / 19962 =  76.841
Robust  acc:  7034 /  9767 =  72.018
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.808 | Val Loss: 0.005 | Val Acc: 75.703
Training:
Accuracies by groups:
0, 0  acc:  8370 / 13473 =  62.124
0, 1  acc:  5467 /  7563 =  72.286
1, 0  acc: 132471 / 133372 =  99.324
1, 1  acc:  8011 /  8362 =  95.802
--------------------------------------
Average acc: 154319 / 162770 =  94.808
Robust  acc:  8370 / 13473 =  62.124
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5611 /  8535 =  65.741
0, 1  acc:  6392 /  8276 =  77.235
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15040 / 19867 =  75.703
Robust  acc:  5611 /  8535 =  65.741
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.462
Robust Acc: 71.660 | Best Acc: 99.153
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  6999 /  9767 =  71.660
0, 1  acc:  5830 /  7535 =  77.372
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15463 / 19962 =  77.462
Robust  acc:  6999 /  9767 =  71.660
------------------------------------
Accuracies by groups:
0, 0  acc:  6999 /  9767 =  71.660
0, 1  acc:  5830 /  7535 =  77.372
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15463 / 19962 =  77.462
Robust  acc:  6999 /  9767 =  71.660
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6999 /  9767 =  71.660
0, 1  acc:  5830 /  7535 =  77.372
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15463 / 19962 =  77.462
Robust  acc:  6999 /  9767 =  71.660
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.893 | Val Loss: 0.003 | Val Acc: 90.980
Training:
Accuracies by groups:
0, 0  acc:  8534 / 13543 =  63.014
0, 1  acc:  5489 /  7476 =  73.422
1, 0  acc: 132454 / 133420 =  99.276
1, 1  acc:  7981 /  8331 =  95.799
--------------------------------------
Average acc: 154458 / 162770 =  94.893
Robust  acc:  8534 / 13543 =  63.014
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7463 /  8535 =  87.440
0, 1  acc:  7747 /  8276 =  93.608
1, 0  acc:  2721 /  2874 =  94.676
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18075 / 19867 =  90.980
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.120
Robust Acc: 75.000 | Best Acc: 94.094
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  8843 /  9767 =  90.540
0, 1  acc:  7090 /  7535 =  94.094
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18389 / 19962 =  92.120
Robust  acc:   135 /   180 =  75.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8843 /  9767 =  90.540
0, 1  acc:  7090 /  7535 =  94.094
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18389 / 19962 =  92.120
Robust  acc:   135 /   180 =  75.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8843 /  9767 =  90.540
0, 1  acc:  7090 /  7535 =  94.094
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18389 / 19962 =  92.120
Robust  acc:   135 /   180 =  75.000
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.871 | Val Loss: 0.005 | Val Acc: 77.843
Training:
Accuracies by groups:
0, 0  acc:  8685 / 13708 =  63.357
0, 1  acc:  5624 /  7631 =  73.699
1, 0  acc: 131992 / 132970 =  99.264
1, 1  acc:  8120 /  8461 =  95.970
--------------------------------------
Average acc: 154421 / 162770 =  94.871
Robust  acc:  8685 / 13708 =  63.357
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5925 /  8535 =  69.420
0, 1  acc:  6511 /  8276 =  78.673
1, 0  acc:  2852 /  2874 =  99.235
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15465 / 19867 =  77.843
Robust  acc:  5925 /  8535 =  69.420
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.556
Robust Acc: 75.171 | Best Acc: 98.992
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  7342 /  9767 =  75.171
0, 1  acc:  5911 /  7535 =  78.447
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15881 / 19962 =  79.556
Robust  acc:  7342 /  9767 =  75.171
------------------------------------
Accuracies by groups:
0, 0  acc:  7342 /  9767 =  75.171
0, 1  acc:  5911 /  7535 =  78.447
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15881 / 19962 =  79.556
Robust  acc:  7342 /  9767 =  75.171
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7342 /  9767 =  75.171
0, 1  acc:  5911 /  7535 =  78.447
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15881 / 19962 =  79.556
Robust  acc:  7342 /  9767 =  75.171
------------------------------------
Epoch:  44 | Train Loss: 0.001 | Train Acc: 94.930 | Val Loss: 0.006 | Val Acc: 68.480
Training:
Accuracies by groups:
0, 0  acc:  8488 / 13408 =  63.305
0, 1  acc:  5585 /  7587 =  73.613
1, 0  acc: 132454 / 133410 =  99.283
1, 1  acc:  7990 /  8365 =  95.517
--------------------------------------
Average acc: 154517 / 162770 =  94.930
Robust  acc:  8488 / 13408 =  63.305
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4930 /  8535 =  57.762
0, 1  acc:  5631 /  8276 =  68.040
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13605 / 19867 =  68.480
Robust  acc:  4930 /  8535 =  57.762
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.524
Robust Acc: 64.544 | Best Acc: 99.556
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  6304 /  9767 =  64.544
0, 1  acc:  5127 /  7535 =  68.042
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14078 / 19962 =  70.524
Robust  acc:  6304 /  9767 =  64.544
------------------------------------
Accuracies by groups:
0, 0  acc:  6304 /  9767 =  64.544
0, 1  acc:  5127 /  7535 =  68.042
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14078 / 19962 =  70.524
Robust  acc:  6304 /  9767 =  64.544
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6304 /  9767 =  64.544
0, 1  acc:  5127 /  7535 =  68.042
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14078 / 19962 =  70.524
Robust  acc:  6304 /  9767 =  64.544
------------------------------------
Epoch:  45 | Train Loss: 0.001 | Train Acc: 94.961 | Val Loss: 0.005 | Val Acc: 70.992
Training:
Accuracies by groups:
0, 0  acc:  8480 / 13329 =  63.621
0, 1  acc:  5417 /  7402 =  73.183
1, 0  acc: 132650 / 133639 =  99.260
1, 1  acc:  8021 /  8400 =  95.488
--------------------------------------
Average acc: 154568 / 162770 =  94.961
Robust  acc:  8480 / 13329 =  63.621
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5157 /  8535 =  60.422
0, 1  acc:  5910 /  8276 =  71.411
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14104 / 19867 =  70.992
Robust  acc:  5157 /  8535 =  60.422
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.853
Robust Acc: 67.237 | Best Acc: 99.435
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  6567 /  9767 =  67.237
0, 1  acc:  5333 /  7535 =  70.776
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14543 / 19962 =  72.853
Robust  acc:  6567 /  9767 =  67.237
------------------------------------
Accuracies by groups:
0, 0  acc:  6567 /  9767 =  67.237
0, 1  acc:  5333 /  7535 =  70.776
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14543 / 19962 =  72.853
Robust  acc:  6567 /  9767 =  67.237
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6567 /  9767 =  67.237
0, 1  acc:  5333 /  7535 =  70.776
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14543 / 19962 =  72.853
Robust  acc:  6567 /  9767 =  67.237
------------------------------------
Epoch:  46 | Train Loss: 0.001 | Train Acc: 94.930 | Val Loss: 0.007 | Val Acc: 59.793
Training:
Accuracies by groups:
0, 0  acc:  8489 / 13433 =  63.195
0, 1  acc:  5497 /  7484 =  73.450
1, 0  acc: 132418 / 133371 =  99.285
1, 1  acc:  8113 /  8482 =  95.650
--------------------------------------
Average acc: 154517 / 162770 =  94.930
Robust  acc:  8489 / 13433 =  63.195
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3982 /  8535 =  46.655
0, 1  acc:  4845 /  8276 =  58.543
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 11879 / 19867 =  59.793
Robust  acc:  3982 /  8535 =  46.655
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 60.951
Robust Acc: 52.380 | Best Acc: 99.718
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  5116 /  9767 =  52.380
0, 1  acc:  4400 /  7535 =  58.394
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12167 / 19962 =  60.951
Robust  acc:  5116 /  9767 =  52.380
------------------------------------
Accuracies by groups:
0, 0  acc:  5116 /  9767 =  52.380
0, 1  acc:  4400 /  7535 =  58.394
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12167 / 19962 =  60.951
Robust  acc:  5116 /  9767 =  52.380
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5116 /  9767 =  52.380
0, 1  acc:  4400 /  7535 =  58.394
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12167 / 19962 =  60.951
Robust  acc:  5116 /  9767 =  52.380
------------------------------------
Epoch:  47 | Train Loss: 0.001 | Train Acc: 94.931 | Val Loss: 0.007 | Val Acc: 63.522
Training:
Accuracies by groups:
0, 0  acc:  8692 / 13627 =  63.785
0, 1  acc:  5504 /  7500 =  73.387
1, 0  acc: 132351 / 133298 =  99.290
1, 1  acc:  7972 /  8345 =  95.530
--------------------------------------
Average acc: 154519 / 162770 =  94.931
Robust  acc:  8692 / 13627 =  63.785
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4483 /  8535 =  52.525
0, 1  acc:  5090 /  8276 =  61.503
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12620 / 19867 =  63.522
Robust  acc:  4483 /  8535 =  52.525
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.054
Robust Acc: 59.087 | Best Acc: 99.637
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  5771 /  9767 =  59.087
0, 1  acc:  4566 /  7535 =  60.597
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12986 / 19962 =  65.054
Robust  acc:  5771 /  9767 =  59.087
------------------------------------
Accuracies by groups:
0, 0  acc:  5771 /  9767 =  59.087
0, 1  acc:  4566 /  7535 =  60.597
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12986 / 19962 =  65.054
Robust  acc:  5771 /  9767 =  59.087
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5771 /  9767 =  59.087
0, 1  acc:  4566 /  7535 =  60.597
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12986 / 19962 =  65.054
Robust  acc:  5771 /  9767 =  59.087
------------------------------------
Epoch:  48 | Train Loss: 0.001 | Train Acc: 94.951 | Val Loss: 0.004 | Val Acc: 84.789
Training:
Accuracies by groups:
0, 0  acc:  8616 / 13548 =  63.596
0, 1  acc:  5550 /  7490 =  74.099
1, 0  acc: 132366 / 133378 =  99.241
1, 1  acc:  8019 /  8354 =  95.990
--------------------------------------
Average acc: 154551 / 162770 =  94.951
Robust  acc:  8616 / 13548 =  63.596
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6638 /  8535 =  77.774
0, 1  acc:  7206 /  8276 =  87.071
1, 0  acc:  2829 /  2874 =  98.434
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16845 / 19867 =  84.789
Robust  acc:  6638 /  8535 =  77.774
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.409
Robust Acc: 82.789 | Best Acc: 97.782
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  8086 /  9767 =  82.789
0, 1  acc:  6577 /  7535 =  87.286
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17249 / 19962 =  86.409
Robust  acc:  8086 /  9767 =  82.789
------------------------------------
Accuracies by groups:
0, 0  acc:  8086 /  9767 =  82.789
0, 1  acc:  6577 /  7535 =  87.286
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17249 / 19962 =  86.409
Robust  acc:  8086 /  9767 =  82.789
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8086 /  9767 =  82.789
0, 1  acc:  6577 /  7535 =  87.286
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17249 / 19962 =  86.409
Robust  acc:  8086 /  9767 =  82.789
------------------------------------
Epoch:  49 | Train Loss: 0.001 | Train Acc: 94.978 | Val Loss: 0.003 | Val Acc: 93.708
Training:
Accuracies by groups:
0, 0  acc:  8677 / 13517 =  64.193
0, 1  acc:  5577 /  7483 =  74.529
1, 0  acc: 132436 / 133487 =  99.213
1, 1  acc:  7906 /  8283 =  95.449
--------------------------------------
Average acc: 154596 / 162770 =  94.978
Robust  acc:  8677 / 13517 =  64.193
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7926 /  8535 =  92.865
0, 1  acc:  8057 /  8276 =  97.354
1, 0  acc:  2517 /  2874 =  87.578
1, 1  acc:   117 /   182 =  64.286
------------------------------------
Average acc: 18617 / 19867 =  93.708
Robust  acc:   117 /   182 =  64.286
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.234
Robust Acc: 53.333 | Best Acc: 97.545
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  9249 /  9767 =  94.696
0, 1  acc:  7350 /  7535 =  97.545
1, 0  acc:  2116 /  2480 =  85.323
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18811 / 19962 =  94.234
Robust  acc:    96 /   180 =  53.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9249 /  9767 =  94.696
0, 1  acc:  7350 /  7535 =  97.545
1, 0  acc:  2116 /  2480 =  85.323
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18811 / 19962 =  94.234
Robust  acc:    96 /   180 =  53.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9249 /  9767 =  94.696
0, 1  acc:  7350 /  7535 =  97.545
1, 0  acc:  2116 /  2480 =  85.323
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18811 / 19962 =  94.234
Robust  acc:    96 /   180 =  53.333
------------------------------------
Epoch:  50 | Train Loss: 0.001 | Train Acc: 94.959 | Val Loss: 0.004 | Val Acc: 83.188
Training:
Accuracies by groups:
0, 0  acc:  8593 / 13518 =  63.567
0, 1  acc:  5507 /  7385 =  74.570
1, 0  acc: 132408 / 133422 =  99.240
1, 1  acc:  8056 /  8445 =  95.394
--------------------------------------
Average acc: 154564 / 162770 =  94.959
Robust  acc:  8593 / 13518 =  63.567
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6538 /  8535 =  76.602
0, 1  acc:  7020 /  8276 =  84.824
1, 0  acc:  2800 /  2874 =  97.425
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 16527 / 19867 =  83.188
Robust  acc:  6538 /  8535 =  76.602
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.626
Robust Acc: 81.468 | Best Acc: 97.500
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  7957 /  9767 =  81.468
0, 1  acc:  6357 /  7535 =  84.366
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 16893 / 19962 =  84.626
Robust  acc:  7957 /  9767 =  81.468
------------------------------------
Accuracies by groups:
0, 0  acc:  7957 /  9767 =  81.468
0, 1  acc:  6357 /  7535 =  84.366
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 16893 / 19962 =  84.626
Robust  acc:  7957 /  9767 =  81.468
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7957 /  9767 =  81.468
0, 1  acc:  6357 /  7535 =  84.366
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 16893 / 19962 =  84.626
Robust  acc:  7957 /  9767 =  81.468
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed43.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed43.pt
