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/seed39/stage_one_erm_model_b_epoch0_seed39.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: 39
Replicate: 0
No cuda: False
Resume: False
New slice: False
Num workers: 12
Evaluate: False
Data cmap: hsv
Test cmap: 
P correlation: 0.9
P corr by class: None
Train classes: ['blond', 'nonblond']
Train class ratios: None
Test shift: random
Flipped: False
Q: 0.7
Pretrained bmodel: True
Cosine: False
Exp: ours
Tau: 1.1
Gamma: None
Remove label noise: False
Model for remove samples: 
Remove ratio: 0.03
Supervised contrast: True
Prioritize spurious pos: False
Contrastive type: cnc
Compute auroc: False
Model type: resnet50_pt_cnc
Criterion: cross_entropy
Pretrained: False
Max grad norm: 1.0
Adam epsilon: 1e-08
Warmup steps: 0
Max grad norm s: 1.0
Adam epsilon s: 1e-08
Warmup steps s: 0
Grad max grad norm: 1.0
Grad adam epsilon: 1e-08
Grad warmup steps: 0
Device: cuda
Img file type: .png
Display image: False
Image path: ./images/celebA/celebA/config/contrastive_umaps
Log interval: 1
Log path: ./logs/celebA/config
Results path: ./results/celebA/config
Model path: ./model/celebA/config
Loss factor: 1
Supersample labels: False
Subsample labels: False
Weigh slice samples by loss: True
Val split: 0.2
Spurious train split: 0.2
Subsample groups: False
Train method: sc
Max robust acc: -1
Max robust epoch: -1
Max robust group acc: (None, None)
Root dir: ./datasets/data/CelebA/
Target name: Blond_Hair
Confounder names: ['Male']
Image mean: 0.449
Image std: 0.226
Augment data: False
Task: celebA
Num classes: 2
Experiment configs: config
Experiment name: cnc-celebA-sw=re-na=32-np=32-nn=32-nne=0-tsr=1-t=0.05-bf=None-cw=0.5-sud=0-me=50-bst=128-o=sgd-lr=0.0001-mo=0.9-wd=0.1-wdc=0.1-spur-me=1-bst=32-lr=0.001-mo=0.9-wd=0.0005-sts=0.2-s=39-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/seed39/stage_one_erm_model_b_epoch0_seed39.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8233, 0.0276],
        [0.1326, 0.0165]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.198 | Val Loss: 0.003 | Val Acc: 83.329
Training:
Accuracies by groups:
0, 0  acc:  9876 / 18917 =  52.207
0, 1  acc:  5521 /  9178 =  60.155
1, 0  acc: 123739 / 126339 =  97.942
1, 1  acc:  7680 /  8336 =  92.131
--------------------------------------
Average acc: 146816 / 162770 =  90.198
Robust  acc:  9876 / 18917 =  52.207
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6553 /  8535 =  76.778
0, 1  acc:  7003 /  8276 =  84.618
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 16555 / 19867 =  83.329
Robust  acc:  6553 /  8535 =  76.778
------------------------------------
New max robust acc: 76.77797305213826
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed39.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed39.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.227
Robust Acc: 82.011 | Best Acc: 98.226
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  8010 /  9767 =  82.011
0, 1  acc:  6406 /  7535 =  85.017
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17013 / 19962 =  85.227
Robust  acc:  8010 /  9767 =  82.011
------------------------------------
Accuracies by groups:
0, 0  acc:  8010 /  9767 =  82.011
0, 1  acc:  6406 /  7535 =  85.017
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17013 / 19962 =  85.227
Robust  acc:  8010 /  9767 =  82.011
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8010 /  9767 =  82.011
0, 1  acc:  6406 /  7535 =  85.017
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17013 / 19962 =  85.227
Robust  acc:  8010 /  9767 =  82.011
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.052 | Val Loss: 0.002 | Val Acc: 86.611
Training:
Accuracies by groups:
0, 0  acc: 13208 / 18837 =  70.117
0, 1  acc:  7489 /  9208 =  81.331
1, 0  acc: 124855 / 126476 =  98.718
1, 1  acc:  7537 /  8249 =  91.369
--------------------------------------
Average acc: 153089 / 162770 =  94.052
Robust  acc: 13208 / 18837 =  70.117
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6755 /  8535 =  79.145
0, 1  acc:  7446 /  8276 =  89.971
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17207 / 19867 =  86.611
Robust  acc:  6755 /  8535 =  79.145
------------------------------------
New max robust acc: 79.14469830111305
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed39.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed39.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.077
Robust Acc: 83.956 | Best Acc: 98.065
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8200 /  9767 =  83.956
0, 1  acc:  6787 /  7535 =  90.073
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17582 / 19962 =  88.077
Robust  acc:  8200 /  9767 =  83.956
------------------------------------
Accuracies by groups:
0, 0  acc:  8200 /  9767 =  83.956
0, 1  acc:  6787 /  7535 =  90.073
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17582 / 19962 =  88.077
Robust  acc:  8200 /  9767 =  83.956
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8200 /  9767 =  83.956
0, 1  acc:  6787 /  7535 =  90.073
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17582 / 19962 =  88.077
Robust  acc:  8200 /  9767 =  83.956
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 94.763 | Val Loss: 0.002 | Val Acc: 88.700
Training:
Accuracies by groups:
0, 0  acc: 13897 / 19025 =  73.046
0, 1  acc:  7762 /  9080 =  85.485
1, 0  acc: 124956 / 126436 =  98.829
1, 1  acc:  7630 /  8229 =  92.721
--------------------------------------
Average acc: 154245 / 162770 =  94.763
Robust  acc: 13897 / 19025 =  73.046
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6963 /  8535 =  81.582
0, 1  acc:  7663 /  8276 =  92.593
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17622 / 19867 =  88.700
Robust  acc:  6963 /  8535 =  81.582
------------------------------------
New max robust acc: 81.58172231985941
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed39.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed39.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.600
Robust Acc: 85.543 | Best Acc: 97.863
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8355 /  9767 =  85.543
0, 1  acc:  6945 /  7535 =  92.170
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17886 / 19962 =  89.600
Robust  acc:  8355 /  9767 =  85.543
------------------------------------
Accuracies by groups:
0, 0  acc:  8355 /  9767 =  85.543
0, 1  acc:  6945 /  7535 =  92.170
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17886 / 19962 =  89.600
Robust  acc:  8355 /  9767 =  85.543
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8355 /  9767 =  85.543
0, 1  acc:  6945 /  7535 =  92.170
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17886 / 19962 =  89.600
Robust  acc:  8355 /  9767 =  85.543
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.480 | Val Loss: 0.002 | Val Acc: 89.591
Training:
Accuracies by groups:
0, 0  acc: 14196 / 18777 =  75.603
0, 1  acc:  8040 /  9136 =  88.004
1, 0  acc: 125315 / 126517 =  99.050
1, 1  acc:  7862 /  8340 =  94.269
--------------------------------------
Average acc: 155413 / 162770 =  95.480
Robust  acc: 14196 / 18777 =  75.603
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7069 /  8535 =  82.824
0, 1  acc:  7746 /  8276 =  93.596
1, 0  acc:  2817 /  2874 =  98.017
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17799 / 19867 =  89.591
Robust  acc:  7069 /  8535 =  82.824
------------------------------------
New max robust acc: 82.82366725248976
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed39.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed39.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.236
Robust Acc: 85.000 | Best Acc: 97.540
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8419 /  9767 =  86.198
0, 1  acc:  7022 /  7535 =  93.192
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18013 / 19962 =  90.236
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8419 /  9767 =  86.198
0, 1  acc:  7022 /  7535 =  93.192
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18013 / 19962 =  90.236
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8419 /  9767 =  86.198
0, 1  acc:  7022 /  7535 =  93.192
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18013 / 19962 =  90.236
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 95.902 | Val Loss: 0.002 | Val Acc: 90.024
Training:
Accuracies by groups:
0, 0  acc: 14445 / 18805 =  76.815
0, 1  acc:  8203 /  9171 =  89.445
1, 0  acc: 125645 / 126629 =  99.223
1, 1  acc:  7807 /  8165 =  95.615
--------------------------------------
Average acc: 156100 / 162770 =  95.902
Robust  acc: 14445 / 18805 =  76.815
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7093 /  8535 =  83.105
0, 1  acc:  7807 /  8276 =  94.333
1, 0  acc:  2820 /  2874 =  98.121
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17885 / 19867 =  90.024
Robust  acc:  7093 /  8535 =  83.105
------------------------------------
New max robust acc: 83.10486233157587
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed39.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed39.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.642
Robust Acc: 83.889 | Best Acc: 97.661
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8438 /  9767 =  86.393
0, 1  acc:  7083 /  7535 =  94.001
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18094 / 19962 =  90.642
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8438 /  9767 =  86.393
0, 1  acc:  7083 /  7535 =  94.001
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18094 / 19962 =  90.642
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8438 /  9767 =  86.393
0, 1  acc:  7083 /  7535 =  94.001
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18094 / 19962 =  90.642
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.631 | Val Loss: 0.002 | Val Acc: 91.342
Training:
Accuracies by groups:
0, 0  acc: 15341 / 19236 =  79.752
0, 1  acc:  8490 /  9298 =  91.310
1, 0  acc: 125280 / 125874 =  99.528
1, 1  acc:  8175 /  8362 =  97.764
--------------------------------------
Average acc: 157286 / 162770 =  96.631
Robust  acc: 15341 / 19236 =  79.752
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7299 /  8535 =  85.518
0, 1  acc:  7884 /  8276 =  95.263
1, 0  acc:  2799 /  2874 =  97.390
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 18147 / 19867 =  91.342
Robust  acc:  7299 /  8535 =  85.518
------------------------------------
New max robust acc: 85.51845342706503
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed39.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed39.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.619
Robust Acc: 82.222 | Best Acc: 96.774
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8609 /  9767 =  88.144
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18289 / 19962 =  91.619
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8609 /  9767 =  88.144
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18289 / 19962 =  91.619
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8609 /  9767 =  88.144
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18289 / 19962 =  91.619
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.389 | Val Loss: 0.002 | Val Acc: 92.566
Training:
Accuracies by groups:
0, 0  acc: 15656 / 18922 =  82.740
0, 1  acc:  8404 /  8995 =  93.430
1, 0  acc: 126460 / 126763 =  99.761
1, 1  acc:  8000 /  8090 =  98.888
--------------------------------------
Average acc: 158520 / 162770 =  97.389
Robust  acc: 15656 / 18922 =  82.740
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7500 /  8535 =  87.873
0, 1  acc:  7980 /  8276 =  96.423
1, 0  acc:  2755 /  2874 =  95.859
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 18390 / 19867 =  92.566
Robust  acc:   155 /   182 =  85.165
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 92.816
Robust Acc: 78.333 | Best Acc: 95.912
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8798 /  9767 =  90.079
0, 1  acc:  7227 /  7535 =  95.912
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18528 / 19962 =  92.816
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8798 /  9767 =  90.079
0, 1  acc:  7227 /  7535 =  95.912
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18528 / 19962 =  92.816
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8798 /  9767 =  90.079
0, 1  acc:  7227 /  7535 =  95.912
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18528 / 19962 =  92.816
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.946 | Val Loss: 0.002 | Val Acc: 92.772
Training:
Accuracies by groups:
0, 0  acc: 16198 / 18866 =  85.858
0, 1  acc:  8540 /  9052 =  94.344
1, 0  acc: 126410 / 126539 =  99.898
1, 1  acc:  8278 /  8313 =  99.579
--------------------------------------
Average acc: 159426 / 162770 =  97.946
Robust  acc: 16198 / 18866 =  85.858
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7525 /  8535 =  88.166
0, 1  acc:  8014 /  8276 =  96.834
1, 0  acc:  2745 /  2874 =  95.511
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18431 / 19867 =  92.772
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.052
Robust Acc: 73.889 | Best Acc: 96.457
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8820 /  9767 =  90.304
0, 1  acc:  7268 /  7535 =  96.457
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18575 / 19962 =  93.052
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8820 /  9767 =  90.304
0, 1  acc:  7268 /  7535 =  96.457
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18575 / 19962 =  93.052
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8820 /  9767 =  90.304
0, 1  acc:  7268 /  7535 =  96.457
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18575 / 19962 =  93.052
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.398 | Val Loss: 0.001 | Val Acc: 93.703
Training:
Accuracies by groups:
0, 0  acc: 16910 / 19028 =  88.869
0, 1  acc:  8746 /  9132 =  95.773
1, 0  acc: 126221 / 126305 =  99.933
1, 1  acc:  8286 /  8305 =  99.771
--------------------------------------
Average acc: 160163 / 162770 =  98.398
Robust  acc: 16910 / 19028 =  88.869
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7751 /  8535 =  90.814
0, 1  acc:  8063 /  8276 =  97.426
1, 0  acc:  2664 /  2874 =  92.693
1, 1  acc:   138 /   182 =  75.824
------------------------------------
Average acc: 18616 / 19867 =  93.703
Robust  acc:   138 /   182 =  75.824
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.838
Robust Acc: 67.778 | Best Acc: 97.253
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  9022 /  9767 =  92.372
0, 1  acc:  7328 /  7535 =  97.253
1, 0  acc:  2260 /  2480 =  91.129
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18732 / 19962 =  93.838
Robust  acc:   122 /   180 =  67.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9022 /  9767 =  92.372
0, 1  acc:  7328 /  7535 =  97.253
1, 0  acc:  2260 /  2480 =  91.129
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18732 / 19962 =  93.838
Robust  acc:   122 /   180 =  67.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9022 /  9767 =  92.372
0, 1  acc:  7328 /  7535 =  97.253
1, 0  acc:  2260 /  2480 =  91.129
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18732 / 19962 =  93.838
Robust  acc:   122 /   180 =  67.778
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.610 | Val Loss: 0.002 | Val Acc: 92.334
Training:
Accuracies by groups:
0, 0  acc: 17196 / 18999 =  90.510
0, 1  acc:  8791 /  9093 =  96.679
1, 0  acc: 126295 / 126423 =  99.899
1, 1  acc:  8226 /  8255 =  99.649
--------------------------------------
Average acc: 160508 / 162770 =  98.610
Robust  acc: 17196 / 18999 =  90.510
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7509 /  8535 =  87.979
0, 1  acc:  7947 /  8276 =  96.025
1, 0  acc:  2734 /  2874 =  95.129
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 18344 / 19867 =  92.334
Robust  acc:   154 /   182 =  84.615
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.551
Robust Acc: 76.111 | Best Acc: 95.793
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8796 /  9767 =  90.058
0, 1  acc:  7218 /  7535 =  95.793
1, 0  acc:  2324 /  2480 =  93.710
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18475 / 19962 =  92.551
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8796 /  9767 =  90.058
0, 1  acc:  7218 /  7535 =  95.793
1, 0  acc:  2324 /  2480 =  93.710
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18475 / 19962 =  92.551
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8796 /  9767 =  90.058
0, 1  acc:  7218 /  7535 =  95.793
1, 0  acc:  2324 /  2480 =  93.710
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18475 / 19962 =  92.551
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.575 | Val Loss: 0.001 | Val Acc: 92.988
Training:
Accuracies by groups:
0, 0  acc: 17340 / 19071 =  90.923
0, 1  acc:  8862 /  9199 =  96.337
1, 0  acc: 125993 / 126185 =  99.848
1, 1  acc:  8256 /  8315 =  99.290
--------------------------------------
Average acc: 160451 / 162770 =  98.575
Robust  acc: 17340 / 19071 =  90.923
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7613 /  8535 =  89.197
0, 1  acc:  8044 /  8276 =  97.197
1, 0  acc:  2687 /  2874 =  93.493
1, 1  acc:   130 /   182 =  71.429
------------------------------------
Average acc: 18474 / 19867 =  92.988
Robust  acc:   130 /   182 =  71.429
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.548
Robust Acc: 68.889 | Best Acc: 97.226
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8934 /  9767 =  91.471
0, 1  acc:  7326 /  7535 =  97.226
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18674 / 19962 =  93.548
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8934 /  9767 =  91.471
0, 1  acc:  7326 /  7535 =  97.226
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18674 / 19962 =  93.548
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8934 /  9767 =  91.471
0, 1  acc:  7326 /  7535 =  97.226
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18674 / 19962 =  93.548
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.323 | Val Loss: 0.002 | Val Acc: 92.183
Training:
Accuracies by groups:
0, 0  acc: 16982 / 18890 =  89.899
0, 1  acc:  8818 /  9153 =  96.340
1, 0  acc: 126114 / 126493 =  99.700
1, 1  acc:  8127 /  8234 =  98.701
--------------------------------------
Average acc: 160041 / 162770 =  98.323
Robust  acc: 16982 / 18890 =  89.899
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7484 /  8535 =  87.686
0, 1  acc:  7941 /  8276 =  95.952
1, 0  acc:  2745 /  2874 =  95.511
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18314 / 19867 =  92.183
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.821
Robust Acc: 72.778 | Best Acc: 96.072
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8814 /  9767 =  90.243
0, 1  acc:  7239 /  7535 =  96.072
1, 0  acc:  2345 /  2480 =  94.556
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18529 / 19962 =  92.821
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8814 /  9767 =  90.243
0, 1  acc:  7239 /  7535 =  96.072
1, 0  acc:  2345 /  2480 =  94.556
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18529 / 19962 =  92.821
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8814 /  9767 =  90.243
0, 1  acc:  7239 /  7535 =  96.072
1, 0  acc:  2345 /  2480 =  94.556
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18529 / 19962 =  92.821
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.846 | Val Loss: 0.002 | Val Acc: 93.235
Training:
Accuracies by groups:
0, 0  acc: 16546 / 18918 =  87.462
0, 1  acc:  8815 /  9243 =  95.369
1, 0  acc: 125934 / 126482 =  99.567
1, 1  acc:  7969 /  8127 =  98.056
--------------------------------------
Average acc: 159264 / 162770 =  97.846
Robust  acc: 16546 / 18918 =  87.462
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7662 /  8535 =  89.772
0, 1  acc:  8026 /  8276 =  96.979
1, 0  acc:  2690 /  2874 =  93.598
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18523 / 19867 =  93.235
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.448
Robust Acc: 69.444 | Best Acc: 96.894
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8941 /  9767 =  91.543
0, 1  acc:  7301 /  7535 =  96.894
1, 0  acc:  2287 /  2480 =  92.218
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18654 / 19962 =  93.448
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8941 /  9767 =  91.543
0, 1  acc:  7301 /  7535 =  96.894
1, 0  acc:  2287 /  2480 =  92.218
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18654 / 19962 =  93.448
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8941 /  9767 =  91.543
0, 1  acc:  7301 /  7535 =  96.894
1, 0  acc:  2287 /  2480 =  92.218
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18654 / 19962 =  93.448
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.349 | Val Loss: 0.002 | Val Acc: 90.623
Training:
Accuracies by groups:
0, 0  acc: 16072 / 18888 =  85.091
0, 1  acc:  8749 /  9265 =  94.431
1, 0  acc: 125760 / 126532 =  99.390
1, 1  acc:  7874 /  8085 =  97.390
--------------------------------------
Average acc: 158455 / 162770 =  97.349
Robust  acc: 16072 / 18888 =  85.091
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7249 /  8535 =  84.933
0, 1  acc:  7800 /  8276 =  94.248
1, 0  acc:  2790 /  2874 =  97.077
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 18004 / 19867 =  90.623
Robust  acc:  7249 /  8535 =  84.933
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.013
Robust Acc: 83.333 | Best Acc: 96.210
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8548 /  9767 =  87.519
0, 1  acc:  7084 /  7535 =  94.015
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18168 / 19962 =  91.013
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8548 /  9767 =  87.519
0, 1  acc:  7084 /  7535 =  94.015
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18168 / 19962 =  91.013
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8548 /  9767 =  87.519
0, 1  acc:  7084 /  7535 =  94.015
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18168 / 19962 =  91.013
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.783 | Val Loss: 0.004 | Val Acc: 80.989
Training:
Accuracies by groups:
0, 0  acc: 15534 / 18888 =  82.243
0, 1  acc:  8397 /  9059 =  92.692
1, 0  acc: 125713 / 126635 =  99.272
1, 1  acc:  7889 /  8188 =  96.348
--------------------------------------
Average acc: 157533 / 162770 =  96.783
Robust  acc: 15534 / 18888 =  82.243
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5784 /  8535 =  67.768
0, 1  acc:  7284 /  8276 =  88.014
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 16090 / 19867 =  80.989
Robust  acc:  5784 /  8535 =  67.768
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.460
Robust Acc: 72.079 | Best Acc: 98.952
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  7040 /  9767 =  72.079
0, 1  acc:  6602 /  7535 =  87.618
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16261 / 19962 =  81.460
Robust  acc:  7040 /  9767 =  72.079
------------------------------------
Accuracies by groups:
0, 0  acc:  7040 /  9767 =  72.079
0, 1  acc:  6602 /  7535 =  87.618
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16261 / 19962 =  81.460
Robust  acc:  7040 /  9767 =  72.079
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7040 /  9767 =  72.079
0, 1  acc:  6602 /  7535 =  87.618
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16261 / 19962 =  81.460
Robust  acc:  7040 /  9767 =  72.079
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.367 | Val Loss: 0.002 | Val Acc: 93.441
Training:
Accuracies by groups:
0, 0  acc: 15189 / 18892 =  80.399
0, 1  acc:  8399 /  9187 =  91.423
1, 0  acc: 125387 / 126475 =  99.140
1, 1  acc:  7882 /  8216 =  95.935
--------------------------------------
Average acc: 156857 / 162770 =  96.367
Robust  acc: 15189 / 18892 =  80.399
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7594 /  8535 =  88.975
0, 1  acc:  8121 /  8276 =  98.127
1, 0  acc:  2719 /  2874 =  94.607
1, 1  acc:   130 /   182 =  71.429
------------------------------------
Average acc: 18564 / 19867 =  93.441
Robust  acc:   130 /   182 =  71.429
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.908
Robust Acc: 62.222 | Best Acc: 97.558
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8946 /  9767 =  91.594
0, 1  acc:  7351 /  7535 =  97.558
1, 0  acc:  2337 /  2480 =  94.234
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18746 / 19962 =  93.908
Robust  acc:   112 /   180 =  62.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8946 /  9767 =  91.594
0, 1  acc:  7351 /  7535 =  97.558
1, 0  acc:  2337 /  2480 =  94.234
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18746 / 19962 =  93.908
Robust  acc:   112 /   180 =  62.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8946 /  9767 =  91.594
0, 1  acc:  7351 /  7535 =  97.558
1, 0  acc:  2337 /  2480 =  94.234
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18746 / 19962 =  93.908
Robust  acc:   112 /   180 =  62.222
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.814 | Val Loss: 0.002 | Val Acc: 90.814
Training:
Accuracies by groups:
0, 0  acc: 14749 / 18963 =  77.778
0, 1  acc:  8147 /  9042 =  90.102
1, 0  acc: 125131 / 126428 =  98.974
1, 1  acc:  7929 /  8337 =  95.106
--------------------------------------
Average acc: 155956 / 162770 =  95.814
Robust  acc: 14749 / 18963 =  77.778
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7240 /  8535 =  84.827
0, 1  acc:  7840 /  8276 =  94.732
1, 0  acc:  2800 /  2874 =  97.425
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 18042 / 19867 =  90.814
Robust  acc:  7240 /  8535 =  84.827
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.364
Robust Acc: 83.333 | Best Acc: 96.815
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8571 /  9767 =  87.755
0, 1  acc:  7116 /  7535 =  94.439
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18238 / 19962 =  91.364
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8571 /  9767 =  87.755
0, 1  acc:  7116 /  7535 =  94.439
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18238 / 19962 =  91.364
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8571 /  9767 =  87.755
0, 1  acc:  7116 /  7535 =  94.439
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18238 / 19962 =  91.364
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.305 | Val Loss: 0.002 | Val Acc: 89.878
Training:
Accuracies by groups:
0, 0  acc: 14430 / 18915 =  76.289
0, 1  acc:  7914 /  8989 =  88.041
1, 0  acc: 125051 / 126628 =  98.755
1, 1  acc:  7733 /  8238 =  93.870
--------------------------------------
Average acc: 155128 / 162770 =  95.305
Robust  acc: 14430 / 18915 =  76.289
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7064 /  8535 =  82.765
0, 1  acc:  7819 /  8276 =  94.478
1, 0  acc:  2813 /  2874 =  97.878
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 17856 / 19867 =  89.878
Robust  acc:  7064 /  8535 =  82.765
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.762
Robust Acc: 82.778 | Best Acc: 97.379
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8418 /  9767 =  86.188
0, 1  acc:  7136 /  7535 =  94.705
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18118 / 19962 =  90.762
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8418 /  9767 =  86.188
0, 1  acc:  7136 /  7535 =  94.705
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18118 / 19962 =  90.762
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8418 /  9767 =  86.188
0, 1  acc:  7136 /  7535 =  94.705
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18118 / 19962 =  90.762
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 94.840 | Val Loss: 0.006 | Val Acc: 66.724
Training:
Accuracies by groups:
0, 0  acc: 14097 / 18936 =  74.446
0, 1  acc:  7922 /  9100 =  87.055
1, 0  acc: 124774 / 126557 =  98.591
1, 1  acc:  7578 /  8177 =  92.675
--------------------------------------
Average acc: 154371 / 162770 =  94.840
Robust  acc: 14097 / 18936 =  74.446
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4821 /  8535 =  56.485
0, 1  acc:  5387 /  8276 =  65.092
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13256 / 19867 =  66.724
Robust  acc:  4821 /  8535 =  56.485
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 68.250
Robust Acc: 62.025 | Best Acc: 99.798
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  6058 /  9767 =  62.025
0, 1  acc:  4914 /  7535 =  65.216
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13624 / 19962 =  68.250
Robust  acc:  6058 /  9767 =  62.025
------------------------------------
Accuracies by groups:
0, 0  acc:  6058 /  9767 =  62.025
0, 1  acc:  4914 /  7535 =  65.216
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13624 / 19962 =  68.250
Robust  acc:  6058 /  9767 =  62.025
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6058 /  9767 =  62.025
0, 1  acc:  4914 /  7535 =  65.216
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13624 / 19962 =  68.250
Robust  acc:  6058 /  9767 =  62.025
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 94.505 | Val Loss: 0.003 | Val Acc: 89.696
Training:
Accuracies by groups:
0, 0  acc: 13700 / 18814 =  72.818
0, 1  acc:  7647 /  8909 =  85.835
1, 0  acc: 125041 / 126967 =  98.483
1, 1  acc:  7438 /  8080 =  92.054
--------------------------------------
Average acc: 153826 / 162770 =  94.505
Robust  acc: 13700 / 18814 =  72.818
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7307 /  8535 =  85.612
0, 1  acc:  7567 /  8276 =  91.433
1, 0  acc:  2781 /  2874 =  96.764
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17820 / 19867 =  89.696
Robust  acc:  7307 /  8535 =  85.612
------------------------------------
New max robust acc: 85.61218512009373
debias model - Saving best checkpoint at epoch 19
replace: True
-> Updating checkpoint debias-wga-best_seed39.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed39.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.472
Robust Acc: 85.556 | Best Acc: 96.210
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  8649 /  9767 =  88.553
0, 1  acc:  6871 /  7535 =  91.188
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18060 / 19962 =  90.472
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8649 /  9767 =  88.553
0, 1  acc:  6871 /  7535 =  91.188
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18060 / 19962 =  90.472
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8649 /  9767 =  88.553
0, 1  acc:  6871 /  7535 =  91.188
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18060 / 19962 =  90.472
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.271 | Val Loss: 0.002 | Val Acc: 91.584
Training:
Accuracies by groups:
0, 0  acc: 13652 / 18943 =  72.069
0, 1  acc:  7607 /  9048 =  84.074
1, 0  acc: 124472 / 126470 =  98.420
1, 1  acc:  7714 /  8309 =  92.839
--------------------------------------
Average acc: 153445 / 162770 =  94.271
Robust  acc: 13652 / 18943 =  72.069
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7376 /  8535 =  86.421
0, 1  acc:  7877 /  8276 =  95.179
1, 0  acc:  2784 /  2874 =  96.868
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 18195 / 19867 =  91.584
Robust  acc:  7376 /  8535 =  86.421
------------------------------------
New max robust acc: 86.42062097246631
debias model - Saving best checkpoint at epoch 20
replace: True
-> Updating checkpoint debias-wga-best_seed39.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed39.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.365
Robust Acc: 80.556 | Best Acc: 96.129
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8743 /  9767 =  89.516
0, 1  acc:  7166 /  7535 =  95.103
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18438 / 19962 =  92.365
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8743 /  9767 =  89.516
0, 1  acc:  7166 /  7535 =  95.103
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18438 / 19962 =  92.365
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8743 /  9767 =  89.516
0, 1  acc:  7166 /  7535 =  95.103
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18438 / 19962 =  92.365
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.106 | Val Loss: 0.004 | Val Acc: 79.962
Training:
Accuracies by groups:
0, 0  acc: 13403 / 18813 =  71.243
0, 1  acc:  7606 /  9239 =  82.325
1, 0  acc: 124477 / 126418 =  98.465
1, 1  acc:  7691 /  8300 =  92.663
--------------------------------------
Average acc: 153177 / 162770 =  94.106
Robust  acc: 13403 / 18813 =  71.243
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6302 /  8535 =  73.837
0, 1  acc:  6555 /  8276 =  79.205
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15886 / 19867 =  79.962
Robust  acc:  6302 /  8535 =  73.837
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.840
Robust Acc: 79.021 | Best Acc: 98.952
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  7718 /  9767 =  79.021
0, 1  acc:  5993 /  7535 =  79.536
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16337 / 19962 =  81.840
Robust  acc:  7718 /  9767 =  79.021
------------------------------------
Accuracies by groups:
0, 0  acc:  7718 /  9767 =  79.021
0, 1  acc:  5993 /  7535 =  79.536
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16337 / 19962 =  81.840
Robust  acc:  7718 /  9767 =  79.021
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7718 /  9767 =  79.021
0, 1  acc:  5993 /  7535 =  79.536
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16337 / 19962 =  81.840
Robust  acc:  7718 /  9767 =  79.021
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 93.992 | Val Loss: 0.006 | Val Acc: 62.888
Training:
Accuracies by groups:
0, 0  acc: 13485 / 19043 =  70.813
0, 1  acc:  7525 /  9219 =  81.625
1, 0  acc: 124379 / 126306 =  98.474
1, 1  acc:  7602 /  8202 =  92.685
--------------------------------------
Average acc: 152991 / 162770 =  93.992
Robust  acc: 13485 / 19043 =  70.813
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4198 /  8535 =  49.186
0, 1  acc:  5248 /  8276 =  63.412
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12494 / 19867 =  62.888
Robust  acc:  4198 /  8535 =  49.186
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 63.972
Robust Acc: 54.141 | Best Acc: 99.839
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  5288 /  9767 =  54.141
0, 1  acc:  4831 /  7535 =  64.114
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 12770 / 19962 =  63.972
Robust  acc:  5288 /  9767 =  54.141
------------------------------------
Accuracies by groups:
0, 0  acc:  5288 /  9767 =  54.141
0, 1  acc:  4831 /  7535 =  64.114
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 12770 / 19962 =  63.972
Robust  acc:  5288 /  9767 =  54.141
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5288 /  9767 =  54.141
0, 1  acc:  4831 /  7535 =  64.114
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 12770 / 19962 =  63.972
Robust  acc:  5288 /  9767 =  54.141
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 93.831 | Val Loss: 0.005 | Val Acc: 70.886
Training:
Accuracies by groups:
0, 0  acc: 12958 / 18756 =  69.087
0, 1  acc:  7239 /  9026 =  80.202
1, 0  acc: 124750 / 126606 =  98.534
1, 1  acc:  7782 /  8382 =  92.842
--------------------------------------
Average acc: 152729 / 162770 =  93.831
Robust  acc: 12958 / 18756 =  69.087
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5251 /  8535 =  61.523
0, 1  acc:  5791 /  8276 =  69.973
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14083 / 19867 =  70.886
Robust  acc:  5251 /  8535 =  61.523
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.808
Robust Acc: 67.534 | Best Acc: 99.597
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  6596 /  9767 =  67.534
0, 1  acc:  5292 /  7535 =  70.232
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14534 / 19962 =  72.808
Robust  acc:  6596 /  9767 =  67.534
------------------------------------
Accuracies by groups:
0, 0  acc:  6596 /  9767 =  67.534
0, 1  acc:  5292 /  7535 =  70.232
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14534 / 19962 =  72.808
Robust  acc:  6596 /  9767 =  67.534
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6596 /  9767 =  67.534
0, 1  acc:  5292 /  7535 =  70.232
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14534 / 19962 =  72.808
Robust  acc:  6596 /  9767 =  67.534
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 93.721 | Val Loss: 0.008 | Val Acc: 52.544
Training:
Accuracies by groups:
0, 0  acc: 13101 / 19034 =  68.829
0, 1  acc:  7210 /  9096 =  79.266
1, 0  acc: 124606 / 126458 =  98.535
1, 1  acc:  7633 /  8182 =  93.290
--------------------------------------
Average acc: 152550 / 162770 =  93.721
Robust  acc: 13101 / 19034 =  68.829
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3403 /  8535 =  39.871
0, 1  acc:  3985 /  8276 =  48.151
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10439 / 19867 =  52.544
Robust  acc:  3403 /  8535 =  39.871
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 53.121
Robust Acc: 44.958 | Best Acc: 99.879
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  4391 /  9767 =  44.958
0, 1  acc:  3558 /  7535 =  47.220
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10604 / 19962 =  53.121
Robust  acc:  4391 /  9767 =  44.958
------------------------------------
Accuracies by groups:
0, 0  acc:  4391 /  9767 =  44.958
0, 1  acc:  3558 /  7535 =  47.220
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10604 / 19962 =  53.121
Robust  acc:  4391 /  9767 =  44.958
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4391 /  9767 =  44.958
0, 1  acc:  3558 /  7535 =  47.220
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10604 / 19962 =  53.121
Robust  acc:  4391 /  9767 =  44.958
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 93.622 | Val Loss: 0.002 | Val Acc: 94.332
Training:
Accuracies by groups:
0, 0  acc: 13015 / 19021 =  68.424
0, 1  acc:  7284 /  9195 =  79.217
1, 0  acc: 124357 / 126246 =  98.504
1, 1  acc:  7732 /  8308 =  93.067
--------------------------------------
Average acc: 152388 / 162770 =  93.622
Robust  acc: 13015 / 19021 =  68.424
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8063 /  8535 =  94.470
0, 1  acc:  8089 /  8276 =  97.740
1, 0  acc:  2472 /  2874 =  86.013
1, 1  acc:   117 /   182 =  64.286
------------------------------------
Average acc: 18741 / 19867 =  94.332
Robust  acc:   117 /   182 =  64.286
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.940
Robust Acc: 57.222 | Best Acc: 97.956
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  9357 /  9767 =  95.802
0, 1  acc:  7381 /  7535 =  97.956
1, 0  acc:  2111 /  2480 =  85.121
1, 1  acc:   103 /   180 =  57.222
------------------------------------
Average acc: 18952 / 19962 =  94.940
Robust  acc:   103 /   180 =  57.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9357 /  9767 =  95.802
0, 1  acc:  7381 /  7535 =  97.956
1, 0  acc:  2111 /  2480 =  85.121
1, 1  acc:   103 /   180 =  57.222
------------------------------------
Average acc: 18952 / 19962 =  94.940
Robust  acc:   103 /   180 =  57.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9357 /  9767 =  95.802
0, 1  acc:  7381 /  7535 =  97.956
1, 0  acc:  2111 /  2480 =  85.121
1, 1  acc:   103 /   180 =  57.222
------------------------------------
Average acc: 18952 / 19962 =  94.940
Robust  acc:   103 /   180 =  57.222
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 93.620 | Val Loss: 0.004 | Val Acc: 82.569
Training:
Accuracies by groups:
0, 0  acc: 12748 / 18781 =  67.877
0, 1  acc:  7220 /  9216 =  78.342
1, 0  acc: 124673 / 126485 =  98.567
1, 1  acc:  7745 /  8288 =  93.448
--------------------------------------
Average acc: 152386 / 162770 =  93.620
Robust  acc: 12748 / 18781 =  67.877
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6347 /  8535 =  74.364
0, 1  acc:  7028 /  8276 =  84.920
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16404 / 19867 =  82.569
Robust  acc:  6347 /  8535 =  74.364
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.170
Robust Acc: 79.595 | Best Acc: 98.790
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  7774 /  9767 =  79.595
0, 1  acc:  6406 /  7535 =  85.017
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16802 / 19962 =  84.170
Robust  acc:  7774 /  9767 =  79.595
------------------------------------
Accuracies by groups:
0, 0  acc:  7774 /  9767 =  79.595
0, 1  acc:  6406 /  7535 =  85.017
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16802 / 19962 =  84.170
Robust  acc:  7774 /  9767 =  79.595
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7774 /  9767 =  79.595
0, 1  acc:  6406 /  7535 =  85.017
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16802 / 19962 =  84.170
Robust  acc:  7774 /  9767 =  79.595
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 93.609 | Val Loss: 0.003 | Val Acc: 91.549
Training:
Accuracies by groups:
0, 0  acc: 12673 / 18818 =  67.345
0, 1  acc:  7191 /  9251 =  77.732
1, 0  acc: 124794 / 126453 =  98.688
1, 1  acc:  7709 /  8248 =  93.465
--------------------------------------
Average acc: 152367 / 162770 =  93.609
Robust  acc: 12673 / 18818 =  67.345
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7709 /  8535 =  90.322
0, 1  acc:  7747 /  8276 =  93.608
1, 0  acc:  2592 /  2874 =  90.188
1, 1  acc:   140 /   182 =  76.923
------------------------------------
Average acc: 18188 / 19867 =  91.549
Robust  acc:   140 /   182 =  76.923
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.441
Robust Acc: 76.111 | Best Acc: 93.338
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  9077 /  9767 =  92.935
0, 1  acc:  7033 /  7535 =  93.338
1, 0  acc:  2206 /  2480 =  88.952
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18453 / 19962 =  92.441
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9077 /  9767 =  92.935
0, 1  acc:  7033 /  7535 =  93.338
1, 0  acc:  2206 /  2480 =  88.952
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18453 / 19962 =  92.441
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9077 /  9767 =  92.935
0, 1  acc:  7033 /  7535 =  93.338
1, 0  acc:  2206 /  2480 =  88.952
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18453 / 19962 =  92.441
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 93.542 | Val Loss: 0.007 | Val Acc: 60.784
Training:
Accuracies by groups:
0, 0  acc: 12809 / 18914 =  67.722
0, 1  acc:  7133 /  9266 =  76.980
1, 0  acc: 124646 / 126364 =  98.640
1, 1  acc:  7670 /  8226 =  93.241
--------------------------------------
Average acc: 152258 / 162770 =  93.542
Robust  acc: 12809 / 18914 =  67.722
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4202 /  8535 =  49.233
0, 1  acc:  4823 /  8276 =  58.277
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12076 / 19867 =  60.784
Robust  acc:  4202 /  8535 =  49.233
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 62.303
Robust Acc: 56.087 | Best Acc: 99.758
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  5478 /  9767 =  56.087
0, 1  acc:  4308 /  7535 =  57.173
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12437 / 19962 =  62.303
Robust  acc:  5478 /  9767 =  56.087
------------------------------------
Accuracies by groups:
0, 0  acc:  5478 /  9767 =  56.087
0, 1  acc:  4308 /  7535 =  57.173
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12437 / 19962 =  62.303
Robust  acc:  5478 /  9767 =  56.087
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5478 /  9767 =  56.087
0, 1  acc:  4308 /  7535 =  57.173
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12437 / 19962 =  62.303
Robust  acc:  5478 /  9767 =  56.087
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.565 | Val Loss: 0.003 | Val Acc: 91.972
Training:
Accuracies by groups:
0, 0  acc: 12678 / 18835 =  67.311
0, 1  acc:  7077 /  9148 =  77.361
1, 0  acc: 124977 / 126659 =  98.672
1, 1  acc:  7563 /  8128 =  93.049
--------------------------------------
Average acc: 152295 / 162770 =  93.565
Robust  acc: 12678 / 18835 =  67.311
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7724 /  8535 =  90.498
0, 1  acc:  7798 /  8276 =  94.224
1, 0  acc:  2605 /  2874 =  90.640
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18272 / 19867 =  91.972
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.841
Robust Acc: 78.333 | Best Acc: 94.320
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  9057 /  9767 =  92.731
0, 1  acc:  7107 /  7535 =  94.320
1, 0  acc:  2228 /  2480 =  89.839
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18533 / 19962 =  92.841
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9057 /  9767 =  92.731
0, 1  acc:  7107 /  7535 =  94.320
1, 0  acc:  2228 /  2480 =  89.839
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18533 / 19962 =  92.841
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9057 /  9767 =  92.731
0, 1  acc:  7107 /  7535 =  94.320
1, 0  acc:  2228 /  2480 =  89.839
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18533 / 19962 =  92.841
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.479 | Val Loss: 0.006 | Val Acc: 67.826
Training:
Accuracies by groups:
0, 0  acc: 12778 / 18940 =  67.466
0, 1  acc:  7081 /  9212 =  76.867
1, 0  acc: 124579 / 126347 =  98.601
1, 1  acc:  7717 /  8271 =  93.302
--------------------------------------
Average acc: 152155 / 162770 =  93.479
Robust  acc: 12778 / 18940 =  67.466
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5242 /  8535 =  61.418
0, 1  acc:  5193 /  8276 =  62.748
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13475 / 19867 =  67.826
Robust  acc:  5242 /  8535 =  61.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 69.507
Robust Acc: 61.845 | Best Acc: 99.073
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  6582 /  9767 =  67.390
0, 1  acc:  4660 /  7535 =  61.845
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13875 / 19962 =  69.507
Robust  acc:  4660 /  7535 =  61.845
------------------------------------
Accuracies by groups:
0, 0  acc:  6582 /  9767 =  67.390
0, 1  acc:  4660 /  7535 =  61.845
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13875 / 19962 =  69.507
Robust  acc:  4660 /  7535 =  61.845
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6582 /  9767 =  67.390
0, 1  acc:  4660 /  7535 =  61.845
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13875 / 19962 =  69.507
Robust  acc:  4660 /  7535 =  61.845
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.360 | Val Loss: 0.003 | Val Acc: 92.108
Training:
Accuracies by groups:
0, 0  acc: 12611 / 19022 =  66.297
0, 1  acc:  6993 /  9172 =  76.243
1, 0  acc: 124538 / 126194 =  98.688
1, 1  acc:  7820 /  8382 =  93.295
--------------------------------------
Average acc: 151962 / 162770 =  93.360
Robust  acc: 12611 / 19022 =  66.297
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7718 /  8535 =  90.428
0, 1  acc:  7845 /  8276 =  94.792
1, 0  acc:  2597 /  2874 =  90.362
1, 1  acc:   139 /   182 =  76.374
------------------------------------
Average acc: 18299 / 19867 =  92.108
Robust  acc:   139 /   182 =  76.374
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.942
Robust Acc: 72.222 | Best Acc: 94.944
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  9054 /  9767 =  92.700
0, 1  acc:  7154 /  7535 =  94.944
1, 0  acc:  2215 /  2480 =  89.315
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18553 / 19962 =  92.942
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9054 /  9767 =  92.700
0, 1  acc:  7154 /  7535 =  94.944
1, 0  acc:  2215 /  2480 =  89.315
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18553 / 19962 =  92.942
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9054 /  9767 =  92.700
0, 1  acc:  7154 /  7535 =  94.944
1, 0  acc:  2215 /  2480 =  89.315
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18553 / 19962 =  92.942
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.499 | Val Loss: 0.006 | Val Acc: 62.289
Training:
Accuracies by groups:
0, 0  acc: 12640 / 18974 =  66.617
0, 1  acc:  7034 /  9073 =  77.527
1, 0  acc: 124957 / 126623 =  98.684
1, 1  acc:  7557 /  8100 =  93.296
--------------------------------------
Average acc: 152188 / 162770 =  93.499
Robust  acc: 12640 / 18974 =  66.617
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4741 /  8535 =  55.548
0, 1  acc:  4594 /  8276 =  55.510
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12375 / 19867 =  62.289
Robust  acc:  4594 /  8276 =  55.510
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 63.631
Robust Acc: 54.983 | Best Acc: 99.315
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  5920 /  9767 =  60.612
0, 1  acc:  4143 /  7535 =  54.983
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12702 / 19962 =  63.631
Robust  acc:  4143 /  7535 =  54.983
------------------------------------
Accuracies by groups:
0, 0  acc:  5920 /  9767 =  60.612
0, 1  acc:  4143 /  7535 =  54.983
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12702 / 19962 =  63.631
Robust  acc:  4143 /  7535 =  54.983
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5920 /  9767 =  60.612
0, 1  acc:  4143 /  7535 =  54.983
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12702 / 19962 =  63.631
Robust  acc:  4143 /  7535 =  54.983
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.532 | Val Loss: 0.003 | Val Acc: 88.514
Training:
Accuracies by groups:
0, 0  acc: 12615 / 18843 =  66.948
0, 1  acc:  7126 /  9227 =  77.230
1, 0  acc: 124887 / 126532 =  98.700
1, 1  acc:  7614 /  8168 =  93.217
--------------------------------------
Average acc: 152242 / 162770 =  93.532
Robust  acc: 12615 / 18843 =  66.948
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7141 /  8535 =  83.667
0, 1  acc:  7490 /  8276 =  90.503
1, 0  acc:  2790 /  2874 =  97.077
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 17585 / 19867 =  88.514
Robust  acc:  7141 /  8535 =  83.667
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.891
Robust Acc: 87.222 | Best Acc: 96.492
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  8541 /  9767 =  87.448
0, 1  acc:  6853 /  7535 =  90.949
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17944 / 19962 =  89.891
Robust  acc:   157 /   180 =  87.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8541 /  9767 =  87.448
0, 1  acc:  6853 /  7535 =  90.949
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17944 / 19962 =  89.891
Robust  acc:   157 /   180 =  87.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8541 /  9767 =  87.448
0, 1  acc:  6853 /  7535 =  90.949
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17944 / 19962 =  89.891
Robust  acc:   157 /   180 =  87.222
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.531 | Val Loss: 0.004 | Val Acc: 82.126
Training:
Accuracies by groups:
0, 0  acc: 12619 / 18782 =  67.187
0, 1  acc:  7131 /  9282 =  76.826
1, 0  acc: 124678 / 126379 =  98.654
1, 1  acc:  7813 /  8327 =  93.827
--------------------------------------
Average acc: 152241 / 162770 =  93.531
Robust  acc: 12619 / 18782 =  67.187
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6629 /  8535 =  77.668
0, 1  acc:  6691 /  8276 =  80.848
1, 0  acc:  2820 /  2874 =  98.121
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16316 / 19867 =  82.126
Robust  acc:  6629 /  8535 =  77.668
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.328
Robust Acc: 80.385 | Best Acc: 97.419
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  7993 /  9767 =  81.837
0, 1  acc:  6057 /  7535 =  80.385
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16634 / 19962 =  83.328
Robust  acc:  6057 /  7535 =  80.385
------------------------------------
Accuracies by groups:
0, 0  acc:  7993 /  9767 =  81.837
0, 1  acc:  6057 /  7535 =  80.385
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16634 / 19962 =  83.328
Robust  acc:  6057 /  7535 =  80.385
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7993 /  9767 =  81.837
0, 1  acc:  6057 /  7535 =  80.385
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16634 / 19962 =  83.328
Robust  acc:  6057 /  7535 =  80.385
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.541 | Val Loss: 0.012 | Val Acc: 23.053
Training:
Accuracies by groups:
0, 0  acc: 12745 / 19027 =  66.984
0, 1  acc:  7031 /  9050 =  77.691
1, 0  acc: 124669 / 126357 =  98.664
1, 1  acc:  7812 /  8336 =  93.714
--------------------------------------
Average acc: 152257 / 162770 =  93.541
Robust  acc: 12745 / 19027 =  66.984
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:   756 /  8535 =   8.858
0, 1  acc:   768 /  8276 =   9.280
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  4580 / 19867 =  23.053
Robust  acc:   756 /  8535 =   8.858
------------------------------------
-------------------------------------------
Avg Test Loss: 0.012 | Avg Test Acc: 21.245
Robust Acc: 8.534 | Best Acc: 100.000
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:   938 /  9767 =   9.604
0, 1  acc:   643 /  7535 =   8.534
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  4241 / 19962 =  21.245
Robust  acc:   643 /  7535 =   8.534
------------------------------------
Accuracies by groups:
0, 0  acc:   938 /  9767 =   9.604
0, 1  acc:   643 /  7535 =   8.534
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  4241 / 19962 =  21.245
Robust  acc:   643 /  7535 =   8.534
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:   938 /  9767 =   9.604
0, 1  acc:   643 /  7535 =   8.534
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  4241 / 19962 =  21.245
Robust  acc:   643 /  7535 =   8.534
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.649 | Val Loss: 0.003 | Val Acc: 90.094
Training:
Accuracies by groups:
0, 0  acc: 12762 / 18885 =  67.577
0, 1  acc:  6969 /  8996 =  77.468
1, 0  acc: 124906 / 126516 =  98.727
1, 1  acc:  7796 /  8373 =  93.109
--------------------------------------
Average acc: 152433 / 162770 =  93.649
Robust  acc: 12762 / 18885 =  67.577
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7342 /  8535 =  86.022
0, 1  acc:  7641 /  8276 =  92.327
1, 0  acc:  2760 /  2874 =  96.033
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 17899 / 19867 =  90.094
Robust  acc:   156 /   182 =  85.714
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.198
Robust Acc: 82.222 | Best Acc: 95.282
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  8721 /  9767 =  89.290
0, 1  acc:  6973 /  7535 =  92.541
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18205 / 19962 =  91.198
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8721 /  9767 =  89.290
0, 1  acc:  6973 /  7535 =  92.541
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18205 / 19962 =  91.198
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8721 /  9767 =  89.290
0, 1  acc:  6973 /  7535 =  92.541
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18205 / 19962 =  91.198
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.522 | Val Loss: 0.003 | Val Acc: 90.029
Training:
Accuracies by groups:
0, 0  acc: 12842 / 19055 =  67.394
0, 1  acc:  7068 /  9201 =  76.818
1, 0  acc: 124704 / 126353 =  98.695
1, 1  acc:  7612 /  8161 =  93.273
--------------------------------------
Average acc: 152226 / 162770 =  93.522
Robust  acc: 12842 / 19055 =  67.394
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7319 /  8535 =  85.753
0, 1  acc:  7646 /  8276 =  92.388
1, 0  acc:  2760 /  2874 =  96.033
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 17886 / 19867 =  90.029
Robust  acc:  7319 /  8535 =  85.753
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.178
Robust Acc: 84.444 | Best Acc: 95.282
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  8686 /  9767 =  88.932
0, 1  acc:  7000 /  7535 =  92.900
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18201 / 19962 =  91.178
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8686 /  9767 =  88.932
0, 1  acc:  7000 /  7535 =  92.900
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18201 / 19962 =  91.178
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8686 /  9767 =  88.932
0, 1  acc:  7000 /  7535 =  92.900
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18201 / 19962 =  91.178
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.583 | Val Loss: 0.004 | Val Acc: 83.234
Training:
Accuracies by groups:
0, 0  acc: 12482 / 18697 =  66.759
0, 1  acc:  6988 /  9069 =  77.054
1, 0  acc: 125189 / 126813 =  98.719
1, 1  acc:  7666 /  8191 =  93.591
--------------------------------------
Average acc: 152325 / 162770 =  93.583
Robust  acc: 12482 / 18697 =  66.759
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6482 /  8535 =  75.946
0, 1  acc:  7048 /  8276 =  85.162
1, 0  acc:  2829 /  2874 =  98.434
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16536 / 19867 =  83.234
Robust  acc:  6482 /  8535 =  75.946
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.486
Robust Acc: 80.782 | Best Acc: 97.419
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  7890 /  9767 =  80.782
0, 1  acc:  6393 /  7535 =  84.844
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16865 / 19962 =  84.486
Robust  acc:  7890 /  9767 =  80.782
------------------------------------
Accuracies by groups:
0, 0  acc:  7890 /  9767 =  80.782
0, 1  acc:  6393 /  7535 =  84.844
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16865 / 19962 =  84.486
Robust  acc:  7890 /  9767 =  80.782
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7890 /  9767 =  80.782
0, 1  acc:  6393 /  7535 =  84.844
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16865 / 19962 =  84.486
Robust  acc:  7890 /  9767 =  80.782
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 93.614 | Val Loss: 0.007 | Val Acc: 59.481
Training:
Accuracies by groups:
0, 0  acc: 12931 / 19081 =  67.769
0, 1  acc:  7183 /  9301 =  77.228
1, 0  acc: 124345 / 125908 =  98.759
1, 1  acc:  7917 /  8480 =  93.361
--------------------------------------
Average acc: 152376 / 162770 =  93.614
Robust  acc: 12931 / 19081 =  67.769
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3902 /  8535 =  45.718
0, 1  acc:  4867 /  8276 =  58.809
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 11817 / 19867 =  59.481
Robust  acc:  3902 /  8535 =  45.718
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 60.625
Robust Acc: 50.814 | Best Acc: 99.677
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  4963 /  9767 =  50.814
0, 1  acc:  4489 /  7535 =  59.575
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12102 / 19962 =  60.625
Robust  acc:  4963 /  9767 =  50.814
------------------------------------
Accuracies by groups:
0, 0  acc:  4963 /  9767 =  50.814
0, 1  acc:  4489 /  7535 =  59.575
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12102 / 19962 =  60.625
Robust  acc:  4963 /  9767 =  50.814
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4963 /  9767 =  50.814
0, 1  acc:  4489 /  7535 =  59.575
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12102 / 19962 =  60.625
Robust  acc:  4963 /  9767 =  50.814
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 93.601 | Val Loss: 0.005 | Val Acc: 71.058
Training:
Accuracies by groups:
0, 0  acc: 12675 / 18938 =  66.929
0, 1  acc:  6952 /  8944 =  77.728
1, 0  acc: 124947 / 126589 =  98.703
1, 1  acc:  7780 /  8299 =  93.746
--------------------------------------
Average acc: 152354 / 162770 =  93.601
Robust  acc: 12675 / 18938 =  66.929
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5339 /  8535 =  62.554
0, 1  acc:  5740 /  8276 =  69.357
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14117 / 19867 =  71.058
Robust  acc:  5339 /  8535 =  62.554
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.893
Robust Acc: 68.527 | Best Acc: 99.395
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  6693 /  9767 =  68.527
0, 1  acc:  5218 /  7535 =  69.250
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14551 / 19962 =  72.893
Robust  acc:  6693 /  9767 =  68.527
------------------------------------
Accuracies by groups:
0, 0  acc:  6693 /  9767 =  68.527
0, 1  acc:  5218 /  7535 =  69.250
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14551 / 19962 =  72.893
Robust  acc:  6693 /  9767 =  68.527
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6693 /  9767 =  68.527
0, 1  acc:  5218 /  7535 =  69.250
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14551 / 19962 =  72.893
Robust  acc:  6693 /  9767 =  68.527
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 93.761 | Val Loss: 0.003 | Val Acc: 88.483
Training:
Accuracies by groups:
0, 0  acc: 12785 / 18839 =  67.865
0, 1  acc:  7207 /  9235 =  78.040
1, 0  acc: 124774 / 126314 =  98.781
1, 1  acc:  7848 /  8382 =  93.629
--------------------------------------
Average acc: 152614 / 162770 =  93.761
Robust  acc: 12785 / 18839 =  67.865
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7032 /  8535 =  82.390
0, 1  acc:  7597 /  8276 =  91.796
1, 0  acc:  2779 /  2874 =  96.695
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17579 / 19867 =  88.483
Robust  acc:  7032 /  8535 =  82.390
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.610
Robust Acc: 85.000 | Best Acc: 95.524
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  8449 /  9767 =  86.506
0, 1  acc:  6917 /  7535 =  91.798
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17888 / 19962 =  89.610
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8449 /  9767 =  86.506
0, 1  acc:  6917 /  7535 =  91.798
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17888 / 19962 =  89.610
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8449 /  9767 =  86.506
0, 1  acc:  6917 /  7535 =  91.798
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17888 / 19962 =  89.610
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 93.687 | Val Loss: 0.006 | Val Acc: 68.188
Training:
Accuracies by groups:
0, 0  acc: 12716 / 18846 =  67.473
0, 1  acc:  7179 /  9183 =  78.177
1, 0  acc: 124978 / 126582 =  98.733
1, 1  acc:  7622 /  8159 =  93.418
--------------------------------------
Average acc: 152495 / 162770 =  93.687
Robust  acc: 12716 / 18846 =  67.473
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5139 /  8535 =  60.211
0, 1  acc:  5366 /  8276 =  64.838
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13547 / 19867 =  68.188
Robust  acc:  5139 /  8535 =  60.211
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.088
Robust Acc: 64.393 | Best Acc: 99.637
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  6491 /  9767 =  66.458
0, 1  acc:  4852 /  7535 =  64.393
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13991 / 19962 =  70.088
Robust  acc:  4852 /  7535 =  64.393
------------------------------------
Accuracies by groups:
0, 0  acc:  6491 /  9767 =  66.458
0, 1  acc:  4852 /  7535 =  64.393
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13991 / 19962 =  70.088
Robust  acc:  4852 /  7535 =  64.393
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6491 /  9767 =  66.458
0, 1  acc:  4852 /  7535 =  64.393
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13991 / 19962 =  70.088
Robust  acc:  4852 /  7535 =  64.393
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 93.673 | Val Loss: 0.004 | Val Acc: 81.185
Training:
Accuracies by groups:
0, 0  acc: 12795 / 18960 =  67.484
0, 1  acc:  6986 /  8989 =  77.717
1, 0  acc: 125077 / 126661 =  98.749
1, 1  acc:  7614 /  8160 =  93.309
--------------------------------------
Average acc: 152472 / 162770 =  93.673
Robust  acc: 12795 / 18960 =  67.484
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6224 /  8535 =  72.923
0, 1  acc:  6884 /  8276 =  83.180
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16129 / 19867 =  81.185
Robust  acc:  6224 /  8535 =  72.923
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.742
Robust Acc: 78.919 | Best Acc: 98.468
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  7708 /  9767 =  78.919
0, 1  acc:  6194 /  7535 =  82.203
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16517 / 19962 =  82.742
Robust  acc:  7708 /  9767 =  78.919
------------------------------------
Accuracies by groups:
0, 0  acc:  7708 /  9767 =  78.919
0, 1  acc:  6194 /  7535 =  82.203
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16517 / 19962 =  82.742
Robust  acc:  7708 /  9767 =  78.919
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7708 /  9767 =  78.919
0, 1  acc:  6194 /  7535 =  82.203
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16517 / 19962 =  82.742
Robust  acc:  7708 /  9767 =  78.919
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 93.667 | Val Loss: 0.003 | Val Acc: 86.495
Training:
Accuracies by groups:
0, 0  acc: 12579 / 18607 =  67.604
0, 1  acc:  7127 /  9151 =  77.882
1, 0  acc: 125014 / 126697 =  98.672
1, 1  acc:  7742 /  8315 =  93.109
--------------------------------------
Average acc: 152462 / 162770 =  93.667
Robust  acc: 12579 / 18607 =  67.604
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7012 /  8535 =  82.156
0, 1  acc:  7206 /  8276 =  87.071
1, 0  acc:  2797 /  2874 =  97.321
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17184 / 19867 =  86.495
Robust  acc:  7012 /  8535 =  82.156
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.228
Robust Acc: 86.086 | Best Acc: 96.411
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  8408 /  9767 =  86.086
0, 1  acc:  6654 /  7535 =  88.308
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17612 / 19962 =  88.228
Robust  acc:  8408 /  9767 =  86.086
------------------------------------
Accuracies by groups:
0, 0  acc:  8408 /  9767 =  86.086
0, 1  acc:  6654 /  7535 =  88.308
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17612 / 19962 =  88.228
Robust  acc:  8408 /  9767 =  86.086
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8408 /  9767 =  86.086
0, 1  acc:  6654 /  7535 =  88.308
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17612 / 19962 =  88.228
Robust  acc:  8408 /  9767 =  86.086
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 93.793 | Val Loss: 0.005 | Val Acc: 74.848
Training:
Accuracies by groups:
0, 0  acc: 12450 / 18475 =  67.388
0, 1  acc:  7189 /  9213 =  78.031
1, 0  acc: 125222 / 126747 =  98.797
1, 1  acc:  7806 /  8335 =  93.653
--------------------------------------
Average acc: 152667 / 162770 =  93.793
Robust  acc: 12450 / 18475 =  67.388
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5565 /  8535 =  65.202
0, 1  acc:  6267 /  8276 =  75.725
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14870 / 19867 =  74.848
Robust  acc:  5565 /  8535 =  65.202
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.916
Robust Acc: 71.056 | Best Acc: 99.435
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  6940 /  9767 =  71.056
0, 1  acc:  5772 /  7535 =  76.603
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15354 / 19962 =  76.916
Robust  acc:  6940 /  9767 =  71.056
------------------------------------
Accuracies by groups:
0, 0  acc:  6940 /  9767 =  71.056
0, 1  acc:  5772 /  7535 =  76.603
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15354 / 19962 =  76.916
Robust  acc:  6940 /  9767 =  71.056
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6940 /  9767 =  71.056
0, 1  acc:  5772 /  7535 =  76.603
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15354 / 19962 =  76.916
Robust  acc:  6940 /  9767 =  71.056
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 93.756 | Val Loss: 0.004 | Val Acc: 82.831
Training:
Accuracies by groups:
0, 0  acc: 12636 / 18674 =  67.666
0, 1  acc:  7363 /  9406 =  78.280
1, 0  acc: 124877 / 126427 =  98.774
1, 1  acc:  7731 /  8263 =  93.562
--------------------------------------
Average acc: 152607 / 162770 =  93.756
Robust  acc: 12636 / 18674 =  67.666
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6206 /  8535 =  72.712
0, 1  acc:  7224 /  8276 =  87.289
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16456 / 19867 =  82.831
Robust  acc:  6206 /  8535 =  72.712
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.551
Robust Acc: 78.601 | Best Acc: 98.710
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  7677 /  9767 =  78.601
0, 1  acc:  6584 /  7535 =  87.379
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16878 / 19962 =  84.551
Robust  acc:  7677 /  9767 =  78.601
------------------------------------
Accuracies by groups:
0, 0  acc:  7677 /  9767 =  78.601
0, 1  acc:  6584 /  7535 =  87.379
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16878 / 19962 =  84.551
Robust  acc:  7677 /  9767 =  78.601
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7677 /  9767 =  78.601
0, 1  acc:  6584 /  7535 =  87.379
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16878 / 19962 =  84.551
Robust  acc:  7677 /  9767 =  78.601
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 93.664 | Val Loss: 0.003 | Val Acc: 91.972
Training:
Accuracies by groups:
0, 0  acc: 12673 / 18842 =  67.259
0, 1  acc:  7144 /  9135 =  78.205
1, 0  acc: 124891 / 126476 =  98.747
1, 1  acc:  7749 /  8317 =  93.171
--------------------------------------
Average acc: 152457 / 162770 =  93.664
Robust  acc: 12673 / 18842 =  67.259
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7527 /  8535 =  88.190
0, 1  acc:  7894 /  8276 =  95.384
1, 0  acc:  2715 /  2874 =  94.468
1, 1  acc:   136 /   182 =  74.725
------------------------------------
Average acc: 18272 / 19867 =  91.972
Robust  acc:   136 /   182 =  74.725
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.786
Robust Acc: 72.778 | Best Acc: 95.634
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  8887 /  9767 =  90.990
0, 1  acc:  7206 /  7535 =  95.634
1, 0  acc:  2298 /  2480 =  92.661
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18522 / 19962 =  92.786
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8887 /  9767 =  90.990
0, 1  acc:  7206 /  7535 =  95.634
1, 0  acc:  2298 /  2480 =  92.661
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18522 / 19962 =  92.786
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8887 /  9767 =  90.990
0, 1  acc:  7206 /  7535 =  95.634
1, 0  acc:  2298 /  2480 =  92.661
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18522 / 19962 =  92.786
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 93.733 | Val Loss: 0.003 | Val Acc: 92.158
Training:
Accuracies by groups:
0, 0  acc: 12901 / 18902 =  68.252
0, 1  acc:  7218 /  9228 =  78.218
1, 0  acc: 124703 / 126337 =  98.707
1, 1  acc:  7747 /  8303 =  93.304
--------------------------------------
Average acc: 152569 / 162770 =  93.733
Robust  acc: 12901 / 18902 =  68.252
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7481 /  8535 =  87.651
0, 1  acc:  7967 /  8276 =  96.266
1, 0  acc:  2728 /  2874 =  94.920
1, 1  acc:   133 /   182 =  73.077
------------------------------------
Average acc: 18309 / 19867 =  92.158
Robust  acc:   133 /   182 =  73.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.057
Robust Acc: 67.222 | Best Acc: 96.828
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  8819 /  9767 =  90.294
0, 1  acc:  7296 /  7535 =  96.828
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18576 / 19962 =  93.057
Robust  acc:   121 /   180 =  67.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8819 /  9767 =  90.294
0, 1  acc:  7296 /  7535 =  96.828
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18576 / 19962 =  93.057
Robust  acc:   121 /   180 =  67.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8819 /  9767 =  90.294
0, 1  acc:  7296 /  7535 =  96.828
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18576 / 19962 =  93.057
Robust  acc:   121 /   180 =  67.222
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 93.679 | Val Loss: 0.003 | Val Acc: 89.113
Training:
Accuracies by groups:
0, 0  acc: 12744 / 18891 =  67.461
0, 1  acc:  7145 /  9091 =  78.594
1, 0  acc: 124942 / 126540 =  98.737
1, 1  acc:  7650 /  8248 =  92.750
--------------------------------------
Average acc: 152481 / 162770 =  93.679
Robust  acc: 12744 / 18891 =  67.461
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7115 /  8535 =  83.363
0, 1  acc:  7662 /  8276 =  92.581
1, 0  acc:  2779 /  2874 =  96.695
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 17704 / 19867 =  89.113
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.407
Robust Acc: 74.444 | Best Acc: 95.484
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  8532 /  9767 =  87.355
0, 1  acc:  7013 /  7535 =  93.072
1, 0  acc:  2368 /  2480 =  95.484
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18047 / 19962 =  90.407
Robust  acc:   134 /   180 =  74.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8532 /  9767 =  87.355
0, 1  acc:  7013 /  7535 =  93.072
1, 0  acc:  2368 /  2480 =  95.484
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18047 / 19962 =  90.407
Robust  acc:   134 /   180 =  74.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8532 /  9767 =  87.355
0, 1  acc:  7013 /  7535 =  93.072
1, 0  acc:  2368 /  2480 =  95.484
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18047 / 19962 =  90.407
Robust  acc:   134 /   180 =  74.444
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed39.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed39.pt
