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/seed22/stage_one_erm_model_b_epoch0_seed22.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: 22
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=22-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/seed22/stage_one_erm_model_b_epoch0_seed22.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8198, 0.0311],
        [0.1283, 0.0208]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 89.214 | Val Loss: 0.003 | Val Acc: 84.296
Training:
Accuracies by groups:
0, 0  acc: 12143 / 22103 =  54.938
0, 1  acc:  6175 / 10102 =  61.127
1, 0  acc: 119478 / 122367 =  97.639
1, 1  acc:  7418 /  8198 =  90.485
--------------------------------------
Average acc: 145214 / 162770 =  89.214
Robust  acc: 12143 / 22103 =  54.938
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6625 /  8535 =  77.622
0, 1  acc:  7125 /  8276 =  86.092
1, 0  acc:  2832 /  2874 =  98.539
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 16747 / 19867 =  84.296
Robust  acc:  6625 /  8535 =  77.622
------------------------------------
New max robust acc: 77.6215582893966
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed22.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed22.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.873
Robust Acc: 82.154 | Best Acc: 98.105
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  8024 /  9767 =  82.154
0, 1  acc:  6523 /  7535 =  86.569
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17142 / 19962 =  85.873
Robust  acc:  8024 /  9767 =  82.154
------------------------------------
Accuracies by groups:
0, 0  acc:  8024 /  9767 =  82.154
0, 1  acc:  6523 /  7535 =  86.569
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17142 / 19962 =  85.873
Robust  acc:  8024 /  9767 =  82.154
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8024 /  9767 =  82.154
0, 1  acc:  6523 /  7535 =  86.569
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17142 / 19962 =  85.873
Robust  acc:  8024 /  9767 =  82.154
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 93.157 | Val Loss: 0.002 | Val Acc: 87.270
Training:
Accuracies by groups:
0, 0  acc: 15166 / 21646 =  70.064
0, 1  acc:  8259 / 10161 =  81.281
1, 0  acc: 120746 / 122673 =  98.429
1, 1  acc:  7461 /  8290 =  90.000
--------------------------------------
Average acc: 151632 / 162770 =  93.157
Robust  acc: 15166 / 21646 =  70.064
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6829 /  8535 =  80.012
0, 1  acc:  7512 /  8276 =  90.768
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17338 / 19867 =  87.270
Robust  acc:  6829 /  8535 =  80.012
------------------------------------
New max robust acc: 80.0117164616286
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed22.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed22.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.323
Robust Acc: 84.284 | Best Acc: 98.024
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8232 /  9767 =  84.284
0, 1  acc:  6809 /  7535 =  90.365
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17631 / 19962 =  88.323
Robust  acc:  8232 /  9767 =  84.284
------------------------------------
Accuracies by groups:
0, 0  acc:  8232 /  9767 =  84.284
0, 1  acc:  6809 /  7535 =  90.365
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17631 / 19962 =  88.323
Robust  acc:  8232 /  9767 =  84.284
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8232 /  9767 =  84.284
0, 1  acc:  6809 /  7535 =  90.365
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17631 / 19962 =  88.323
Robust  acc:  8232 /  9767 =  84.284
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 94.105 | Val Loss: 0.002 | Val Acc: 88.061
Training:
Accuracies by groups:
0, 0  acc: 16025 / 21937 =  73.050
0, 1  acc:  8497 /  9814 =  86.580
1, 0  acc: 121072 / 122753 =  98.631
1, 1  acc:  7580 /  8266 =  91.701
--------------------------------------
Average acc: 153174 / 162770 =  94.105
Robust  acc: 16025 / 21937 =  73.050
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6881 /  8535 =  80.621
0, 1  acc:  7613 /  8276 =  91.989
1, 0  acc:  2832 /  2874 =  98.539
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17495 / 19867 =  88.061
Robust  acc:  6881 /  8535 =  80.621
------------------------------------
New max robust acc: 80.62097246631518
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed22.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed22.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.979
Robust Acc: 84.673 | Best Acc: 98.024
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8270 /  9767 =  84.673
0, 1  acc:  6905 /  7535 =  91.639
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17762 / 19962 =  88.979
Robust  acc:  8270 /  9767 =  84.673
------------------------------------
Accuracies by groups:
0, 0  acc:  8270 /  9767 =  84.673
0, 1  acc:  6905 /  7535 =  91.639
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17762 / 19962 =  88.979
Robust  acc:  8270 /  9767 =  84.673
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8270 /  9767 =  84.673
0, 1  acc:  6905 /  7535 =  91.639
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17762 / 19962 =  88.979
Robust  acc:  8270 /  9767 =  84.673
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 94.790 | Val Loss: 0.002 | Val Acc: 90.426
Training:
Accuracies by groups:
0, 0  acc: 16414 / 21761 =  75.429
0, 1  acc:  8905 / 10080 =  88.343
1, 0  acc: 121315 / 122748 =  98.833
1, 1  acc:  7655 /  8181 =  93.570
--------------------------------------
Average acc: 154289 / 162770 =  94.790
Robust  acc: 16414 / 21761 =  75.429
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7203 /  8535 =  84.394
0, 1  acc:  7792 /  8276 =  94.152
1, 0  acc:  2806 /  2874 =  97.634
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 17965 / 19867 =  90.426
Robust  acc:  7203 /  8535 =  84.394
------------------------------------
New max robust acc: 84.39367311072056
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed22.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed22.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.903
Robust Acc: 83.889 | Best Acc: 97.298
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8527 /  9767 =  87.304
0, 1  acc:  7055 /  7535 =  93.630
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18146 / 19962 =  90.903
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8527 /  9767 =  87.304
0, 1  acc:  7055 /  7535 =  93.630
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18146 / 19962 =  90.903
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8527 /  9767 =  87.304
0, 1  acc:  7055 /  7535 =  93.630
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18146 / 19962 =  90.903
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 95.457 | Val Loss: 0.002 | Val Acc: 91.045
Training:
Accuracies by groups:
0, 0  acc: 16918 / 21805 =  77.588
0, 1  acc:  9004 / 10026 =  89.807
1, 0  acc: 121655 / 122743 =  99.114
1, 1  acc:  7798 /  8196 =  95.144
--------------------------------------
Average acc: 155375 / 162770 =  95.457
Robust  acc: 16918 / 21805 =  77.588
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7269 /  8535 =  85.167
0, 1  acc:  7866 /  8276 =  95.046
1, 0  acc:  2792 /  2874 =  97.147
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 18088 / 19867 =  91.045
Robust  acc:  7269 /  8535 =  85.167
------------------------------------
New max robust acc: 85.16695957820738
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed22.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed22.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.629
Robust Acc: 78.333 | Best Acc: 97.137
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8596 /  9767 =  88.011
0, 1  acc:  7145 /  7535 =  94.824
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18291 / 19962 =  91.629
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8596 /  9767 =  88.011
0, 1  acc:  7145 /  7535 =  94.824
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18291 / 19962 =  91.629
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8596 /  9767 =  88.011
0, 1  acc:  7145 /  7535 =  94.824
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18291 / 19962 =  91.629
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.436 | Val Loss: 0.002 | Val Acc: 91.438
Training:
Accuracies by groups:
0, 0  acc: 17535 / 21760 =  80.584
0, 1  acc:  9147 /  9954 =  91.893
1, 0  acc: 122290 / 122880 =  99.520
1, 1  acc:  7997 /  8176 =  97.811
--------------------------------------
Average acc: 156969 / 162770 =  96.436
Robust  acc: 17535 / 21760 =  80.584
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7365 /  8535 =  86.292
0, 1  acc:  7861 /  8276 =  94.986
1, 0  acc:  2777 /  2874 =  96.625
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 18166 / 19867 =  91.438
Robust  acc:  7365 /  8535 =  86.292
------------------------------------
New max robust acc: 86.29173989455184
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed22.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed22.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.754
Robust Acc: 78.889 | Best Acc: 96.331
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8659 /  9767 =  88.656
0, 1  acc:  7126 /  7535 =  94.572
1, 0  acc:  2389 /  2480 =  96.331
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18316 / 19962 =  91.754
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8659 /  9767 =  88.656
0, 1  acc:  7126 /  7535 =  94.572
1, 0  acc:  2389 /  2480 =  96.331
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18316 / 19962 =  91.754
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8659 /  9767 =  88.656
0, 1  acc:  7126 /  7535 =  94.572
1, 0  acc:  2389 /  2480 =  96.331
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18316 / 19962 =  91.754
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.299 | Val Loss: 0.001 | Val Acc: 93.733
Training:
Accuracies by groups:
0, 0  acc: 18283 / 21710 =  84.215
0, 1  acc:  9392 / 10046 =  93.490
1, 0  acc: 122586 / 122825 =  99.805
1, 1  acc:  8113 /  8189 =  99.072
--------------------------------------
Average acc: 158374 / 162770 =  97.299
Robust  acc: 18283 / 21710 =  84.215
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7707 /  8535 =  90.299
0, 1  acc:  8068 /  8276 =  97.487
1, 0  acc:  2708 /  2874 =  94.224
1, 1  acc:   139 /   182 =  76.374
------------------------------------
Average acc: 18622 / 19867 =  93.733
Robust  acc:   139 /   182 =  76.374
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.014
Robust Acc: 68.889 | Best Acc: 97.346
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8992 /  9767 =  92.065
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18767 / 19962 =  94.014
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8992 /  9767 =  92.065
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18767 / 19962 =  94.014
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8992 /  9767 =  92.065
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18767 / 19962 =  94.014
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 98.057 | Val Loss: 0.001 | Val Acc: 93.416
Training:
Accuracies by groups:
0, 0  acc: 19063 / 21595 =  88.275
0, 1  acc:  9672 / 10131 =  95.469
1, 0  acc: 122721 / 122859 =  99.888
1, 1  acc:  8151 /  8185 =  99.585
--------------------------------------
Average acc: 159607 / 162770 =  98.057
Robust  acc: 19063 / 21595 =  88.275
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7682 /  8535 =  90.006
0, 1  acc:  8024 /  8276 =  96.955
1, 0  acc:  2708 /  2874 =  94.224
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18559 / 19867 =  93.416
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.763
Robust Acc: 70.556 | Best Acc: 96.815
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8988 /  9767 =  92.024
0, 1  acc:  7295 /  7535 =  96.815
1, 0  acc:  2307 /  2480 =  93.024
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18717 / 19962 =  93.763
Robust  acc:   127 /   180 =  70.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8988 /  9767 =  92.024
0, 1  acc:  7295 /  7535 =  96.815
1, 0  acc:  2307 /  2480 =  93.024
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18717 / 19962 =  93.763
Robust  acc:   127 /   180 =  70.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8988 /  9767 =  92.024
0, 1  acc:  7295 /  7535 =  96.815
1, 0  acc:  2307 /  2480 =  93.024
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18717 / 19962 =  93.763
Robust  acc:   127 /   180 =  70.556
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.616 | Val Loss: 0.001 | Val Acc: 94.453
Training:
Accuracies by groups:
0, 0  acc: 19831 / 21672 =  91.505
0, 1  acc:  9636 /  9964 =  96.708
1, 0  acc: 122932 / 122995 =  99.949
1, 1  acc:  8118 /  8139 =  99.742
--------------------------------------
Average acc: 160517 / 162770 =  98.616
Robust  acc: 19831 / 21672 =  91.505
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7890 /  8535 =  92.443
0, 1  acc:  8139 /  8276 =  98.345
1, 0  acc:  2618 /  2874 =  91.093
1, 1  acc:   118 /   182 =  64.835
------------------------------------
Average acc: 18765 / 19867 =  94.453
Robust  acc:   118 /   182 =  64.835
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.540
Robust Acc: 60.556 | Best Acc: 98.049
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  9183 /  9767 =  94.021
0, 1  acc:  7388 /  7535 =  98.049
1, 0  acc:  2192 /  2480 =  88.387
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18872 / 19962 =  94.540
Robust  acc:   109 /   180 =  60.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9183 /  9767 =  94.021
0, 1  acc:  7388 /  7535 =  98.049
1, 0  acc:  2192 /  2480 =  88.387
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18872 / 19962 =  94.540
Robust  acc:   109 /   180 =  60.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9183 /  9767 =  94.021
0, 1  acc:  7388 /  7535 =  98.049
1, 0  acc:  2192 /  2480 =  88.387
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18872 / 19962 =  94.540
Robust  acc:   109 /   180 =  60.556
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.839 | Val Loss: 0.001 | Val Acc: 93.990
Training:
Accuracies by groups:
0, 0  acc: 20097 / 21600 =  93.042
0, 1  acc:  9789 / 10054 =  97.364
1, 0  acc: 122866 / 122967 =  99.918
1, 1  acc:  8129 /  8149 =  99.755
--------------------------------------
Average acc: 160881 / 162770 =  98.839
Robust  acc: 20097 / 21600 =  93.042
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7840 /  8535 =  91.857
0, 1  acc:  8090 /  8276 =  97.753
1, 0  acc:  2619 /  2874 =  91.127
1, 1  acc:   124 /   182 =  68.132
------------------------------------
Average acc: 18673 / 19867 =  93.990
Robust  acc:   124 /   182 =  68.132
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.139
Robust Acc: 61.667 | Best Acc: 97.439
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9134 /  9767 =  93.519
0, 1  acc:  7342 /  7535 =  97.439
1, 0  acc:  2205 /  2480 =  88.911
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18792 / 19962 =  94.139
Robust  acc:   111 /   180 =  61.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9134 /  9767 =  93.519
0, 1  acc:  7342 /  7535 =  97.439
1, 0  acc:  2205 /  2480 =  88.911
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18792 / 19962 =  94.139
Robust  acc:   111 /   180 =  61.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9134 /  9767 =  93.519
0, 1  acc:  7342 /  7535 =  97.439
1, 0  acc:  2205 /  2480 =  88.911
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18792 / 19962 =  94.139
Robust  acc:   111 /   180 =  61.667
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.803 | Val Loss: 0.001 | Val Acc: 93.300
Training:
Accuracies by groups:
0, 0  acc: 20379 / 21857 =  93.238
0, 1  acc:  9968 / 10216 =  97.572
1, 0  acc: 122427 / 122607 =  99.853
1, 1  acc:  8048 /  8090 =  99.481
--------------------------------------
Average acc: 160822 / 162770 =  98.803
Robust  acc: 20379 / 21857 =  93.238
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7668 /  8535 =  89.842
0, 1  acc:  8066 /  8276 =  97.463
1, 0  acc:  2672 /  2874 =  92.971
1, 1  acc:   130 /   182 =  71.429
------------------------------------
Average acc: 18536 / 19867 =  93.300
Robust  acc:   130 /   182 =  71.429
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.798
Robust Acc: 65.000 | Best Acc: 97.240
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8992 /  9767 =  92.065
0, 1  acc:  7327 /  7535 =  97.240
1, 0  acc:  2288 /  2480 =  92.258
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18724 / 19962 =  93.798
Robust  acc:   117 /   180 =  65.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8992 /  9767 =  92.065
0, 1  acc:  7327 /  7535 =  97.240
1, 0  acc:  2288 /  2480 =  92.258
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18724 / 19962 =  93.798
Robust  acc:   117 /   180 =  65.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8992 /  9767 =  92.065
0, 1  acc:  7327 /  7535 =  97.240
1, 0  acc:  2288 /  2480 =  92.258
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18724 / 19962 =  93.798
Robust  acc:   117 /   180 =  65.000
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.468 | Val Loss: 0.001 | Val Acc: 93.134
Training:
Accuracies by groups:
0, 0  acc: 20053 / 21826 =  91.877
0, 1  acc:  9549 /  9825 =  97.191
1, 0  acc: 122626 / 122993 =  99.702
1, 1  acc:  8049 /  8126 =  99.052
--------------------------------------
Average acc: 160277 / 162770 =  98.468
Robust  acc: 20053 / 21826 =  91.877
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7641 /  8535 =  89.525
0, 1  acc:  8048 /  8276 =  97.245
1, 0  acc:  2689 /  2874 =  93.563
1, 1  acc:   125 /   182 =  68.681
------------------------------------
Average acc: 18503 / 19867 =  93.134
Robust  acc:   125 /   182 =  68.681
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.463
Robust Acc: 66.667 | Best Acc: 97.027
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8945 /  9767 =  91.584
0, 1  acc:  7311 /  7535 =  97.027
1, 0  acc:  2281 /  2480 =  91.976
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18657 / 19962 =  93.463
Robust  acc:   120 /   180 =  66.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8945 /  9767 =  91.584
0, 1  acc:  7311 /  7535 =  97.027
1, 0  acc:  2281 /  2480 =  91.976
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18657 / 19962 =  93.463
Robust  acc:   120 /   180 =  66.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8945 /  9767 =  91.584
0, 1  acc:  7311 /  7535 =  97.027
1, 0  acc:  2281 /  2480 =  91.976
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18657 / 19962 =  93.463
Robust  acc:   120 /   180 =  66.667
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 98.003 | Val Loss: 0.001 | Val Acc: 93.643
Training:
Accuracies by groups:
0, 0  acc: 19675 / 21800 =  90.252
0, 1  acc:  9728 / 10113 =  96.193
1, 0  acc: 122163 / 122734 =  99.535
1, 1  acc:  7953 /  8123 =  97.907
--------------------------------------
Average acc: 159519 / 162770 =  98.003
Robust  acc: 19675 / 21800 =  90.252
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7826 /  8535 =  91.693
0, 1  acc:  8024 /  8276 =  96.955
1, 0  acc:  2620 /  2874 =  91.162
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18604 / 19867 =  93.643
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.099
Robust Acc: 68.333 | Best Acc: 96.815
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  9122 /  9767 =  93.396
0, 1  acc:  7295 /  7535 =  96.815
1, 0  acc:  2244 /  2480 =  90.484
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18784 / 19962 =  94.099
Robust  acc:   123 /   180 =  68.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9122 /  9767 =  93.396
0, 1  acc:  7295 /  7535 =  96.815
1, 0  acc:  2244 /  2480 =  90.484
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18784 / 19962 =  94.099
Robust  acc:   123 /   180 =  68.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9122 /  9767 =  93.396
0, 1  acc:  7295 /  7535 =  96.815
1, 0  acc:  2244 /  2480 =  90.484
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18784 / 19962 =  94.099
Robust  acc:   123 /   180 =  68.333
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.252 | Val Loss: 0.002 | Val Acc: 92.460
Training:
Accuracies by groups:
0, 0  acc: 18949 / 21837 =  86.775
0, 1  acc:  9477 /  9991 =  94.855
1, 0  acc: 122020 / 122848 =  99.326
1, 1  acc:  7851 /  8094 =  96.998
--------------------------------------
Average acc: 158297 / 162770 =  97.252
Robust  acc: 18949 / 21837 =  86.775
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7483 /  8535 =  87.674
0, 1  acc:  7991 /  8276 =  96.556
1, 0  acc:  2754 /  2874 =  95.825
1, 1  acc:   141 /   182 =  77.473
------------------------------------
Average acc: 18369 / 19867 =  92.460
Robust  acc:   141 /   182 =  77.473
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.871
Robust Acc: 68.889 | Best Acc: 96.443
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8793 /  9767 =  90.028
0, 1  acc:  7267 /  7535 =  96.443
1, 0  acc:  2355 /  2480 =  94.960
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18539 / 19962 =  92.871
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8793 /  9767 =  90.028
0, 1  acc:  7267 /  7535 =  96.443
1, 0  acc:  2355 /  2480 =  94.960
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18539 / 19962 =  92.871
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8793 /  9767 =  90.028
0, 1  acc:  7267 /  7535 =  96.443
1, 0  acc:  2355 /  2480 =  94.960
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18539 / 19962 =  92.871
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.762 | Val Loss: 0.001 | Val Acc: 95.233
Training:
Accuracies by groups:
0, 0  acc: 18480 / 21814 =  84.716
0, 1  acc:  9340 /  9940 =  93.964
1, 0  acc: 121740 / 122767 =  99.163
1, 1  acc:  7939 /  8249 =  96.242
--------------------------------------
Average acc: 157499 / 162770 =  96.762
Robust  acc: 18480 / 21814 =  84.716
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8154 /  8535 =  95.536
0, 1  acc:  8180 /  8276 =  98.840
1, 0  acc:  2475 /  2874 =  86.117
1, 1  acc:   111 /   182 =  60.989
------------------------------------
Average acc: 18920 / 19867 =  95.233
Robust  acc:   111 /   182 =  60.989
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 95.356
Robust Acc: 54.444 | Best Acc: 98.832
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  9405 /  9767 =  96.294
0, 1  acc:  7447 /  7535 =  98.832
1, 0  acc:  2085 /  2480 =  84.073
1, 1  acc:    98 /   180 =  54.444
------------------------------------
Average acc: 19035 / 19962 =  95.356
Robust  acc:    98 /   180 =  54.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9405 /  9767 =  96.294
0, 1  acc:  7447 /  7535 =  98.832
1, 0  acc:  2085 /  2480 =  84.073
1, 1  acc:    98 /   180 =  54.444
------------------------------------
Average acc: 19035 / 19962 =  95.356
Robust  acc:    98 /   180 =  54.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9405 /  9767 =  96.294
0, 1  acc:  7447 /  7535 =  98.832
1, 0  acc:  2085 /  2480 =  84.073
1, 1  acc:    98 /   180 =  54.444
------------------------------------
Average acc: 19035 / 19962 =  95.356
Robust  acc:    98 /   180 =  54.444
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.031 | Val Loss: 0.003 | Val Acc: 84.814
Training:
Accuracies by groups:
0, 0  acc: 17827 / 21809 =  81.741
0, 1  acc:  9260 / 10043 =  92.204
1, 0  acc: 121508 / 122818 =  98.933
1, 1  acc:  7714 /  8100 =  95.235
--------------------------------------
Average acc: 156309 / 162770 =  96.031
Robust  acc: 17827 / 21809 =  81.741
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6356 /  8535 =  74.470
0, 1  acc:  7487 /  8276 =  90.466
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 16850 / 19867 =  84.814
Robust  acc:  6356 /  8535 =  74.470
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.628
Robust Acc: 78.714 | Best Acc: 98.669
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  7688 /  9767 =  78.714
0, 1  acc:  6801 /  7535 =  90.259
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17093 / 19962 =  85.628
Robust  acc:  7688 /  9767 =  78.714
------------------------------------
Accuracies by groups:
0, 0  acc:  7688 /  9767 =  78.714
0, 1  acc:  6801 /  7535 =  90.259
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17093 / 19962 =  85.628
Robust  acc:  7688 /  9767 =  78.714
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7688 /  9767 =  78.714
0, 1  acc:  6801 /  7535 =  90.259
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17093 / 19962 =  85.628
Robust  acc:  7688 /  9767 =  78.714
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.392 | Val Loss: 0.001 | Val Acc: 93.935
Training:
Accuracies by groups:
0, 0  acc: 17081 / 21599 =  79.082
0, 1  acc:  9081 / 10016 =  90.665
1, 0  acc: 121314 / 122923 =  98.691
1, 1  acc:  7794 /  8232 =  94.679
--------------------------------------
Average acc: 155270 / 162770 =  95.392
Robust  acc: 17081 / 21599 =  79.082
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8355 /  8535 =  97.891
0, 1  acc:  8215 /  8276 =  99.263
1, 0  acc:  2014 /  2874 =  70.077
1, 1  acc:    78 /   182 =  42.857
------------------------------------
Average acc: 18662 / 19867 =  93.935
Robust  acc:    78 /   182 =  42.857
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.069
Robust Acc: 36.667 | Best Acc: 99.164
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  9578 /  9767 =  98.065
0, 1  acc:  7472 /  7535 =  99.164
1, 0  acc:  1662 /  2480 =  67.016
1, 1  acc:    66 /   180 =  36.667
------------------------------------
Average acc: 18778 / 19962 =  94.069
Robust  acc:    66 /   180 =  36.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9578 /  9767 =  98.065
0, 1  acc:  7472 /  7535 =  99.164
1, 0  acc:  1662 /  2480 =  67.016
1, 1  acc:    66 /   180 =  36.667
------------------------------------
Average acc: 18778 / 19962 =  94.069
Robust  acc:    66 /   180 =  36.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9578 /  9767 =  98.065
0, 1  acc:  7472 /  7535 =  99.164
1, 0  acc:  1662 /  2480 =  67.016
1, 1  acc:    66 /   180 =  36.667
------------------------------------
Average acc: 18778 / 19962 =  94.069
Robust  acc:    66 /   180 =  36.667
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 94.973 | Val Loss: 0.004 | Val Acc: 79.987
Training:
Accuracies by groups:
0, 0  acc: 16787 / 21636 =  77.588
0, 1  acc:  9000 / 10047 =  89.579
1, 0  acc: 121183 / 122912 =  98.593
1, 1  acc:  7617 /  8175 =  93.174
--------------------------------------
Average acc: 154587 / 162770 =  94.973
Robust  acc: 16787 / 21636 =  77.588
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5958 /  8535 =  69.807
0, 1  acc:  6896 /  8276 =  83.325
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15891 / 19867 =  79.987
Robust  acc:  5958 /  8535 =  69.807
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.365
Robust Acc: 74.526 | Best Acc: 99.395
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  7279 /  9767 =  74.526
0, 1  acc:  6327 /  7535 =  83.968
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16242 / 19962 =  81.365
Robust  acc:  7279 /  9767 =  74.526
------------------------------------
Accuracies by groups:
0, 0  acc:  7279 /  9767 =  74.526
0, 1  acc:  6327 /  7535 =  83.968
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16242 / 19962 =  81.365
Robust  acc:  7279 /  9767 =  74.526
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7279 /  9767 =  74.526
0, 1  acc:  6327 /  7535 =  83.968
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16242 / 19962 =  81.365
Robust  acc:  7279 /  9767 =  74.526
------------------------------------
Epoch:  19 | Train Loss: 0.002 | Train Acc: 94.425 | Val Loss: 0.008 | Val Acc: 53.657
Training:
Accuracies by groups:
0, 0  acc: 16467 / 21747 =  75.721
0, 1  acc:  8867 / 10061 =  88.132
1, 0  acc: 120770 / 122812 =  98.337
1, 1  acc:  7592 /  8150 =  93.153
--------------------------------------
Average acc: 153696 / 162770 =  94.425
Robust  acc: 16467 / 21747 =  75.721
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3787 /  8535 =  44.370
0, 1  acc:  3820 /  8276 =  46.158
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10660 / 19867 =  53.657
Robust  acc:  3787 /  8535 =  44.370
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 55.300
Robust Acc: 46.689 | Best Acc: 99.879
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  4866 /  9767 =  49.821
0, 1  acc:  3518 /  7535 =  46.689
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11039 / 19962 =  55.300
Robust  acc:  3518 /  7535 =  46.689
------------------------------------
Accuracies by groups:
0, 0  acc:  4866 /  9767 =  49.821
0, 1  acc:  3518 /  7535 =  46.689
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11039 / 19962 =  55.300
Robust  acc:  3518 /  7535 =  46.689
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4866 /  9767 =  49.821
0, 1  acc:  3518 /  7535 =  46.689
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11039 / 19962 =  55.300
Robust  acc:  3518 /  7535 =  46.689
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 93.984 | Val Loss: 0.005 | Val Acc: 71.903
Training:
Accuracies by groups:
0, 0  acc: 16342 / 21987 =  74.326
0, 1  acc:  8845 / 10156 =  87.091
1, 0  acc: 120281 / 122458 =  98.222
1, 1  acc:  7509 /  8169 =  91.921
--------------------------------------
Average acc: 152977 / 162770 =  93.984
Robust  acc: 16342 / 21987 =  74.326
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5196 /  8535 =  60.879
0, 1  acc:  6043 /  8276 =  73.018
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14285 / 19867 =  71.903
Robust  acc:  5196 /  8535 =  60.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.740
Robust Acc: 66.633 | Best Acc: 99.637
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  6508 /  9767 =  66.633
0, 1  acc:  5566 /  7535 =  73.869
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14720 / 19962 =  73.740
Robust  acc:  6508 /  9767 =  66.633
------------------------------------
Accuracies by groups:
0, 0  acc:  6508 /  9767 =  66.633
0, 1  acc:  5566 /  7535 =  73.869
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14720 / 19962 =  73.740
Robust  acc:  6508 /  9767 =  66.633
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6508 /  9767 =  66.633
0, 1  acc:  5566 /  7535 =  73.869
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14720 / 19962 =  73.740
Robust  acc:  6508 /  9767 =  66.633
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 93.765 | Val Loss: 0.003 | Val Acc: 83.616
Training:
Accuracies by groups:
0, 0  acc: 15727 / 21549 =  72.983
0, 1  acc:  8550 / 10010 =  85.415
1, 0  acc: 120722 / 122916 =  98.215
1, 1  acc:  7623 /  8295 =  91.899
--------------------------------------
Average acc: 152622 / 162770 =  93.765
Robust  acc: 15727 / 21549 =  72.983
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6407 /  8535 =  75.067
0, 1  acc:  7186 /  8276 =  86.829
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16612 / 19867 =  83.616
Robust  acc:  6407 /  8535 =  75.067
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.387
Robust Acc: 80.403 | Best Acc: 98.831
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  7853 /  9767 =  80.403
0, 1  acc:  6576 /  7535 =  87.273
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17045 / 19962 =  85.387
Robust  acc:  7853 /  9767 =  80.403
------------------------------------
Accuracies by groups:
0, 0  acc:  7853 /  9767 =  80.403
0, 1  acc:  6576 /  7535 =  87.273
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17045 / 19962 =  85.387
Robust  acc:  7853 /  9767 =  80.403
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7853 /  9767 =  80.403
0, 1  acc:  6576 /  7535 =  87.273
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17045 / 19962 =  85.387
Robust  acc:  7853 /  9767 =  80.403
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 93.447 | Val Loss: 0.003 | Val Acc: 88.866
Training:
Accuracies by groups:
0, 0  acc: 15620 / 21812 =  71.612
0, 1  acc:  8335 /  9883 =  84.337
1, 0  acc: 120729 / 123038 =  98.123
1, 1  acc:  7420 /  8037 =  92.323
--------------------------------------
Average acc: 152104 / 162770 =  93.447
Robust  acc: 15620 / 21812 =  71.612
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7315 /  8535 =  85.706
0, 1  acc:  7417 /  8276 =  89.621
1, 0  acc:  2755 /  2874 =  95.859
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17655 / 19867 =  88.866
Robust  acc:  7315 /  8535 =  85.706
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.026
Robust Acc: 87.222 | Best Acc: 95.000
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  8661 /  9767 =  88.676
0, 1  acc:  6797 /  7535 =  90.206
1, 0  acc:  2356 /  2480 =  95.000
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17971 / 19962 =  90.026
Robust  acc:   157 /   180 =  87.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8661 /  9767 =  88.676
0, 1  acc:  6797 /  7535 =  90.206
1, 0  acc:  2356 /  2480 =  95.000
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17971 / 19962 =  90.026
Robust  acc:   157 /   180 =  87.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8661 /  9767 =  88.676
0, 1  acc:  6797 /  7535 =  90.206
1, 0  acc:  2356 /  2480 =  95.000
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17971 / 19962 =  90.026
Robust  acc:   157 /   180 =  87.222
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 93.213 | Val Loss: 0.005 | Val Acc: 71.465
Training:
Accuracies by groups:
0, 0  acc: 15384 / 21738 =  70.770
0, 1  acc:  8319 / 10112 =  82.269
1, 0  acc: 120594 / 122823 =  98.185
1, 1  acc:  7426 /  8097 =  91.713
--------------------------------------
Average acc: 151723 / 162770 =  93.213
Robust  acc: 15384 / 21738 =  70.770
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5512 /  8535 =  64.581
0, 1  acc:  5649 /  8276 =  68.258
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14198 / 19867 =  71.465
Robust  acc:  5512 /  8535 =  64.581
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.718
Robust Acc: 67.605 | Best Acc: 99.274
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  6784 /  9767 =  69.458
0, 1  acc:  5094 /  7535 =  67.605
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14516 / 19962 =  72.718
Robust  acc:  5094 /  7535 =  67.605
------------------------------------
Accuracies by groups:
0, 0  acc:  6784 /  9767 =  69.458
0, 1  acc:  5094 /  7535 =  67.605
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14516 / 19962 =  72.718
Robust  acc:  5094 /  7535 =  67.605
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6784 /  9767 =  69.458
0, 1  acc:  5094 /  7535 =  67.605
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14516 / 19962 =  72.718
Robust  acc:  5094 /  7535 =  67.605
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 93.286 | Val Loss: 0.003 | Val Acc: 90.673
Training:
Accuracies by groups:
0, 0  acc: 15115 / 21465 =  70.417
0, 1  acc:  8217 / 10003 =  82.145
1, 0  acc: 120937 / 123124 =  98.224
1, 1  acc:  7572 /  8178 =  92.590
--------------------------------------
Average acc: 151841 / 162770 =  93.286
Robust  acc: 15115 / 21465 =  70.417
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7351 /  8535 =  86.128
0, 1  acc:  7726 /  8276 =  93.354
1, 0  acc:  2775 /  2874 =  96.555
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 18014 / 19867 =  90.673
Robust  acc:  7351 /  8535 =  86.128
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.749
Robust Acc: 83.889 | Best Acc: 95.766
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  8712 /  9767 =  89.198
0, 1  acc:  7077 /  7535 =  93.922
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18315 / 19962 =  91.749
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8712 /  9767 =  89.198
0, 1  acc:  7077 /  7535 =  93.922
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18315 / 19962 =  91.749
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8712 /  9767 =  89.198
0, 1  acc:  7077 /  7535 =  93.922
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18315 / 19962 =  91.749
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 93.171 | Val Loss: 0.003 | Val Acc: 88.765
Training:
Accuracies by groups:
0, 0  acc: 15032 / 21489 =  69.952
0, 1  acc:  8137 / 10013 =  81.264
1, 0  acc: 120953 / 123078 =  98.273
1, 1  acc:  7533 /  8190 =  91.978
--------------------------------------
Average acc: 151655 / 162770 =  93.171
Robust  acc: 15032 / 21489 =  69.952
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7084 /  8535 =  82.999
0, 1  acc:  7604 /  8276 =  91.880
1, 0  acc:  2784 /  2874 =  96.868
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17635 / 19867 =  88.765
Robust  acc:  7084 /  8535 =  82.999
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.936
Robust Acc: 83.889 | Best Acc: 96.452
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8460 /  9767 =  86.618
0, 1  acc:  6950 /  7535 =  92.236
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17953 / 19962 =  89.936
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8460 /  9767 =  86.618
0, 1  acc:  6950 /  7535 =  92.236
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17953 / 19962 =  89.936
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8460 /  9767 =  86.618
0, 1  acc:  6950 /  7535 =  92.236
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17953 / 19962 =  89.936
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 92.951 | Val Loss: 0.003 | Val Acc: 87.814
Training:
Accuracies by groups:
0, 0  acc: 14995 / 21826 =  68.702
0, 1  acc:  8118 / 10091 =  80.448
1, 0  acc: 120607 / 122666 =  98.321
1, 1  acc:  7576 /  8187 =  92.537
--------------------------------------
Average acc: 151296 / 162770 =  92.951
Robust  acc: 14995 / 21826 =  68.702
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7107 /  8535 =  83.269
0, 1  acc:  7409 /  8276 =  89.524
1, 0  acc:  2765 /  2874 =  96.207
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17446 / 19867 =  87.814
Robust  acc:  7107 /  8535 =  83.269
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.909
Robust Acc: 83.333 | Best Acc: 95.323
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  8463 /  9767 =  86.649
0, 1  acc:  6771 /  7535 =  89.861
1, 0  acc:  2364 /  2480 =  95.323
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17748 / 19962 =  88.909
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8463 /  9767 =  86.649
0, 1  acc:  6771 /  7535 =  89.861
1, 0  acc:  2364 /  2480 =  95.323
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17748 / 19962 =  88.909
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8463 /  9767 =  86.649
0, 1  acc:  6771 /  7535 =  89.861
1, 0  acc:  2364 /  2480 =  95.323
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17748 / 19962 =  88.909
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 92.943 | Val Loss: 0.003 | Val Acc: 86.510
Training:
Accuracies by groups:
0, 0  acc: 14742 / 21563 =  68.367
0, 1  acc:  8141 / 10097 =  80.628
1, 0  acc: 120822 / 122908 =  98.303
1, 1  acc:  7579 /  8202 =  92.404
--------------------------------------
Average acc: 151284 / 162770 =  92.943
Robust  acc: 14742 / 21563 =  68.367
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6824 /  8535 =  79.953
0, 1  acc:  7370 /  8276 =  89.053
1, 0  acc:  2821 /  2874 =  98.156
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17187 / 19867 =  86.510
Robust  acc:  6824 /  8535 =  79.953
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.102
Robust Acc: 84.540 | Best Acc: 97.702
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  8257 /  9767 =  84.540
0, 1  acc:  6753 /  7535 =  89.622
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17587 / 19962 =  88.102
Robust  acc:  8257 /  9767 =  84.540
------------------------------------
Accuracies by groups:
0, 0  acc:  8257 /  9767 =  84.540
0, 1  acc:  6753 /  7535 =  89.622
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17587 / 19962 =  88.102
Robust  acc:  8257 /  9767 =  84.540
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8257 /  9767 =  84.540
0, 1  acc:  6753 /  7535 =  89.622
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17587 / 19962 =  88.102
Robust  acc:  8257 /  9767 =  84.540
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 92.918 | Val Loss: 0.002 | Val Acc: 93.950
Training:
Accuracies by groups:
0, 0  acc: 14873 / 21750 =  68.382
0, 1  acc:  8085 / 10168 =  79.514
1, 0  acc: 120704 / 122674 =  98.394
1, 1  acc:  7581 /  8178 =  92.700
--------------------------------------
Average acc: 151243 / 162770 =  92.918
Robust  acc: 14873 / 21750 =  68.382
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7808 /  8535 =  91.482
0, 1  acc:  8128 /  8276 =  98.212
1, 0  acc:  2614 /  2874 =  90.953
1, 1  acc:   115 /   182 =  63.187
------------------------------------
Average acc: 18665 / 19867 =  93.950
Robust  acc:   115 /   182 =  63.187
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.495
Robust Acc: 58.333 | Best Acc: 97.810
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  9137 /  9767 =  93.550
0, 1  acc:  7370 /  7535 =  97.810
1, 0  acc:  2251 /  2480 =  90.766
1, 1  acc:   105 /   180 =  58.333
------------------------------------
Average acc: 18863 / 19962 =  94.495
Robust  acc:   105 /   180 =  58.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9137 /  9767 =  93.550
0, 1  acc:  7370 /  7535 =  97.810
1, 0  acc:  2251 /  2480 =  90.766
1, 1  acc:   105 /   180 =  58.333
------------------------------------
Average acc: 18863 / 19962 =  94.495
Robust  acc:   105 /   180 =  58.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9137 /  9767 =  93.550
0, 1  acc:  7370 /  7535 =  97.810
1, 0  acc:  2251 /  2480 =  90.766
1, 1  acc:   105 /   180 =  58.333
------------------------------------
Average acc: 18863 / 19962 =  94.495
Robust  acc:   105 /   180 =  58.333
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 92.813 | Val Loss: 0.007 | Val Acc: 56.813
Training:
Accuracies by groups:
0, 0  acc: 14604 / 21638 =  67.492
0, 1  acc:  7877 /  9953 =  79.142
1, 0  acc: 121098 / 123058 =  98.407
1, 1  acc:  7492 /  8121 =  92.255
--------------------------------------
Average acc: 151071 / 162770 =  92.813
Robust  acc: 14604 / 21638 =  67.492
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4331 /  8535 =  50.744
0, 1  acc:  3912 /  8276 =  47.269
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11287 / 19867 =  56.813
Robust  acc:  3912 /  8276 =  47.269
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 58.571
Robust Acc: 46.184 | Best Acc: 99.637
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  5563 /  9767 =  56.957
0, 1  acc:  3480 /  7535 =  46.184
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11692 / 19962 =  58.571
Robust  acc:  3480 /  7535 =  46.184
------------------------------------
Accuracies by groups:
0, 0  acc:  5563 /  9767 =  56.957
0, 1  acc:  3480 /  7535 =  46.184
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11692 / 19962 =  58.571
Robust  acc:  3480 /  7535 =  46.184
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5563 /  9767 =  56.957
0, 1  acc:  3480 /  7535 =  46.184
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11692 / 19962 =  58.571
Robust  acc:  3480 /  7535 =  46.184
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 92.878 | Val Loss: 0.003 | Val Acc: 92.359
Training:
Accuracies by groups:
0, 0  acc: 14665 / 21626 =  67.812
0, 1  acc:  7939 / 10097 =  78.627
1, 0  acc: 120835 / 122705 =  98.476
1, 1  acc:  7739 /  8342 =  92.772
--------------------------------------
Average acc: 151178 / 162770 =  92.878
Robust  acc: 14665 / 21626 =  67.812
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7676 /  8535 =  89.936
0, 1  acc:  7875 /  8276 =  95.155
1, 0  acc:  2659 /  2874 =  92.519
1, 1  acc:   139 /   182 =  76.374
------------------------------------
Average acc: 18349 / 19867 =  92.359
Robust  acc:   139 /   182 =  76.374
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.942
Robust Acc: 72.222 | Best Acc: 95.129
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  8998 /  9767 =  92.127
0, 1  acc:  7168 /  7535 =  95.129
1, 0  acc:  2257 /  2480 =  91.008
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18553 / 19962 =  92.942
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8998 /  9767 =  92.127
0, 1  acc:  7168 /  7535 =  95.129
1, 0  acc:  2257 /  2480 =  91.008
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18553 / 19962 =  92.942
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8998 /  9767 =  92.127
0, 1  acc:  7168 /  7535 =  95.129
1, 0  acc:  2257 /  2480 =  91.008
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18553 / 19962 =  92.942
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 92.843 | Val Loss: 0.003 | Val Acc: 92.092
Training:
Accuracies by groups:
0, 0  acc: 14682 / 21680 =  67.721
0, 1  acc:  7991 / 10150 =  78.729
1, 0  acc: 120942 / 122806 =  98.482
1, 1  acc:  7506 /  8134 =  92.279
--------------------------------------
Average acc: 151121 / 162770 =  92.843
Robust  acc: 14682 / 21680 =  67.721
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7503 /  8535 =  87.909
0, 1  acc:  7941 /  8276 =  95.952
1, 0  acc:  2708 /  2874 =  94.224
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18296 / 19867 =  92.092
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.596
Robust Acc: 72.222 | Best Acc: 96.019
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  8809 /  9767 =  90.191
0, 1  acc:  7235 /  7535 =  96.019
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18484 / 19962 =  92.596
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8809 /  9767 =  90.191
0, 1  acc:  7235 /  7535 =  96.019
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18484 / 19962 =  92.596
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8809 /  9767 =  90.191
0, 1  acc:  7235 /  7535 =  96.019
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18484 / 19962 =  92.596
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 92.791 | Val Loss: 0.006 | Val Acc: 68.556
Training:
Accuracies by groups:
0, 0  acc: 14753 / 21803 =  67.665
0, 1  acc:  8115 / 10257 =  79.117
1, 0  acc: 120558 / 122559 =  98.367
1, 1  acc:  7610 /  8151 =  93.363
--------------------------------------
Average acc: 151036 / 162770 =  92.791
Robust  acc: 14753 / 21803 =  67.665
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5344 /  8535 =  62.613
0, 1  acc:  5239 /  8276 =  63.304
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13620 / 19867 =  68.556
Robust  acc:  5344 /  8535 =  62.613
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.208
Robust Acc: 62.362 | Best Acc: 99.274
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  6678 /  9767 =  68.373
0, 1  acc:  4699 /  7535 =  62.362
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14015 / 19962 =  70.208
Robust  acc:  4699 /  7535 =  62.362
------------------------------------
Accuracies by groups:
0, 0  acc:  6678 /  9767 =  68.373
0, 1  acc:  4699 /  7535 =  62.362
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14015 / 19962 =  70.208
Robust  acc:  4699 /  7535 =  62.362
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6678 /  9767 =  68.373
0, 1  acc:  4699 /  7535 =  62.362
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14015 / 19962 =  70.208
Robust  acc:  4699 /  7535 =  62.362
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.002 | Val Loss: 0.004 | Val Acc: 80.676
Training:
Accuracies by groups:
0, 0  acc: 15017 / 21923 =  68.499
0, 1  acc:  8079 / 10149 =  79.604
1, 0  acc: 120690 / 122535 =  98.494
1, 1  acc:  7593 /  8163 =  93.017
--------------------------------------
Average acc: 151379 / 162770 =  93.002
Robust  acc: 15017 / 21923 =  68.499
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6266 /  8535 =  73.415
0, 1  acc:  6733 /  8276 =  81.356
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 16028 / 19867 =  80.676
Robust  acc:  6266 /  8535 =  73.415
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.820
Robust Acc: 78.059 | Best Acc: 98.266
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7624 /  9767 =  78.059
0, 1  acc:  6107 /  7535 =  81.048
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16333 / 19962 =  81.820
Robust  acc:  7624 /  9767 =  78.059
------------------------------------
Accuracies by groups:
0, 0  acc:  7624 /  9767 =  78.059
0, 1  acc:  6107 /  7535 =  81.048
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16333 / 19962 =  81.820
Robust  acc:  7624 /  9767 =  78.059
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7624 /  9767 =  78.059
0, 1  acc:  6107 /  7535 =  81.048
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16333 / 19962 =  81.820
Robust  acc:  7624 /  9767 =  78.059
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 92.913 | Val Loss: 0.003 | Val Acc: 87.598
Training:
Accuracies by groups:
0, 0  acc: 14630 / 21647 =  67.584
0, 1  acc:  8144 / 10204 =  79.812
1, 0  acc: 120809 / 122680 =  98.475
1, 1  acc:  7652 /  8239 =  92.875
--------------------------------------
Average acc: 151235 / 162770 =  92.913
Robust  acc: 14630 / 21647 =  67.584
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7196 /  8535 =  84.312
0, 1  acc:  7278 /  8276 =  87.941
1, 0  acc:  2761 /  2874 =  96.068
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17403 / 19867 =  87.598
Robust  acc:  7196 /  8535 =  84.312
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.864
Robust Acc: 83.889 | Best Acc: 95.202
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  8587 /  9767 =  87.919
0, 1  acc:  6640 /  7535 =  88.122
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17739 / 19962 =  88.864
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8587 /  9767 =  87.919
0, 1  acc:  6640 /  7535 =  88.122
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17739 / 19962 =  88.864
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8587 /  9767 =  87.919
0, 1  acc:  6640 /  7535 =  88.122
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17739 / 19962 =  88.864
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.028 | Val Loss: 0.005 | Val Acc: 73.896
Training:
Accuracies by groups:
0, 0  acc: 14766 / 21709 =  68.018
0, 1  acc:  8046 / 10134 =  79.396
1, 0  acc: 120949 / 122685 =  98.585
1, 1  acc:  7660 /  8242 =  92.939
--------------------------------------
Average acc: 151421 / 162770 =  93.028
Robust  acc: 14766 / 21709 =  68.018
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5857 /  8535 =  68.623
0, 1  acc:  5787 /  8276 =  69.925
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14681 / 19867 =  73.896
Robust  acc:  5857 /  8535 =  68.623
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.909
Robust Acc: 70.378 | Best Acc: 99.315
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  7215 /  9767 =  73.871
0, 1  acc:  5303 /  7535 =  70.378
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15153 / 19962 =  75.909
Robust  acc:  5303 /  7535 =  70.378
------------------------------------
Accuracies by groups:
0, 0  acc:  7215 /  9767 =  73.871
0, 1  acc:  5303 /  7535 =  70.378
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15153 / 19962 =  75.909
Robust  acc:  5303 /  7535 =  70.378
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7215 /  9767 =  73.871
0, 1  acc:  5303 /  7535 =  70.378
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15153 / 19962 =  75.909
Robust  acc:  5303 /  7535 =  70.378
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 92.886 | Val Loss: 0.003 | Val Acc: 86.963
Training:
Accuracies by groups:
0, 0  acc: 14768 / 21770 =  67.836
0, 1  acc:  7965 / 10069 =  79.104
1, 0  acc: 121036 / 122905 =  98.479
1, 1  acc:  7421 /  8026 =  92.462
--------------------------------------
Average acc: 151190 / 162770 =  92.886
Robust  acc: 14768 / 21770 =  67.836
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6816 /  8535 =  79.859
0, 1  acc:  7463 /  8276 =  90.176
1, 0  acc:  2826 /  2874 =  98.330
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17277 / 19867 =  86.963
Robust  acc:  6816 /  8535 =  79.859
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.927
Robust Acc: 83.915 | Best Acc: 97.742
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8196 /  9767 =  83.915
0, 1  acc:  6778 /  7535 =  89.954
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17552 / 19962 =  87.927
Robust  acc:  8196 /  9767 =  83.915
------------------------------------
Accuracies by groups:
0, 0  acc:  8196 /  9767 =  83.915
0, 1  acc:  6778 /  7535 =  89.954
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17552 / 19962 =  87.927
Robust  acc:  8196 /  9767 =  83.915
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8196 /  9767 =  83.915
0, 1  acc:  6778 /  7535 =  89.954
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17552 / 19962 =  87.927
Robust  acc:  8196 /  9767 =  83.915
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.072 | Val Loss: 0.003 | Val Acc: 92.420
Training:
Accuracies by groups:
0, 0  acc: 14969 / 21758 =  68.798
0, 1  acc:  7979 / 10035 =  79.512
1, 0  acc: 121006 / 122875 =  98.479
1, 1  acc:  7539 /  8102 =  93.051
--------------------------------------
Average acc: 151493 / 162770 =  93.072
Robust  acc: 14969 / 21758 =  68.798
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7519 /  8535 =  88.096
0, 1  acc:  7962 /  8276 =  96.206
1, 0  acc:  2742 /  2874 =  95.407
1, 1  acc:   138 /   182 =  75.824
------------------------------------
Average acc: 18361 / 19867 =  92.420
Robust  acc:   138 /   182 =  75.824
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.912
Robust Acc: 72.778 | Best Acc: 96.019
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  8841 /  9767 =  90.519
0, 1  acc:  7235 /  7535 =  96.019
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18547 / 19962 =  92.912
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8841 /  9767 =  90.519
0, 1  acc:  7235 /  7535 =  96.019
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18547 / 19962 =  92.912
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8841 /  9767 =  90.519
0, 1  acc:  7235 /  7535 =  96.019
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18547 / 19962 =  92.912
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 92.948 | Val Loss: 0.003 | Val Acc: 94.131
Training:
Accuracies by groups:
0, 0  acc: 14963 / 21929 =  68.234
0, 1  acc:  8117 / 10179 =  79.743
1, 0  acc: 120536 / 122448 =  98.439
1, 1  acc:  7675 /  8214 =  93.438
--------------------------------------
Average acc: 151291 / 162770 =  92.948
Robust  acc: 14963 / 21929 =  68.234
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8113 /  8535 =  95.056
0, 1  acc:  8215 /  8276 =  99.263
1, 0  acc:  2302 /  2874 =  80.097
1, 1  acc:    71 /   182 =  39.011
------------------------------------
Average acc: 18701 / 19867 =  94.131
Robust  acc:    71 /   182 =  39.011
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.785
Robust Acc: 39.444 | Best Acc: 99.098
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  9390 /  9767 =  96.140
0, 1  acc:  7467 /  7535 =  99.098
1, 0  acc:  1993 /  2480 =  80.363
1, 1  acc:    71 /   180 =  39.444
------------------------------------
Average acc: 18921 / 19962 =  94.785
Robust  acc:    71 /   180 =  39.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9390 /  9767 =  96.140
0, 1  acc:  7467 /  7535 =  99.098
1, 0  acc:  1993 /  2480 =  80.363
1, 1  acc:    71 /   180 =  39.444
------------------------------------
Average acc: 18921 / 19962 =  94.785
Robust  acc:    71 /   180 =  39.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9390 /  9767 =  96.140
0, 1  acc:  7467 /  7535 =  99.098
1, 0  acc:  1993 /  2480 =  80.363
1, 1  acc:    71 /   180 =  39.444
------------------------------------
Average acc: 18921 / 19962 =  94.785
Robust  acc:    71 /   180 =  39.444
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.107 | Val Loss: 0.003 | Val Acc: 94.508
Training:
Accuracies by groups:
0, 0  acc: 14976 / 21781 =  68.757
0, 1  acc:  8184 / 10203 =  80.212
1, 0  acc: 120884 / 122714 =  98.509
1, 1  acc:  7507 /  8072 =  93.000
--------------------------------------
Average acc: 151551 / 162770 =  93.107
Robust  acc: 14976 / 21781 =  68.757
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8178 /  8535 =  95.817
0, 1  acc:  8201 /  8276 =  99.094
1, 0  acc:  2315 /  2874 =  80.550
1, 1  acc:    82 /   182 =  45.055
------------------------------------
Average acc: 18776 / 19867 =  94.508
Robust  acc:    82 /   182 =  45.055
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.930
Robust Acc: 38.333 | Best Acc: 99.190
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  9445 /  9767 =  96.703
0, 1  acc:  7474 /  7535 =  99.190
1, 0  acc:  1962 /  2480 =  79.113
1, 1  acc:    69 /   180 =  38.333
------------------------------------
Average acc: 18950 / 19962 =  94.930
Robust  acc:    69 /   180 =  38.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9445 /  9767 =  96.703
0, 1  acc:  7474 /  7535 =  99.190
1, 0  acc:  1962 /  2480 =  79.113
1, 1  acc:    69 /   180 =  38.333
------------------------------------
Average acc: 18950 / 19962 =  94.930
Robust  acc:    69 /   180 =  38.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9445 /  9767 =  96.703
0, 1  acc:  7474 /  7535 =  99.190
1, 0  acc:  1962 /  2480 =  79.113
1, 1  acc:    69 /   180 =  38.333
------------------------------------
Average acc: 18950 / 19962 =  94.930
Robust  acc:    69 /   180 =  38.333
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 92.994 | Val Loss: 0.005 | Val Acc: 72.140
Training:
Accuracies by groups:
0, 0  acc: 14954 / 21775 =  68.675
0, 1  acc:  8120 / 10186 =  79.717
1, 0  acc: 120668 / 122607 =  98.419
1, 1  acc:  7625 /  8202 =  92.965
--------------------------------------
Average acc: 151367 / 162770 =  92.994
Robust  acc: 14954 / 21775 =  68.675
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5082 /  8535 =  59.543
0, 1  acc:  6209 /  8276 =  75.024
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 14332 / 19867 =  72.140
Robust  acc:  5082 /  8535 =  59.543
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.710
Robust Acc: 65.639 | Best Acc: 99.476
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  6411 /  9767 =  65.639
0, 1  acc:  5661 /  7535 =  75.129
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14714 / 19962 =  73.710
Robust  acc:  6411 /  9767 =  65.639
------------------------------------
Accuracies by groups:
0, 0  acc:  6411 /  9767 =  65.639
0, 1  acc:  5661 /  7535 =  75.129
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14714 / 19962 =  73.710
Robust  acc:  6411 /  9767 =  65.639
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6411 /  9767 =  65.639
0, 1  acc:  5661 /  7535 =  75.129
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14714 / 19962 =  73.710
Robust  acc:  6411 /  9767 =  65.639
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 93.024 | Val Loss: 0.007 | Val Acc: 58.569
Training:
Accuracies by groups:
0, 0  acc: 14890 / 21756 =  68.441
0, 1  acc:  8095 / 10083 =  80.284
1, 0  acc: 120994 / 122845 =  98.493
1, 1  acc:  7436 /  8086 =  91.961
--------------------------------------
Average acc: 151415 / 162770 =  93.024
Robust  acc: 14890 / 21756 =  68.441
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4553 /  8535 =  53.345
0, 1  acc:  4036 /  8276 =  48.768
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 11636 / 19867 =  58.569
Robust  acc:  4036 /  8276 =  48.768
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 60.420
Robust Acc: 48.202 | Best Acc: 99.758
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  5777 /  9767 =  59.148
0, 1  acc:  3632 /  7535 =  48.202
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12061 / 19962 =  60.420
Robust  acc:  3632 /  7535 =  48.202
------------------------------------
Accuracies by groups:
0, 0  acc:  5777 /  9767 =  59.148
0, 1  acc:  3632 /  7535 =  48.202
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12061 / 19962 =  60.420
Robust  acc:  3632 /  7535 =  48.202
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5777 /  9767 =  59.148
0, 1  acc:  3632 /  7535 =  48.202
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12061 / 19962 =  60.420
Robust  acc:  3632 /  7535 =  48.202
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 93.118 | Val Loss: 0.003 | Val Acc: 92.747
Training:
Accuracies by groups:
0, 0  acc: 14869 / 21590 =  68.870
0, 1  acc:  8098 / 10109 =  80.107
1, 0  acc: 120915 / 122831 =  98.440
1, 1  acc:  7686 /  8240 =  93.277
--------------------------------------
Average acc: 151568 / 162770 =  93.118
Robust  acc: 14869 / 21590 =  68.870
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7623 /  8535 =  89.315
0, 1  acc:  8001 /  8276 =  96.677
1, 0  acc:  2670 /  2874 =  92.902
1, 1  acc:   132 /   182 =  72.527
------------------------------------
Average acc: 18426 / 19867 =  92.747
Robust  acc:   132 /   182 =  72.527
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.312
Robust Acc: 67.222 | Best Acc: 96.669
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  8923 /  9767 =  91.359
0, 1  acc:  7284 /  7535 =  96.669
1, 0  acc:  2299 /  2480 =  92.702
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18627 / 19962 =  93.312
Robust  acc:   121 /   180 =  67.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8923 /  9767 =  91.359
0, 1  acc:  7284 /  7535 =  96.669
1, 0  acc:  2299 /  2480 =  92.702
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18627 / 19962 =  93.312
Robust  acc:   121 /   180 =  67.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8923 /  9767 =  91.359
0, 1  acc:  7284 /  7535 =  96.669
1, 0  acc:  2299 /  2480 =  92.702
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18627 / 19962 =  93.312
Robust  acc:   121 /   180 =  67.222
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 92.990 | Val Loss: 0.006 | Val Acc: 64.363
Training:
Accuracies by groups:
0, 0  acc: 15057 / 21937 =  68.637
0, 1  acc:  8160 / 10182 =  80.141
1, 0  acc: 120509 / 122409 =  98.448
1, 1  acc:  7634 /  8242 =  92.623
--------------------------------------
Average acc: 151360 / 162770 =  92.990
Robust  acc: 15057 / 21937 =  68.637
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4619 /  8535 =  54.118
0, 1  acc:  5122 /  8276 =  61.890
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12787 / 19867 =  64.363
Robust  acc:  4619 /  8535 =  54.118
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.695
Robust Acc: 59.251 | Best Acc: 99.718
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  5787 /  9767 =  59.251
0, 1  acc:  4676 /  7535 =  62.057
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13114 / 19962 =  65.695
Robust  acc:  5787 /  9767 =  59.251
------------------------------------
Accuracies by groups:
0, 0  acc:  5787 /  9767 =  59.251
0, 1  acc:  4676 /  7535 =  62.057
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13114 / 19962 =  65.695
Robust  acc:  5787 /  9767 =  59.251
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5787 /  9767 =  59.251
0, 1  acc:  4676 /  7535 =  62.057
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13114 / 19962 =  65.695
Robust  acc:  5787 /  9767 =  59.251
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 93.112 | Val Loss: 0.005 | Val Acc: 72.014
Training:
Accuracies by groups:
0, 0  acc: 15082 / 21873 =  68.953
0, 1  acc:  8304 / 10250 =  81.015
1, 0  acc: 120606 / 122511 =  98.445
1, 1  acc:  7567 /  8136 =  93.006
--------------------------------------
Average acc: 151559 / 162770 =  93.112
Robust  acc: 15082 / 21873 =  68.953
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5635 /  8535 =  66.022
0, 1  acc:  5646 /  8276 =  68.221
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14307 / 19867 =  72.014
Robust  acc:  5635 /  8535 =  66.022
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.625
Robust Acc: 67.273 | Best Acc: 98.831
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  7002 /  9767 =  71.690
0, 1  acc:  5069 /  7535 =  67.273
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14697 / 19962 =  73.625
Robust  acc:  5069 /  7535 =  67.273
------------------------------------
Accuracies by groups:
0, 0  acc:  7002 /  9767 =  71.690
0, 1  acc:  5069 /  7535 =  67.273
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14697 / 19962 =  73.625
Robust  acc:  5069 /  7535 =  67.273
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7002 /  9767 =  71.690
0, 1  acc:  5069 /  7535 =  67.273
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14697 / 19962 =  73.625
Robust  acc:  5069 /  7535 =  67.273
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 93.089 | Val Loss: 0.003 | Val Acc: 89.047
Training:
Accuracies by groups:
0, 0  acc: 15092 / 21778 =  69.299
0, 1  acc:  7881 /  9902 =  79.590
1, 0  acc: 120822 / 122758 =  98.423
1, 1  acc:  7726 /  8332 =  92.727
--------------------------------------
Average acc: 151521 / 162770 =  93.089
Robust  acc: 15092 / 21778 =  69.299
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7155 /  8535 =  83.831
0, 1  acc:  7594 /  8276 =  91.759
1, 0  acc:  2781 /  2874 =  96.764
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 17691 / 19867 =  89.047
Robust  acc:  7155 /  8535 =  83.831
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.926
Robust Acc: 82.222 | Best Acc: 96.250
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  8495 /  9767 =  86.977
0, 1  acc:  6921 /  7535 =  91.851
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 17951 / 19962 =  89.926
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8495 /  9767 =  86.977
0, 1  acc:  6921 /  7535 =  91.851
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 17951 / 19962 =  89.926
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8495 /  9767 =  86.977
0, 1  acc:  6921 /  7535 =  91.851
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 17951 / 19962 =  89.926
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 93.189 | Val Loss: 0.003 | Val Acc: 87.985
Training:
Accuracies by groups:
0, 0  acc: 15131 / 21861 =  69.215
0, 1  acc:  8214 / 10143 =  80.982
1, 0  acc: 120598 / 122425 =  98.508
1, 1  acc:  7740 /  8341 =  92.795
--------------------------------------
Average acc: 151683 / 162770 =  93.189
Robust  acc: 15131 / 21861 =  69.215
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7060 /  8535 =  82.718
0, 1  acc:  7475 /  8276 =  90.321
1, 0  acc:  2779 /  2874 =  96.695
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17480 / 19867 =  87.985
Robust  acc:  7060 /  8535 =  82.718
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.114
Robust Acc: 86.557 | Best Acc: 95.847
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  8454 /  9767 =  86.557
0, 1  acc:  6800 /  7535 =  90.246
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17789 / 19962 =  89.114
Robust  acc:  8454 /  9767 =  86.557
------------------------------------
Accuracies by groups:
0, 0  acc:  8454 /  9767 =  86.557
0, 1  acc:  6800 /  7535 =  90.246
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17789 / 19962 =  89.114
Robust  acc:  8454 /  9767 =  86.557
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8454 /  9767 =  86.557
0, 1  acc:  6800 /  7535 =  90.246
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17789 / 19962 =  89.114
Robust  acc:  8454 /  9767 =  86.557
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 93.254 | Val Loss: 0.003 | Val Acc: 91.091
Training:
Accuracies by groups:
0, 0  acc: 15068 / 21693 =  69.460
0, 1  acc:  8080 /  9975 =  81.003
1, 0  acc: 121108 / 122972 =  98.484
1, 1  acc:  7534 /  8130 =  92.669
--------------------------------------
Average acc: 151790 / 162770 =  93.254
Robust  acc: 15068 / 21693 =  69.460
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8487 /  8535 =  99.438
0, 1  acc:  8271 /  8276 =  99.940
1, 0  acc:  1324 /  2874 =  46.068
1, 1  acc:    15 /   182 =   8.242
------------------------------------
Average acc: 18097 / 19867 =  91.091
Robust  acc:    15 /   182 =   8.242
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.699
Robust Acc: 10.000 | Best Acc: 99.920
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  9709 /  9767 =  99.406
0, 1  acc:  7529 /  7535 =  99.920
1, 0  acc:  1049 /  2480 =  42.298
1, 1  acc:    18 /   180 =  10.000
------------------------------------
Average acc: 18305 / 19962 =  91.699
Robust  acc:    18 /   180 =  10.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9709 /  9767 =  99.406
0, 1  acc:  7529 /  7535 =  99.920
1, 0  acc:  1049 /  2480 =  42.298
1, 1  acc:    18 /   180 =  10.000
------------------------------------
Average acc: 18305 / 19962 =  91.699
Robust  acc:    18 /   180 =  10.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9709 /  9767 =  99.406
0, 1  acc:  7529 /  7535 =  99.920
1, 0  acc:  1049 /  2480 =  42.298
1, 1  acc:    18 /   180 =  10.000
------------------------------------
Average acc: 18305 / 19962 =  91.699
Robust  acc:    18 /   180 =  10.000
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 93.177 | Val Loss: 0.002 | Val Acc: 94.066
Training:
Accuracies by groups:
0, 0  acc: 15049 / 21732 =  69.248
0, 1  acc:  8078 /  9992 =  80.845
1, 0  acc: 120865 / 122798 =  98.426
1, 1  acc:  7672 /  8248 =  93.016
--------------------------------------
Average acc: 151664 / 162770 =  93.177
Robust  acc: 15049 / 21732 =  69.248
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7935 /  8535 =  92.970
0, 1  acc:  8094 /  8276 =  97.801
1, 0  acc:  2542 /  2874 =  88.448
1, 1  acc:   117 /   182 =  64.286
------------------------------------
Average acc: 18688 / 19867 =  94.066
Robust  acc:   117 /   182 =  64.286
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.775
Robust Acc: 61.111 | Best Acc: 97.823
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  9260 /  9767 =  94.809
0, 1  acc:  7371 /  7535 =  97.823
1, 0  acc:  2178 /  2480 =  87.823
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18919 / 19962 =  94.775
Robust  acc:   110 /   180 =  61.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9260 /  9767 =  94.809
0, 1  acc:  7371 /  7535 =  97.823
1, 0  acc:  2178 /  2480 =  87.823
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18919 / 19962 =  94.775
Robust  acc:   110 /   180 =  61.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9260 /  9767 =  94.809
0, 1  acc:  7371 /  7535 =  97.823
1, 0  acc:  2178 /  2480 =  87.823
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18919 / 19962 =  94.775
Robust  acc:   110 /   180 =  61.111
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 93.286 | Val Loss: 0.003 | Val Acc: 92.500
Training:
Accuracies by groups:
0, 0  acc: 15196 / 21835 =  69.595
0, 1  acc:  8103 /  9994 =  81.079
1, 0  acc: 120887 / 122693 =  98.528
1, 1  acc:  7656 /  8248 =  92.823
--------------------------------------
Average acc: 151842 / 162770 =  93.286
Robust  acc: 15196 / 21835 =  69.595
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7541 /  8535 =  88.354
0, 1  acc:  8021 /  8276 =  96.919
1, 0  acc:  2689 /  2874 =  93.563
1, 1  acc:   126 /   182 =  69.231
------------------------------------
Average acc: 18377 / 19867 =  92.500
Robust  acc:   126 /   182 =  69.231
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.092
Robust Acc: 65.556 | Best Acc: 96.802
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  8878 /  9767 =  90.898
0, 1  acc:  7294 /  7535 =  96.802
1, 0  acc:  2293 /  2480 =  92.460
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18583 / 19962 =  93.092
Robust  acc:   118 /   180 =  65.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8878 /  9767 =  90.898
0, 1  acc:  7294 /  7535 =  96.802
1, 0  acc:  2293 /  2480 =  92.460
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18583 / 19962 =  93.092
Robust  acc:   118 /   180 =  65.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8878 /  9767 =  90.898
0, 1  acc:  7294 /  7535 =  96.802
1, 0  acc:  2293 /  2480 =  92.460
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18583 / 19962 =  93.092
Robust  acc:   118 /   180 =  65.556
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 93.192 | Val Loss: 0.002 | Val Acc: 94.272
Training:
Accuracies by groups:
0, 0  acc: 15023 / 21660 =  69.358
0, 1  acc:  8013 /  9987 =  80.234
1, 0  acc: 120949 / 122837 =  98.463
1, 1  acc:  7703 /  8286 =  92.964
--------------------------------------
Average acc: 151688 / 162770 =  93.192
Robust  acc: 15023 / 21660 =  69.358
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8112 /  8535 =  95.044
0, 1  acc:  8125 /  8276 =  98.175
1, 0  acc:  2383 /  2874 =  82.916
1, 1  acc:   109 /   182 =  59.890
------------------------------------
Average acc: 18729 / 19867 =  94.272
Robust  acc:   109 /   182 =  59.890
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.710
Robust Acc: 57.778 | Best Acc: 98.089
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  9365 /  9767 =  95.884
0, 1  acc:  7391 /  7535 =  98.089
1, 0  acc:  2046 /  2480 =  82.500
1, 1  acc:   104 /   180 =  57.778
------------------------------------
Average acc: 18906 / 19962 =  94.710
Robust  acc:   104 /   180 =  57.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9365 /  9767 =  95.884
0, 1  acc:  7391 /  7535 =  98.089
1, 0  acc:  2046 /  2480 =  82.500
1, 1  acc:   104 /   180 =  57.778
------------------------------------
Average acc: 18906 / 19962 =  94.710
Robust  acc:   104 /   180 =  57.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9365 /  9767 =  95.884
0, 1  acc:  7391 /  7535 =  98.089
1, 0  acc:  2046 /  2480 =  82.500
1, 1  acc:   104 /   180 =  57.778
------------------------------------
Average acc: 18906 / 19962 =  94.710
Robust  acc:   104 /   180 =  57.778
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed22.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed22.pt
