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/seed47/stage_one_erm_model_b_epoch0_seed47.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: 47
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=47-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/seed47/stage_one_erm_model_b_epoch0_seed47.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8163, 0.0346],
        [0.1213, 0.0278]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 88.202 | Val Loss: 0.002 | Val Acc: 85.785
Training:
Accuracies by groups:
0, 0  acc: 14238 / 25271 =  56.341
0, 1  acc:  6857 / 10720 =  63.965
1, 0  acc: 115039 / 118461 =  97.111
1, 1  acc:  7432 /  8318 =  89.348
--------------------------------------
Average acc: 143566 / 162770 =  88.202
Robust  acc: 14238 / 25271 =  56.341
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6792 /  8535 =  79.578
0, 1  acc:  7268 /  8276 =  87.820
1, 0  acc:  2821 /  2874 =  98.156
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17043 / 19867 =  85.785
Robust  acc:  6792 /  8535 =  79.578
------------------------------------
New max robust acc: 79.57820738137083
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed47.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed47.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.121
Robust Acc: 83.946 | Best Acc: 97.540
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  8199 /  9767 =  83.946
0, 1  acc:  6618 /  7535 =  87.830
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17391 / 19962 =  87.121
Robust  acc:  8199 /  9767 =  83.946
------------------------------------
Accuracies by groups:
0, 0  acc:  8199 /  9767 =  83.946
0, 1  acc:  6618 /  7535 =  87.830
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17391 / 19962 =  87.121
Robust  acc:  8199 /  9767 =  83.946
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8199 /  9767 =  83.946
0, 1  acc:  6618 /  7535 =  87.830
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17391 / 19962 =  87.121
Robust  acc:  8199 /  9767 =  83.946
------------------------------------
Epoch:   2 | Train Loss: 0.002 | Train Acc: 92.243 | Val Loss: 0.002 | Val Acc: 88.730
Training:
Accuracies by groups:
0, 0  acc: 17814 / 25299 =  70.414
0, 1  acc:  8869 / 10777 =  82.296
1, 0  acc: 116069 / 118385 =  98.044
1, 1  acc:  7392 /  8309 =  88.964
--------------------------------------
Average acc: 150144 / 162770 =  92.243
Robust  acc: 17814 / 25299 =  70.414
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7051 /  8535 =  82.613
0, 1  acc:  7607 /  8276 =  91.916
1, 0  acc:  2805 /  2874 =  97.599
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17628 / 19867 =  88.730
Robust  acc:  7051 /  8535 =  82.613
------------------------------------
New max robust acc: 82.61277094317516
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed47.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed47.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.425
Robust Acc: 85.000 | Best Acc: 96.774
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8399 /  9767 =  85.994
0, 1  acc:  6899 /  7535 =  91.559
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17851 / 19962 =  89.425
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8399 /  9767 =  85.994
0, 1  acc:  6899 /  7535 =  91.559
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17851 / 19962 =  89.425
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8399 /  9767 =  85.994
0, 1  acc:  6899 /  7535 =  91.559
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17851 / 19962 =  89.425
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 93.183 | Val Loss: 0.002 | Val Acc: 90.250
Training:
Accuracies by groups:
0, 0  acc: 18824 / 25541 =  73.701
0, 1  acc:  9202 / 10738 =  85.696
1, 0  acc: 116094 / 118224 =  98.198
1, 1  acc:  7554 /  8267 =  91.375
--------------------------------------
Average acc: 151674 / 162770 =  93.183
Robust  acc: 18824 / 25541 =  73.701
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7190 /  8535 =  84.241
0, 1  acc:  7768 /  8276 =  93.862
1, 0  acc:  2808 /  2874 =  97.704
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 17930 / 19867 =  90.250
Robust  acc:  7190 /  8535 =  84.241
------------------------------------
New max robust acc: 84.24135910954892
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed47.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed47.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.572
Robust Acc: 81.667 | Best Acc: 96.895
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8489 /  9767 =  86.915
0, 1  acc:  7041 /  7535 =  93.444
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18080 / 19962 =  90.572
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8489 /  9767 =  86.915
0, 1  acc:  7041 /  7535 =  93.444
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18080 / 19962 =  90.572
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8489 /  9767 =  86.915
0, 1  acc:  7041 /  7535 =  93.444
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18080 / 19962 =  90.572
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 94.158 | Val Loss: 0.002 | Val Acc: 90.743
Training:
Accuracies by groups:
0, 0  acc: 19245 / 25260 =  76.188
0, 1  acc:  9625 / 10862 =  88.612
1, 0  acc: 116633 / 118311 =  98.582
1, 1  acc:  7758 /  8337 =  93.055
--------------------------------------
Average acc: 153261 / 162770 =  94.158
Robust  acc: 19245 / 25260 =  76.188
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7286 /  8535 =  85.366
0, 1  acc:  7786 /  8276 =  94.079
1, 0  acc:  2791 /  2874 =  97.112
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 18028 / 19867 =  90.743
Robust  acc:  7286 /  8535 =  85.366
------------------------------------
New max robust acc: 85.36613942589338
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed47.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed47.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.973
Robust Acc: 81.111 | Best Acc: 96.573
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8558 /  9767 =  87.622
0, 1  acc:  7061 /  7535 =  93.709
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18160 / 19962 =  90.973
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8558 /  9767 =  87.622
0, 1  acc:  7061 /  7535 =  93.709
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18160 / 19962 =  90.973
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8558 /  9767 =  87.622
0, 1  acc:  7061 /  7535 =  93.709
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18160 / 19962 =  90.973
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 95.212 | Val Loss: 0.001 | Val Acc: 92.389
Training:
Accuracies by groups:
0, 0  acc: 20215 / 25500 =  79.275
0, 1  acc:  9728 / 10761 =  90.401
1, 0  acc: 116936 / 118084 =  99.028
1, 1  acc:  8098 /  8425 =  96.119
--------------------------------------
Average acc: 154977 / 162770 =  95.212
Robust  acc: 20215 / 25500 =  79.275
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7518 /  8535 =  88.084
0, 1  acc:  7932 /  8276 =  95.843
1, 0  acc:  2746 /  2874 =  95.546
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 18355 / 19867 =  92.389
Robust  acc:   159 /   182 =  87.363
------------------------------------
New max robust acc: 87.36263736263736
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed47.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed47.pt
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 92.516
Robust Acc: 78.333 | Best Acc: 95.196
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8795 /  9767 =  90.048
0, 1  acc:  7173 /  7535 =  95.196
1, 0  acc:  2359 /  2480 =  95.121
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18468 / 19962 =  92.516
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8795 /  9767 =  90.048
0, 1  acc:  7173 /  7535 =  95.196
1, 0  acc:  2359 /  2480 =  95.121
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18468 / 19962 =  92.516
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8795 /  9767 =  90.048
0, 1  acc:  7173 /  7535 =  95.196
1, 0  acc:  2359 /  2480 =  95.121
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18468 / 19962 =  92.516
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.540 | Val Loss: 0.001 | Val Acc: 93.084
Training:
Accuracies by groups:
0, 0  acc: 21249 / 25450 =  83.493
0, 1  acc:  9993 / 10773 =  92.760
1, 0  acc: 117669 / 118223 =  99.531
1, 1  acc:  8227 /  8324 =  98.835
--------------------------------------
Average acc: 157138 / 162770 =  96.540
Robust  acc: 21249 / 25450 =  83.493
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7622 /  8535 =  89.303
0, 1  acc:  8014 /  8276 =  96.834
1, 0  acc:  2715 /  2874 =  94.468
1, 1  acc:   142 /   182 =  78.022
------------------------------------
Average acc: 18493 / 19867 =  93.084
Robust  acc:   142 /   182 =  78.022
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.197
Robust Acc: 71.667 | Best Acc: 96.377
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8893 /  9767 =  91.051
0, 1  acc:  7262 /  7535 =  96.377
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18604 / 19962 =  93.197
Robust  acc:   129 /   180 =  71.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8893 /  9767 =  91.051
0, 1  acc:  7262 /  7535 =  96.377
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18604 / 19962 =  93.197
Robust  acc:   129 /   180 =  71.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8893 /  9767 =  91.051
0, 1  acc:  7262 /  7535 =  96.377
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18604 / 19962 =  93.197
Robust  acc:   129 /   180 =  71.667
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.629 | Val Loss: 0.001 | Val Acc: 93.607
Training:
Accuracies by groups:
0, 0  acc: 22268 / 25317 =  87.957
0, 1  acc:  9998 / 10598 =  94.339
1, 0  acc: 118275 / 118453 =  99.850
1, 1  acc:  8370 /  8402 =  99.619
--------------------------------------
Average acc: 158911 / 162770 =  97.629
Robust  acc: 22268 / 25317 =  87.957
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7735 /  8535 =  90.627
0, 1  acc:  8057 /  8276 =  97.354
1, 0  acc:  2670 /  2874 =  92.902
1, 1  acc:   135 /   182 =  74.176
------------------------------------
Average acc: 18597 / 19867 =  93.607
Robust  acc:   135 /   182 =  74.176
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.979
Robust Acc: 67.222 | Best Acc: 97.040
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  9047 /  9767 =  92.628
0, 1  acc:  7312 /  7535 =  97.040
1, 0  acc:  2280 /  2480 =  91.935
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   121 /   180 =  67.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9047 /  9767 =  92.628
0, 1  acc:  7312 /  7535 =  97.040
1, 0  acc:  2280 /  2480 =  91.935
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   121 /   180 =  67.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9047 /  9767 =  92.628
0, 1  acc:  7312 /  7535 =  97.040
1, 0  acc:  2280 /  2480 =  91.935
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   121 /   180 =  67.222
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 98.484 | Val Loss: 0.001 | Val Acc: 93.990
Training:
Accuracies by groups:
0, 0  acc: 23338 / 25342 =  92.092
0, 1  acc: 10493 / 10854 =  96.674
1, 0  acc: 118165 / 118243 =  99.934
1, 1  acc:  8307 /  8331 =  99.712
--------------------------------------
Average acc: 160303 / 162770 =  98.484
Robust  acc: 23338 / 25342 =  92.092
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7783 /  8535 =  91.189
0, 1  acc:  8110 /  8276 =  97.994
1, 0  acc:  2655 /  2874 =  92.380
1, 1  acc:   125 /   182 =  68.681
------------------------------------
Average acc: 18673 / 19867 =  93.990
Robust  acc:   125 /   182 =  68.681
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.089
Robust Acc: 65.556 | Best Acc: 97.492
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  9073 /  9767 =  92.894
0, 1  acc:  7346 /  7535 =  97.492
1, 0  acc:  2245 /  2480 =  90.524
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18782 / 19962 =  94.089
Robust  acc:   118 /   180 =  65.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9073 /  9767 =  92.894
0, 1  acc:  7346 /  7535 =  97.492
1, 0  acc:  2245 /  2480 =  90.524
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18782 / 19962 =  94.089
Robust  acc:   118 /   180 =  65.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9073 /  9767 =  92.894
0, 1  acc:  7346 /  7535 =  97.492
1, 0  acc:  2245 /  2480 =  90.524
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18782 / 19962 =  94.089
Robust  acc:   118 /   180 =  65.556
------------------------------------
Epoch:   9 | Train Loss: 0.000 | Train Acc: 98.935 | Val Loss: 0.001 | Val Acc: 93.960
Training:
Accuracies by groups:
0, 0  acc: 23961 / 25384 =  94.394
0, 1  acc: 10462 / 10695 =  97.821
1, 0  acc: 118295 / 118361 =  99.944
1, 1  acc:  8318 /  8330 =  99.856
--------------------------------------
Average acc: 161036 / 162770 =  98.935
Robust  acc: 23961 / 25384 =  94.394
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7777 /  8535 =  91.119
0, 1  acc:  8123 /  8276 =  98.151
1, 0  acc:  2644 /  2874 =  91.997
1, 1  acc:   123 /   182 =  67.582
------------------------------------
Average acc: 18667 / 19867 =  93.960
Robust  acc:   123 /   182 =  67.582
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.139
Robust Acc: 62.778 | Best Acc: 97.624
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  9078 /  9767 =  92.946
0, 1  acc:  7356 /  7535 =  97.624
1, 0  acc:  2245 /  2480 =  90.524
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18792 / 19962 =  94.139
Robust  acc:   113 /   180 =  62.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9078 /  9767 =  92.946
0, 1  acc:  7356 /  7535 =  97.624
1, 0  acc:  2245 /  2480 =  90.524
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18792 / 19962 =  94.139
Robust  acc:   113 /   180 =  62.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9078 /  9767 =  92.946
0, 1  acc:  7356 /  7535 =  97.624
1, 0  acc:  2245 /  2480 =  90.524
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18792 / 19962 =  94.139
Robust  acc:   113 /   180 =  62.778
------------------------------------
Epoch:  10 | Train Loss: 0.000 | Train Acc: 99.123 | Val Loss: 0.001 | Val Acc: 94.317
Training:
Accuracies by groups:
0, 0  acc: 24360 / 25493 =  95.556
0, 1  acc: 10588 / 10791 =  98.119
1, 0  acc: 117969 / 118035 =  99.944
1, 1  acc:  8426 /  8451 =  99.704
--------------------------------------
Average acc: 161343 / 162770 =  99.123
Robust  acc: 24360 / 25493 =  95.556
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7870 /  8535 =  92.209
0, 1  acc:  8129 /  8276 =  98.224
1, 0  acc:  2619 /  2874 =  91.127
1, 1  acc:   120 /   182 =  65.934
------------------------------------
Average acc: 18738 / 19867 =  94.317
Robust  acc:   120 /   182 =  65.934
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.605
Robust Acc: 57.778 | Best Acc: 98.115
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9175 /  9767 =  93.939
0, 1  acc:  7393 /  7535 =  98.115
1, 0  acc:  2213 /  2480 =  89.234
1, 1  acc:   104 /   180 =  57.778
------------------------------------
Average acc: 18885 / 19962 =  94.605
Robust  acc:   104 /   180 =  57.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9175 /  9767 =  93.939
0, 1  acc:  7393 /  7535 =  98.115
1, 0  acc:  2213 /  2480 =  89.234
1, 1  acc:   104 /   180 =  57.778
------------------------------------
Average acc: 18885 / 19962 =  94.605
Robust  acc:   104 /   180 =  57.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9175 /  9767 =  93.939
0, 1  acc:  7393 /  7535 =  98.115
1, 0  acc:  2213 /  2480 =  89.234
1, 1  acc:   104 /   180 =  57.778
------------------------------------
Average acc: 18885 / 19962 =  94.605
Robust  acc:   104 /   180 =  57.778
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 99.047 | Val Loss: 0.001 | Val Acc: 94.629
Training:
Accuracies by groups:
0, 0  acc: 24008 / 25166 =  95.399
0, 1  acc: 10579 / 10760 =  98.318
1, 0  acc: 118285 / 118462 =  99.851
1, 1  acc:  8347 /  8382 =  99.582
--------------------------------------
Average acc: 161219 / 162770 =  99.047
Robust  acc: 24008 / 25166 =  95.399
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8022 /  8535 =  93.989
0, 1  acc:  8177 /  8276 =  98.804
1, 0  acc:  2503 /  2874 =  87.091
1, 1  acc:    98 /   182 =  53.846
------------------------------------
Average acc: 18800 / 19867 =  94.629
Robust  acc:    98 /   182 =  53.846
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.785
Robust Acc: 53.889 | Best Acc: 98.527
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  9282 /  9767 =  95.034
0, 1  acc:  7424 /  7535 =  98.527
1, 0  acc:  2118 /  2480 =  85.403
1, 1  acc:    97 /   180 =  53.889
------------------------------------
Average acc: 18921 / 19962 =  94.785
Robust  acc:    97 /   180 =  53.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9282 /  9767 =  95.034
0, 1  acc:  7424 /  7535 =  98.527
1, 0  acc:  2118 /  2480 =  85.403
1, 1  acc:    97 /   180 =  53.889
------------------------------------
Average acc: 18921 / 19962 =  94.785
Robust  acc:    97 /   180 =  53.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9282 /  9767 =  95.034
0, 1  acc:  7424 /  7535 =  98.527
1, 0  acc:  2118 /  2480 =  85.403
1, 1  acc:    97 /   180 =  53.889
------------------------------------
Average acc: 18921 / 19962 =  94.785
Robust  acc:    97 /   180 =  53.889
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.728 | Val Loss: 0.002 | Val Acc: 92.520
Training:
Accuracies by groups:
0, 0  acc: 23975 / 25403 =  94.379
0, 1  acc: 10572 / 10829 =  97.627
1, 0  acc: 118041 / 118348 =  99.741
1, 1  acc:  8111 /  8190 =  99.035
--------------------------------------
Average acc: 160699 / 162770 =  98.728
Robust  acc: 23975 / 25403 =  94.379
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7571 /  8535 =  88.705
0, 1  acc:  7941 /  8276 =  95.952
1, 0  acc:  2724 /  2874 =  94.781
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18381 / 19867 =  92.520
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.536
Robust Acc: 73.333 | Best Acc: 95.461
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8845 /  9767 =  90.560
0, 1  acc:  7193 /  7535 =  95.461
1, 0  acc:  2302 /  2480 =  92.823
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18472 / 19962 =  92.536
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8845 /  9767 =  90.560
0, 1  acc:  7193 /  7535 =  95.461
1, 0  acc:  2302 /  2480 =  92.823
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18472 / 19962 =  92.536
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8845 /  9767 =  90.560
0, 1  acc:  7193 /  7535 =  95.461
1, 0  acc:  2302 /  2480 =  92.823
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18472 / 19962 =  92.536
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 98.067 | Val Loss: 0.001 | Val Acc: 92.717
Training:
Accuracies by groups:
0, 0  acc: 23258 / 25262 =  92.067
0, 1  acc: 10338 / 10671 =  96.879
1, 0  acc: 117722 / 118360 =  99.461
1, 1  acc:  8306 /  8477 =  97.983
--------------------------------------
Average acc: 159624 / 162770 =  98.067
Robust  acc: 23258 / 25262 =  92.067
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7575 /  8535 =  88.752
0, 1  acc:  7973 /  8276 =  96.339
1, 0  acc:  2728 /  2874 =  94.920
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18420 / 19867 =  92.717
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.222
Robust Acc: 78.333 | Best Acc: 95.846
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8909 /  9767 =  91.215
0, 1  acc:  7222 /  7535 =  95.846
1, 0  acc:  2337 /  2480 =  94.234
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18609 / 19962 =  93.222
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8909 /  9767 =  91.215
0, 1  acc:  7222 /  7535 =  95.846
1, 0  acc:  2337 /  2480 =  94.234
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18609 / 19962 =  93.222
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8909 /  9767 =  91.215
0, 1  acc:  7222 /  7535 =  95.846
1, 0  acc:  2337 /  2480 =  94.234
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18609 / 19962 =  93.222
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.396 | Val Loss: 0.002 | Val Acc: 92.128
Training:
Accuracies by groups:
0, 0  acc: 22984 / 25609 =  89.750
0, 1  acc: 10392 / 10885 =  95.471
1, 0  acc: 117164 / 118062 =  99.239
1, 1  acc:  7992 /  8214 =  97.297
--------------------------------------
Average acc: 158532 / 162770 =  97.396
Robust  acc: 22984 / 25609 =  89.750
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7413 /  8535 =  86.854
0, 1  acc:  7962 /  8276 =  96.206
1, 0  acc:  2781 /  2874 =  96.764
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18303 / 19867 =  92.128
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.456
Robust Acc: 72.222 | Best Acc: 96.169
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8721 /  9767 =  89.290
0, 1  acc:  7220 /  7535 =  95.820
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18456 / 19962 =  92.456
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8721 /  9767 =  89.290
0, 1  acc:  7220 /  7535 =  95.820
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18456 / 19962 =  92.456
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8721 /  9767 =  89.290
0, 1  acc:  7220 /  7535 =  95.820
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18456 / 19962 =  92.456
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.778 | Val Loss: 0.001 | Val Acc: 93.940
Training:
Accuracies by groups:
0, 0  acc: 22092 / 25330 =  87.217
0, 1  acc: 10239 / 10816 =  94.665
1, 0  acc: 117114 / 118257 =  99.033
1, 1  acc:  8081 /  8367 =  96.582
--------------------------------------
Average acc: 157526 / 162770 =  96.778
Robust  acc: 22092 / 25330 =  87.217
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7839 /  8535 =  91.845
0, 1  acc:  8100 /  8276 =  97.873
1, 0  acc:  2596 /  2874 =  90.327
1, 1  acc:   128 /   182 =  70.330
------------------------------------
Average acc: 18663 / 19867 =  93.940
Robust  acc:   128 /   182 =  70.330
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.324
Robust Acc: 61.667 | Best Acc: 97.545
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  9154 /  9767 =  93.724
0, 1  acc:  7350 /  7535 =  97.545
1, 0  acc:  2214 /  2480 =  89.274
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18829 / 19962 =  94.324
Robust  acc:   111 /   180 =  61.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9154 /  9767 =  93.724
0, 1  acc:  7350 /  7535 =  97.545
1, 0  acc:  2214 /  2480 =  89.274
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18829 / 19962 =  94.324
Robust  acc:   111 /   180 =  61.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9154 /  9767 =  93.724
0, 1  acc:  7350 /  7535 =  97.545
1, 0  acc:  2214 /  2480 =  89.274
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18829 / 19962 =  94.324
Robust  acc:   111 /   180 =  61.667
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.019 | Val Loss: 0.001 | Val Acc: 94.373
Training:
Accuracies by groups:
0, 0  acc: 21337 / 25284 =  84.389
0, 1  acc: 10124 / 10842 =  93.378
1, 0  acc: 116826 / 118273 =  98.777
1, 1  acc:  8003 /  8371 =  95.604
--------------------------------------
Average acc: 156290 / 162770 =  96.019
Robust  acc: 21337 / 25284 =  84.389
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7963 /  8535 =  93.298
0, 1  acc:  8103 /  8276 =  97.910
1, 0  acc:  2561 /  2874 =  89.109
1, 1  acc:   122 /   182 =  67.033
------------------------------------
Average acc: 18749 / 19867 =  94.373
Robust  acc:   122 /   182 =  67.033
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.429
Robust Acc: 63.333 | Best Acc: 97.279
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  9200 /  9767 =  94.195
0, 1  acc:  7330 /  7535 =  97.279
1, 0  acc:  2206 /  2480 =  88.952
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18850 / 19962 =  94.429
Robust  acc:   114 /   180 =  63.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9200 /  9767 =  94.195
0, 1  acc:  7330 /  7535 =  97.279
1, 0  acc:  2206 /  2480 =  88.952
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18850 / 19962 =  94.429
Robust  acc:   114 /   180 =  63.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9200 /  9767 =  94.195
0, 1  acc:  7330 /  7535 =  97.279
1, 0  acc:  2206 /  2480 =  88.952
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18850 / 19962 =  94.429
Robust  acc:   114 /   180 =  63.333
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.390 | Val Loss: 0.002 | Val Acc: 88.619
Training:
Accuracies by groups:
0, 0  acc: 20949 / 25470 =  82.250
0, 1  acc:  9674 / 10523 =  91.932
1, 0  acc: 116812 / 118530 =  98.551
1, 1  acc:  7831 /  8247 =  94.956
--------------------------------------
Average acc: 155266 / 162770 =  95.390
Robust  acc: 20949 / 25470 =  82.250
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7079 /  8535 =  82.941
0, 1  acc:  7588 /  8276 =  91.687
1, 0  acc:  2779 /  2874 =  96.695
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 17606 / 19867 =  88.619
Robust  acc:  7079 /  8535 =  82.941
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.620
Robust Acc: 83.889 | Best Acc: 96.492
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8475 /  9767 =  86.772
0, 1  acc:  6871 /  7535 =  91.188
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17890 / 19962 =  89.620
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8475 /  9767 =  86.772
0, 1  acc:  6871 /  7535 =  91.188
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17890 / 19962 =  89.620
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8475 /  9767 =  86.772
0, 1  acc:  6871 /  7535 =  91.188
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17890 / 19962 =  89.620
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 94.841 | Val Loss: 0.004 | Val Acc: 80.344
Training:
Accuracies by groups:
0, 0  acc: 20278 / 25276 =  80.226
0, 1  acc:  9710 / 10706 =  90.697
1, 0  acc: 116742 / 118620 =  98.417
1, 1  acc:  7643 /  8168 =  93.572
--------------------------------------
Average acc: 154373 / 162770 =  94.841
Robust  acc: 20278 / 25276 =  80.226
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6200 /  8535 =  72.642
0, 1  acc:  6731 /  8276 =  81.332
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 15962 / 19867 =  80.344
Robust  acc:  6200 /  8535 =  72.642
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.645
Robust Acc: 76.584 | Best Acc: 98.548
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  7480 /  9767 =  76.584
0, 1  acc:  6205 /  7535 =  82.349
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16298 / 19962 =  81.645
Robust  acc:  7480 /  9767 =  76.584
------------------------------------
Accuracies by groups:
0, 0  acc:  7480 /  9767 =  76.584
0, 1  acc:  6205 /  7535 =  82.349
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16298 / 19962 =  81.645
Robust  acc:  7480 /  9767 =  76.584
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7480 /  9767 =  76.584
0, 1  acc:  6205 /  7535 =  82.349
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16298 / 19962 =  81.645
Robust  acc:  7480 /  9767 =  76.584
------------------------------------
Epoch:  19 | Train Loss: 0.002 | Train Acc: 94.158 | Val Loss: 0.005 | Val Acc: 73.771
Training:
Accuracies by groups:
0, 0  acc: 19886 / 25514 =  77.942
0, 1  acc:  9572 / 10709 =  89.383
1, 0  acc: 116005 / 118141 =  98.192
1, 1  acc:  7798 /  8406 =  92.767
--------------------------------------
Average acc: 153261 / 162770 =  94.158
Robust  acc: 19886 / 25514 =  77.942
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5235 /  8535 =  61.336
0, 1  acc:  6375 /  8276 =  77.030
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14656 / 19867 =  73.771
Robust  acc:  5235 /  8535 =  61.336
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.559
Robust Acc: 67.155 | Best Acc: 99.476
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  6559 /  9767 =  67.155
0, 1  acc:  5883 /  7535 =  78.076
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15083 / 19962 =  75.559
Robust  acc:  6559 /  9767 =  67.155
------------------------------------
Accuracies by groups:
0, 0  acc:  6559 /  9767 =  67.155
0, 1  acc:  5883 /  7535 =  78.076
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15083 / 19962 =  75.559
Robust  acc:  6559 /  9767 =  67.155
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6559 /  9767 =  67.155
0, 1  acc:  5883 /  7535 =  78.076
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15083 / 19962 =  75.559
Robust  acc:  6559 /  9767 =  67.155
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 93.765 | Val Loss: 0.004 | Val Acc: 77.062
Training:
Accuracies by groups:
0, 0  acc: 19420 / 25363 =  76.568
0, 1  acc:  9273 / 10571 =  87.721
1, 0  acc: 116342 / 118604 =  98.093
1, 1  acc:  7586 /  8232 =  92.153
--------------------------------------
Average acc: 152621 / 162770 =  93.765
Robust  acc: 19420 / 25363 =  76.568
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5792 /  8535 =  67.862
0, 1  acc:  6487 /  8276 =  78.383
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15310 / 19867 =  77.062
Robust  acc:  5792 /  8535 =  67.862
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 78.184
Robust Acc: 72.387 | Best Acc: 98.952
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  7070 /  9767 =  72.387
0, 1  acc:  5912 /  7535 =  78.461
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15607 / 19962 =  78.184
Robust  acc:  7070 /  9767 =  72.387
------------------------------------
Accuracies by groups:
0, 0  acc:  7070 /  9767 =  72.387
0, 1  acc:  5912 /  7535 =  78.461
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15607 / 19962 =  78.184
Robust  acc:  7070 /  9767 =  72.387
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7070 /  9767 =  72.387
0, 1  acc:  5912 /  7535 =  78.461
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15607 / 19962 =  78.184
Robust  acc:  7070 /  9767 =  72.387
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 93.230 | Val Loss: 0.002 | Val Acc: 93.406
Training:
Accuracies by groups:
0, 0  acc: 19083 / 25634 =  74.444
0, 1  acc:  9394 / 10841 =  86.653
1, 0  acc: 115645 / 118012 =  97.994
1, 1  acc:  7628 /  8283 =  92.092
--------------------------------------
Average acc: 151750 / 162770 =  93.230
Robust  acc: 19083 / 25634 =  74.444
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7815 /  8535 =  91.564
0, 1  acc:  7974 /  8276 =  96.351
1, 0  acc:  2617 /  2874 =  91.058
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 18557 / 19867 =  93.406
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.783
Robust Acc: 70.000 | Best Acc: 96.257
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  9103 /  9767 =  93.202
0, 1  acc:  7253 /  7535 =  96.257
1, 0  acc:  2239 /  2480 =  90.282
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18721 / 19962 =  93.783
Robust  acc:   126 /   180 =  70.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9103 /  9767 =  93.202
0, 1  acc:  7253 /  7535 =  96.257
1, 0  acc:  2239 /  2480 =  90.282
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18721 / 19962 =  93.783
Robust  acc:   126 /   180 =  70.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9103 /  9767 =  93.202
0, 1  acc:  7253 /  7535 =  96.257
1, 0  acc:  2239 /  2480 =  90.282
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18721 / 19962 =  93.783
Robust  acc:   126 /   180 =  70.000
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 92.856 | Val Loss: 0.003 | Val Acc: 86.294
Training:
Accuracies by groups:
0, 0  acc: 18280 / 25268 =  72.344
0, 1  acc:  9046 / 10582 =  85.485
1, 0  acc: 116347 / 118788 =  97.945
1, 1  acc:  7468 /  8132 =  91.835
--------------------------------------
Average acc: 151141 / 162770 =  92.856
Robust  acc: 18280 / 25268 =  72.344
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6610 /  8535 =  77.446
0, 1  acc:  7543 /  8276 =  91.143
1, 0  acc:  2826 /  2874 =  98.330
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17144 / 19867 =  86.294
Robust  acc:  6610 /  8535 =  77.446
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.191
Robust Acc: 81.612 | Best Acc: 98.024
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  7971 /  9767 =  81.612
0, 1  acc:  6846 /  7535 =  90.856
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17405 / 19962 =  87.191
Robust  acc:  7971 /  9767 =  81.612
------------------------------------
Accuracies by groups:
0, 0  acc:  7971 /  9767 =  81.612
0, 1  acc:  6846 /  7535 =  90.856
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17405 / 19962 =  87.191
Robust  acc:  7971 /  9767 =  81.612
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7971 /  9767 =  81.612
0, 1  acc:  6846 /  7535 =  90.856
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17405 / 19962 =  87.191
Robust  acc:  7971 /  9767 =  81.612
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 92.704 | Val Loss: 0.002 | Val Acc: 94.599
Training:
Accuracies by groups:
0, 0  acc: 18312 / 25407 =  72.075
0, 1  acc:  9182 / 10879 =  84.401
1, 0  acc: 115769 / 118177 =  97.962
1, 1  acc:  7632 /  8307 =  91.874
--------------------------------------
Average acc: 150895 / 162770 =  92.704
Robust  acc: 18312 / 25407 =  72.075
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8196 /  8535 =  96.028
0, 1  acc:  8211 /  8276 =  99.215
1, 0  acc:  2304 /  2874 =  80.167
1, 1  acc:    83 /   182 =  45.604
------------------------------------
Average acc: 18794 / 19867 =  94.599
Robust  acc:    83 /   182 =  45.604
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.990
Robust Acc: 36.667 | Best Acc: 99.230
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  9471 /  9767 =  96.969
0, 1  acc:  7477 /  7535 =  99.230
1, 0  acc:  1948 /  2480 =  78.548
1, 1  acc:    66 /   180 =  36.667
------------------------------------
Average acc: 18962 / 19962 =  94.990
Robust  acc:    66 /   180 =  36.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9471 /  9767 =  96.969
0, 1  acc:  7477 /  7535 =  99.230
1, 0  acc:  1948 /  2480 =  78.548
1, 1  acc:    66 /   180 =  36.667
------------------------------------
Average acc: 18962 / 19962 =  94.990
Robust  acc:    66 /   180 =  36.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9471 /  9767 =  96.969
0, 1  acc:  7477 /  7535 =  99.230
1, 0  acc:  1948 /  2480 =  78.548
1, 1  acc:    66 /   180 =  36.667
------------------------------------
Average acc: 18962 / 19962 =  94.990
Robust  acc:    66 /   180 =  36.667
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 92.568 | Val Loss: 0.003 | Val Acc: 84.270
Training:
Accuracies by groups:
0, 0  acc: 18040 / 25299 =  71.307
0, 1  acc:  8800 / 10596 =  83.050
1, 0  acc: 116234 / 118601 =  98.004
1, 1  acc:  7599 /  8274 =  91.842
--------------------------------------
Average acc: 150673 / 162770 =  92.568
Robust  acc: 18040 / 25299 =  71.307
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6513 /  8535 =  76.309
0, 1  acc:  7243 /  8276 =  87.518
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 16742 / 19867 =  84.270
Robust  acc:  6513 /  8535 =  76.309
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.462
Robust Acc: 81.376 | Best Acc: 97.500
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  7948 /  9767 =  81.376
0, 1  acc:  6535 /  7535 =  86.729
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17060 / 19962 =  85.462
Robust  acc:  7948 /  9767 =  81.376
------------------------------------
Accuracies by groups:
0, 0  acc:  7948 /  9767 =  81.376
0, 1  acc:  6535 /  7535 =  86.729
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17060 / 19962 =  85.462
Robust  acc:  7948 /  9767 =  81.376
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7948 /  9767 =  81.376
0, 1  acc:  6535 /  7535 =  86.729
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17060 / 19962 =  85.462
Robust  acc:  7948 /  9767 =  81.376
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 92.333 | Val Loss: 0.005 | Val Acc: 72.356
Training:
Accuracies by groups:
0, 0  acc: 18050 / 25507 =  70.765
0, 1  acc:  8684 / 10605 =  81.886
1, 0  acc: 115942 / 118363 =  97.955
1, 1  acc:  7614 /  8295 =  91.790
--------------------------------------
Average acc: 150290 / 162770 =  92.333
Robust  acc: 18050 / 25507 =  70.765
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5223 /  8535 =  61.195
0, 1  acc:  6110 /  8276 =  73.828
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14375 / 19867 =  72.356
Robust  acc:  5223 /  8535 =  61.195
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.341
Robust Acc: 67.493 | Best Acc: 99.274
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  6592 /  9767 =  67.493
0, 1  acc:  5611 /  7535 =  74.466
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14840 / 19962 =  74.341
Robust  acc:  6592 /  9767 =  67.493
------------------------------------
Accuracies by groups:
0, 0  acc:  6592 /  9767 =  67.493
0, 1  acc:  5611 /  7535 =  74.466
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14840 / 19962 =  74.341
Robust  acc:  6592 /  9767 =  67.493
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6592 /  9767 =  67.493
0, 1  acc:  5611 /  7535 =  74.466
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14840 / 19962 =  74.341
Robust  acc:  6592 /  9767 =  67.493
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 92.239 | Val Loss: 0.003 | Val Acc: 88.197
Training:
Accuracies by groups:
0, 0  acc: 17677 / 25280 =  69.925
0, 1  acc:  8686 / 10640 =  81.635
1, 0  acc: 115978 / 118379 =  97.972
1, 1  acc:  7797 /  8471 =  92.043
--------------------------------------
Average acc: 150138 / 162770 =  92.239
Robust  acc: 17677 / 25280 =  69.925
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7089 /  8535 =  83.058
0, 1  acc:  7501 /  8276 =  90.636
1, 0  acc:  2769 /  2874 =  96.347
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17522 / 19867 =  88.197
Robust  acc:  7089 /  8535 =  83.058
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.315
Robust Acc: 80.000 | Best Acc: 95.282
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  8511 /  9767 =  87.140
0, 1  acc:  6811 /  7535 =  90.392
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 17829 / 19962 =  89.315
Robust  acc:   144 /   180 =  80.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8511 /  9767 =  87.140
0, 1  acc:  6811 /  7535 =  90.392
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 17829 / 19962 =  89.315
Robust  acc:   144 /   180 =  80.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8511 /  9767 =  87.140
0, 1  acc:  6811 /  7535 =  90.392
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 17829 / 19962 =  89.315
Robust  acc:   144 /   180 =  80.000
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 92.164 | Val Loss: 0.002 | Val Acc: 92.470
Training:
Accuracies by groups:
0, 0  acc: 17623 / 25439 =  69.276
0, 1  acc:  8669 / 10704 =  80.988
1, 0  acc: 116229 / 118469 =  98.109
1, 1  acc:  7495 /  8158 =  91.873
--------------------------------------
Average acc: 150016 / 162770 =  92.164
Robust  acc: 17623 / 25439 =  69.276
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7563 /  8535 =  88.612
0, 1  acc:  7976 /  8276 =  96.375
1, 0  acc:  2705 /  2874 =  94.120
1, 1  acc:   127 /   182 =  69.780
------------------------------------
Average acc: 18371 / 19867 =  92.470
Robust  acc:   127 /   182 =  69.780
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.132
Robust Acc: 71.111 | Best Acc: 95.912
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  8918 /  9767 =  91.307
0, 1  acc:  7227 /  7535 =  95.912
1, 0  acc:  2318 /  2480 =  93.468
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18591 / 19962 =  93.132
Robust  acc:   128 /   180 =  71.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8918 /  9767 =  91.307
0, 1  acc:  7227 /  7535 =  95.912
1, 0  acc:  2318 /  2480 =  93.468
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18591 / 19962 =  93.132
Robust  acc:   128 /   180 =  71.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8918 /  9767 =  91.307
0, 1  acc:  7227 /  7535 =  95.912
1, 0  acc:  2318 /  2480 =  93.468
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18591 / 19962 =  93.132
Robust  acc:   128 /   180 =  71.111
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 92.087 | Val Loss: 0.005 | Val Acc: 76.121
Training:
Accuracies by groups:
0, 0  acc: 17538 / 25447 =  68.920
0, 1  acc:  8703 / 10756 =  80.913
1, 0  acc: 116036 / 118310 =  98.078
1, 1  acc:  7613 /  8257 =  92.201
--------------------------------------
Average acc: 149890 / 162770 =  92.087
Robust  acc: 17538 / 25447 =  68.920
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5828 /  8535 =  68.284
0, 1  acc:  6273 /  8276 =  75.797
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15123 / 19867 =  76.121
Robust  acc:  5828 /  8535 =  68.284
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 78.038
Robust Acc: 73.636 | Best Acc: 98.710
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  7192 /  9767 =  73.636
0, 1  acc:  5766 /  7535 =  76.523
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15578 / 19962 =  78.038
Robust  acc:  7192 /  9767 =  73.636
------------------------------------
Accuracies by groups:
0, 0  acc:  7192 /  9767 =  73.636
0, 1  acc:  5766 /  7535 =  76.523
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15578 / 19962 =  78.038
Robust  acc:  7192 /  9767 =  73.636
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7192 /  9767 =  73.636
0, 1  acc:  5766 /  7535 =  76.523
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15578 / 19962 =  78.038
Robust  acc:  7192 /  9767 =  73.636
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 92.167 | Val Loss: 0.003 | Val Acc: 89.128
Training:
Accuracies by groups:
0, 0  acc: 17450 / 25316 =  68.929
0, 1  acc:  8817 / 10836 =  81.368
1, 0  acc: 116063 / 118318 =  98.094
1, 1  acc:  7690 /  8300 =  92.651
--------------------------------------
Average acc: 150020 / 162770 =  92.167
Robust  acc: 17450 / 25316 =  68.929
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7064 /  8535 =  82.765
0, 1  acc:  7679 /  8276 =  92.786
1, 0  acc:  2804 /  2874 =  97.564
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 17707 / 19867 =  89.128
Robust  acc:  7064 /  8535 =  82.765
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.116
Robust Acc: 78.889 | Best Acc: 96.734
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  8427 /  9767 =  86.280
0, 1  acc:  7021 /  7535 =  93.179
1, 0  acc:  2399 /  2480 =  96.734
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 17989 / 19962 =  90.116
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8427 /  9767 =  86.280
0, 1  acc:  7021 /  7535 =  93.179
1, 0  acc:  2399 /  2480 =  96.734
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 17989 / 19962 =  90.116
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8427 /  9767 =  86.280
0, 1  acc:  7021 /  7535 =  93.179
1, 0  acc:  2399 /  2480 =  96.734
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 17989 / 19962 =  90.116
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 92.140 | Val Loss: 0.003 | Val Acc: 86.455
Training:
Accuracies by groups:
0, 0  acc: 17609 / 25407 =  69.308
0, 1  acc:  8652 / 10731 =  80.626
1, 0  acc: 116069 / 118326 =  98.093
1, 1  acc:  7647 /  8306 =  92.066
--------------------------------------
Average acc: 149977 / 162770 =  92.140
Robust  acc: 17609 / 25407 =  69.308
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6765 /  8535 =  79.262
0, 1  acc:  7429 /  8276 =  89.766
1, 0  acc:  2812 /  2874 =  97.843
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17176 / 19867 =  86.455
Robust  acc:  6765 /  8535 =  79.262
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.717
Robust Acc: 82.778 | Best Acc: 97.097
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  8199 /  9767 =  83.946
0, 1  acc:  6754 /  7535 =  89.635
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17510 / 19962 =  87.717
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8199 /  9767 =  83.946
0, 1  acc:  6754 /  7535 =  89.635
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17510 / 19962 =  87.717
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8199 /  9767 =  83.946
0, 1  acc:  6754 /  7535 =  89.635
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17510 / 19962 =  87.717
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 92.102 | Val Loss: 0.003 | Val Acc: 91.765
Training:
Accuracies by groups:
0, 0  acc: 17613 / 25552 =  68.930
0, 1  acc:  8512 / 10614 =  80.196
1, 0  acc: 116228 / 118415 =  98.153
1, 1  acc:  7561 /  8189 =  92.331
--------------------------------------
Average acc: 149914 / 162770 =  92.102
Robust  acc: 17613 / 25552 =  68.930
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7561 /  8535 =  88.588
0, 1  acc:  7840 /  8276 =  94.732
1, 0  acc:  2684 /  2874 =  93.389
1, 1  acc:   146 /   182 =  80.220
------------------------------------
Average acc: 18231 / 19867 =  91.765
Robust  acc:   146 /   182 =  80.220
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.481
Robust Acc: 76.111 | Best Acc: 94.492
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  8902 /  9767 =  91.144
0, 1  acc:  7120 /  7535 =  94.492
1, 0  acc:  2302 /  2480 =  92.823
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18461 / 19962 =  92.481
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8902 /  9767 =  91.144
0, 1  acc:  7120 /  7535 =  94.492
1, 0  acc:  2302 /  2480 =  92.823
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18461 / 19962 =  92.481
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8902 /  9767 =  91.144
0, 1  acc:  7120 /  7535 =  94.492
1, 0  acc:  2302 /  2480 =  92.823
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18461 / 19962 =  92.481
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 92.051 | Val Loss: 0.003 | Val Acc: 93.718
Training:
Accuracies by groups:
0, 0  acc: 17436 / 25448 =  68.516
0, 1  acc:  8622 / 10685 =  80.693
1, 0  acc: 116114 / 118365 =  98.098
1, 1  acc:  7660 /  8272 =  92.602
--------------------------------------
Average acc: 149832 / 162770 =  92.051
Robust  acc: 17436 / 25448 =  68.516
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7952 /  8535 =  93.169
0, 1  acc:  8110 /  8276 =  97.994
1, 0  acc:  2463 /  2874 =  85.699
1, 1  acc:    94 /   182 =  51.648
------------------------------------
Average acc: 18619 / 19867 =  93.718
Robust  acc:    94 /   182 =  51.648
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.159
Robust Acc: 44.444 | Best Acc: 97.744
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  9214 /  9767 =  94.338
0, 1  acc:  7365 /  7535 =  97.744
1, 0  acc:  2137 /  2480 =  86.169
1, 1  acc:    80 /   180 =  44.444
------------------------------------
Average acc: 18796 / 19962 =  94.159
Robust  acc:    80 /   180 =  44.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9214 /  9767 =  94.338
0, 1  acc:  7365 /  7535 =  97.744
1, 0  acc:  2137 /  2480 =  86.169
1, 1  acc:    80 /   180 =  44.444
------------------------------------
Average acc: 18796 / 19962 =  94.159
Robust  acc:    80 /   180 =  44.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9214 /  9767 =  94.338
0, 1  acc:  7365 /  7535 =  97.744
1, 0  acc:  2137 /  2480 =  86.169
1, 1  acc:    80 /   180 =  44.444
------------------------------------
Average acc: 18796 / 19962 =  94.159
Robust  acc:    80 /   180 =  44.444
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 92.093 | Val Loss: 0.003 | Val Acc: 93.230
Training:
Accuracies by groups:
0, 0  acc: 17520 / 25420 =  68.922
0, 1  acc:  8621 / 10700 =  80.570
1, 0  acc: 116046 / 118307 =  98.089
1, 1  acc:  7712 /  8343 =  92.437
--------------------------------------
Average acc: 149899 / 162770 =  92.093
Robust  acc: 17520 / 25420 =  68.922
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7860 /  8535 =  92.091
0, 1  acc:  8065 /  8276 =  97.450
1, 0  acc:  2496 /  2874 =  86.848
1, 1  acc:   101 /   182 =  55.495
------------------------------------
Average acc: 18522 / 19867 =  93.230
Robust  acc:   101 /   182 =  55.495
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.828
Robust Acc: 55.000 | Best Acc: 97.266
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  9183 /  9767 =  94.021
0, 1  acc:  7329 /  7535 =  97.266
1, 0  acc:  2119 /  2480 =  85.444
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18730 / 19962 =  93.828
Robust  acc:    99 /   180 =  55.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9183 /  9767 =  94.021
0, 1  acc:  7329 /  7535 =  97.266
1, 0  acc:  2119 /  2480 =  85.444
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18730 / 19962 =  93.828
Robust  acc:    99 /   180 =  55.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9183 /  9767 =  94.021
0, 1  acc:  7329 /  7535 =  97.266
1, 0  acc:  2119 /  2480 =  85.444
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18730 / 19962 =  93.828
Robust  acc:    99 /   180 =  55.000
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 92.298 | Val Loss: 0.002 | Val Acc: 93.904
Training:
Accuracies by groups:
0, 0  acc: 17668 / 25395 =  69.573
0, 1  acc:  8492 / 10545 =  80.531
1, 0  acc: 116418 / 118559 =  98.194
1, 1  acc:  7656 /  8271 =  92.564
--------------------------------------
Average acc: 150234 / 162770 =  92.298
Robust  acc: 17668 / 25395 =  69.573
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8000 /  8535 =  93.732
0, 1  acc:  8045 /  8276 =  97.209
1, 0  acc:  2492 /  2874 =  86.708
1, 1  acc:   119 /   182 =  65.385
------------------------------------
Average acc: 18656 / 19867 =  93.904
Robust  acc:   119 /   182 =  65.385
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.369
Robust Acc: 57.778 | Best Acc: 97.279
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  9290 /  9767 =  95.116
0, 1  acc:  7330 /  7535 =  97.279
1, 0  acc:  2114 /  2480 =  85.242
1, 1  acc:   104 /   180 =  57.778
------------------------------------
Average acc: 18838 / 19962 =  94.369
Robust  acc:   104 /   180 =  57.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9290 /  9767 =  95.116
0, 1  acc:  7330 /  7535 =  97.279
1, 0  acc:  2114 /  2480 =  85.242
1, 1  acc:   104 /   180 =  57.778
------------------------------------
Average acc: 18838 / 19962 =  94.369
Robust  acc:   104 /   180 =  57.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9290 /  9767 =  95.116
0, 1  acc:  7330 /  7535 =  97.279
1, 0  acc:  2114 /  2480 =  85.242
1, 1  acc:   104 /   180 =  57.778
------------------------------------
Average acc: 18838 / 19962 =  94.369
Robust  acc:   104 /   180 =  57.778
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 92.223 | Val Loss: 0.003 | Val Acc: 93.804
Training:
Accuracies by groups:
0, 0  acc: 17584 / 25437 =  69.128
0, 1  acc:  8459 / 10532 =  80.317
1, 0  acc: 116467 / 118618 =  98.187
1, 1  acc:  7602 /  8183 =  92.900
--------------------------------------
Average acc: 150112 / 162770 =  92.223
Robust  acc: 17584 / 25437 =  69.128
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8029 /  8535 =  94.071
0, 1  acc:  8188 /  8276 =  98.937
1, 0  acc:  2349 /  2874 =  81.733
1, 1  acc:    70 /   182 =  38.462
------------------------------------
Average acc: 18636 / 19867 =  93.804
Robust  acc:    70 /   182 =  38.462
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.279
Robust Acc: 40.000 | Best Acc: 98.819
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  9332 /  9767 =  95.546
0, 1  acc:  7446 /  7535 =  98.819
1, 0  acc:  1970 /  2480 =  79.435
1, 1  acc:    72 /   180 =  40.000
------------------------------------
Average acc: 18820 / 19962 =  94.279
Robust  acc:    72 /   180 =  40.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9332 /  9767 =  95.546
0, 1  acc:  7446 /  7535 =  98.819
1, 0  acc:  1970 /  2480 =  79.435
1, 1  acc:    72 /   180 =  40.000
------------------------------------
Average acc: 18820 / 19962 =  94.279
Robust  acc:    72 /   180 =  40.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9332 /  9767 =  95.546
0, 1  acc:  7446 /  7535 =  98.819
1, 0  acc:  1970 /  2480 =  79.435
1, 1  acc:    72 /   180 =  40.000
------------------------------------
Average acc: 18820 / 19962 =  94.279
Robust  acc:    72 /   180 =  40.000
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 92.240 | Val Loss: 0.003 | Val Acc: 93.819
Training:
Accuracies by groups:
0, 0  acc: 17358 / 25218 =  68.832
0, 1  acc:  8707 / 10724 =  81.192
1, 0  acc: 116514 / 118666 =  98.187
1, 1  acc:  7560 /  8162 =  92.624
--------------------------------------
Average acc: 150139 / 162770 =  92.240
Robust  acc: 17358 / 25218 =  68.832
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8177 /  8535 =  95.806
0, 1  acc:  8189 /  8276 =  98.949
1, 0  acc:  2194 /  2874 =  76.340
1, 1  acc:    79 /   182 =  43.407
------------------------------------
Average acc: 18639 / 19867 =  93.819
Robust  acc:    79 /   182 =  43.407
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.094
Robust Acc: 43.889 | Best Acc: 98.620
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  9442 /  9767 =  96.672
0, 1  acc:  7431 /  7535 =  98.620
1, 0  acc:  1831 /  2480 =  73.831
1, 1  acc:    79 /   180 =  43.889
------------------------------------
Average acc: 18783 / 19962 =  94.094
Robust  acc:    79 /   180 =  43.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9442 /  9767 =  96.672
0, 1  acc:  7431 /  7535 =  98.620
1, 0  acc:  1831 /  2480 =  73.831
1, 1  acc:    79 /   180 =  43.889
------------------------------------
Average acc: 18783 / 19962 =  94.094
Robust  acc:    79 /   180 =  43.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9442 /  9767 =  96.672
0, 1  acc:  7431 /  7535 =  98.620
1, 0  acc:  1831 /  2480 =  73.831
1, 1  acc:    79 /   180 =  43.889
------------------------------------
Average acc: 18783 / 19962 =  94.094
Robust  acc:    79 /   180 =  43.889
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 92.310 | Val Loss: 0.008 | Val Acc: 45.060
Training:
Accuracies by groups:
0, 0  acc: 17367 / 25157 =  69.034
0, 1  acc:  8481 / 10535 =  80.503
1, 0  acc: 116657 / 118714 =  98.267
1, 1  acc:  7748 /  8364 =  92.635
--------------------------------------
Average acc: 150253 / 162770 =  92.310
Robust  acc: 17367 / 25157 =  69.034
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2962 /  8535 =  34.704
0, 1  acc:  2936 /  8276 =  35.476
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  8952 / 19867 =  45.060
Robust  acc:  2962 /  8535 =  34.704
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 46.083
Robust Acc: 35.806 | Best Acc: 99.960
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  3843 /  9767 =  39.347
0, 1  acc:  2698 /  7535 =  35.806
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  9199 / 19962 =  46.083
Robust  acc:  2698 /  7535 =  35.806
------------------------------------
Accuracies by groups:
0, 0  acc:  3843 /  9767 =  39.347
0, 1  acc:  2698 /  7535 =  35.806
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  9199 / 19962 =  46.083
Robust  acc:  2698 /  7535 =  35.806
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3843 /  9767 =  39.347
0, 1  acc:  2698 /  7535 =  35.806
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  9199 / 19962 =  46.083
Robust  acc:  2698 /  7535 =  35.806
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 92.293 | Val Loss: 0.004 | Val Acc: 84.024
Training:
Accuracies by groups:
0, 0  acc: 17507 / 25353 =  69.053
0, 1  acc:  8693 / 10757 =  80.812
1, 0  acc: 116438 / 118509 =  98.252
1, 1  acc:  7587 /  8151 =  93.081
--------------------------------------
Average acc: 150225 / 162770 =  92.293
Robust  acc: 17507 / 25353 =  69.053
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6474 /  8535 =  75.852
0, 1  acc:  7218 /  8276 =  87.216
1, 0  acc:  2826 /  2874 =  98.330
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16693 / 19867 =  84.024
Robust  acc:  6474 /  8535 =  75.852
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.267
Robust Acc: 80.526 | Best Acc: 98.105
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  7865 /  9767 =  80.526
0, 1  acc:  6563 /  7535 =  87.100
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17021 / 19962 =  85.267
Robust  acc:  7865 /  9767 =  80.526
------------------------------------
Accuracies by groups:
0, 0  acc:  7865 /  9767 =  80.526
0, 1  acc:  6563 /  7535 =  87.100
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17021 / 19962 =  85.267
Robust  acc:  7865 /  9767 =  80.526
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7865 /  9767 =  80.526
0, 1  acc:  6563 /  7535 =  87.100
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17021 / 19962 =  85.267
Robust  acc:  7865 /  9767 =  80.526
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 92.401 | Val Loss: 0.006 | Val Acc: 64.187
Training:
Accuracies by groups:
0, 0  acc: 17433 / 25136 =  69.355
0, 1  acc:  8715 / 10744 =  81.115
1, 0  acc: 116637 / 118674 =  98.284
1, 1  acc:  7616 /  8216 =  92.697
--------------------------------------
Average acc: 150401 / 162770 =  92.401
Robust  acc: 17433 / 25136 =  69.355
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4762 /  8535 =  55.794
0, 1  acc:  4952 /  8276 =  59.836
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 12752 / 19867 =  64.187
Robust  acc:  4762 /  8535 =  55.794
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.304
Robust Acc: 59.443 | Best Acc: 99.153
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  5920 /  9767 =  60.612
0, 1  acc:  4479 /  7535 =  59.443
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13036 / 19962 =  65.304
Robust  acc:  4479 /  7535 =  59.443
------------------------------------
Accuracies by groups:
0, 0  acc:  5920 /  9767 =  60.612
0, 1  acc:  4479 /  7535 =  59.443
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13036 / 19962 =  65.304
Robust  acc:  4479 /  7535 =  59.443
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5920 /  9767 =  60.612
0, 1  acc:  4479 /  7535 =  59.443
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13036 / 19962 =  65.304
Robust  acc:  4479 /  7535 =  59.443
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 92.392 | Val Loss: 0.003 | Val Acc: 92.561
Training:
Accuracies by groups:
0, 0  acc: 17460 / 25249 =  69.151
0, 1  acc:  8884 / 10868 =  81.745
1, 0  acc: 116349 / 118385 =  98.280
1, 1  acc:  7693 /  8268 =  93.045
--------------------------------------
Average acc: 150386 / 162770 =  92.392
Robust  acc: 17460 / 25249 =  69.151
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7738 /  8535 =  90.662
0, 1  acc:  7957 /  8276 =  96.145
1, 0  acc:  2570 /  2874 =  89.422
1, 1  acc:   124 /   182 =  68.132
------------------------------------
Average acc: 18389 / 19867 =  92.561
Robust  acc:   124 /   182 =  68.132
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.987
Robust Acc: 62.222 | Best Acc: 96.151
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  9028 /  9767 =  92.434
0, 1  acc:  7245 /  7535 =  96.151
1, 0  acc:  2177 /  2480 =  87.782
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18562 / 19962 =  92.987
Robust  acc:   112 /   180 =  62.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9028 /  9767 =  92.434
0, 1  acc:  7245 /  7535 =  96.151
1, 0  acc:  2177 /  2480 =  87.782
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18562 / 19962 =  92.987
Robust  acc:   112 /   180 =  62.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9028 /  9767 =  92.434
0, 1  acc:  7245 /  7535 =  96.151
1, 0  acc:  2177 /  2480 =  87.782
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18562 / 19962 =  92.987
Robust  acc:   112 /   180 =  62.222
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 92.483 | Val Loss: 0.002 | Val Acc: 93.547
Training:
Accuracies by groups:
0, 0  acc: 17556 / 25289 =  69.421
0, 1  acc:  8780 / 10684 =  82.179
1, 0  acc: 116433 / 118462 =  98.287
1, 1  acc:  7765 /  8335 =  93.161
--------------------------------------
Average acc: 150534 / 162770 =  92.483
Robust  acc: 17556 / 25289 =  69.421
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8341 /  8535 =  97.727
0, 1  acc:  8256 /  8276 =  99.758
1, 0  acc:  1953 /  2874 =  67.954
1, 1  acc:    35 /   182 =  19.231
------------------------------------
Average acc: 18585 / 19867 =  93.547
Robust  acc:    35 /   182 =  19.231
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.004
Robust Acc: 19.444 | Best Acc: 99.655
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  9574 /  9767 =  98.024
0, 1  acc:  7509 /  7535 =  99.655
1, 0  acc:  1647 /  2480 =  66.411
1, 1  acc:    35 /   180 =  19.444
------------------------------------
Average acc: 18765 / 19962 =  94.004
Robust  acc:    35 /   180 =  19.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9574 /  9767 =  98.024
0, 1  acc:  7509 /  7535 =  99.655
1, 0  acc:  1647 /  2480 =  66.411
1, 1  acc:    35 /   180 =  19.444
------------------------------------
Average acc: 18765 / 19962 =  94.004
Robust  acc:    35 /   180 =  19.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9574 /  9767 =  98.024
0, 1  acc:  7509 /  7535 =  99.655
1, 0  acc:  1647 /  2480 =  66.411
1, 1  acc:    35 /   180 =  19.444
------------------------------------
Average acc: 18765 / 19962 =  94.004
Robust  acc:    35 /   180 =  19.444
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 92.574 | Val Loss: 0.004 | Val Acc: 83.782
Training:
Accuracies by groups:
0, 0  acc: 17688 / 25148 =  70.336
0, 1  acc:  8656 / 10610 =  81.583
1, 0  acc: 116533 / 118600 =  98.257
1, 1  acc:  7806 /  8412 =  92.796
--------------------------------------
Average acc: 150683 / 162770 =  92.574
Robust  acc: 17688 / 25148 =  70.336
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6370 /  8535 =  74.634
0, 1  acc:  7262 /  8276 =  87.748
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16645 / 19867 =  83.782
Robust  acc:  6370 /  8535 =  74.634
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.112
Robust Acc: 79.584 | Best Acc: 98.629
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  7773 /  9767 =  79.584
0, 1  acc:  6613 /  7535 =  87.764
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 16990 / 19962 =  85.112
Robust  acc:  7773 /  9767 =  79.584
------------------------------------
Accuracies by groups:
0, 0  acc:  7773 /  9767 =  79.584
0, 1  acc:  6613 /  7535 =  87.764
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 16990 / 19962 =  85.112
Robust  acc:  7773 /  9767 =  79.584
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7773 /  9767 =  79.584
0, 1  acc:  6613 /  7535 =  87.764
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 16990 / 19962 =  85.112
Robust  acc:  7773 /  9767 =  79.584
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 92.497 | Val Loss: 0.003 | Val Acc: 93.205
Training:
Accuracies by groups:
0, 0  acc: 17638 / 25255 =  69.840
0, 1  acc:  8725 / 10723 =  81.367
1, 0  acc: 116355 / 118410 =  98.265
1, 1  acc:  7840 /  8382 =  93.534
--------------------------------------
Average acc: 150558 / 162770 =  92.497
Robust  acc: 17638 / 25255 =  69.840
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7854 /  8535 =  92.021
0, 1  acc:  7988 /  8276 =  96.520
1, 0  acc:  2558 /  2874 =  89.005
1, 1  acc:   117 /   182 =  64.286
------------------------------------
Average acc: 18517 / 19867 =  93.205
Robust  acc:   117 /   182 =  64.286
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.908
Robust Acc: 64.444 | Best Acc: 96.695
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  9152 /  9767 =  93.703
0, 1  acc:  7286 /  7535 =  96.695
1, 0  acc:  2192 /  2480 =  88.387
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18746 / 19962 =  93.908
Robust  acc:   116 /   180 =  64.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9152 /  9767 =  93.703
0, 1  acc:  7286 /  7535 =  96.695
1, 0  acc:  2192 /  2480 =  88.387
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18746 / 19962 =  93.908
Robust  acc:   116 /   180 =  64.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9152 /  9767 =  93.703
0, 1  acc:  7286 /  7535 =  96.695
1, 0  acc:  2192 /  2480 =  88.387
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18746 / 19962 =  93.908
Robust  acc:   116 /   180 =  64.444
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 92.687 | Val Loss: 0.003 | Val Acc: 91.413
Training:
Accuracies by groups:
0, 0  acc: 17708 / 25177 =  70.334
0, 1  acc:  8895 / 10820 =  82.209
1, 0  acc: 116547 / 118500 =  98.352
1, 1  acc:  7716 /  8273 =  93.267
--------------------------------------
Average acc: 150866 / 162770 =  92.687
Robust  acc: 17708 / 25177 =  70.334
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7556 /  8535 =  88.530
0, 1  acc:  7841 /  8276 =  94.744
1, 0  acc:  2630 /  2874 =  91.510
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18161 / 19867 =  91.413
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.365
Robust Acc: 68.889 | Best Acc: 95.010
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8921 /  9767 =  91.338
0, 1  acc:  7159 /  7535 =  95.010
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18438 / 19962 =  92.365
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8921 /  9767 =  91.338
0, 1  acc:  7159 /  7535 =  95.010
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18438 / 19962 =  92.365
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8921 /  9767 =  91.338
0, 1  acc:  7159 /  7535 =  95.010
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18438 / 19962 =  92.365
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 92.469 | Val Loss: 0.012 | Val Acc: 21.558
Training:
Accuracies by groups:
0, 0  acc: 17806 / 25492 =  69.849
0, 1  acc:  8925 / 10832 =  82.395
1, 0  acc: 116116 / 118202 =  98.235
1, 1  acc:  7665 /  8244 =  92.977
--------------------------------------
Average acc: 150512 / 162770 =  92.469
Robust  acc: 17806 / 25492 =  69.849
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:   471 /  8535 =   5.518
0, 1  acc:   756 /  8276 =   9.135
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  4283 / 19867 =  21.558
Robust  acc:   471 /  8535 =   5.518
------------------------------------
-------------------------------------------
Avg Test Loss: 0.012 | Avg Test Acc: 19.963
Robust Acc: 6.624 | Best Acc: 99.960
------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:   647 /  9767 =   6.624
0, 1  acc:   680 /  7535 =   9.025
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  3985 / 19962 =  19.963
Robust  acc:   647 /  9767 =   6.624
------------------------------------
Accuracies by groups:
0, 0  acc:   647 /  9767 =   6.624
0, 1  acc:   680 /  7535 =   9.025
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  3985 / 19962 =  19.963
Robust  acc:   647 /  9767 =   6.624
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:   647 /  9767 =   6.624
0, 1  acc:   680 /  7535 =   9.025
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  3985 / 19962 =  19.963
Robust  acc:   647 /  9767 =   6.624
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 92.502 | Val Loss: 0.004 | Val Acc: 81.557
Training:
Accuracies by groups:
0, 0  acc: 17911 / 25592 =  69.987
0, 1  acc:  8854 / 10774 =  82.179
1, 0  acc: 116199 / 118239 =  98.275
1, 1  acc:  7601 /  8165 =  93.092
--------------------------------------
Average acc: 150565 / 162770 =  92.502
Robust  acc: 17911 / 25592 =  69.987
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6505 /  8535 =  76.216
0, 1  acc:  6684 /  8276 =  80.764
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16203 / 19867 =  81.557
Robust  acc:  6505 /  8535 =  76.216
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.898
Robust Acc: 80.598 | Best Acc: 97.863
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  7872 /  9767 =  80.598
0, 1  acc:  6079 /  7535 =  80.677
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16548 / 19962 =  82.898
Robust  acc:  7872 /  9767 =  80.598
------------------------------------
Accuracies by groups:
0, 0  acc:  7872 /  9767 =  80.598
0, 1  acc:  6079 /  7535 =  80.677
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16548 / 19962 =  82.898
Robust  acc:  7872 /  9767 =  80.598
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7872 /  9767 =  80.598
0, 1  acc:  6079 /  7535 =  80.677
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16548 / 19962 =  82.898
Robust  acc:  7872 /  9767 =  80.598
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 92.644 | Val Loss: 0.003 | Val Acc: 92.978
Training:
Accuracies by groups:
0, 0  acc: 17912 / 25462 =  70.348
0, 1  acc:  8609 / 10511 =  81.905
1, 0  acc: 116678 / 118623 =  98.360
1, 1  acc:  7598 /  8174 =  92.953
--------------------------------------
Average acc: 150797 / 162770 =  92.644
Robust  acc: 17912 / 25462 =  70.348
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8323 /  8535 =  97.516
0, 1  acc:  8217 /  8276 =  99.287
1, 0  acc:  1895 /  2874 =  65.936
1, 1  acc:    37 /   182 =  20.330
------------------------------------
Average acc: 18472 / 19867 =  92.978
Robust  acc:    37 /   182 =  20.330
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.623
Robust Acc: 21.111 | Best Acc: 99.429
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  9571 /  9767 =  97.993
0, 1  acc:  7492 /  7535 =  99.429
1, 0  acc:  1588 /  2480 =  64.032
1, 1  acc:    38 /   180 =  21.111
------------------------------------
Average acc: 18689 / 19962 =  93.623
Robust  acc:    38 /   180 =  21.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9571 /  9767 =  97.993
0, 1  acc:  7492 /  7535 =  99.429
1, 0  acc:  1588 /  2480 =  64.032
1, 1  acc:    38 /   180 =  21.111
------------------------------------
Average acc: 18689 / 19962 =  93.623
Robust  acc:    38 /   180 =  21.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9571 /  9767 =  97.993
0, 1  acc:  7492 /  7535 =  99.429
1, 0  acc:  1588 /  2480 =  64.032
1, 1  acc:    38 /   180 =  21.111
------------------------------------
Average acc: 18689 / 19962 =  93.623
Robust  acc:    38 /   180 =  21.111
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 92.697 | Val Loss: 0.003 | Val Acc: 91.227
Training:
Accuracies by groups:
0, 0  acc: 17990 / 25478 =  70.610
0, 1  acc:  8824 / 10666 =  82.730
1, 0  acc: 116461 / 118450 =  98.321
1, 1  acc:  7608 /  8176 =  93.053
--------------------------------------
Average acc: 150883 / 162770 =  92.697
Robust  acc: 17990 / 25478 =  70.610
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7344 /  8535 =  86.046
0, 1  acc:  7932 /  8276 =  95.843
1, 0  acc:  2724 /  2874 =  94.781
1, 1  acc:   124 /   182 =  68.132
------------------------------------
Average acc: 18124 / 19867 =  91.227
Robust  acc:   124 /   182 =  68.132
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.995
Robust Acc: 66.111 | Best Acc: 95.687
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  8708 /  9767 =  89.157
0, 1  acc:  7210 /  7535 =  95.687
1, 0  acc:  2327 /  2480 =  93.831
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18364 / 19962 =  91.995
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8708 /  9767 =  89.157
0, 1  acc:  7210 /  7535 =  95.687
1, 0  acc:  2327 /  2480 =  93.831
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18364 / 19962 =  91.995
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8708 /  9767 =  89.157
0, 1  acc:  7210 /  7535 =  95.687
1, 0  acc:  2327 /  2480 =  93.831
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18364 / 19962 =  91.995
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 92.755 | Val Loss: 0.005 | Val Acc: 76.630
Training:
Accuracies by groups:
0, 0  acc: 18052 / 25522 =  70.731
0, 1  acc:  8917 / 10709 =  83.266
1, 0  acc: 116340 / 118337 =  98.312
1, 1  acc:  7668 /  8202 =  93.489
--------------------------------------
Average acc: 150977 / 162770 =  92.755
Robust  acc: 18052 / 25522 =  70.731
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5807 /  8535 =  68.037
0, 1  acc:  6390 /  8276 =  77.211
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15224 / 19867 =  76.630
Robust  acc:  5807 /  8535 =  68.037
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 78.143
Robust Acc: 73.021 | Best Acc: 98.669
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  7132 /  9767 =  73.021
0, 1  acc:  5848 /  7535 =  77.611
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15599 / 19962 =  78.143
Robust  acc:  7132 /  9767 =  73.021
------------------------------------
Accuracies by groups:
0, 0  acc:  7132 /  9767 =  73.021
0, 1  acc:  5848 /  7535 =  77.611
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15599 / 19962 =  78.143
Robust  acc:  7132 /  9767 =  73.021
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7132 /  9767 =  73.021
0, 1  acc:  5848 /  7535 =  77.611
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15599 / 19962 =  78.143
Robust  acc:  7132 /  9767 =  73.021
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 92.774 | Val Loss: 0.003 | Val Acc: 93.602
Training:
Accuracies by groups:
0, 0  acc: 17933 / 25207 =  71.143
0, 1  acc:  8808 / 10701 =  82.310
1, 0  acc: 116586 / 118616 =  98.289
1, 1  acc:  7682 /  8246 =  93.160
--------------------------------------
Average acc: 151009 / 162770 =  92.774
Robust  acc: 17933 / 25207 =  71.143
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8139 /  8535 =  95.360
0, 1  acc:  8154 /  8276 =  98.526
1, 0  acc:  2227 /  2874 =  77.488
1, 1  acc:    76 /   182 =  41.758
------------------------------------
Average acc: 18596 / 19867 =  93.602
Robust  acc:    76 /   182 =  41.758
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.074
Robust Acc: 42.222 | Best Acc: 98.567
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  9386 /  9767 =  96.099
0, 1  acc:  7427 /  7535 =  98.567
1, 0  acc:  1890 /  2480 =  76.210
1, 1  acc:    76 /   180 =  42.222
------------------------------------
Average acc: 18779 / 19962 =  94.074
Robust  acc:    76 /   180 =  42.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9386 /  9767 =  96.099
0, 1  acc:  7427 /  7535 =  98.567
1, 0  acc:  1890 /  2480 =  76.210
1, 1  acc:    76 /   180 =  42.222
------------------------------------
Average acc: 18779 / 19962 =  94.074
Robust  acc:    76 /   180 =  42.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9386 /  9767 =  96.099
0, 1  acc:  7427 /  7535 =  98.567
1, 0  acc:  1890 /  2480 =  76.210
1, 1  acc:    76 /   180 =  42.222
------------------------------------
Average acc: 18779 / 19962 =  94.074
Robust  acc:    76 /   180 =  42.222
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed47.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed47.pt
