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/seed49/stage_one_erm_model_b_epoch0_seed49.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: 49
Replicate: 0
No cuda: False
Resume: False
New slice: False
Num workers: 12
Evaluate: False
Data cmap: hsv
Test cmap: 
P correlation: 0.9
P corr by class: None
Train classes: ['blond', 'nonblond']
Train class ratios: None
Test shift: random
Flipped: False
Q: 0.7
Pretrained bmodel: True
Cosine: False
Exp: ours
Tau: 1.1
Gamma: None
Remove label noise: False
Model for remove samples: 
Remove ratio: 0.03
Supervised contrast: True
Prioritize spurious pos: False
Contrastive type: cnc
Compute auroc: False
Model type: resnet50_pt_cnc
Criterion: cross_entropy
Pretrained: False
Max grad norm: 1.0
Adam epsilon: 1e-08
Warmup steps: 0
Max grad norm s: 1.0
Adam epsilon s: 1e-08
Warmup steps s: 0
Grad max grad norm: 1.0
Grad adam epsilon: 1e-08
Grad warmup steps: 0
Device: cuda
Img file type: .png
Display image: False
Image path: ./images/celebA/celebA/config/contrastive_umaps
Log interval: 1
Log path: ./logs/celebA/config
Results path: ./results/celebA/config
Model path: ./model/celebA/config
Loss factor: 1
Supersample labels: False
Subsample labels: False
Weigh slice samples by loss: True
Val split: 0.2
Spurious train split: 0.2
Subsample groups: False
Train method: sc
Max robust acc: -1
Max robust epoch: -1
Max robust group acc: (None, None)
Root dir: ./datasets/data/CelebA/
Target name: Blond_Hair
Confounder names: ['Male']
Image mean: 0.449
Image std: 0.226
Augment data: False
Task: celebA
Num classes: 2
Experiment configs: config
Experiment name: cnc-celebA-sw=re-na=32-np=32-nn=32-nne=0-tsr=1-t=0.05-bf=None-cw=0.5-sud=0-me=50-bst=128-o=sgd-lr=0.0001-mo=0.9-wd=0.1-wdc=0.1-spur-me=1-bst=32-lr=0.001-mo=0.9-wd=0.0005-sts=0.2-s=49-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/seed49/stage_one_erm_model_b_epoch0_seed49.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8215, 0.0294],
        [0.1299, 0.0192]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 89.483 | Val Loss: 0.003 | Val Acc: 84.980
Training:
Accuracies by groups:
0, 0  acc: 10387 / 20177 =  51.479
0, 1  acc:  6224 / 10001 =  62.234
1, 0  acc: 121516 / 124353 =  97.719
1, 1  acc:  7524 /  8239 =  91.322
--------------------------------------
Average acc: 145651 / 162770 =  89.483
Robust  acc: 10387 / 20177 =  51.479
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6599 /  8535 =  77.317
0, 1  acc:  7289 /  8276 =  88.074
1, 0  acc:  2832 /  2874 =  98.539
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 16883 / 19867 =  84.980
Robust  acc:  6599 /  8535 =  77.317
------------------------------------
New max robust acc: 77.31693028705331
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed49.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed49.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 86.665
Robust Acc: 82.482 | Best Acc: 98.306
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  8056 /  9767 =  82.482
0, 1  acc:  6648 /  7535 =  88.228
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17300 / 19962 =  86.665
Robust  acc:  8056 /  9767 =  82.482
------------------------------------
Accuracies by groups:
0, 0  acc:  8056 /  9767 =  82.482
0, 1  acc:  6648 /  7535 =  88.228
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17300 / 19962 =  86.665
Robust  acc:  8056 /  9767 =  82.482
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8056 /  9767 =  82.482
0, 1  acc:  6648 /  7535 =  88.228
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17300 / 19962 =  86.665
Robust  acc:  8056 /  9767 =  82.482
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 93.550 | Val Loss: 0.002 | Val Acc: 86.978
Training:
Accuracies by groups:
0, 0  acc: 13928 / 20102 =  69.287
0, 1  acc:  8056 /  9829 =  81.962
1, 0  acc: 122764 / 124568 =  98.552
1, 1  acc:  7524 /  8271 =  90.968
--------------------------------------
Average acc: 152272 / 162770 =  93.550
Robust  acc: 13928 / 20102 =  69.287
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6773 /  8535 =  79.356
0, 1  acc:  7503 /  8276 =  90.660
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17280 / 19867 =  86.978
Robust  acc:  6773 /  8535 =  79.356
------------------------------------
New max robust acc: 79.35559461042764
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed49.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed49.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.213
Robust Acc: 83.813 | Best Acc: 98.266
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8186 /  9767 =  83.813
0, 1  acc:  6824 /  7535 =  90.564
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17609 / 19962 =  88.213
Robust  acc:  8186 /  9767 =  83.813
------------------------------------
Accuracies by groups:
0, 0  acc:  8186 /  9767 =  83.813
0, 1  acc:  6824 /  7535 =  90.564
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17609 / 19962 =  88.213
Robust  acc:  8186 /  9767 =  83.813
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8186 /  9767 =  83.813
0, 1  acc:  6824 /  7535 =  90.564
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17609 / 19962 =  88.213
Robust  acc:  8186 /  9767 =  83.813
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 94.418 | Val Loss: 0.002 | Val Acc: 89.218
Training:
Accuracies by groups:
0, 0  acc: 14648 / 20132 =  72.760
0, 1  acc:  8570 /  9935 =  86.261
1, 0  acc: 122798 / 124410 =  98.704
1, 1  acc:  7668 /  8293 =  92.464
--------------------------------------
Average acc: 153684 / 162770 =  94.418
Robust  acc: 14648 / 20132 =  72.760
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7013 /  8535 =  82.168
0, 1  acc:  7722 /  8276 =  93.306
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17725 / 19867 =  89.218
Robust  acc:  7013 /  8535 =  82.168
------------------------------------
New max robust acc: 82.1675454012888
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed49.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed49.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.951
Robust Acc: 85.000 | Best Acc: 97.702
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8375 /  9767 =  85.748
0, 1  acc:  7005 /  7535 =  92.966
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17956 / 19962 =  89.951
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8375 /  9767 =  85.748
0, 1  acc:  7005 /  7535 =  92.966
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17956 / 19962 =  89.951
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8375 /  9767 =  85.748
0, 1  acc:  7005 /  7535 =  92.966
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17956 / 19962 =  89.951
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.035 | Val Loss: 0.002 | Val Acc: 89.928
Training:
Accuracies by groups:
0, 0  acc: 14951 / 20013 =  74.706
0, 1  acc:  8777 /  9920 =  88.478
1, 0  acc: 123354 / 124731 =  98.896
1, 1  acc:  7607 /  8106 =  93.844
--------------------------------------
Average acc: 154689 / 162770 =  95.035
Robust  acc: 14951 / 20013 =  74.706
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7117 /  8535 =  83.386
0, 1  acc:  7770 /  8276 =  93.886
1, 0  acc:  2813 /  2874 =  97.878
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17866 / 19867 =  89.928
Robust  acc:  7117 /  8535 =  83.386
------------------------------------
New max robust acc: 83.38605741066199
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed49.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed49.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.607
Robust Acc: 82.222 | Best Acc: 97.581
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8471 /  9767 =  86.731
0, 1  acc:  7048 /  7535 =  93.537
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18087 / 19962 =  90.607
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8471 /  9767 =  86.731
0, 1  acc:  7048 /  7535 =  93.537
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18087 / 19962 =  90.607
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8471 /  9767 =  86.731
0, 1  acc:  7048 /  7535 =  93.537
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18087 / 19962 =  90.607
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 95.674 | Val Loss: 0.002 | Val Acc: 90.658
Training:
Accuracies by groups:
0, 0  acc: 15418 / 20098 =  76.714
0, 1  acc:  8893 /  9855 =  90.238
1, 0  acc: 123499 / 124523 =  99.178
1, 1  acc:  7919 /  8294 =  95.479
--------------------------------------
Average acc: 155729 / 162770 =  95.674
Robust  acc: 15418 / 20098 =  76.714
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7207 /  8535 =  84.441
0, 1  acc:  7836 /  8276 =  94.683
1, 0  acc:  2804 /  2874 =  97.564
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 18011 / 19867 =  90.658
Robust  acc:  7207 /  8535 =  84.441
------------------------------------
New max robust acc: 84.4405389572349
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed49.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed49.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.203
Robust Acc: 82.222 | Best Acc: 97.419
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8528 /  9767 =  87.314
0, 1  acc:  7114 /  7535 =  94.413
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18206 / 19962 =  91.203
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8528 /  9767 =  87.314
0, 1  acc:  7114 /  7535 =  94.413
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18206 / 19962 =  91.203
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8528 /  9767 =  87.314
0, 1  acc:  7114 /  7535 =  94.413
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18206 / 19962 =  91.203
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.536 | Val Loss: 0.001 | Val Acc: 92.777
Training:
Accuracies by groups:
0, 0  acc: 15931 / 19987 =  79.707
0, 1  acc:  9017 /  9862 =  91.432
1, 0  acc: 124055 / 124614 =  99.551
1, 1  acc:  8129 /  8307 =  97.857
--------------------------------------
Average acc: 157132 / 162770 =  96.536
Robust  acc: 15931 / 19987 =  79.707
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7551 /  8535 =  88.471
0, 1  acc:  7978 /  8276 =  96.399
1, 0  acc:  2750 /  2874 =  95.685
1, 1  acc:   153 /   182 =  84.066
------------------------------------
Average acc: 18432 / 19867 =  92.777
Robust  acc:   153 /   182 =  84.066
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 92.937
Robust Acc: 73.889 | Best Acc: 96.032
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8814 /  9767 =  90.243
0, 1  acc:  7236 /  7535 =  96.032
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18552 / 19962 =  92.937
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8814 /  9767 =  90.243
0, 1  acc:  7236 /  7535 =  96.032
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18552 / 19962 =  92.937
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8814 /  9767 =  90.243
0, 1  acc:  7236 /  7535 =  96.032
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18552 / 19962 =  92.937
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.313 | Val Loss: 0.001 | Val Acc: 93.175
Training:
Accuracies by groups:
0, 0  acc: 16698 / 20068 =  83.207
0, 1  acc:  9433 / 10118 =  93.230
1, 0  acc: 124117 / 124369 =  99.797
1, 1  acc:  8149 /  8215 =  99.197
--------------------------------------
Average acc: 158397 / 162770 =  97.313
Robust  acc: 16698 / 20068 =  83.207
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7608 /  8535 =  89.139
0, 1  acc:  8041 /  8276 =  97.160
1, 0  acc:  2718 /  2874 =  94.572
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18511 / 19867 =  93.175
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.282
Robust Acc: 71.667 | Best Acc: 96.775
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8858 /  9767 =  90.693
0, 1  acc:  7292 /  7535 =  96.775
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18621 / 19962 =  93.282
Robust  acc:   129 /   180 =  71.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8858 /  9767 =  90.693
0, 1  acc:  7292 /  7535 =  96.775
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18621 / 19962 =  93.282
Robust  acc:   129 /   180 =  71.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8858 /  9767 =  90.693
0, 1  acc:  7292 /  7535 =  96.775
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18621 / 19962 =  93.282
Robust  acc:   129 /   180 =  71.667
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 98.073 | Val Loss: 0.001 | Val Acc: 93.889
Training:
Accuracies by groups:
0, 0  acc: 17676 / 20218 =  87.427
0, 1  acc:  9524 /  9981 =  95.421
1, 0  acc: 124301 / 124414 =  99.909
1, 1  acc:  8133 /  8157 =  99.706
--------------------------------------
Average acc: 159634 / 162770 =  98.073
Robust  acc: 17676 / 20218 =  87.427
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7730 /  8535 =  90.568
0, 1  acc:  8100 /  8276 =  97.873
1, 0  acc:  2694 /  2874 =  93.737
1, 1  acc:   129 /   182 =  70.879
------------------------------------
Average acc: 18653 / 19867 =  93.889
Robust  acc:   129 /   182 =  70.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.989
Robust Acc: 65.000 | Best Acc: 97.492
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  9006 /  9767 =  92.208
0, 1  acc:  7346 /  7535 =  97.492
1, 0  acc:  2293 /  2480 =  92.460
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18762 / 19962 =  93.989
Robust  acc:   117 /   180 =  65.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9006 /  9767 =  92.208
0, 1  acc:  7346 /  7535 =  97.492
1, 0  acc:  2293 /  2480 =  92.460
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18762 / 19962 =  93.989
Robust  acc:   117 /   180 =  65.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9006 /  9767 =  92.208
0, 1  acc:  7346 /  7535 =  97.492
1, 0  acc:  2293 /  2480 =  92.460
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18762 / 19962 =  93.989
Robust  acc:   117 /   180 =  65.000
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.549 | Val Loss: 0.001 | Val Acc: 94.629
Training:
Accuracies by groups:
0, 0  acc: 18334 / 20234 =  90.610
0, 1  acc:  9520 /  9878 =  96.376
1, 0  acc: 124312 / 124390 =  99.937
1, 1  acc:  8242 /  8268 =  99.686
--------------------------------------
Average acc: 160408 / 162770 =  98.549
Robust  acc: 18334 / 20234 =  90.610
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7913 /  8535 =  92.712
0, 1  acc:  8157 /  8276 =  98.562
1, 0  acc:  2612 /  2874 =  90.884
1, 1  acc:   118 /   182 =  64.835
------------------------------------
Average acc: 18800 / 19867 =  94.629
Robust  acc:   118 /   182 =  64.835
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.770
Robust Acc: 55.556 | Best Acc: 98.354
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  9185 /  9767 =  94.041
0, 1  acc:  7411 /  7535 =  98.354
1, 0  acc:  2222 /  2480 =  89.597
1, 1  acc:   100 /   180 =  55.556
------------------------------------
Average acc: 18918 / 19962 =  94.770
Robust  acc:   100 /   180 =  55.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9185 /  9767 =  94.041
0, 1  acc:  7411 /  7535 =  98.354
1, 0  acc:  2222 /  2480 =  89.597
1, 1  acc:   100 /   180 =  55.556
------------------------------------
Average acc: 18918 / 19962 =  94.770
Robust  acc:   100 /   180 =  55.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9185 /  9767 =  94.041
0, 1  acc:  7411 /  7535 =  98.354
1, 0  acc:  2222 /  2480 =  89.597
1, 1  acc:   100 /   180 =  55.556
------------------------------------
Average acc: 18918 / 19962 =  94.770
Robust  acc:   100 /   180 =  55.556
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.759 | Val Loss: 0.001 | Val Acc: 94.670
Training:
Accuracies by groups:
0, 0  acc: 18426 / 20046 =  91.919
0, 1  acc:  9528 /  9809 =  97.135
1, 0  acc: 124463 / 124561 =  99.921
1, 1  acc:  8333 /  8354 =  99.749
--------------------------------------
Average acc: 160750 / 162770 =  98.759
Robust  acc: 18426 / 20046 =  91.919
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7970 /  8535 =  93.380
0, 1  acc:  8160 /  8276 =  98.598
1, 0  acc:  2573 /  2874 =  89.527
1, 1  acc:   105 /   182 =  57.692
------------------------------------
Average acc: 18808 / 19867 =  94.670
Robust  acc:   105 /   182 =  57.692
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.645
Robust Acc: 52.778 | Best Acc: 98.407
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9216 /  9767 =  94.359
0, 1  acc:  7415 /  7535 =  98.407
1, 0  acc:  2167 /  2480 =  87.379
1, 1  acc:    95 /   180 =  52.778
------------------------------------
Average acc: 18893 / 19962 =  94.645
Robust  acc:    95 /   180 =  52.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9216 /  9767 =  94.359
0, 1  acc:  7415 /  7535 =  98.407
1, 0  acc:  2167 /  2480 =  87.379
1, 1  acc:    95 /   180 =  52.778
------------------------------------
Average acc: 18893 / 19962 =  94.645
Robust  acc:    95 /   180 =  52.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9216 /  9767 =  94.359
0, 1  acc:  7415 /  7535 =  98.407
1, 0  acc:  2167 /  2480 =  87.379
1, 1  acc:    95 /   180 =  52.778
------------------------------------
Average acc: 18893 / 19962 =  94.645
Robust  acc:    95 /   180 =  52.778
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.780 | Val Loss: 0.002 | Val Acc: 93.124
Training:
Accuracies by groups:
0, 0  acc: 18924 / 20415 =  92.697
0, 1  acc:  9599 /  9861 =  97.343
1, 0  acc: 124143 / 124324 =  99.854
1, 1  acc:  8118 /  8170 =  99.364
--------------------------------------
Average acc: 160784 / 162770 =  98.780
Robust  acc: 18924 / 20415 =  92.697
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7580 /  8535 =  88.811
0, 1  acc:  8092 /  8276 =  97.777
1, 0  acc:  2700 /  2874 =  93.946
1, 1  acc:   129 /   182 =  70.879
------------------------------------
Average acc: 18501 / 19867 =  93.124
Robust  acc:   129 /   182 =  70.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.312
Robust Acc: 67.778 | Best Acc: 97.040
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8877 /  9767 =  90.888
0, 1  acc:  7312 /  7535 =  97.040
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18627 / 19962 =  93.312
Robust  acc:   122 /   180 =  67.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8877 /  9767 =  90.888
0, 1  acc:  7312 /  7535 =  97.040
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18627 / 19962 =  93.312
Robust  acc:   122 /   180 =  67.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8877 /  9767 =  90.888
0, 1  acc:  7312 /  7535 =  97.040
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18627 / 19962 =  93.312
Robust  acc:   122 /   180 =  67.778
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.483 | Val Loss: 0.001 | Val Acc: 93.764
Training:
Accuracies by groups:
0, 0  acc: 18212 / 19945 =  91.311
0, 1  acc:  9615 /  9913 =  96.994
1, 0  acc: 124370 / 124704 =  99.732
1, 1  acc:  8103 /  8208 =  98.721
--------------------------------------
Average acc: 160300 / 162770 =  98.483
Robust  acc: 18212 / 19945 =  91.311
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7699 /  8535 =  90.205
0, 1  acc:  8113 /  8276 =  98.030
1, 0  acc:  2686 /  2874 =  93.459
1, 1  acc:   130 /   182 =  71.429
------------------------------------
Average acc: 18628 / 19867 =  93.764
Robust  acc:   130 /   182 =  71.429
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.943
Robust Acc: 63.333 | Best Acc: 97.571
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8997 /  9767 =  92.116
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18753 / 19962 =  93.943
Robust  acc:   114 /   180 =  63.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8997 /  9767 =  92.116
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18753 / 19962 =  93.943
Robust  acc:   114 /   180 =  63.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8997 /  9767 =  92.116
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18753 / 19962 =  93.943
Robust  acc:   114 /   180 =  63.333
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.863 | Val Loss: 0.002 | Val Acc: 89.052
Training:
Accuracies by groups:
0, 0  acc: 17929 / 20260 =  88.495
0, 1  acc:  9473 /  9855 =  96.124
1, 0  acc: 123827 / 124418 =  99.525
1, 1  acc:  8062 /  8237 =  97.875
--------------------------------------
Average acc: 159291 / 162770 =  97.863
Robust  acc: 17929 / 20260 =  88.495
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7019 /  8535 =  82.238
0, 1  acc:  7743 /  8276 =  93.560
1, 0  acc:  2778 /  2874 =  96.660
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 17692 / 19867 =  89.052
Robust  acc:  7019 /  8535 =  82.238
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.475
Robust Acc: 76.667 | Best Acc: 96.492
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8305 /  9767 =  85.031
0, 1  acc:  7025 /  7535 =  93.232
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 17861 / 19962 =  89.475
Robust  acc:   138 /   180 =  76.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8305 /  9767 =  85.031
0, 1  acc:  7025 /  7535 =  93.232
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 17861 / 19962 =  89.475
Robust  acc:   138 /   180 =  76.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8305 /  9767 =  85.031
0, 1  acc:  7025 /  7535 =  93.232
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 17861 / 19962 =  89.475
Robust  acc:   138 /   180 =  76.667
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.228 | Val Loss: 0.002 | Val Acc: 87.603
Training:
Accuracies by groups:
0, 0  acc: 17250 / 20120 =  85.736
0, 1  acc:  9447 /  9976 =  94.697
1, 0  acc: 123744 / 124597 =  99.315
1, 1  acc:  7817 /  8077 =  96.781
--------------------------------------
Average acc: 158258 / 162770 =  97.228
Robust  acc: 17250 / 20120 =  85.736
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6587 /  8535 =  77.176
0, 1  acc:  7849 /  8276 =  94.841
1, 0  acc:  2813 /  2874 =  97.878
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 17404 / 19867 =  87.603
Robust  acc:  6587 /  8535 =  77.176
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.618
Robust Acc: 77.222 | Best Acc: 98.024
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  7974 /  9767 =  81.642
0, 1  acc:  7146 /  7535 =  94.837
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 17690 / 19962 =  88.618
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  7974 /  9767 =  81.642
0, 1  acc:  7146 /  7535 =  94.837
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 17690 / 19962 =  88.618
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7974 /  9767 =  81.642
0, 1  acc:  7146 /  7535 =  94.837
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 17690 / 19962 =  88.618
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.786 | Val Loss: 0.001 | Val Acc: 94.705
Training:
Accuracies by groups:
0, 0  acc: 16870 / 20193 =  83.544
0, 1  acc:  9226 /  9870 =  93.475
1, 0  acc: 123605 / 124594 =  99.206
1, 1  acc:  7837 /  8113 =  96.598
--------------------------------------
Average acc: 157538 / 162770 =  96.786
Robust  acc: 16870 / 20193 =  83.544
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7948 /  8535 =  93.122
0, 1  acc:  8146 /  8276 =  98.429
1, 0  acc:  2608 /  2874 =  90.745
1, 1  acc:   113 /   182 =  62.088
------------------------------------
Average acc: 18815 / 19867 =  94.705
Robust  acc:   113 /   182 =  62.088
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.975
Robust Acc: 60.000 | Best Acc: 98.115
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  9224 /  9767 =  94.440
0, 1  acc:  7393 /  7535 =  98.115
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18959 / 19962 =  94.975
Robust  acc:   108 /   180 =  60.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9224 /  9767 =  94.440
0, 1  acc:  7393 /  7535 =  98.115
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18959 / 19962 =  94.975
Robust  acc:   108 /   180 =  60.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9224 /  9767 =  94.440
0, 1  acc:  7393 /  7535 =  98.115
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18959 / 19962 =  94.975
Robust  acc:   108 /   180 =  60.000
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.076 | Val Loss: 0.002 | Val Acc: 90.446
Training:
Accuracies by groups:
0, 0  acc: 15866 / 19808 =  80.099
0, 1  acc:  9123 /  9922 =  91.947
1, 0  acc: 123511 / 124747 =  99.009
1, 1  acc:  7883 /  8293 =  95.056
--------------------------------------
Average acc: 156383 / 162770 =  96.076
Robust  acc: 15866 / 19808 =  80.099
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7361 /  8535 =  86.245
0, 1  acc:  7719 /  8276 =  93.270
1, 0  acc:  2732 /  2874 =  95.059
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 17969 / 19867 =  90.446
Robust  acc:  7361 /  8535 =  86.245
------------------------------------
New max robust acc: 86.24487404803749
debias model - Saving best checkpoint at epoch 15
replace: True
-> Updating checkpoint debias-wga-best_seed49.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed49.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.334
Robust Acc: 82.778 | Best Acc: 94.677
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8706 /  9767 =  89.137
0, 1  acc:  7029 /  7535 =  93.285
1, 0  acc:  2348 /  2480 =  94.677
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18232 / 19962 =  91.334
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8706 /  9767 =  89.137
0, 1  acc:  7029 /  7535 =  93.285
1, 0  acc:  2348 /  2480 =  94.677
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18232 / 19962 =  91.334
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8706 /  9767 =  89.137
0, 1  acc:  7029 /  7535 =  93.285
1, 0  acc:  2348 /  2480 =  94.677
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18232 / 19962 =  91.334
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.535 | Val Loss: 0.003 | Val Acc: 84.104
Training:
Accuracies by groups:
0, 0  acc: 15837 / 20185 =  78.459
0, 1  acc:  8941 /  9867 =  90.615
1, 0  acc: 122913 / 124425 =  98.785
1, 1  acc:  7811 /  8293 =  94.188
--------------------------------------
Average acc: 155502 / 162770 =  95.535
Robust  acc: 15837 / 20185 =  78.459
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6289 /  8535 =  73.685
0, 1  acc:  7389 /  8276 =  89.282
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16709 / 19867 =  84.104
Robust  acc:  6289 /  8535 =  73.685
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.971
Robust Acc: 78.315 | Best Acc: 98.952
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  7649 /  9767 =  78.315
0, 1  acc:  6700 /  7535 =  88.918
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 16962 / 19962 =  84.971
Robust  acc:  7649 /  9767 =  78.315
------------------------------------
Accuracies by groups:
0, 0  acc:  7649 /  9767 =  78.315
0, 1  acc:  6700 /  7535 =  88.918
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 16962 / 19962 =  84.971
Robust  acc:  7649 /  9767 =  78.315
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7649 /  9767 =  78.315
0, 1  acc:  6700 /  7535 =  88.918
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 16962 / 19962 =  84.971
Robust  acc:  7649 /  9767 =  78.315
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.042 | Val Loss: 0.004 | Val Acc: 76.579
Training:
Accuracies by groups:
0, 0  acc: 15178 / 19956 =  76.057
0, 1  acc:  8958 / 10028 =  89.330
1, 0  acc: 122717 / 124407 =  98.642
1, 1  acc:  7847 /  8379 =  93.651
--------------------------------------
Average acc: 154700 / 162770 =  95.042
Robust  acc: 15178 / 19956 =  76.057
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5594 /  8535 =  65.542
0, 1  acc:  6587 /  8276 =  79.592
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 15214 / 19867 =  76.579
Robust  acc:  5594 /  8535 =  65.542
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 78.334
Robust Acc: 71.445 | Best Acc: 99.355
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  6978 /  9767 =  71.445
0, 1  acc:  6025 /  7535 =  79.960
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15637 / 19962 =  78.334
Robust  acc:  6978 /  9767 =  71.445
------------------------------------
Accuracies by groups:
0, 0  acc:  6978 /  9767 =  71.445
0, 1  acc:  6025 /  7535 =  79.960
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15637 / 19962 =  78.334
Robust  acc:  6978 /  9767 =  71.445
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6978 /  9767 =  71.445
0, 1  acc:  6025 /  7535 =  79.960
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15637 / 19962 =  78.334
Robust  acc:  6978 /  9767 =  71.445
------------------------------------
Epoch:  19 | Train Loss: 0.002 | Train Acc: 94.475 | Val Loss: 0.004 | Val Acc: 78.225
Training:
Accuracies by groups:
0, 0  acc: 14878 / 20140 =  73.873
0, 1  acc:  8796 /  9948 =  88.420
1, 0  acc: 122573 / 124514 =  98.441
1, 1  acc:  7530 /  8168 =  92.189
--------------------------------------
Average acc: 153777 / 162770 =  94.475
Robust  acc: 14878 / 20140 =  73.873
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5754 /  8535 =  67.417
0, 1  acc:  6750 /  8276 =  81.561
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15541 / 19867 =  78.225
Robust  acc:  5754 /  8535 =  67.417
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.937
Robust Acc: 73.318 | Best Acc: 99.395
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  7161 /  9767 =  73.318
0, 1  acc:  6164 /  7535 =  81.805
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15957 / 19962 =  79.937
Robust  acc:  7161 /  9767 =  73.318
------------------------------------
Accuracies by groups:
0, 0  acc:  7161 /  9767 =  73.318
0, 1  acc:  6164 /  7535 =  81.805
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15957 / 19962 =  79.937
Robust  acc:  7161 /  9767 =  73.318
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7161 /  9767 =  73.318
0, 1  acc:  6164 /  7535 =  81.805
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15957 / 19962 =  79.937
Robust  acc:  7161 /  9767 =  73.318
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 94.184 | Val Loss: 0.003 | Val Acc: 84.839
Training:
Accuracies by groups:
0, 0  acc: 14608 / 20150 =  72.496
0, 1  acc:  8541 /  9854 =  86.675
1, 0  acc: 122603 / 124598 =  98.399
1, 1  acc:  7552 /  8168 =  92.458
--------------------------------------
Average acc: 153304 / 162770 =  94.184
Robust  acc: 14608 / 20150 =  72.496
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6597 /  8535 =  77.293
0, 1  acc:  7249 /  8276 =  87.591
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16855 / 19867 =  84.839
Robust  acc:  6597 /  8535 =  77.293
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.214
Robust Acc: 81.693 | Best Acc: 98.669
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  7979 /  9767 =  81.693
0, 1  acc:  6617 /  7535 =  87.817
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17210 / 19962 =  86.214
Robust  acc:  7979 /  9767 =  81.693
------------------------------------
Accuracies by groups:
0, 0  acc:  7979 /  9767 =  81.693
0, 1  acc:  6617 /  7535 =  87.817
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17210 / 19962 =  86.214
Robust  acc:  7979 /  9767 =  81.693
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7979 /  9767 =  81.693
0, 1  acc:  6617 /  7535 =  87.817
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17210 / 19962 =  86.214
Robust  acc:  7979 /  9767 =  81.693
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 93.869 | Val Loss: 0.002 | Val Acc: 94.619
Training:
Accuracies by groups:
0, 0  acc: 14530 / 20250 =  71.753
0, 1  acc:  8393 /  9816 =  85.503
1, 0  acc: 122282 / 124452 =  98.256
1, 1  acc:  7586 /  8252 =  91.929
--------------------------------------
Average acc: 152791 / 162770 =  93.869
Robust  acc: 14530 / 20250 =  71.753
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7987 /  8535 =  93.579
0, 1  acc:  8111 /  8276 =  98.006
1, 0  acc:  2582 /  2874 =  89.840
1, 1  acc:   118 /   182 =  64.835
------------------------------------
Average acc: 18798 / 19867 =  94.619
Robust  acc:   118 /   182 =  64.835
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.930
Robust Acc: 60.556 | Best Acc: 97.903
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  9259 /  9767 =  94.799
0, 1  acc:  7377 /  7535 =  97.903
1, 0  acc:  2205 /  2480 =  88.911
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18950 / 19962 =  94.930
Robust  acc:   109 /   180 =  60.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9259 /  9767 =  94.799
0, 1  acc:  7377 /  7535 =  97.903
1, 0  acc:  2205 /  2480 =  88.911
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18950 / 19962 =  94.930
Robust  acc:   109 /   180 =  60.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9259 /  9767 =  94.799
0, 1  acc:  7377 /  7535 =  97.903
1, 0  acc:  2205 /  2480 =  88.911
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18950 / 19962 =  94.930
Robust  acc:   109 /   180 =  60.556
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 93.762 | Val Loss: 0.005 | Val Acc: 75.326
Training:
Accuracies by groups:
0, 0  acc: 14376 / 20135 =  71.398
0, 1  acc:  8371 /  9959 =  84.055
1, 0  acc: 122328 / 124466 =  98.282
1, 1  acc:  7542 /  8210 =  91.864
--------------------------------------
Average acc: 152617 / 162770 =  93.762
Robust  acc: 14376 / 20135 =  71.398
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5706 /  8535 =  66.854
0, 1  acc:  6221 /  8276 =  75.169
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14965 / 19867 =  75.326
Robust  acc:  5706 /  8535 =  66.854
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.142
Robust Acc: 72.704 | Best Acc: 99.435
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  7101 /  9767 =  72.704
0, 1  acc:  5657 /  7535 =  75.076
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15399 / 19962 =  77.142
Robust  acc:  7101 /  9767 =  72.704
------------------------------------
Accuracies by groups:
0, 0  acc:  7101 /  9767 =  72.704
0, 1  acc:  5657 /  7535 =  75.076
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15399 / 19962 =  77.142
Robust  acc:  7101 /  9767 =  72.704
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7101 /  9767 =  72.704
0, 1  acc:  5657 /  7535 =  75.076
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15399 / 19962 =  77.142
Robust  acc:  7101 /  9767 =  72.704
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 93.475 | Val Loss: 0.003 | Val Acc: 89.384
Training:
Accuracies by groups:
0, 0  acc: 13866 / 19991 =  69.361
0, 1  acc:  8226 /  9937 =  82.782
1, 0  acc: 122613 / 124727 =  98.305
1, 1  acc:  7445 /  8115 =  91.744
--------------------------------------
Average acc: 152150 / 162770 =  93.475
Robust  acc: 13866 / 19991 =  69.361
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7185 /  8535 =  84.183
0, 1  acc:  7610 /  8276 =  91.953
1, 0  acc:  2798 /  2874 =  97.356
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17758 / 19867 =  89.384
Robust  acc:  7185 /  8535 =  84.183
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.627
Robust Acc: 86.667 | Best Acc: 96.653
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  8583 /  9767 =  87.878
0, 1  acc:  6955 /  7535 =  92.303
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 18091 / 19962 =  90.627
Robust  acc:   156 /   180 =  86.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8583 /  9767 =  87.878
0, 1  acc:  6955 /  7535 =  92.303
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 18091 / 19962 =  90.627
Robust  acc:   156 /   180 =  86.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8583 /  9767 =  87.878
0, 1  acc:  6955 /  7535 =  92.303
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 18091 / 19962 =  90.627
Robust  acc:   156 /   180 =  86.667
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 93.440 | Val Loss: 0.005 | Val Acc: 76.504
Training:
Accuracies by groups:
0, 0  acc: 14003 / 20169 =  69.428
0, 1  acc:  8172 / 10023 =  81.532
1, 0  acc: 122292 / 124281 =  98.400
1, 1  acc:  7626 /  8297 =  91.913
--------------------------------------
Average acc: 152093 / 162770 =  93.440
Robust  acc: 14003 / 20169 =  69.428
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5835 /  8535 =  68.366
0, 1  acc:  6325 /  8276 =  76.426
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 15199 / 19867 =  76.504
Robust  acc:  5835 /  8535 =  68.366
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 78.745
Robust Acc: 74.076 | Best Acc: 99.476
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  7235 /  9767 =  74.076
0, 1  acc:  5842 /  7535 =  77.532
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15719 / 19962 =  78.745
Robust  acc:  7235 /  9767 =  74.076
------------------------------------
Accuracies by groups:
0, 0  acc:  7235 /  9767 =  74.076
0, 1  acc:  5842 /  7535 =  77.532
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15719 / 19962 =  78.745
Robust  acc:  7235 /  9767 =  74.076
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7235 /  9767 =  74.076
0, 1  acc:  5842 /  7535 =  77.532
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15719 / 19962 =  78.745
Robust  acc:  7235 /  9767 =  74.076
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 93.373 | Val Loss: 0.003 | Val Acc: 92.561
Training:
Accuracies by groups:
0, 0  acc: 13758 / 20144 =  68.298
0, 1  acc:  8137 /  9994 =  81.419
1, 0  acc: 122404 / 124369 =  98.420
1, 1  acc:  7685 /  8263 =  93.005
--------------------------------------
Average acc: 151984 / 162770 =  93.373
Robust  acc: 13758 / 20144 =  68.298
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7711 /  8535 =  90.346
0, 1  acc:  7888 /  8276 =  95.312
1, 0  acc:  2641 /  2874 =  91.893
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18389 / 19867 =  92.561
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.292
Robust Acc: 75.556 | Best Acc: 95.395
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  9032 /  9767 =  92.475
0, 1  acc:  7188 /  7535 =  95.395
1, 0  acc:  2267 /  2480 =  91.411
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18623 / 19962 =  93.292
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9032 /  9767 =  92.475
0, 1  acc:  7188 /  7535 =  95.395
1, 0  acc:  2267 /  2480 =  91.411
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18623 / 19962 =  93.292
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9032 /  9767 =  92.475
0, 1  acc:  7188 /  7535 =  95.395
1, 0  acc:  2267 /  2480 =  91.411
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18623 / 19962 =  93.292
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 93.354 | Val Loss: 0.005 | Val Acc: 72.643
Training:
Accuracies by groups:
0, 0  acc: 13488 / 19917 =  67.721
0, 1  acc:  7852 /  9792 =  80.188
1, 0  acc: 123067 / 124900 =  98.532
1, 1  acc:  7545 /  8161 =  92.452
--------------------------------------
Average acc: 151952 / 162770 =  93.354
Robust  acc: 13488 / 19917 =  67.721
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5129 /  8535 =  60.094
0, 1  acc:  6260 /  8276 =  75.640
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14432 / 19867 =  72.643
Robust  acc:  5129 /  8535 =  60.094
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.431
Robust Acc: 66.284 | Best Acc: 99.556
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  6474 /  9767 =  66.284
0, 1  acc:  5738 /  7535 =  76.151
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14858 / 19962 =  74.431
Robust  acc:  6474 /  9767 =  66.284
------------------------------------
Accuracies by groups:
0, 0  acc:  6474 /  9767 =  66.284
0, 1  acc:  5738 /  7535 =  76.151
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14858 / 19962 =  74.431
Robust  acc:  6474 /  9767 =  66.284
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6474 /  9767 =  66.284
0, 1  acc:  5738 /  7535 =  76.151
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14858 / 19962 =  74.431
Robust  acc:  6474 /  9767 =  66.284
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 93.323 | Val Loss: 0.005 | Val Acc: 70.695
Training:
Accuracies by groups:
0, 0  acc: 13468 / 19909 =  67.648
0, 1  acc:  7998 /  9930 =  80.544
1, 0  acc: 122879 / 124769 =  98.485
1, 1  acc:  7557 /  8162 =  92.588
--------------------------------------
Average acc: 151902 / 162770 =  93.323
Robust  acc: 13468 / 19909 =  67.648
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5137 /  8535 =  60.187
0, 1  acc:  5871 /  8276 =  70.940
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14045 / 19867 =  70.695
Robust  acc:  5137 /  8535 =  60.187
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.718
Robust Acc: 66.704 | Best Acc: 99.476
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  6515 /  9767 =  66.704
0, 1  acc:  5359 /  7535 =  71.121
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14516 / 19962 =  72.718
Robust  acc:  6515 /  9767 =  66.704
------------------------------------
Accuracies by groups:
0, 0  acc:  6515 /  9767 =  66.704
0, 1  acc:  5359 /  7535 =  71.121
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14516 / 19962 =  72.718
Robust  acc:  6515 /  9767 =  66.704
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6515 /  9767 =  66.704
0, 1  acc:  5359 /  7535 =  71.121
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14516 / 19962 =  72.718
Robust  acc:  6515 /  9767 =  66.704
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 93.188 | Val Loss: 0.005 | Val Acc: 76.041
Training:
Accuracies by groups:
0, 0  acc: 13448 / 20166 =  66.687
0, 1  acc:  7901 /  9948 =  79.423
1, 0  acc: 122675 / 124409 =  98.606
1, 1  acc:  7658 /  8247 =  92.858
--------------------------------------
Average acc: 151682 / 162770 =  93.188
Robust  acc: 13448 / 20166 =  66.687
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5415 /  8535 =  63.445
0, 1  acc:  6650 /  8276 =  80.353
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15107 / 19867 =  76.041
Robust  acc:  5415 /  8535 =  63.445
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.527
Robust Acc: 69.192 | Best Acc: 99.476
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  6758 /  9767 =  69.192
0, 1  acc:  6080 /  7535 =  80.690
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15476 / 19962 =  77.527
Robust  acc:  6758 /  9767 =  69.192
------------------------------------
Accuracies by groups:
0, 0  acc:  6758 /  9767 =  69.192
0, 1  acc:  6080 /  7535 =  80.690
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15476 / 19962 =  77.527
Robust  acc:  6758 /  9767 =  69.192
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6758 /  9767 =  69.192
0, 1  acc:  6080 /  7535 =  80.690
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15476 / 19962 =  77.527
Robust  acc:  6758 /  9767 =  69.192
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 93.246 | Val Loss: 0.005 | Val Acc: 73.167
Training:
Accuracies by groups:
0, 0  acc: 13591 / 20225 =  67.199
0, 1  acc:  7753 /  9764 =  79.404
1, 0  acc: 122745 / 124517 =  98.577
1, 1  acc:  7687 /  8264 =  93.018
--------------------------------------
Average acc: 151776 / 162770 =  93.246
Robust  acc: 13591 / 20225 =  67.199
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5455 /  8535 =  63.913
0, 1  acc:  6049 /  8276 =  73.091
1, 0  acc:  2852 /  2874 =  99.235
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14536 / 19867 =  73.167
Robust  acc:  5455 /  8535 =  63.913
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.932
Robust Acc: 69.172 | Best Acc: 99.315
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  6756 /  9767 =  69.172
0, 1  acc:  5568 /  7535 =  73.895
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14958 / 19962 =  74.932
Robust  acc:  6756 /  9767 =  69.172
------------------------------------
Accuracies by groups:
0, 0  acc:  6756 /  9767 =  69.172
0, 1  acc:  5568 /  7535 =  73.895
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14958 / 19962 =  74.932
Robust  acc:  6756 /  9767 =  69.172
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6756 /  9767 =  69.172
0, 1  acc:  5568 /  7535 =  73.895
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14958 / 19962 =  74.932
Robust  acc:  6756 /  9767 =  69.172
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.185 | Val Loss: 0.004 | Val Acc: 82.081
Training:
Accuracies by groups:
0, 0  acc: 13526 / 20250 =  66.795
0, 1  acc:  7870 /  9986 =  78.810
1, 0  acc: 122711 / 124379 =  98.659
1, 1  acc:  7571 /  8155 =  92.839
--------------------------------------
Average acc: 151678 / 162770 =  93.185
Robust  acc: 13526 / 20250 =  66.795
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6385 /  8535 =  74.810
0, 1  acc:  6905 /  8276 =  83.434
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16307 / 19867 =  82.081
Robust  acc:  6385 /  8535 =  74.810
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.864
Robust Acc: 79.943 | Best Acc: 98.629
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7808 /  9767 =  79.943
0, 1  acc:  6319 /  7535 =  83.862
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16741 / 19962 =  83.864
Robust  acc:  7808 /  9767 =  79.943
------------------------------------
Accuracies by groups:
0, 0  acc:  7808 /  9767 =  79.943
0, 1  acc:  6319 /  7535 =  83.862
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16741 / 19962 =  83.864
Robust  acc:  7808 /  9767 =  79.943
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7808 /  9767 =  79.943
0, 1  acc:  6319 /  7535 =  83.862
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16741 / 19962 =  83.864
Robust  acc:  7808 /  9767 =  79.943
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.241 | Val Loss: 0.003 | Val Acc: 89.213
Training:
Accuracies by groups:
0, 0  acc: 13285 / 20022 =  66.352
0, 1  acc:  7833 /  9892 =  79.185
1, 0  acc: 123045 / 124702 =  98.671
1, 1  acc:  7605 /  8154 =  93.267
--------------------------------------
Average acc: 151768 / 162770 =  93.241
Robust  acc: 13285 / 20022 =  66.352
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7088 /  8535 =  83.046
0, 1  acc:  7695 /  8276 =  92.980
1, 0  acc:  2783 /  2874 =  96.834
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 17724 / 19867 =  89.213
Robust  acc:  7088 /  8535 =  83.046
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.201
Robust Acc: 80.556 | Best Acc: 96.169
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  8462 /  9767 =  86.639
0, 1  acc:  7014 /  7535 =  93.086
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18006 / 19962 =  90.201
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8462 /  9767 =  86.639
0, 1  acc:  7014 /  7535 =  93.086
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18006 / 19962 =  90.201
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8462 /  9767 =  86.639
0, 1  acc:  7014 /  7535 =  93.086
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18006 / 19962 =  90.201
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.287 | Val Loss: 0.003 | Val Acc: 92.213
Training:
Accuracies by groups:
0, 0  acc: 13368 / 19996 =  66.853
0, 1  acc:  7831 /  9953 =  78.680
1, 0  acc: 122980 / 124598 =  98.701
1, 1  acc:  7664 /  8223 =  93.202
--------------------------------------
Average acc: 151843 / 162770 =  93.287
Robust  acc: 13368 / 19996 =  66.853
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7411 /  8535 =  86.831
0, 1  acc:  8077 /  8276 =  97.595
1, 0  acc:  2718 /  2874 =  94.572
1, 1  acc:   114 /   182 =  62.637
------------------------------------
Average acc: 18320 / 19867 =  92.213
Robust  acc:   114 /   182 =  62.637
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.851
Robust Acc: 61.667 | Best Acc: 97.200
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  8759 /  9767 =  89.680
0, 1  acc:  7324 /  7535 =  97.200
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18535 / 19962 =  92.851
Robust  acc:   111 /   180 =  61.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8759 /  9767 =  89.680
0, 1  acc:  7324 /  7535 =  97.200
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18535 / 19962 =  92.851
Robust  acc:   111 /   180 =  61.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8759 /  9767 =  89.680
0, 1  acc:  7324 /  7535 =  97.200
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18535 / 19962 =  92.851
Robust  acc:   111 /   180 =  61.667
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.319 | Val Loss: 0.006 | Val Acc: 65.249
Training:
Accuracies by groups:
0, 0  acc: 13440 / 20180 =  66.601
0, 1  acc:  7783 /  9838 =  79.112
1, 0  acc: 123017 / 124563 =  98.759
1, 1  acc:  7655 /  8189 =  93.479
--------------------------------------
Average acc: 151895 / 162770 =  93.319
Robust  acc: 13440 / 20180 =  66.601
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5166 /  8535 =  60.527
0, 1  acc:  4782 /  8276 =  57.782
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 12963 / 19867 =  65.249
Robust  acc:  4782 /  8276 =  57.782
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 66.446
Robust Acc: 56.403 | Best Acc: 98.145
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  6408 /  9767 =  65.609
0, 1  acc:  4250 /  7535 =  56.403
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 13264 / 19962 =  66.446
Robust  acc:  4250 /  7535 =  56.403
------------------------------------
Accuracies by groups:
0, 0  acc:  6408 /  9767 =  65.609
0, 1  acc:  4250 /  7535 =  56.403
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 13264 / 19962 =  66.446
Robust  acc:  4250 /  7535 =  56.403
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6408 /  9767 =  65.609
0, 1  acc:  4250 /  7535 =  56.403
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 13264 / 19962 =  66.446
Robust  acc:  4250 /  7535 =  56.403
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.173 | Val Loss: 0.005 | Val Acc: 76.207
Training:
Accuracies by groups:
0, 0  acc: 13445 / 20243 =  66.418
0, 1  acc:  7866 /  9984 =  78.786
1, 0  acc: 122760 / 124377 =  98.700
1, 1  acc:  7586 /  8166 =  92.897
--------------------------------------
Average acc: 151657 / 162770 =  93.173
Robust  acc: 13445 / 20243 =  66.418
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5737 /  8535 =  67.217
0, 1  acc:  6368 /  8276 =  76.945
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15140 / 19867 =  76.207
Robust  acc:  5737 /  8535 =  67.217
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.194
Robust Acc: 73.666 | Best Acc: 99.234
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7195 /  9767 =  73.666
0, 1  acc:  5779 /  7535 =  76.695
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15609 / 19962 =  78.194
Robust  acc:  7195 /  9767 =  73.666
------------------------------------
Accuracies by groups:
0, 0  acc:  7195 /  9767 =  73.666
0, 1  acc:  5779 /  7535 =  76.695
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15609 / 19962 =  78.194
Robust  acc:  7195 /  9767 =  73.666
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7195 /  9767 =  73.666
0, 1  acc:  5779 /  7535 =  76.695
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15609 / 19962 =  78.194
Robust  acc:  7195 /  9767 =  73.666
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.244 | Val Loss: 0.006 | Val Acc: 59.184
Training:
Accuracies by groups:
0, 0  acc: 13324 / 20035 =  66.504
0, 1  acc:  7778 /  9866 =  78.836
1, 0  acc: 122849 / 124464 =  98.702
1, 1  acc:  7823 /  8405 =  93.076
--------------------------------------
Average acc: 151774 / 162770 =  93.244
Robust  acc: 13324 / 20035 =  66.504
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4161 /  8535 =  48.752
0, 1  acc:  4553 /  8276 =  55.014
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11758 / 19867 =  59.184
Robust  acc:  4161 /  8535 =  48.752
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 61.001
Robust Acc: 54.532 | Best Acc: 99.516
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  5422 /  9767 =  55.513
0, 1  acc:  4109 /  7535 =  54.532
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12177 / 19962 =  61.001
Robust  acc:  4109 /  7535 =  54.532
------------------------------------
Accuracies by groups:
0, 0  acc:  5422 /  9767 =  55.513
0, 1  acc:  4109 /  7535 =  54.532
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12177 / 19962 =  61.001
Robust  acc:  4109 /  7535 =  54.532
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5422 /  9767 =  55.513
0, 1  acc:  4109 /  7535 =  54.532
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12177 / 19962 =  61.001
Robust  acc:  4109 /  7535 =  54.532
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.384 | Val Loss: 0.004 | Val Acc: 85.539
Training:
Accuracies by groups:
0, 0  acc: 13200 / 19870 =  66.432
0, 1  acc:  7833 /  9917 =  78.986
1, 0  acc: 123245 / 124734 =  98.806
1, 1  acc:  7723 /  8249 =  93.623
--------------------------------------
Average acc: 152001 / 162770 =  93.384
Robust  acc: 13200 / 19870 =  66.432
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6533 /  8535 =  76.544
0, 1  acc:  7457 /  8276 =  90.104
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 16994 / 19867 =  85.539
Robust  acc:  6533 /  8535 =  76.544
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.100
Robust Acc: 81.397 | Best Acc: 98.266
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  7950 /  9767 =  81.397
0, 1  acc:  6841 /  7535 =  90.790
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17387 / 19962 =  87.100
Robust  acc:  7950 /  9767 =  81.397
------------------------------------
Accuracies by groups:
0, 0  acc:  7950 /  9767 =  81.397
0, 1  acc:  6841 /  7535 =  90.790
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17387 / 19962 =  87.100
Robust  acc:  7950 /  9767 =  81.397
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7950 /  9767 =  81.397
0, 1  acc:  6841 /  7535 =  90.790
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17387 / 19962 =  87.100
Robust  acc:  7950 /  9767 =  81.397
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.445 | Val Loss: 0.005 | Val Acc: 77.052
Training:
Accuracies by groups:
0, 0  acc: 13386 / 20006 =  66.910
0, 1  acc:  7854 /  9902 =  79.317
1, 0  acc: 123108 / 124604 =  98.799
1, 1  acc:  7753 /  8258 =  93.885
--------------------------------------
Average acc: 152101 / 162770 =  93.445
Robust  acc: 13386 / 20006 =  66.910
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5812 /  8535 =  68.096
0, 1  acc:  6460 /  8276 =  78.057
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15308 / 19867 =  77.052
Robust  acc:  5812 /  8535 =  68.096
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.216
Robust Acc: 74.516 | Best Acc: 99.153
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  7278 /  9767 =  74.516
0, 1  acc:  5904 /  7535 =  78.354
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15813 / 19962 =  79.216
Robust  acc:  7278 /  9767 =  74.516
------------------------------------
Accuracies by groups:
0, 0  acc:  7278 /  9767 =  74.516
0, 1  acc:  5904 /  7535 =  78.354
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15813 / 19962 =  79.216
Robust  acc:  7278 /  9767 =  74.516
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7278 /  9767 =  74.516
0, 1  acc:  5904 /  7535 =  78.354
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15813 / 19962 =  79.216
Robust  acc:  7278 /  9767 =  74.516
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.536 | Val Loss: 0.005 | Val Acc: 68.933
Training:
Accuracies by groups:
0, 0  acc: 13438 / 19864 =  67.650
0, 1  acc:  7835 /  9930 =  78.902
1, 0  acc: 123268 / 124738 =  98.822
1, 1  acc:  7708 /  8238 =  93.566
--------------------------------------
Average acc: 152249 / 162770 =  93.536
Robust  acc: 13438 / 19864 =  67.650
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5203 /  8535 =  60.961
0, 1  acc:  5449 /  8276 =  65.841
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 13695 / 19867 =  68.933
Robust  acc:  5203 /  8535 =  60.961
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 71.120
Robust Acc: 66.330 | Best Acc: 99.435
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  6557 /  9767 =  67.134
0, 1  acc:  4998 /  7535 =  66.330
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14197 / 19962 =  71.120
Robust  acc:  4998 /  7535 =  66.330
------------------------------------
Accuracies by groups:
0, 0  acc:  6557 /  9767 =  67.134
0, 1  acc:  4998 /  7535 =  66.330
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14197 / 19962 =  71.120
Robust  acc:  4998 /  7535 =  66.330
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6557 /  9767 =  67.134
0, 1  acc:  4998 /  7535 =  66.330
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14197 / 19962 =  71.120
Robust  acc:  4998 /  7535 =  66.330
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.455 | Val Loss: 0.005 | Val Acc: 77.224
Training:
Accuracies by groups:
0, 0  acc: 13547 / 20153 =  67.221
0, 1  acc:  7752 /  9752 =  79.491
1, 0  acc: 123099 / 124592 =  98.802
1, 1  acc:  7719 /  8273 =  93.304
--------------------------------------
Average acc: 152117 / 162770 =  93.455
Robust  acc: 13547 / 20153 =  67.221
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5857 /  8535 =  68.623
0, 1  acc:  6450 /  8276 =  77.936
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15342 / 19867 =  77.224
Robust  acc:  5857 /  8535 =  68.623
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 78.735
Robust Acc: 73.718 | Best Acc: 99.032
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  7200 /  9767 =  73.718
0, 1  acc:  5886 /  7535 =  78.115
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15717 / 19962 =  78.735
Robust  acc:  7200 /  9767 =  73.718
------------------------------------
Accuracies by groups:
0, 0  acc:  7200 /  9767 =  73.718
0, 1  acc:  5886 /  7535 =  78.115
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15717 / 19962 =  78.735
Robust  acc:  7200 /  9767 =  73.718
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7200 /  9767 =  73.718
0, 1  acc:  5886 /  7535 =  78.115
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15717 / 19962 =  78.735
Robust  acc:  7200 /  9767 =  73.718
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 93.333 | Val Loss: 0.009 | Val Acc: 39.080
Training:
Accuracies by groups:
0, 0  acc: 13598 / 20271 =  67.081
0, 1  acc:  7906 / 10040 =  78.745
1, 0  acc: 122858 / 124385 =  98.772
1, 1  acc:  7556 /  8074 =  93.584
--------------------------------------
Average acc: 151918 / 162770 =  93.333
Robust  acc: 13598 / 20271 =  67.081
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2194 /  8535 =  25.706
0, 1  acc:  2514 /  8276 =  30.377
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  7764 / 19867 =  39.080
Robust  acc:  2194 /  8535 =  25.706
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 40.267
Robust Acc: 30.613 | Best Acc: 100.000
--------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  2990 /  9767 =  30.613
0, 1  acc:  2389 /  7535 =  31.705
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  8038 / 19962 =  40.267
Robust  acc:  2990 /  9767 =  30.613
------------------------------------
Accuracies by groups:
0, 0  acc:  2990 /  9767 =  30.613
0, 1  acc:  2389 /  7535 =  31.705
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  8038 / 19962 =  40.267
Robust  acc:  2990 /  9767 =  30.613
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2990 /  9767 =  30.613
0, 1  acc:  2389 /  7535 =  31.705
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  8038 / 19962 =  40.267
Robust  acc:  2990 /  9767 =  30.613
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 93.510 | Val Loss: 0.006 | Val Acc: 60.382
Training:
Accuracies by groups:
0, 0  acc: 13277 / 19866 =  66.833
0, 1  acc:  8046 / 10049 =  80.068
1, 0  acc: 123057 / 124532 =  98.816
1, 1  acc:  7827 /  8323 =  94.041
--------------------------------------
Average acc: 152207 / 162770 =  93.510
Robust  acc: 13277 / 19866 =  66.833
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4280 /  8535 =  50.146
0, 1  acc:  4666 /  8276 =  56.380
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11996 / 19867 =  60.382
Robust  acc:  4280 /  8535 =  50.146
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 62.098
Robust Acc: 55.462 | Best Acc: 99.758
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  5417 /  9767 =  55.462
0, 1  acc:  4329 /  7535 =  57.452
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12396 / 19962 =  62.098
Robust  acc:  5417 /  9767 =  55.462
------------------------------------
Accuracies by groups:
0, 0  acc:  5417 /  9767 =  55.462
0, 1  acc:  4329 /  7535 =  57.452
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12396 / 19962 =  62.098
Robust  acc:  5417 /  9767 =  55.462
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5417 /  9767 =  55.462
0, 1  acc:  4329 /  7535 =  57.452
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12396 / 19962 =  62.098
Robust  acc:  5417 /  9767 =  55.462
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 93.456 | Val Loss: 0.003 | Val Acc: 94.614
Training:
Accuracies by groups:
0, 0  acc: 13629 / 20262 =  67.264
0, 1  acc:  8113 / 10136 =  80.041
1, 0  acc: 122723 / 124208 =  98.804
1, 1  acc:  7653 /  8164 =  93.741
--------------------------------------
Average acc: 152118 / 162770 =  93.456
Robust  acc: 13629 / 20262 =  67.264
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8031 /  8535 =  94.095
0, 1  acc:  8207 /  8276 =  99.166
1, 0  acc:  2505 /  2874 =  87.161
1, 1  acc:    54 /   182 =  29.670
------------------------------------
Average acc: 18797 / 19867 =  94.614
Robust  acc:    54 /   182 =  29.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 95.161
Robust Acc: 36.111 | Best Acc: 99.137
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  9344 /  9767 =  95.669
0, 1  acc:  7470 /  7535 =  99.137
1, 0  acc:  2117 /  2480 =  85.363
1, 1  acc:    65 /   180 =  36.111
------------------------------------
Average acc: 18996 / 19962 =  95.161
Robust  acc:    65 /   180 =  36.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9344 /  9767 =  95.669
0, 1  acc:  7470 /  7535 =  99.137
1, 0  acc:  2117 /  2480 =  85.363
1, 1  acc:    65 /   180 =  36.111
------------------------------------
Average acc: 18996 / 19962 =  95.161
Robust  acc:    65 /   180 =  36.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9344 /  9767 =  95.669
0, 1  acc:  7470 /  7535 =  99.137
1, 0  acc:  2117 /  2480 =  85.363
1, 1  acc:    65 /   180 =  36.111
------------------------------------
Average acc: 18996 / 19962 =  95.161
Robust  acc:    65 /   180 =  36.111
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 93.493 | Val Loss: 0.005 | Val Acc: 77.073
Training:
Accuracies by groups:
0, 0  acc: 13618 / 20166 =  67.530
0, 1  acc:  8065 / 10016 =  80.521
1, 0  acc: 122815 / 124367 =  98.752
1, 1  acc:  7681 /  8221 =  93.431
--------------------------------------
Average acc: 152179 / 162770 =  93.493
Robust  acc: 13618 / 20166 =  67.530
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6049 /  8535 =  70.873
0, 1  acc:  6229 /  8276 =  75.266
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15312 / 19867 =  77.073
Robust  acc:  6049 /  8535 =  70.873
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.504
Robust Acc: 74.851 | Best Acc: 98.871
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  7406 /  9767 =  75.827
0, 1  acc:  5640 /  7535 =  74.851
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15671 / 19962 =  78.504
Robust  acc:  5640 /  7535 =  74.851
------------------------------------
Accuracies by groups:
0, 0  acc:  7406 /  9767 =  75.827
0, 1  acc:  5640 /  7535 =  74.851
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15671 / 19962 =  78.504
Robust  acc:  5640 /  7535 =  74.851
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7406 /  9767 =  75.827
0, 1  acc:  5640 /  7535 =  74.851
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15671 / 19962 =  78.504
Robust  acc:  5640 /  7535 =  74.851
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 93.517 | Val Loss: 0.003 | Val Acc: 87.336
Training:
Accuracies by groups:
0, 0  acc: 13704 / 20195 =  67.858
0, 1  acc:  7865 /  9876 =  79.638
1, 0  acc: 122943 / 124480 =  98.765
1, 1  acc:  7705 /  8219 =  93.746
--------------------------------------
Average acc: 152217 / 162770 =  93.517
Robust  acc: 13704 / 20195 =  67.858
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6886 /  8535 =  80.680
0, 1  acc:  7523 /  8276 =  90.901
1, 0  acc:  2796 /  2874 =  97.286
1, 1  acc:   146 /   182 =  80.220
------------------------------------
Average acc: 17351 / 19867 =  87.336
Robust  acc:   146 /   182 =  80.220
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.518
Robust Acc: 80.556 | Best Acc: 96.573
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8240 /  9767 =  84.366
0, 1  acc:  6890 /  7535 =  91.440
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 17670 / 19962 =  88.518
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8240 /  9767 =  84.366
0, 1  acc:  6890 /  7535 =  91.440
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 17670 / 19962 =  88.518
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8240 /  9767 =  84.366
0, 1  acc:  6890 /  7535 =  91.440
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 17670 / 19962 =  88.518
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 93.545 | Val Loss: 0.005 | Val Acc: 73.947
Training:
Accuracies by groups:
0, 0  acc: 13800 / 20318 =  67.920
0, 1  acc:  8034 /  9988 =  80.437
1, 0  acc: 122737 / 124248 =  98.784
1, 1  acc:  7692 /  8216 =  93.622
--------------------------------------
Average acc: 152263 / 162770 =  93.545
Robust  acc: 13800 / 20318 =  67.920
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5817 /  8535 =  68.155
0, 1  acc:  5850 /  8276 =  70.686
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14691 / 19867 =  73.947
Robust  acc:  5817 /  8535 =  68.155
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.373
Robust Acc: 69.423 | Best Acc: 98.548
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  7196 /  9767 =  73.677
0, 1  acc:  5231 /  7535 =  69.423
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15046 / 19962 =  75.373
Robust  acc:  5231 /  7535 =  69.423
------------------------------------
Accuracies by groups:
0, 0  acc:  7196 /  9767 =  73.677
0, 1  acc:  5231 /  7535 =  69.423
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15046 / 19962 =  75.373
Robust  acc:  5231 /  7535 =  69.423
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7196 /  9767 =  73.677
0, 1  acc:  5231 /  7535 =  69.423
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15046 / 19962 =  75.373
Robust  acc:  5231 /  7535 =  69.423
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 93.542 | Val Loss: 0.004 | Val Acc: 85.584
Training:
Accuracies by groups:
0, 0  acc: 13551 / 20099 =  67.421
0, 1  acc:  7905 /  9887 =  79.953
1, 0  acc: 123088 / 124566 =  98.813
1, 1  acc:  7715 /  8218 =  93.879
--------------------------------------
Average acc: 152259 / 162770 =  93.542
Robust  acc: 13551 / 20099 =  67.421
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6599 /  8535 =  77.317
0, 1  acc:  7424 /  8276 =  89.705
1, 0  acc:  2817 /  2874 =  98.017
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17003 / 19867 =  85.584
Robust  acc:  6599 /  8535 =  77.317
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 87.136
Robust Acc: 82.267 | Best Acc: 98.145
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  8035 /  9767 =  82.267
0, 1  acc:  6776 /  7535 =  89.927
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17394 / 19962 =  87.136
Robust  acc:  8035 /  9767 =  82.267
------------------------------------
Accuracies by groups:
0, 0  acc:  8035 /  9767 =  82.267
0, 1  acc:  6776 /  7535 =  89.927
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17394 / 19962 =  87.136
Robust  acc:  8035 /  9767 =  82.267
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8035 /  9767 =  82.267
0, 1  acc:  6776 /  7535 =  89.927
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17394 / 19962 =  87.136
Robust  acc:  8035 /  9767 =  82.267
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 93.587 | Val Loss: 0.003 | Val Acc: 89.737
Training:
Accuracies by groups:
0, 0  acc: 13655 / 20060 =  68.071
0, 1  acc:  8096 / 10105 =  80.119
1, 0  acc: 122816 / 124332 =  98.781
1, 1  acc:  7765 /  8273 =  93.860
--------------------------------------
Average acc: 152332 / 162770 =  93.587
Robust  acc: 13655 / 20060 =  68.071
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7174 /  8535 =  84.054
0, 1  acc:  7714 /  8276 =  93.209
1, 0  acc:  2783 /  2874 =  96.834
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 17828 / 19867 =  89.737
Robust  acc:  7174 /  8535 =  84.054
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.903
Robust Acc: 82.222 | Best Acc: 96.250
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  7009 /  7535 =  93.019
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18146 / 19962 =  90.903
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  7009 /  7535 =  93.019
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18146 / 19962 =  90.903
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  7009 /  7535 =  93.019
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18146 / 19962 =  90.903
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 93.543 | Val Loss: 0.005 | Val Acc: 77.682
Training:
Accuracies by groups:
0, 0  acc: 13615 / 20117 =  67.679
0, 1  acc:  7943 /  9904 =  80.200
1, 0  acc: 123042 / 124563 =  98.779
1, 1  acc:  7660 /  8186 =  93.574
--------------------------------------
Average acc: 152260 / 162770 =  93.543
Robust  acc: 13615 / 20117 =  67.679
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5742 /  8535 =  67.276
0, 1  acc:  6652 /  8276 =  80.377
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15433 / 19867 =  77.682
Robust  acc:  5742 /  8535 =  67.276
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.256
Robust Acc: 72.868 | Best Acc: 99.234
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  7117 /  9767 =  72.868
0, 1  acc:  6074 /  7535 =  80.610
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15821 / 19962 =  79.256
Robust  acc:  7117 /  9767 =  72.868
------------------------------------
Accuracies by groups:
0, 0  acc:  7117 /  9767 =  72.868
0, 1  acc:  6074 /  7535 =  80.610
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15821 / 19962 =  79.256
Robust  acc:  7117 /  9767 =  72.868
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7117 /  9767 =  72.868
0, 1  acc:  6074 /  7535 =  80.610
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15821 / 19962 =  79.256
Robust  acc:  7117 /  9767 =  72.868
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 93.569 | Val Loss: 0.006 | Val Acc: 67.207
Training:
Accuracies by groups:
0, 0  acc: 13778 / 20297 =  67.882
0, 1  acc:  7970 /  9909 =  80.432
1, 0  acc: 122989 / 124475 =  98.806
1, 1  acc:  7565 /  8089 =  93.522
--------------------------------------
Average acc: 152302 / 162770 =  93.569
Robust  acc: 13778 / 20297 =  67.882
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4868 /  8535 =  57.036
0, 1  acc:  5440 /  8276 =  65.732
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 13352 / 19867 =  67.207
Robust  acc:  4868 /  8535 =  57.036
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.796
Robust Acc: 63.121 | Best Acc: 99.637
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  6165 /  9767 =  63.121
0, 1  acc:  4921 /  7535 =  65.309
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13733 / 19962 =  68.796
Robust  acc:  6165 /  9767 =  63.121
------------------------------------
Accuracies by groups:
0, 0  acc:  6165 /  9767 =  63.121
0, 1  acc:  4921 /  7535 =  65.309
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13733 / 19962 =  68.796
Robust  acc:  6165 /  9767 =  63.121
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6165 /  9767 =  63.121
0, 1  acc:  4921 /  7535 =  65.309
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13733 / 19962 =  68.796
Robust  acc:  6165 /  9767 =  63.121
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 93.569 | Val Loss: 0.003 | Val Acc: 94.433
Training:
Accuracies by groups:
0, 0  acc: 13814 / 20311 =  68.012
0, 1  acc:  8040 / 10002 =  80.384
1, 0  acc: 122739 / 124236 =  98.795
1, 1  acc:  7710 /  8221 =  93.784
--------------------------------------
Average acc: 152303 / 162770 =  93.569
Robust  acc: 13814 / 20311 =  68.012
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8215 /  8535 =  96.251
0, 1  acc:  8217 /  8276 =  99.287
1, 0  acc:  2261 /  2874 =  78.671
1, 1  acc:    68 /   182 =  37.363
------------------------------------
Average acc: 18761 / 19867 =  94.433
Robust  acc:    68 /   182 =  37.363
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.890
Robust Acc: 40.556 | Best Acc: 99.084
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  9501 /  9767 =  97.277
0, 1  acc:  7466 /  7535 =  99.084
1, 0  acc:  1902 /  2480 =  76.694
1, 1  acc:    73 /   180 =  40.556
------------------------------------
Average acc: 18942 / 19962 =  94.890
Robust  acc:    73 /   180 =  40.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9501 /  9767 =  97.277
0, 1  acc:  7466 /  7535 =  99.084
1, 0  acc:  1902 /  2480 =  76.694
1, 1  acc:    73 /   180 =  40.556
------------------------------------
Average acc: 18942 / 19962 =  94.890
Robust  acc:    73 /   180 =  40.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9501 /  9767 =  97.277
0, 1  acc:  7466 /  7535 =  99.084
1, 0  acc:  1902 /  2480 =  76.694
1, 1  acc:    73 /   180 =  40.556
------------------------------------
Average acc: 18942 / 19962 =  94.890
Robust  acc:    73 /   180 =  40.556
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed49.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed49.pt
