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/seed28/stage_one_erm_model_b_epoch0_seed28.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: 28
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=28-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/seed28/stage_one_erm_model_b_epoch0_seed28.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8243, 0.0266],
        [0.1331, 0.0160]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.003 | Val Loss: 0.003 | Val Acc: 83.037
Training:
Accuracies by groups:
0, 0  acc:  8809 / 18014 =  48.901
0, 1  acc:  4984 /  8880 =  56.126
1, 0  acc: 124987 / 127547 =  97.993
1, 1  acc:  7718 /  8329 =  92.664
--------------------------------------
Average acc: 146498 / 162770 =  90.003
Robust  acc:  8809 / 18014 =  48.901
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6446 /  8535 =  75.524
0, 1  acc:  7046 /  8276 =  85.138
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 16497 / 19867 =  83.037
Robust  acc:  6446 /  8535 =  75.524
------------------------------------
New max robust acc: 75.52431165787932
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed28.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed28.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.671
Robust Acc: 80.967 | Best Acc: 98.427
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6390 /  7535 =  84.804
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16902 / 19962 =  84.671
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6390 /  7535 =  84.804
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16902 / 19962 =  84.671
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6390 /  7535 =  84.804
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16902 / 19962 =  84.671
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.079 | Val Loss: 0.002 | Val Acc: 87.306
Training:
Accuracies by groups:
0, 0  acc: 12631 / 18300 =  69.022
0, 1  acc:  7286 /  9006 =  80.902
1, 0  acc: 125570 / 127182 =  98.733
1, 1  acc:  7646 /  8282 =  92.321
--------------------------------------
Average acc: 153133 / 162770 =  94.079
Robust  acc: 12631 / 18300 =  69.022
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6842 /  8535 =  80.164
0, 1  acc:  7506 /  8276 =  90.696
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17345 / 19867 =  87.306
Robust  acc:  6842 /  8535 =  80.164
------------------------------------
New max robust acc: 80.16403046280024
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed28.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed28.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.463
Robust Acc: 84.509 | Best Acc: 98.145
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8254 /  9767 =  84.509
0, 1  acc:  6812 /  7535 =  90.405
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17659 / 19962 =  88.463
Robust  acc:  8254 /  9767 =  84.509
------------------------------------
Accuracies by groups:
0, 0  acc:  8254 /  9767 =  84.509
0, 1  acc:  6812 /  7535 =  90.405
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17659 / 19962 =  88.463
Robust  acc:  8254 /  9767 =  84.509
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8254 /  9767 =  84.509
0, 1  acc:  6812 /  7535 =  90.405
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17659 / 19962 =  88.463
Robust  acc:  8254 /  9767 =  84.509
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 94.919 | Val Loss: 0.002 | Val Acc: 87.290
Training:
Accuracies by groups:
0, 0  acc: 13205 / 18226 =  72.451
0, 1  acc:  7644 /  8929 =  85.609
1, 0  acc: 125800 / 127205 =  98.895
1, 1  acc:  7851 /  8410 =  93.353
--------------------------------------
Average acc: 154500 / 162770 =  94.919
Robust  acc: 13205 / 18226 =  72.451
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6751 /  8535 =  79.098
0, 1  acc:  7576 /  8276 =  91.542
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17342 / 19867 =  87.290
Robust  acc:  6751 /  8535 =  79.098
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.363
Robust Acc: 83.639 | Best Acc: 98.508
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8169 /  9767 =  83.639
0, 1  acc:  6869 /  7535 =  91.161
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17639 / 19962 =  88.363
Robust  acc:  8169 /  9767 =  83.639
------------------------------------
Accuracies by groups:
0, 0  acc:  8169 /  9767 =  83.639
0, 1  acc:  6869 /  7535 =  91.161
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17639 / 19962 =  88.363
Robust  acc:  8169 /  9767 =  83.639
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8169 /  9767 =  83.639
0, 1  acc:  6869 /  7535 =  91.161
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17639 / 19962 =  88.363
Robust  acc:  8169 /  9767 =  83.639
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.452 | Val Loss: 0.002 | Val Acc: 89.259
Training:
Accuracies by groups:
0, 0  acc: 13778 / 18349 =  75.089
0, 1  acc:  7724 /  8828 =  87.494
1, 0  acc: 126228 / 127464 =  99.030
1, 1  acc:  7638 /  8129 =  93.960
--------------------------------------
Average acc: 155368 / 162770 =  95.452
Robust  acc: 13778 / 18349 =  75.089
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7033 /  8535 =  82.402
0, 1  acc:  7710 /  8276 =  93.161
1, 0  acc:  2821 /  2874 =  98.156
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17733 / 19867 =  89.259
Robust  acc:  7033 /  8535 =  82.402
------------------------------------
New max robust acc: 82.40187463386057
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed28.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed28.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.986
Robust Acc: 85.000 | Best Acc: 97.863
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8386 /  9767 =  85.861
0, 1  acc:  6997 /  7535 =  92.860
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17963 / 19962 =  89.986
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8386 /  9767 =  85.861
0, 1  acc:  6997 /  7535 =  92.860
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17963 / 19962 =  89.986
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8386 /  9767 =  85.861
0, 1  acc:  6997 /  7535 =  92.860
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17963 / 19962 =  89.986
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 95.965 | Val Loss: 0.002 | Val Acc: 90.723
Training:
Accuracies by groups:
0, 0  acc: 13860 / 18212 =  76.104
0, 1  acc:  8100 /  9080 =  89.207
1, 0  acc: 126184 / 127091 =  99.286
1, 1  acc:  8058 /  8387 =  96.077
--------------------------------------
Average acc: 156202 / 162770 =  95.965
Robust  acc: 13860 / 18212 =  76.104
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7231 /  8535 =  84.722
0, 1  acc:  7828 /  8276 =  94.587
1, 0  acc:  2800 /  2874 =  97.425
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 18024 / 19867 =  90.723
Robust  acc:  7231 /  8535 =  84.722
------------------------------------
New max robust acc: 84.72173403632102
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed28.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed28.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.208
Robust Acc: 81.667 | Best Acc: 97.097
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8546 /  9767 =  87.499
0, 1  acc:  7106 /  7535 =  94.307
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18207 / 19962 =  91.208
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8546 /  9767 =  87.499
0, 1  acc:  7106 /  7535 =  94.307
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18207 / 19962 =  91.208
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8546 /  9767 =  87.499
0, 1  acc:  7106 /  7535 =  94.307
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18207 / 19962 =  91.208
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.748 | Val Loss: 0.002 | Val Acc: 91.181
Training:
Accuracies by groups:
0, 0  acc: 14348 / 18140 =  79.096
0, 1  acc:  7993 /  8818 =  90.644
1, 0  acc: 127060 / 127571 =  99.599
1, 1  acc:  8076 /  8241 =  97.998
--------------------------------------
Average acc: 157477 / 162770 =  96.748
Robust  acc: 14348 / 18140 =  79.096
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7282 /  8535 =  85.319
0, 1  acc:  7867 /  8276 =  95.058
1, 0  acc:  2801 /  2874 =  97.460
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 18115 / 19867 =  91.181
Robust  acc:  7282 /  8535 =  85.319
------------------------------------
New max robust acc: 85.31927357937903
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed28.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed28.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.509
Robust Acc: 80.000 | Best Acc: 97.016
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8583 /  9767 =  87.878
0, 1  acc:  7134 /  7535 =  94.678
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18267 / 19962 =  91.509
Robust  acc:   144 /   180 =  80.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8583 /  9767 =  87.878
0, 1  acc:  7134 /  7535 =  94.678
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18267 / 19962 =  91.509
Robust  acc:   144 /   180 =  80.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8583 /  9767 =  87.878
0, 1  acc:  7134 /  7535 =  94.678
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18267 / 19962 =  91.509
Robust  acc:   144 /   180 =  80.000
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.528 | Val Loss: 0.002 | Val Acc: 92.248
Training:
Accuracies by groups:
0, 0  acc: 15057 / 18202 =  82.722
0, 1  acc:  8103 /  8683 =  93.320
1, 0  acc: 127389 / 127630 =  99.811
1, 1  acc:  8197 /  8255 =  99.297
--------------------------------------
Average acc: 158746 / 162770 =  97.528
Robust  acc: 15057 / 18202 =  82.722
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7454 /  8535 =  87.335
0, 1  acc:  7955 /  8276 =  96.121
1, 0  acc:  2767 /  2874 =  96.277
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 18327 / 19867 =  92.248
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.536
Robust Acc: 76.667 | Best Acc: 95.979
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8728 /  9767 =  89.362
0, 1  acc:  7232 /  7535 =  95.979
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18472 / 19962 =  92.536
Robust  acc:   138 /   180 =  76.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8728 /  9767 =  89.362
0, 1  acc:  7232 /  7535 =  95.979
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18472 / 19962 =  92.536
Robust  acc:   138 /   180 =  76.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8728 /  9767 =  89.362
0, 1  acc:  7232 /  7535 =  95.979
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18472 / 19962 =  92.536
Robust  acc:   138 /   180 =  76.667
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.969 | Val Loss: 0.001 | Val Acc: 93.774
Training:
Accuracies by groups:
0, 0  acc: 15449 / 18094 =  85.382
0, 1  acc:  8515 /  9031 =  94.286
1, 0  acc: 127243 / 127365 =  99.904
1, 1  acc:  8257 /  8280 =  99.722
--------------------------------------
Average acc: 159464 / 162770 =  97.969
Robust  acc: 15449 / 18094 =  85.382
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7701 /  8535 =  90.228
0, 1  acc:  8095 /  8276 =  97.813
1, 0  acc:  2703 /  2874 =  94.050
1, 1  acc:   131 /   182 =  71.978
------------------------------------
Average acc: 18630 / 19867 =  93.774
Robust  acc:   131 /   182 =  71.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.004
Robust Acc: 67.222 | Best Acc: 97.585
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8978 /  9767 =  91.922
0, 1  acc:  7353 /  7535 =  97.585
1, 0  acc:  2313 /  2480 =  93.266
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18765 / 19962 =  94.004
Robust  acc:   121 /   180 =  67.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8978 /  9767 =  91.922
0, 1  acc:  7353 /  7535 =  97.585
1, 0  acc:  2313 /  2480 =  93.266
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18765 / 19962 =  94.004
Robust  acc:   121 /   180 =  67.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8978 /  9767 =  91.922
0, 1  acc:  7353 /  7535 =  97.585
1, 0  acc:  2313 /  2480 =  93.266
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18765 / 19962 =  94.004
Robust  acc:   121 /   180 =  67.222
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.393 | Val Loss: 0.001 | Val Acc: 94.111
Training:
Accuracies by groups:
0, 0  acc: 15957 / 18071 =  88.302
0, 1  acc:  8539 /  8930 =  95.622
1, 0  acc: 127266 / 127353 =  99.932
1, 1  acc:  8393 /  8416 =  99.727
--------------------------------------
Average acc: 160155 / 162770 =  98.393
Robust  acc: 15957 / 18071 =  88.302
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7770 /  8535 =  91.037
0, 1  acc:  8110 /  8276 =  97.994
1, 0  acc:  2688 /  2874 =  93.528
1, 1  acc:   129 /   182 =  70.879
------------------------------------
Average acc: 18697 / 19867 =  94.111
Robust  acc:   129 /   182 =  70.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.089
Robust Acc: 66.667 | Best Acc: 97.717
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  9022 /  9767 =  92.372
0, 1  acc:  7363 /  7535 =  97.717
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18782 / 19962 =  94.089
Robust  acc:   120 /   180 =  66.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9022 /  9767 =  92.372
0, 1  acc:  7363 /  7535 =  97.717
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18782 / 19962 =  94.089
Robust  acc:   120 /   180 =  66.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9022 /  9767 =  92.372
0, 1  acc:  7363 /  7535 =  97.717
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18782 / 19962 =  94.089
Robust  acc:   120 /   180 =  66.667
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.676 | Val Loss: 0.001 | Val Acc: 94.680
Training:
Accuracies by groups:
0, 0  acc: 16266 / 17995 =  90.392
0, 1  acc:  8557 /  8869 =  96.482
1, 0  acc: 127354 / 127450 =  99.925
1, 1  acc:  8438 /  8456 =  99.787
--------------------------------------
Average acc: 160615 / 162770 =  98.676
Robust  acc: 16266 / 17995 =  90.392
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7907 /  8535 =  92.642
0, 1  acc:  8145 /  8276 =  98.417
1, 0  acc:  2639 /  2874 =  91.823
1, 1  acc:   119 /   182 =  65.385
------------------------------------
Average acc: 18810 / 19867 =  94.680
Robust  acc:   119 /   182 =  65.385
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.600
Robust Acc: 59.444 | Best Acc: 98.195
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9144 /  9767 =  93.621
0, 1  acc:  7399 /  7535 =  98.195
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18884 / 19962 =  94.600
Robust  acc:   107 /   180 =  59.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9144 /  9767 =  93.621
0, 1  acc:  7399 /  7535 =  98.195
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18884 / 19962 =  94.600
Robust  acc:   107 /   180 =  59.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9144 /  9767 =  93.621
0, 1  acc:  7399 /  7535 =  98.195
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18884 / 19962 =  94.600
Robust  acc:   107 /   180 =  59.444
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.653 | Val Loss: 0.001 | Val Acc: 93.587
Training:
Accuracies by groups:
0, 0  acc: 16379 / 18033 =  90.828
0, 1  acc:  8595 /  8896 =  96.616
1, 0  acc: 127310 / 127489 =  99.860
1, 1  acc:  8294 /  8352 =  99.306
--------------------------------------
Average acc: 160578 / 162770 =  98.653
Robust  acc: 16379 / 18033 =  90.828
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7688 /  8535 =  90.076
0, 1  acc:  8081 /  8276 =  97.644
1, 0  acc:  2695 /  2874 =  93.772
1, 1  acc:   129 /   182 =  70.879
------------------------------------
Average acc: 18593 / 19867 =  93.587
Robust  acc:   129 /   182 =  70.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.903
Robust Acc: 66.667 | Best Acc: 97.346
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8990 /  9767 =  92.045
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18745 / 19962 =  93.903
Robust  acc:   120 /   180 =  66.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8990 /  9767 =  92.045
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18745 / 19962 =  93.903
Robust  acc:   120 /   180 =  66.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8990 /  9767 =  92.045
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18745 / 19962 =  93.903
Robust  acc:   120 /   180 =  66.667
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.256 | Val Loss: 0.001 | Val Acc: 92.988
Training:
Accuracies by groups:
0, 0  acc: 16068 / 18114 =  88.705
0, 1  acc:  8640 /  8968 =  96.343
1, 0  acc: 127046 / 127417 =  99.709
1, 1  acc:  8177 /  8271 =  98.863
--------------------------------------
Average acc: 159931 / 162770 =  98.256
Robust  acc: 16068 / 18114 =  88.705
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7671 /  8535 =  89.877
0, 1  acc:  7982 /  8276 =  96.448
1, 0  acc:  2680 /  2874 =  93.250
1, 1  acc:   141 /   182 =  77.473
------------------------------------
Average acc: 18474 / 19867 =  92.988
Robust  acc:   141 /   182 =  77.473
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.423
Robust Acc: 75.000 | Best Acc: 95.859
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8994 /  9767 =  92.086
0, 1  acc:  7223 /  7535 =  95.859
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18649 / 19962 =  93.423
Robust  acc:   135 /   180 =  75.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8994 /  9767 =  92.086
0, 1  acc:  7223 /  7535 =  95.859
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18649 / 19962 =  93.423
Robust  acc:   135 /   180 =  75.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8994 /  9767 =  92.086
0, 1  acc:  7223 /  7535 =  95.859
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18649 / 19962 =  93.423
Robust  acc:   135 /   180 =  75.000
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.900 | Val Loss: 0.002 | Val Acc: 89.394
Training:
Accuracies by groups:
0, 0  acc: 15916 / 18248 =  87.221
0, 1  acc:  8331 /  8702 =  95.737
1, 0  acc: 126939 / 127488 =  99.569
1, 1  acc:  8166 /  8332 =  98.008
--------------------------------------
Average acc: 159352 / 162770 =  97.900
Robust  acc: 15916 / 18248 =  87.221
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6896 /  8535 =  80.797
0, 1  acc:  7896 /  8276 =  95.408
1, 0  acc:  2813 /  2874 =  97.878
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 17760 / 19867 =  89.394
Robust  acc:  6896 /  8535 =  80.797
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.816
Robust Acc: 78.333 | Best Acc: 97.782
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8244 /  9767 =  84.407
0, 1  acc:  7119 /  7535 =  94.479
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 17929 / 19962 =  89.816
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8244 /  9767 =  84.407
0, 1  acc:  7119 /  7535 =  94.479
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 17929 / 19962 =  89.816
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8244 /  9767 =  84.407
0, 1  acc:  7119 /  7535 =  94.479
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 17929 / 19962 =  89.816
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.299 | Val Loss: 0.002 | Val Acc: 91.478
Training:
Accuracies by groups:
0, 0  acc: 15300 / 18151 =  84.293
0, 1  acc:  8244 /  8820 =  93.469
1, 0  acc: 126846 / 127598 =  99.411
1, 1  acc:  7984 /  8201 =  97.354
--------------------------------------
Average acc: 158374 / 162770 =  97.299
Robust  acc: 15300 / 18151 =  84.293
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7446 /  8535 =  87.241
0, 1  acc:  7817 /  8276 =  94.454
1, 0  acc:  2751 /  2874 =  95.720
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 18174 / 19867 =  91.478
Robust  acc:  7446 /  8535 =  87.241
------------------------------------
New max robust acc: 87.24077328646749
debias model - Saving best checkpoint at epoch 13
replace: True
-> Updating checkpoint debias-wga-best_seed28.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed28.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.985
Robust Acc: 82.778 | Best Acc: 94.556
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8755 /  9767 =  89.639
0, 1  acc:  7113 /  7535 =  94.399
1, 0  acc:  2345 /  2480 =  94.556
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18362 / 19962 =  91.985
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8755 /  9767 =  89.639
0, 1  acc:  7113 /  7535 =  94.399
1, 0  acc:  2345 /  2480 =  94.556
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18362 / 19962 =  91.985
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8755 /  9767 =  89.639
0, 1  acc:  7113 /  7535 =  94.399
1, 0  acc:  2345 /  2480 =  94.556
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18362 / 19962 =  91.985
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.731 | Val Loss: 0.001 | Val Acc: 94.191
Training:
Accuracies by groups:
0, 0  acc: 15060 / 18393 =  81.879
0, 1  acc:  8216 /  8876 =  92.564
1, 0  acc: 126336 / 127354 =  99.201
1, 1  acc:  7837 /  8147 =  96.195
--------------------------------------
Average acc: 157449 / 162770 =  96.731
Robust  acc: 15060 / 18393 =  81.879
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7828 /  8535 =  91.716
0, 1  acc:  8126 /  8276 =  98.188
1, 0  acc:  2637 /  2874 =  91.754
1, 1  acc:   122 /   182 =  67.033
------------------------------------
Average acc: 18713 / 19867 =  94.191
Robust  acc:   122 /   182 =  67.033
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.665
Robust Acc: 60.000 | Best Acc: 97.877
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  9155 /  9767 =  93.734
0, 1  acc:  7375 /  7535 =  97.877
1, 0  acc:  2259 /  2480 =  91.089
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18897 / 19962 =  94.665
Robust  acc:   108 /   180 =  60.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9155 /  9767 =  93.734
0, 1  acc:  7375 /  7535 =  97.877
1, 0  acc:  2259 /  2480 =  91.089
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18897 / 19962 =  94.665
Robust  acc:   108 /   180 =  60.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9155 /  9767 =  93.734
0, 1  acc:  7375 /  7535 =  97.877
1, 0  acc:  2259 /  2480 =  91.089
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18897 / 19962 =  94.665
Robust  acc:   108 /   180 =  60.000
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.200 | Val Loss: 0.004 | Val Acc: 77.470
Training:
Accuracies by groups:
0, 0  acc: 14309 / 18101 =  79.051
0, 1  acc:  8132 /  8943 =  90.931
1, 0  acc: 126144 / 127324 =  99.073
1, 1  acc:  7999 /  8402 =  95.204
--------------------------------------
Average acc: 156584 / 162770 =  96.200
Robust  acc: 14309 / 18101 =  79.051
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5588 /  8535 =  65.472
0, 1  acc:  6760 /  8276 =  81.682
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15391 / 19867 =  77.470
Robust  acc:  5588 /  8535 =  65.472
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.321
Robust Acc: 71.168 | Best Acc: 99.597
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  6951 /  9767 =  71.168
0, 1  acc:  6240 /  7535 =  82.814
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15834 / 19962 =  79.321
Robust  acc:  6951 /  9767 =  71.168
------------------------------------
Accuracies by groups:
0, 0  acc:  6951 /  9767 =  71.168
0, 1  acc:  6240 /  7535 =  82.814
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15834 / 19962 =  79.321
Robust  acc:  6951 /  9767 =  71.168
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6951 /  9767 =  71.168
0, 1  acc:  6240 /  7535 =  82.814
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15834 / 19962 =  79.321
Robust  acc:  6951 /  9767 =  71.168
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.779 | Val Loss: 0.001 | Val Acc: 94.851
Training:
Accuracies by groups:
0, 0  acc: 14010 / 18100 =  77.403
0, 1  acc:  7864 /  8815 =  89.212
1, 0  acc: 126235 / 127608 =  98.924
1, 1  acc:  7791 /  8247 =  94.471
--------------------------------------
Average acc: 155900 / 162770 =  95.779
Robust  acc: 14010 / 18100 =  77.403
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8247 /  8535 =  96.626
0, 1  acc:  8224 /  8276 =  99.372
1, 0  acc:  2291 /  2874 =  79.715
1, 1  acc:    82 /   182 =  45.055
------------------------------------
Average acc: 18844 / 19867 =  94.851
Robust  acc:    82 /   182 =  45.055
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 95.271
Robust Acc: 40.000 | Best Acc: 99.270
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  9519 /  9767 =  97.461
0, 1  acc:  7480 /  7535 =  99.270
1, 0  acc:  1947 /  2480 =  78.508
1, 1  acc:    72 /   180 =  40.000
------------------------------------
Average acc: 19018 / 19962 =  95.271
Robust  acc:    72 /   180 =  40.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9519 /  9767 =  97.461
0, 1  acc:  7480 /  7535 =  99.270
1, 0  acc:  1947 /  2480 =  78.508
1, 1  acc:    72 /   180 =  40.000
------------------------------------
Average acc: 19018 / 19962 =  95.271
Robust  acc:    72 /   180 =  40.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9519 /  9767 =  97.461
0, 1  acc:  7480 /  7535 =  99.270
1, 0  acc:  1947 /  2480 =  78.508
1, 1  acc:    72 /   180 =  40.000
------------------------------------
Average acc: 19018 / 19962 =  95.271
Robust  acc:    72 /   180 =  40.000
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.283 | Val Loss: 0.004 | Val Acc: 79.841
Training:
Accuracies by groups:
0, 0  acc: 13620 / 18088 =  75.299
0, 1  acc:  7874 /  8940 =  88.076
1, 0  acc: 125758 / 127384 =  98.724
1, 1  acc:  7840 /  8358 =  93.802
--------------------------------------
Average acc: 155092 / 162770 =  95.283
Robust  acc: 13620 / 18088 =  75.299
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6037 /  8535 =  70.732
0, 1  acc:  6787 /  8276 =  82.008
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15862 / 19867 =  79.841
Robust  acc:  6037 /  8535 =  70.732
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.685
Robust Acc: 76.707 | Best Acc: 99.234
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  7492 /  9767 =  76.707
0, 1  acc:  6181 /  7535 =  82.031
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16306 / 19962 =  81.685
Robust  acc:  7492 /  9767 =  76.707
------------------------------------
Accuracies by groups:
0, 0  acc:  7492 /  9767 =  76.707
0, 1  acc:  6181 /  7535 =  82.031
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16306 / 19962 =  81.685
Robust  acc:  7492 /  9767 =  76.707
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7492 /  9767 =  76.707
0, 1  acc:  6181 /  7535 =  82.031
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16306 / 19962 =  81.685
Robust  acc:  7492 /  9767 =  76.707
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 94.799 | Val Loss: 0.004 | Val Acc: 77.913
Training:
Accuracies by groups:
0, 0  acc: 13555 / 18442 =  73.501
0, 1  acc:  7632 /  8851 =  86.228
1, 0  acc: 125379 / 127137 =  98.617
1, 1  acc:  7738 /  8340 =  92.782
--------------------------------------
Average acc: 154304 / 162770 =  94.799
Robust  acc: 13555 / 18442 =  73.501
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6090 /  8535 =  71.353
0, 1  acc:  6354 /  8276 =  76.776
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15479 / 19867 =  77.913
Robust  acc:  6090 /  8535 =  71.353
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.832
Robust Acc: 76.369 | Best Acc: 99.113
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  7459 /  9767 =  76.369
0, 1  acc:  5846 /  7535 =  77.585
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15936 / 19962 =  79.832
Robust  acc:  7459 /  9767 =  76.369
------------------------------------
Accuracies by groups:
0, 0  acc:  7459 /  9767 =  76.369
0, 1  acc:  5846 /  7535 =  77.585
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15936 / 19962 =  79.832
Robust  acc:  7459 /  9767 =  76.369
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7459 /  9767 =  76.369
0, 1  acc:  5846 /  7535 =  77.585
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15936 / 19962 =  79.832
Robust  acc:  7459 /  9767 =  76.369
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 94.592 | Val Loss: 0.002 | Val Acc: 93.945
Training:
Accuracies by groups:
0, 0  acc: 13232 / 18209 =  72.667
0, 1  acc:  7781 /  9123 =  85.290
1, 0  acc: 125413 / 127267 =  98.543
1, 1  acc:  7542 /  8171 =  92.302
--------------------------------------
Average acc: 153968 / 162770 =  94.592
Robust  acc: 13232 / 18209 =  72.667
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7833 /  8535 =  91.775
0, 1  acc:  8042 /  8276 =  97.173
1, 0  acc:  2656 /  2874 =  92.415
1, 1  acc:   133 /   182 =  73.077
------------------------------------
Average acc: 18664 / 19867 =  93.945
Robust  acc:   133 /   182 =  73.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.404
Robust Acc: 66.111 | Best Acc: 97.386
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  9124 /  9767 =  93.417
0, 1  acc:  7338 /  7535 =  97.386
1, 0  acc:  2264 /  2480 =  91.290
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18845 / 19962 =  94.404
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9124 /  9767 =  93.417
0, 1  acc:  7338 /  7535 =  97.386
1, 0  acc:  2264 /  2480 =  91.290
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18845 / 19962 =  94.404
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9124 /  9767 =  93.417
0, 1  acc:  7338 /  7535 =  97.386
1, 0  acc:  2264 /  2480 =  91.290
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18845 / 19962 =  94.404
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.237 | Val Loss: 0.002 | Val Acc: 92.113
Training:
Accuracies by groups:
0, 0  acc: 12912 / 18162 =  71.093
0, 1  acc:  7545 /  9022 =  83.629
1, 0  acc: 125202 / 127206 =  98.425
1, 1  acc:  7731 /  8380 =  92.255
--------------------------------------
Average acc: 153390 / 162770 =  94.237
Robust  acc: 12912 / 18162 =  71.093
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7618 /  8535 =  89.256
0, 1  acc:  7808 /  8276 =  94.345
1, 0  acc:  2716 /  2874 =  94.502
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 18300 / 19867 =  92.113
Robust  acc:   158 /   182 =  86.813
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.012
Robust Acc: 81.667 | Best Acc: 94.758
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8959 /  9767 =  91.727
0, 1  acc:  7140 /  7535 =  94.758
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18567 / 19962 =  93.012
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8959 /  9767 =  91.727
0, 1  acc:  7140 /  7535 =  94.758
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18567 / 19962 =  93.012
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8959 /  9767 =  91.727
0, 1  acc:  7140 /  7535 =  94.758
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18567 / 19962 =  93.012
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.084 | Val Loss: 0.004 | Val Acc: 79.126
Training:
Accuracies by groups:
0, 0  acc: 12754 / 18185 =  70.135
0, 1  acc:  7358 /  8935 =  82.350
1, 0  acc: 125383 / 127378 =  98.434
1, 1  acc:  7645 /  8272 =  92.420
--------------------------------------
Average acc: 153140 / 162770 =  94.084
Robust  acc: 12754 / 18185 =  70.135
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6134 /  8535 =  71.869
0, 1  acc:  6557 /  8276 =  79.229
1, 0  acc:  2852 /  2874 =  99.235
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15720 / 19867 =  79.126
Robust  acc:  6134 /  8535 =  71.869
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.598
Robust Acc: 77.137 | Best Acc: 98.952
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  7534 /  9767 =  77.137
0, 1  acc:  5929 /  7535 =  78.686
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16089 / 19962 =  80.598
Robust  acc:  7534 /  9767 =  77.137
------------------------------------
Accuracies by groups:
0, 0  acc:  7534 /  9767 =  77.137
0, 1  acc:  5929 /  7535 =  78.686
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16089 / 19962 =  80.598
Robust  acc:  7534 /  9767 =  77.137
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7534 /  9767 =  77.137
0, 1  acc:  5929 /  7535 =  78.686
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16089 / 19962 =  80.598
Robust  acc:  7534 /  9767 =  77.137
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 93.837 | Val Loss: 0.004 | Val Acc: 81.698
Training:
Accuracies by groups:
0, 0  acc: 12506 / 18208 =  68.684
0, 1  acc:  7064 /  8826 =  80.036
1, 0  acc: 125390 / 127363 =  98.451
1, 1  acc:  7779 /  8373 =  92.906
--------------------------------------
Average acc: 152739 / 162770 =  93.837
Robust  acc: 12506 / 18208 =  68.684
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6220 /  8535 =  72.876
0, 1  acc:  6993 /  8276 =  84.497
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16231 / 19867 =  81.698
Robust  acc:  6220 /  8535 =  72.876
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.544
Robust Acc: 78.335 | Best Acc: 98.548
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  7651 /  9767 =  78.335
0, 1  acc:  6410 /  7535 =  85.070
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16677 / 19962 =  83.544
Robust  acc:  7651 /  9767 =  78.335
------------------------------------
Accuracies by groups:
0, 0  acc:  7651 /  9767 =  78.335
0, 1  acc:  6410 /  7535 =  85.070
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16677 / 19962 =  83.544
Robust  acc:  7651 /  9767 =  78.335
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7651 /  9767 =  78.335
0, 1  acc:  6410 /  7535 =  85.070
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16677 / 19962 =  83.544
Robust  acc:  7651 /  9767 =  78.335
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 93.886 | Val Loss: 0.003 | Val Acc: 93.044
Training:
Accuracies by groups:
0, 0  acc: 12445 / 18165 =  68.511
0, 1  acc:  7118 /  8932 =  79.691
1, 0  acc: 125690 / 127544 =  98.546
1, 1  acc:  7566 /  8129 =  93.074
--------------------------------------
Average acc: 152819 / 162770 =  93.886
Robust  acc: 12445 / 18165 =  68.511
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7723 /  8535 =  90.486
0, 1  acc:  7968 /  8276 =  96.278
1, 0  acc:  2667 /  2874 =  92.797
1, 1  acc:   127 /   182 =  69.780
------------------------------------
Average acc: 18485 / 19867 =  93.044
Robust  acc:   127 /   182 =  69.780
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.783
Robust Acc: 66.111 | Best Acc: 96.510
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  9059 /  9767 =  92.751
0, 1  acc:  7272 /  7535 =  96.510
1, 0  acc:  2271 /  2480 =  91.573
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18721 / 19962 =  93.783
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9059 /  9767 =  92.751
0, 1  acc:  7272 /  7535 =  96.510
1, 0  acc:  2271 /  2480 =  91.573
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18721 / 19962 =  93.783
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9059 /  9767 =  92.751
0, 1  acc:  7272 /  7535 =  96.510
1, 0  acc:  2271 /  2480 =  91.573
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18721 / 19962 =  93.783
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 93.752 | Val Loss: 0.003 | Val Acc: 92.077
Training:
Accuracies by groups:
0, 0  acc: 12342 / 18240 =  67.664
0, 1  acc:  6872 /  8782 =  78.251
1, 0  acc: 125650 / 127468 =  98.574
1, 1  acc:  7736 /  8280 =  93.430
--------------------------------------
Average acc: 152600 / 162770 =  93.752
Robust  acc: 12342 / 18240 =  67.664
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7545 /  8535 =  88.401
0, 1  acc:  7896 /  8276 =  95.408
1, 0  acc:  2713 /  2874 =  94.398
1, 1  acc:   139 /   182 =  76.374
------------------------------------
Average acc: 18293 / 19867 =  92.077
Robust  acc:   139 /   182 =  76.374
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.947
Robust Acc: 75.556 | Best Acc: 95.647
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8898 /  9767 =  91.103
0, 1  acc:  7207 /  7535 =  95.647
1, 0  acc:  2313 /  2480 =  93.266
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18554 / 19962 =  92.947
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8898 /  9767 =  91.103
0, 1  acc:  7207 /  7535 =  95.647
1, 0  acc:  2313 /  2480 =  93.266
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18554 / 19962 =  92.947
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8898 /  9767 =  91.103
0, 1  acc:  7207 /  7535 =  95.647
1, 0  acc:  2313 /  2480 =  93.266
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18554 / 19962 =  92.947
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 93.684 | Val Loss: 0.006 | Val Acc: 71.641
Training:
Accuracies by groups:
0, 0  acc: 12195 / 18205 =  66.987
0, 1  acc:  6994 /  8999 =  77.720
1, 0  acc: 125474 / 127221 =  98.627
1, 1  acc:  7827 /  8345 =  93.793
--------------------------------------
Average acc: 152490 / 162770 =  93.684
Robust  acc: 12195 / 18205 =  66.987
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5384 /  8535 =  63.081
0, 1  acc:  5809 /  8276 =  70.191
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14233 / 19867 =  71.641
Robust  acc:  5384 /  8535 =  63.081
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.450
Robust Acc: 69.039 | Best Acc: 99.476
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  6743 /  9767 =  69.039
0, 1  acc:  5275 /  7535 =  70.007
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14662 / 19962 =  73.450
Robust  acc:  6743 /  9767 =  69.039
------------------------------------
Accuracies by groups:
0, 0  acc:  6743 /  9767 =  69.039
0, 1  acc:  5275 /  7535 =  70.007
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14662 / 19962 =  73.450
Robust  acc:  6743 /  9767 =  69.039
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6743 /  9767 =  69.039
0, 1  acc:  5275 /  7535 =  70.007
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14662 / 19962 =  73.450
Robust  acc:  6743 /  9767 =  69.039
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 93.657 | Val Loss: 0.005 | Val Acc: 78.442
Training:
Accuracies by groups:
0, 0  acc: 12178 / 18245 =  66.747
0, 1  acc:  6712 /  8728 =  76.902
1, 0  acc: 125860 / 127594 =  98.641
1, 1  acc:  7695 /  8203 =  93.807
--------------------------------------
Average acc: 152445 / 162770 =  93.657
Robust  acc: 12178 / 18245 =  66.747
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6077 /  8535 =  71.201
0, 1  acc:  6489 /  8276 =  78.407
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15584 / 19867 =  78.442
Robust  acc:  6077 /  8535 =  71.201
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.957
Robust Acc: 75.970 | Best Acc: 98.710
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  7420 /  9767 =  75.970
0, 1  acc:  5922 /  7535 =  78.593
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15961 / 19962 =  79.957
Robust  acc:  7420 /  9767 =  75.970
------------------------------------
Accuracies by groups:
0, 0  acc:  7420 /  9767 =  75.970
0, 1  acc:  5922 /  7535 =  78.593
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15961 / 19962 =  79.957
Robust  acc:  7420 /  9767 =  75.970
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7420 /  9767 =  75.970
0, 1  acc:  5922 /  7535 =  78.593
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15961 / 19962 =  79.957
Robust  acc:  7420 /  9767 =  75.970
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 93.585 | Val Loss: 0.003 | Val Acc: 91.045
Training:
Accuracies by groups:
0, 0  acc: 11972 / 18129 =  66.038
0, 1  acc:  6818 /  8934 =  76.315
1, 0  acc: 125816 / 127469 =  98.703
1, 1  acc:  7722 /  8238 =  93.736
--------------------------------------
Average acc: 152328 / 162770 =  93.585
Robust  acc: 11972 / 18129 =  66.038
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7442 /  8535 =  87.194
0, 1  acc:  7872 /  8276 =  95.118
1, 0  acc:  2637 /  2874 =  91.754
1, 1  acc:   137 /   182 =  75.275
------------------------------------
Average acc: 18088 / 19867 =  91.045
Robust  acc:   137 /   182 =  75.275
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.925
Robust Acc: 72.778 | Best Acc: 94.652
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  8812 /  9767 =  90.222
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2275 /  2480 =  91.734
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18350 / 19962 =  91.925
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8812 /  9767 =  90.222
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2275 /  2480 =  91.734
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18350 / 19962 =  91.925
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8812 /  9767 =  90.222
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2275 /  2480 =  91.734
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18350 / 19962 =  91.925
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 93.679 | Val Loss: 0.004 | Val Acc: 82.685
Training:
Accuracies by groups:
0, 0  acc: 11774 / 17877 =  65.861
0, 1  acc:  6976 /  9094 =  76.710
1, 0  acc: 125786 / 127340 =  98.780
1, 1  acc:  7946 /  8459 =  93.935
--------------------------------------
Average acc: 152482 / 162770 =  93.679
Robust  acc: 11774 / 17877 =  65.861
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6475 /  8535 =  75.864
0, 1  acc:  6961 /  8276 =  84.111
1, 0  acc:  2820 /  2874 =  98.121
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16427 / 19867 =  82.685
Robust  acc:  6475 /  8535 =  75.864
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.200
Robust Acc: 81.089 | Best Acc: 97.823
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  7920 /  9767 =  81.089
0, 1  acc:  6293 /  7535 =  83.517
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16808 / 19962 =  84.200
Robust  acc:  7920 /  9767 =  81.089
------------------------------------
Accuracies by groups:
0, 0  acc:  7920 /  9767 =  81.089
0, 1  acc:  6293 /  7535 =  83.517
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16808 / 19962 =  84.200
Robust  acc:  7920 /  9767 =  81.089
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7920 /  9767 =  81.089
0, 1  acc:  6293 /  7535 =  83.517
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16808 / 19962 =  84.200
Robust  acc:  7920 /  9767 =  81.089
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.577 | Val Loss: 0.003 | Val Acc: 94.181
Training:
Accuracies by groups:
0, 0  acc: 11988 / 18189 =  65.908
0, 1  acc:  6810 /  8996 =  75.700
1, 0  acc: 125740 / 127273 =  98.796
1, 1  acc:  7778 /  8312 =  93.576
--------------------------------------
Average acc: 152316 / 162770 =  93.577
Robust  acc: 11988 / 18189 =  65.908
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8173 /  8535 =  95.759
0, 1  acc:  8169 /  8276 =  98.707
1, 0  acc:  2286 /  2874 =  79.541
1, 1  acc:    83 /   182 =  45.604
------------------------------------
Average acc: 18711 / 19867 =  94.181
Robust  acc:    83 /   182 =  45.604
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.625
Robust Acc: 37.222 | Best Acc: 98.593
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  9451 /  9767 =  96.765
0, 1  acc:  7429 /  7535 =  98.593
1, 0  acc:  1942 /  2480 =  78.306
1, 1  acc:    67 /   180 =  37.222
------------------------------------
Average acc: 18889 / 19962 =  94.625
Robust  acc:    67 /   180 =  37.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9451 /  9767 =  96.765
0, 1  acc:  7429 /  7535 =  98.593
1, 0  acc:  1942 /  2480 =  78.306
1, 1  acc:    67 /   180 =  37.222
------------------------------------
Average acc: 18889 / 19962 =  94.625
Robust  acc:    67 /   180 =  37.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9451 /  9767 =  96.765
0, 1  acc:  7429 /  7535 =  98.593
1, 0  acc:  1942 /  2480 =  78.306
1, 1  acc:    67 /   180 =  37.222
------------------------------------
Average acc: 18889 / 19962 =  94.625
Robust  acc:    67 /   180 =  37.222
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.665 | Val Loss: 0.003 | Val Acc: 92.978
Training:
Accuracies by groups:
0, 0  acc: 11950 / 18207 =  65.634
0, 1  acc:  6632 /  8738 =  75.898
1, 0  acc: 126091 / 127603 =  98.815
1, 1  acc:  7785 /  8222 =  94.685
--------------------------------------
Average acc: 152458 / 162770 =  93.665
Robust  acc: 11950 / 18207 =  65.634
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7896 /  8535 =  92.513
0, 1  acc:  7947 /  8276 =  96.025
1, 0  acc:  2500 /  2874 =  86.987
1, 1  acc:   129 /   182 =  70.879
------------------------------------
Average acc: 18472 / 19867 =  92.978
Robust  acc:   129 /   182 =  70.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.959
Robust Acc: 67.222 | Best Acc: 96.244
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  9206 /  9767 =  94.256
0, 1  acc:  7252 /  7535 =  96.244
1, 0  acc:  2177 /  2480 =  87.782
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18756 / 19962 =  93.959
Robust  acc:   121 /   180 =  67.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9206 /  9767 =  94.256
0, 1  acc:  7252 /  7535 =  96.244
1, 0  acc:  2177 /  2480 =  87.782
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18756 / 19962 =  93.959
Robust  acc:   121 /   180 =  67.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9206 /  9767 =  94.256
0, 1  acc:  7252 /  7535 =  96.244
1, 0  acc:  2177 /  2480 =  87.782
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18756 / 19962 =  93.959
Robust  acc:   121 /   180 =  67.222
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.575 | Val Loss: 0.005 | Val Acc: 72.104
Training:
Accuracies by groups:
0, 0  acc: 12075 / 18383 =  65.686
0, 1  acc:  6772 /  8882 =  76.244
1, 0  acc: 125761 / 127333 =  98.765
1, 1  acc:  7704 /  8172 =  94.273
--------------------------------------
Average acc: 152312 / 162770 =  93.575
Robust  acc: 12075 / 18383 =  65.686
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5064 /  8535 =  59.332
0, 1  acc:  6222 /  8276 =  75.181
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14325 / 19867 =  72.104
Robust  acc:  5064 /  8535 =  59.332
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.835
Robust Acc: 65.158 | Best Acc: 99.234
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  6364 /  9767 =  65.158
0, 1  acc:  5741 /  7535 =  76.191
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14739 / 19962 =  73.835
Robust  acc:  6364 /  9767 =  65.158
------------------------------------
Accuracies by groups:
0, 0  acc:  6364 /  9767 =  65.158
0, 1  acc:  5741 /  7535 =  76.191
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14739 / 19962 =  73.835
Robust  acc:  6364 /  9767 =  65.158
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6364 /  9767 =  65.158
0, 1  acc:  5741 /  7535 =  76.191
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14739 / 19962 =  73.835
Robust  acc:  6364 /  9767 =  65.158
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.669 | Val Loss: 0.005 | Val Acc: 71.042
Training:
Accuracies by groups:
0, 0  acc: 12113 / 18336 =  66.061
0, 1  acc:  6774 /  8827 =  76.742
1, 0  acc: 125819 / 127364 =  98.787
1, 1  acc:  7759 /  8243 =  94.128
--------------------------------------
Average acc: 152465 / 162770 =  93.669
Robust  acc: 12113 / 18336 =  66.061
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5270 /  8535 =  61.746
0, 1  acc:  5804 /  8276 =  70.130
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14114 / 19867 =  71.042
Robust  acc:  5270 /  8535 =  61.746
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.239
Robust Acc: 68.455 | Best Acc: 99.355
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  6686 /  9767 =  68.455
0, 1  acc:  5296 /  7535 =  70.285
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14620 / 19962 =  73.239
Robust  acc:  6686 /  9767 =  68.455
------------------------------------
Accuracies by groups:
0, 0  acc:  6686 /  9767 =  68.455
0, 1  acc:  5296 /  7535 =  70.285
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14620 / 19962 =  73.239
Robust  acc:  6686 /  9767 =  68.455
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6686 /  9767 =  68.455
0, 1  acc:  5296 /  7535 =  70.285
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14620 / 19962 =  73.239
Robust  acc:  6686 /  9767 =  68.455
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.668 | Val Loss: 0.004 | Val Acc: 83.772
Training:
Accuracies by groups:
0, 0  acc: 11933 / 18156 =  65.725
0, 1  acc:  6820 /  8946 =  76.235
1, 0  acc: 126083 / 127545 =  98.854
1, 1  acc:  7628 /  8123 =  93.906
--------------------------------------
Average acc: 152464 / 162770 =  93.668
Robust  acc: 11933 / 18156 =  65.725
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6507 /  8535 =  76.239
0, 1  acc:  7119 /  8276 =  86.020
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16643 / 19867 =  83.772
Robust  acc:  6507 /  8535 =  76.239
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.633
Robust Acc: 80.926 | Best Acc: 98.347
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7904 /  9767 =  80.926
0, 1  acc:  6585 /  7535 =  87.392
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17094 / 19962 =  85.633
Robust  acc:  7904 /  9767 =  80.926
------------------------------------
Accuracies by groups:
0, 0  acc:  7904 /  9767 =  80.926
0, 1  acc:  6585 /  7535 =  87.392
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17094 / 19962 =  85.633
Robust  acc:  7904 /  9767 =  80.926
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7904 /  9767 =  80.926
0, 1  acc:  6585 /  7535 =  87.392
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17094 / 19962 =  85.633
Robust  acc:  7904 /  9767 =  80.926
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.684 | Val Loss: 0.005 | Val Acc: 74.505
Training:
Accuracies by groups:
0, 0  acc: 11740 / 17836 =  65.822
0, 1  acc:  6772 /  8911 =  75.996
1, 0  acc: 126172 / 127740 =  98.773
1, 1  acc:  7805 /  8283 =  94.229
--------------------------------------
Average acc: 152489 / 162770 =  93.684
Robust  acc: 11740 / 17836 =  65.822
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5774 /  8535 =  67.651
0, 1  acc:  5995 /  8276 =  72.438
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14802 / 19867 =  74.505
Robust  acc:  5774 /  8535 =  67.651
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.560
Robust Acc: 72.555 | Best Acc: 98.992
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  7185 /  9767 =  73.564
0, 1  acc:  5467 /  7535 =  72.555
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15283 / 19962 =  76.560
Robust  acc:  5467 /  7535 =  72.555
------------------------------------
Accuracies by groups:
0, 0  acc:  7185 /  9767 =  73.564
0, 1  acc:  5467 /  7535 =  72.555
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15283 / 19962 =  76.560
Robust  acc:  5467 /  7535 =  72.555
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7185 /  9767 =  73.564
0, 1  acc:  5467 /  7535 =  72.555
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15283 / 19962 =  76.560
Robust  acc:  5467 /  7535 =  72.555
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.626 | Val Loss: 0.007 | Val Acc: 61.313
Training:
Accuracies by groups:
0, 0  acc: 11978 / 18247 =  65.644
0, 1  acc:  6777 /  8861 =  76.481
1, 0  acc: 125806 / 127305 =  98.823
1, 1  acc:  7834 /  8357 =  93.742
--------------------------------------
Average acc: 152395 / 162770 =  93.626
Robust  acc: 11978 / 18247 =  65.644
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4532 /  8535 =  53.099
0, 1  acc:  4606 /  8276 =  55.655
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12181 / 19867 =  61.313
Robust  acc:  4532 /  8535 =  53.099
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 63.020
Robust Acc: 55.859 | Best Acc: 99.637
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  5722 /  9767 =  58.585
0, 1  acc:  4209 /  7535 =  55.859
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12580 / 19962 =  63.020
Robust  acc:  4209 /  7535 =  55.859
------------------------------------
Accuracies by groups:
0, 0  acc:  5722 /  9767 =  58.585
0, 1  acc:  4209 /  7535 =  55.859
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12580 / 19962 =  63.020
Robust  acc:  4209 /  7535 =  55.859
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5722 /  9767 =  58.585
0, 1  acc:  4209 /  7535 =  55.859
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12580 / 19962 =  63.020
Robust  acc:  4209 /  7535 =  55.859
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.697 | Val Loss: 0.004 | Val Acc: 83.420
Training:
Accuracies by groups:
0, 0  acc: 11961 / 18197 =  65.731
0, 1  acc:  6747 /  8747 =  77.135
1, 0  acc: 126096 / 127652 =  98.781
1, 1  acc:  7707 /  8174 =  94.287
--------------------------------------
Average acc: 152511 / 162770 =  93.697
Robust  acc: 11961 / 18197 =  65.731
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6676 /  8535 =  78.219
0, 1  acc:  6906 /  8276 =  83.446
1, 0  acc:  2819 /  2874 =  98.086
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16573 / 19867 =  83.420
Robust  acc:  6676 /  8535 =  78.219
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.172
Robust Acc: 82.922 | Best Acc: 97.661
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  8099 /  9767 =  82.922
0, 1  acc:  6318 /  7535 =  83.849
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17002 / 19962 =  85.172
Robust  acc:  8099 /  9767 =  82.922
------------------------------------
Accuracies by groups:
0, 0  acc:  8099 /  9767 =  82.922
0, 1  acc:  6318 /  7535 =  83.849
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17002 / 19962 =  85.172
Robust  acc:  8099 /  9767 =  82.922
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8099 /  9767 =  82.922
0, 1  acc:  6318 /  7535 =  83.849
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17002 / 19962 =  85.172
Robust  acc:  8099 /  9767 =  82.922
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.682 | Val Loss: 0.003 | Val Acc: 85.952
Training:
Accuracies by groups:
0, 0  acc: 12069 / 18256 =  66.110
0, 1  acc:  6913 /  8990 =  76.897
1, 0  acc: 125629 / 127177 =  98.783
1, 1  acc:  7876 /  8347 =  94.357
--------------------------------------
Average acc: 152487 / 162770 =  93.682
Robust  acc: 12069 / 18256 =  66.110
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8531 /  8535 =  99.953
0, 1  acc:  8276 /  8276 = 100.000
1, 0  acc:   268 /  2874 =   9.325
1, 1  acc:     1 /   182 =   0.549
------------------------------------
Average acc: 17076 / 19867 =  85.952
Robust  acc:     1 /   182 =   0.549
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.867
Robust Acc: 2.222 | Best Acc: 100.000
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  9764 /  9767 =  99.969
0, 1  acc:  7535 /  7535 = 100.000
1, 0  acc:   237 /  2480 =   9.556
1, 1  acc:     4 /   180 =   2.222
------------------------------------
Average acc: 17540 / 19962 =  87.867
Robust  acc:     4 /   180 =   2.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9764 /  9767 =  99.969
0, 1  acc:  7535 /  7535 = 100.000
1, 0  acc:   237 /  2480 =   9.556
1, 1  acc:     4 /   180 =   2.222
------------------------------------
Average acc: 17540 / 19962 =  87.867
Robust  acc:     4 /   180 =   2.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9764 /  9767 =  99.969
0, 1  acc:  7535 /  7535 = 100.000
1, 0  acc:   237 /  2480 =   9.556
1, 1  acc:     4 /   180 =   2.222
------------------------------------
Average acc: 17540 / 19962 =  87.867
Robust  acc:     4 /   180 =   2.222
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.683 | Val Loss: 0.004 | Val Acc: 83.324
Training:
Accuracies by groups:
0, 0  acc: 12040 / 18204 =  66.139
0, 1  acc:  6842 /  8939 =  76.541
1, 0  acc: 125864 / 127367 =  98.820
1, 1  acc:  7742 /  8260 =  93.729
--------------------------------------
Average acc: 152488 / 162770 =  93.683
Robust  acc: 12040 / 18204 =  66.139
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6462 /  8535 =  75.712
0, 1  acc:  7081 /  8276 =  85.561
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16554 / 19867 =  83.324
Robust  acc:  6462 /  8535 =  75.712
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.866
Robust Acc: 80.803 | Best Acc: 98.065
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  7892 /  9767 =  80.803
0, 1  acc:  6449 /  7535 =  85.587
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16941 / 19962 =  84.866
Robust  acc:  7892 /  9767 =  80.803
------------------------------------
Accuracies by groups:
0, 0  acc:  7892 /  9767 =  80.803
0, 1  acc:  6449 /  7535 =  85.587
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16941 / 19962 =  84.866
Robust  acc:  7892 /  9767 =  80.803
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7892 /  9767 =  80.803
0, 1  acc:  6449 /  7535 =  85.587
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16941 / 19962 =  84.866
Robust  acc:  7892 /  9767 =  80.803
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 93.703 | Val Loss: 0.007 | Val Acc: 47.028
Training:
Accuracies by groups:
0, 0  acc: 12092 / 18156 =  66.601
0, 1  acc:  7075 /  9187 =  77.011
1, 0  acc: 125619 / 127172 =  98.779
1, 1  acc:  7735 /  8255 =  93.701
--------------------------------------
Average acc: 152521 / 162770 =  93.703
Robust  acc: 12092 / 18156 =  66.601
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2562 /  8535 =  30.018
0, 1  acc:  3726 /  8276 =  45.022
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9343 / 19867 =  47.028
Robust  acc:  2562 /  8535 =  30.018
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 47.796
Robust Acc: 34.995 | Best Acc: 100.000
--------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  3418 /  9767 =  34.995
0, 1  acc:  3465 /  7535 =  45.985
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9541 / 19962 =  47.796
Robust  acc:  3418 /  9767 =  34.995
------------------------------------
Accuracies by groups:
0, 0  acc:  3418 /  9767 =  34.995
0, 1  acc:  3465 /  7535 =  45.985
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9541 / 19962 =  47.796
Robust  acc:  3418 /  9767 =  34.995
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3418 /  9767 =  34.995
0, 1  acc:  3465 /  7535 =  45.985
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9541 / 19962 =  47.796
Robust  acc:  3418 /  9767 =  34.995
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 93.681 | Val Loss: 0.003 | Val Acc: 92.691
Training:
Accuracies by groups:
0, 0  acc: 12194 / 18329 =  66.528
0, 1  acc:  6778 /  8829 =  76.770
1, 0  acc: 125803 / 127380 =  98.762
1, 1  acc:  7709 /  8232 =  93.647
--------------------------------------
Average acc: 152484 / 162770 =  93.681
Robust  acc: 12194 / 18329 =  66.528
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7632 /  8535 =  89.420
0, 1  acc:  7971 /  8276 =  96.315
1, 0  acc:  2679 /  2874 =  93.215
1, 1  acc:   133 /   182 =  73.077
------------------------------------
Average acc: 18415 / 19867 =  92.691
Robust  acc:   133 /   182 =  73.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.322
Robust Acc: 68.889 | Best Acc: 96.218
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  8958 /  9767 =  91.717
0, 1  acc:  7250 /  7535 =  96.218
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18629 / 19962 =  93.322
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8958 /  9767 =  91.717
0, 1  acc:  7250 /  7535 =  96.218
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18629 / 19962 =  93.322
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8958 /  9767 =  91.717
0, 1  acc:  7250 /  7535 =  96.218
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18629 / 19962 =  93.322
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 93.768 | Val Loss: 0.004 | Val Acc: 83.299
Training:
Accuracies by groups:
0, 0  acc: 12170 / 18267 =  66.623
0, 1  acc:  6821 /  8812 =  77.406
1, 0  acc: 125806 / 127339 =  98.796
1, 1  acc:  7829 /  8352 =  93.738
--------------------------------------
Average acc: 152626 / 162770 =  93.768
Robust  acc: 12170 / 18267 =  66.623
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6590 /  8535 =  77.211
0, 1  acc:  6957 /  8276 =  84.062
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16549 / 19867 =  83.299
Robust  acc:  6590 /  8535 =  77.211
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.711
Robust Acc: 82.431 | Best Acc: 97.581
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  8051 /  9767 =  82.431
0, 1  acc:  6271 /  7535 =  83.225
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16910 / 19962 =  84.711
Robust  acc:  8051 /  9767 =  82.431
------------------------------------
Accuracies by groups:
0, 0  acc:  8051 /  9767 =  82.431
0, 1  acc:  6271 /  7535 =  83.225
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16910 / 19962 =  84.711
Robust  acc:  8051 /  9767 =  82.431
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8051 /  9767 =  82.431
0, 1  acc:  6271 /  7535 =  83.225
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16910 / 19962 =  84.711
Robust  acc:  8051 /  9767 =  82.431
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 93.833 | Val Loss: 0.013 | Val Acc: 18.463
Training:
Accuracies by groups:
0, 0  acc: 12111 / 18066 =  67.038
0, 1  acc:  6918 /  8902 =  77.713
1, 0  acc: 125968 / 127557 =  98.754
1, 1  acc:  7735 /  8245 =  93.814
--------------------------------------
Average acc: 152732 / 162770 =  93.833
Robust  acc: 12111 / 18066 =  67.038
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:   204 /  8535 =   2.390
0, 1  acc:   408 /  8276 =   4.930
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  3668 / 19867 =  18.463
Robust  acc:   204 /  8535 =   2.390
------------------------------------
-------------------------------------------
Avg Test Loss: 0.013 | Avg Test Acc: 16.622
Robust Acc: 3.440 | Best Acc: 100.000
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:   336 /  9767 =   3.440
0, 1  acc:   322 /  7535 =   4.273
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  3318 / 19962 =  16.622
Robust  acc:   336 /  9767 =   3.440
------------------------------------
Accuracies by groups:
0, 0  acc:   336 /  9767 =   3.440
0, 1  acc:   322 /  7535 =   4.273
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  3318 / 19962 =  16.622
Robust  acc:   336 /  9767 =   3.440
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:   336 /  9767 =   3.440
0, 1  acc:   322 /  7535 =   4.273
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  3318 / 19962 =  16.622
Robust  acc:   336 /  9767 =   3.440
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 93.992 | Val Loss: 0.004 | Val Acc: 84.955
Training:
Accuracies by groups:
0, 0  acc: 12134 / 17960 =  67.561
0, 1  acc:  6991 /  9031 =  77.411
1, 0  acc: 125928 / 127400 =  98.845
1, 1  acc:  7937 /  8379 =  94.725
--------------------------------------
Average acc: 152990 / 162770 =  93.992
Robust  acc: 12134 / 17960 =  67.561
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6628 /  8535 =  77.657
0, 1  acc:  7238 /  8276 =  87.458
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16878 / 19867 =  84.955
Robust  acc:  6628 /  8535 =  77.657
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.574
Robust Acc: 82.687 | Best Acc: 98.105
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8076 /  9767 =  82.687
0, 1  acc:  6609 /  7535 =  87.711
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17282 / 19962 =  86.574
Robust  acc:  8076 /  9767 =  82.687
------------------------------------
Accuracies by groups:
0, 0  acc:  8076 /  9767 =  82.687
0, 1  acc:  6609 /  7535 =  87.711
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17282 / 19962 =  86.574
Robust  acc:  8076 /  9767 =  82.687
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8076 /  9767 =  82.687
0, 1  acc:  6609 /  7535 =  87.711
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17282 / 19962 =  86.574
Robust  acc:  8076 /  9767 =  82.687
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 93.898 | Val Loss: 0.007 | Val Acc: 62.808
Training:
Accuracies by groups:
0, 0  acc: 12159 / 18092 =  67.207
0, 1  acc:  6957 /  8929 =  77.915
1, 0  acc: 125761 / 127278 =  98.808
1, 1  acc:  7960 /  8471 =  93.968
--------------------------------------
Average acc: 152837 / 162770 =  93.898
Robust  acc: 12159 / 18092 =  67.207
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4674 /  8535 =  54.763
0, 1  acc:  4760 /  8276 =  57.516
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12478 / 19867 =  62.808
Robust  acc:  4674 /  8535 =  54.763
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 64.417
Robust Acc: 56.868 | Best Acc: 99.435
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  5930 /  9767 =  60.715
0, 1  acc:  4285 /  7535 =  56.868
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12859 / 19962 =  64.417
Robust  acc:  4285 /  7535 =  56.868
------------------------------------
Accuracies by groups:
0, 0  acc:  5930 /  9767 =  60.715
0, 1  acc:  4285 /  7535 =  56.868
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12859 / 19962 =  64.417
Robust  acc:  4285 /  7535 =  56.868
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5930 /  9767 =  60.715
0, 1  acc:  4285 /  7535 =  56.868
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12859 / 19962 =  64.417
Robust  acc:  4285 /  7535 =  56.868
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 93.795 | Val Loss: 0.004 | Val Acc: 84.180
Training:
Accuracies by groups:
0, 0  acc: 12184 / 18197 =  66.956
0, 1  acc:  6888 /  8923 =  77.194
1, 0  acc: 126047 / 127579 =  98.799
1, 1  acc:  7551 /  8071 =  93.557
--------------------------------------
Average acc: 152670 / 162770 =  93.795
Robust  acc: 12184 / 18197 =  66.956
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6619 /  8535 =  77.551
0, 1  acc:  7098 /  8276 =  85.766
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16724 / 19867 =  84.180
Robust  acc:  6619 /  8535 =  77.551
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.038
Robust Acc: 82.420 | Best Acc: 98.427
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  8050 /  9767 =  82.420
0, 1  acc:  6517 /  7535 =  86.490
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17175 / 19962 =  86.038
Robust  acc:  8050 /  9767 =  82.420
------------------------------------
Accuracies by groups:
0, 0  acc:  8050 /  9767 =  82.420
0, 1  acc:  6517 /  7535 =  86.490
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17175 / 19962 =  86.038
Robust  acc:  8050 /  9767 =  82.420
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8050 /  9767 =  82.420
0, 1  acc:  6517 /  7535 =  86.490
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17175 / 19962 =  86.038
Robust  acc:  8050 /  9767 =  82.420
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 93.877 | Val Loss: 0.003 | Val Acc: 90.044
Training:
Accuracies by groups:
0, 0  acc: 12273 / 18240 =  67.286
0, 1  acc:  6991 /  8953 =  78.086
1, 0  acc: 125613 / 127140 =  98.799
1, 1  acc:  7927 /  8437 =  93.955
--------------------------------------
Average acc: 152804 / 162770 =  93.877
Robust  acc: 12273 / 18240 =  67.286
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7252 /  8535 =  84.968
0, 1  acc:  7724 /  8276 =  93.330
1, 0  acc:  2766 /  2874 =  96.242
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 17889 / 19867 =  90.044
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.354
Robust Acc: 78.889 | Best Acc: 95.121
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  8664 /  9767 =  88.707
0, 1  acc:  7071 /  7535 =  93.842
1, 0  acc:  2359 /  2480 =  95.121
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18236 / 19962 =  91.354
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8664 /  9767 =  88.707
0, 1  acc:  7071 /  7535 =  93.842
1, 0  acc:  2359 /  2480 =  95.121
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18236 / 19962 =  91.354
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8664 /  9767 =  88.707
0, 1  acc:  7071 /  7535 =  93.842
1, 0  acc:  2359 /  2480 =  95.121
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18236 / 19962 =  91.354
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 93.807 | Val Loss: 0.004 | Val Acc: 85.121
Training:
Accuracies by groups:
0, 0  acc: 12001 / 17956 =  66.836
0, 1  acc:  6743 /  8713 =  77.390
1, 0  acc: 126086 / 127691 =  98.743
1, 1  acc:  7860 /  8410 =  93.460
--------------------------------------
Average acc: 152690 / 162770 =  93.807
Robust  acc: 12001 / 17956 =  66.836
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6817 /  8535 =  79.871
0, 1  acc:  7116 /  8276 =  85.984
1, 0  acc:  2802 /  2874 =  97.495
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16911 / 19867 =  85.121
Robust  acc:  6817 /  8535 =  79.871
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.630
Robust Acc: 84.315 | Best Acc: 97.097
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  8235 /  9767 =  84.315
0, 1  acc:  6489 /  7535 =  86.118
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17293 / 19962 =  86.630
Robust  acc:  8235 /  9767 =  84.315
------------------------------------
Accuracies by groups:
0, 0  acc:  8235 /  9767 =  84.315
0, 1  acc:  6489 /  7535 =  86.118
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17293 / 19962 =  86.630
Robust  acc:  8235 /  9767 =  84.315
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8235 /  9767 =  84.315
0, 1  acc:  6489 /  7535 =  86.118
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17293 / 19962 =  86.630
Robust  acc:  8235 /  9767 =  84.315
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 93.703 | Val Loss: 0.004 | Val Acc: 82.227
Training:
Accuracies by groups:
0, 0  acc: 12185 / 18334 =  66.461
0, 1  acc:  6967 /  8986 =  77.532
1, 0  acc: 125591 / 127207 =  98.730
1, 1  acc:  7778 /  8243 =  94.359
--------------------------------------
Average acc: 152521 / 162770 =  93.703
Robust  acc: 12185 / 18334 =  66.461
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6241 /  8535 =  73.122
0, 1  acc:  7071 /  8276 =  85.440
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16336 / 19867 =  82.227
Robust  acc:  6241 /  8535 =  73.122
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.794
Robust Acc: 78.489 | Best Acc: 98.468
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  7666 /  9767 =  78.489
0, 1  acc:  6451 /  7535 =  85.614
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16727 / 19962 =  83.794
Robust  acc:  7666 /  9767 =  78.489
------------------------------------
Accuracies by groups:
0, 0  acc:  7666 /  9767 =  78.489
0, 1  acc:  6451 /  7535 =  85.614
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16727 / 19962 =  83.794
Robust  acc:  7666 /  9767 =  78.489
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7666 /  9767 =  78.489
0, 1  acc:  6451 /  7535 =  85.614
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16727 / 19962 =  83.794
Robust  acc:  7666 /  9767 =  78.489
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 93.890 | Val Loss: 0.003 | Val Acc: 90.824
Training:
Accuracies by groups:
0, 0  acc: 12211 / 18182 =  67.160
0, 1  acc:  6865 /  8800 =  78.011
1, 0  acc: 125878 / 127433 =  98.780
1, 1  acc:  7870 /  8355 =  94.195
--------------------------------------
Average acc: 152824 / 162770 =  93.890
Robust  acc: 12211 / 18182 =  67.160
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7335 /  8535 =  85.940
0, 1  acc:  7783 /  8276 =  94.043
1, 0  acc:  2777 /  2874 =  96.625
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18044 / 19867 =  90.824
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.860
Robust Acc: 81.111 | Best Acc: 96.048
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  8713 /  9767 =  89.209
0, 1  acc:  7096 /  7535 =  94.174
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18337 / 19962 =  91.860
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8713 /  9767 =  89.209
0, 1  acc:  7096 /  7535 =  94.174
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18337 / 19962 =  91.860
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8713 /  9767 =  89.209
0, 1  acc:  7096 /  7535 =  94.174
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18337 / 19962 =  91.860
Robust  acc:   146 /   180 =  81.111
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed28.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed28.pt
