Arch: resnet50_pt
Bs trn: 128
Bs val: 128
Hidden dim: 256
Dataset: celebA
Resample class: 
Slice with: rep
Rep cluster method: gmm
Num anchor: 32
Num positive: 32
Num negative: 32
Num negative easy: 0
Weight anc by loss: False
Weight pos by loss: False
Weight neg by loss: False
Anc loss temp: 0.5
Pos loss temp: 0.5
Neg loss temp: 0.5
Data wide pos: False
Target sample ratio: 1
Balance targets: False
Additional negatives: False
Hard negative factor: 0
Full contrastive: False
Train encoder: False
No projection head: False
Projection dim: 128
Batch factor: None
Temperature: 0.05
Single pos: False
Supervised linear scale up: False
Supervised update delay: 0
Contrastive weight: 0.5
Classifier update interval: 8
Optim: sgd
Max epoch: 50
Lr: 0.0001
Momentum: 0.9
Weight decay: 0.1
Weight decay c: 0.1
Stopping window: 30
Load encoder: 
Freeze encoder: False
Finetune epochs: 0
Clip grad norm: False
Lr scheduler classifier: 
Lr scheduler: 
Grad clip grad norm: False
Erm: False
Erm only: False
Pretrained spurious path: ./model/celebA/config/stage_one_erm/seed36/stage_one_erm_model_b_epoch0_seed36.pt
Max epoch s: 1
Bs trn s: 32
Lr s: 0.001
Momentum s: 0.9
Weight decay s: 0.0005
Slice temp: 10
Log loss interval: 10
Checkpoint interval: 50
Grad checkpoint interval: 50
Log visual interval: 100
Log grad visual interval: 50
Verbose: True
Seed: 36
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: perclass_bias
Tau: 1.2
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=36-r=0
Mi resampled: None

Loading checkpoints for train split:
[-1 -1 -1 ... -1 -1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [71629 66874 22880  1387]
Loading checkpoints for val split:
[-1 -1 -1 ... -1  1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [8535 8276 2874  182]
Loading checkpoints for test split:
[-1 -1 -1 ... -1 -1  1]
<class 'numpy.ndarray'>
[0 1 2 3] [9767 7535 2480  180]
Train dataset:
    Blond_Hair = 0, Male = 0 : n = 71629
    Blond_Hair = 0, Male = 1 : n = 66874
    Blond_Hair = 1, Male = 0 : n = 22880
    Blond_Hair = 1, Male = 1 : n = 1387
Val dataset:
    Blond_Hair = 0, Male = 0 : n = 8535
    Blond_Hair = 0, Male = 1 : n = 8276
    Blond_Hair = 1, Male = 0 : n = 2874
    Blond_Hair = 1, Male = 1 : n = 182
Test dataset:
    Blond_Hair = 0, Male = 0 : n = 9767
    Blond_Hair = 0, Male = 1 : n = 7535
    Blond_Hair = 1, Male = 0 : n = 2480
    Blond_Hair = 1, Male = 1 : n = 180
------------------------
> Loading spurious model
------------------------
Pretrained model loaded from ./model/celebA/config/stage_one_erm/seed36/stage_one_erm_model_b_epoch0_seed36.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8162, 0.0347],
        [0.1301, 0.0190]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.515 | Val Loss: 0.003 | Val Acc: 80.807
Training:
Accuracies by groups:
0, 0  acc:  7415 / 16057 =  46.179
0, 1  acc:  4582 /  8396 =  54.574
1, 0  acc: 127481 / 129812 =  98.204
1, 1  acc:  7854 /  8505 =  92.346
--------------------------------------
Average acc: 147332 / 162770 =  90.515
Robust  acc:  7415 / 16057 =  46.179
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6166 /  8535 =  72.244
0, 1  acc:  6869 /  8276 =  82.999
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 16054 / 19867 =  80.807
Robust  acc:  6166 /  8535 =  72.244
------------------------------------
New max robust acc: 72.24370240187463
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed36.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed36.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 82.727
Robust Acc: 78.151 | Best Acc: 98.871
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7633 /  9767 =  78.151
0, 1  acc:  6261 /  7535 =  83.092
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16514 / 19962 =  82.727
Robust  acc:  7633 /  9767 =  78.151
------------------------------------
Accuracies by groups:
0, 0  acc:  7633 /  9767 =  78.151
0, 1  acc:  6261 /  7535 =  83.092
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16514 / 19962 =  82.727
Robust  acc:  7633 /  9767 =  78.151
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7633 /  9767 =  78.151
0, 1  acc:  6261 /  7535 =  83.092
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16514 / 19962 =  82.727
Robust  acc:  7633 /  9767 =  78.151
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.530 | Val Loss: 0.003 | Val Acc: 85.670
Training:
Accuracies by groups:
0, 0  acc: 10885 / 16008 =  67.997
0, 1  acc:  6498 /  8240 =  78.859
1, 0  acc: 128440 / 129848 =  98.916
1, 1  acc:  8044 /  8674 =  92.737
--------------------------------------
Average acc: 153867 / 162770 =  94.530
Robust  acc: 10885 / 16008 =  67.997
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6594 /  8535 =  77.258
0, 1  acc:  7417 /  8276 =  89.621
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17020 / 19867 =  85.670
Robust  acc:  6594 /  8535 =  77.258
------------------------------------
New max robust acc: 77.25834797891036
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed36.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed36.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.116
Robust Acc: 82.185 | Best Acc: 98.669
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8027 /  9767 =  82.185
0, 1  acc:  6752 /  7535 =  89.608
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17390 / 19962 =  87.116
Robust  acc:  8027 /  9767 =  82.185
------------------------------------
Accuracies by groups:
0, 0  acc:  8027 /  9767 =  82.185
0, 1  acc:  6752 /  7535 =  89.608
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17390 / 19962 =  87.116
Robust  acc:  8027 /  9767 =  82.185
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8027 /  9767 =  82.185
0, 1  acc:  6752 /  7535 =  89.608
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17390 / 19962 =  87.116
Robust  acc:  8027 /  9767 =  82.185
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.322 | Val Loss: 0.002 | Val Acc: 87.457
Training:
Accuracies by groups:
0, 0  acc: 11299 / 15912 =  71.009
0, 1  acc:  6985 /  8232 =  84.852
1, 0  acc: 128956 / 130143 =  99.088
1, 1  acc:  7916 /  8483 =  93.316
--------------------------------------
Average acc: 155156 / 162770 =  95.322
Robust  acc: 11299 / 15912 =  71.009
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6806 /  8535 =  79.742
0, 1  acc:  7569 /  8276 =  91.457
1, 0  acc:  2828 /  2874 =  98.399
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17375 / 19867 =  87.457
Robust  acc:  6806 /  8535 =  79.742
------------------------------------
New max robust acc: 79.74223784417106
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed36.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed36.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.513
Robust Acc: 84.028 | Best Acc: 98.145
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8207 /  9767 =  84.028
0, 1  acc:  6870 /  7535 =  91.175
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17669 / 19962 =  88.513
Robust  acc:  8207 /  9767 =  84.028
------------------------------------
Accuracies by groups:
0, 0  acc:  8207 /  9767 =  84.028
0, 1  acc:  6870 /  7535 =  91.175
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17669 / 19962 =  88.513
Robust  acc:  8207 /  9767 =  84.028
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8207 /  9767 =  84.028
0, 1  acc:  6870 /  7535 =  91.175
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17669 / 19962 =  88.513
Robust  acc:  8207 /  9767 =  84.028
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.778 | Val Loss: 0.002 | Val Acc: 88.086
Training:
Accuracies by groups:
0, 0  acc: 11690 / 16031 =  72.921
0, 1  acc:  7345 /  8397 =  87.472
1, 0  acc: 128923 / 129964 =  99.199
1, 1  acc:  7940 /  8378 =  94.772
--------------------------------------
Average acc: 155898 / 162770 =  95.778
Robust  acc: 11690 / 16031 =  72.921
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6851 /  8535 =  80.269
0, 1  acc:  7645 /  8276 =  92.376
1, 0  acc:  2831 /  2874 =  98.504
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17500 / 19867 =  88.086
Robust  acc:  6851 /  8535 =  80.269
------------------------------------
New max robust acc: 80.26947861745752
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed36.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed36.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.954
Robust Acc: 84.243 | Best Acc: 98.065
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8228 /  9767 =  84.243
0, 1  acc:  6940 /  7535 =  92.104
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17757 / 19962 =  88.954
Robust  acc:  8228 /  9767 =  84.243
------------------------------------
Accuracies by groups:
0, 0  acc:  8228 /  9767 =  84.243
0, 1  acc:  6940 /  7535 =  92.104
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17757 / 19962 =  88.954
Robust  acc:  8228 /  9767 =  84.243
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8228 /  9767 =  84.243
0, 1  acc:  6940 /  7535 =  92.104
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17757 / 19962 =  88.954
Robust  acc:  8228 /  9767 =  84.243
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.333 | Val Loss: 0.002 | Val Acc: 89.576
Training:
Accuracies by groups:
0, 0  acc: 12011 / 15920 =  75.446
0, 1  acc:  7540 /  8470 =  89.020
1, 0  acc: 129002 / 129792 =  99.391
1, 1  acc:  8248 /  8588 =  96.041
--------------------------------------
Average acc: 156801 / 162770 =  96.333
Robust  acc: 12011 / 15920 =  75.446
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7055 /  8535 =  82.660
0, 1  acc:  7752 /  8276 =  93.668
1, 0  acc:  2819 /  2874 =  98.086
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17796 / 19867 =  89.576
Robust  acc:  7055 /  8535 =  82.660
------------------------------------
New max robust acc: 82.65963678968951
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed36.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed36.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.081
Robust Acc: 85.850 | Best Acc: 97.863
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8385 /  9767 =  85.850
0, 1  acc:  7014 /  7535 =  93.086
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17982 / 19962 =  90.081
Robust  acc:  8385 /  9767 =  85.850
------------------------------------
Accuracies by groups:
0, 0  acc:  8385 /  9767 =  85.850
0, 1  acc:  7014 /  7535 =  93.086
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17982 / 19962 =  90.081
Robust  acc:  8385 /  9767 =  85.850
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8385 /  9767 =  85.850
0, 1  acc:  7014 /  7535 =  93.086
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17982 / 19962 =  90.081
Robust  acc:  8385 /  9767 =  85.850
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.893 | Val Loss: 0.002 | Val Acc: 91.227
Training:
Accuracies by groups:
0, 0  acc: 12269 / 15798 =  77.662
0, 1  acc:  7543 /  8338 =  90.465
1, 0  acc: 129578 / 130130 =  99.576
1, 1  acc:  8322 /  8504 =  97.860
--------------------------------------
Average acc: 157712 / 162770 =  96.893
Robust  acc: 12269 / 15798 =  77.662
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7273 /  8535 =  85.214
0, 1  acc:  7877 /  8276 =  95.179
1, 0  acc:  2807 /  2874 =  97.669
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 18124 / 19867 =  91.227
Robust  acc:  7273 /  8535 =  85.214
------------------------------------
New max robust acc: 85.21382542472173
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed36.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed36.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.529
Robust Acc: 83.333 | Best Acc: 97.298
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8576 /  9767 =  87.806
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18271 / 19962 =  91.529
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8576 /  9767 =  87.806
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18271 / 19962 =  91.529
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8576 /  9767 =  87.806
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18271 / 19962 =  91.529
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.445 | Val Loss: 0.002 | Val Acc: 91.514
Training:
Accuracies by groups:
0, 0  acc: 12698 / 15832 =  80.205
0, 1  acc:  7759 /  8417 =  92.182
1, 0  acc: 129666 / 129959 =  99.775
1, 1  acc:  8488 /  8562 =  99.136
--------------------------------------
Average acc: 158611 / 162770 =  97.445
Robust  acc: 12698 / 15832 =  80.205
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7317 /  8535 =  85.729
0, 1  acc:  7908 /  8276 =  95.553
1, 0  acc:  2795 /  2874 =  97.251
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 18181 / 19867 =  91.514
Robust  acc:  7317 /  8535 =  85.729
------------------------------------
New max robust acc: 85.72934973637962
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed36.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed36.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.895
Robust Acc: 81.111 | Best Acc: 96.774
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8635 /  9767 =  88.410
0, 1  acc:  7163 /  7535 =  95.063
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18344 / 19962 =  91.895
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8635 /  9767 =  88.410
0, 1  acc:  7163 /  7535 =  95.063
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18344 / 19962 =  91.895
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8635 /  9767 =  88.410
0, 1  acc:  7163 /  7535 =  95.063
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18344 / 19962 =  91.895
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.885 | Val Loss: 0.002 | Val Acc: 92.561
Training:
Accuracies by groups:
0, 0  acc: 13083 / 15805 =  82.778
0, 1  acc:  7788 /  8342 =  93.359
1, 0  acc: 129939 / 130070 =  99.899
1, 1  acc:  8517 /  8553 =  99.579
--------------------------------------
Average acc: 159327 / 162770 =  97.885
Robust  acc: 13083 / 15805 =  82.778
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7466 /  8535 =  87.475
0, 1  acc:  8000 /  8276 =  96.665
1, 0  acc:  2772 /  2874 =  96.451
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 18389 / 19867 =  92.561
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.721
Robust Acc: 73.333 | Best Acc: 96.058
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8768 /  9767 =  89.772
0, 1  acc:  7238 /  7535 =  96.058
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18509 / 19962 =  92.721
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8768 /  9767 =  89.772
0, 1  acc:  7238 /  7535 =  96.058
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18509 / 19962 =  92.721
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8768 /  9767 =  89.772
0, 1  acc:  7238 /  7535 =  96.058
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18509 / 19962 =  92.721
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.304 | Val Loss: 0.001 | Val Acc: 93.104
Training:
Accuracies by groups:
0, 0  acc: 13653 / 15905 =  85.841
0, 1  acc:  7929 /  8319 =  95.312
1, 0  acc: 129911 / 130012 =  99.922
1, 1  acc:  8517 /  8534 =  99.801
--------------------------------------
Average acc: 160010 / 162770 =  98.304
Robust  acc: 13653 / 15905 =  85.841
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7593 /  8535 =  88.963
0, 1  acc:  8024 /  8276 =  96.955
1, 0  acc:  2738 /  2874 =  95.268
1, 1  acc:   142 /   182 =  78.022
------------------------------------
Average acc: 18497 / 19867 =  93.104
Robust  acc:   142 /   182 =  78.022
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.392
Robust Acc: 76.111 | Best Acc: 96.616
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8877 /  9767 =  90.888
0, 1  acc:  7280 /  7535 =  96.616
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18643 / 19962 =  93.392
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8877 /  9767 =  90.888
0, 1  acc:  7280 /  7535 =  96.616
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18643 / 19962 =  93.392
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8877 /  9767 =  90.888
0, 1  acc:  7280 /  7535 =  96.616
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18643 / 19962 =  93.392
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.506 | Val Loss: 0.001 | Val Acc: 93.920
Training:
Accuracies by groups:
0, 0  acc: 13832 / 15774 =  87.689
0, 1  acc:  8026 /  8389 =  95.673
1, 0  acc: 129958 / 130053 =  99.927
1, 1  acc:  8523 /  8554 =  99.638
--------------------------------------
Average acc: 160339 / 162770 =  98.506
Robust  acc: 13832 / 15774 =  87.689
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7754 /  8535 =  90.849
0, 1  acc:  8113 /  8276 =  98.030
1, 0  acc:  2670 /  2874 =  92.902
1, 1  acc:   122 /   182 =  67.033
------------------------------------
Average acc: 18659 / 19867 =  93.920
Robust  acc:   122 /   182 =  67.033
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.159
Robust Acc: 66.111 | Best Acc: 97.571
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9039 /  9767 =  92.546
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2286 /  2480 =  92.177
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18796 / 19962 =  94.159
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9039 /  9767 =  92.546
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2286 /  2480 =  92.177
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18796 / 19962 =  94.159
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9039 /  9767 =  92.546
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2286 /  2480 =  92.177
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18796 / 19962 =  94.159
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.608 | Val Loss: 0.002 | Val Acc: 93.109
Training:
Accuracies by groups:
0, 0  acc: 14103 / 15871 =  88.860
0, 1  acc:  8057 /  8357 =  96.410
1, 0  acc: 129671 / 129829 =  99.878
1, 1  acc:  8674 /  8713 =  99.552
--------------------------------------
Average acc: 160505 / 162770 =  98.608
Robust  acc: 14103 / 15871 =  88.860
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7565 /  8535 =  88.635
0, 1  acc:  8066 /  8276 =  97.463
1, 0  acc:  2736 /  2874 =  95.198
1, 1  acc:   131 /   182 =  71.978
------------------------------------
Average acc: 18498 / 19867 =  93.109
Robust  acc:   131 /   182 =  71.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.357
Robust Acc: 67.778 | Best Acc: 96.855
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8868 /  9767 =  90.796
0, 1  acc:  7298 /  7535 =  96.855
1, 0  acc:  2348 /  2480 =  94.677
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18636 / 19962 =  93.357
Robust  acc:   122 /   180 =  67.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8868 /  9767 =  90.796
0, 1  acc:  7298 /  7535 =  96.855
1, 0  acc:  2348 /  2480 =  94.677
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18636 / 19962 =  93.357
Robust  acc:   122 /   180 =  67.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8868 /  9767 =  90.796
0, 1  acc:  7298 /  7535 =  96.855
1, 0  acc:  2348 /  2480 =  94.677
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18636 / 19962 =  93.357
Robust  acc:   122 /   180 =  67.778
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.220 | Val Loss: 0.002 | Val Acc: 90.376
Training:
Accuracies by groups:
0, 0  acc: 13949 / 16026 =  87.040
0, 1  acc:  7851 /  8243 =  95.244
1, 0  acc: 129687 / 130011 =  99.751
1, 1  acc:  8386 /  8490 =  98.775
--------------------------------------
Average acc: 159873 / 162770 =  98.220
Robust  acc: 13949 / 16026 =  87.040
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7180 /  8535 =  84.124
0, 1  acc:  7847 /  8276 =  94.816
1, 0  acc:  2778 /  2874 =  96.660
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 17955 / 19867 =  90.376
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.968
Robust Acc: 77.778 | Best Acc: 96.452
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8530 /  9767 =  87.335
0, 1  acc:  7097 /  7535 =  94.187
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18159 / 19962 =  90.968
Robust  acc:   140 /   180 =  77.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8530 /  9767 =  87.335
0, 1  acc:  7097 /  7535 =  94.187
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18159 / 19962 =  90.968
Robust  acc:   140 /   180 =  77.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8530 /  9767 =  87.335
0, 1  acc:  7097 /  7535 =  94.187
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18159 / 19962 =  90.968
Robust  acc:   140 /   180 =  77.778
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.818 | Val Loss: 0.002 | Val Acc: 93.321
Training:
Accuracies by groups:
0, 0  acc: 13473 / 15871 =  84.891
0, 1  acc:  7995 /  8463 =  94.470
1, 0  acc: 129295 / 129811 =  99.602
1, 1  acc:  8455 /  8625 =  98.029
--------------------------------------
Average acc: 159218 / 162770 =  97.818
Robust  acc: 13473 / 15871 =  84.891
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7601 /  8535 =  89.057
0, 1  acc:  8080 /  8276 =  97.632
1, 0  acc:  2722 /  2874 =  94.711
1, 1  acc:   137 /   182 =  75.275
------------------------------------
Average acc: 18540 / 19867 =  93.321
Robust  acc:   137 /   182 =  75.275
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.658
Robust Acc: 68.889 | Best Acc: 97.001
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8937 /  9767 =  91.502
0, 1  acc:  7309 /  7535 =  97.001
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18696 / 19962 =  93.658
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8937 /  9767 =  91.502
0, 1  acc:  7309 /  7535 =  97.001
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18696 / 19962 =  93.658
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8937 /  9767 =  91.502
0, 1  acc:  7309 /  7535 =  97.001
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18696 / 19962 =  93.658
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.347 | Val Loss: 0.001 | Val Acc: 93.089
Training:
Accuracies by groups:
0, 0  acc: 12937 / 15771 =  82.030
0, 1  acc:  7858 /  8444 =  93.060
1, 0  acc: 129491 / 130182 =  99.469
1, 1  acc:  8165 /  8373 =  97.516
--------------------------------------
Average acc: 158451 / 162770 =  97.347
Robust  acc: 12937 / 15771 =  82.030
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7624 /  8535 =  89.326
0, 1  acc:  7995 /  8276 =  96.605
1, 0  acc:  2723 /  2874 =  94.746
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18494 / 19867 =  93.089
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.563
Robust Acc: 74.444 | Best Acc: 96.377
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8938 /  9767 =  91.512
0, 1  acc:  7262 /  7535 =  96.377
1, 0  acc:  2343 /  2480 =  94.476
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18677 / 19962 =  93.563
Robust  acc:   134 /   180 =  74.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8938 /  9767 =  91.512
0, 1  acc:  7262 /  7535 =  96.377
1, 0  acc:  2343 /  2480 =  94.476
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18677 / 19962 =  93.563
Robust  acc:   134 /   180 =  74.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8938 /  9767 =  91.512
0, 1  acc:  7262 /  7535 =  96.377
1, 0  acc:  2343 /  2480 =  94.476
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18677 / 19962 =  93.563
Robust  acc:   134 /   180 =  74.444
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.851 | Val Loss: 0.003 | Val Acc: 86.661
Training:
Accuracies by groups:
0, 0  acc: 12668 / 15926 =  79.543
0, 1  acc:  7611 /  8323 =  91.445
1, 0  acc: 129319 / 130179 =  99.339
1, 1  acc:  8047 /  8342 =  96.464
--------------------------------------
Average acc: 157645 / 162770 =  96.851
Robust  acc: 12668 / 15926 =  79.543
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6776 /  8535 =  79.391
0, 1  acc:  7430 /  8276 =  89.778
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17217 / 19867 =  86.661
Robust  acc:  6776 /  8535 =  79.391
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.566
Robust Acc: 83.106 | Best Acc: 98.347
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8117 /  9767 =  83.106
0, 1  acc:  6761 /  7535 =  89.728
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17480 / 19962 =  87.566
Robust  acc:  8117 /  9767 =  83.106
------------------------------------
Accuracies by groups:
0, 0  acc:  8117 /  9767 =  83.106
0, 1  acc:  6761 /  7535 =  89.728
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17480 / 19962 =  87.566
Robust  acc:  8117 /  9767 =  83.106
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8117 /  9767 =  83.106
0, 1  acc:  6761 /  7535 =  89.728
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17480 / 19962 =  87.566
Robust  acc:  8117 /  9767 =  83.106
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.398 | Val Loss: 0.005 | Val Acc: 73.016
Training:
Accuracies by groups:
0, 0  acc: 12315 / 15966 =  77.133
0, 1  acc:  7451 /  8266 =  90.140
1, 0  acc: 128855 / 129911 =  99.187
1, 1  acc:  8286 /  8627 =  96.047
--------------------------------------
Average acc: 156907 / 162770 =  96.398
Robust  acc: 12315 / 15966 =  77.133
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4937 /  8535 =  57.844
0, 1  acc:  6524 /  8276 =  78.830
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14506 / 19867 =  73.016
Robust  acc:  4937 /  8535 =  57.844
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.281
Robust Acc: 63.663 | Best Acc: 99.637
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  6218 /  9767 =  63.663
0, 1  acc:  5967 /  7535 =  79.190
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14828 / 19962 =  74.281
Robust  acc:  6218 /  9767 =  63.663
------------------------------------
Accuracies by groups:
0, 0  acc:  6218 /  9767 =  63.663
0, 1  acc:  5967 /  7535 =  79.190
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14828 / 19962 =  74.281
Robust  acc:  6218 /  9767 =  63.663
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6218 /  9767 =  63.663
0, 1  acc:  5967 /  7535 =  79.190
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14828 / 19962 =  74.281
Robust  acc:  6218 /  9767 =  63.663
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.984 | Val Loss: 0.002 | Val Acc: 92.520
Training:
Accuracies by groups:
0, 0  acc: 11842 / 15782 =  75.035
0, 1  acc:  7519 /  8453 =  88.951
1, 0  acc: 128742 / 129962 =  99.061
1, 1  acc:  8130 /  8573 =  94.833
--------------------------------------
Average acc: 156233 / 162770 =  95.984
Robust  acc: 11842 / 15782 =  75.035
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7577 /  8535 =  88.776
0, 1  acc:  7891 /  8276 =  95.348
1, 0  acc:  2754 /  2874 =  95.825
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 18381 / 19867 =  92.520
Robust  acc:   159 /   182 =  87.363
------------------------------------
New max robust acc: 87.36263736263736
debias model - Saving best checkpoint at epoch 16
replace: True
-> Updating checkpoint debias-wga-best_seed36.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed36.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.227
Robust Acc: 78.333 | Best Acc: 95.435
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8924 /  9767 =  91.369
0, 1  acc:  7191 /  7535 =  95.435
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18610 / 19962 =  93.227
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8924 /  9767 =  91.369
0, 1  acc:  7191 /  7535 =  95.435
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18610 / 19962 =  93.227
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8924 /  9767 =  91.369
0, 1  acc:  7191 /  7535 =  95.Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.333 | Val Loss: 0.003 | Val Acc: 88.745
Training:
Accuracies by groups:
0, 0  acc: 12319 / 17101 =  72.037
0, 1  acc:  5896 /  6892 =  85.548
1, 0  acc: 129136 / 130530 =  98.Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.573 | Val Loss: 0.003 | Val Acc: 83.656
Training:
Accuracies by groups:
0, 0  acc: 11791 / 16019 =  73.606
0, 1  acc:  7126 /  8214 =  86.754
1, 0  acc: 128640 / 130002 =  98.952
1, 1  acc:  8007 /  8535 =  93.814
--------------------------------------
Average acc: 155564 / 162770 =  95.573
Robust  acc: 11791 / 16019 =  73.606
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6321 /  8535 =  74.060
0, 1  acc:  7278 /  8276 =  87.941
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16620 / 19867 =  83.656
Robust  acc:  6321 /  8535 =  74.060
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.292
Robust Acc: 79.185 | Best Acc: 99.032
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  7734 /  9767 =  79.185
0, 1  acc:  6671 /  7535 =  88.534
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17026 / 19962 =  85.292
Robust  acc:  7734 /  9767 =  79.185
------------------------------------
Accuracies by groups:
0, 0  acc:  7734 /  9767 =  79.185
0, 1  acc:  6671 /  7535 =  88.534
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17026 / 19962 =  85.292
Robust  acc:  7734 /  9767 =  79.185
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7734 /  9767 =  79.185
0, 1  acc:  6671 /  7535 =  88.Epoch:  19 | Train Loss: 0.001 | Train Acc: 94.798 | Val Loss: 0.003 | Val Acc: 86.546
Training:
Accuracies by groups:
0, 0  acc: 12147 / 17281 =  70.291
0, 1  acc:  6043 /  7254 =  83.306
1, 0  acc: 128166 / 129757 =  98.Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.296 | Val Loss: 0.002 | Val Acc: 91.302
Training:
Accuracies by groups:
0, 0  acc: 11428 / 15940 =  71.694
0, 1  acc:  7136 /  8358 =  85.379
1, 0  acc: 128473 / 129891 =  98.908
1, 1  acc:  8076 /  8581 =  94.115
--------------------------------------
Average acc: 155113 / 162770 =  95.296
Robust  acc: 11428 / 15940 =  71.694
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7329 /  8535 =  85.870
0, 1  acc:  7860 /  8276 =  94.973
1, 0  acc:  2788 /  2874 =  97.008
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 18139 / 19867 =  91.302
Robust  acc:  7329 /  8535 =  85.870
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.950
Robust Acc: 81.667 | Best Acc: 96.653
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  8667 /  9767 =  88.738
0, 1  acc:  7144 /  7535 =  94.811
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18355 / 19962 =  91.950
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8667 /  9767 =  88.738
0, 1  acc:  7144 /  7535 =  94.811
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18355 / 19962 =  91.950
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8667 /  9767 =  88.738
0, 1  acc:  7144 /  7535 =  94.Epoch:  20 | Train Loss: 0.002 | Train Acc: 94.500 | Val Loss: 0.003 | Val Acc: 90.527
Training:
Accuracies by groups:
0, 0  acc: 11772 / 17196 =  68.458
0, 1  acc:  5703 /  7043 =  80.974
1, 0  acc: 128519 / 130173 =  98.Epoch:  20 | Train Loss: 0.001 | Train Acc: 94.982 | Val Loss: 0.003 | Val Acc: 86.988
Training:
Accuracies by groups:
0, 0  acc: 11180 / 15959 =  70.055
0, 1  acc:  6908 /  8263 =  83.602
1, 0  acc: 128470 / 129952 =  98.860
1, 1  acc:  8044 /  8596 =  93.578
--------------------------------------
Average acc: 154602 / 162770 =  94.982
Robust  acc: 11180 / 15959 =  70.055
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6864 /  8535 =  80.422
0, 1  acc:  7421 /  8276 =  89.669
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 17282 / 19867 =  86.988
Robust  acc:  6864 /  8535 =  80.422
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.478
Robust Acc: 84.960 | Best Acc: 97.500
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  8298 /  9767 =  84.960
0, 1  acc:  6786 /  7535 =  90.060
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17662 / 19962 =  88.478
Robust  acc:  8298 /  9767 =  84.960
------------------------------------
Accuracies by groups:
0, 0  acc:  8298 /  9767 =  84.960
0, 1  acc:  6786 /  7535 =  90.060
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17662 / 19962 =  88.478
Robust  acc:  8298 /  9767 =  84.960
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8298 /  9767 =  84.960
0, 1  acc:  6786 /  7535 =  90.Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.197 | Val Loss: 0.005 | Val Acc: 70.469
Training:
Accuracies by groups:
0, 0  acc: 11676 / 17453 =  66.900
0, 1  acc:  5446 /  6930 =  78.586
1, 0  acc: 128295 / 129987 =  98.Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.860 | Val Loss: 0.003 | Val Acc: 85.851
Training:
Accuracies by groups:
0, 0  acc: 10905 / 15817 =  68.945
0, 1  acc:  6711 /  8236 =  81.484
1, 0  acc: 128663 / 130094 =  98.900
1, 1  acc:  8125 /  8623 =  94.225
--------------------------------------
Average acc: 154404 / 162770 =  94.860
Robust  acc: 10905 / 15817 =  68.945
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6759 /  8535 =  79.192
0, 1  acc:  7298 /  8276 =  88.183
1, 0  acc:  2823 /  2874 =  98.225
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 17056 / 19867 =  85.851
Robust  acc:  6759 /  8535 =  79.192
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.481
Robust Acc: 84.130 | Best Acc: 97.742
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8217 /  9767 =  84.130
0, 1  acc:  6658 /  7535 =  88.361
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17463 / 19962 =  87.481
Robust  acc:  8217 /  9767 =  84.130
------------------------------------
Accuracies by groups:
0, 0  acc:  8217 /  9767 =  84.130
0, 1  acc:  6658 /  7535 =  88.361
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17463 / 19962 =  87.481
Robust  acc:  8217 /  9767 =  84.130
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8217 /  9767 =  84.130
0, 1  acc:  6658 /  7535 =  88.Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.000 | Val Loss: 0.005 | Val Acc: 71.727
Training:
Accuracies by groups:
0, 0  acc: 11349 / 17281 =  65.673
0, 1  acc:  5483 /  7143 =  76.760
1, 0  acc: 128407 / 130085 =  98.Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.693 | Val Loss: 0.002 | Val Acc: 91.604
Training:
Accuracies by groups:
0, 0  acc: 10825 / 15904 =  68.065
0, 1  acc:  6711 /  8285 =  81.002
1, 0  acc: 128719 / 130186 =  98.873
1, 1  acc:  7876 /  8395 =  93.818
--------------------------------------
Average acc: 154131 / 162770 =  94.693
Robust  acc: 10825 / 15904 =  68.065
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7433 /  8535 =  87.088
0, 1  acc:  7861 /  8276 =  94.986
1, 0  acc:  2759 /  2874 =  95.999
1, 1  acc:   146 /   182 =  80.220
------------------------------------
Average acc: 18199 / 19867 =  91.604
Robust  acc:   146 /   182 =  80.220
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.391
Robust Acc: 77.222 | Best Acc: 94.784
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  8815 /  9767 =  90.253
0, 1  acc:  7142 /  7535 =  94.784
1, 0  acc:  2347 /  2480 =  94.637
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18443 / 19962 =  92.391
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8815 /  9767 =  90.253
0, 1  acc:  7142 /  7535 =  94.784
1, 0  acc:  2347 /  2480 =  94.637
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18443 / 19962 =  92.391
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8815 /  9767 =  90.253
0, 1  acc:  7142 /  7535 =  94.Epoch:  23 | Train Loss: 0.002 | Train Acc: 93.856 | Val Loss: 0.004 | Val Acc: 81.829
Training:
Accuracies by groups:
0, 0  acc: 11017 / 17132 =  64.307
0, 1  acc:  5345 /  7160 =  74.651
1, 0  acc: 128496 / 130125 =  98.Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.570 | Val Loss: 0.005 | Val Acc: 76.398
Training:
Accuracies by groups:
0, 0  acc: 10747 / 15915 =  67.527
0, 1  acc:  6608 /  8365 =  78.996
1, 0  acc: 128414 / 129837 =  98.904
1, 1  acc:  8163 /  8653 =  94.337
--------------------------------------
Average acc: 153932 / 162770 =  94.570
Robust  acc: 10747 / 15915 =  67.527
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5742 /  8535 =  67.276
0, 1  acc:  6402 /  8276 =  77.356
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15178 / 19867 =  76.398
Robust  acc:  5742 /  8535 =  67.276
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 78.554
Robust Acc: 72.970 | Best Acc: 99.073
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  7127 /  9767 =  72.970
0, 1  acc:  5923 /  7535 =  78.607
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15681 / 19962 =  78.554
Robust  acc:  7127 /  9767 =  72.970
------------------------------------
Accuracies by groups:
0, 0  acc:  7127 /  9767 =  72.970
0, 1  acc:  5923 /  7535 =  78.607
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15681 / 19962 =  78.554
Robust  acc:  7127 /  9767 =  72.970
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7127 /  9767 =  72.970
0, 1  acc:  5923 /  7535 =  78.Epoch:  24 | Train Loss: 0.002 | Train Acc: 93.826 | Val Loss: 0.006 | Val Acc: 67.423
Training:
Accuracies by groups:
0, 0  acc: 11019 / 17177 =  64.150
0, 1  acc:  5270 /  7108 =  74.142
1, 0  acc: 128617 / 130217 =  98.Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.447 | Val Loss: 0.002 | Val Acc: 93.899
Training:
Accuracies by groups:
0, 0  acc: 10544 / 15808 =  66.700
0, 1  acc:  6658 /  8438 =  78.905
1, 0  acc: 128562 / 130050 =  98.856
1, 1  acc:  7968 /  8474 =  94.029
--------------------------------------
Average acc: 153732 / 162770 =  94.447
Robust  acc: 10544 / 15808 =  66.700
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7992 /  8535 =  93.638
0, 1  acc:  8052 /  8276 =  97.293
1, 0  acc:  2490 /  2874 =  86.639
1, 1  acc:   121 /   182 =  66.484
------------------------------------
Average acc: 18655 / 19867 =  93.899
Robust  acc:   121 /   182 =  66.484
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.510
Robust Acc: 60.000 | Best Acc: 97.253
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  9308 /  9767 =  95.301
0, 1  acc:  7328 /  7535 =  97.253
1, 0  acc:  2122 /  2480 =  85.565
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18866 / 19962 =  94.510
Robust  acc:   108 /   180 =  60.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9308 /  9767 =  95.301
0, 1  acc:  7328 /  7535 =  97.253
1, 0  acc:  2122 /  2480 =  85.565
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18866 / 19962 =  94.510
Robust  acc:   108 /   180 =  60.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9308 /  9767 =  95.301
0, 1  acc:  7328 /  7535 =  97.Epoch:  25 | Train Loss: 0.002 | Train Acc: 93.706 | Val Loss: 0.004 | Val Acc: 84.849
Training:
Accuracies by groups:
0, 0  acc: 10930 / 17188 =  63.591
0, 1  acc:  5291 /  7132 =  74.187
1, 0  acc: 128570 / 130234 =  98.Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.430 | Val Loss: 0.004 | Val Acc: 80.470
Training:
Accuracies by groups:
0, 0  acc: 10477 / 15714 =  66.673
0, 1  acc:  6627 /  8443 =  78.491
1, 0  acc: 128541 / 130038 =  98.849
1, 1  acc:  8058 /  8575 =  93.971
--------------------------------------
Average acc: 153703 / 162770 =  94.430
Robust  acc: 10477 / 15714 =  66.673
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6023 /  8535 =  70.568
0, 1  acc:  6945 /  8276 =  83.917
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 15987 / 19867 =  80.470
Robust  acc:  6023 /  8535 =  70.568
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.201
Robust Acc: 75.929 | Best Acc: 98.911
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  7416 /  9767 =  75.929
0, 1  acc:  6373 /  7535 =  84.579
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16409 / 19962 =  82.201
Robust  acc:  7416 /  9767 =  75.929
------------------------------------
Accuracies by groups:
0, 0  acc:  7416 /  9767 =  75.929
0, 1  acc:  6373 /  7535 =  84.579
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16409 / 19962 =  82.201
Robust  acc:  7416 /  9767 =  75.929
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7416 /  9767 =  75.929
0, 1  acc:  6373 /  7535 =  84.Epoch:  26 | Train Loss: 0.002 | Train Acc: 93.698 | Val Loss: 0.007 | Val Acc: 53.450
Training:
Accuracies by groups:
0, 0  acc: 10747 / 17174 =  62.577
0, 1  acc:  5054 /  7021 =  71.984
1, 0  acc: 128686 / 130109 =  98.Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.339 | Val Loss: 0.004 | Val Acc: 87.155
Training:
Accuracies by groups:
0, 0  acc: 10524 / 15970 =  65.899
0, 1  acc:  6439 /  8293 =  77.644
1, 0  acc: 128455 / 129877 =  98.905
1, 1  acc:  8137 /  8630 =  94.287
--------------------------------------
Average acc: 153555 / 162770 =  94.339
Robust  acc: 10524 / 15970 =  65.899
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6908 /  8535 =  80.937
0, 1  acc:  7446 /  8276 =  89.971
1, 0  acc:  2802 /  2874 =  97.495
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 17315 / 19867 =  87.155
Robust  acc:  6908 /  8535 =  80.937
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.603
Robust Acc: 85.052 | Best Acc: 96.935
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  8307 /  9767 =  85.052
0, 1  acc:  6822 /  7535 =  90.537
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17687 / 19962 =  88.603
Robust  acc:  8307 /  9767 =  85.052
------------------------------------
Accuracies by groups:
0, 0  acc:  8307 /  9767 =  85.052
0, 1  acc:  6822 /  7535 =  90.537
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17687 / 19962 =  88.603
Robust  acc:  8307 /  9767 =  85.052
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8307 /  9767 =  85.052
0, 1  acc:  6822 /  7535 =  90.Epoch:  27 | Train Loss: 0.002 | Train Acc: 93.563 | Val Loss: 0.003 | Val Acc: 93.738
Training:
Accuracies by groups:
0, 0  acc: 10596 / 17261 =  61.387
0, 1  acc:  5085 /  7154 =  71.079
1, 0  acc: 128827 / 130169 =  98.Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.313 | Val Loss: 0.004 | Val Acc: 84.381
Training:
Accuracies by groups:
0, 0  acc: 10121 / 15659 =  64.634
0, 1  acc:  6517 /  8464 =  76.997
1, 0  acc: 128809 / 130104 =  99.005
1, 1  acc:  8066 /  8543 =  94.416
--------------------------------------
Average acc: 153513 / 162770 =  94.313
Robust  acc: 10121 / 15659 =  64.634
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6513 /  8535 =  76.309
0, 1  acc:  7239 /  8276 =  87.470
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16764 / 19867 =  84.381
Robust  acc:  6513 /  8535 =  76.309
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.738
Robust Acc: 80.782 | Best Acc: 98.548
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  7890 /  9767 =  80.782
0, 1  acc:  6616 /  7535 =  87.804
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17115 / 19962 =  85.738
Robust  acc:  7890 /  9767 =  80.782
------------------------------------
Accuracies by groups:
0, 0  acc:  7890 /  9767 =  80.782
0, 1  acc:  6616 /  7535 =  87.804
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17115 / 19962 =  85.738
Robust  acc:  7890 /  9767 =  80.782
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7890 /  9767 =  80.782
0, 1  acc:  6616 /  7535 =  87.Epoch:  28 | Train Loss: 0.002 | Train Acc: 93.506 | Val Loss: 0.006 | Val Acc: 65.239
Training:
Accuracies by groups:
0, 0  acc: 10415 / 17181 =  60.619
0, 1  acc:  4971 /  7102 =  69.994
1, 0  acc: 128925 / 130208 =  99.Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.069 | Val Loss: 0.007 | Val Acc: 62.239
Training:
Accuracies by groups:
0, 0  acc: 10099 / 15885 =  63.576
0, 1  acc:  6484 /  8593 =  75.457
1, 0  acc: 128439 / 129757 =  98.984
1, 1  acc:  8094 /  8535 =  94.833
--------------------------------------
Average acc: 153116 / 162770 =  94.069
Robust  acc: 10099 / 15885 =  63.576
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4421 /  8535 =  51.798
0, 1  acc:  4893 /  8276 =  59.123
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12365 / 19867 =  62.239
Robust  acc:  4421 /  8535 =  51.798
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 63.696
Robust Acc: 57.244 | Best Acc: 99.798
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  5591 /  9767 =  57.244
0, 1  acc:  4471 /  7535 =  59.336
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12715 / 19962 =  63.696
Robust  acc:  5591 /  9767 =  57.244
------------------------------------
Accuracies by groups:
0, 0  acc:  5591 /  9767 =  57.244
0, 1  acc:  4471 /  7535 =  59.336
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12715 / 19962 =  63.696
Robust  acc:  5591 /  9767 =  57.244
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5591 /  9767 =  57.244
0, 1  acc:  4471 /  7535 =  59.Epoch:  29 | Train Loss: 0.002 | Train Acc: 93.523 | Val Loss: 0.005 | Val Acc: 73.433
Training:
Accuracies by groups:
0, 0  acc: 10463 / 17208 =  60.803
0, 1  acc:  4753 /  6922 =  68.665
1, 0  acc: 129037 / 130281 =  99.Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.066 | Val Loss: 0.008 | Val Acc: 48.573
Training:
Accuracies by groups:
0, 0  acc: 10155 / 15978 =  63.556
0, 1  acc:  6112 /  8252 =  74.067
1, 0  acc: 128641 / 129928 =  99.009
1, 1  acc:  8203 /  8612 =  95.251
--------------------------------------
Average acc: 153111 / 162770 =  94.066
Robust  acc: 10155 / 15978 =  63.556
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2555 /  8535 =  29.936
0, 1  acc:  4040 /  8276 =  48.816
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9650 / 19867 =  48.573
Robust  acc:  2555 /  8535 =  29.936
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 49.073
Robust Acc: 35.702 | Best Acc: 99.960
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  3487 /  9767 =  35.702
0, 1  acc:  3652 /  7535 =  48.467
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9796 / 19962 =  49.073
Robust  acc:  3487 /  9767 =  35.702
------------------------------------
Accuracies by groups:
0, 0  acc:  3487 /  9767 =  35.702
0, 1  acc:  3652 /  7535 =  48.467
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9796 / 19962 =  49.073
Robust  acc:  3487 /  9767 =  35.702
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3487 /  9767 =  35.702
0, 1  acc:  3652 /  7535 =  48.Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.497 | Val Loss: 0.007 | Val Acc: 48.910
Training:
Accuracies by groups:
0, 0  acc: 10278 / 17052 =  60.274
0, 1  acc:  4947 /  7176 =  68.938
1, 0  acc: 128845 / 130082 =  99.Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.030 | Val Loss: 0.005 | Val Acc: 79.997
Training:
Accuracies by groups:
0, 0  acc: 10111 / 15893 =  63.619
0, 1  acc:  6188 /  8336 =  74.232
1, 0  acc: 128536 / 129860 =  98.980
1, 1  acc:  8217 /  8681 =  94.655
--------------------------------------
Average acc: 153052 / 162770 =  94.030
Robust  acc: 10111 / 15893 =  63.619
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5970 /  8535 =  69.947
0, 1  acc:  6889 /  8276 =  83.241
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15893 / 19867 =  79.997
Robust  acc:  5970 /  8535 =  69.947
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.675
Robust Acc: 76.042 | Best Acc: 99.073
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7427 /  9767 =  76.042
0, 1  acc:  6250 /  7535 =  82.946
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16304 / 19962 =  81.675
Robust  acc:  7427 /  9767 =  76.042
------------------------------------
Accuracies by groups:
0, 0  acc:  7427 /  9767 =  76.042
0, 1  acc:  6250 /  7535 =  82.946
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16304 / 19962 =  81.675
Robust  acc:  7427 /  9767 =  76.042
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7427 /  9767 =  76.042
0, 1  acc:  6250 /  7535 =  82.Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.482 | Val Loss: 0.006 | Val Acc: 62.440
Training:
Accuracies by groups:
0, 0  acc: 10225 / 17053 =  59.960
0, 1  acc:  4831 /  7038 =  68.642
1, 0  acc: 129236 / 130441 =  99.Epoch:  31 | Train Loss: 0.002 | Train Acc: 94.078 | Val Loss: 0.006 | Val Acc: 68.128
Training:
Accuracies by groups:
0, 0  acc: 10072 / 15906 =  63.322
0, 1  acc:  6003 /  8164 =  73.530
1, 0  acc: 128938 / 130189 =  99.039
1, 1  acc:  8117 /  8511 =  95.371
--------------------------------------
Average acc: 153130 / 162770 =  94.078
Robust  acc: 10072 / 15906 =  63.322
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4685 /  8535 =  54.892
0, 1  acc:  5800 /  8276 =  70.-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 63.420
Robust Acc: 56.486 | Best Acc: 99.597
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  5517-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.983
Robust Acc: 61.667 | Best Acc: 99.839
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  6023 /  9767 =  61.667
0, 1  acc:  5294 /  7535 =  70.259
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13970 / 19962 =  69.983
Robust  acc:  6023 /  9767 =  61.667
------------------------------------
Accuracies by groups:
0, 0  acc:  6023 /  9767 =  61.667
0, 1  acc:  5294 /  7535 =  70.259
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13970 / 19962 =  69.983
Robust  acc:  6023 /  9767 =  61.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6023 /  9767 =  61.667
0, 1  acc:  5294 /  7535 =  70.Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.397 | Val Loss: 0.007 | Val Acc: 52.977
Training:
Accuracies by groups:
0, 0  acc: 10237 / 17219 =  59.452
0, 1  acc:  4805 /  7011 =  68.535
1, 0  acc: 128995 / 130224 =  99.Epoch:  32 | Train Loss: 0.002 | Train Acc: 94.058 | Val Loss: 0.004 | Val Acc: 82.876
Training:
Accuracies by groups:
0, 0  acc: 10006 / 15880 =  63.010
0, 1  acc:  6141 /  8310 =  73.899
1, 0  acc: 129000 / 130222 =  99.062
1, 1  acc:  7951 /  8358 =  95.130
--------------------------------------
Average acc: 153098 / 162770 =  94.058
Robust  acc: 10006 / 15880 =  63.010
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6271 /  8535 =  73.474
0, 1  acc:  7188 /  8276 =  86.-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 53.842
Robust Acc: 46.198 | Best Acc: 99.879
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  4612-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.275
Robust Acc: 78.264 | Best Acc: 98.710
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  7644 /  9767 =  78.264
0, 1  acc:  6566 /  7535 =  87.140
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16823 / 19962 =  84.275
Robust  acc:  7644 /  9767 =  78.264
------------------------------------
Accuracies by groups:
0, 0  acc:  7644 /  9767 =  78.264
0, 1  acc:  6566 /  7535 =  87.140
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16823 / 19962 =  84.275
Robust  acc:  7644 /  9767 =  78.264
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7644 /  9767 =  78.264
0, 1  acc:  6566 /  7535 =  87.Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.402 | Val Loss: 0.004 | Val Acc: 79.791
Training:
Accuracies by groups:
0, 0  acc: 10347 / 17305 =  59.792
0, 1  acc:  4718 /  6971 =  67.680
1, 0  acc: 128896 / 130070 =  99.Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.919 | Val Loss: 0.009 | Val Acc: 40.449
Training:
Accuracies by groups:
0, 0  acc:  9976 / 15980 =  62.428
0, 1  acc:  6093 /  8283 =  73.560
1, 0  acc: 128717 / 129986 =  99.024
1, 1  acc:  8086 /  8521 =  94.895
--------------------------------------
Average acc: 152872 / 162770 =  93.919
Robust  acc:  9976 / 15980 =  62.428
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1751 /  8535 =  20.516
0, 1  acc:  3230 /  8276 =  39.-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.159
Robust Acc: 77.080 | Best Acc: 97.661
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7805-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 40.261
Robust Acc: 26.149 | Best Acc: 100.000
--------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  2554 /  9767 =  26.149
0, 1  acc:  2825 /  7535 =  37.492
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8037 / 19962 =  40.261
Robust  acc:  2554 /  9767 =  26.149
------------------------------------
Accuracies by groups:
0, 0  acc:  2554 /  9767 =  26.149
0, 1  acc:  2825 /  7535 =  37.492
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8037 / 19962 =  40.261
Robust  acc:  2554 /  9767 =  26.149
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2554 /  9767 =  26.149
0, 1  acc:  2825 /  7535 =  3Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.374 | Val Loss: 0.004 | Val Acc: 80.722
Training:
Accuracies by groups:
0, 0  acc: 10359 / 17345 =  59.723
0, 1  acc:  4814 /  7056 =  68.226
1, 0  acc: 128808 / 129994 =  99.08Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.108 | Val Loss: 0.005 | Val Acc: 73.700
Training:
Accuracies by groups:
0, 0  acc: 10096 / 15863 =  63.645
0, 1  acc:  6226 /  8455 =  73.637
1, 0  acc: 128711 / 129882 =  99.098
1, 1  acc:  8147 /  8570 =  95.064
--------------------------------------
Average acc: 153180 / 162770 =  94.108
Robust  acc: 10096 / 15863 =  63.645
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5350 /  8535 =  62.683
0, 1  acc:  6253 /  8276 =  7-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.051
Robust Acc: 78.120 | Best Acc: 98.790
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7630 /-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.438
Robust Acc: 68.209 | Best Acc: 99.355
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  6662 /  9767 =  68.209
0, 1  acc:  5756 /  7535 =  76.390
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15059 / 19962 =  75.438
Robust  acc:  6662 /  9767 =  68.209
------------------------------------
Accuracies by groups:
0, 0  acc:  6662 /  9767 =  68.209
0, 1  acc:  5756 /  7535 =  76.390
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15059 / 19962 =  75.438
Robust  acc:  6662 /  9767 =  68.209
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6662 /  9767 =  68.209
0, 1  acc:  5756 /  7535 =  7Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.602 | Val Loss: 0.007 | Val Acc: 59.687
Training:
Accuracies by groups:
0, 0  acc: 10334 / 17071 =  60.535
0, 1  acc:  4913 /  7100 =  69.197
1, 0  acc: 129157 / 130302 =  99.12Epoch:  35 | Train Loss: 0.002 | Train Acc: 94.094 | Val Loss: 0.003 | Val Acc: 91.785
Training:
Accuracies by groups:
0, 0  acc: 10021 / 15900 =  63.025
0, 1  acc:  6281 /  8412 =  74.667
1, 0  acc: 128746 / 129969 =  99.059
1, 1  acc:  8108 /  8489 =  95.512
--------------------------------------
Average acc: 153156 / 162770 =  94.094
Robust  acc: 10021 / 15900 =  63.025
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7483 /  8535 =  87.674
0, 1  acc:  7897 /  8276 =  9-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 60.981
Robust Acc: 53.324 | Best Acc: 99.798
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  5504 /-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.576
Robust Acc: 74.444 | Best Acc: 95.236
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  8861 /  9767 =  90.724
0, 1  acc:  7176 /  7535 =  95.236
1, 0  acc:  2309 /  2480 =  93.105
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18480 / 19962 =  92.576
Robust  acc:   134 /   180 =  74.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8861 /  9767 =  90.724
0, 1  acc:  7176 /  7535 =  95.236
1, 0  acc:  2309 /  2480 =  93.105
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18480 / 19962 =  92.576
Robust  acc:   134 /   180 =  74.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8861 /  9767 =  90.724
0, 1  acc:  7176 /  7535 =  9Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.364 | Val Loss: 0.006 | Val Acc: 63.819
Training:
Accuracies by groups:
0, 0  acc: 10332 / 17282 =  59.785
0, 1  acc:  4762 /  7023 =  67.806
1, 0  acc: 128935 / 130177 =  99.04Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.045 | Val Loss: 0.003 | Val Acc: 92.399
Training:
Accuracies by groups:
0, 0  acc: 10143 / 16011 =  63.350
0, 1  acc:  6242 /  8447 =  73.896
1, 0  acc: 128583 / 129782 =  99.076
1, 1  acc:  8109 /  8530 =  95.064
--------------------------------------
Average acc: 153077 / 162770 =  94.045
Robust  acc: 10143 / 16011 =  63.350
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7519 /  8535 =  88.096
0, 1  acc:  7994 /  8276 =  9-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.560
Robust Acc: 55.541 | Best Acc: 99.556
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  6256 /-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.122
Robust Acc: 66.667 | Best Acc: 96.669
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8864 /  9767 =  90.755
0, 1  acc:  7284 /  7535 =  96.669
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18589 / 19962 =  93.122
Robust  acc:   120 /   180 =  66.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8864 /  9767 =  90.755
0, 1  acc:  7284 /  7535 =  96.669
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18589 / 19962 =  93.122
Robust  acc:   120 /   180 =  66.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8864 /  9767 =  90.755
0, 1  acc:  7284 /  7535 =  9Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.506 | Val Loss: 0.006 | Val Acc: 67.242
Training:
Accuracies by groups:
0, 0  acc: 10587 / 17452 =  60.664
0, 1  acc:  4825 /  6959 =  69.335
1, 0  acc: 128827 / 130084 =  99.03Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.128 | Val Loss: 0.004 | Val Acc: 87.658
Training:
Accuracies by groups:
0, 0  acc: 10150 / 15934 =  63.700
0, 1  acc:  6262 /  8366 =  74.851
1, 0  acc: 128643 / 129905 =  99.029
1, 1  acc:  8157 /  8565 =  95.236
--------------------------------------
Average acc: 153212 / 162770 =  94.128
Robust  acc: 10150 / 15934 =  63.700
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6897 /  8535 =  80.808
0, 1  acc:  7546 /  8276 =  9-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.342
Robust Acc: 63.786 | Best Acc: 99.637
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  6230 /-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.839
Robust Acc: 84.683 | Best Acc: 97.500
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  8271 /  9767 =  84.683
0, 1  acc:  6890 /  7535 =  91.440
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17734 / 19962 =  88.839
Robust  acc:  8271 /  9767 =  84.683
------------------------------------
Accuracies by groups:
0, 0  acc:  8271 /  9767 =  84.683
0, 1  acc:  6890 /  7535 =  91.440
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17734 / 19962 =  88.839
Robust  acc:  8271 /  9767 =  84.683
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8271 /  9767 =  84.683
0, 1  acc:  6890 /  7535 =  9Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.582 | Val Loss: 0.004 | Val Acc: 85.901
Training:
Accuracies by groups:
0, 0  acc: 10203 / 16901 =  60.369
0, 1  acc:  4896 /  7050 =  69.447
1, 0  acc: 129212 / 130465 =  99.040
1, 1  acc:  8013 /  8354 =  95.918
--------------------------------------
Average acc: 152324 / 162770 =  93.582
Robust  acc: 10203 / 16901 =  60.369
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6977 /  8535 =  81.746
0, 1  acc:  7143 /  8276 =  86.310
1, 0  acc:  2779 /  2874 =  96.695
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17066 / 19867 =  85.901
Robust  acc:  6977 /  8535 =  81.746
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 87.141
Robust Acc: 85.431 | Best Acc: 95.363
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  8344 /  9767 =  85.431
0, 1  acc:  6531 /  7535 =  86.676
1, 0  acc:  2365 /  2480 =  95.363
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17395 / 19962 =  87.141
Robust  acc:  8344 /  9767 =  85.431
------------------------------------
Accuracies by groups:
0, 0  acc:  8344 /  9767 =  85.431
0, 1  acc:  6531 /  7535 =  86.676
1, 0  acc:  2365 /  2480 =  95.363
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17395 / 19962 =  87.141
Robust  acc:  8344 /  9767 =  85.431
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8344 /  9767 =  85.431
0, 1  acc:  6531 /  7535 =  86.676
1, 0  acc:  2365 /  2480 =  95.363
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17395 / 19962 =  87.141
Robust  acc:  8344 /  9767 =  85.431
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.561 | Val Loss: 0.007 | Val Acc: 55.202
Training:
Accuracies by groups:
0, 0  acc: 10411 / 17213 =  60.483
0, 1  acc:  4926 /  7060 =  69.773
1, 0  acc: 129018 / 130236 =  99.065
1, 1  acc:  7935 /  8261 =  96.054
--------------------------------------
Average acc: 152290 / 162770 =  93.561
Robust  acc: 10411 / 17213 =  60.483
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3356 /  8535 =  39.320
0, 1  acc:  4564 /  8276 =  55.147
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 10967 / 19867 =  55.202
Robust  acc:  3356 /  8535 =  39.320
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 55.816
Robust Acc: 44.947 | Best Acc: 99.395
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  4390 /  9767 =  44.947
0, 1  acc:  4111 /  7535 =  54.559
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 11142 / 19962 =  55.816
Robust  acc:  4390 /  9767 =  44.947
------------------------------------
Accuracies by groups:
0, 0  acc:  4390 /  9767 =  44.947
0, 1  acc:  4111 /  7535 =  54.559
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 11142 / 19962 =  55.816
Robust  acc:  4390 /  9767 =  44.947
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4390 /  9767 =  44.947
0, 1  acc:  4111 /  7535 =  54.559
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 11142 / 19962 =  55.816
Robust  acc:  4390 /  9767 =  44.947
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 93.635 | Val Loss: 0.004 | Val Acc: 87.366
Training:
Accuracies by groups:
0, 0  acc: 10518 / 17130 =  61.401
0, 1  acc:  4926 /  7042 =  69.952
1, 0  acc: 128858 / 130097 =  99.048
1, 1  acc:  8108 /  8501 =  95.377
--------------------------------------
Average acc: 152410 / 162770 =  93.635
Robust  acc: 10518 / 17130 =  61.401
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7157 /  8535 =  83.855
0, 1  acc:  7267 /  8276 =  87.808
1, 0  acc:  2765 /  2874 =  96.207
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17357 / 19867 =  87.366
Robust  acc:  7157 /  8535 =  83.855
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 88.163
Robust Acc: 87.161 | Best Acc: 94.637
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  8513 /  9767 =  87.161
0, 1  acc:  6581 /  7535 =  87.339
1, 0  acc:  2347 /  2480 =  94.637
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17599 / 19962 =  88.163
Robust  acc:  8513 /  9767 =  87.161
------------------------------------
Accuracies by groups:
0, 0  acc:  8513 /  9767 =  87.161
0, 1  acc:  6581 /  7535 =  87.339
1, 0  acc:  2347 /  2480 =  94.637
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17599 / 19962 =  88.163
Robust  acc:  8513 /  9767 =  87.161
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8513 /  9767 =  87.161
0, 1  acc:  6581 /  7535 =  87.339
1, 0  acc:  2347 /  2480 =  94.637
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17599 / 19962 =  88.163
Robust  acc:  8513 /  9767 =  87.161
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 93.553 | Val Loss: 0.005 | Val Acc: 74.032
Training:
Accuracies by groups:
0, 0  acc: 10409 / 17080 =  60.943
0, 1  acc:  4893 /  7009 =  69.810
1, 0  acc: 128992 / 130326 =  98.976
1, 1  acc:  7982 /  8355 =  95.536
--------------------------------------
Average acc: 152276 / 162770 =  93.553
Robust  acc: 10409 / 17080 =  60.943
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5668 /  8535 =  66.409
0, 1  acc:  6010 /  8276 =  72.620
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14708 / 19867 =  74.032
Robust  acc:  5668 /  8535 =  66.409
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.160
Robust Acc: 72.161 | Best Acc: 98.750
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  7048 /  9767 =  72.161
0, 1  acc:  5530 /  7535 =  73.391
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15203 / 19962 =  76.160
Robust  acc:  7048 /  9767 =  72.161
------------------------------------
Accuracies by groups:
0, 0  acc:  7048 /  9767 =  72.161
0, 1  acc:  5530 /  7535 =  73.391
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15203 / 19962 =  76.160
Robust  acc:  7048 /  9767 =  72.161
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7048 /  9767 =  72.161
0, 1  acc:  5530 /  7535 =  73.391
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15203 / 19962 =  76.160
Robust  acc:  7048 /  9767 =  72.161
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 93.568 | Val Loss: 0.006 | Val Acc: 65.395
Training:
Accuracies by groups:
0, 0  acc: 10474 / 17271 =  60.645
0, 1  acc:  4959 /  7001 =  70.833
1, 0  acc: 128802 / 130092 =  99.008
1, 1  acc:  8066 /  8406 =  95.955
--------------------------------------
Average acc: 152301 / 162770 =  93.568
Robust  acc: 10474 / 17271 =  60.645
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4727 /  8535 =  55.384
0, 1  acc:  5218 /  8276 =  63.050
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12992 / 19867 =  65.395
Robust  acc:  4727 /  8535 =  55.384
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 67.123
Robust Acc: 61.595 | Best Acc: 99.718
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  6016 /  9767 =  61.595
0, 1  acc:  4734 /  7535 =  62.827
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13399 / 19962 =  67.123
Robust  acc:  6016 /  9767 =  61.595
------------------------------------
Accuracies by groups:
0, 0  acc:  6016 /  9767 =  61.595
0, 1  acc:  4734 /  7535 =  62.827
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13399 / 19962 =  67.123
Robust  acc:  6016 /  9767 =  61.595
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6016 /  9767 =  61.595
0, 1  acc:  4734 /  7535 =  62.827
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13399 / 19962 =  67.123
Robust  acc:  6016 /  9767 =  61.595
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 93.563 | Val Loss: 0.006 | Val Acc: 68.641
Training:
Accuracies by groups:
0, 0  acc: 10524 / 17282 =  60.896
0, 1  acc:  4770 /  6887 =  69.261
1, 0  acc: 129084 / 130327 =  99.046
1, 1  acc:  7915 /  8274 =  95.661
--------------------------------------
Average acc: 152293 / 162770 =  93.563
Robust  acc: 10524 / 17282 =  60.896
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4879 /  8535 =  57.165
0, 1  acc:  5710 /  8276 =  68.995
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13637 / 19867 =  68.641
Robust  acc:  4879 /  8535 =  57.165
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 70.469
Robust Acc: 63.848 | Best Acc: 99.677
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  6236 /  9767 =  63.848
0, 1  acc:  5183 /  7535 =  68.786
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14067 / 19962 =  70.469
Robust  acc:  6236 /  9767 =  63.848
------------------------------------
Accuracies by groups:
0, 0  acc:  6236 /  9767 =  63.848
0, 1  acc:  5183 /  7535 =  68.786
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14067 / 19962 =  70.469
Robust  acc:  6236 /  9767 =  63.848
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6236 /  9767 =  63.848
0, 1  acc:  5183 /  7535 =  68.786
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14067 / 19962 =  70.469
Robust  acc:  6236 /  9767 =  63.848
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 93.532 | Val Loss: 0.003 | Val Acc: 92.198
Training:
Accuracies by groups:
0, 0  acc: 10550 / 17252 =  61.152
0, 1  acc:  4912 /  7051 =  69.664
1, 0  acc: 128690 / 130006 =  98.988
1, 1  acc:  8090 /  8461 =  95.615
--------------------------------------
Average acc: 152242 / 162770 =  93.532
Robust  acc: 10550 / 17252 =  61.152
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7738 /  8535 =  90.662
0, 1  acc:  7803 /  8276 =  94.285
1, 0  acc:  2626 /  2874 =  91.371
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 18317 / 19867 =  92.198
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.142
Robust Acc: 76.111 | Best Acc: 94.877
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  9047 /  9767 =  92.628
0, 1  acc:  7149 /  7535 =  94.877
1, 0  acc:  2260 /  2480 =  91.129
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18593 / 19962 =  93.142
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9047 /  9767 =  92.628
0, 1  acc:  7149 /  7535 =  94.877
1, 0  acc:  2260 /  2480 =  91.129
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18593 / 19962 =  93.142
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9047 /  9767 =  92.628
0, 1  acc:  7149 /  7535 =  94.877
1, 0  acc:  2260 /  2480 =  91.129
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18593 / 19962 =  93.142
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 93.726 | Val Loss: 0.006 | Val Acc: 68.687
Training:
Accuracies by groups:
0, 0  acc: 10525 / 17061 =  61.690
0, 1  acc:  4967 /  6962 =  71.344
1, 0  acc: 129088 / 130423 =  98.976
1, 1  acc:  7977 /  8324 =  95.831
--------------------------------------
Average acc: 152557 / 162770 =  93.726
Robust  acc: 10525 / 17061 =  61.690
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5254 /  8535 =  61.558
0, 1  acc:  5350 /  8276 =  64.645
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 13646 / 19867 =  68.687
Robust  acc:  5254 /  8535 =  61.558
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.504
Robust Acc: 64.751 | Best Acc: 99.395
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  6555 /  9767 =  67.114
0, 1  acc:  4879 /  7535 =  64.751
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14074 / 19962 =  70.504
Robust  acc:  4879 /  7535 =  64.751
------------------------------------
Accuracies by groups:
0, 0  acc:  6555 /  9767 =  67.114
0, 1  acc:  4879 /  7535 =  64.751
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14074 / 19962 =  70.504
Robust  acc:  4879 /  7535 =  64.751
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6555 /  9767 =  67.114
0, 1  acc:  4879 /  7535 =  64.751
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14074 / 19962 =  70.504
Robust  acc:  4879 /  7535 =  64.751
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 93.588 | Val Loss: 0.005 | Val Acc: 75.371
Training:
Accuracies by groups:
0, 0  acc: 10548 / 17226 =  61.233
0, 1  acc:  4945 /  7014 =  70.502
1, 0  acc: 128820 / 130147 =  98.980
1, 1  acc:  8020 /  8383 =  95.670
--------------------------------------
Average acc: 152333 / 162770 =  93.588
Robust  acc: 10548 / 17226 =  61.233
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5822 /  8535 =  68.213
0, 1  acc:  6133 /  8276 =  74.106
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 14974 / 19867 =  75.371
Robust  acc:  5822 /  8535 =  68.213
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.267
Robust Acc: 73.861 | Best Acc: 98.952
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  7214 /  9767 =  73.861
0, 1  acc:  5589 /  7535 =  74.174
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15424 / 19962 =  77.267
Robust  acc:  7214 /  9767 =  73.861
------------------------------------
Accuracies by groups:
0, 0  acc:  7214 /  9767 =  73.861
0, 1  acc:  5589 /  7535 =  74.174
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15424 / 19962 =  77.267
Robust  acc:  7214 /  9767 =  73.861
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7214 /  9767 =  73.861
0, 1  acc:  5589 /  7535 =  74.174
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15424 / 19962 =  77.267
Robust  acc:  7214 /  9767 =  73.861
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 93.713 | Val Loss: 0.003 | Val Acc: 93.623
Training:
Accuracies by groups:
0, 0  acc: 10500 / 17021 =  61.689
0, 1  acc:  4907 /  6938 =  70.726
1, 0  acc: 129188 / 130501 =  98.994
1, 1  acc:  7942 /  8310 =  95.572
--------------------------------------
Average acc: 152537 / 162770 =  93.713
Robust  acc: 10500 / 17021 =  61.689
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7983 /  8535 =  93.533
0, 1  acc:  8007 /  8276 =  96.750
1, 0  acc:  2485 /  2874 =  86.465
1, 1  acc:   125 /   182 =  68.681
------------------------------------
Average acc: 18600 / 19867 =  93.623
Robust  acc:   125 /   182 =  68.681
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.354
Robust Acc: 67.222 | Best Acc: 97.014
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  9260 /  9767 =  94.809
0, 1  acc:  7310 /  7535 =  97.014
1, 0  acc:  2144 /  2480 =  86.452
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18835 / 19962 =  94.354
Robust  acc:   121 /   180 =  67.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9260 /  9767 =  94.809
0, 1  acc:  7310 /  7535 =  97.014
1, 0  acc:  2144 /  2480 =  86.452
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18835 / 19962 =  94.354
Robust  acc:   121 /   180 =  67.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9260 /  9767 =  94.809
0, 1  acc:  7310 /  7535 =  97.014
1, 0  acc:  2144 /  2480 =  86.452
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18835 / 19962 =  94.354
Robust  acc:   121 /   180 =  67.222
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 93.592 | Val Loss: 0.013 | Val Acc: 22.092
Training:
Accuracies by groups:
0, 0  acc: 10657 / 17285 =  61.655
0, 1  acc:  4954 /  6998 =  70.792
1, 0  acc: 128957 / 130297 =  98.972
1, 1  acc:  7771 /  8190 =  94.884
--------------------------------------
Average acc: 152339 / 162770 =  93.592
Robust  acc: 10657 / 17285 =  61.655
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:   417 /  8535 =   4.886
0, 1  acc:   916 /  8276 =  11.068
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  4389 / 19867 =  22.092
Robust  acc:   417 /  8535 =   4.886
------------------------------------
-------------------------------------------
Avg Test Loss: 0.013 | Avg Test Acc: 19.868
Robust Acc: 6.031 | Best Acc: 100.000
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:   589 /  9767 =   6.031
0, 1  acc:   717 /  7535 =   9.516
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  3966 / 19962 =  19.868
Robust  acc:   589 /  9767 =   6.031
------------------------------------
Accuracies by groups:
0, 0  acc:   589 /  9767 =   6.031
0, 1  acc:   717 /  7535 =   9.516
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  3966 / 19962 =  19.868
Robust  acc:   589 /  9767 =   6.031
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:   589 /  9767 =   6.031
0, 1  acc:   717 /  7535 =   9.516
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  3966 / 19962 =  19.868
Robust  acc:   589 /  9767 =   6.031
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 93.703 | Val Loss: 0.003 | Val Acc: 92.223
Training:
Accuracies by groups:
0, 0  acc: 10633 / 17209 =  61.787
0, 1  acc:  4994 /  7039 =  70.948
1, 0  acc: 128792 / 130069 =  99.018
1, 1  acc:  8101 /  8453 =  95.836
--------------------------------------
Average acc: 152520 / 162770 =  93.703
Robust  acc: 10633 / 17209 =  61.787
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7719 /  8535 =  90.439
0, 1  acc:  7819 /  8276 =  94.478
1, 0  acc:  2635 /  2874 =  91.684
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18322 / 19867 =  92.223
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.871
Robust Acc: 76.111 | Best Acc: 94.904
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  9008 /  9767 =  92.229
0, 1  acc:  7151 /  7535 =  94.904
1, 0  acc:  2243 /  2480 =  90.444
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18539 / 19962 =  92.871
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9008 /  9767 =  92.229
0, 1  acc:  7151 /  7535 =  94.904
1, 0  acc:  2243 /  2480 =  90.444
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18539 / 19962 =  92.871
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9008 /  9767 =  92.229
0, 1  acc:  7151 /  7535 =  94.904
1, 0  acc:  2243 /  2480 =  90.444
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18539 / 19962 =  92.871
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 93.668 | Val Loss: 0.006 | Val Acc: 66.678
Training:
Accuracies by groups:
0, 0  acc: 10851 / 17475 =  62.094
0, 1  acc:  5068 /  7039 =  71.999
1, 0  acc: 128507 / 129842 =  98.972
1, 1  acc:  8038 /  8414 =  95.531
--------------------------------------
Average acc: 152464 / 162770 =  93.668
Robust  acc: 10851 / 17475 =  62.094
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4606 /  8535 =  53.966
0, 1  acc:  5596 /  8276 =  67.617
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13247 / 19867 =  66.678
Robust  acc:  4606 /  8535 =  53.966
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 67.488
Robust Acc: 59.220 | Best Acc: 99.597
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  5784 /  9767 =  59.220
0, 1  acc:  5043 /  7535 =  66.928
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13472 / 19962 =  67.488
Robust  acc:  5784 /  9767 =  59.220
------------------------------------
Accuracies by groups:
0, 0  acc:  5784 /  9767 =  59.220
0, 1  acc:  5043 /  7535 =  66.928
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13472 / 19962 =  67.488
Robust  acc:  5784 /  9767 =  59.220
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5784 /  9767 =  59.220
0, 1  acc:  5043 /  7535 =  66.928
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13472 / 19962 =  67.488
Robust  acc:  5784 /  9767 =  59.220
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed36.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed36.pt
: 13268 / 19962 =  66.466
Robust  acc:  5596 /  9767 =  57.295
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed36.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed36.pt
