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: 17
Replicate: 0
No cuda: False
Resume: False
New slice: False
Num workers: 12
Evaluate: False
Data cmap: hsv
Test cmap: 
P correlation: 0.9
P corr by class: None
Train classes: ['blond', 'nonblond']
Train class ratios: None
Test shift: random
Flipped: False
Q: 0.7
Pretrained bmodel: True
Cosine: False
Exp: ours
Tau: 1.0
Gamma: None
Remove label noise: False
Model for remove samples: 
Remove ratio: 0.03
Supervised contrast: True
Prioritize spurious pos: False
Contrastive type: cnc
Compute auroc: False
Model type: resnet50_pt_cnc
Criterion: cross_entropy
Pretrained: False
Max grad norm: 1.0
Adam epsilon: 1e-08
Warmup steps: 0
Max grad norm s: 1.0
Adam epsilon s: 1e-08
Warmup steps s: 0
Grad max grad norm: 1.0
Grad adam epsilon: 1e-08
Grad warmup steps: 0
Device: cuda
Img file type: .png
Display image: False
Image path: ./images/celebA/celebA/config/contrastive_umaps
Log interval: 1
Log path: ./logs/celebA/config
Results path: ./results/celebA/config
Model path: ./model/celebA/config
Loss factor: 1
Supersample labels: False
Subsample labels: False
Weigh slice samples by loss: True
Val split: 0.2
Spurious train split: 0.2
Subsample groups: False
Train method: sc
Max robust acc: -1
Max robust epoch: -1
Max robust group acc: (None, None)
Root dir: ./datasets/data/CelebA/
Target name: Blond_Hair
Confounder names: ['Male']
Image mean: 0.449
Image std: 0.226
Augment data: False
Task: celebA
Num classes: 2
Experiment configs: config
Experiment name: cnc-celebA-sw=re-na=32-np=32-nn=32-nne=0-tsr=1-t=0.05-bf=None-cw=0.5-sud=0-me=50-bst=128-o=sgd-lr=0.0001-mo=0.9-wd=0.1-wdc=0.1-spur-me=1-bst=32-lr=0.001-mo=0.9-wd=0.0005-sts=0.2-s=17-r=0
Mi resampled: None

Loading checkpoints for train split:
[-1 -1 -1 ... -1 -1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [71629 66874 22880  1387]
Loading checkpoints for val split:
[-1 -1 -1 ... -1  1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [8535 8276 2874  182]
Loading checkpoints for test split:
[-1 -1 -1 ... -1 -1  1]
<class 'numpy.ndarray'>
[0 1 2 3] [9767 7535 2480  180]
Train dataset:
    Blond_Hair = 0, Male = 0 : n = 71629
    Blond_Hair = 0, Male = 1 : n = 66874
    Blond_Hair = 1, Male = 0 : n = 22880
    Blond_Hair = 1, Male = 1 : n = 1387
Val dataset:
    Blond_Hair = 0, Male = 0 : n = 8535
    Blond_Hair = 0, Male = 1 : n = 8276
    Blond_Hair = 1, Male = 0 : n = 2874
    Blond_Hair = 1, Male = 1 : n = 182
Test dataset:
    Blond_Hair = 0, Male = 0 : n = 9767
    Blond_Hair = 0, Male = 1 : n = 7535
    Blond_Hair = 1, Male = 0 : n = 2480
    Blond_Hair = 1, Male = 1 : n = 180
------------------------
> Loading spurious model
------------------------
Pretrained model loaded from ./model/celebA/config/stage_one_erm/seed36/stage_one_erm_model_b_epoch0_seed36.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8309, 0.0200],
        [0.1350, 0.0141]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.807 | Val Loss: 0.004 | Val Acc: 79.020
Training:
Accuracies by groups:
0, 0  acc:  5803 / 14462 =  40.126
0, 1  acc:  2837 /  6588 =  43.063
1, 0  acc: 130920 / 133058 =  98.393
1, 1  acc:  8247 /  8662 =  95.209
--------------------------------------
Average acc: 147807 / 162770 =  90.807
Robust  acc:  5803 / 14462 =  40.126
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6112 /  8535 =  71.611
0, 1  acc:  6569 /  8276 =  79.374
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 15699 / 19867 =  79.020
Robust  acc:  6112 /  8535 =  71.611
------------------------------------
New max robust acc: 71.61101347393087
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed17.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed17.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 81.059
Robust Acc: 77.281 | Best Acc: 98.750
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7548 /  9767 =  77.281
0, 1  acc:  6015 /  7535 =  79.827
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16181 / 19962 =  81.059
Robust  acc:  7548 /  9767 =  77.281
------------------------------------
Accuracies by groups:
0, 0  acc:  7548 /  9767 =  77.281
0, 1  acc:  6015 /  7535 =  79.827
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16181 / 19962 =  81.059
Robust  acc:  7548 /  9767 =  77.281
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7548 /  9767 =  77.281
0, 1  acc:  6015 /  7535 =  79.827
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16181 / 19962 =  81.059
Robust  acc:  7548 /  9767 =  77.281
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.551 | Val Loss: 0.003 | Val Acc: 83.641
Training:
Accuracies by groups:
0, 0  acc:  9189 / 14508 =  63.337
0, 1  acc:  4766 /  6523 =  73.065
1, 0  acc: 131931 / 133224 =  99.029
1, 1  acc:  8015 /  8515 =  94.128
--------------------------------------
Average acc: 153901 / 162770 =  94.551
Robust  acc:  9189 / 14508 =  63.337
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6427 /  8535 =  75.302
0, 1  acc:  7173 /  8276 =  86.672
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16617 / 19867 =  83.641
Robust  acc:  6427 /  8535 =  75.302
------------------------------------
New max robust acc: 75.30169888693614
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed17.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed17.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.297
Robust Acc: 80.680 | Best Acc: 98.790
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7880 /  9767 =  80.680
0, 1  acc:  6530 /  7535 =  86.662
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17027 / 19962 =  85.297
Robust  acc:  7880 /  9767 =  80.680
------------------------------------
Accuracies by groups:
0, 0  acc:  7880 /  9767 =  80.680
0, 1  acc:  6530 /  7535 =  86.662
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17027 / 19962 =  85.297
Robust  acc:  7880 /  9767 =  80.680
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7880 /  9767 =  80.680
0, 1  acc:  6530 /  7535 =  86.662
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17027 / 19962 =  85.297
Robust  acc:  7880 /  9767 =  80.680
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.323 | Val Loss: 0.003 | Val Acc: 86.279
Training:
Accuracies by groups:
0, 0  acc:  9810 / 14490 =  67.702
0, 1  acc:  5273 /  6608 =  79.797
1, 0  acc: 131864 / 133004 =  99.143
1, 1  acc:  8211 /  8668 =  94.728
--------------------------------------
Average acc: 155158 / 162770 =  95.323
Robust  acc:  9810 / 14490 =  67.702
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6680 /  8535 =  78.266
0, 1  acc:  7450 /  8276 =  90.019
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17141 / 19867 =  86.279
Robust  acc:  6680 /  8535 =  78.266
------------------------------------
New max robust acc: 78.26596367896896
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed17.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed17.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.546
Robust Acc: 83.158 | Best Acc: 98.347
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8122 /  9767 =  83.158
0, 1  acc:  6752 /  7535 =  89.608
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17476 / 19962 =  87.546
Robust  acc:  8122 /  9767 =  83.158
------------------------------------
Accuracies by groups:
0, 0  acc:  8122 /  9767 =  83.158
0, 1  acc:  6752 /  7535 =  89.608
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17476 / 19962 =  87.546
Robust  acc:  8122 /  9767 =  83.158
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8122 /  9767 =  83.158
0, 1  acc:  6752 /  7535 =  89.608
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17476 / 19962 =  87.546
Robust  acc:  8122 /  9767 =  83.158
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.884 | Val Loss: 0.002 | Val Acc: 88.040
Training:
Accuracies by groups:
0, 0  acc: 10095 / 14372 =  70.241
0, 1  acc:  5463 /  6578 =  83.050
1, 0  acc: 132191 / 133129 =  99.295
1, 1  acc:  8322 /  8691 =  95.754
--------------------------------------
Average acc: 156071 / 162770 =  95.884
Robust  acc: 10095 / 14372 =  70.241
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6859 /  8535 =  80.363
0, 1  acc:  7634 /  8276 =  92.243
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17491 / 19867 =  88.040
Robust  acc:  6859 /  8535 =  80.363
------------------------------------
New max robust acc: 80.36321031048624
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed17.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed17.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.844
Robust Acc: 84.366 | Best Acc: 97.944
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8240 /  9767 =  84.366
0, 1  acc:  6909 /  7535 =  91.692
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17735 / 19962 =  88.844
Robust  acc:  8240 /  9767 =  84.366
------------------------------------
Accuracies by groups:
0, 0  acc:  8240 /  9767 =  84.366
0, 1  acc:  6909 /  7535 =  91.692
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17735 / 19962 =  88.844
Robust  acc:  8240 /  9767 =  84.366
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8240 /  9767 =  84.366
0, 1  acc:  6909 /  7535 =  91.692
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17735 / 19962 =  88.844
Robust  acc:  8240 /  9767 =  84.366
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.349 | Val Loss: 0.002 | Val Acc: 89.037
Training:
Accuracies by groups:
0, 0  acc: 10435 / 14372 =  72.606
0, 1  acc:  5749 /  6658 =  86.347
1, 0  acc: 132281 / 133070 =  99.407
1, 1  acc:  8363 /  8670 =  96.459
--------------------------------------
Average acc: 156828 / 162770 =  96.349
Robust  acc: 10435 / 14372 =  72.606
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6990 /  8535 =  81.898
0, 1  acc:  7710 /  8276 =  93.161
1, 0  acc:  2821 /  2874 =  98.156
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17689 / 19867 =  89.037
Robust  acc:  6990 /  8535 =  81.898
------------------------------------
New max robust acc: 81.89806678383128
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed17.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed17.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.866
Robust Acc: 85.625 | Best Acc: 97.782
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8363 /  9767 =  85.625
0, 1  acc:  6996 /  7535 =  92.847
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17939 / 19962 =  89.866
Robust  acc:  8363 /  9767 =  85.625
------------------------------------
Accuracies by groups:
0, 0  acc:  8363 /  9767 =  85.625
0, 1  acc:  6996 /  7535 =  92.847
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17939 / 19962 =  89.866
Robust  acc:  8363 /  9767 =  85.625
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8363 /  9767 =  85.625
0, 1  acc:  6996 /  7535 =  92.847
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17939 / 19962 =  89.866
Robust  acc:  8363 /  9767 =  85.625
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.732 | Val Loss: 0.002 | Val Acc: 90.683
Training:
Accuracies by groups:
0, 0  acc: 10801 / 14546 =  74.254
0, 1  acc:  5800 /  6607 =  87.786
1, 0  acc: 132575 / 133166 =  99.556
1, 1  acc:  8275 /  8451 =  97.917
--------------------------------------
Average acc: 157451 / 162770 =  96.732
Robust  acc: 10801 / 14546 =  74.254
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7192 /  8535 =  84.265
0, 1  acc:  7853 /  8276 =  94.889
1, 0  acc:  2809 /  2874 =  97.738
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 18016 / 19867 =  90.683
Robust  acc:  7192 /  8535 =  84.265
------------------------------------
New max robust acc: 84.26479203280608
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed17.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed17.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.038
Robust Acc: 81.111 | Best Acc: 97.097
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8499 /  9767 =  87.018
0, 1  acc:  7120 /  7535 =  94.492
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18173 / 19962 =  91.038
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8499 /  9767 =  87.018
0, 1  acc:  7120 /  7535 =  94.492
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18173 / 19962 =  91.038
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8499 /  9767 =  87.018
0, 1  acc:  7120 /  7535 =  94.492
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18173 / 19962 =  91.038
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.363 | Val Loss: 0.002 | Val Acc: 91.146
Training:
Accuracies by groups:
0, 0  acc: 11188 / 14444 =  77.458
0, 1  acc:  5781 /  6411 =  90.173
1, 0  acc: 133062 / 133376 =  99.765
1, 1  acc:  8447 /  8539 =  98.923
--------------------------------------
Average acc: 158478 / 162770 =  97.363
Robust  acc: 11188 / 14444 =  77.458
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7274 /  8535 =  85.226
0, 1  acc:  7872 /  8276 =  95.118
1, 0  acc:  2797 /  2874 =  97.321
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 18108 / 19867 =  91.146
Robust  acc:  7274 /  8535 =  85.226
------------------------------------
New max robust acc: 85.22554188635031
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed17.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed17.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.594
Robust Acc: 81.667 | Best Acc: 96.935
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8608 /  9767 =  88.134
0, 1  acc:  7125 /  7535 =  94.559
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18284 / 19962 =  91.594
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8608 /  9767 =  88.134
0, 1  acc:  7125 /  7535 =  94.559
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18284 / 19962 =  91.594
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8608 /  9767 =  88.134
0, 1  acc:  7125 /  7535 =  94.559
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18284 / 19962 =  91.594
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.739 | Val Loss: 0.002 | Val Acc: 92.198
Training:
Accuracies by groups:
0, 0  acc: 11766 / 14684 =  80.128
0, 1  acc:  5914 /  6460 =  91.548
1, 0  acc: 132869 / 133037 =  99.874
1, 1  acc:  8541 /  8589 =  99.441
--------------------------------------
Average acc: 159090 / 162770 =  97.739
Robust  acc: 11766 / 14684 =  80.128
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7441 /  8535 =  87.182
0, 1  acc:  7946 /  8276 =  96.013
1, 0  acc:  2781 /  2874 =  96.764
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18317 / 19867 =  92.198
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.451
Robust Acc: 77.778 | Best Acc: 96.008
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8727 /  9767 =  89.352
0, 1  acc:  7207 /  7535 =  95.647
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18455 / 19962 =  92.451
Robust  acc:   140 /   180 =  77.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8727 /  9767 =  89.352
0, 1  acc:  7207 /  7535 =  95.647
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18455 / 19962 =  92.451
Robust  acc:   140 /   180 =  77.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8727 /  9767 =  89.352
0, 1  acc:  7207 /  7535 =  95.647
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18455 / 19962 =  92.451
Robust  acc:   140 /   180 =  77.778
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.227 | Val Loss: 0.002 | Val Acc: 92.757
Training:
Accuracies by groups:
0, 0  acc: 12151 / 14502 =  83.788
0, 1  acc:  6058 /  6480 =  93.488
1, 0  acc: 133146 / 133239 =  99.930
1, 1  acc:  8529 /  8549 =  99.766
--------------------------------------
Average acc: 159884 / 162770 =  98.227
Robust  acc: 12151 / 14502 =  83.788
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7547 /  8535 =  88.424
0, 1  acc:  7985 /  8276 =  96.484
1, 0  acc:  2749 /  2874 =  95.651
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18428 / 19867 =  92.757
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.062
Robust Acc: 77.222 | Best Acc: 96.151
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8832 /  9767 =  90.427
0, 1  acc:  7245 /  7535 =  96.151
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18577 / 19962 =  93.062
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8832 /  9767 =  90.427
0, 1  acc:  7245 /  7535 =  96.151
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18577 / 19962 =  93.062
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8832 /  9767 =  90.427
0, 1  acc:  7245 /  7535 =  96.151
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18577 / 19962 =  93.062
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.551 | Val Loss: 0.001 | Val Acc: 93.915
Training:
Accuracies by groups:
0, 0  acc: 12385 / 14277 =  86.748
0, 1  acc:  6211 /  6576 =  94.450
1, 0  acc: 133103 / 133181 =  99.941
1, 1  acc:  8712 /  8736 =  99.725
--------------------------------------
Average acc: 160411 / 162770 =  98.551
Robust  acc: 12385 / 14277 =  86.748
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7835 /  8535 =  91.798
0, 1  acc:  8095 /  8276 =  97.813
1, 0  acc:  2605 /  2874 =  90.640
1, 1  acc:   123 /   182 =  67.582
------------------------------------
Average acc: 18658 / 19867 =  93.915
Robust  acc:   123 /   182 =  67.582
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.294
Robust Acc: 66.111 | Best Acc: 97.585
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9121 /  9767 =  93.386
0, 1  acc:  7353 /  7535 =  97.585
1, 0  acc:  2230 /  2480 =  89.919
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18823 / 19962 =  94.294
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9121 /  9767 =  93.386
0, 1  acc:  7353 /  7535 =  97.585
1, 0  acc:  2230 /  2480 =  89.919
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18823 / 19962 =  94.294
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9121 /  9767 =  93.386
0, 1  acc:  7353 /  7535 =  97.585
1, 0  acc:  2230 /  2480 =  89.919
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18823 / 19962 =  94.294
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.538 | Val Loss: 0.002 | Val Acc: 91.957
Training:
Accuracies by groups:
0, 0  acc: 12573 / 14431 =  87.125
0, 1  acc:  6275 /  6586 =  95.278
1, 0  acc: 133031 / 133182 =  99.887
1, 1  acc:  8512 /  8571 =  99.312
--------------------------------------
Average acc: 160391 / 162770 =  98.538
Robust  acc: 12573 / 14431 =  87.125
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7433 /  8535 =  87.088
0, 1  acc:  7934 /  8276 =  95.868
1, 0  acc:  2749 /  2874 =  95.651
1, 1  acc:   153 /   182 =  84.066
------------------------------------
Average acc: 18269 / 19867 =  91.957
Robust  acc:   153 /   182 =  84.066
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.095
Robust Acc: 77.222 | Best Acc: 95.262
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8718 /  9767 =  89.260
0, 1  acc:  7178 /  7535 =  95.262
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18384 / 19962 =  92.095
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8718 /  9767 =  89.260
0, 1  acc:  7178 /  7535 =  95.262
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18384 / 19962 =  92.095
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8718 /  9767 =  89.260
0, 1  acc:  7178 /  7535 =  95.262
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18384 / 19962 =  92.095
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.258 | Val Loss: 0.002 | Val Acc: 92.717
Training:
Accuracies by groups:
0, 0  acc: 12218 / 14290 =  85.500
0, 1  acc:  6195 /  6584 =  94.092
1, 0  acc: 132870 / 133155 =  99.786
1, 1  acc:  8652 /  8741 =  98.982
--------------------------------------
Average acc: 159935 / 162770 =  98.258
Robust  acc: 12218 / 14290 =  85.500
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7545 /  8535 =  88.401
0, 1  acc:  8020 /  8276 =  96.907
1, 0  acc:  2717 /  2874 =  94.537
1, 1  acc:   138 /   182 =  75.824
------------------------------------
Average acc: 18420 / 19867 =  92.717
Robust  acc:   138 /   182 =  75.824
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.942
Robust Acc: 66.667 | Best Acc: 96.523
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8822 /  9767 =  90.325
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18553 / 19962 =  92.942
Robust  acc:   120 /   180 =  66.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8822 /  9767 =  90.325
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18553 / 19962 =  92.942
Robust  acc:   120 /   180 =  66.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8822 /  9767 =  90.325
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18553 / 19962 =  92.942
Robust  acc:   120 /   180 =  66.667
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.877 | Val Loss: 0.002 | Val Acc: 89.928
Training:
Accuracies by groups:
0, 0  acc: 12072 / 14525 =  83.112
0, 1  acc:  6038 /  6460 =  93.467
1, 0  acc: 132716 / 133170 =  99.659
1, 1  acc:  8489 /  8615 =  98.537
--------------------------------------
Average acc: 159315 / 162770 =  97.877
Robust  acc: 12072 / 14525 =  83.112
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7084 /  8535 =  82.999
0, 1  acc:  7822 /  8276 =  94.514
1, 0  acc:  2805 /  2874 =  97.599
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 17866 / 19867 =  89.928
Robust  acc:  7084 /  8535 =  82.999
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.572
Robust Acc: 81.111 | Best Acc: 96.653
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8446 /  9767 =  86.475
0, 1  acc:  7091 /  7535 =  94.107
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18080 / 19962 =  90.572
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8446 /  9767 =  86.475
0, 1  acc:  7091 /  7535 =  94.107
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18080 / 19962 =  90.572
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8446 /  9767 =  86.475
0, 1  acc:  7091 /  7535 =  94.107
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18080 / 19962 =  90.572
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.384 | Val Loss: 0.002 | Val Acc: 93.542
Training:
Accuracies by groups:
0, 0  acc: 11804 / 14638 =  80.639
0, 1  acc:  6000 /  6599 =  90.923
1, 0  acc: 132289 / 132921 =  99.525
1, 1  acc:  8419 /  8612 =  97.759
--------------------------------------
Average acc: 158512 / 162770 =  97.384
Robust  acc: 11804 / 14638 =  80.639
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7738 /  8535 =  90.662
0, 1  acc:  7996 /  8276 =  96.617
1, 0  acc:  2703 /  2874 =  94.050
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18584 / 19867 =  93.542
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.798
Robust Acc: 71.667 | Best Acc: 96.151
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  9045 /  9767 =  92.608
0, 1  acc:  7245 /  7535 =  96.151
1, 0  acc:  2305 /  2480 =  92.944
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18724 / 19962 =  93.798
Robust  acc:   129 /   180 =  71.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9045 /  9767 =  92.608
0, 1  acc:  7245 /  7535 =  96.151
1, 0  acc:  2305 /  2480 =  92.944
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18724 / 19962 =  93.798
Robust  acc:   129 /   180 =  71.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9045 /  9767 =  92.608
0, 1  acc:  7245 /  7535 =  96.151
1, 0  acc:  2305 /  2480 =  92.944
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18724 / 19962 =  93.798
Robust  acc:   129 /   180 =  71.667
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.875 | Val Loss: 0.002 | Val Acc: 93.295
Training:
Accuracies by groups:
0, 0  acc: 11084 / 14434 =  76.791
0, 1  acc:  5861 /  6531 =  89.741
1, 0  acc: 132475 / 133281 =  99.395
1, 1  acc:  8264 /  8524 =  96.950
--------------------------------------
Average acc: 157684 / 162770 =  96.875
Robust  acc: 11084 / 14434 =  76.791
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7628 /  8535 =  89.373
0, 1  acc:  8030 /  8276 =  97.028
1, 0  acc:  2731 /  2874 =  95.024
1, 1  acc:   146 /   182 =  80.220
------------------------------------
Average acc: 18535 / 19867 =  93.295
Robust  acc:   146 /   182 =  80.220
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.718
Robust Acc: 72.778 | Best Acc: 96.948
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8940 /  9767 =  91.533
0, 1  acc:  7305 /  7535 =  96.948
1, 0  acc:  2332 /  2480 =  94.032
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18708 / 19962 =  93.718
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8940 /  9767 =  91.533
0, 1  acc:  7305 /  7535 =  96.948
1, 0  acc:  2332 /  2480 =  94.032
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18708 / 19962 =  93.718
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8940 /  9767 =  91.533
0, 1  acc:  7305 /  7535 =  96.948
1, 0  acc:  2332 /  2480 =  94.032
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18708 / 19962 =  93.718
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.499 | Val Loss: 0.004 | Val Acc: 81.426
Training:
Accuracies by groups:
0, 0  acc: 10968 / 14588 =  75.185
0, 1  acc:  5802 /  6613 =  87.736
1, 0  acc: 131896 / 132813 =  99.310
1, 1  acc:  8406 /  8756 =  96.003
--------------------------------------
Average acc: 157072 / 162770 =  96.499
Robust  acc: 10968 / 14588 =  75.185
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6387 /  8535 =  74.833
0, 1  acc:  6758 /  8276 =  81.658
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 16177 / 19867 =  81.426
Robust  acc:  6387 /  8535 =  74.833
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.522
Robust Acc: 78.632 | Best Acc: 98.750
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  7680 /  9767 =  78.632
0, 1  acc:  6173 /  7535 =  81.924
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16473 / 19962 =  82.522
Robust  acc:  7680 /  9767 =  78.632
------------------------------------
Accuracies by groups:
0, 0  acc:  7680 /  9767 =  78.632
0, 1  acc:  6173 /  7535 =  81.924
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16473 / 19962 =  82.522
Robust  acc:  7680 /  9767 =  78.632
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7680 /  9767 =  78.632
0, 1  acc:  6173 /  7535 =  81.924
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16473 / 19962 =  82.522
Robust  acc:  7680 /  9767 =  78.632
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 96.001 | Val Loss: 0.002 | Val Acc: 89.938
Training:
Accuracies by groups:
0, 0  acc: 10372 / 14393 =  72.063
0, 1  acc:  5649 /  6579 =  85.864
1, 0  acc: 131977 / 133130 =  99.134
1, 1  acc:  8263 /  8668 =  95.328
--------------------------------------
Average acc: 156261 / 162770 =  96.001
Robust  acc: 10372 / 14393 =  72.063
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7274 /  8535 =  85.226
0, 1  acc:  7643 /  8276 =  92.351
1, 0  acc:  2785 /  2874 =  96.903
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17868 / 19867 =  89.938
Robust  acc:  7274 /  8535 =  85.226
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.587
Robust Acc: 83.333 | Best Acc: 96.411
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  6940 /  7535 =  92.104
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18083 / 19962 =  90.587
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  6940 /  7535 =  92.104
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18083 / 19962 =  90.587
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  6940 /  7535 =  92.104
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18083 / 19962 =  90.587
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.599 | Val Loss: 0.005 | Val Acc: 74.470
Training:
Accuracies by groups:
0, 0  acc: 10076 / 14450 =  69.730
0, 1  acc:  5604 /  6686 =  83.817
1, 0  acc: 131760 / 133031 =  99.045
1, 1  acc:  8167 /  8603 =  94.932
--------------------------------------
Average acc: 155607 / 162770 =  95.599
Robust  acc: 10076 / 14450 =  69.730
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5376 /  8535 =  62.988
0, 1  acc:  6374 /  8276 =  77.018
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14795 / 19867 =  74.470
Robust  acc:  5376 /  8535 =  62.988
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.440
Robust Acc: 69.141 | Best Acc: 99.677
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  6753 /  9767 =  69.141
0, 1  acc:  5861 /  7535 =  77.784
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15259 / 19962 =  76.440
Robust  acc:  6753 /  9767 =  69.141
------------------------------------
Accuracies by groups:
0, 0  acc:  6753 /  9767 =  69.141
0, 1  acc:  5861 /  7535 =  77.784
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15259 / 19962 =  76.440
Robust  acc:  6753 /  9767 =  69.141
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6753 /  9767 =  69.141
0, 1  acc:  5861 /  7535 =  77.784
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15259 / 19962 =  76.440
Robust  acc:  6753 /  9767 =  69.141
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.365 | Val Loss: 0.005 | Val Acc: 72.195
Training:
Accuracies by groups:
0, 0  acc:  9823 / 14429 =  68.078
0, 1  acc:  5395 /  6600 =  81.742
1, 0  acc: 131794 / 133094 =  99.023
1, 1  acc:  8213 /  8647 =  94.981
--------------------------------------
Average acc: 155225 / 162770 =  95.365
Robust  acc:  9823 / 14429 =  68.078
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5173 /  8535 =  60.609
0, 1  acc:  6123 /  8276 =  73.985
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 14343 / 19867 =  72.195
Robust  acc:  5173 /  8535 =  60.609
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.196
Robust Acc: 66.776 | Best Acc: 99.637
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  6522 /  9767 =  66.776
0, 1  acc:  5642 /  7535 =  74.877
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14811 / 19962 =  74.196
Robust  acc:  6522 /  9767 =  66.776
------------------------------------
Accuracies by groups:
0, 0  acc:  6522 /  9767 =  66.776
0, 1  acc:  5642 /  7535 =  74.877
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14811 / 19962 =  74.196
Robust  acc:  6522 /  9767 =  66.776
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6522 /  9767 =  66.776
0, 1  acc:  5642 /  7535 =  74.877
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14811 / 19962 =  74.196
Robust  acc:  6522 /  9767 =  66.776
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.048 | Val Loss: 0.005 | Val Acc: 73.187
Training:
Accuracies by groups:
0, 0  acc:  9548 / 14366 =  66.462
0, 1  acc:  5273 /  6687 =  78.854
1, 0  acc: 131843 / 133205 =  98.978
1, 1  acc:  8045 /  8512 =  94.514
--------------------------------------
Average acc: 154709 / 162770 =  95.048
Robust  acc:  9548 / 14366 =  66.462
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5197 /  8535 =  60.890
0, 1  acc:  6299 /  8276 =  76.112
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14540 / 19867 =  73.187
Robust  acc:  5197 /  8535 =  60.890
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.253
Robust Acc: 67.605 | Best Acc: 99.637
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  6603 /  9767 =  67.605
0, 1  acc:  5773 /  7535 =  76.616
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15022 / 19962 =  75.253
Robust  acc:  6603 /  9767 =  67.605
------------------------------------
Accuracies by groups:
0, 0  acc:  6603 /  9767 =  67.605
0, 1  acc:  5773 /  7535 =  76.616
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15022 / 19962 =  75.253
Robust  acc:  6603 /  9767 =  67.605
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6603 /  9767 =  67.605
0, 1  acc:  5773 /  7535 =  76.616
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15022 / 19962 =  75.253
Robust  acc:  6603 /  9767 =  67.605
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 94.941 | Val Loss: 0.005 | Val Acc: 75.034
Training:
Accuracies by groups:
0, 0  acc:  9435 / 14400 =  65.521
0, 1  acc:  5079 /  6560 =  77.424
1, 0  acc: 132015 / 133397 =  98.964
1, 1  acc:  8007 /  8413 =  95.174
--------------------------------------
Average acc: 154536 / 162770 =  94.941
Robust  acc:  9435 / 14400 =  65.521
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5436 /  8535 =  63.691
0, 1  acc:  6440 /  8276 =  77.815
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 14907 / 19867 =  75.034
Robust  acc:  5436 /  8535 =  63.691
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.220
Robust Acc: 69.643 | Best Acc: 99.234
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  6802 /  9767 =  69.643
0, 1  acc:  5779 /  7535 =  76.695
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15215 / 19962 =  76.220
Robust  acc:  6802 /  9767 =  69.643
------------------------------------
Accuracies by groups:
0, 0  acc:  6802 /  9767 =  69.643
0, 1  acc:  5779 /  7535 =  76.695
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15215 / 19962 =  76.220
Robust  acc:  6802 /  9767 =  69.643
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6802 /  9767 =  69.643
0, 1  acc:  5779 /  7535 =  76.695
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15215 / 19962 =  76.220
Robust  acc:  6802 /  9767 =  69.643
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.692 | Val Loss: 0.006 | Val Acc: 66.935
Training:
Accuracies by groups:
0, 0  acc:  9293 / 14545 =  63.891
0, 1  acc:  4887 /  6528 =  74.862
1, 0  acc: 131770 / 133114 =  98.990
1, 1  acc:  8180 /  8583 =  95.305
--------------------------------------
Average acc: 154130 / 162770 =  94.692
Robust  acc:  9293 / 14545 =  63.891
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4795 /  8535 =  56.180
0, 1  acc:  5459 /  8276 =  65.962
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13298 / 19867 =  66.935
Robust  acc:  4795 /  8535 =  56.180
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.245
Robust Acc: 61.534 | Best Acc: 99.637
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  6010 /  9767 =  61.534
0, 1  acc:  4965 /  7535 =  65.893
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13623 / 19962 =  68.245
Robust  acc:  6010 /  9767 =  61.534
------------------------------------
Accuracies by groups:
0, 0  acc:  6010 /  9767 =  61.534
0, 1  acc:  4965 /  7535 =  65.893
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13623 / 19962 =  68.245
Robust  acc:  6010 /  9767 =  61.534
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6010 /  9767 =  61.534
0, 1  acc:  4965 /  7535 =  65.893
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13623 / 19962 =  68.245
Robust  acc:  6010 /  9767 =  61.534
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.621 | Val Loss: 0.004 | Val Acc: 87.145
Training:
Accuracies by groups:
0, 0  acc:  9072 / 14436 =  62.843
0, 1  acc:  4873 /  6618 =  73.633
1, 0  acc: 131922 / 133178 =  99.057
1, 1  acc:  8148 /  8538 =  95.432
--------------------------------------
Average acc: 154015 / 162770 =  94.621
Robust  acc:  9072 / 14436 =  62.843
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6863 /  8535 =  80.410
0, 1  acc:  7497 /  8276 =  90.587
1, 0  acc:  2792 /  2874 =  97.147
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 17313 / 19867 =  87.145
Robust  acc:  6863 /  8535 =  80.410
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.528
Robust Acc: 84.847 | Best Acc: 96.895
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  8287 /  9767 =  84.847
0, 1  acc:  6827 /  7535 =  90.604
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17672 / 19962 =  88.528
Robust  acc:  8287 /  9767 =  84.847
------------------------------------
Accuracies by groups:
0, 0  acc:  8287 /  9767 =  84.847
0, 1  acc:  6827 /  7535 =  90.604
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17672 / 19962 =  88.528
Robust  acc:  8287 /  9767 =  84.847
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8287 /  9767 =  84.847
0, 1  acc:  6827 /  7535 =  90.604
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17672 / 19962 =  88.528
Robust  acc:  8287 /  9767 =  84.847
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.424 | Val Loss: 0.006 | Val Acc: 69.422
Training:
Accuracies by groups:
0, 0  acc:  8994 / 14665 =  61.330
0, 1  acc:  4772 /  6596 =  72.347
1, 0  acc: 131598 / 132785 =  99.106
1, 1  acc:  8330 /  8724 =  95.484
--------------------------------------
Average acc: 153694 / 162770 =  94.424
Robust  acc:  8994 / 14665 =  61.330
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5227 /  8535 =  61.242
0, 1  acc:  5520 /  8276 =  66.699
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13792 / 19867 =  69.422
Robust  acc:  5227 /  8535 =  61.242
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 71.200
Robust Acc: 66.530 | Best Acc: 99.718
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  6498 /  9767 =  66.530
0, 1  acc:  5066 /  7535 =  67.233
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14213 / 19962 =  71.200
Robust  acc:  6498 /  9767 =  66.530
------------------------------------
Accuracies by groups:
0, 0  acc:  6498 /  9767 =  66.530
0, 1  acc:  5066 /  7535 =  67.233
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14213 / 19962 =  71.200
Robust  acc:  6498 /  9767 =  66.530
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6498 /  9767 =  66.530
0, 1  acc:  5066 /  7535 =  67.233
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14213 / 19962 =  71.200
Robust  acc:  6498 /  9767 =  66.530
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.436 | Val Loss: 0.004 | Val Acc: 84.502
Training:
Accuracies by groups:
0, 0  acc:  8996 / 14611 =  61.570
0, 1  acc:  4864 /  6684 =  72.771
1, 0  acc: 131653 / 132893 =  99.067
1, 1  acc:  8200 /  8582 =  95.549
--------------------------------------
Average acc: 153713 / 162770 =  94.436
Robust  acc:  8996 / 14611 =  61.570
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6528 /  8535 =  76.485
0, 1  acc:  7255 /  8276 =  87.663
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16788 / 19867 =  84.502
Robust  acc:  6528 /  8535 =  76.485
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.973
Robust Acc: 81.253 | Best Acc: 98.065
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  7936 /  9767 =  81.253
0, 1  acc:  6629 /  7535 =  87.976
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17162 / 19962 =  85.973
Robust  acc:  7936 /  9767 =  81.253
------------------------------------
Accuracies by groups:
0, 0  acc:  7936 /  9767 =  81.253
0, 1  acc:  6629 /  7535 =  87.976
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17162 / 19962 =  85.973
Robust  acc:  7936 /  9767 =  81.253
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7936 /  9767 =  81.253
0, 1  acc:  6629 /  7535 =  87.976
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17162 / 19962 =  85.973
Robust  acc:  7936 /  9767 =  81.253
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.292 | Val Loss: 0.005 | Val Acc: 71.193
Training:
Accuracies by groups:
0, 0  acc:  8942 / 14589 =  61.293
0, 1  acc:  4714 /  6689 =  70.474
1, 0  acc: 131662 / 132952 =  99.030
1, 1  acc:  8161 /  8540 =  95.562
--------------------------------------
Average acc: 153479 / 162770 =  94.292
Robust  acc:  8942 / 14589 =  61.293
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5090 /  8535 =  59.637
0, 1  acc:  6011 /  8276 =  72.632
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14144 / 19867 =  71.193
Robust  acc:  5090 /  8535 =  59.637
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.969
Robust Acc: 65.465 | Best Acc: 99.556
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  6394 /  9767 =  65.465
0, 1  acc:  5529 /  7535 =  73.378
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14566 / 19962 =  72.969
Robust  acc:  6394 /  9767 =  65.465
------------------------------------
Accuracies by groups:
0, 0  acc:  6394 /  9767 =  65.465
0, 1  acc:  5529 /  7535 =  73.378
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14566 / 19962 =  72.969
Robust  acc:  6394 /  9767 =  65.465
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6394 /  9767 =  65.465
0, 1  acc:  5529 /  7535 =  73.378
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14566 / 19962 =  72.969
Robust  acc:  6394 /  9767 =  65.465
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.143 | Val Loss: 0.004 | Val Acc: 81.643
Training:
Accuracies by groups:
0, 0  acc:  8566 / 14502 =  59.068
0, 1  acc:  4517 /  6622 =  68.212
1, 0  acc: 131861 / 132980 =  99.159
1, 1  acc:  8293 /  8666 =  95.696
--------------------------------------
Average acc: 153237 / 162770 =  94.143
Robust  acc:  8566 / 14502 =  59.068
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6216 /  8535 =  72.830
0, 1  acc:  6983 /  8276 =  84.377
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16220 / 19867 =  81.643
Robust  acc:  6216 /  8535 =  72.830
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.158
Robust Acc: 78.243 | Best Acc: 98.790
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  7642 /  9767 =  78.243
0, 1  acc:  6342 /  7535 =  84.167
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16600 / 19962 =  83.158
Robust  acc:  7642 /  9767 =  78.243
------------------------------------
Accuracies by groups:
0, 0  acc:  7642 /  9767 =  78.243
0, 1  acc:  6342 /  7535 =  84.167
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16600 / 19962 =  83.158
Robust  acc:  7642 /  9767 =  78.243
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7642 /  9767 =  78.243
0, 1  acc:  6342 /  7535 =  84.167
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16600 / 19962 =  83.158
Robust  acc:  7642 /  9767 =  78.243
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.115 | Val Loss: 0.004 | Val Acc: 81.205
Training:
Accuracies by groups:
0, 0  acc:  8320 / 14483 =  57.447
0, 1  acc:  4372 /  6501 =  67.251
1, 0  acc: 132237 / 133207 =  99.272
1, 1  acc:  8262 /  8579 =  96.305
--------------------------------------
Average acc: 153191 / 162770 =  94.115
Robust  acc:  8320 / 14483 =  57.447
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6408 /  8535 =  75.079
0, 1  acc:  6718 /  8276 =  81.174
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 16133 / 19867 =  81.205
Robust  acc:  6408 /  8535 =  75.079
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.908
Robust Acc: 80.260 | Best Acc: 97.782
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  7839 /  9767 =  80.260
0, 1  acc:  6120 /  7535 =  81.221
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16550 / 19962 =  82.908
Robust  acc:  7839 /  9767 =  80.260
------------------------------------
Accuracies by groups:
0, 0  acc:  7839 /  9767 =  80.260
0, 1  acc:  6120 /  7535 =  81.221
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16550 / 19962 =  82.908
Robust  acc:  7839 /  9767 =  80.260
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7839 /  9767 =  80.260
0, 1  acc:  6120 /  7535 =  81.221
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16550 / 19962 =  82.908
Robust  acc:  7839 /  9767 =  80.260
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.144 | Val Loss: 0.006 | Val Acc: 68.999
Training:
Accuracies by groups:
0, 0  acc:  8340 / 14424 =  57.820
0, 1  acc:  4159 /  6359 =  65.403
1, 0  acc: 132538 / 133488 =  99.288
1, 1  acc:  8201 /  8499 =  96.494
--------------------------------------
Average acc: 153238 / 162770 =  94.144
Robust  acc:  8340 / 14424 =  57.820
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5229 /  8535 =  61.265
0, 1  acc:  5448 /  8276 =  65.829
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 13708 / 19867 =  68.999
Robust  acc:  5229 /  8535 =  61.265
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 70.279
Robust Acc: 64.804 | Best Acc: 99.274
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  6510 /  9767 =  66.653
0, 1  acc:  4883 /  7535 =  64.804
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14029 / 19962 =  70.279
Robust  acc:  4883 /  7535 =  64.804
------------------------------------
Accuracies by groups:
0, 0  acc:  6510 /  9767 =  66.653
0, 1  acc:  4883 /  7535 =  64.804
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14029 / 19962 =  70.279
Robust  acc:  4883 /  7535 =  64.804
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6510 /  9767 =  66.653
0, 1  acc:  4883 /  7535 =  64.804
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14029 / 19962 =  70.279
Robust  acc:  4883 /  7535 =  64.804
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.949 | Val Loss: 0.004 | Val Acc: 80.671
Training:
Accuracies by groups:
0, 0  acc:  8247 / 14495 =  56.895
0, 1  acc:  4162 /  6493 =  64.100
1, 0  acc: 132285 / 133241 =  99.283
1, 1  acc:  8226 /  8541 =  96.312
--------------------------------------
Average acc: 152920 / 162770 =  93.949
Robust  acc:  8247 / 14495 =  56.895
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6314 /  8535 =  73.978
0, 1  acc:  6698 /  8276 =  80.933
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 16027 / 19867 =  80.671
Robust  acc:  6314 /  8535 =  73.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.437
Robust Acc: 79.390 | Best Acc: 98.226
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7754 /  9767 =  79.390
0, 1  acc:  6097 /  7535 =  80.916
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16456 / 19962 =  82.437
Robust  acc:  7754 /  9767 =  79.390
------------------------------------
Accuracies by groups:
0, 0  acc:  7754 /  9767 =  79.390
0, 1  acc:  6097 /  7535 =  80.916
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16456 / 19962 =  82.437
Robust  acc:  7754 /  9767 =  79.390
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7754 /  9767 =  79.390
0, 1  acc:  6097 /  7535 =  80.916
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16456 / 19962 =  82.437
Robust  acc:  7754 /  9767 =  79.390
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.968 | Val Loss: 0.004 | Val Acc: 85.559
Training:
Accuracies by groups:
0, 0  acc:  8035 / 14328 =  56.079
0, 1  acc:  4157 /  6524 =  63.719
1, 0  acc: 132435 / 133312 =  99.342
1, 1  acc:  8324 /  8606 =  96.723
--------------------------------------
Average acc: 152951 / 162770 =  93.968
Robust  acc:  8035 / 14328 =  56.079
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6790 /  8535 =  79.555
0, 1  acc:  7226 /  8276 =  87.313
1, 0  acc:  2812 /  2874 =  97.843
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16998 / 19867 =  85.559
Robust  acc:  6790 /  8535 =  79.555
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.770
Robust Acc: 84.059 | Best Acc: 97.621
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  8210 /  9767 =  84.059
0, 1  acc:  6530 /  7535 =  86.662
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17321 / 19962 =  86.770
Robust  acc:  8210 /  9767 =  84.059
------------------------------------
Accuracies by groups:
0, 0  acc:  8210 /  9767 =  84.059
0, 1  acc:  6530 /  7535 =  86.662
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17321 / 19962 =  86.770
Robust  acc:  8210 /  9767 =  84.059
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8210 /  9767 =  84.059
0, 1  acc:  6530 /  7535 =  86.662
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17321 / 19962 =  86.770
Robust  acc:  8210 /  9767 =  84.059
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.912 | Val Loss: 0.006 | Val Acc: 68.395
Training:
Accuracies by groups:
0, 0  acc:  8152 / 14542 =  56.058
0, 1  acc:  4091 /  6490 =  63.035
1, 0  acc: 132352 / 133186 =  99.374
1, 1  acc:  8266 /  8552 =  96.656
--------------------------------------
Average acc: 152861 / 162770 =  93.912
Robust  acc:  8152 / 14542 =  56.058
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5234 /  8535 =  61.324
0, 1  acc:  5316 /  8276 =  64.234
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13588 / 19867 =  68.395
Robust  acc:  5234 /  8535 =  61.324
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.963
Robust Acc: 63.955 | Best Acc: 99.476
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  6504 /  9767 =  66.592
0, 1  acc:  4819 /  7535 =  63.955
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13966 / 19962 =  69.963
Robust  acc:  4819 /  7535 =  63.955
------------------------------------
Accuracies by groups:
0, 0  acc:  6504 /  9767 =  66.592
0, 1  acc:  4819 /  7535 =  63.955
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13966 / 19962 =  69.963
Robust  acc:  4819 /  7535 =  63.955
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6504 /  9767 =  66.592
0, 1  acc:  4819 /  7535 =  63.955
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13966 / 19962 =  69.963
Robust  acc:  4819 /  7535 =  63.955
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.948 | Val Loss: 0.005 | Val Acc: 79.630
Training:
Accuracies by groups:
0, 0  acc:  7943 / 14260 =  55.701
0, 1  acc:  4263 /  6671 =  63.903
1, 0  acc: 132391 / 133248 =  99.357
1, 1  acc:  8322 /  8591 =  96.869
--------------------------------------
Average acc: 152919 / 162770 =  93.948
Robust  acc:  7943 / 14260 =  55.701
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6104 /  8535 =  71.517
0, 1  acc:  6707 /  8276 =  81.042
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 15820 / 19867 =  79.630
Robust  acc:  6104 /  8535 =  71.517
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 81.104
Robust Acc: 77.076 | Best Acc: 98.306
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7528 /  9767 =  77.076
0, 1  acc:  6059 /  7535 =  80.411
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16190 / 19962 =  81.104
Robust  acc:  7528 /  9767 =  77.076
------------------------------------
Accuracies by groups:
0, 0  acc:  7528 /  9767 =  77.076
0, 1  acc:  6059 /  7535 =  80.411
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16190 / 19962 =  81.104
Robust  acc:  7528 /  9767 =  77.076
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7528 /  9767 =  77.076
0, 1  acc:  6059 /  7535 =  80.411
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16190 / 19962 =  81.104
Robust  acc:  7528 /  9767 =  77.076
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.923 | Val Loss: 0.010 | Val Acc: 30.432
Training:
Accuracies by groups:
0, 0  acc:  8094 / 14375 =  56.306
0, 1  acc:  4160 /  6578 =  63.241
1, 0  acc: 132269 / 133170 =  99.323
1, 1  acc:  8355 /  8647 =  96.623
--------------------------------------
Average acc: 152878 / 162770 =  93.923
Robust  acc:  8094 / 14375 =  56.306
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1154 /  8535 =  13.521
0, 1  acc:  1837 /  8276 =  22.197
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  6046 / 19867 =  30.432
Robust  acc:  1154 /  8535 =  13.521
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 28.835
Robust Acc: 15.378 | Best Acc: 99.919
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  1502 /  9767 =  15.378
0, 1  acc:  1597 /  7535 =  21.194
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5756 / 19962 =  28.835
Robust  acc:  1502 /  9767 =  15.378
------------------------------------
Accuracies by groups:
0, 0  acc:  1502 /  9767 =  15.378
0, 1  acc:  1597 /  7535 =  21.194
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5756 / 19962 =  28.835
Robust  acc:  1502 /  9767 =  15.378
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  1502 /  9767 =  15.378
0, 1  acc:  1597 /  7535 =  21.194
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5756 / 19962 =  28.835
Robust  acc:  1502 /  9767 =  15.378
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.903 | Val Loss: 0.003 | Val Acc: 93.618
Training:
Accuracies by groups:
0, 0  acc:  8022 / 14362 =  55.856
0, 1  acc:  4173 /  6574 =  63.477
1, 0  acc: 132254 / 133143 =  99.332
1, 1  acc:  8397 /  8691 =  96.617
--------------------------------------
Average acc: 152846 / 162770 =  93.903
Robust  acc:  8022 / 14362 =  55.856
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8074 /  8535 =  94.599
0, 1  acc:  8140 /  8276 =  98.357
1, 0  acc:  2302 /  2874 =  80.097
1, 1  acc:    83 /   182 =  45.604
------------------------------------
Average acc: 18599 / 19867 =  93.618
Robust  acc:    83 /   182 =  45.604
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.224
Robust Acc: 42.222 | Best Acc: 98.328
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  9376 /  9767 =  95.997
0, 1  acc:  7409 /  7535 =  98.328
1, 0  acc:  1948 /  2480 =  78.548
1, 1  acc:    76 /   180 =  42.222
------------------------------------
Average acc: 18809 / 19962 =  94.224
Robust  acc:    76 /   180 =  42.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9376 /  9767 =  95.997
0, 1  acc:  7409 /  7535 =  98.328
1, 0  acc:  1948 /  2480 =  78.548
1, 1  acc:    76 /   180 =  42.222
------------------------------------
Average acc: 18809 / 19962 =  94.224
Robust  acc:    76 /   180 =  42.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9376 /  9767 =  95.997
0, 1  acc:  7409 /  7535 =  98.328
1, 0  acc:  1948 /  2480 =  78.548
1, 1  acc:    76 /   180 =  42.222
------------------------------------
Average acc: 18809 / 19962 =  94.224
Robust  acc:    76 /   180 =  42.222
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.992 | Val Loss: 0.003 | Val Acc: 89.556
Training:
Accuracies by groups:
0, 0  acc:  8150 / 14471 =  56.320
0, 1  acc:  4210 /  6496 =  64.809
1, 0  acc: 132304 / 133192 =  99.333
1, 1  acc:  8327 /  8611 =  96.702
--------------------------------------
Average acc: 152991 / 162770 =  93.992
Robust  acc:  8150 / 14471 =  56.320
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7373 /  8535 =  86.385
0, 1  acc:  7554 /  8276 =  91.276
1, 0  acc:  2707 /  2874 =  94.189
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 17792 / 19867 =  89.556
Robust  acc:  7373 /  8535 =  86.385
------------------------------------
New max robust acc: 86.38547158758055
debias model - Saving best checkpoint at epoch 35
replace: True
-> Updating checkpoint debias-wga-best_seed17.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed17.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.597
Robust Acc: 83.889 | Best Acc: 93.669
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8752 /  9767 =  89.608
0, 1  acc:  6859 /  7535 =  91.029
1, 0  acc:  2323 /  2480 =  93.669
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18085 / 19962 =  90.597
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8752 /  9767 =  89.608
0, 1  acc:  6859 /  7535 =  91.029
1, 0  acc:  2323 /  2480 =  93.669
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18085 / 19962 =  90.597
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8752 /  9767 =  89.608
0, 1  acc:  6859 /  7535 =  91.029
1, 0  acc:  2323 /  2480 =  93.669
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18085 / 19962 =  90.597
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.910 | Val Loss: 0.007 | Val Acc: 54.845
Training:
Accuracies by groups:
0, 0  acc:  8266 / 14620 =  56.539
0, 1  acc:  4146 /  6525 =  63.540
1, 0  acc: 132092 / 132974 =  99.337
1, 1  acc:  8354 /  8651 =  96.567
--------------------------------------
Average acc: 152858 / 162770 =  93.910
Robust  acc:  8266 / 14620 =  56.539
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3249 /  8535 =  38.067
0, 1  acc:  4595 /  8276 =  55.522
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10896 / 19867 =  54.845
Robust  acc:  3249 /  8535 =  38.067
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 54.784
Robust Acc: 43.125 | Best Acc: 99.758
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  4212 /  9767 =  43.125
0, 1  acc:  4072 /  7535 =  54.041
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10936 / 19962 =  54.784
Robust  acc:  4212 /  9767 =  43.125
------------------------------------
Accuracies by groups:
0, 0  acc:  4212 /  9767 =  43.125
0, 1  acc:  4072 /  7535 =  54.041
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10936 / 19962 =  54.784
Robust  acc:  4212 /  9767 =  43.125
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4212 /  9767 =  43.125
0, 1  acc:  4072 /  7535 =  54.041
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10936 / 19962 =  54.784
Robust  acc:  4212 /  9767 =  43.125
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.995 | Val Loss: 0.005 | Val Acc: 76.348
Training:
Accuracies by groups:
0, 0  acc:  8290 / 14546 =  56.992
0, 1  acc:  4189 /  6546 =  63.993
1, 0  acc: 132350 / 133219 =  99.348
1, 1  acc:  8166 /  8459 =  96.536
--------------------------------------
Average acc: 152995 / 162770 =  93.995
Robust  acc:  8290 / 14546 =  56.992
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5914 /  8535 =  69.291
0, 1  acc:  6261 /  8276 =  75.652
1, 0  acc:  2823 /  2874 =  98.225
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 15168 / 19867 =  76.348
Robust  acc:  5914 /  8535 =  69.291
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.763
Robust Acc: 73.574 | Best Acc: 98.065
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  7186 /  9767 =  73.574
0, 1  acc:  5747 /  7535 =  76.271
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 15523 / 19962 =  77.763
Robust  acc:  7186 /  9767 =  73.574
------------------------------------
Accuracies by groups:
0, 0  acc:  7186 /  9767 =  73.574
0, 1  acc:  5747 /  7535 =  76.271
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 15523 / 19962 =  77.763
Robust  acc:  7186 /  9767 =  73.574
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7186 /  9767 =  73.574
0, 1  acc:  5747 /  7535 =  76.271
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 15523 / 19962 =  77.763
Robust  acc:  7186 /  9767 =  73.574
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.993 | Val Loss: 0.005 | Val Acc: 78.527
Training:
Accuracies by groups:
0, 0  acc:  8325 / 14614 =  56.966
0, 1  acc:  4391 /  6689 =  65.645
1, 0  acc: 131989 / 132868 =  99.338
1, 1  acc:  8288 /  8599 =  96.383
--------------------------------------
Average acc: 152993 / 162770 =  93.993
Robust  acc:  8325 / 14614 =  56.966
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6178 /  8535 =  72.384
0, 1  acc:  6411 /  8276 =  77.465
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15601 / 19867 =  78.527
Robust  acc:  6178 /  8535 =  72.384
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 80.212
Robust Acc: 77.086 | Best Acc: 98.387
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  7529 /  9767 =  77.086
0, 1  acc:  5878 /  7535 =  78.009
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16012 / 19962 =  80.212
Robust  acc:  7529 /  9767 =  77.086
------------------------------------
Accuracies by groups:
0, 0  acc:  7529 /  9767 =  77.086
0, 1  acc:  5878 /  7535 =  78.009
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16012 / 19962 =  80.212
Robust  acc:  7529 /  9767 =  77.086
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7529 /  9767 =  77.086
0, 1  acc:  5878 /  7535 =  78.009
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16012 / 19962 =  80.212
Robust  acc:  7529 /  9767 =  77.086
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.030 | Val Loss: 0.005 | Val Acc: 74.858
Training:
Accuracies by groups:
0, 0  acc:  8373 / 14548 =  57.554
0, 1  acc:  4400 /  6644 =  66.225
1, 0  acc: 132041 / 132998 =  99.280
1, 1  acc:  8238 /  8580 =  96.014
--------------------------------------
Average acc: 153052 / 162770 =  94.030
Robust  acc:  8373 / 14548 =  57.554
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5736 /  8535 =  67.206
0, 1  acc:  6104 /  8276 =  73.755
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14872 / 19867 =  74.858
Robust  acc:  5736 /  8535 =  67.206
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.606
Robust Acc: 73.093 | Best Acc: 99.274
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  7139 /  9767 =  73.093
0, 1  acc:  5518 /  7535 =  73.232
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15292 / 19962 =  76.606
Robust  acc:  7139 /  9767 =  73.093
------------------------------------
Accuracies by groups:
0, 0  acc:  7139 /  9767 =  73.093
0, 1  acc:  5518 /  7535 =  73.232
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15292 / 19962 =  76.606
Robust  acc:  7139 /  9767 =  73.093
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7139 /  9767 =  73.093
0, 1  acc:  5518 /  7535 =  73.232
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15292 / 19962 =  76.606
Robust  acc:  7139 /  9767 =  73.093
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.093 | Val Loss: 0.004 | Val Acc: 82.005
Training:
Accuracies by groups:
0, 0  acc:  8547 / 14653 =  58.329
0, 1  acc:  4259 /  6520 =  65.322
1, 0  acc: 132167 / 133082 =  99.312
1, 1  acc:  8182 /  8515 =  96.089
--------------------------------------
Average acc: 153155 / 162770 =  94.093
Robust  acc:  8547 / 14653 =  58.329
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6140 /  8535 =  71.939
0, 1  acc:  7140 /  8276 =  86.274
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 16292 / 19867 =  82.005
Robust  acc:  6140 /  8535 =  71.939
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.814
Robust Acc: 77.659 | Best Acc: 98.427
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  7585 /  9767 =  77.659
0, 1  acc:  6541 /  7535 =  86.808
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16731 / 19962 =  83.814
Robust  acc:  7585 /  9767 =  77.659
------------------------------------
Accuracies by groups:
0, 0  acc:  7585 /  9767 =  77.659
0, 1  acc:  6541 /  7535 =  86.808
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16731 / 19962 =  83.814
Robust  acc:  7585 /  9767 =  77.659
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7585 /  9767 =  77.659
0, 1  acc:  6541 /  7535 =  86.808
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16731 / 19962 =  83.814
Robust  acc:  7585 /  9767 =  77.659
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.080 | Val Loss: 0.004 | Val Acc: 90.577
Training:
Accuracies by groups:
0, 0  acc:  8496 / 14607 =  58.164
0, 1  acc:  4307 /  6469 =  66.579
1, 0  acc: 132135 / 133155 =  99.234
1, 1  acc:  8196 /  8539 =  95.983
--------------------------------------
Average acc: 153134 / 162770 =  94.080
Robust  acc:  8496 / 14607 =  58.164
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7471 /  8535 =  87.534
0, 1  acc:  7681 /  8276 =  92.811
1, 0  acc:  2698 /  2874 =  93.876
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 17995 / 19867 =  90.577
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.419
Robust Acc: 75.556 | Best Acc: 93.024
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  8832 /  9767 =  90.427
0, 1  acc:  6974 /  7535 =  92.555
1, 0  acc:  2307 /  2480 =  93.024
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18249 / 19962 =  91.419
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8832 /  9767 =  90.427
0, 1  acc:  6974 /  7535 =  92.555
1, 0  acc:  2307 /  2480 =  93.024
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18249 / 19962 =  91.419
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8832 /  9767 =  90.427
0, 1  acc:  6974 /  7535 =  92.555
1, 0  acc:  2307 /  2480 =  93.024
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18249 / 19962 =  91.419
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.114 | Val Loss: 0.006 | Val Acc: 72.004
Training:
Accuracies by groups:
0, 0  acc:  8437 / 14417 =  58.521
0, 1  acc:  4388 /  6640 =  66.084
1, 0  acc: 132037 / 133072 =  99.222
1, 1  acc:  8328 /  8641 =  96.378
--------------------------------------
Average acc: 153190 / 162770 =  94.114
Robust  acc:  8437 / 14417 =  58.521
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5377 /  8535 =  62.999
0, 1  acc:  5886 /  8276 =  71.121
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14305 / 19867 =  72.004
Robust  acc:  5377 /  8535 =  62.999
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.720
Robust Acc: 68.537 | Best Acc: 99.274
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  6694 /  9767 =  68.537
0, 1  acc:  5385 /  7535 =  71.466
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14716 / 19962 =  73.720
Robust  acc:  6694 /  9767 =  68.537
------------------------------------
Accuracies by groups:
0, 0  acc:  6694 /  9767 =  68.537
0, 1  acc:  5385 /  7535 =  71.466
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14716 / 19962 =  73.720
Robust  acc:  6694 /  9767 =  68.537
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6694 /  9767 =  68.537
0, 1  acc:  5385 /  7535 =  71.466
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14716 / 19962 =  73.720
Robust  acc:  6694 /  9767 =  68.537
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.117 | Val Loss: 0.006 | Val Acc: 64.474
Training:
Accuracies by groups:
0, 0  acc:  8535 / 14574 =  58.563
0, 1  acc:  4245 /  6422 =  66.101
1, 0  acc: 132108 / 133137 =  99.227
1, 1  acc:  8307 /  8637 =  96.179
--------------------------------------
Average acc: 153195 / 162770 =  94.117
Robust  acc:  8535 / 14574 =  58.563
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4607 /  8535 =  53.978
0, 1  acc:  5154 /  8276 =  62.276
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12809 / 19867 =  64.474
Robust  acc:  4607 /  8535 =  53.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.620
Robust Acc: 59.670 | Best Acc: 99.597
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  5828 /  9767 =  59.670
0, 1  acc:  4624 /  7535 =  61.367
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13099 / 19962 =  65.620
Robust  acc:  5828 /  9767 =  59.670
------------------------------------
Accuracies by groups:
0, 0  acc:  5828 /  9767 =  59.670
0, 1  acc:  4624 /  7535 =  61.367
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13099 / 19962 =  65.620
Robust  acc:  5828 /  9767 =  59.670
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5828 /  9767 =  59.670
0, 1  acc:  4624 /  7535 =  61.367
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13099 / 19962 =  65.620
Robust  acc:  5828 /  9767 =  59.670
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.180 | Val Loss: 0.004 | Val Acc: 87.618
Training:
Accuracies by groups:
0, 0  acc:  8543 / 14523 =  58.824
0, 1  acc:  4358 /  6481 =  67.243
1, 0  acc: 132153 / 133193 =  99.219
1, 1  acc:  8243 /  8573 =  96.151
--------------------------------------
Average acc: 153297 / 162770 =  94.180
Robust  acc:  8543 / 14523 =  58.824
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6961 /  8535 =  81.558
0, 1  acc:  7488 /  8276 =  90.478
1, 0  acc:  2796 /  2874 =  97.286
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17407 / 19867 =  87.618
Robust  acc:  6961 /  8535 =  81.558
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 88.538
Robust Acc: 85.431 | Best Acc: 96.573
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  8344 /  9767 =  85.431
0, 1  acc:  6779 /  7535 =  89.967
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17674 / 19962 =  88.538
Robust  acc:  8344 /  9767 =  85.431
------------------------------------
Accuracies by groups:
0, 0  acc:  8344 /  9767 =  85.431
0, 1  acc:  6779 /  7535 =  89.967
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17674 / 19962 =  88.538
Robust  acc:  8344 /  9767 =  85.431
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8344 /  9767 =  85.431
0, 1  acc:  6779 /  7535 =  89.967
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17674 / 19962 =  88.538
Robust  acc:  8344 /  9767 =  85.431
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.078 | Val Loss: 0.004 | Val Acc: 88.458
Training:
Accuracies by groups:
0, 0  acc:  8715 / 14828 =  58.774
0, 1  acc:  4370 /  6543 =  66.789
1, 0  acc: 131682 / 132722 =  99.216
1, 1  acc:  8363 /  8677 =  96.381
--------------------------------------
Average acc: 153130 / 162770 =  94.078
Robust  acc:  8715 / 14828 =  58.774
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7155 /  8535 =  83.831
0, 1  acc:  7533 /  8276 =  91.022
1, 0  acc:  2737 /  2874 =  95.233
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 17574 / 19867 =  88.458
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 89.290
Robust Acc: 75.000 | Best Acc: 94.395
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  8507 /  9767 =  87.099
0, 1  acc:  6841 /  7535 =  90.790
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 17824 / 19962 =  89.290
Robust  acc:   135 /   180 =  75.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8507 /  9767 =  87.099
0, 1  acc:  6841 /  7535 =  90.790
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 17824 / 19962 =  89.290
Robust  acc:   135 /   180 =  75.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8507 /  9767 =  87.099
0, 1  acc:  6841 /  7535 =  90.790
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 17824 / 19962 =  89.290
Robust  acc:   135 /   180 =  75.000
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.263 | Val Loss: 0.015 | Val Acc: 16.067
Training:
Accuracies by groups:
0, 0  acc:  8506 / 14344 =  59.300
0, 1  acc:  4458 /  6528 =  68.290
1, 0  acc: 132115 / 133198 =  99.187
1, 1  acc:  8353 /  8700 =  96.011
--------------------------------------
Average acc: 153432 / 162770 =  94.263
Robust  acc:  8506 / 14344 =  59.300
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:    79 /  8535 =   0.926
0, 1  acc:    57 /  8276 =   0.689
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  3192 / 19867 =  16.067
Robust  acc:    57 /  8276 =   0.689
------------------------------------
-------------------------------------------
Avg Test Loss: 0.015 | Avg Test Acc: 14.127
Robust Acc: 0.518 | Best Acc: 100.000
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:   121 /  9767 =   1.239
0, 1  acc:    39 /  7535 =   0.518
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  2820 / 19962 =  14.127
Robust  acc:    39 /  7535 =   0.518
------------------------------------
Accuracies by groups:
0, 0  acc:   121 /  9767 =   1.239
0, 1  acc:    39 /  7535 =   0.518
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  2820 / 19962 =  14.127
Robust  acc:    39 /  7535 =   0.518
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:   121 /  9767 =   1.239
0, 1  acc:    39 /  7535 =   0.518
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  2820 / 19962 =  14.127
Robust  acc:    39 /  7535 =   0.518
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.207 | Val Loss: 0.005 | Val Acc: 76.217
Training:
Accuracies by groups:
0, 0  acc:  8542 / 14393 =  59.348
0, 1  acc:  4571 /  6673 =  68.500
1, 0  acc: 132073 / 133191 =  99.161
1, 1  acc:  8154 /  8513 =  95.783
--------------------------------------
Average acc: 153340 / 162770 =  94.207
Robust  acc:  8542 / 14393 =  59.348
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5856 /  8535 =  68.612
0, 1  acc:  6258 /  8276 =  75.616
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15142 / 19867 =  76.217
Robust  acc:  5856 /  8535 =  68.612
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.422
Robust Acc: 73.687 | Best Acc: 99.032
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  7197 /  9767 =  73.687
0, 1  acc:  5629 /  7535 =  74.705
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15455 / 19962 =  77.422
Robust  acc:  7197 /  9767 =  73.687
------------------------------------
Accuracies by groups:
0, 0  acc:  7197 /  9767 =  73.687
0, 1  acc:  5629 /  7535 =  74.705
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15455 / 19962 =  77.422
Robust  acc:  7197 /  9767 =  73.687
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7197 /  9767 =  73.687
0, 1  acc:  5629 /  7535 =  74.705
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15455 / 19962 =  77.422
Robust  acc:  7197 /  9767 =  73.687
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.323 | Val Loss: 0.005 | Val Acc: 75.588
Training:
Accuracies by groups:
0, 0  acc:  8616 / 14413 =  59.779
0, 1  acc:  4501 /  6539 =  68.833
1, 0  acc: 132071 / 133155 =  99.186
1, 1  acc:  8341 /  8663 =  96.283
--------------------------------------
Average acc: 153529 / 162770 =  94.323
Robust  acc:  8616 / 14413 =  59.779
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5746 /  8535 =  67.323
0, 1  acc:  6240 /  8276 =  75.399
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15017 / 19867 =  75.588
Robust  acc:  5746 /  8535 =  67.323
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.322
Robust Acc: 73.339 | Best Acc: 98.952
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  7163 /  9767 =  73.339
0, 1  acc:  5642 /  7535 =  74.877
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15435 / 19962 =  77.322
Robust  acc:  7163 /  9767 =  73.339
------------------------------------
Accuracies by groups:
0, 0  acc:  7163 /  9767 =  73.339
0, 1  acc:  5642 /  7535 =  74.877
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15435 / 19962 =  77.322
Robust  acc:  7163 /  9767 =  73.339
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7163 /  9767 =  73.339
0, 1  acc:  5642 /  7535 =  74.877
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15435 / 19962 =  77.322
Robust  acc:  7163 /  9767 =  73.339
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.231 | Val Loss: 0.006 | Val Acc: 67.605
Training:
Accuracies by groups:
0, 0  acc:  8710 / 14534 =  59.928
0, 1  acc:  4429 /  6503 =  68.107
1, 0  acc: 131913 / 133058 =  99.139
1, 1  acc:  8328 /  8675 =  96.000
--------------------------------------
Average acc: 153380 / 162770 =  94.231
Robust  acc:  8710 / 14534 =  59.928
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5197 /  8535 =  60.890
0, 1  acc:  5196 /  8276 =  62.784
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13431 / 19867 =  67.605
Robust  acc:  5197 /  8535 =  60.890
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.567
Robust Acc: 62.376 | Best Acc: 99.315
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  6547 /  9767 =  67.032
0, 1  acc:  4700 /  7535 =  62.376
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13887 / 19962 =  69.567
Robust  acc:  4700 /  7535 =  62.376
------------------------------------
Accuracies by groups:
0, 0  acc:  6547 /  9767 =  67.032
0, 1  acc:  4700 /  7535 =  62.376
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13887 / 19962 =  69.567
Robust  acc:  4700 /  7535 =  62.376
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6547 /  9767 =  67.032
0, 1  acc:  4700 /  7535 =  62.376
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13887 / 19962 =  69.567
Robust  acc:  4700 /  7535 =  62.376
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed17.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed17.pt
