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: 20
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=20-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.786 | Val Loss: 0.004 | Val Acc: 78.573
Training:
Accuracies by groups:
0, 0  acc:  5892 / 14484 =  40.679
0, 1  acc:  2901 /  6670 =  43.493
1, 0  acc: 130751 / 132934 =  98.358
1, 1  acc:  8228 /  8682 =  94.771
--------------------------------------
Average acc: 147772 / 162770 =  90.786
Robust  acc:  5892 / 14484 =  40.679
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6108 /  8535 =  71.564
0, 1  acc:  6480 /  8276 =  78.299
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 15610 / 19867 =  78.573
Robust  acc:  6108 /  8535 =  71.564
------------------------------------
New max robust acc: 71.56414762741652
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed20.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed20.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 80.533
Robust Acc: 77.076 | Best Acc: 98.871
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7528 /  9767 =  77.076
0, 1  acc:  5923 /  7535 =  78.607
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16076 / 19962 =  80.533
Robust  acc:  7528 /  9767 =  77.076
------------------------------------
Accuracies by groups:
0, 0  acc:  7528 /  9767 =  77.076
0, 1  acc:  5923 /  7535 =  78.607
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16076 / 19962 =  80.533
Robust  acc:  7528 /  9767 =  77.076
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7528 /  9767 =  77.076
0, 1  acc:  5923 /  7535 =  78.607
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16076 / 19962 =  80.533
Robust  acc:  7528 /  9767 =  77.076
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.646 | Val Loss: 0.003 | Val Acc: 83.702
Training:
Accuracies by groups:
0, 0  acc:  9179 / 14392 =  63.778
0, 1  acc:  4780 /  6498 =  73.561
1, 0  acc: 132070 / 133335 =  99.051
1, 1  acc:  8027 /  8545 =  93.938
--------------------------------------
Average acc: 154056 / 162770 =  94.646
Robust  acc:  9179 / 14392 =  63.778
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6467 /  8535 =  75.770
0, 1  acc:  7147 /  8276 =  86.358
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16629 / 19867 =  83.702
Robust  acc:  6467 /  8535 =  75.770
------------------------------------
New max robust acc: 75.77035735207967
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed20.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed20.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.202
Robust Acc: 80.844 | Best Acc: 98.790
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7896 /  9767 =  80.844
0, 1  acc:  6494 /  7535 =  86.184
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17008 / 19962 =  85.202
Robust  acc:  7896 /  9767 =  80.844
------------------------------------
Accuracies by groups:
0, 0  acc:  7896 /  9767 =  80.844
0, 1  acc:  6494 /  7535 =  86.184
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17008 / 19962 =  85.202
Robust  acc:  7896 /  9767 =  80.844
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7896 /  9767 =  80.844
0, 1  acc:  6494 /  7535 =  86.184
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17008 / 19962 =  85.202
Robust  acc:  7896 /  9767 =  80.844
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.229 | Val Loss: 0.003 | Val Acc: 86.057
Training:
Accuracies by groups:
0, 0  acc:  9520 / 14322 =  66.471
0, 1  acc:  5276 /  6577 =  80.219
1, 0  acc: 132002 / 133191 =  99.107
1, 1  acc:  8206 /  8680 =  94.539
--------------------------------------
Average acc: 155004 / 162770 =  95.229
Robust  acc:  9520 / 14322 =  66.471
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6694 /  8535 =  78.430
0, 1  acc:  7395 /  8276 =  89.355
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17097 / 19867 =  86.057
Robust  acc:  6694 /  8535 =  78.430
------------------------------------
New max robust acc: 78.42999414176919
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed20.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed20.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.246
Robust Acc: 83.086 | Best Acc: 98.427
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8115 /  9767 =  83.086
0, 1  acc:  6696 /  7535 =  88.865
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17416 / 19962 =  87.246
Robust  acc:  8115 /  9767 =  83.086
------------------------------------
Accuracies by groups:
0, 0  acc:  8115 /  9767 =  83.086
0, 1  acc:  6696 /  7535 =  88.865
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17416 / 19962 =  87.246
Robust  acc:  8115 /  9767 =  83.086
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8115 /  9767 =  83.086
0, 1  acc:  6696 /  7535 =  88.865
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17416 / 19962 =  87.246
Robust  acc:  8115 /  9767 =  83.086
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.840 | Val Loss: 0.002 | Val Acc: 87.754
Training:
Accuracies by groups:
0, 0  acc: 10002 / 14375 =  69.579
0, 1  acc:  5388 /  6439 =  83.678
1, 0  acc: 132221 / 133203 =  99.263
1, 1  acc:  8388 /  8753 =  95.830
--------------------------------------
Average acc: 155999 / 162770 =  95.840
Robust  acc: 10002 / 14375 =  69.579
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6858 /  8535 =  80.351
0, 1  acc:  7575 /  8276 =  91.530
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17434 / 19867 =  87.754
Robust  acc:  6858 /  8535 =  80.351
------------------------------------
New max robust acc: 80.35149384885764
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed20.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed20.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.729
Robust Acc: 84.407 | Best Acc: 97.984
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8244 /  9767 =  84.407
0, 1  acc:  6880 /  7535 =  91.307
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17712 / 19962 =  88.729
Robust  acc:  8244 /  9767 =  84.407
------------------------------------
Accuracies by groups:
0, 0  acc:  8244 /  9767 =  84.407
0, 1  acc:  6880 /  7535 =  91.307
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17712 / 19962 =  88.729
Robust  acc:  8244 /  9767 =  84.407
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8244 /  9767 =  84.407
0, 1  acc:  6880 /  7535 =  91.307
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17712 / 19962 =  88.729
Robust  acc:  8244 /  9767 =  84.407
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.285 | Val Loss: 0.002 | Val Acc: 87.930
Training:
Accuracies by groups:
0, 0  acc: 10299 / 14288 =  72.081
0, 1  acc:  5647 /  6539 =  86.359
1, 0  acc: 132481 / 133326 =  99.366
1, 1  acc:  8296 /  8617 =  96.275
--------------------------------------
Average acc: 156723 / 162770 =  96.285
Robust  acc: 10299 / 14288 =  72.081
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6856 /  8535 =  80.328
0, 1  acc:  7610 /  8276 =  91.953
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17469 / 19867 =  87.930
Robust  acc:  6856 /  8535 =  80.328
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.854
Robust Acc: 84.284 | Best Acc: 98.065
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8232 /  9767 =  84.284
0, 1  acc:  6915 /  7535 =  91.772
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17737 / 19962 =  88.854
Robust  acc:  8232 /  9767 =  84.284
------------------------------------
Accuracies by groups:
0, 0  acc:  8232 /  9767 =  84.284
0, 1  acc:  6915 /  7535 =  91.772
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17737 / 19962 =  88.854
Robust  acc:  8232 /  9767 =  84.284
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8232 /  9767 =  84.284
0, 1  acc:  6915 /  7535 =  91.772
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17737 / 19962 =  88.854
Robust  acc:  8232 /  9767 =  84.284
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.699 | Val Loss: 0.002 | Val Acc: 89.269
Training:
Accuracies by groups:
0, 0  acc: 10832 / 14595 =  74.217
0, 1  acc:  5655 /  6410 =  88.222
1, 0  acc: 132522 / 133168 =  99.515
1, 1  acc:  8388 /  8597 =  97.569
--------------------------------------
Average acc: 157397 / 162770 =  96.699
Robust  acc: 10832 / 14595 =  74.217
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7024 /  8535 =  82.296
0, 1  acc:  7724 /  8276 =  93.330
1, 0  acc:  2819 /  2874 =  98.086
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17735 / 19867 =  89.269
Robust  acc:  7024 /  8535 =  82.296
------------------------------------
New max robust acc: 82.29642647920328
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed20.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed20.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.031
Robust Acc: 85.656 | Best Acc: 97.903
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8366 /  9767 =  85.656
0, 1  acc:  7022 /  7535 =  93.192
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17972 / 19962 =  90.031
Robust  acc:  8366 /  9767 =  85.656
------------------------------------
Accuracies by groups:
0, 0  acc:  8366 /  9767 =  85.656
0, 1  acc:  7022 /  7535 =  93.192
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17972 / 19962 =  90.031
Robust  acc:  8366 /  9767 =  85.656
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8366 /  9767 =  85.656
0, 1  acc:  7022 /  7535 =  93.192
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17972 / 19962 =  90.031
Robust  acc:  8366 /  9767 =  85.656
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.327 | Val Loss: 0.002 | Val Acc: 90.557
Training:
Accuracies by groups:
0, 0  acc: 11330 / 14533 =  77.961
0, 1  acc:  5878 /  6546 =  89.795
1, 0  acc: 132838 / 133215 =  99.717
1, 1  acc:  8373 /  8476 =  98.785
--------------------------------------
Average acc: 158419 / 162770 =  97.327
Robust  acc: 11330 / 14533 =  77.961
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7196 /  8535 =  84.312
0, 1  acc:  7824 /  8276 =  94.538
1, 0  acc:  2810 /  2874 =  97.773
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 17991 / 19867 =  90.557
Robust  acc:  7196 /  8535 =  84.312
------------------------------------
New max robust acc: 84.31165787932045
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed20.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed20.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.073
Robust Acc: 82.222 | Best Acc: 97.419
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8528 /  9767 =  87.314
0, 1  acc:  7088 /  7535 =  94.068
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18180 / 19962 =  91.073
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8528 /  9767 =  87.314
0, 1  acc:  7088 /  7535 =  94.068
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18180 / 19962 =  91.073
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8528 /  9767 =  87.314
0, 1  acc:  7088 /  7535 =  94.068
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18180 / 19962 =  91.073
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.778 | Val Loss: 0.002 | Val Acc: 92.118
Training:
Accuracies by groups:
0, 0  acc: 11575 / 14454 =  80.082
0, 1  acc:  5953 /  6494 =  91.669
1, 0  acc: 132979 / 133141 =  99.878
1, 1  acc:  8647 /  8681 =  99.608
--------------------------------------
Average acc: 159154 / 162770 =  97.778
Robust  acc: 11575 / 14454 =  80.082
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7449 /  8535 =  87.276
0, 1  acc:  7934 /  8276 =  95.868
1, 0  acc:  2766 /  2874 =  96.242
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18301 / 19867 =  92.118
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.330
Robust Acc: 78.889 | Best Acc: 95.315
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8747 /  9767 =  89.557
0, 1  acc:  7182 /  7535 =  95.315
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18431 / 19962 =  92.330
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8747 /  9767 =  89.557
0, 1  acc:  7182 /  7535 =  95.315
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18431 / 19962 =  92.330
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8747 /  9767 =  89.557
0, 1  acc:  7182 /  7535 =  95.315
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18431 / 19962 =  92.330
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.224 | Val Loss: 0.001 | Val Acc: 93.049
Training:
Accuracies by groups:
0, 0  acc: 12122 / 14461 =  83.825
0, 1  acc:  6156 /  6568 =  93.727
1, 0  acc: 132822 / 132934 =  99.916
1, 1  acc:  8780 /  8807 =  99.693
--------------------------------------
Average acc: 159880 / 162770 =  98.224
Robust  acc: 12122 / 14461 =  83.825
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7571 /  8535 =  88.705
0, 1  acc:  8032 /  8276 =  97.052
1, 0  acc:  2742 /  2874 =  95.407
1, 1  acc:   141 /   182 =  77.473
------------------------------------
Average acc: 18486 / 19867 =  93.049
Robust  acc:   141 /   182 =  77.473
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.262
Robust Acc: 73.889 | Best Acc: 96.669
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8868 /  9767 =  90.796
0, 1  acc:  7284 /  7535 =  96.669
1, 0  acc:  2332 /  2480 =  94.032
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18617 / 19962 =  93.262
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8868 /  9767 =  90.796
0, 1  acc:  7284 /  7535 =  96.669
1, 0  acc:  2332 /  2480 =  94.032
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18617 / 19962 =  93.262
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8868 /  9767 =  90.796
0, 1  acc:  7284 /  7535 =  96.669
1, 0  acc:  2332 /  2480 =  94.032
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18617 / 19962 =  93.262
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.461 | Val Loss: 0.002 | Val Acc: 90.295
Training:
Accuracies by groups:
0, 0  acc: 12432 / 14455 =  86.005
0, 1  acc:  6005 /  6364 =  94.359
1, 0  acc: 133327 / 133427 =  99.925
1, 1  acc:  8501 /  8524 =  99.730
--------------------------------------
Average acc: 160265 / 162770 =  98.461
Robust  acc: 12432 / 14455 =  86.005
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7095 /  8535 =  83.128
0, 1  acc:  7894 /  8276 =  95.384
1, 0  acc:  2800 /  2874 =  97.425
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 17939 / 19867 =  90.295
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.793
Robust Acc: 78.333 | Best Acc: 96.935
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8421 /  9767 =  86.219
0, 1  acc:  7158 /  7535 =  94.997
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18124 / 19962 =  90.793
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8421 /  9767 =  86.219
0, 1  acc:  7158 /  7535 =  94.997
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18124 / 19962 =  90.793
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8421 /  9767 =  86.219
0, 1  acc:  7158 /  7535 =  94.997
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18124 / 19962 =  90.793
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.501 | Val Loss: 0.002 | Val Acc: 92.888
Training:
Accuracies by groups:
0, 0  acc: 12567 / 14461 =  86.903
0, 1  acc:  6027 /  6356 =  94.824
1, 0  acc: 133168 / 133340 =  99.871
1, 1  acc:  8568 /  8613 =  99.478
--------------------------------------
Average acc: 160330 / 162770 =  98.501
Robust  acc: 12567 / 14461 =  86.903
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7534 /  8535 =  88.272
0, 1  acc:  8055 /  8276 =  97.330
1, 0  acc:  2732 /  2874 =  95.059
1, 1  acc:   133 /   182 =  73.077
------------------------------------
Average acc: 18454 / 19867 =  92.888
Robust  acc:   133 /   182 =  73.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.262
Robust Acc: 72.222 | Best Acc: 96.961
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8838 /  9767 =  90.488
0, 1  acc:  7306 /  7535 =  96.961
1, 0  acc:  2343 /  2480 =  94.476
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18617 / 19962 =  93.262
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8838 /  9767 =  90.488
0, 1  acc:  7306 /  7535 =  96.961
1, 0  acc:  2343 /  2480 =  94.476
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18617 / 19962 =  93.262
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8838 /  9767 =  90.488
0, 1  acc:  7306 /  7535 =  96.961
1, 0  acc:  2343 /  2480 =  94.476
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18617 / 19962 =  93.262
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.246 | Val Loss: 0.002 | Val Acc: 91.685
Training:
Accuracies by groups:
0, 0  acc: 12514 / 14618 =  85.607
0, 1  acc:  6102 /  6488 =  94.051
1, 0  acc: 132725 / 133010 =  99.786
1, 1  acc:  8574 /  8654 =  99.076
--------------------------------------
Average acc: 159915 / 162770 =  98.246
Robust  acc: 12514 / 14618 =  85.607
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7381 /  8535 =  86.479
0, 1  acc:  7927 /  8276 =  95.783
1, 0  acc:  2758 /  2874 =  95.964
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18215 / 19867 =  91.685
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.115
Robust Acc: 77.222 | Best Acc: 95.581
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8681 /  9767 =  88.881
0, 1  acc:  7202 /  7535 =  95.581
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18388 / 19962 =  92.115
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8681 /  9767 =  88.881
0, 1  acc:  7202 /  7535 =  95.581
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18388 / 19962 =  92.115
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8681 /  9767 =  88.881
0, 1  acc:  7202 /  7535 =  95.581
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18388 / 19962 =  92.115
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.822 | Val Loss: 0.002 | Val Acc: 93.673
Training:
Accuracies by groups:
0, 0  acc: 12030 / 14491 =  83.017
0, 1  acc:  6115 /  6594 =  92.736
1, 0  acc: 132697 / 133172 =  99.643
1, 1  acc:  8383 /  8513 =  98.473
--------------------------------------
Average acc: 159225 / 162770 =  97.822
Robust  acc: 12030 / 14491 =  83.017
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7744 /  8535 =  90.732
0, 1  acc:  8060 /  8276 =  97.390
1, 0  acc:  2667 /  2874 =  92.797
1, 1  acc:   139 /   182 =  76.374
------------------------------------
Average acc: 18610 / 19867 =  93.673
Robust  acc:   139 /   182 =  76.374
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.508
Robust Acc: 65.000 | Best Acc: 96.629
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  9002 /  9767 =  92.168
0, 1  acc:  7281 /  7535 =  96.629
1, 0  acc:  2266 /  2480 =  91.371
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18666 / 19962 =  93.508
Robust  acc:   117 /   180 =  65.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9002 /  9767 =  92.168
0, 1  acc:  7281 /  7535 =  96.629
1, 0  acc:  2266 /  2480 =  91.371
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18666 / 19962 =  93.508
Robust  acc:   117 /   180 =  65.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9002 /  9767 =  92.168
0, 1  acc:  7281 /  7535 =  96.629
1, 0  acc:  2266 /  2480 =  91.371
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18666 / 19962 =  93.508
Robust  acc:   117 /   180 =  65.000
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.342 | Val Loss: 0.002 | Val Acc: 90.764
Training:
Accuracies by groups:
0, 0  acc: 11602 / 14513 =  79.942
0, 1  acc:  5964 /  6534 =  91.276
1, 0  acc: 132477 / 133125 =  99.513
1, 1  acc:  8400 /  8598 =  97.697
--------------------------------------
Average acc: 158443 / 162770 =  97.342
Robust  acc: 11602 / 14513 =  79.942
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7275 /  8535 =  85.237
0, 1  acc:  7803 /  8276 =  94.285
1, 0  acc:  2790 /  2874 =  97.077
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 18032 / 19867 =  90.764
Robust  acc:  7275 /  8535 =  85.237
------------------------------------
New max robust acc: 85.23725834797891
debias model - Saving best checkpoint at epoch 13
replace: True
-> Updating checkpoint debias-wga-best_seed20.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed20.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.108
Robust Acc: 83.889 | Best Acc: 96.976
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8573 /  9767 =  87.775
0, 1  acc:  7058 /  7535 =  93.670
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18187 / 19962 =  91.108
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8573 /  9767 =  87.775
0, 1  acc:  7058 /  7535 =  93.670
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18187 / 19962 =  91.108
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8573 /  9767 =  87.775
0, 1  acc:  7058 /  7535 =  93.670
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18187 / 19962 =  91.108
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.875 | Val Loss: 0.003 | Val Acc: 83.455
Training:
Accuracies by groups:
0, 0  acc: 11253 / 14605 =  77.049
0, 1  acc:  6099 /  6807 =  89.599
1, 0  acc: 132024 / 132793 =  99.421
1, 1  acc:  8308 /  8565 =  96.999
--------------------------------------
Average acc: 157684 / 162770 =  96.875
Robust  acc: 11253 / 14605 =  77.049
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6315 /  8535 =  73.989
0, 1  acc:  7238 /  8276 =  87.458
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16580 / 19867 =  83.455
Robust  acc:  6315 /  8535 =  73.989
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.425
Robust Acc: 78.345 | Best Acc: 99.194
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  7652 /  9767 =  78.345
0, 1  acc:  6576 /  7535 =  87.273
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16853 / 19962 =  84.425
Robust  acc:  7652 /  9767 =  78.345
------------------------------------
Accuracies by groups:
0, 0  acc:  7652 /  9767 =  78.345
0, 1  acc:  6576 /  7535 =  87.273
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16853 / 19962 =  84.425
Robust  acc:  7652 /  9767 =  78.345
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7652 /  9767 =  78.345
0, 1  acc:  6576 /  7535 =  87.273
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16853 / 19962 =  84.425
Robust  acc:  7652 /  9767 =  78.345
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.467 | Val Loss: 0.006 | Val Acc: 66.910
Training:
Accuracies by groups:
0, 0  acc: 10709 / 14406 =  74.337
0, 1  acc:  5571 /  6370 =  87.457
1, 0  acc: 132435 / 133372 =  99.297
1, 1  acc:  8305 /  8622 =  96.323
--------------------------------------
Average acc: 157020 / 162770 =  96.467
Robust  acc: 10709 / 14406 =  74.337
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4553 /  8535 =  53.345
0, 1  acc:  5690 /  8276 =  68.753
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13293 / 19867 =  66.910
Robust  acc:  4553 /  8535 =  53.345
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.320
Robust Acc: 58.943 | Best Acc: 99.758
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  5757 /  9767 =  58.943
0, 1  acc:  5230 /  7535 =  69.409
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13638 / 19962 =  68.320
Robust  acc:  5757 /  9767 =  58.943
------------------------------------
Accuracies by groups:
0, 0  acc:  5757 /  9767 =  58.943
0, 1  acc:  5230 /  7535 =  69.409
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13638 / 19962 =  68.320
Robust  acc:  5757 /  9767 =  58.943
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5757 /  9767 =  58.943
0, 1  acc:  5230 /  7535 =  69.409
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13638 / 19962 =  68.320
Robust  acc:  5757 /  9767 =  58.943
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 96.106 | Val Loss: 0.004 | Val Acc: 80.037
Training:
Accuracies by groups:
0, 0  acc: 10480 / 14461 =  72.471
0, 1  acc:  5705 /  6612 =  86.283
1, 0  acc: 132172 / 133203 =  99.226
1, 1  acc:  8074 /  8494 =  95.055
--------------------------------------
Average acc: 156431 / 162770 =  96.106
Robust  acc: 10480 / 14461 =  72.471
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6006 /  8535 =  70.369
0, 1  acc:  6861 /  8276 =  82.902
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 15901 / 19867 =  80.037
Robust  acc:  6006 /  8535 =  70.369
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.800
Robust Acc: 75.776 | Best Acc: 99.194
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  7401 /  9767 =  75.776
0, 1  acc:  6299 /  7535 =  83.597
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16329 / 19962 =  81.800
Robust  acc:  7401 /  9767 =  75.776
------------------------------------
Accuracies by groups:
0, 0  acc:  7401 /  9767 =  75.776
0, 1  acc:  6299 /  7535 =  83.597
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16329 / 19962 =  81.800
Robust  acc:  7401 /  9767 =  75.776
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7401 /  9767 =  75.776
0, 1  acc:  6299 /  7535 =  83.597
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16329 / 19962 =  81.800
Robust  acc:  7401 /  9767 =  75.776
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.557 | Val Loss: 0.005 | Val Acc: 76.167
Training:
Accuracies by groups:
0, 0  acc: 10188 / 14565 =  69.949
0, 1  acc:  5582 /  6677 =  83.600
1, 0  acc: 131817 / 133112 =  99.027
1, 1  acc:  7951 /  8416 =  94.475
--------------------------------------
Average acc: 155538 / 162770 =  95.557
Robust  acc: 10188 / 14565 =  69.949
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5630 /  8535 =  65.964
0, 1  acc:  6460 /  8276 =  78.057
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 15132 / 19867 =  76.167
Robust  acc:  5630 /  8535 =  65.964
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 78.133
Robust Acc: 72.305 | Best Acc: 99.395
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  7062 /  9767 =  72.305
0, 1  acc:  5896 /  7535 =  78.248
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15597 / 19962 =  78.133
Robust  acc:  7062 /  9767 =  72.305
------------------------------------
Accuracies by groups:
0, 0  acc:  7062 /  9767 =  72.305
0, 1  acc:  5896 /  7535 =  78.248
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15597 / 19962 =  78.133
Robust  acc:  7062 /  9767 =  72.305
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7062 /  9767 =  72.305
0, 1  acc:  5896 /  7535 =  78.248
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15597 / 19962 =  78.133
Robust  acc:  7062 /  9767 =  72.305
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.376 | Val Loss: 0.003 | Val Acc: 87.170
Training:
Accuracies by groups:
0, 0  acc:  9911 / 14487 =  68.413
0, 1  acc:  5407 /  6551 =  82.537
1, 0  acc: 131940 / 133292 =  98.986
1, 1  acc:  7985 /  8440 =  94.609
--------------------------------------
Average acc: 155243 / 162770 =  95.376
Robust  acc:  9911 / 14487 =  68.413
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6931 /  8535 =  81.207
0, 1  acc:  7394 /  8276 =  89.343
1, 0  acc:  2821 /  2874 =  98.156
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17318 / 19867 =  87.170
Robust  acc:  6931 /  8535 =  81.207
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.493
Robust Acc: 85.410 | Best Acc: 97.460
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  8342 /  9767 =  85.410
0, 1  acc:  6745 /  7535 =  89.516
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17665 / 19962 =  88.493
Robust  acc:  8342 /  9767 =  85.410
------------------------------------
Accuracies by groups:
0, 0  acc:  8342 /  9767 =  85.410
0, 1  acc:  6745 /  7535 =  89.516
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17665 / 19962 =  88.493
Robust  acc:  8342 /  9767 =  85.410
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8342 /  9767 =  85.410
0, 1  acc:  6745 /  7535 =  89.516
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17665 / 19962 =  88.493
Robust  acc:  8342 /  9767 =  85.410
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.064 | Val Loss: 0.003 | Val Acc: 83.621
Training:
Accuracies by groups:
0, 0  acc:  9507 / 14381 =  66.108
0, 1  acc:  5216 /  6550 =  79.634
1, 0  acc: 131857 / 133244 =  98.959
1, 1  acc:  8156 /  8595 =  94.892
--------------------------------------
Average acc: 154736 / 162770 =  95.064
Robust  acc:  9507 / 14381 =  66.108
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6510 /  8535 =  76.274
0, 1  acc:  7086 /  8276 =  85.621
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16613 / 19867 =  83.621
Robust  acc:  6510 /  8535 =  76.274
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.347
Robust Acc: 81.263 | Best Acc: 98.750
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  7937 /  9767 =  81.263
0, 1  acc:  6483 /  7535 =  86.038
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17037 / 19962 =  85.347
Robust  acc:  7937 /  9767 =  81.263
------------------------------------
Accuracies by groups:
0, 0  acc:  7937 /  9767 =  81.263
0, 1  acc:  6483 /  7535 =  86.038
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17037 / 19962 =  85.347
Robust  acc:  7937 /  9767 =  81.263
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7937 /  9767 =  81.263
0, 1  acc:  6483 /  7535 =  86.038
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17037 / 19962 =  85.347
Robust  acc:  7937 /  9767 =  81.263
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 94.764 | Val Loss: 0.004 | Val Acc: 78.200
Training:
Accuracies by groups:
0, 0  acc:  9369 / 14532 =  64.472
0, 1  acc:  4990 /  6512 =  76.628
1, 0  acc: 131825 / 133184 =  98.980
1, 1  acc:  8063 /  8542 =  94.392
--------------------------------------
Average acc: 154247 / 162770 =  94.764
Robust  acc:  9369 / 14532 =  64.472
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5810 /  8535 =  68.073
0, 1  acc:  6686 /  8276 =  80.788
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15536 / 19867 =  78.200
Robust  acc:  5810 /  8535 =  68.073
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.802
Robust Acc: 73.656 | Best Acc: 99.274
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  7194 /  9767 =  73.656
0, 1  acc:  6103 /  7535 =  80.995
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15930 / 19962 =  79.802
Robust  acc:  7194 /  9767 =  73.656
------------------------------------
Accuracies by groups:
0, 0  acc:  7194 /  9767 =  73.656
0, 1  acc:  6103 /  7535 =  80.995
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15930 / 19962 =  79.802
Robust  acc:  7194 /  9767 =  73.656
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7194 /  9767 =  73.656
0, 1  acc:  6103 /  7535 =  80.995
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15930 / 19962 =  79.802
Robust  acc:  7194 /  9767 =  73.656
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.693 | Val Loss: 0.005 | Val Acc: 73.403
Training:
Accuracies by groups:
0, 0  acc:  9279 / 14539 =  63.821
0, 1  acc:  4864 /  6475 =  75.120
1, 0  acc: 131788 / 133105 =  99.011
1, 1  acc:  8201 /  8651 =  94.798
--------------------------------------
Average acc: 154132 / 162770 =  94.693
Robust  acc:  9279 / 14539 =  63.821
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5455 /  8535 =  63.913
0, 1  acc:  6086 /  8276 =  73.538
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14583 / 19867 =  73.403
Robust  acc:  5455 /  8535 =  63.913
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.912
Robust Acc: 69.315 | Best Acc: 99.556
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  6770 /  9767 =  69.315
0, 1  acc:  5538 /  7535 =  73.497
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14954 / 19962 =  74.912
Robust  acc:  6770 /  9767 =  69.315
------------------------------------
Accuracies by groups:
0, 0  acc:  6770 /  9767 =  69.315
0, 1  acc:  5538 /  7535 =  73.497
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14954 / 19962 =  74.912
Robust  acc:  6770 /  9767 =  69.315
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6770 /  9767 =  69.315
0, 1  acc:  5538 /  7535 =  73.497
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14954 / 19962 =  74.912
Robust  acc:  6770 /  9767 =  69.315
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.459 | Val Loss: 0.005 | Val Acc: 77.636
Training:
Accuracies by groups:
0, 0  acc:  9072 / 14580 =  62.222
0, 1  acc:  4896 /  6642 =  73.713
1, 0  acc: 131752 / 133136 =  98.960
1, 1  acc:  8031 /  8412 =  95.471
--------------------------------------
Average acc: 153751 / 162770 =  94.459
Robust  acc:  9072 / 14580 =  62.222
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6001 /  8535 =  70.310
0, 1  acc:  6396 /  8276 =  77.284
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15424 / 19867 =  77.636
Robust  acc:  6001 /  8535 =  70.310
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.195
Robust Acc: 75.356 | Best Acc: 98.911
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  7360 /  9767 =  75.356
0, 1  acc:  5824 /  7535 =  77.293
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15809 / 19962 =  79.195
Robust  acc:  7360 /  9767 =  75.356
------------------------------------
Accuracies by groups:
0, 0  acc:  7360 /  9767 =  75.356
0, 1  acc:  5824 /  7535 =  77.293
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15809 / 19962 =  79.195
Robust  acc:  7360 /  9767 =  75.356
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7360 /  9767 =  75.356
0, 1  acc:  5824 /  7535 =  77.293
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15809 / 19962 =  79.195
Robust  acc:  7360 /  9767 =  75.356
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.513 | Val Loss: 0.004 | Val Acc: 84.291
Training:
Accuracies by groups:
0, 0  acc:  9068 / 14591 =  62.148
0, 1  acc:  4753 /  6538 =  72.698
1, 0  acc: 131778 / 133013 =  99.072
1, 1  acc:  8240 /  8628 =  95.503
--------------------------------------
Average acc: 153839 / 162770 =  94.513
Robust  acc:  9068 / 14591 =  62.148
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6635 /  8535 =  77.739
0, 1  acc:  7122 /  8276 =  86.056
1, 0  acc:  2816 /  2874 =  97.982
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16746 / 19867 =  84.291
Robust  acc:  6635 /  8535 =  77.739
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.888
Robust Acc: 82.707 | Best Acc: 97.298
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  8078 /  9767 =  82.707
0, 1  acc:  6487 /  7535 =  86.092
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17145 / 19962 =  85.888
Robust  acc:  8078 /  9767 =  82.707
------------------------------------
Accuracies by groups:
0, 0  acc:  8078 /  9767 =  82.707
0, 1  acc:  6487 /  7535 =  86.092
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17145 / 19962 =  85.888
Robust  acc:  8078 /  9767 =  82.707
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8078 /  9767 =  82.707
0, 1  acc:  6487 /  7535 =  86.092
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17145 / 19962 =  85.888
Robust  acc:  8078 /  9767 =  82.707
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.414 | Val Loss: 0.007 | Val Acc: 61.358
Training:
Accuracies by groups:
0, 0  acc:  8828 / 14400 =  61.306
0, 1  acc:  4823 /  6689 =  72.103
1, 0  acc: 131642 / 132895 =  99.057
1, 1  acc:  8385 /  8786 =  95.436
--------------------------------------
Average acc: 153678 / 162770 =  94.414
Robust  acc:  8828 / 14400 =  61.306
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4165 /  8535 =  48.799
0, 1  acc:  4975 /  8276 =  60.114
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12190 / 19867 =  61.358
Robust  acc:  4165 /  8535 =  48.799
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 62.539
Robust Acc: 54.561 | Best Acc: 99.798
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  5329 /  9767 =  54.561
0, 1  acc:  4504 /  7535 =  59.774
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12484 / 19962 =  62.539
Robust  acc:  5329 /  9767 =  54.561
------------------------------------
Accuracies by groups:
0, 0  acc:  5329 /  9767 =  54.561
0, 1  acc:  4504 /  7535 =  59.774
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12484 / 19962 =  62.539
Robust  acc:  5329 /  9767 =  54.561
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5329 /  9767 =  54.561
0, 1  acc:  4504 /  7535 =  59.774
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12484 / 19962 =  62.539
Robust  acc:  5329 /  9767 =  54.561
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.216 | Val Loss: 0.005 | Val Acc: 72.789
Training:
Accuracies by groups:
0, 0  acc:  8750 / 14580 =  60.014
0, 1  acc:  4561 /  6524 =  69.911
1, 0  acc: 131787 / 133006 =  99.083
1, 1  acc:  8258 /  8660 =  95.358
--------------------------------------
Average acc: 153356 / 162770 =  94.216
Robust  acc:  8750 / 14580 =  60.014
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5499 /  8535 =  64.429
0, 1  acc:  5926 /  8276 =  71.605
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14461 / 19867 =  72.789
Robust  acc:  5499 /  8535 =  64.429
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.336
Robust Acc: 69.837 | Best Acc: 99.355
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  6821 /  9767 =  69.837
0, 1  acc:  5378 /  7535 =  71.374
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14839 / 19962 =  74.336
Robust  acc:  6821 /  9767 =  69.837
------------------------------------
Accuracies by groups:
0, 0  acc:  6821 /  9767 =  69.837
0, 1  acc:  5378 /  7535 =  71.374
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14839 / 19962 =  74.336
Robust  acc:  6821 /  9767 =  69.837
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6821 /  9767 =  69.837
0, 1  acc:  5378 /  7535 =  71.374
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14839 / 19962 =  74.336
Robust  acc:  6821 /  9767 =  69.837
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.187 | Val Loss: 0.005 | Val Acc: 78.608
Training:
Accuracies by groups:
0, 0  acc:  8495 / 14423 =  58.899
0, 1  acc:  4522 /  6558 =  68.954
1, 0  acc: 132019 / 133146 =  99.154
1, 1  acc:  8272 /  8643 =  95.708
--------------------------------------
Average acc: 153308 / 162770 =  94.187
Robust  acc:  8495 / 14423 =  58.899
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5914 /  8535 =  69.291
0, 1  acc:  6681 /  8276 =  80.727
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15617 / 19867 =  78.608
Robust  acc:  5914 /  8535 =  69.291
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.757
Robust Acc: 73.922 | Best Acc: 98.790
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  7220 /  9767 =  73.922
0, 1  acc:  6078 /  7535 =  80.664
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15921 / 19962 =  79.757
Robust  acc:  7220 /  9767 =  73.922
------------------------------------
Accuracies by groups:
0, 0  acc:  7220 /  9767 =  73.922
0, 1  acc:  6078 /  7535 =  80.664
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15921 / 19962 =  79.757
Robust  acc:  7220 /  9767 =  73.922
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7220 /  9767 =  73.922
0, 1  acc:  6078 /  7535 =  80.664
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15921 / 19962 =  79.757
Robust  acc:  7220 /  9767 =  73.922
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.092 | Val Loss: 0.004 | Val Acc: 84.522
Training:
Accuracies by groups:
0, 0  acc:  8409 / 14560 =  57.754
0, 1  acc:  4440 /  6518 =  68.119
1, 0  acc: 132027 / 133053 =  99.229
1, 1  acc:  8278 /  8639 =  95.821
--------------------------------------
Average acc: 153154 / 162770 =  94.092
Robust  acc:  8409 / 14560 =  57.754
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6850 /  8535 =  80.258
0, 1  acc:  6997 /  8276 =  84.546
1, 0  acc:  2772 /  2874 =  96.451
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16792 / 19867 =  84.522
Robust  acc:  6850 /  8535 =  80.258
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.913
Robust Acc: 84.446 | Best Acc: 95.645
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  8255 /  9767 =  84.519
0, 1  acc:  6363 /  7535 =  84.446
1, 0  acc:  2372 /  2480 =  95.645
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17150 / 19962 =  85.913
Robust  acc:  6363 /  7535 =  84.446
------------------------------------
Accuracies by groups:
0, 0  acc:  8255 /  9767 =  84.519
0, 1  acc:  6363 /  7535 =  84.446
1, 0  acc:  2372 /  2480 =  95.645
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17150 / 19962 =  85.913
Robust  acc:  6363 /  7535 =  84.446
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8255 /  9767 =  84.519
0, 1  acc:  6363 /  7535 =  84.446
1, 0  acc:  2372 /  2480 =  95.645
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17150 / 19962 =  85.913
Robust  acc:  6363 /  7535 =  84.446
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.118 | Val Loss: 0.003 | Val Acc: 91.735
Training:
Accuracies by groups:
0, 0  acc:  8363 / 14512 =  57.628
0, 1  acc:  4293 /  6487 =  66.179
1, 0  acc: 132226 / 133159 =  99.299
1, 1  acc:  8314 /  8612 =  96.540
--------------------------------------
Average acc: 153196 / 162770 =  94.118
Robust  acc:  8363 / 14512 =  57.628
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7635 /  8535 =  89.455
0, 1  acc:  7794 /  8276 =  94.176
1, 0  acc:  2647 /  2874 =  92.102
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18225 / 19867 =  91.735
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.566
Robust Acc: 76.111 | Best Acc: 93.948
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  8994 /  9767 =  92.086
0, 1  acc:  7079 /  7535 =  93.948
1, 0  acc:  2268 /  2480 =  91.452
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18478 / 19962 =  92.566
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8994 /  9767 =  92.086
0, 1  acc:  7079 /  7535 =  93.948
1, 0  acc:  2268 /  2480 =  91.452
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18478 / 19962 =  92.566
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8994 /  9767 =  92.086
0, 1  acc:  7079 /  7535 =  93.948
1, 0  acc:  2268 /  2480 =  91.452
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18478 / 19962 =  92.566
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.973 | Val Loss: 0.005 | Val Acc: 76.026
Training:
Accuracies by groups:
0, 0  acc:  8263 / 14611 =  56.553
0, 1  acc:  4278 /  6502 =  65.795
1, 0  acc: 131934 / 132848 =  99.312
1, 1  acc:  8485 /  8809 =  96.322
--------------------------------------
Average acc: 152960 / 162770 =  93.973
Robust  acc:  8263 / 14611 =  56.553
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5764 /  8535 =  67.534
0, 1  acc:  6309 /  8276 =  76.232
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15104 / 19867 =  76.026
Robust  acc:  5764 /  8535 =  67.534
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.673
Robust Acc: 72.550 | Best Acc: 99.032
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7086 /  9767 =  72.550
0, 1  acc:  5789 /  7535 =  76.828
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15505 / 19962 =  77.673
Robust  acc:  7086 /  9767 =  72.550
------------------------------------
Accuracies by groups:
0, 0  acc:  7086 /  9767 =  72.550
0, 1  acc:  5789 /  7535 =  76.828
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15505 / 19962 =  77.673
Robust  acc:  7086 /  9767 =  72.550
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7086 /  9767 =  72.550
0, 1  acc:  5789 /  7535 =  76.828
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15505 / 19962 =  77.673
Robust  acc:  7086 /  9767 =  72.550
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.939 | Val Loss: 0.005 | Val Acc: 80.551
Training:
Accuracies by groups:
0, 0  acc:  8246 / 14494 =  56.893
0, 1  acc:  4256 /  6625 =  64.242
1, 0  acc: 132027 / 132993 =  99.274
1, 1  acc:  8376 /  8658 =  96.743
--------------------------------------
Average acc: 152905 / 162770 =  93.939
Robust  acc:  8246 / 14494 =  56.893
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6295 /  8535 =  73.755
0, 1  acc:  6692 /  8276 =  80.860
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16003 / 19867 =  80.551
Robust  acc:  6295 /  8535 =  73.755
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.141
Robust Acc: 78.376 | Best Acc: 98.548
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  7655 /  9767 =  78.376
0, 1  acc:  6126 /  7535 =  81.301
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16397 / 19962 =  82.141
Robust  acc:  7655 /  9767 =  78.376
------------------------------------
Accuracies by groups:
0, 0  acc:  7655 /  9767 =  78.376
0, 1  acc:  6126 /  7535 =  81.301
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16397 / 19962 =  82.141
Robust  acc:  7655 /  9767 =  78.376
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7655 /  9767 =  78.376
0, 1  acc:  6126 /  7535 =  81.301
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16397 / 19962 =  82.141
Robust  acc:  7655 /  9767 =  78.376
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 94.081 | Val Loss: 0.005 | Val Acc: 71.591
Training:
Accuracies by groups:
0, 0  acc:  8152 / 14300 =  57.007
0, 1  acc:  4309 /  6573 =  65.556
1, 0  acc: 132301 / 133225 =  99.306
1, 1  acc:  8373 /  8672 =  96.552
--------------------------------------
Average acc: 153135 / 162770 =  94.081
Robust  acc:  8152 / 14300 =  57.007
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4949 /  8535 =  57.985
0, 1  acc:  6237 /  8276 =  75.362
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14223 / 19867 =  71.591
Robust  acc:  4949 /  8535 =  57.985
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.503
Robust Acc: 63.540 | Best Acc: 99.274
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  6206 /  9767 =  63.540
0, 1  acc:  5631 /  7535 =  74.731
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14473 / 19962 =  72.503
Robust  acc:  6206 /  9767 =  63.540
------------------------------------
Accuracies by groups:
0, 0  acc:  6206 /  9767 =  63.540
0, 1  acc:  5631 /  7535 =  74.731
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14473 / 19962 =  72.503
Robust  acc:  6206 /  9767 =  63.540
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6206 /  9767 =  63.540
0, 1  acc:  5631 /  7535 =  74.731
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14473 / 19962 =  72.503
Robust  acc:  6206 /  9767 =  63.540
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.975 | Val Loss: 0.005 | Val Acc: 77.198
Training:
Accuracies by groups:
0, 0  acc:  8112 / 14461 =  56.096
0, 1  acc:  4379 /  6584 =  66.510
1, 0  acc: 132107 / 133069 =  99.277
1, 1  acc:  8365 /  8656 =  96.638
--------------------------------------
Average acc: 152963 / 162770 =  93.975
Robust  acc:  8112 / 14461 =  56.096
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5840 /  8535 =  68.424
0, 1  acc:  6477 /  8276 =  78.262
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 15337 / 19867 =  77.198
Robust  acc:  5840 /  8535 =  68.424
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.344
Robust Acc: 73.738 | Best Acc: 98.629
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7202 /  9767 =  73.738
0, 1  acc:  5829 /  7535 =  77.359
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 15639 / 19962 =  78.344
Robust  acc:  7202 /  9767 =  73.738
------------------------------------
Accuracies by groups:
0, 0  acc:  7202 /  9767 =  73.738
0, 1  acc:  5829 /  7535 =  77.359
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 15639 / 19962 =  78.344
Robust  acc:  7202 /  9767 =  73.738
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7202 /  9767 =  73.738
0, 1  acc:  5829 /  7535 =  77.359
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 15639 / 19962 =  78.344
Robust  acc:  7202 /  9767 =  73.738
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.964 | Val Loss: 0.004 | Val Acc: 89.535
Training:
Accuracies by groups:
0, 0  acc:  8358 / 14657 =  57.024
0, 1  acc:  4251 /  6543 =  64.970
1, 0  acc: 132066 / 133001 =  99.297
1, 1  acc:  8271 /  8569 =  96.522
--------------------------------------
Average acc: 152946 / 162770 =  93.964
Robust  acc:  8358 / 14657 =  57.024
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7229 /  8535 =  84.698
0, 1  acc:  7636 /  8276 =  92.267
1, 0  acc:  2768 /  2874 =  96.312
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 17788 / 19867 =  89.535
Robust  acc:  7229 /  8535 =  84.698
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 90.782
Robust Acc: 81.111 | Best Acc: 95.444
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  8638 /  9767 =  88.441
0, 1  acc:  6971 /  7535 =  92.515
1, 0  acc:  2367 /  2480 =  95.444
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18122 / 19962 =  90.782
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8638 /  9767 =  88.441
0, 1  acc:  6971 /  7535 =  92.515
1, 0  acc:  2367 /  2480 =  95.444
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18122 / 19962 =  90.782
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8638 /  9767 =  88.441
0, 1  acc:  6971 /  7535 =  92.515
1, 0  acc:  2367 /  2480 =  95.444
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18122 / 19962 =  90.782
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 94.008 | Val Loss: 0.004 | Val Acc: 85.232
Training:
Accuracies by groups:
0, 0  acc:  8327 / 14523 =  57.337
0, 1  acc:  4315 /  6577 =  65.607
1, 0  acc: 132128 / 133099 =  99.270
1, 1  acc:  8247 /  8571 =  96.220
--------------------------------------
Average acc: 153017 / 162770 =  94.008
Robust  acc:  8327 / 14523 =  57.337
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7029 /  8535 =  82.355
0, 1  acc:  6985 /  8276 =  84.401
1, 0  acc:  2752 /  2874 =  95.755
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 16933 / 19867 =  85.232
Robust  acc:  7029 /  8535 =  82.355
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.214
Robust Acc: 83.915 | Best Acc: 94.194
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  8391 /  9767 =  85.912
0, 1  acc:  6323 /  7535 =  83.915
1, 0  acc:  2336 /  2480 =  94.194
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17210 / 19962 =  86.214
Robust  acc:  6323 /  7535 =  83.915
------------------------------------
Accuracies by groups:
0, 0  acc:  8391 /  9767 =  85.912
0, 1  acc:  6323 /  7535 =  83.915
1, 0  acc:  2336 /  2480 =  94.194
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17210 / 19962 =  86.214
Robust  acc:  6323 /  7535 =  83.915
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8391 /  9767 =  85.912
0, 1  acc:  6323 /  7535 =  83.915
1, 0  acc:  2336 /  2480 =  94.194
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17210 / 19962 =  86.214
Robust  acc:  6323 /  7535 =  83.915
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.974 | Val Loss: 0.003 | Val Acc: 92.193
Training:
Accuracies by groups:
0, 0  acc:  8287 / 14508 =  57.120
0, 1  acc:  4325 /  6622 =  65.313
1, 0  acc: 132000 / 132977 =  99.265
1, 1  acc:  8349 /  8663 =  96.375
--------------------------------------
Average acc: 152961 / 162770 =  93.974
Robust  acc:  8287 / 14508 =  57.120
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7626 /  8535 =  89.350
0, 1  acc:  7887 /  8276 =  95.300
1, 0  acc:  2661 /  2874 =  92.589
1, 1  acc:   142 /   182 =  78.022
------------------------------------
Average acc: 18316 / 19867 =  92.193
Robust  acc:   142 /   182 =  78.022
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.197
Robust Acc: 72.222 | Best Acc: 95.594
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8999 /  9767 =  92.137
0, 1  acc:  7203 /  7535 =  95.594
1, 0  acc:  2272 /  2480 =  91.613
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18604 / 19962 =  93.197
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8999 /  9767 =  92.137
0, 1  acc:  7203 /  7535 =  95.594
1, 0  acc:  2272 /  2480 =  91.613
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18604 / 19962 =  93.197
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8999 /  9767 =  92.137
0, 1  acc:  7203 /  7535 =  95.594
1, 0  acc:  2272 /  2480 =  91.613
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18604 / 19962 =  93.197
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.135 | Val Loss: 0.005 | Val Acc: 77.707
Training:
Accuracies by groups:
0, 0  acc:  8279 / 14339 =  57.738
0, 1  acc:  4452 /  6646 =  66.988
1, 0  acc: 132197 / 133151 =  99.284
1, 1  acc:  8296 /  8634 =  96.085
--------------------------------------
Average acc: 153224 / 162770 =  94.135
Robust  acc:  8279 / 14339 =  57.738
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6024 /  8535 =  70.580
0, 1  acc:  6404 /  8276 =  77.380
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15438 / 19867 =  77.707
Robust  acc:  6024 /  8535 =  70.580
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.085
Robust Acc: 76.083 | Best Acc: 97.702
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  7431 /  9767 =  76.083
0, 1  acc:  5767 /  7535 =  76.536
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 15787 / 19962 =  79.085
Robust  acc:  7431 /  9767 =  76.083
------------------------------------
Accuracies by groups:
0, 0  acc:  7431 /  9767 =  76.083
0, 1  acc:  5767 /  7535 =  76.536
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 15787 / 19962 =  79.085
Robust  acc:  7431 /  9767 =  76.083
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7431 /  9767 =  76.083
0, 1  acc:  5767 /  7535 =  76.536
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 15787 / 19962 =  79.085
Robust  acc:  7431 /  9767 =  76.083
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.035 | Val Loss: 0.005 | Val Acc: 72.230
Training:
Accuracies by groups:
0, 0  acc:  8367 / 14523 =  57.612
0, 1  acc:  4232 /  6455 =  65.562
1, 0  acc: 132164 / 133218 =  99.209
1, 1  acc:  8297 /  8574 =  96.769
--------------------------------------
Average acc: 153060 / 162770 =  94.035
Robust  acc:  8367 / 14523 =  57.612
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5274 /  8535 =  61.793
0, 1  acc:  6035 /  8276 =  72.922
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14350 / 19867 =  72.230
Robust  acc:  5274 /  8535 =  61.793
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.470
Robust Acc: 67.206 | Best Acc: 99.355
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  6564 /  9767 =  67.206
0, 1  acc:  5463 /  7535 =  72.502
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14666 / 19962 =  73.470
Robust  acc:  6564 /  9767 =  67.206
------------------------------------
Accuracies by groups:
0, 0  acc:  6564 /  9767 =  67.206
0, 1  acc:  5463 /  7535 =  72.502
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14666 / 19962 =  73.470
Robust  acc:  6564 /  9767 =  67.206
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6564 /  9767 =  67.206
0, 1  acc:  5463 /  7535 =  72.502
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14666 / 19962 =  73.470
Robust  acc:  6564 /  9767 =  67.206
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.087 | Val Loss: 0.005 | Val Acc: 80.153
Training:
Accuracies by groups:
0, 0  acc:  8606 / 14667 =  58.676
0, 1  acc:  4430 /  6566 =  67.469
1, 0  acc: 131865 / 132999 =  99.147
1, 1  acc:  8245 /  8538 =  96.568
--------------------------------------
Average acc: 153146 / 162770 =  94.087
Robust  acc:  8606 / 14667 =  58.676
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6400 /  8535 =  74.985
0, 1  acc:  6514 /  8276 =  78.710
1, 0  acc:  2831 /  2874 =  98.504
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15924 / 19867 =  80.153
Robust  acc:  6400 /  8535 =  74.985
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 81.600
Robust Acc: 77.996 | Best Acc: 98.266
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  7804 /  9767 =  79.902
0, 1  acc:  5877 /  7535 =  77.996
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16289 / 19962 =  81.600
Robust  acc:  5877 /  7535 =  77.996
------------------------------------
Accuracies by groups:
0, 0  acc:  7804 /  9767 =  79.902
0, 1  acc:  5877 /  7535 =  77.996
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16289 / 19962 =  81.600
Robust  acc:  5877 /  7535 =  77.996
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7804 /  9767 =  79.902
0, 1  acc:  5877 /  7535 =  77.996
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16289 / 19962 =  81.600
Robust  acc:  5877 /  7535 =  77.996
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.162 | Val Loss: 0.004 | Val Acc: 86.450
Training:
Accuracies by groups:
0, 0  acc:  8417 / 14368 =  58.582
0, 1  acc:  4354 /  6482 =  67.171
1, 0  acc: 132124 / 133199 =  99.193
1, 1  acc:  8373 /  8721 =  96.010
--------------------------------------
Average acc: 153268 / 162770 =  94.162
Robust  acc:  8417 / 14368 =  58.582
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6850 /  8535 =  80.258
0, 1  acc:  7339 /  8276 =  88.678
1, 0  acc:  2815 /  2874 =  97.947
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17175 / 19867 =  86.450
Robust  acc:  6850 /  8535 =  80.258
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 87.521
Robust Acc: 83.844 | Best Acc: 97.661
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  8189 /  9767 =  83.844
0, 1  acc:  6696 /  7535 =  88.865
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17471 / 19962 =  87.521
Robust  acc:  8189 /  9767 =  83.844
------------------------------------
Accuracies by groups:
0, 0  acc:  8189 /  9767 =  83.844
0, 1  acc:  6696 /  7535 =  88.865
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17471 / 19962 =  87.521
Robust  acc:  8189 /  9767 =  83.844
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8189 /  9767 =  83.844
0, 1  acc:  6696 /  7535 =  88.865
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17471 / 19962 =  87.521
Robust  acc:  8189 /  9767 =  83.844
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.241 | Val Loss: 0.004 | Val Acc: 84.955
Training:
Accuracies by groups:
0, 0  acc:  8583 / 14497 =  59.205
0, 1  acc:  4304 /  6415 =  67.093
1, 0  acc: 132244 / 133287 =  99.217
1, 1  acc:  8265 /  8571 =  96.430
--------------------------------------
Average acc: 153396 / 162770 =  94.241
Robust  acc:  8583 / 14497 =  59.205
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6834 /  8535 =  80.070
0, 1  acc:  7079 /  8276 =  85.536
1, 0  acc:  2801 /  2874 =  97.460
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 16878 / 19867 =  84.955
Robust  acc:  6834 /  8535 =  80.070
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.059
Robust Acc: 83.751 | Best Acc: 96.613
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  8180 /  9767 =  83.751
0, 1  acc:  6445 /  7535 =  85.534
1, 0  acc:  2396 /  2480 =  96.613
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17179 / 19962 =  86.059
Robust  acc:  8180 /  9767 =  83.751
------------------------------------
Accuracies by groups:
0, 0  acc:  8180 /  9767 =  83.751
0, 1  acc:  6445 /  7535 =  85.534
1, 0  acc:  2396 /  2480 =  96.613
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17179 / 19962 =  86.059
Robust  acc:  8180 /  9767 =  83.751
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8180 /  9767 =  83.751
0, 1  acc:  6445 /  7535 =  85.534
1, 0  acc:  2396 /  2480 =  96.613
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17179 / 19962 =  86.059
Robust  acc:  8180 /  9767 =  83.751
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.163 | Val Loss: 0.004 | Val Acc: 88.901
Training:
Accuracies by groups:
0, 0  acc:  8526 / 14536 =  58.654
0, 1  acc:  4417 /  6584 =  67.087
1, 0  acc: 132020 / 133023 =  99.246
1, 1  acc:  8306 /  8627 =  96.279
--------------------------------------
Average acc: 153269 / 162770 =  94.163
Robust  acc:  8526 / 14536 =  58.654
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7161 /  8535 =  83.902
0, 1  acc:  7564 /  8276 =  91.397
1, 0  acc:  2773 /  2874 =  96.486
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 17662 / 19867 =  88.901
Robust  acc:  7161 /  8535 =  83.902
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 90.196
Robust Acc: 83.889 | Best Acc: 95.927
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  8539 /  9767 =  87.427
0, 1  acc:  6936 /  7535 =  92.050
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18005 / 19962 =  90.196
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8539 /  9767 =  87.427
0, 1  acc:  6936 /  7535 =  92.050
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18005 / 19962 =  90.196
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8539 /  9767 =  87.427
0, 1  acc:  6936 /  7535 =  92.050
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18005 / 19962 =  90.196
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.267 | Val Loss: 0.003 | Val Acc: 92.223
Training:
Accuracies by groups:
0, 0  acc:  8576 / 14452 =  59.341
0, 1  acc:  4461 /  6498 =  68.652
1, 0  acc: 132128 / 133206 =  99.191
1, 1  acc:  8273 /  8614 =  96.041
--------------------------------------
Average acc: 153438 / 162770 =  94.267
Robust  acc:  8576 / 14452 =  59.341
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7629 /  8535 =  89.385
0, 1  acc:  7875 /  8276 =  95.155
1, 0  acc:  2675 /  2874 =  93.076
1, 1  acc:   143 /   182 =  78.571
------------------------------------
Average acc: 18322 / 19867 =  92.223
Robust  acc:   143 /   182 =  78.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.082
Robust Acc: 72.222 | Best Acc: 95.594
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  8955 /  9767 =  91.686
0, 1  acc:  7203 /  7535 =  95.594
1, 0  acc:  2293 /  2480 =  92.460
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18581 / 19962 =  93.082
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8955 /  9767 =  91.686
0, 1  acc:  7203 /  7535 =  95.594
1, 0  acc:  2293 /  2480 =  92.460
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18581 / 19962 =  93.082
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8955 /  9767 =  91.686
0, 1  acc:  7203 /  7535 =  95.594
1, 0  acc:  2293 /  2480 =  92.460
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18581 / 19962 =  93.082
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.251 | Val Loss: 0.005 | Val Acc: 75.653
Training:
Accuracies by groups:
0, 0  acc:  8476 / 14398 =  58.869
0, 1  acc:  4626 /  6631 =  69.763
1, 0  acc: 132040 / 133133 =  99.179
1, 1  acc:  8271 /  8608 =  96.085
--------------------------------------
Average acc: 153413 / 162770 =  94.251
Robust  acc:  8476 / 14398 =  58.869
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5897 /  8535 =  69.092
0, 1  acc:  6104 /  8276 =  73.755
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15030 / 19867 =  75.653
Robust  acc:  5897 /  8535 =  69.092
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.502
Robust Acc: 73.842 | Best Acc: 98.952
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  7280 /  9767 =  74.537
0, 1  acc:  5564 /  7535 =  73.842
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15471 / 19962 =  77.502
Robust  acc:  5564 /  7535 =  73.842
------------------------------------
Accuracies by groups:
0, 0  acc:  7280 /  9767 =  74.537
0, 1  acc:  5564 /  7535 =  73.842
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15471 / 19962 =  77.502
Robust  acc:  5564 /  7535 =  73.842
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7280 /  9767 =  74.537
0, 1  acc:  5564 /  7535 =  73.842
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15471 / 19962 =  77.502
Robust  acc:  5564 /  7535 =  73.842
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.334 | Val Loss: 0.003 | Val Acc: 88.619
Training:
Accuracies by groups:
0, 0  acc:  8631 / 14401 =  59.933
0, 1  acc:  4629 /  6655 =  69.557
1, 0  acc: 131977 / 133071 =  99.178
1, 1  acc:  8310 /  8643 =  96.147
--------------------------------------
Average acc: 153547 / 162770 =  94.334
Robust  acc:  8631 / 14401 =  59.933
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7104 /  8535 =  83.234
0, 1  acc:  7578 /  8276 =  91.566
1, 0  acc:  2765 /  2874 =  96.207
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 17606 / 19867 =  88.619
Robust  acc:  7104 /  8535 =  83.234
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.931
Robust Acc: 82.778 | Best Acc: 95.645
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  8482 /  9767 =  86.843
0, 1  acc:  6949 /  7535 =  92.223
1, 0  acc:  2372 /  2480 =  95.645
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17952 / 19962 =  89.931
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8482 /  9767 =  86.843
0, 1  acc:  6949 /  7535 =  92.223
1, 0  acc:  2372 /  2480 =  95.645
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17952 / 19962 =  89.931
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8482 /  9767 =  86.843
0, 1  acc:  6949 /  7535 =  92.223
1, 0  acc:  2372 /  2480 =  95.645
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17952 / 19962 =  89.931
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.264 | Val Loss: 0.007 | Val Acc: 59.576
Training:
Accuracies by groups:
0, 0  acc:  8422 / 14313 =  58.842
0, 1  acc:  4704 /  6721 =  69.990
1, 0  acc: 132020 / 133093 =  99.194
1, 1  acc:  8288 /  8643 =  95.893
--------------------------------------
Average acc: 153434 / 162770 =  94.264
Robust  acc:  8422 / 14313 =  58.842
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3757 /  8535 =  44.019
0, 1  acc:  5028 /  8276 =  60.754
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11836 / 19867 =  59.576
Robust  acc:  3757 /  8535 =  44.019
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 59.764
Robust Acc: 48.725 | Best Acc: 99.879
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  4759 /  9767 =  48.725
0, 1  acc:  4517 /  7535 =  59.947
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11930 / 19962 =  59.764
Robust  acc:  4759 /  9767 =  48.725
------------------------------------
Accuracies by groups:
0, 0  acc:  4759 /  9767 =  48.725
0, 1  acc:  4517 /  7535 =  59.947
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11930 / 19962 =  59.764
Robust  acc:  4759 /  9767 =  48.725
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4759 /  9767 =  48.725
0, 1  acc:  4517 /  7535 =  59.947
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11930 / 19962 =  59.764
Robust  acc:  4759 /  9767 =  48.725
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.207 | Val Loss: 0.010 | Val Acc: 36.900
Training:
Accuracies by groups:
0, 0  acc:  8574 / 14487 =  59.184
0, 1  acc:  4533 /  6544 =  69.270
1, 0  acc: 131980 / 133105 =  99.155
1, 1  acc:  8254 /  8634 =  95.599
--------------------------------------
Average acc: 153341 / 162770 =  94.207
Robust  acc:  8574 / 14487 =  59.184
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2176 /  8535 =  25.495
0, 1  acc:  2100 /  8276 =  25.375
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  7331 / 19867 =  36.900
Robust  acc:  2100 /  8276 =  25.375
------------------------------------
-------------------------------------------
Avg Test Loss: 0.010 | Avg Test Acc: 36.585
Robust Acc: 24.419 | Best Acc: 100.000
--------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  2805 /  9767 =  28.719
0, 1  acc:  1840 /  7535 =  24.419
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7303 / 19962 =  36.585
Robust  acc:  1840 /  7535 =  24.419
------------------------------------
Accuracies by groups:
0, 0  acc:  2805 /  9767 =  28.719
0, 1  acc:  1840 /  7535 =  24.419
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7303 / 19962 =  36.585
Robust  acc:  1840 /  7535 =  24.419
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2805 /  9767 =  28.719
0, 1  acc:  1840 /  7535 =  24.419
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7303 / 19962 =  36.585
Robust  acc:  1840 /  7535 =  24.419
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.364 | Val Loss: 0.003 | Val Acc: 93.039
Training:
Accuracies by groups:
0, 0  acc:  8679 / 14483 =  59.925
0, 1  acc:  4575 /  6540 =  69.954
1, 0  acc: 132204 / 133261 =  99.207
1, 1  acc:  8138 /  8486 =  95.899
--------------------------------------
Average acc: 153596 / 162770 =  94.364
Robust  acc:  8679 / 14483 =  59.925
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7768 /  8535 =  91.013
0, 1  acc:  7972 /  8276 =  96.327
1, 0  acc:  2605 /  2874 =  90.640
1, 1  acc:   139 /   182 =  76.374
------------------------------------
Average acc: 18484 / 19867 =  93.039
Robust  acc:   139 /   182 =  76.374
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.838
Robust Acc: 68.889 | Best Acc: 96.311
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  9124 /  9767 =  93.417
0, 1  acc:  7257 /  7535 =  96.311
1, 0  acc:  2227 /  2480 =  89.798
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18732 / 19962 =  93.838
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9124 /  9767 =  93.417
0, 1  acc:  7257 /  7535 =  96.311
1, 0  acc:  2227 /  2480 =  89.798
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18732 / 19962 =  93.838
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9124 /  9767 =  93.417
0, 1  acc:  7257 /  7535 =  96.311
1, 0  acc:  2227 /  2480 =  89.798
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18732 / 19962 =  93.838
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.386 | Val Loss: 0.007 | Val Acc: 53.873
Training:
Accuracies by groups:
0, 0  acc:  8821 / 14466 =  60.977
0, 1  acc:  4581 /  6613 =  69.273
1, 0  acc: 132011 / 133122 =  99.165
1, 1  acc:  8219 /  8569 =  95.916
--------------------------------------
Average acc: 153632 / 162770 =  94.386
Robust  acc:  8821 / 14466 =  60.977
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3210 /  8535 =  37.610
0, 1  acc:  4440 /  8276 =  53.649
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10703 / 19867 =  53.873
Robust  acc:  3210 /  8535 =  37.610
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 53.968
Robust Acc: 42.070 | Best Acc: 99.919
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  4109 /  9767 =  42.070
0, 1  acc:  4009 /  7535 =  53.205
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 10773 / 19962 =  53.968
Robust  acc:  4109 /  9767 =  42.070
------------------------------------
Accuracies by groups:
0, 0  acc:  4109 /  9767 =  42.070
0, 1  acc:  4009 /  7535 =  53.205
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 10773 / 19962 =  53.968
Robust  acc:  4109 /  9767 =  42.070
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4109 /  9767 =  42.070
0, 1  acc:  4009 /  7535 =  53.205
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 10773 / 19962 =  53.968
Robust  acc:  4109 /  9767 =  42.070
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.269 | Val Loss: 0.003 | Val Acc: 89.455
Training:
Accuracies by groups:
0, 0  acc:  8891 / 14753 =  60.266
0, 1  acc:  4659 /  6648 =  70.081
1, 0  acc: 131616 / 132737 =  99.155
1, 1  acc:  8275 /  8632 =  95.864
--------------------------------------
Average acc: 153441 / 162770 =  94.269
Robust  acc:  8891 / 14753 =  60.266
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7178 /  8535 =  84.101
0, 1  acc:  7661 /  8276 =  92.569
1, 0  acc:  2776 /  2874 =  96.590
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 17772 / 19867 =  89.455
Robust  acc:  7178 /  8535 =  84.101
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.717
Robust Acc: 84.444 | Best Acc: 95.968
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  8549 /  9767 =  87.529
0, 1  acc:  7028 /  7535 =  93.271
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18109 / 19962 =  90.717
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8549 /  9767 =  87.529
0, 1  acc:  7028 /  7535 =  93.271
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18109 / 19962 =  90.717
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8549 /  9767 =  87.529
0, 1  acc:  7028 /  7535 =  93.271
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18109 / 19962 =  90.717
Robust  acc:   152 /   180 =  84.444
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed20.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed20.pt
