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/seed36/stage_one_erm_model_b_epoch0_seed36.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: 5
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.0
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=5-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/seed36/stage_one_erm_model_b_epoch0_seed36.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8309, 0.0200],
        [0.1350, 0.0141]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.898 | Val Loss: 0.004 | Val Acc: 76.987
Training:
Accuracies by groups:
0, 0  acc:  5715 / 14424 =  39.621
0, 1  acc:  2891 /  6488 =  44.559
1, 0  acc: 131180 / 133275 =  98.428
1, 1  acc:  8169 /  8583 =  95.177
--------------------------------------
Average acc: 147955 / 162770 =  90.898
Robust  acc:  5715 / 14424 =  39.621
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5965 /  8535 =  69.889
0, 1  acc:  6307 /  8276 =  76.208
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 15295 / 19867 =  76.987
Robust  acc:  5965 /  8535 =  69.889
------------------------------------
New max robust acc: 69.8886936145284
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed5.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed5.pt
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.020
Robust Acc: 75.724 | Best Acc: 99.032
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7396 /  9767 =  75.724
0, 1  acc:  5749 /  7535 =  76.297
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15774 / 19962 =  79.020
Robust  acc:  7396 /  9767 =  75.724
------------------------------------
Accuracies by groups:
0, 0  acc:  7396 /  9767 =  75.724
0, 1  acc:  5749 /  7535 =  76.297
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15774 / 19962 =  79.020
Robust  acc:  7396 /  9767 =  75.724
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7396 /  9767 =  75.724
0, 1  acc:  5749 /  7535 =  76.297
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15774 / 19962 =  79.020
Robust  acc:  7396 /  9767 =  75.724
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.579 | Val Loss: 0.003 | Val Acc: 82.529
Training:
Accuracies by groups:
0, 0  acc:  9335 / 14552 =  64.149
0, 1  acc:  4723 /  6520 =  72.439
1, 0  acc: 131736 / 133033 =  99.025
1, 1  acc:  8153 /  8665 =  94.091
--------------------------------------
Average acc: 153947 / 162770 =  94.579
Robust  acc:  9335 / 14552 =  64.149
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6359 /  8535 =  74.505
0, 1  acc:  7015 /  8276 =  84.763
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16396 / 19867 =  82.529
Robust  acc:  6359 /  8535 =  74.505
------------------------------------
New max robust acc: 74.50497949619215
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed5.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed5.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.020
Robust Acc: 79.789 | Best Acc: 98.790
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7793 /  9767 =  79.789
0, 1  acc:  6359 /  7535 =  84.393
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16772 / 19962 =  84.020
Robust  acc:  7793 /  9767 =  79.789
------------------------------------
Accuracies by groups:
0, 0  acc:  7793 /  9767 =  79.789
0, 1  acc:  6359 /  7535 =  84.393
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16772 / 19962 =  84.020
Robust  acc:  7793 /  9767 =  79.789
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7793 /  9767 =  79.789
0, 1  acc:  6359 /  7535 =  84.393
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16772 / 19962 =  84.020
Robust  acc:  7793 /  9767 =  79.789
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.323 | Val Loss: 0.003 | Val Acc: 85.826
Training:
Accuracies by groups:
0, 0  acc:  9772 / 14433 =  67.706
0, 1  acc:  5296 /  6627 =  79.915
1, 0  acc: 132125 / 133275 =  99.137
1, 1  acc:  7964 /  8435 =  94.416
--------------------------------------
Average acc: 155157 / 162770 =  95.323
Robust  acc:  9772 / 14433 =  67.706
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6615 /  8535 =  77.504
0, 1  acc:  7422 /  8276 =  89.681
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17051 / 19867 =  85.826
Robust  acc:  6615 /  8535 =  77.504
------------------------------------
New max robust acc: 77.50439367311071
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed5.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed5.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.075
Robust Acc: 82.390 | Best Acc: 98.468
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8047 /  9767 =  82.390
0, 1  acc:  6730 /  7535 =  89.317
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17382 / 19962 =  87.075
Robust  acc:  8047 /  9767 =  82.390
------------------------------------
Accuracies by groups:
0, 0  acc:  8047 /  9767 =  82.390
0, 1  acc:  6730 /  7535 =  89.317
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17382 / 19962 =  87.075
Robust  acc:  8047 /  9767 =  82.390
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8047 /  9767 =  82.390
0, 1  acc:  6730 /  7535 =  89.317
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17382 / 19962 =  87.075
Robust  acc:  8047 /  9767 =  82.390
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.843 | Val Loss: 0.002 | Val Acc: 87.708
Training:
Accuracies by groups:
0, 0  acc: 10107 / 14436 =  70.012
0, 1  acc:  5476 /  6548 =  83.629
1, 0  acc: 132208 / 133192 =  99.261
1, 1  acc:  8212 /  8594 =  95.555
--------------------------------------
Average acc: 156003 / 162770 =  95.843
Robust  acc: 10107 / 14436 =  70.012
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6858 /  8535 =  80.351
0, 1  acc:  7568 /  8276 =  91.445
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17425 / 19867 =  87.708
Robust  acc:  6858 /  8535 =  80.351
------------------------------------
New max robust acc: 80.35149384885764
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed5.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed5.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.668
Robust Acc: 84.468 | Best Acc: 98.024
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8250 /  9767 =  84.468
0, 1  acc:  6857 /  7535 =  91.002
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17700 / 19962 =  88.668
Robust  acc:  8250 /  9767 =  84.468
------------------------------------
Accuracies by groups:
0, 0  acc:  8250 /  9767 =  84.468
0, 1  acc:  6857 /  7535 =  91.002
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17700 / 19962 =  88.668
Robust  acc:  8250 /  9767 =  84.468
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8250 /  9767 =  84.468
0, 1  acc:  6857 /  7535 =  91.002
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17700 / 19962 =  88.668
Robust  acc:  8250 /  9767 =  84.468
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.246 | Val Loss: 0.002 | Val Acc: 88.524
Training:
Accuracies by groups:
0, 0  acc: 10576 / 14640 =  72.240
0, 1  acc:  5767 /  6733 =  85.653
1, 0  acc: 131867 / 132625 =  99.428
1, 1  acc:  8450 /  8772 =  96.329
--------------------------------------
Average acc: 156660 / 162770 =  96.246
Robust  acc: 10576 / 14640 =  72.240
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6926 /  8535 =  81.148
0, 1  acc:  7661 /  8276 =  92.569
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17587 / 19867 =  88.524
Robust  acc:  6926 /  8535 =  81.148
------------------------------------
New max robust acc: 81.14821323960165
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed5.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed5.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.245
Robust Acc: 84.775 | Best Acc: 97.903
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8280 /  9767 =  84.775
0, 1  acc:  6951 /  7535 =  92.250
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17815 / 19962 =  89.245
Robust  acc:  8280 /  9767 =  84.775
------------------------------------
Accuracies by groups:
0, 0  acc:  8280 /  9767 =  84.775
0, 1  acc:  6951 /  7535 =  92.250
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17815 / 19962 =  89.245
Robust  acc:  8280 /  9767 =  84.775
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8280 /  9767 =  84.775
0, 1  acc:  6951 /  7535 =  92.250
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17815 / 19962 =  89.245
Robust  acc:  8280 /  9767 =  84.775
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.844 | Val Loss: 0.002 | Val Acc: 89.888
Training:
Accuracies by groups:
0, 0  acc: 10748 / 14379 =  74.748
0, 1  acc:  5880 /  6664 =  88.235
1, 0  acc: 132668 / 133222 =  99.584
1, 1  acc:  8337 /  8505 =  98.025
--------------------------------------
Average acc: 157633 / 162770 =  96.844
Robust  acc: 10748 / 14379 =  74.748
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7096 /  8535 =  83.140
0, 1  acc:  7778 /  8276 =  93.983
1, 0  acc:  2816 /  2874 =  97.982
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17858 / 19867 =  89.888
Robust  acc:  7096 /  8535 =  83.140
------------------------------------
New max robust acc: 83.14001171646163
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed5.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed5.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.437
Robust Acc: 84.444 | Best Acc: 97.621
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8436 /  9767 =  86.372
0, 1  acc:  7044 /  7535 =  93.484
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18053 / 19962 =  90.437
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8436 /  9767 =  86.372
0, 1  acc:  7044 /  7535 =  93.484
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18053 / 19962 =  90.437
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8436 /  9767 =  86.372
0, 1  acc:  7044 /  7535 =  93.484
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18053 / 19962 =  90.437
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.278 | Val Loss: 0.002 | Val Acc: 91.166
Training:
Accuracies by groups:
0, 0  acc: 11313 / 14693 =  76.996
0, 1  acc:  5838 /  6483 =  90.051
1, 0  acc: 132704 / 133023 =  99.760
1, 1  acc:  8485 /  8571 =  98.997
--------------------------------------
Average acc: 158340 / 162770 =  97.278
Robust  acc: 11313 / 14693 =  76.996
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7274 /  8535 =  85.226
0, 1  acc:  7872 /  8276 =  95.118
1, 0  acc:  2803 /  2874 =  97.530
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 18112 / 19867 =  91.166
Robust  acc:  7274 /  8535 =  85.226
------------------------------------
New max robust acc: 85.22554188635031
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed5.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed5.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.479
Robust Acc: 83.333 | Best Acc: 97.056
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8575 /  9767 =  87.796
0, 1  acc:  7129 /  7535 =  94.612
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18261 / 19962 =  91.479
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8575 /  9767 =  87.796
0, 1  acc:  7129 /  7535 =  94.612
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18261 / 19962 =  91.479
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8575 /  9767 =  87.796
0, 1  acc:  7129 /  7535 =  94.612
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18261 / 19962 =  91.479
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.791 | Val Loss: 0.002 | Val Acc: 92.259
Training:
Accuracies by groups:
0, 0  acc: 11582 / 14402 =  80.419
0, 1  acc:  6041 /  6587 =  91.711
1, 0  acc: 133088 / 133285 =  99.852
1, 1  acc:  8464 /  8496 =  99.623
--------------------------------------
Average acc: 159175 / 162770 =  97.791
Robust  acc: 11582 / 14402 =  80.419
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7431 /  8535 =  87.065
0, 1  acc:  7970 /  8276 =  96.303
1, 0  acc:  2777 /  2874 =  96.625
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 18329 / 19867 =  92.259
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.686
Robust Acc: 77.778 | Best Acc: 96.048
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8752 /  9767 =  89.608
0, 1  acc:  7228 /  7535 =  95.926
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18502 / 19962 =  92.686
Robust  acc:   140 /   180 =  77.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8752 /  9767 =  89.608
0, 1  acc:  7228 /  7535 =  95.926
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18502 / 19962 =  92.686
Robust  acc:   140 /   180 =  77.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8752 /  9767 =  89.608
0, 1  acc:  7228 /  7535 =  95.926
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18502 / 19962 =  92.686
Robust  acc:   140 /   180 =  77.778
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.202 | Val Loss: 0.002 | Val Acc: 91.795
Training:
Accuracies by groups:
0, 0  acc: 12141 / 14509 =  83.679
0, 1  acc:  6054 /  6501 =  93.124
1, 0  acc: 133136 / 133221 =  99.936
1, 1  acc:  8512 /  8539 =  99.684
--------------------------------------
Average acc: 159843 / 162770 =  98.202
Robust  acc: 12141 / 14509 =  83.679
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7343 /  8535 =  86.034
0, 1  acc:  7964 /  8276 =  96.230
1, 0  acc:  2778 /  2874 =  96.660
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18237 / 19867 =  91.795
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.160
Robust Acc: 77.222 | Best Acc: 95.927
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8680 /  9767 =  88.871
0, 1  acc:  7199 /  7535 =  95.541
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18397 / 19962 =  92.160
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8680 /  9767 =  88.871
0, 1  acc:  7199 /  7535 =  95.541
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18397 / 19962 =  92.160
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8680 /  9767 =  88.871
0, 1  acc:  7199 /  7535 =  95.541
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18397 / 19962 =  92.160
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.563 | Val Loss: 0.001 | Val Acc: 94.156
Training:
Accuracies by groups:
0, 0  acc: 12591 / 14497 =  86.852
0, 1  acc:  6180 /  6515 =  94.858
1, 0  acc: 133063 / 133139 =  99.943
1, 1  acc:  8597 /  8619 =  99.745
--------------------------------------
Average acc: 160431 / 162770 =  98.563
Robust  acc: 12591 / 14497 =  86.852
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7894 /  8535 =  92.490
0, 1  acc:  8105 /  8276 =  97.934
1, 0  acc:  2579 /  2874 =  89.736
1, 1  acc:   128 /   182 =  70.330
------------------------------------
Average acc: 18706 / 19867 =  94.156
Robust  acc:   128 /   182 =  70.330
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.194
Robust Acc: 66.111 | Best Acc: 97.399
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9153 /  9767 =  93.714
0, 1  acc:  7339 /  7535 =  97.399
1, 0  acc:  2192 /  2480 =  88.387
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18803 / 19962 =  94.194
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9153 /  9767 =  93.714
0, 1  acc:  7339 /  7535 =  97.399
1, 0  acc:  2192 /  2480 =  88.387
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18803 / 19962 =  94.194
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9153 /  9767 =  93.714
0, 1  acc:  7339 /  7535 =  97.399
1, 0  acc:  2192 /  2480 =  88.387
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18803 / 19962 =  94.194
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.548 | Val Loss: 0.002 | Val Acc: 92.601
Training:
Accuracies by groups:
0, 0  acc: 12551 / 14379 =  87.287
0, 1  acc:  6345 /  6674 =  95.070
1, 0  acc: 132879 / 133041 =  99.878
1, 1  acc:  8631 /  8676 =  99.481
--------------------------------------
Average acc: 160406 / 162770 =  98.548
Robust  acc: 12551 / 14379 =  87.287
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7492 /  8535 =  87.780
0, 1  acc:  8038 /  8276 =  97.124
1, 0  acc:  2734 /  2874 =  95.129
1, 1  acc:   133 /   182 =  73.077
------------------------------------
Average acc: 18397 / 19867 =  92.601
Robust  acc:   133 /   182 =  73.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.202
Robust Acc: 70.000 | Best Acc: 96.921
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8835 /  9767 =  90.458
0, 1  acc:  7303 /  7535 =  96.921
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18605 / 19962 =  93.202
Robust  acc:   126 /   180 =  70.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8835 /  9767 =  90.458
0, 1  acc:  7303 /  7535 =  96.921
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18605 / 19962 =  93.202
Robust  acc:   126 /   180 =  70.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8835 /  9767 =  90.458
0, 1  acc:  7303 /  7535 =  96.921
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18605 / 19962 =  93.202
Robust  acc:   126 /   180 =  70.000
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.293 | Val Loss: 0.001 | Val Acc: 93.889
Training:
Accuracies by groups:
0, 0  acc: 12207 / 14225 =  85.814
0, 1  acc:  6293 /  6651 =  94.617
1, 0  acc: 132962 / 133270 =  99.769
1, 1  acc:  8529 /  8624 =  98.898
--------------------------------------
Average acc: 159991 / 162770 =  98.293
Robust  acc: 12207 / 14225 =  85.814
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7789 /  8535 =  91.260
0, 1  acc:  8089 /  8276 =  97.740
1, 0  acc:  2647 /  2874 =  92.102
1, 1  acc:   128 /   182 =  70.330
------------------------------------
Average acc: 18653 / 19867 =  93.889
Robust  acc:   128 /   182 =  70.330
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.149
Robust Acc: 66.111 | Best Acc: 97.386
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  9094 /  9767 =  93.109
0, 1  acc:  7338 /  7535 =  97.386
1, 0  acc:  2243 /  2480 =  90.444
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18794 / 19962 =  94.149
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9094 /  9767 =  93.109
0, 1  acc:  7338 /  7535 =  97.386
1, 0  acc:  2243 /  2480 =  90.444
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18794 / 19962 =  94.149
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9094 /  9767 =  93.109
0, 1  acc:  7338 /  7535 =  97.386
1, 0  acc:  2243 /  2480 =  90.444
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18794 / 19962 =  94.149
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.825 | Val Loss: 0.002 | Val Acc: 91.473
Training:
Accuracies by groups:
0, 0  acc: 12030 / 14522 =  82.840
0, 1  acc:  6085 /  6525 =  93.257
1, 0  acc: 132521 / 132986 =  99.650
1, 1  acc:  8594 /  8737 =  98.363
--------------------------------------
Average acc: 159230 / 162770 =  97.825
Robust  acc: 12030 / 14522 =  82.840
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7405 /  8535 =  86.760
0, 1  acc:  7840 /  8276 =  94.732
1, 0  acc:  2768 /  2874 =  96.312
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 18173 / 19867 =  91.473
Robust  acc:  7405 /  8535 =  86.760
------------------------------------
New max robust acc: 86.76039835969537
debias model - Saving best checkpoint at epoch 12
replace: True
-> Updating checkpoint debias-wga-best_seed5.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed5.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.020
Robust Acc: 81.667 | Best Acc: 95.605
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8744 /  9767 =  89.526
0, 1  acc:  7107 /  7535 =  94.320
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18369 / 19962 =  92.020
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8744 /  9767 =  89.526
0, 1  acc:  7107 /  7535 =  94.320
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18369 / 19962 =  92.020
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8744 /  9767 =  89.526
0, 1  acc:  7107 /  7535 =  94.320
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18369 / 19962 =  92.020
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.332 | Val Loss: 0.002 | Val Acc: 91.750
Training:
Accuracies by groups:
0, 0  acc: 11487 / 14408 =  79.727
0, 1  acc:  5958 /  6528 =  91.268
1, 0  acc: 132603 / 133266 =  99.502
1, 1  acc:  8379 /  8568 =  97.794
--------------------------------------
Average acc: 158427 / 162770 =  97.332
Robust  acc: 11487 / 14408 =  79.727
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7347 /  8535 =  86.081
0, 1  acc:  7992 /  8276 =  96.568
1, 0  acc:  2745 /  2874 =  95.511
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18228 / 19867 =  91.750
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.774
Robust Acc: 71.111 | Best Acc: 95.753
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8651 /  9767 =  88.574
0, 1  acc:  7215 /  7535 =  95.753
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18320 / 19962 =  91.774
Robust  acc:   128 /   180 =  71.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8651 /  9767 =  88.574
0, 1  acc:  7215 /  7535 =  95.753
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18320 / 19962 =  91.774
Robust  acc:   128 /   180 =  71.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8651 /  9767 =  88.574
0, 1  acc:  7215 /  7535 =  95.753
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18320 / 19962 =  91.774
Robust  acc:   128 /   180 =  71.111
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.940 | Val Loss: 0.002 | Val Acc: 89.279
Training:
Accuracies by groups:
0, 0  acc: 11284 / 14570 =  77.447
0, 1  acc:  5810 /  6508 =  89.275
1, 0  acc: 132512 / 133242 =  99.452
1, 1  acc:  8184 /  8450 =  96.852
--------------------------------------
Average acc: 157790 / 162770 =  96.940
Robust  acc: 11284 / 14570 =  77.447
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7068 /  8535 =  82.812
0, 1  acc:  7698 /  8276 =  93.016
1, 0  acc:  2808 /  2874 =  97.704
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17737 / 19867 =  89.279
Robust  acc:  7068 /  8535 =  82.812
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.126
Robust Acc: 84.444 | Best Acc: 97.016
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8429 /  9767 =  86.301
0, 1  acc:  7004 /  7535 =  92.953
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17991 / 19962 =  90.126
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8429 /  9767 =  86.301
0, 1  acc:  7004 /  7535 =  92.953
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17991 / 19962 =  90.126
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8429 /  9767 =  86.301
0, 1  acc:  7004 /  7535 =  92.953
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17991 / 19962 =  90.126
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.442 | Val Loss: 0.002 | Val Acc: 90.487
Training:
Accuracies by groups:
0, 0  acc: 10608 / 14305 =  74.156
0, 1  acc:  5739 /  6534 =  87.833
1, 0  acc: 132301 / 133267 =  99.275
1, 1  acc:  8330 /  8664 =  96.145
--------------------------------------
Average acc: 156978 / 162770 =  96.442
Robust  acc: 10608 / 14305 =  74.156
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7303 /  8535 =  85.565
0, 1  acc:  7730 /  8276 =  93.403
1, 0  acc:  2782 /  2874 =  96.799
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17977 / 19867 =  90.487
Robust  acc:  7303 /  8535 =  85.565
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.148
Robust Acc: 86.667 | Best Acc: 95.444
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8638 /  9767 =  88.441
0, 1  acc:  7034 /  7535 =  93.351
1, 0  acc:  2367 /  2480 =  95.444
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 18195 / 19962 =  91.148
Robust  acc:   156 /   180 =  86.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8638 /  9767 =  88.441
0, 1  acc:  7034 /  7535 =  93.351
1, 0  acc:  2367 /  2480 =  95.444
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 18195 / 19962 =  91.148
Robust  acc:   156 /   180 =  86.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8638 /  9767 =  88.441
0, 1  acc:  7034 /  7535 =  93.351
1, 0  acc:  2367 /  2480 =  95.444
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 18195 / 19962 =  91.148
Robust  acc:   156 /   180 =  86.667
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 96.101 | Val Loss: 0.005 | Val Acc: 71.898
Training:
Accuracies by groups:
0, 0  acc: 10409 / 14470 =  71.935
0, 1  acc:  5642 /  6512 =  86.640
1, 0  acc: 132028 / 133098 =  99.196
1, 1  acc:  8344 /  8690 =  96.018
--------------------------------------
Average acc: 156423 / 162770 =  96.101
Robust  acc: 10409 / 14470 =  71.935
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4952 /  8535 =  58.020
0, 1  acc:  6284 /  8276 =  75.930
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14284 / 19867 =  71.898
Robust  acc:  4952 /  8535 =  58.020
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.404
Robust Acc: 63.909 | Best Acc: 99.718
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  6242 /  9767 =  63.909
0, 1  acc:  5766 /  7535 =  76.523
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14653 / 19962 =  73.404
Robust  acc:  6242 /  9767 =  63.909
------------------------------------
Accuracies by groups:
0, 0  acc:  6242 /  9767 =  63.909
0, 1  acc:  5766 /  7535 =  76.523
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14653 / 19962 =  73.404
Robust  acc:  6242 /  9767 =  63.909
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6242 /  9767 =  63.909
0, 1  acc:  5766 /  7535 =  76.523
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14653 / 19962 =  73.404
Robust  acc:  6242 /  9767 =  63.909
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.771 | Val Loss: 0.005 | Val Acc: 71.697
Training:
Accuracies by groups:
0, 0  acc: 10004 / 14300 =  69.958
0, 1  acc:  5570 /  6546 =  85.090
1, 0  acc: 132220 / 133432 =  99.092
1, 1  acc:  8093 /  8492 =  95.301
--------------------------------------
Average acc: 155887 / 162770 =  95.771
Robust  acc: 10004 / 14300 =  69.958
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5080 /  8535 =  59.520
0, 1  acc:  6122 /  8276 =  73.973
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14244 / 19867 =  71.697
Robust  acc:  5080 /  8535 =  59.520
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.154
Robust Acc: 65.087 | Best Acc: 99.516
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  6357 /  9767 =  65.087
0, 1  acc:  5606 /  7535 =  74.399
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14603 / 19962 =  73.154
Robust  acc:  6357 /  9767 =  65.087
------------------------------------
Accuracies by groups:
0, 0  acc:  6357 /  9767 =  65.087
0, 1  acc:  5606 /  7535 =  74.399
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14603 / 19962 =  73.154
Robust  acc:  6357 /  9767 =  65.087
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6357 /  9767 =  65.087
0, 1  acc:  5606 /  7535 =  74.399
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14603 / 19962 =  73.154
Robust  acc:  6357 /  9767 =  65.087
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.348 | Val Loss: 0.002 | Val Acc: 90.718
Training:
Accuracies by groups:
0, 0  acc:  9784 / 14300 =  68.420
0, 1  acc:  5227 /  6478 =  80.688
1, 0  acc: 132015 / 133357 =  98.994
1, 1  acc:  8172 /  8635 =  94.638
--------------------------------------
Average acc: 155198 / 162770 =  95.348
Robust  acc:  9784 / 14300 =  68.420
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7361 /  8535 =  86.245
0, 1  acc:  7713 /  8276 =  93.197
1, 0  acc:  2782 /  2874 =  96.799
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 18023 / 19867 =  90.718
Robust  acc:  7361 /  8535 =  86.245
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.539
Robust Acc: 82.222 | Best Acc: 96.371
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  8690 /  9767 =  88.973
0, 1  acc:  7045 /  7535 =  93.497
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18273 / 19962 =  91.539
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8690 /  9767 =  88.973
0, 1  acc:  7045 /  7535 =  93.497
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18273 / 19962 =  91.539
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8690 /  9767 =  88.973
0, 1  acc:  7045 /  7535 =  93.497
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18273 / 19962 =  91.539
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.088 | Val Loss: 0.003 | Val Acc: 90.779
Training:
Accuracies by groups:
0, 0  acc:  9654 / 14474 =  66.699
0, 1  acc:  5161 /  6532 =  79.011
1, 0  acc: 131721 / 133055 =  98.997
1, 1  acc:  8238 /  8709 =  94.592
--------------------------------------
Average acc: 154774 / 162770 =  95.088
Robust  acc:  9654 / 14474 =  66.699
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7225 /  8535 =  84.651
0, 1  acc:  7885 /  8276 =  95.275
1, 0  acc:  2773 /  2874 =  96.486
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18035 / 19867 =  90.779
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.664
Robust Acc: 78.889 | Best Acc: 96.048
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  8595 /  9767 =  88.000
0, 1  acc:  7179 /  7535 =  95.275
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18298 / 19962 =  91.664
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8595 /  9767 =  88.000
0, 1  acc:  7179 /  7535 =  95.275
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18298 / 19962 =  91.664
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8595 /  9767 =  88.000
0, 1  acc:  7179 /  7535 =  95.275
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18298 / 19962 =  91.664
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 94.952 | Val Loss: 0.003 | Val Acc: 85.272
Training:
Accuracies by groups:
0, 0  acc:  9196 / 14152 =  64.980
0, 1  acc:  4991 /  6524 =  76.502
1, 0  acc: 132155 / 133438 =  99.039
1, 1  acc:  8212 /  8656 =  94.871
--------------------------------------
Average acc: 154554 / 162770 =  94.952
Robust  acc:  9196 / 14152 =  64.980
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6700 /  8535 =  78.500
0, 1  acc:  7279 /  8276 =  87.953
1, 0  acc:  2798 /  2874 =  97.356
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 16941 / 19867 =  85.272
Robust  acc:  6700 /  8535 =  78.500
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.509
Robust Acc: 83.229 | Best Acc: 96.573
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8129 /  9767 =  83.229
0, 1  acc:  6588 /  7535 =  87.432
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17269 / 19962 =  86.509
Robust  acc:  8129 /  9767 =  83.229
------------------------------------
Accuracies by groups:
0, 0  acc:  8129 /  9767 =  83.229
0, 1  acc:  6588 /  7535 =  87.432
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17269 / 19962 =  86.509
Robust  acc:  8129 /  9767 =  83.229
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8129 /  9767 =  83.229
0, 1  acc:  6588 /  7535 =  87.432
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17269 / 19962 =  86.509
Robust  acc:  8129 /  9767 =  83.229
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.716 | Val Loss: 0.004 | Val Acc: 80.546
Training:
Accuracies by groups:
0, 0  acc:  9092 / 14306 =  63.554
0, 1  acc:  4968 /  6613 =  75.125
1, 0  acc: 131821 / 133110 =  99.032
1, 1  acc:  8288 /  8741 =  94.818
--------------------------------------
Average acc: 154169 / 162770 =  94.716
Robust  acc:  9092 / 14306 =  63.554
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6272 /  8535 =  73.486
0, 1  acc:  6702 /  8276 =  80.981
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 16002 / 19867 =  80.546
Robust  acc:  6272 /  8535 =  73.486
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.311
Robust Acc: 79.011 | Best Acc: 98.589
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  7717 /  9767 =  79.011
0, 1  acc:  6098 /  7535 =  80.929
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16431 / 19962 =  82.311
Robust  acc:  7717 /  9767 =  79.011
------------------------------------
Accuracies by groups:
0, 0  acc:  7717 /  9767 =  79.011
0, 1  acc:  6098 /  7535 =  80.929
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16431 / 19962 =  82.311
Robust  acc:  7717 /  9767 =  79.011
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7717 /  9767 =  79.011
0, 1  acc:  6098 /  7535 =  80.929
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16431 / 19962 =  82.311
Robust  acc:  7717 /  9767 =  79.011
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.603 | Val Loss: 0.003 | Val Acc: 91.005
Training:
Accuracies by groups:
0, 0  acc:  9048 / 14506 =  62.374
0, 1  acc:  4872 /  6647 =  73.296
1, 0  acc: 131802 / 132951 =  99.136
1, 1  acc:  8263 /  8666 =  95.350
--------------------------------------
Average acc: 153985 / 162770 =  94.603
Robust  acc:  9048 / 14506 =  62.374
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7502 /  8535 =  87.897
0, 1  acc:  7689 /  8276 =  92.907
1, 0  acc:  2737 /  2874 =  95.233
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18080 / 19867 =  91.005
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.225
Robust Acc: 79.444 | Best Acc: 93.952
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  8889 /  9767 =  91.011
0, 1  acc:  7048 /  7535 =  93.537
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18410 / 19962 =  92.225
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8889 /  9767 =  91.011
0, 1  acc:  7048 /  7535 =  93.537
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18410 / 19962 =  92.225
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8889 /  9767 =  91.011
0, 1  acc:  7048 /  7535 =  93.537
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18410 / 19962 =  92.225
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.560 | Val Loss: 0.006 | Val Acc: 67.720
Training:
Accuracies by groups:
0, 0  acc:  8817 / 14334 =  61.511
0, 1  acc:  4762 /  6558 =  72.614
1, 0  acc: 132128 / 133280 =  99.136
1, 1  acc:  8209 /  8598 =  95.476
--------------------------------------
Average acc: 153916 / 162770 =  94.560
Robust  acc:  8817 / 14334 =  61.511
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4592 /  8535 =  53.802
0, 1  acc:  5821 /  8276 =  70.336
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 13454 / 19867 =  67.720
Robust  acc:  4592 /  8535 =  53.802
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.347
Robust Acc: 59.967 | Best Acc: 99.758
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  5857 /  9767 =  59.967
0, 1  acc:  5337 /  7535 =  70.829
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13843 / 19962 =  69.347
Robust  acc:  5857 /  9767 =  59.967
------------------------------------
Accuracies by groups:
0, 0  acc:  5857 /  9767 =  59.967
0, 1  acc:  5337 /  7535 =  70.829
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13843 / 19962 =  69.347
Robust  acc:  5857 /  9767 =  59.967
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5857 /  9767 =  59.967
0, 1  acc:  5337 /  7535 =  70.829
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13843 / 19962 =  69.347
Robust  acc:  5857 /  9767 =  59.967
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.428 | Val Loss: 0.005 | Val Acc: 76.992
Training:
Accuracies by groups:
0, 0  acc:  8986 / 14629 =  61.426
0, 1  acc:  4741 /  6546 =  72.426
1, 0  acc: 131695 / 132919 =  99.079
1, 1  acc:  8279 /  8676 =  95.424
--------------------------------------
Average acc: 153701 / 162770 =  94.428
Robust  acc:  8986 / 14629 =  61.426
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5733 /  8535 =  67.170
0, 1  acc:  6527 /  8276 =  78.867
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15296 / 19867 =  76.992
Robust  acc:  5733 /  8535 =  67.170
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.599
Robust Acc: 72.868 | Best Acc: 99.315
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  7117 /  9767 =  72.868
0, 1  acc:  5935 /  7535 =  78.766
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15690 / 19962 =  78.599
Robust  acc:  7117 /  9767 =  72.868
------------------------------------
Accuracies by groups:
0, 0  acc:  7117 /  9767 =  72.868
0, 1  acc:  5935 /  7535 =  78.766
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15690 / 19962 =  78.599
Robust  acc:  7117 /  9767 =  72.868
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7117 /  9767 =  72.868
0, 1  acc:  5935 /  7535 =  78.766
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15690 / 19962 =  78.599
Robust  acc:  7117 /  9767 =  72.868
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.332 | Val Loss: 0.005 | Val Acc: 80.042
Training:
Accuracies by groups:
0, 0  acc:  8717 / 14492 =  60.150
0, 1  acc:  4626 /  6528 =  70.864
1, 0  acc: 131945 / 133146 =  99.098
1, 1  acc:  8256 /  8604 =  95.955
--------------------------------------
Average acc: 153544 / 162770 =  94.332
Robust  acc:  8717 / 14492 =  60.150
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6324 /  8535 =  74.095
0, 1  acc:  6560 /  8276 =  79.265
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15902 / 19867 =  80.042
Robust  acc:  6324 /  8535 =  74.095
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.840
Robust Acc: 78.499 | Best Acc: 98.185
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  7667 /  9767 =  78.499
0, 1  acc:  6061 /  7535 =  80.438
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16337 / 19962 =  81.840
Robust  acc:  7667 /  9767 =  78.499
------------------------------------
Accuracies by groups:
0, 0  acc:  7667 /  9767 =  78.499
0, 1  acc:  6061 /  7535 =  80.438
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16337 / 19962 =  81.840
Robust  acc:  7667 /  9767 =  78.499
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7667 /  9767 =  78.499
0, 1  acc:  6061 /  7535 =  80.438
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16337 / 19962 =  81.840
Robust  acc:  7667 /  9767 =  78.499
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.242 | Val Loss: 0.007 | Val Acc: 60.568
Training:
Accuracies by groups:
0, 0  acc:  8683 / 14562 =  59.628
0, 1  acc:  4504 /  6604 =  68.201
1, 0  acc: 131996 / 133057 =  99.203
1, 1  acc:  8215 /  8547 =  96.116
--------------------------------------
Average acc: 153398 / 162770 =  94.242
Robust  acc:  8683 / 14562 =  59.628
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4109 /  8535 =  48.143
0, 1  acc:  4875 /  8276 =  58.905
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12033 / 19867 =  60.568
Robust  acc:  4109 /  8535 =  48.143
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 61.317
Robust Acc: 53.404 | Best Acc: 99.839
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  5216 /  9767 =  53.404
0, 1  acc:  4370 /  7535 =  57.996
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12240 / 19962 =  61.317
Robust  acc:  5216 /  9767 =  53.404
------------------------------------
Accuracies by groups:
0, 0  acc:  5216 /  9767 =  53.404
0, 1  acc:  4370 /  7535 =  57.996
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12240 / 19962 =  61.317
Robust  acc:  5216 /  9767 =  53.404
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5216 /  9767 =  53.404
0, 1  acc:  4370 /  7535 =  57.996
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12240 / 19962 =  61.317
Robust  acc:  5216 /  9767 =  53.404
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.114 | Val Loss: 0.005 | Val Acc: 73.625
Training:
Accuracies by groups:
0, 0  acc:  8561 / 14623 =  58.545
0, 1  acc:  4327 /  6516 =  66.406
1, 0  acc: 131987 / 133003 =  99.236
1, 1  acc:  8314 /  8628 =  96.361
--------------------------------------
Average acc: 153189 / 162770 =  94.114
Robust  acc:  8561 / 14623 =  58.545
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5609 /  8535 =  65.718
0, 1  acc:  5990 /  8276 =  72.378
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14627 / 19867 =  73.625
Robust  acc:  5609 /  8535 =  65.718
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.662
Robust Acc: 70.750 | Best Acc: 98.790
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  6953 /  9767 =  71.189
0, 1  acc:  5331 /  7535 =  70.750
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 14904 / 19962 =  74.662
Robust  acc:  5331 /  7535 =  70.750
------------------------------------
Accuracies by groups:
0, 0  acc:  6953 /  9767 =  71.189
0, 1  acc:  5331 /  7535 =  70.750
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 14904 / 19962 =  74.662
Robust  acc:  5331 /  7535 =  70.750
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6953 /  9767 =  71.189
0, 1  acc:  5331 /  7535 =  70.750
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 14904 / 19962 =  74.662
Robust  acc:  5331 /  7535 =  70.750
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.078 | Val Loss: 0.006 | Val Acc: 63.210
Training:
Accuracies by groups:
0, 0  acc:  8303 / 14476 =  57.357
0, 1  acc:  4374 /  6623 =  66.043
1, 0  acc: 132205 / 133111 =  99.319
1, 1  acc:  8249 /  8560 =  96.367
--------------------------------------
Average acc: 153131 / 162770 =  94.078
Robust  acc:  8303 / 14476 =  57.357
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4725 /  8535 =  55.360
0, 1  acc:  4790 /  8276 =  57.878
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 12558 / 19867 =  63.210
Robust  acc:  4725 /  8535 =  55.360
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 64.888
Robust Acc: 58.845 | Best Acc: 99.798
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  5866 /  9767 =  60.059
0, 1  acc:  4434 /  7535 =  58.845
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12953 / 19962 =  64.888
Robust  acc:  4434 /  7535 =  58.845
------------------------------------
Accuracies by groups:
0, 0  acc:  5866 /  9767 =  60.059
0, 1  acc:  4434 /  7535 =  58.845
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12953 / 19962 =  64.888
Robust  acc:  4434 /  7535 =  58.845
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5866 /  9767 =  60.059
0, 1  acc:  4434 /  7535 =  58.845
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12953 / 19962 =  64.888
Robust  acc:  4434 /  7535 =  58.845
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.119 | Val Loss: 0.004 | Val Acc: 83.123
Training:
Accuracies by groups:
0, 0  acc:  8447 / 14651 =  57.655
0, 1  acc:  4162 /  6349 =  65.554
1, 0  acc: 132245 / 133156 =  99.316
1, 1  acc:  8344 /  8614 =  96.866
--------------------------------------
Average acc: 153198 / 162770 =  94.119
Robust  acc:  8447 / 14651 =  57.655
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6561 /  8535 =  76.872
0, 1  acc:  6950 /  8276 =  83.978
1, 0  acc:  2828 /  2874 =  98.399
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16514 / 19867 =  83.123
Robust  acc:  6561 /  8535 =  76.872
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.861
Robust Acc: 81.591 | Best Acc: 98.347
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7969 /  9767 =  81.591
0, 1  acc:  6367 /  7535 =  84.499
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16940 / 19962 =  84.861
Robust  acc:  7969 /  9767 =  81.591
------------------------------------
Accuracies by groups:
0, 0  acc:  7969 /  9767 =  81.591
0, 1  acc:  6367 /  7535 =  84.499
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16940 / 19962 =  84.861
Robust  acc:  7969 /  9767 =  81.591
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7969 /  9767 =  81.591
0, 1  acc:  6367 /  7535 =  84.499
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16940 / 19962 =  84.861
Robust  acc:  7969 /  9767 =  81.591
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 94.005 | Val Loss: 0.006 | Val Acc: 68.188
Training:
Accuracies by groups:
0, 0  acc:  8149 / 14372 =  56.701
0, 1  acc:  4183 /  6500 =  64.354
1, 0  acc: 132430 / 133376 =  99.291
1, 1  acc:  8250 /  8522 =  96.808
--------------------------------------
Average acc: 153012 / 162770 =  94.005
Robust  acc:  8149 / 14372 =  56.701
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5113 /  8535 =  59.906
0, 1  acc:  5388 /  8276 =  65.104
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13547 / 19867 =  68.188
Robust  acc:  5113 /  8535 =  59.906
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.299
Robust Acc: 65.680 | Best Acc: 99.637
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  6415 /  9767 =  65.680
0, 1  acc:  4971 /  7535 =  65.972
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14033 / 19962 =  70.299
Robust  acc:  6415 /  9767 =  65.680
------------------------------------
Accuracies by groups:
0, 0  acc:  6415 /  9767 =  65.680
0, 1  acc:  4971 /  7535 =  65.972
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14033 / 19962 =  70.299
Robust  acc:  6415 /  9767 =  65.680
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6415 /  9767 =  65.680
0, 1  acc:  4971 /  7535 =  65.972
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14033 / 19962 =  70.299
Robust  acc:  6415 /  9767 =  65.680
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.916 | Val Loss: 0.004 | Val Acc: 83.817
Training:
Accuracies by groups:
0, 0  acc:  8219 / 14641 =  56.137
0, 1  acc:  4214 /  6486 =  64.971
1, 0  acc: 132190 / 133120 =  99.301
1, 1  acc:  8244 /  8523 =  96.727
--------------------------------------
Average acc: 152867 / 162770 =  93.916
Robust  acc:  8219 / 14641 =  56.137
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6612 /  8535 =  77.469
0, 1  acc:  7031 /  8276 =  84.957
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16652 / 19867 =  83.817
Robust  acc:  6612 /  8535 =  77.469
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.558
Robust Acc: 82.369 | Best Acc: 98.024
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  8045 /  9767 =  82.369
0, 1  acc:  6437 /  7535 =  85.428
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17079 / 19962 =  85.558
Robust  acc:  8045 /  9767 =  82.369
------------------------------------
Accuracies by groups:
0, 0  acc:  8045 /  9767 =  82.369
0, 1  acc:  6437 /  7535 =  85.428
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17079 / 19962 =  85.558
Robust  acc:  8045 /  9767 =  82.369
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8045 /  9767 =  82.369
0, 1  acc:  6437 /  7535 =  85.428
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17079 / 19962 =  85.558
Robust  acc:  8045 /  9767 =  82.369
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.949 | Val Loss: 0.005 | Val Acc: 77.551
Training:
Accuracies by groups:
0, 0  acc:  8123 / 14451 =  56.211
0, 1  acc:  4162 /  6560 =  63.445
1, 0  acc: 132302 / 133149 =  99.364
1, 1  acc:  8333 /  8610 =  96.783
--------------------------------------
Average acc: 152920 / 162770 =  93.949
Robust  acc:  8123 / 14451 =  56.211
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5994 /  8535 =  70.228
0, 1  acc:  6398 /  8276 =  77.308
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 15407 / 19867 =  77.551
Robust  acc:  5994 /  8535 =  70.228
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.216
Robust Acc: 75.131 | Best Acc: 98.911
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7338 /  9767 =  75.131
0, 1  acc:  5852 /  7535 =  77.664
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15813 / 19962 =  79.216
Robust  acc:  7338 /  9767 =  75.131
------------------------------------
Accuracies by groups:
0, 0  acc:  7338 /  9767 =  75.131
0, 1  acc:  5852 /  7535 =  77.664
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15813 / 19962 =  79.216
Robust  acc:  7338 /  9767 =  75.131
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7338 /  9767 =  75.131
0, 1  acc:  5852 /  7535 =  77.664
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15813 / 19962 =  79.216
Robust  acc:  7338 /  9767 =  75.131
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.928 | Val Loss: 0.005 | Val Acc: 73.947
Training:
Accuracies by groups:
0, 0  acc:  8002 / 14330 =  55.841
0, 1  acc:  4247 /  6629 =  64.067
1, 0  acc: 132267 / 133160 =  99.329
1, 1  acc:  8371 /  8651 =  96.763
--------------------------------------
Average acc: 152887 / 162770 =  93.928
Robust  acc:  8002 / 14330 =  55.841
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5398 /  8535 =  63.245
0, 1  acc:  6254 /  8276 =  75.568
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14691 / 19867 =  73.947
Robust  acc:  5398 /  8535 =  63.245
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.218
Robust Acc: 68.977 | Best Acc: 99.234
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  6737 /  9767 =  68.977
0, 1  acc:  5649 /  7535 =  74.970
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15015 / 19962 =  75.218
Robust  acc:  6737 /  9767 =  68.977
------------------------------------
Accuracies by groups:
0, 0  acc:  6737 /  9767 =  68.977
0, 1  acc:  5649 /  7535 =  74.970
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15015 / 19962 =  75.218
Robust  acc:  6737 /  9767 =  68.977
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6737 /  9767 =  68.977
0, 1  acc:  5649 /  7535 =  74.970
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15015 / 19962 =  75.218
Robust  acc:  6737 /  9767 =  68.977
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.892 | Val Loss: 0.005 | Val Acc: 74.536
Training:
Accuracies by groups:
0, 0  acc:  8052 / 14387 =  55.967
0, 1  acc:  4251 /  6633 =  64.089
1, 0  acc: 132078 / 133009 =  99.300
1, 1  acc:  8447 /  8741 =  96.637
--------------------------------------
Average acc: 152828 / 162770 =  93.892
Robust  acc:  8052 / 14387 =  55.967
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5541 /  8535 =  64.921
0, 1  acc:  6237 /  8276 =  75.362
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 14808 / 19867 =  74.536
Robust  acc:  5541 /  8535 =  64.921
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.375
Robust Acc: 71.045 | Best Acc: 99.153
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  6939 /  9767 =  71.045
0, 1  acc:  5676 /  7535 =  75.328
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15246 / 19962 =  76.375
Robust  acc:  6939 /  9767 =  71.045
------------------------------------
Accuracies by groups:
0, 0  acc:  6939 /  9767 =  71.045
0, 1  acc:  5676 /  7535 =  75.328
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15246 / 19962 =  76.375
Robust  acc:  6939 /  9767 =  71.045
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6939 /  9767 =  71.045
0, 1  acc:  5676 /  7535 =  75.328
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15246 / 19962 =  76.375
Robust  acc:  6939 /  9767 =  71.045
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.935 | Val Loss: 0.007 | Val Acc: 58.650
Training:
Accuracies by groups:
0, 0  acc:  7994 / 14349 =  55.711
0, 1  acc:  4121 /  6525 =  63.157
1, 0  acc: 132326 / 133192 =  99.350
1, 1  acc:  8457 /  8704 =  97.162
--------------------------------------
Average acc: 152898 / 162770 =  93.935
Robust  acc:  7994 / 14349 =  55.711
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4163 /  8535 =  48.776
0, 1  acc:  4441 /  8276 =  53.661
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11652 / 19867 =  58.650
Robust  acc:  4163 /  8535 =  48.776
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 59.593
Robust Acc: 52.701 | Best Acc: 99.758
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  5273 /  9767 =  53.988
0, 1  acc:  3971 /  7535 =  52.701
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11896 / 19962 =  59.593
Robust  acc:  3971 /  7535 =  52.701
------------------------------------
Accuracies by groups:
0, 0  acc:  5273 /  9767 =  53.988
0, 1  acc:  3971 /  7535 =  52.701
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11896 / 19962 =  59.593
Robust  acc:  3971 /  7535 =  52.701
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5273 /  9767 =  53.988
0, 1  acc:  3971 /  7535 =  52.701
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11896 / 19962 =  59.593
Robust  acc:  3971 /  7535 =  52.701
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.953 | Val Loss: 0.004 | Val Acc: 82.997
Training:
Accuracies by groups:
0, 0  acc:  8043 / 14469 =  55.588
0, 1  acc:  4149 /  6494 =  63.890
1, 0  acc: 132495 / 133312 =  99.387
1, 1  acc:  8241 /  8495 =  97.010
--------------------------------------
Average acc: 152928 / 162770 =  93.953
Robust  acc:  8043 / 14469 =  55.588
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6561 /  8535 =  76.872
0, 1  acc:  6921 /  8276 =  83.627
1, 0  acc:  2831 /  2874 =  98.504
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16489 / 19867 =  82.997
Robust  acc:  6561 /  8535 =  76.872
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.611
Robust Acc: 81.253 | Best Acc: 98.347
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  7936 /  9767 =  81.253
0, 1  acc:  6350 /  7535 =  84.273
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16890 / 19962 =  84.611
Robust  acc:  7936 /  9767 =  81.253
------------------------------------
Accuracies by groups:
0, 0  acc:  7936 /  9767 =  81.253
0, 1  acc:  6350 /  7535 =  84.273
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16890 / 19962 =  84.611
Robust  acc:  7936 /  9767 =  81.253
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7936 /  9767 =  81.253
0, 1  acc:  6350 /  7535 =  84.273
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16890 / 19962 =  84.611
Robust  acc:  7936 /  9767 =  81.253
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.867 | Val Loss: 0.006 | Val Acc: 62.335
Training:
Accuracies by groups:
0, 0  acc:  8196 / 14662 =  55.900
0, 1  acc:  4103 /  6522 =  62.910
1, 0  acc: 132031 / 132855 =  99.380
1, 1  acc:  8457 /  8731 =  96.862
--------------------------------------
Average acc: 152787 / 162770 =  93.867
Robust  acc:  8196 / 14662 =  55.900
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4464 /  8535 =  52.302
0, 1  acc:  4871 /  8276 =  58.857
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12384 / 19867 =  62.335
Robust  acc:  4464 /  8535 =  52.302
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 63.631
Robust Acc: 57.899 | Best Acc: 99.677
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  5655 /  9767 =  57.899
0, 1  acc:  4399 /  7535 =  58.381
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12702 / 19962 =  63.631
Robust  acc:  5655 /  9767 =  57.899
------------------------------------
Accuracies by groups:
0, 0  acc:  5655 /  9767 =  57.899
0, 1  acc:  4399 /  7535 =  58.381
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12702 / 19962 =  63.631
Robust  acc:  5655 /  9767 =  57.899
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5655 /  9767 =  57.899
0, 1  acc:  4399 /  7535 =  58.381
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12702 / 19962 =  63.631
Robust  acc:  5655 /  9767 =  57.899
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.890 | Val Loss: 0.005 | Val Acc: 76.106
Training:
Accuracies by groups:
0, 0  acc:  8276 / 14736 =  56.162
0, 1  acc:  4266 /  6610 =  64.539
1, 0  acc: 131826 / 132689 =  99.350
1, 1  acc:  8457 /  8735 =  96.817
--------------------------------------
Average acc: 152825 / 162770 =  93.890
Robust  acc:  8276 / 14736 =  56.162
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5757 /  8535 =  67.452
0, 1  acc:  6337 /  8276 =  76.571
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 15120 / 19867 =  76.106
Robust  acc:  5757 /  8535 =  67.452
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.314
Robust Acc: 73.124 | Best Acc: 99.153
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  7142 /  9767 =  73.124
0, 1  acc:  5858 /  7535 =  77.744
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15633 / 19962 =  78.314
Robust  acc:  7142 /  9767 =  73.124
------------------------------------
Accuracies by groups:
0, 0  acc:  7142 /  9767 =  73.124
0, 1  acc:  5858 /  7535 =  77.744
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15633 / 19962 =  78.314
Robust  acc:  7142 /  9767 =  73.124
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7142 /  9767 =  73.124
0, 1  acc:  5858 /  7535 =  77.744
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15633 / 19962 =  78.314
Robust  acc:  7142 /  9767 =  73.124
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 93.992 | Val Loss: 0.005 | Val Acc: 80.757
Training:
Accuracies by groups:
0, 0  acc:  8271 / 14603 =  56.639
0, 1  acc:  4142 /  6473 =  63.989
1, 0  acc: 132319 / 133151 =  99.375
1, 1  acc:  8259 /  8543 =  96.676
--------------------------------------
Average acc: 152991 / 162770 =  93.992
Robust  acc:  8271 / 14603 =  56.639
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6103 /  8535 =  71.506
0, 1  acc:  6914 /  8276 =  83.543
1, 0  acc:  2852 /  2874 =  99.235
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16044 / 19867 =  80.757
Robust  acc:  6103 /  8535 =  71.506
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.301
Robust Acc: 76.472 | Best Acc: 98.992
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  7469 /  9767 =  76.472
0, 1  acc:  6335 /  7535 =  84.074
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16429 / 19962 =  82.301
Robust  acc:  7469 /  9767 =  76.472
------------------------------------
Accuracies by groups:
0, 0  acc:  7469 /  9767 =  76.472
0, 1  acc:  6335 /  7535 =  84.074
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16429 / 19962 =  82.301
Robust  acc:  7469 /  9767 =  76.472
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7469 /  9767 =  76.472
0, 1  acc:  6335 /  7535 =  84.074
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16429 / 19962 =  82.301
Robust  acc:  7469 /  9767 =  76.472
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.005 | Val Loss: 0.005 | Val Acc: 77.254
Training:
Accuracies by groups:
0, 0  acc:  7989 / 14245 =  56.083
0, 1  acc:  4337 /  6615 =  65.563
1, 0  acc: 132289 / 133198 =  99.318
1, 1  acc:  8397 /  8712 =  96.384
--------------------------------------
Average acc: 153012 / 162770 =  94.005
Robust  acc:  7989 / 14245 =  56.083
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6099 /  8535 =  71.459
0, 1  acc:  6231 /  8276 =  75.290
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15348 / 19867 =  77.254
Robust  acc:  6099 /  8535 =  71.459
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.529
Robust Acc: 74.798 | Best Acc: 98.589
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  7423 /  9767 =  76.001
0, 1  acc:  5636 /  7535 =  74.798
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15676 / 19962 =  78.529
Robust  acc:  5636 /  7535 =  74.798
------------------------------------
Accuracies by groups:
0, 0  acc:  7423 /  9767 =  76.001
0, 1  acc:  5636 /  7535 =  74.798
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15676 / 19962 =  78.529
Robust  acc:  5636 /  7535 =  74.798
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7423 /  9767 =  76.001
0, 1  acc:  5636 /  7535 =  74.798
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15676 / 19962 =  78.529
Robust  acc:  5636 /  7535 =  74.798
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.009 | Val Loss: 0.005 | Val Acc: 72.225
Training:
Accuracies by groups:
0, 0  acc:  8046 / 14420 =  55.798
0, 1  acc:  4238 /  6512 =  65.080
1, 0  acc: 132238 / 133056 =  99.385
1, 1  acc:  8497 /  8782 =  96.755
--------------------------------------
Average acc: 153019 / 162770 =  94.009
Robust  acc:  8046 / 14420 =  55.798
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5519 /  8535 =  64.663
0, 1  acc:  5794 /  8276 =  70.010
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14349 / 19867 =  72.225
Robust  acc:  5519 /  8535 =  64.663
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.379
Robust Acc: 68.759 | Best Acc: 99.073
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  6839 /  9767 =  70.022
0, 1  acc:  5181 /  7535 =  68.759
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14648 / 19962 =  73.379
Robust  acc:  5181 /  7535 =  68.759
------------------------------------
Accuracies by groups:
0, 0  acc:  6839 /  9767 =  70.022
0, 1  acc:  5181 /  7535 =  68.759
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14648 / 19962 =  73.379
Robust  acc:  5181 /  7535 =  68.759
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6839 /  9767 =  70.022
0, 1  acc:  5181 /  7535 =  68.759
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14648 / 19962 =  73.379
Robust  acc:  5181 /  7535 =  68.759
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 93.979 | Val Loss: 0.006 | Val Acc: 66.155
Training:
Accuracies by groups:
0, 0  acc:  8130 / 14477 =  56.158
0, 1  acc:  4346 /  6643 =  65.422
1, 0  acc: 132343 / 133223 =  99.339
1, 1  acc:  8151 /  8427 =  96.725
--------------------------------------
Average acc: 152970 / 162770 =  93.979
Robust  acc:  8130 / 14477 =  56.158
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4623 /  8535 =  54.165
0, 1  acc:  5470 /  8276 =  66.095
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13143 / 19867 =  66.155
Robust  acc:  4623 /  8535 =  54.165
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 67.443
Robust Acc: 60.182 | Best Acc: 99.718
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  5878 /  9767 =  60.182
0, 1  acc:  4937 /  7535 =  65.521
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13463 / 19962 =  67.443
Robust  acc:  5878 /  9767 =  60.182
------------------------------------
Accuracies by groups:
0, 0  acc:  5878 /  9767 =  60.182
0, 1  acc:  4937 /  7535 =  65.521
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13463 / 19962 =  67.443
Robust  acc:  5878 /  9767 =  60.182
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5878 /  9767 =  60.182
0, 1  acc:  4937 /  7535 =  65.521
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13463 / 19962 =  67.443
Robust  acc:  5878 /  9767 =  60.182
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.002 | Val Loss: 0.008 | Val Acc: 50.717
Training:
Accuracies by groups:
0, 0  acc:  8199 / 14512 =  56.498
0, 1  acc:  4350 /  6636 =  65.552
1, 0  acc: 132173 / 133045 =  99.345
1, 1  acc:  8285 /  8577 =  96.596
--------------------------------------
Average acc: 153007 / 162770 =  94.002
Robust  acc:  8199 / 14512 =  56.498
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3189 /  8535 =  37.364
0, 1  acc:  3832 /  8276 =  46.303
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10076 / 19867 =  50.717
Robust  acc:  3189 /  8535 =  37.364
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 51.312
Robust Acc: 43.156 | Best Acc: 99.960
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  4215 /  9767 =  43.156
0, 1  acc:  3371 /  7535 =  44.738
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10243 / 19962 =  51.312
Robust  acc:  4215 /  9767 =  43.156
------------------------------------
Accuracies by groups:
0, 0  acc:  4215 /  9767 =  43.156
0, 1  acc:  3371 /  7535 =  44.738
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10243 / 19962 =  51.312
Robust  acc:  4215 /  9767 =  43.156
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4215 /  9767 =  43.156
0, 1  acc:  3371 /  7535 =  44.738
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10243 / 19962 =  51.312
Robust  acc:  4215 /  9767 =  43.156
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.011 | Val Loss: 0.009 | Val Acc: 36.905
Training:
Accuracies by groups:
0, 0  acc:  8121 / 14425 =  56.298
0, 1  acc:  4257 /  6530 =  65.191
1, 0  acc: 132298 / 133192 =  99.329
1, 1  acc:  8346 /  8623 =  96.788
--------------------------------------
Average acc: 153022 / 162770 =  94.011
Robust  acc:  8121 / 14425 =  56.298
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1611 /  8535 =  18.875
0, 1  acc:  2667 /  8276 =  32.226
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  7332 / 19867 =  36.905
Robust  acc:  1611 /  8535 =  18.875
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 35.553
Robust Acc: 21.849 | Best Acc: 99.960
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  2134 /  9767 =  21.849
0, 1  acc:  2306 /  7535 =  30.604
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7097 / 19962 =  35.553
Robust  acc:  2134 /  9767 =  21.849
------------------------------------
Accuracies by groups:
0, 0  acc:  2134 /  9767 =  21.849
0, 1  acc:  2306 /  7535 =  30.604
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7097 / 19962 =  35.553
Robust  acc:  2134 /  9767 =  21.849
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2134 /  9767 =  21.849
0, 1  acc:  2306 /  7535 =  30.604
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7097 / 19962 =  35.553
Robust  acc:  2134 /  9767 =  21.849
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.001 | Val Loss: 0.006 | Val Acc: 63.890
Training:
Accuracies by groups:
0, 0  acc:  8129 / 14424 =  56.357
0, 1  acc:  4378 /  6693 =  65.412
1, 0  acc: 132302 / 133180 =  99.341
1, 1  acc:  8196 /  8473 =  96.731
--------------------------------------
Average acc: 153005 / 162770 =  94.001
Robust  acc:  8129 / 14424 =  56.357
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4578 /  8535 =  53.638
0, 1  acc:  5066 /  8276 =  61.213
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12693 / 19867 =  63.890
Robust  acc:  4578 /  8535 =  53.638
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.870
Robust Acc: 59.865 | Best Acc: 99.718
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  5847 /  9767 =  59.865
0, 1  acc:  4652 /  7535 =  61.739
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13149 / 19962 =  65.870
Robust  acc:  5847 /  9767 =  59.865
------------------------------------
Accuracies by groups:
0, 0  acc:  5847 /  9767 =  59.865
0, 1  acc:  4652 /  7535 =  61.739
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13149 / 19962 =  65.870
Robust  acc:  5847 /  9767 =  59.865
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5847 /  9767 =  59.865
0, 1  acc:  4652 /  7535 =  61.739
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13149 / 19962 =  65.870
Robust  acc:  5847 /  9767 =  59.865
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.054 | Val Loss: 0.006 | Val Acc: 63.049
Training:
Accuracies by groups:
0, 0  acc:  8082 / 14416 =  56.063
0, 1  acc:  4382 /  6580 =  66.596
1, 0  acc: 132283 / 133141 =  99.356
1, 1  acc:  8345 /  8633 =  96.664
--------------------------------------
Average acc: 153092 / 162770 =  94.054
Robust  acc:  8082 / 14416 =  56.063
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4349 /  8535 =  50.955
0, 1  acc:  5128 /  8276 =  61.962
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12526 / 19867 =  63.049
Robust  acc:  4349 /  8535 =  50.955
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 64.688
Robust Acc: 57.326 | Best Acc: 99.677
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  5599 /  9767 =  57.326
0, 1  acc:  4665 /  7535 =  61.911
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12913 / 19962 =  64.688
Robust  acc:  5599 /  9767 =  57.326
------------------------------------
Accuracies by groups:
0, 0  acc:  5599 /  9767 =  57.326
0, 1  acc:  4665 /  7535 =  61.911
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12913 / 19962 =  64.688
Robust  acc:  5599 /  9767 =  57.326
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5599 /  9767 =  57.326
0, 1  acc:  4665 /  7535 =  61.911
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12913 / 19962 =  64.688
Robust  acc:  5599 /  9767 =  57.326
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.101 | Val Loss: 0.008 | Val Acc: 53.274
Training:
Accuracies by groups:
0, 0  acc:  8335 / 14511 =  57.439
0, 1  acc:  4282 /  6521 =  65.665
1, 0  acc: 132298 / 133205 =  99.319
1, 1  acc:  8254 /  8533 =  96.730
--------------------------------------
Average acc: 153169 / 162770 =  94.101
Robust  acc:  8335 / 14511 =  57.439
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3280 /  8535 =  38.430
0, 1  acc:  4251 /  8276 =  51.365
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10584 / 19867 =  53.274
Robust  acc:  3280 /  8535 =  38.430
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 53.101
Robust Acc: 43.626 | Best Acc: 99.879
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  4261 /  9767 =  43.626
0, 1  acc:  3686 /  7535 =  48.918
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 10600 / 19962 =  53.101
Robust  acc:  4261 /  9767 =  43.626
------------------------------------
Accuracies by groups:
0, 0  acc:  4261 /  9767 =  43.626
0, 1  acc:  3686 /  7535 =  48.918
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 10600 / 19962 =  53.101
Robust  acc:  4261 /  9767 =  43.626
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4261 /  9767 =  43.626
0, 1  acc:  3686 /  7535 =  48.918
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 10600 / 19962 =  53.101
Robust  acc:  4261 /  9767 =  43.626
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.148 | Val Loss: 0.004 | Val Acc: 86.410
Training:
Accuracies by groups:
0, 0  acc:  8410 / 14461 =  58.156
0, 1  acc:  4365 /  6591 =  66.227
1, 0  acc: 132226 / 133185 =  99.280
1, 1  acc:  8243 /  8533 =  96.601
--------------------------------------
Average acc: 153244 / 162770 =  94.148
Robust  acc:  8410 / 14461 =  58.156
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6979 /  8535 =  81.769
0, 1  acc:  7227 /  8276 =  87.325
1, 0  acc:  2790 /  2874 =  97.077
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17167 / 19867 =  86.410
Robust  acc:  6979 /  8535 =  81.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 87.667
Robust Acc: 85.379 | Best Acc: 96.774
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  8339 /  9767 =  85.379
0, 1  acc:  6605 /  7535 =  87.658
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17500 / 19962 =  87.667
Robust  acc:  8339 /  9767 =  85.379
------------------------------------
Accuracies by groups:
0, 0  acc:  8339 /  9767 =  85.379
0, 1  acc:  6605 /  7535 =  87.658
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17500 / 19962 =  87.667
Robust  acc:  8339 /  9767 =  85.379
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8339 /  9767 =  85.379
0, 1  acc:  6605 /  7535 =  87.658
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17500 / 19962 =  87.667
Robust  acc:  8339 /  9767 =  85.379
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 93.984 | Val Loss: 0.005 | Val Acc: 76.916
Training:
Accuracies by groups:
0, 0  acc:  8180 / 14448 =  56.617
0, 1  acc:  4269 /  6587 =  64.809
1, 0  acc: 132238 / 133159 =  99.308
1, 1  acc:  8290 /  8576 =  96.665
--------------------------------------
Average acc: 152977 / 162770 =  93.984
Robust  acc:  8180 / 14448 =  56.617
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5956 /  8535 =  69.783
0, 1  acc:  6299 /  8276 =  76.112
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15281 / 19867 =  76.916
Robust  acc:  5956 /  8535 =  69.783
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.599
Robust Acc: 75.192 | Best Acc: 98.508
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  7344 /  9767 =  75.192
0, 1  acc:  5730 /  7535 =  76.045
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15690 / 19962 =  78.599
Robust  acc:  7344 /  9767 =  75.192
------------------------------------
Accuracies by groups:
0, 0  acc:  7344 /  9767 =  75.192
0, 1  acc:  5730 /  7535 =  76.045
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15690 / 19962 =  78.599
Robust  acc:  7344 /  9767 =  75.192
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7344 /  9767 =  75.192
0, 1  acc:  5730 /  7535 =  76.045
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15690 / 19962 =  78.599
Robust  acc:  7344 /  9767 =  75.192
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed5.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed5.pt
