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/seed38/stage_one_erm_model_b_epoch0_seed38.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: 38
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=38-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/seed38/stage_one_erm_model_b_epoch0_seed38.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8248, 0.0261],
        [0.1333, 0.0158]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.149 | Val Loss: 0.003 | Val Acc: 82.091
Training:
Accuracies by groups:
0, 0  acc:  8877 / 17903 =  49.584
0, 1  acc:  4879 /  8771 =  55.626
1, 0  acc: 125299 / 127882 =  97.980
1, 1  acc:  7680 /  8214 =  93.499
--------------------------------------
Average acc: 146735 / 162770 =  90.149
Robust  acc:  8877 / 17903 =  49.584
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6419 /  8535 =  75.208
0, 1  acc:  6876 /  8276 =  83.084
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16309 / 19867 =  82.091
Robust  acc:  6419 /  8535 =  75.208
------------------------------------
New max robust acc: 75.20796719390745
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed38.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed38.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 83.699
Robust Acc: 80.178 | Best Acc: 98.548
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7831 /  9767 =  80.178
0, 1  acc:  6266 /  7535 =  83.159
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16708 / 19962 =  83.699
Robust  acc:  7831 /  9767 =  80.178
------------------------------------
Accuracies by groups:
0, 0  acc:  7831 /  9767 =  80.178
0, 1  acc:  6266 /  7535 =  83.159
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16708 / 19962 =  83.699
Robust  acc:  7831 /  9767 =  80.178
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7831 /  9767 =  80.178
0, 1  acc:  6266 /  7535 =  83.159
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16708 / 19962 =  83.699
Robust  acc:  7831 /  9767 =  80.178
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.217 | Val Loss: 0.002 | Val Acc: 86.279
Training:
Accuracies by groups:
0, 0  acc: 12300 / 17828 =  68.993
0, 1  acc:  6936 /  8690 =  79.816
1, 0  acc: 126231 / 127762 =  98.802
1, 1  acc:  7890 /  8490 =  92.933
--------------------------------------
Average acc: 153357 / 162770 =  94.217
Robust  acc: 12300 / 17828 =  68.993
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6686 /  8535 =  78.336
0, 1  acc:  7444 /  8276 =  89.947
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17141 / 19867 =  86.279
Robust  acc:  6686 /  8535 =  78.336
------------------------------------
New max robust acc: 78.33626244874048
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed38.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed38.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.752
Robust Acc: 83.229 | Best Acc: 98.508
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8129 /  9767 =  83.229
0, 1  acc:  6784 /  7535 =  90.033
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17517 / 19962 =  87.752
Robust  acc:  8129 /  9767 =  83.229
------------------------------------
Accuracies by groups:
0, 0  acc:  8129 /  9767 =  83.229
0, 1  acc:  6784 /  7535 =  90.033
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17517 / 19962 =  87.752
Robust  acc:  8129 /  9767 =  83.229
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8129 /  9767 =  83.229
0, 1  acc:  6784 /  7535 =  90.033
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17517 / 19962 =  87.752
Robust  acc:  8129 /  9767 =  83.229
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 94.962 | Val Loss: 0.002 | Val Acc: 88.141
Training:
Accuracies by groups:
0, 0  acc: 12998 / 17980 =  72.291
0, 1  acc:  7454 /  8717 =  85.511
1, 0  acc: 126298 / 127702 =  98.901
1, 1  acc:  7819 /  8371 =  93.406
--------------------------------------
Average acc: 154569 / 162770 =  94.962
Robust  acc: 12998 / 17980 =  72.291
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6922 /  8535 =  81.101
0, 1  acc:  7587 /  8276 =  91.675
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 17511 / 19867 =  88.141
Robust  acc:  6922 /  8535 =  81.101
------------------------------------
New max robust acc: 81.10134739308728
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed38.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed38.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.169
Robust Acc: 85.185 | Best Acc: 97.944
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8320 /  9767 =  85.185
0, 1  acc:  6893 /  7535 =  91.480
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17800 / 19962 =  89.169
Robust  acc:  8320 /  9767 =  85.185
------------------------------------
Accuracies by groups:
0, 0  acc:  8320 /  9767 =  85.185
0, 1  acc:  6893 /  7535 =  91.480
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17800 / 19962 =  89.169
Robust  acc:  8320 /  9767 =  85.185
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8320 /  9767 =  85.185
0, 1  acc:  6893 /  7535 =  91.480
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17800 / 19962 =  89.169
Robust  acc:  8320 /  9767 =  85.185
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.446 | Val Loss: 0.002 | Val Acc: 88.851
Training:
Accuracies by groups:
0, 0  acc: 13476 / 18167 =  74.178
0, 1  acc:  7674 /  8778 =  87.423
1, 0  acc: 126315 / 127454 =  99.106
1, 1  acc:  7893 /  8371 =  94.290
--------------------------------------
Average acc: 155358 / 162770 =  95.446
Robust  acc: 13476 / 18167 =  74.178
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6969 /  8535 =  81.652
0, 1  acc:  7688 /  8276 =  92.895
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17652 / 19867 =  88.851
Robust  acc:  6969 /  8535 =  81.652
------------------------------------
New max robust acc: 81.65202108963094
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed38.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed38.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.675
Robust Acc: 85.338 | Best Acc: 97.903
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8335 /  9767 =  85.338
0, 1  acc:  6982 /  7535 =  92.661
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17901 / 19962 =  89.675
Robust  acc:  8335 /  9767 =  85.338
------------------------------------
Accuracies by groups:
0, 0  acc:  8335 /  9767 =  85.338
0, 1  acc:  6982 /  7535 =  92.661
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17901 / 19962 =  89.675
Robust  acc:  8335 /  9767 =  85.338
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8335 /  9767 =  85.338
0, 1  acc:  6982 /  7535 =  92.661
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17901 / 19962 =  89.675
Robust  acc:  8335 /  9767 =  85.338
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.135 | Val Loss: 0.002 | Val Acc: 90.160
Training:
Accuracies by groups:
0, 0  acc: 13746 / 17924 =  76.690
0, 1  acc:  7872 /  8817 =  89.282
1, 0  acc: 126904 / 127752 =  99.336
1, 1  acc:  7957 /  8277 =  96.134
--------------------------------------
Average acc: 156479 / 162770 =  96.135
Robust  acc: 13746 / 17924 =  76.690
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7129 /  8535 =  83.527
0, 1  acc:  7803 /  8276 =  94.285
1, 0  acc:  2814 /  2874 =  97.912
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17912 / 19867 =  90.160
Robust  acc:  7129 /  8535 =  83.527
------------------------------------
New max robust acc: 83.52665495020504
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed38.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed38.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.793
Robust Acc: 82.778 | Best Acc: 97.581
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  7074 /  7535 =  93.882
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18124 / 19962 =  90.793
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  7074 /  7535 =  93.882
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18124 / 19962 =  90.793
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  7074 /  7535 =  93.882
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18124 / 19962 =  90.793
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.805 | Val Loss: 0.002 | Val Acc: 91.861
Training:
Accuracies by groups:
0, 0  acc: 14234 / 17959 =  79.258
0, 1  acc:  8039 /  8816 =  91.186
1, 0  acc: 127192 / 127721 =  99.586
1, 1  acc:  8105 /  8274 =  97.957
--------------------------------------
Average acc: 157570 / 162770 =  96.805
Robust  acc: 14234 / 17959 =  79.258
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7404 /  8535 =  86.749
0, 1  acc:  7907 /  8276 =  95.541
1, 0  acc:  2781 /  2874 =  96.764
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 18250 / 19867 =  91.861
Robust  acc:  7404 /  8535 =  86.749
------------------------------------
New max robust acc: 86.74868189806678
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed38.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed38.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.240
Robust Acc: 78.889 | Best Acc: 96.452
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8706 /  9767 =  89.137
0, 1  acc:  7173 /  7535 =  95.196
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18413 / 19962 =  92.240
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8706 /  9767 =  89.137
0, 1  acc:  7173 /  7535 =  95.196
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18413 / 19962 =  92.240
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8706 /  9767 =  89.137
0, 1  acc:  7173 /  7535 =  95.196
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18413 / 19962 =  92.240
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.425 | Val Loss: 0.001 | Val Acc: 92.812
Training:
Accuracies by groups:
0, 0  acc: 14752 / 17962 =  82.129
0, 1  acc:  8175 /  8823 =  92.656
1, 0  acc: 127481 / 127732 =  99.803
1, 1  acc:  8170 /  8253 =  98.994
--------------------------------------
Average acc: 158578 / 162770 =  97.425
Robust  acc: 14752 / 17962 =  82.129
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7501 /  8535 =  87.885
0, 1  acc:  8033 /  8276 =  97.064
1, 0  acc:  2758 /  2874 =  95.964
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18439 / 19867 =  92.812
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.017
Robust Acc: 72.222 | Best Acc: 96.457
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8795 /  9767 =  90.048
0, 1  acc:  7268 /  7535 =  96.457
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18568 / 19962 =  93.017
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8795 /  9767 =  90.048
0, 1  acc:  7268 /  7535 =  96.457
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18568 / 19962 =  93.017
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8795 /  9767 =  90.048
0, 1  acc:  7268 /  7535 =  96.457
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18568 / 19962 =  93.017
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 98.082 | Val Loss: 0.001 | Val Acc: 93.456
Training:
Accuracies by groups:
0, 0  acc: 15330 / 17855 =  85.858
0, 1  acc:  8464 /  8938 =  94.697
1, 0  acc: 127777 / 127870 =  99.927
1, 1  acc:  8077 /  8107 =  99.630
--------------------------------------
Average acc: 159648 / 162770 =  98.082
Robust  acc: 15330 / 17855 =  85.858
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7640 /  8535 =  89.514
0, 1  acc:  8068 /  8276 =  97.487
1, 0  acc:  2717 /  2874 =  94.537
1, 1  acc:   142 /   182 =  78.022
------------------------------------
Average acc: 18567 / 19867 =  93.456
Robust  acc:   142 /   182 =  78.022
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.633
Robust Acc: 70.556 | Best Acc: 97.001
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8922 /  9767 =  91.348
0, 1  acc:  7309 /  7535 =  97.001
1, 0  acc:  2333 /  2480 =  94.073
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18691 / 19962 =  93.633
Robust  acc:   127 /   180 =  70.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8922 /  9767 =  91.348
0, 1  acc:  7309 /  7535 =  97.001
1, 0  acc:  2333 /  2480 =  94.073
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18691 / 19962 =  93.633
Robust  acc:   127 /   180 =  70.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8922 /  9767 =  91.348
0, 1  acc:  7309 /  7535 =  97.001
1, 0  acc:  2333 /  2480 =  94.073
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18691 / 19962 =  93.633
Robust  acc:   127 /   180 =  70.556
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.500 | Val Loss: 0.001 | Val Acc: 94.066
Training:
Accuracies by groups:
0, 0  acc: 15769 / 17768 =  88.749
0, 1  acc:  8335 /  8683 =  95.992
1, 0  acc: 127867 / 127944 =  99.940
1, 1  acc:  8358 /  8375 =  99.797
--------------------------------------
Average acc: 160329 / 162770 =  98.500
Robust  acc: 15769 / 17768 =  88.749
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7775 /  8535 =  91.095
0, 1  acc:  8112 /  8276 =  98.018
1, 0  acc:  2668 /  2874 =  92.832
1, 1  acc:   133 /   182 =  73.077
------------------------------------
Average acc: 18688 / 19867 =  94.066
Robust  acc:   133 /   182 =  73.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.099
Robust Acc: 65.000 | Best Acc: 97.425
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  9029 /  9767 =  92.444
0, 1  acc:  7341 /  7535 =  97.425
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18784 / 19962 =  94.099
Robust  acc:   117 /   180 =  65.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9029 /  9767 =  92.444
0, 1  acc:  7341 /  7535 =  97.425
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18784 / 19962 =  94.099
Robust  acc:   117 /   180 =  65.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9029 /  9767 =  92.444
0, 1  acc:  7341 /  7535 =  97.425
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18784 / 19962 =  94.099
Robust  acc:   117 /   180 =  65.000
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.700 | Val Loss: 0.001 | Val Acc: 94.191
Training:
Accuracies by groups:
0, 0  acc: 16242 / 17926 =  90.606
0, 1  acc:  8467 /  8776 =  96.479
1, 0  acc: 127741 / 127831 =  99.930
1, 1  acc:  8204 /  8237 =  99.599
--------------------------------------
Average acc: 160654 / 162770 =  98.700
Robust  acc: 16242 / 17926 =  90.606
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7817 /  8535 =  91.588
0, 1  acc:  8116 /  8276 =  98.067
1, 0  acc:  2655 /  2874 =  92.380
1, 1  acc:   125 /   182 =  68.681
------------------------------------
Average acc: 18713 / 19867 =  94.191
Robust  acc:   125 /   182 =  68.681
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.284
Robust Acc: 62.778 | Best Acc: 97.784
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9069 /  9767 =  92.853
0, 1  acc:  7368 /  7535 =  97.784
1, 0  acc:  2271 /  2480 =  91.573
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18821 / 19962 =  94.284
Robust  acc:   113 /   180 =  62.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9069 /  9767 =  92.853
0, 1  acc:  7368 /  7535 =  97.784
1, 0  acc:  2271 /  2480 =  91.573
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18821 / 19962 =  94.284
Robust  acc:   113 /   180 =  62.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9069 /  9767 =  92.853
0, 1  acc:  7368 /  7535 =  97.784
1, 0  acc:  2271 /  2480 =  91.573
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18821 / 19962 =  94.284
Robust  acc:   113 /   180 =  62.778
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.718 | Val Loss: 0.002 | Val Acc: 91.780
Training:
Accuracies by groups:
0, 0  acc: 16199 / 17802 =  90.995
0, 1  acc:  8514 /  8803 =  96.717
1, 0  acc: 127912 / 128074 =  99.874
1, 1  acc:  8059 /  8091 =  99.604
--------------------------------------
Average acc: 160684 / 162770 =  98.718
Robust  acc: 16199 / 17802 =  90.995
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7344 /  8535 =  86.046
0, 1  acc:  8016 /  8276 =  96.858
1, 0  acc:  2741 /  2874 =  95.372
1, 1  acc:   133 /   182 =  73.077
------------------------------------
Average acc: 18234 / 19867 =  91.780
Robust  acc:   133 /   182 =  73.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.185
Robust Acc: 72.222 | Best Acc: 96.297
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8653 /  9767 =  88.594
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18402 / 19962 =  92.185
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8653 /  9767 =  88.594
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18402 / 19962 =  92.185
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8653 /  9767 =  88.594
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18402 / 19962 =  92.185
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.469 | Val Loss: 0.001 | Val Acc: 93.235
Training:
Accuracies by groups:
0, 0  acc: 16116 / 17912 =  89.973
0, 1  acc:  8365 /  8668 =  96.504
1, 0  acc: 127502 / 127801 =  99.766
1, 1  acc:  8295 /  8389 =  98.879
--------------------------------------
Average acc: 160278 / 162770 =  98.469
Robust  acc: 16116 / 17912 =  89.973
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7616 /  8535 =  89.233
0, 1  acc:  8047 /  8276 =  97.233
1, 0  acc:  2722 /  2874 =  94.711
1, 1  acc:   138 /   182 =  75.824
------------------------------------
Average acc: 18523 / 19867 =  93.235
Robust  acc:   138 /   182 =  75.824
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.417
Robust Acc: 69.444 | Best Acc: 97.160
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8892 /  9767 =  91.041
0, 1  acc:  7321 /  7535 =  97.160
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18648 / 19962 =  93.417
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8892 /  9767 =  91.041
0, 1  acc:  7321 /  7535 =  97.160
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18648 / 19962 =  93.417
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8892 /  9767 =  91.041
0, 1  acc:  7321 /  7535 =  97.160
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18648 / 19962 =  93.417
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.917 | Val Loss: 0.001 | Val Acc: 93.582
Training:
Accuracies by groups:
0, 0  acc: 15798 / 18086 =  87.349
0, 1  acc:  8387 /  8793 =  95.383
1, 0  acc: 126937 / 127483 =  99.572
1, 1  acc:  8257 /  8408 =  98.204
--------------------------------------
Average acc: 159379 / 162770 =  97.917
Robust  acc: 15798 / 18086 =  87.349
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7740 /  8535 =  90.685
0, 1  acc:  8076 /  8276 =  97.583
1, 0  acc:  2650 /  2874 =  92.206
1, 1  acc:   126 /   182 =  69.231
------------------------------------
Average acc: 18592 / 19867 =  93.582
Robust  acc:   126 /   182 =  69.231
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.989
Robust Acc: 59.444 | Best Acc: 97.452
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  9055 /  9767 =  92.710
0, 1  acc:  7343 /  7535 =  97.452
1, 0  acc:  2257 /  2480 =  91.008
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18762 / 19962 =  93.989
Robust  acc:   107 /   180 =  59.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9055 /  9767 =  92.710
0, 1  acc:  7343 /  7535 =  97.452
1, 0  acc:  2257 /  2480 =  91.008
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18762 / 19962 =  93.989
Robust  acc:   107 /   180 =  59.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9055 /  9767 =  92.710
0, 1  acc:  7343 /  7535 =  97.452
1, 0  acc:  2257 /  2480 =  91.008
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18762 / 19962 =  93.989
Robust  acc:   107 /   180 =  59.444
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.374 | Val Loss: 0.003 | Val Acc: 87.321
Training:
Accuracies by groups:
0, 0  acc: 14837 / 17572 =  84.435
0, 1  acc:  8159 /  8702 =  93.760
1, 0  acc: 127373 / 128127 =  99.412
1, 1  acc:  8126 /  8369 =  97.096
--------------------------------------
Average acc: 158495 / 162770 =  97.374
Robust  acc: 14837 / 17572 =  84.435
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6587 /  8535 =  77.176
0, 1  acc:  7766 /  8276 =  93.838
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 17348 / 19867 =  87.321
Robust  acc:  6587 /  8535 =  77.176
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.157
Robust Acc: 81.868 | Best Acc: 98.145
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  7996 /  9767 =  81.868
0, 1  acc:  7017 /  7535 =  93.125
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17598 / 19962 =  88.157
Robust  acc:  7996 /  9767 =  81.868
------------------------------------
Accuracies by groups:
0, 0  acc:  7996 /  9767 =  81.868
0, 1  acc:  7017 /  7535 =  93.125
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17598 / 19962 =  88.157
Robust  acc:  7996 /  9767 =  81.868
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7996 /  9767 =  81.868
0, 1  acc:  7017 /  7535 =  93.125
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17598 / 19962 =  88.157
Robust  acc:  7996 /  9767 =  81.868
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.732 | Val Loss: 0.002 | Val Acc: 93.527
Training:
Accuracies by groups:
0, 0  acc: 14643 / 17938 =  81.631
0, 1  acc:  8179 /  8859 =  92.324
1, 0  acc: 126659 / 127682 =  99.199
1, 1  acc:  7970 /  8291 =  96.128
--------------------------------------
Average acc: 157451 / 162770 =  96.732
Robust  acc: 14643 / 17938 =  81.631
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7597 /  8535 =  89.010
0, 1  acc:  8086 /  8276 =  97.704
1, 0  acc:  2762 /  2874 =  96.103
1, 1  acc:   136 /   182 =  74.725
------------------------------------
Average acc: 18581 / 19867 =  93.527
Robust  acc:   136 /   182 =  74.725
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.903
Robust Acc: 66.111 | Best Acc: 97.598
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8909 /  9767 =  91.215
0, 1  acc:  7354 /  7535 =  97.598
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18745 / 19962 =  93.903
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8909 /  9767 =  91.215
0, 1  acc:  7354 /  7535 =  97.598
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18745 / 19962 =  93.903
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8909 /  9767 =  91.215
0, 1  acc:  7354 /  7535 =  97.598
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18745 / 19962 =  93.903
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.236 | Val Loss: 0.002 | Val Acc: 93.829
Training:
Accuracies by groups:
0, 0  acc: 14202 / 17918 =  79.261
0, 1  acc:  7904 /  8701 =  90.840
1, 0  acc: 126585 / 127826 =  99.029
1, 1  acc:  7952 /  8325 =  95.520
--------------------------------------
Average acc: 156643 / 162770 =  96.236
Robust  acc: 14202 / 17918 =  79.261
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7792 /  8535 =  91.295
0, 1  acc:  8026 /  8276 =  96.979
1, 0  acc:  2683 /  2874 =  93.354
1, 1  acc:   140 /   182 =  76.923
------------------------------------
Average acc: 18641 / 19867 =  93.829
Robust  acc:   140 /   182 =  76.923
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.184
Robust Acc: 71.667 | Best Acc: 96.695
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  9079 /  9767 =  92.956
0, 1  acc:  7286 /  7535 =  96.695
1, 0  acc:  2307 /  2480 =  93.024
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18801 / 19962 =  94.184
Robust  acc:   129 /   180 =  71.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9079 /  9767 =  92.956
0, 1  acc:  7286 /  7535 =  96.695
1, 0  acc:  2307 /  2480 =  93.024
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18801 / 19962 =  94.184
Robust  acc:   129 /   180 =  71.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9079 /  9767 =  92.956
0, 1  acc:  7286 /  7535 =  96.695
1, 0  acc:  2307 /  2480 =  93.024
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18801 / 19962 =  94.184
Robust  acc:   129 /   180 =  71.667
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.781 | Val Loss: 0.003 | Val Acc: 88.262
Training:
Accuracies by groups:
0, 0  acc: 13820 / 17897 =  77.220
0, 1  acc:  7758 /  8709 =  89.080
1, 0  acc: 126583 / 127944 =  98.936
1, 1  acc:  7741 /  8220 =  94.173
--------------------------------------
Average acc: 155902 / 162770 =  95.781
Robust  acc: 13820 / 17897 =  77.220
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6973 /  8535 =  81.699
0, 1  acc:  7557 /  8276 =  91.312
1, 0  acc:  2829 /  2874 =  98.434
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 17535 / 19867 =  88.262
Robust  acc:  6973 /  8535 =  81.699
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.300
Robust Acc: 85.369 | Best Acc: 98.226
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8338 /  9767 =  85.369
0, 1  acc:  6890 /  7535 =  91.440
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17826 / 19962 =  89.300
Robust  acc:  8338 /  9767 =  85.369
------------------------------------
Accuracies by groups:
0, 0  acc:  8338 /  9767 =  85.369
0, 1  acc:  6890 /  7535 =  91.440
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17826 / 19962 =  89.300
Robust  acc:  8338 /  9767 =  85.369
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8338 /  9767 =  85.369
0, 1  acc:  6890 /  7535 =  91.440
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17826 / 19962 =  89.300
Robust  acc:  8338 /  9767 =  85.369
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.271 | Val Loss: 0.001 | Val Acc: 95.198
Training:
Accuracies by groups:
0, 0  acc: 13417 / 17879 =  75.043
0, 1  acc:  7583 /  8655 =  87.614
1, 0  acc: 126335 / 127923 =  98.759
1, 1  acc:  7738 /  8313 =  93.083
--------------------------------------
Average acc: 155073 / 162770 =  95.271
Robust  acc: 13417 / 17879 =  75.043
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8146 /  8535 =  95.442
0, 1  acc:  8197 /  8276 =  99.045
1, 0  acc:  2469 /  2874 =  85.908
1, 1  acc:   101 /   182 =  55.495
------------------------------------
Average acc: 18913 / 19867 =  95.198
Robust  acc:   101 /   182 =  55.495
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 95.446
Robust Acc: 50.556 | Best Acc: 98.898
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  9441 /  9767 =  96.662
0, 1  acc:  7452 /  7535 =  98.898
1, 0  acc:  2069 /  2480 =  83.427
1, 1  acc:    91 /   180 =  50.556
------------------------------------
Average acc: 19053 / 19962 =  95.446
Robust  acc:    91 /   180 =  50.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9441 /  9767 =  96.662
0, 1  acc:  7452 /  7535 =  98.898
1, 0  acc:  2069 /  2480 =  83.427
1, 1  acc:    91 /   180 =  50.556
------------------------------------
Average acc: 19053 / 19962 =  95.446
Robust  acc:    91 /   180 =  50.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9441 /  9767 =  96.662
0, 1  acc:  7452 /  7535 =  98.898
1, 0  acc:  2069 /  2480 =  83.427
1, 1  acc:    91 /   180 =  50.556
------------------------------------
Average acc: 19053 / 19962 =  95.446
Robust  acc:    91 /   180 =  50.556
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 94.915 | Val Loss: 0.003 | Val Acc: 85.891
Training:
Accuracies by groups:
0, 0  acc: 13067 / 17771 =  73.530
0, 1  acc:  7569 /  8768 =  86.325
1, 0  acc: 126131 / 127920 =  98.601
1, 1  acc:  7726 /  8311 =  92.961
--------------------------------------
Average acc: 154493 / 162770 =  94.915
Robust  acc: 13067 / 17771 =  73.530
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6595 /  8535 =  77.270
0, 1  acc:  7458 /  8276 =  90.116
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17064 / 19867 =  85.891
Robust  acc:  6595 /  8535 =  77.270
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.271
Robust Acc: 81.949 | Best Acc: 98.710
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  8004 /  9767 =  81.949
0, 1  acc:  6802 /  7535 =  90.272
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17421 / 19962 =  87.271
Robust  acc:  8004 /  9767 =  81.949
------------------------------------
Accuracies by groups:
0, 0  acc:  8004 /  9767 =  81.949
0, 1  acc:  6802 /  7535 =  90.272
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17421 / 19962 =  87.271
Robust  acc:  8004 /  9767 =  81.949
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8004 /  9767 =  81.949
0, 1  acc:  6802 /  7535 =  90.272
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17421 / 19962 =  87.271
Robust  acc:  8004 /  9767 =  81.949
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 94.577 | Val Loss: 0.003 | Val Acc: 84.280
Training:
Accuracies by groups:
0, 0  acc: 12725 / 17833 =  71.356
0, 1  acc:  7324 /  8656 =  84.612
1, 0  acc: 126246 / 128051 =  98.590
1, 1  acc:  7648 /  8230 =  92.928
--------------------------------------
Average acc: 153943 / 162770 =  94.577
Robust  acc: 12725 / 17833 =  71.356
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6499 /  8535 =  76.145
0, 1  acc:  7236 /  8276 =  87.434
1, 0  acc:  2832 /  2874 =  98.539
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16744 / 19867 =  84.280
Robust  acc:  6499 /  8535 =  76.145
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.713
Robust Acc: 81.151 | Best Acc: 98.468
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  7926 /  9767 =  81.151
0, 1  acc:  6574 /  7535 =  87.246
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17110 / 19962 =  85.713
Robust  acc:  7926 /  9767 =  81.151
------------------------------------
Accuracies by groups:
0, 0  acc:  7926 /  9767 =  81.151
0, 1  acc:  6574 /  7535 =  87.246
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17110 / 19962 =  85.713
Robust  acc:  7926 /  9767 =  81.151
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7926 /  9767 =  81.151
0, 1  acc:  6574 /  7535 =  87.246
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17110 / 19962 =  85.713
Robust  acc:  7926 /  9767 =  81.151
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.419 | Val Loss: 0.003 | Val Acc: 86.218
Training:
Accuracies by groups:
0, 0  acc: 12439 / 17579 =  70.761
0, 1  acc:  7303 /  8775 =  83.225
1, 0  acc: 126107 / 128003 =  98.519
1, 1  acc:  7836 /  8413 =  93.142
--------------------------------------
Average acc: 153685 / 162770 =  94.419
Robust  acc: 12439 / 17579 =  70.761
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6726 /  8535 =  78.805
0, 1  acc:  7404 /  8276 =  89.464
1, 0  acc:  2828 /  2874 =  98.399
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17129 / 19867 =  86.218
Robust  acc:  6726 /  8535 =  78.805
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.677
Robust Acc: 83.680 | Best Acc: 98.145
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8173 /  9767 =  83.680
0, 1  acc:  6729 /  7535 =  89.303
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17502 / 19962 =  87.677
Robust  acc:  8173 /  9767 =  83.680
------------------------------------
Accuracies by groups:
0, 0  acc:  8173 /  9767 =  83.680
0, 1  acc:  6729 /  7535 =  89.303
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17502 / 19962 =  87.677
Robust  acc:  8173 /  9767 =  83.680
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8173 /  9767 =  83.680
0, 1  acc:  6729 /  7535 =  89.303
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17502 / 19962 =  87.677
Robust  acc:  8173 /  9767 =  83.680
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.199 | Val Loss: 0.006 | Val Acc: 70.942
Training:
Accuracies by groups:
0, 0  acc: 12616 / 17982 =  70.159
0, 1  acc:  7214 /  8794 =  82.033
1, 0  acc: 125805 / 127743 =  98.483
1, 1  acc:  7692 /  8251 =  93.225
--------------------------------------
Average acc: 153327 / 162770 =  94.199
Robust  acc: 12616 / 17982 =  70.159
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5100 /  8535 =  59.754
0, 1  acc:  5949 /  8276 =  71.883
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14094 / 19867 =  70.942
Robust  acc:  5100 /  8535 =  59.754
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.374
Robust Acc: 65.977 | Best Acc: 99.637
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  6444 /  9767 =  65.977
0, 1  acc:  5555 /  7535 =  73.723
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14647 / 19962 =  73.374
Robust  acc:  6444 /  9767 =  65.977
------------------------------------
Accuracies by groups:
0, 0  acc:  6444 /  9767 =  65.977
0, 1  acc:  5555 /  7535 =  73.723
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14647 / 19962 =  73.374
Robust  acc:  6444 /  9767 =  65.977
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6444 /  9767 =  65.977
0, 1  acc:  5555 /  7535 =  73.723
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14647 / 19962 =  73.374
Robust  acc:  6444 /  9767 =  65.977
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.015 | Val Loss: 0.004 | Val Acc: 80.878
Training:
Accuracies by groups:
0, 0  acc: 12178 / 17768 =  68.539
0, 1  acc:  7200 /  8918 =  80.736
1, 0  acc: 125833 / 127678 =  98.555
1, 1  acc:  7818 /  8406 =  93.005
--------------------------------------
Average acc: 153029 / 162770 =  94.015
Robust  acc: 12178 / 17768 =  68.539
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6318 /  8535 =  74.025
0, 1  acc:  6724 /  8276 =  81.247
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 16068 / 19867 =  80.878
Robust  acc:  6318 /  8535 =  74.025
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.542
Robust Acc: 79.482 | Best Acc: 98.871
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  7763 /  9767 =  79.482
0, 1  acc:  6087 /  7535 =  80.783
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 16477 / 19962 =  82.542
Robust  acc:  7763 /  9767 =  79.482
------------------------------------
Accuracies by groups:
0, 0  acc:  7763 /  9767 =  79.482
0, 1  acc:  6087 /  7535 =  80.783
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 16477 / 19962 =  82.542
Robust  acc:  7763 /  9767 =  79.482
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7763 /  9767 =  79.482
0, 1  acc:  6087 /  7535 =  80.783
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 16477 / 19962 =  82.542
Robust  acc:  7763 /  9767 =  79.482
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 93.899 | Val Loss: 0.002 | Val Acc: 93.915
Training:
Accuracies by groups:
0, 0  acc: 12027 / 17783 =  67.632
0, 1  acc:  6924 /  8751 =  79.122
1, 0  acc: 126164 / 127931 =  98.619
1, 1  acc:  7725 /  8305 =  93.016
--------------------------------------
Average acc: 152840 / 162770 =  93.899
Robust  acc: 12027 / 17783 =  67.632
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7836 /  8535 =  91.810
0, 1  acc:  8072 /  8276 =  97.535
1, 0  acc:  2629 /  2874 =  91.475
1, 1  acc:   121 /   182 =  66.484
------------------------------------
Average acc: 18658 / 19867 =  93.915
Robust  acc:   121 /   182 =  66.484
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.580
Robust Acc: 61.111 | Best Acc: 97.744
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  9175 /  9767 =  93.939
0, 1  acc:  7365 /  7535 =  97.744
1, 0  acc:  2230 /  2480 =  89.919
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18880 / 19962 =  94.580
Robust  acc:   110 /   180 =  61.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9175 /  9767 =  93.939
0, 1  acc:  7365 /  7535 =  97.744
1, 0  acc:  2230 /  2480 =  89.919
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18880 / 19962 =  94.580
Robust  acc:   110 /   180 =  61.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9175 /  9767 =  93.939
0, 1  acc:  7365 /  7535 =  97.744
1, 0  acc:  2230 /  2480 =  89.919
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18880 / 19962 =  94.580
Robust  acc:   110 /   180 =  61.111
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 93.949 | Val Loss: 0.004 | Val Acc: 82.695
Training:
Accuracies by groups:
0, 0  acc: 11873 / 17739 =  66.932
0, 1  acc:  6799 /  8699 =  78.158
1, 0  acc: 126251 / 127849 =  98.750
1, 1  acc:  7997 /  8483 =  94.271
--------------------------------------
Average acc: 152920 / 162770 =  93.949
Robust  acc: 11873 / 17739 =  66.932
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6321 /  8535 =  74.060
0, 1  acc:  7098 /  8276 =  85.766
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16429 / 19867 =  82.695
Robust  acc:  6321 /  8535 =  74.060
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.085
Robust Acc: 79.083 | Best Acc: 98.629
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  7724 /  9767 =  79.083
0, 1  acc:  6449 /  7535 =  85.587
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16785 / 19962 =  84.085
Robust  acc:  7724 /  9767 =  79.083
------------------------------------
Accuracies by groups:
0, 0  acc:  7724 /  9767 =  79.083
0, 1  acc:  6449 /  7535 =  85.587
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16785 / 19962 =  84.085
Robust  acc:  7724 /  9767 =  79.083
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7724 /  9767 =  79.083
0, 1  acc:  6449 /  7535 =  85.587
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16785 / 19962 =  84.085
Robust  acc:  7724 /  9767 =  79.083
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 93.805 | Val Loss: 0.004 | Val Acc: 83.017
Training:
Accuracies by groups:
0, 0  acc: 11601 / 17679 =  65.620
0, 1  acc:  6835 /  8802 =  77.653
1, 0  acc: 126339 / 127888 =  98.789
1, 1  acc:  7912 /  8401 =  94.179
--------------------------------------
Average acc: 152687 / 162770 =  93.805
Robust  acc: 11601 / 17679 =  65.620
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6480 /  8535 =  75.923
0, 1  acc:  6997 /  8276 =  84.546
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16493 / 19867 =  83.017
Robust  acc:  6480 /  8535 =  75.923
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.666
Robust Acc: 81.048 | Best Acc: 98.508
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  7916 /  9767 =  81.048
0, 1  acc:  6374 /  7535 =  84.592
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16901 / 19962 =  84.666
Robust  acc:  7916 /  9767 =  81.048
------------------------------------
Accuracies by groups:
0, 0  acc:  7916 /  9767 =  81.048
0, 1  acc:  6374 /  7535 =  84.592
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16901 / 19962 =  84.666
Robust  acc:  7916 /  9767 =  81.048
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7916 /  9767 =  81.048
0, 1  acc:  6374 /  7535 =  84.592
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16901 / 19962 =  84.666
Robust  acc:  7916 /  9767 =  81.048
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 93.697 | Val Loss: 0.003 | Val Acc: 90.371
Training:
Accuracies by groups:
0, 0  acc: 11777 / 17938 =  65.654
0, 1  acc:  6702 /  8781 =  76.324
1, 0  acc: 126243 / 127772 =  98.803
1, 1  acc:  7789 /  8279 =  94.081
--------------------------------------
Average acc: 152511 / 162770 =  93.697
Robust  acc: 11777 / 17938 =  65.654
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7221 /  8535 =  84.605
0, 1  acc:  7808 /  8276 =  94.345
1, 0  acc:  2771 /  2874 =  96.416
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 17954 / 19867 =  90.371
Robust  acc:  7221 /  8535 =  84.605
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.068
Robust Acc: 81.667 | Best Acc: 95.766
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  8557 /  9767 =  87.611
0, 1  acc:  7100 /  7535 =  94.227
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18179 / 19962 =  91.068
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8557 /  9767 =  87.611
0, 1  acc:  7100 /  7535 =  94.227
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18179 / 19962 =  91.068
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8557 /  9767 =  87.611
0, 1  acc:  7100 /  7535 =  94.227
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18179 / 19962 =  91.068
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 93.575 | Val Loss: 0.003 | Val Acc: 88.785
Training:
Accuracies by groups:
0, 0  acc: 11564 / 17736 =  65.201
0, 1  acc:  6708 /  8917 =  75.227
1, 0  acc: 126083 / 127657 =  98.767
1, 1  acc:  7957 /  8460 =  94.054
--------------------------------------
Average acc: 152312 / 162770 =  93.575
Robust  acc: 11564 / 17736 =  65.201
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7032 /  8535 =  82.390
0, 1  acc:  7673 /  8276 =  92.714
1, 0  acc:  2780 /  2874 =  96.729
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 17639 / 19867 =  88.785
Robust  acc:  7032 /  8535 =  82.390
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.856
Robust Acc: 78.889 | Best Acc: 95.927
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  8426 /  9767 =  86.270
0, 1  acc:  6990 /  7535 =  92.767
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 17937 / 19962 =  89.856
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8426 /  9767 =  86.270
0, 1  acc:  6990 /  7535 =  92.767
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 17937 / 19962 =  89.856
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8426 /  9767 =  86.270
0, 1  acc:  6990 /  7535 =  92.767
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 17937 / 19962 =  89.856
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 93.564 | Val Loss: 0.007 | Val Acc: 60.316
Training:
Accuracies by groups:
0, 0  acc: 11555 / 17839 =  64.774
0, 1  acc:  6504 /  8683 =  74.905
1, 0  acc: 126447 / 127992 =  98.793
1, 1  acc:  7788 /  8256 =  94.331
--------------------------------------
Average acc: 152294 / 162770 =  93.564
Robust  acc: 11555 / 17839 =  64.774
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4312 /  8535 =  50.521
0, 1  acc:  4622 /  8276 =  55.848
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11983 / 19867 =  60.316
Robust  acc:  4312 /  8535 =  50.521
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 61.532
Robust Acc: 55.236 | Best Acc: 99.637
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  5473 /  9767 =  56.036
0, 1  acc:  4162 /  7535 =  55.236
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12283 / 19962 =  61.532
Robust  acc:  4162 /  7535 =  55.236
------------------------------------
Accuracies by groups:
0, 0  acc:  5473 /  9767 =  56.036
0, 1  acc:  4162 /  7535 =  55.236
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12283 / 19962 =  61.532
Robust  acc:  4162 /  7535 =  55.236
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5473 /  9767 =  56.036
0, 1  acc:  4162 /  7535 =  55.236
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12283 / 19962 =  61.532
Robust  acc:  4162 /  7535 =  55.236
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.653 | Val Loss: 0.003 | Val Acc: 88.504
Training:
Accuracies by groups:
0, 0  acc: 11689 / 17908 =  65.273
0, 1  acc:  6527 /  8731 =  74.757
1, 0  acc: 126206 / 127680 =  98.846
1, 1  acc:  8017 /  8451 =  94.865
--------------------------------------
Average acc: 152439 / 162770 =  93.653
Robust  acc: 11689 / 17908 =  65.273
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6982 /  8535 =  81.804
0, 1  acc:  7639 /  8276 =  92.303
1, 0  acc:  2809 /  2874 =  97.738
1, 1  acc:   153 /   182 =  84.066
------------------------------------
Average acc: 17583 / 19867 =  88.504
Robust  acc:  6982 /  8535 =  81.804
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.886
Robust Acc: 82.778 | Best Acc: 97.016
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  8384 /  9767 =  85.840
0, 1  acc:  7004 /  7535 =  92.953
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17943 / 19962 =  89.886
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8384 /  9767 =  85.840
0, 1  acc:  7004 /  7535 =  92.953
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17943 / 19962 =  89.886
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8384 /  9767 =  85.840
0, 1  acc:  7004 /  7535 =  92.953
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17943 / 19962 =  89.886
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.535 | Val Loss: 0.011 | Val Acc: 27.412
Training:
Accuracies by groups:
0, 0  acc: 11520 / 17870 =  64.466
0, 1  acc:  6595 /  8830 =  74.689
1, 0  acc: 126060 / 127546 =  98.835
1, 1  acc:  8072 /  8524 =  94.697
--------------------------------------
Average acc: 152247 / 162770 =  93.535
Robust  acc: 11520 / 17870 =  64.466
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1030 /  8535 =  12.068
0, 1  acc:  1361 /  8276 =  16.445
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  5446 / 19867 =  27.412
Robust  acc:  1030 /  8535 =  12.068
------------------------------------
-------------------------------------------
Avg Test Loss: 0.011 | Avg Test Acc: 26.355
Robust Acc: 14.508 | Best Acc: 99.960
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  1417 /  9767 =  14.508
0, 1  acc:  1186 /  7535 =  15.740
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5261 / 19962 =  26.355
Robust  acc:  1417 /  9767 =  14.508
------------------------------------
Accuracies by groups:
0, 0  acc:  1417 /  9767 =  14.508
0, 1  acc:  1186 /  7535 =  15.740
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5261 / 19962 =  26.355
Robust  acc:  1417 /  9767 =  14.508
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  1417 /  9767 =  14.508
0, 1  acc:  1186 /  7535 =  15.740
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5261 / 19962 =  26.355
Robust  acc:  1417 /  9767 =  14.508
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.583 | Val Loss: 0.004 | Val Acc: 82.036
Training:
Accuracies by groups:
0, 0  acc: 11687 / 17988 =  64.971
0, 1  acc:  6573 /  8779 =  74.872
1, 0  acc: 126207 / 127693 =  98.836
1, 1  acc:  7858 /  8310 =  94.561
--------------------------------------
Average acc: 152325 / 162770 =  93.583
Robust  acc: 11687 / 17988 =  64.971
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6451 /  8535 =  75.583
0, 1  acc:  6844 /  8276 =  82.697
1, 0  acc:  2826 /  2874 =  98.330
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16298 / 19867 =  82.036
Robust  acc:  6451 /  8535 =  75.583
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.929
Robust Acc: 80.608 | Best Acc: 98.347
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  7873 /  9767 =  80.608
0, 1  acc:  6276 /  7535 =  83.291
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16754 / 19962 =  83.929
Robust  acc:  7873 /  9767 =  80.608
------------------------------------
Accuracies by groups:
0, 0  acc:  7873 /  9767 =  80.608
0, 1  acc:  6276 /  7535 =  83.291
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16754 / 19962 =  83.929
Robust  acc:  7873 /  9767 =  80.608
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7873 /  9767 =  80.608
0, 1  acc:  6276 /  7535 =  83.291
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16754 / 19962 =  83.929
Robust  acc:  7873 /  9767 =  80.608
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.646 | Val Loss: 0.006 | Val Acc: 71.400
Training:
Accuracies by groups:
0, 0  acc: 11755 / 18003 =  65.295
0, 1  acc:  6464 /  8683 =  74.444
1, 0  acc: 126287 / 127736 =  98.866
1, 1  acc:  7922 /  8348 =  94.897
--------------------------------------
Average acc: 152428 / 162770 =  93.646
Robust  acc: 11755 / 18003 =  65.295
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5420 /  8535 =  63.503
0, 1  acc:  5720 /  8276 =  69.116
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14185 / 19867 =  71.400
Robust  acc:  5420 /  8535 =  63.503
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.274
Robust Acc: 68.918 | Best Acc: 99.476
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  6792 /  9767 =  69.540
0, 1  acc:  5193 /  7535 =  68.918
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14627 / 19962 =  73.274
Robust  acc:  5193 /  7535 =  68.918
------------------------------------
Accuracies by groups:
0, 0  acc:  6792 /  9767 =  69.540
0, 1  acc:  5193 /  7535 =  68.918
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14627 / 19962 =  73.274
Robust  acc:  5193 /  7535 =  68.918
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6792 /  9767 =  69.540
0, 1  acc:  5193 /  7535 =  68.918
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14627 / 19962 =  73.274
Robust  acc:  5193 /  7535 =  68.918
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.609 | Val Loss: 0.003 | Val Acc: 91.926
Training:
Accuracies by groups:
0, 0  acc: 11556 / 17826 =  64.827
0, 1  acc:  6429 /  8640 =  74.410
1, 0  acc: 126518 / 127968 =  98.867
1, 1  acc:  7865 /  8336 =  94.350
--------------------------------------
Average acc: 152368 / 162770 =  93.609
Robust  acc: 11556 / 17826 =  64.827
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7500 /  8535 =  87.873
0, 1  acc:  7911 /  8276 =  95.590
1, 0  acc:  2718 /  2874 =  94.572
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18263 / 19867 =  91.926
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.761
Robust Acc: 72.222 | Best Acc: 95.674
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  8870 /  9767 =  90.816
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2308 /  2480 =  93.065
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18517 / 19962 =  92.761
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8870 /  9767 =  90.816
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2308 /  2480 =  93.065
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18517 / 19962 =  92.761
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8870 /  9767 =  90.816
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2308 /  2480 =  93.065
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18517 / 19962 =  92.761
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.586 | Val Loss: 0.004 | Val Acc: 80.571
Training:
Accuracies by groups:
0, 0  acc: 11602 / 17910 =  64.779
0, 1  acc:  6593 /  8826 =  74.700
1, 0  acc: 126160 / 127606 =  98.867
1, 1  acc:  7975 /  8428 =  94.625
--------------------------------------
Average acc: 152330 / 162770 =  93.586
Robust  acc: 11602 / 17910 =  64.779
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6121 /  8535 =  71.716
0, 1  acc:  6874 /  8276 =  83.059
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16007 / 19867 =  80.571
Robust  acc:  6121 /  8535 =  71.716
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.712
Robust Acc: 77.588 | Best Acc: 98.871
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  7578 /  9767 =  77.588
0, 1  acc:  6313 /  7535 =  83.782
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16511 / 19962 =  82.712
Robust  acc:  7578 /  9767 =  77.588
------------------------------------
Accuracies by groups:
0, 0  acc:  7578 /  9767 =  77.588
0, 1  acc:  6313 /  7535 =  83.782
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16511 / 19962 =  82.712
Robust  acc:  7578 /  9767 =  77.588
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7578 /  9767 =  77.588
0, 1  acc:  6313 /  7535 =  83.782
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16511 / 19962 =  82.712
Robust  acc:  7578 /  9767 =  77.588
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.670 | Val Loss: 0.004 | Val Acc: 81.311
Training:
Accuracies by groups:
0, 0  acc: 11696 / 17923 =  65.257
0, 1  acc:  6668 /  8795 =  75.816
1, 0  acc: 126514 / 127990 =  98.847
1, 1  acc:  7588 /  8062 =  94.121
--------------------------------------
Average acc: 152466 / 162770 =  93.670
Robust  acc: 11696 / 17923 =  65.257
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6258 /  8535 =  73.322
0, 1  acc:  6889 /  8276 =  83.241
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16154 / 19867 =  81.311
Robust  acc:  6258 /  8535 =  73.322
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.752
Robust Acc: 78.540 | Best Acc: 98.629
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  7671 /  9767 =  78.540
0, 1  acc:  6238 /  7535 =  82.787
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16519 / 19962 =  82.752
Robust  acc:  7671 /  9767 =  78.540
------------------------------------
Accuracies by groups:
0, 0  acc:  7671 /  9767 =  78.540
0, 1  acc:  6238 /  7535 =  82.787
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16519 / 19962 =  82.752
Robust  acc:  7671 /  9767 =  78.540
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7671 /  9767 =  78.540
0, 1  acc:  6238 /  7535 =  82.787
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16519 / 19962 =  82.752
Robust  acc:  7671 /  9767 =  78.540
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.769 | Val Loss: 0.003 | Val Acc: 92.611
Training:
Accuracies by groups:
0, 0  acc: 11872 / 18076 =  65.678
0, 1  acc:  6508 /  8514 =  76.439
1, 0  acc: 126342 / 127809 =  98.852
1, 1  acc:  7905 /  8371 =  94.433
--------------------------------------
Average acc: 152627 / 162770 =  93.769
Robust  acc: 11872 / 18076 =  65.678
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7679 /  8535 =  89.971
0, 1  acc:  7957 /  8276 =  96.145
1, 0  acc:  2639 /  2874 =  91.823
1, 1  acc:   124 /   182 =  68.132
------------------------------------
Average acc: 18399 / 19867 =  92.611
Robust  acc:   124 /   182 =  68.132
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.322
Robust Acc: 67.222 | Best Acc: 96.337
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  9010 /  9767 =  92.249
0, 1  acc:  7259 /  7535 =  96.337
1, 0  acc:  2239 /  2480 =  90.282
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18629 / 19962 =  93.322
Robust  acc:   121 /   180 =  67.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9010 /  9767 =  92.249
0, 1  acc:  7259 /  7535 =  96.337
1, 0  acc:  2239 /  2480 =  90.282
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18629 / 19962 =  93.322
Robust  acc:   121 /   180 =  67.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9010 /  9767 =  92.249
0, 1  acc:  7259 /  7535 =  96.337
1, 0  acc:  2239 /  2480 =  90.282
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18629 / 19962 =  93.322
Robust  acc:   121 /   180 =  67.222
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.742 | Val Loss: 0.007 | Val Acc: 56.717
Training:
Accuracies by groups:
0, 0  acc: 11714 / 17926 =  65.346
0, 1  acc:  6707 /  8794 =  76.268
1, 0  acc: 126091 / 127531 =  98.871
1, 1  acc:  8072 /  8519 =  94.753
--------------------------------------
Average acc: 152584 / 162770 =  93.742
Robust  acc: 11714 / 17926 =  65.346
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3807 /  8535 =  44.605
0, 1  acc:  4407 /  8276 =  53.250
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11268 / 19867 =  56.717
Robust  acc:  3807 /  8535 =  44.605
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 57.960
Robust Acc: 50.886 | Best Acc: 99.839
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  4970 /  9767 =  50.886
0, 1  acc:  3947 /  7535 =  52.382
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11570 / 19962 =  57.960
Robust  acc:  4970 /  9767 =  50.886
------------------------------------
Accuracies by groups:
0, 0  acc:  4970 /  9767 =  50.886
0, 1  acc:  3947 /  7535 =  52.382
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11570 / 19962 =  57.960
Robust  acc:  4970 /  9767 =  50.886
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4970 /  9767 =  50.886
0, 1  acc:  3947 /  7535 =  52.382
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11570 / 19962 =  57.960
Robust  acc:  4970 /  9767 =  50.886
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.689 | Val Loss: 0.007 | Val Acc: 63.492
Training:
Accuracies by groups:
0, 0  acc: 11829 / 17953 =  65.889
0, 1  acc:  6702 /  8812 =  76.055
1, 0  acc: 126091 / 127627 =  98.796
1, 1  acc:  7876 /  8378 =  94.008
--------------------------------------
Average acc: 152498 / 162770 =  93.689
Robust  acc: 11829 / 17953 =  65.889
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4341 /  8535 =  50.861
0, 1  acc:  5223 /  8276 =  63.110
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12614 / 19867 =  63.492
Robust  acc:  4341 /  8535 =  50.861
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.685
Robust Acc: 57.960 | Best Acc: 99.718
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  5661 /  9767 =  57.960
0, 1  acc:  4800 /  7535 =  63.703
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13112 / 19962 =  65.685
Robust  acc:  5661 /  9767 =  57.960
------------------------------------
Accuracies by groups:
0, 0  acc:  5661 /  9767 =  57.960
0, 1  acc:  4800 /  7535 =  63.703
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13112 / 19962 =  65.685
Robust  acc:  5661 /  9767 =  57.960
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5661 /  9767 =  57.960
0, 1  acc:  4800 /  7535 =  63.703
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13112 / 19962 =  65.685
Robust  acc:  5661 /  9767 =  57.960
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 93.762 | Val Loss: 0.005 | Val Acc: 75.059
Training:
Accuracies by groups:
0, 0  acc: 11834 / 18034 =  65.620
0, 1  acc:  6697 /  8752 =  76.520
1, 0  acc: 126376 / 127817 =  98.873
1, 1  acc:  7709 /  8167 =  94.392
--------------------------------------
Average acc: 152616 / 162770 =  93.762
Robust  acc: 11834 / 18034 =  65.620
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5426 /  8535 =  63.574
0, 1  acc:  6452 /  8276 =  77.960
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 14912 / 19867 =  75.059
Robust  acc:  5426 /  8535 =  63.574
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.846
Robust Acc: 69.673 | Best Acc: 99.476
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  6805 /  9767 =  69.673
0, 1  acc:  5897 /  7535 =  78.261
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15340 / 19962 =  76.846
Robust  acc:  6805 /  9767 =  69.673
------------------------------------
Accuracies by groups:
0, 0  acc:  6805 /  9767 =  69.673
0, 1  acc:  5897 /  7535 =  78.261
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15340 / 19962 =  76.846
Robust  acc:  6805 /  9767 =  69.673
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6805 /  9767 =  69.673
0, 1  acc:  5897 /  7535 =  78.261
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15340 / 19962 =  76.846
Robust  acc:  6805 /  9767 =  69.673
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 93.762 | Val Loss: 0.005 | Val Acc: 76.504
Training:
Accuracies by groups:
0, 0  acc: 11975 / 18112 =  66.116
0, 1  acc:  6610 /  8677 =  76.178
1, 0  acc: 126247 / 127739 =  98.832
1, 1  acc:  7784 /  8242 =  94.443
--------------------------------------
Average acc: 152616 / 162770 =  93.762
Robust  acc: 11975 / 18112 =  66.116
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5627 /  8535 =  65.929
0, 1  acc:  6533 /  8276 =  78.939
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15199 / 19867 =  76.504
Robust  acc:  5627 /  8535 =  65.929
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.690
Robust Acc: 72.243 | Best Acc: 99.274
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  7056 /  9767 =  72.243
0, 1  acc:  6025 /  7535 =  79.960
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 15708 / 19962 =  78.690
Robust  acc:  7056 /  9767 =  72.243
------------------------------------
Accuracies by groups:
0, 0  acc:  7056 /  9767 =  72.243
0, 1  acc:  6025 /  7535 =  79.960
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 15708 / 19962 =  78.690
Robust  acc:  7056 /  9767 =  72.243
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7056 /  9767 =  72.243
0, 1  acc:  6025 /  7535 =  79.960
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 15708 / 19962 =  78.690
Robust  acc:  7056 /  9767 =  72.243
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 93.812 | Val Loss: 0.005 | Val Acc: 75.301
Training:
Accuracies by groups:
0, 0  acc: 11843 / 17967 =  65.915
0, 1  acc:  6625 /  8650 =  76.590
1, 0  acc: 126231 / 127689 =  98.858
1, 1  acc:  7999 /  8464 =  94.506
--------------------------------------
Average acc: 152698 / 162770 =  93.812
Robust  acc: 11843 / 17967 =  65.915
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5585 /  8535 =  65.436
0, 1  acc:  6344 /  8276 =  76.655
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14960 / 19867 =  75.301
Robust  acc:  5585 /  8535 =  65.436
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.277
Robust Acc: 71.639 | Best Acc: 99.315
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  6997 /  9767 =  71.639
0, 1  acc:  5797 /  7535 =  76.934
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15426 / 19962 =  77.277
Robust  acc:  6997 /  9767 =  71.639
------------------------------------
Accuracies by groups:
0, 0  acc:  6997 /  9767 =  71.639
0, 1  acc:  5797 /  7535 =  76.934
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15426 / 19962 =  77.277
Robust  acc:  6997 /  9767 =  71.639
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6997 /  9767 =  71.639
0, 1  acc:  5797 /  7535 =  76.934
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15426 / 19962 =  77.277
Robust  acc:  6997 /  9767 =  71.639
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 93.717 | Val Loss: 0.008 | Val Acc: 48.598
Training:
Accuracies by groups:
0, 0  acc: 11629 / 17809 =  65.298
0, 1  acc:  6584 /  8632 =  76.274
1, 0  acc: 126425 / 127933 =  98.821
1, 1  acc:  7905 /  8396 =  94.152
--------------------------------------
Average acc: 152543 / 162770 =  93.717
Robust  acc: 11629 / 17809 =  65.298
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2948 /  8535 =  34.540
0, 1  acc:  3655 /  8276 =  44.164
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9655 / 19867 =  48.598
Robust  acc:  2948 /  8535 =  34.540
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 48.587
Robust Acc: 39.500 | Best Acc: 99.758
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  3858 /  9767 =  39.500
0, 1  acc:  3190 /  7535 =  42.336
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc:  9699 / 19962 =  48.587
Robust  acc:  3858 /  9767 =  39.500
------------------------------------
Accuracies by groups:
0, 0  acc:  3858 /  9767 =  39.500
0, 1  acc:  3190 /  7535 =  42.336
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc:  9699 / 19962 =  48.587
Robust  acc:  3858 /  9767 =  39.500
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3858 /  9767 =  39.500
0, 1  acc:  3190 /  7535 =  42.336
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc:  9699 / 19962 =  48.587
Robust  acc:  3858 /  9767 =  39.500
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 93.723 | Val Loss: 0.006 | Val Acc: 67.831
Training:
Accuracies by groups:
0, 0  acc: 11771 / 17969 =  65.507
0, 1  acc:  6862 /  8947 =  76.696
1, 0  acc: 125931 / 127363 =  98.876
1, 1  acc:  7989 /  8491 =  94.088
--------------------------------------
Average acc: 152553 / 162770 =  93.723
Robust  acc: 11771 / 17969 =  65.507
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5035 /  8535 =  58.992
0, 1  acc:  5408 /  8276 =  65.346
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 13476 / 19867 =  67.831
Robust  acc:  5035 /  8535 =  58.992
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 69.101
Robust Acc: 64.472 | Best Acc: 99.032
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  6297 /  9767 =  64.472
0, 1  acc:  4866 /  7535 =  64.579
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13794 / 19962 =  69.101
Robust  acc:  6297 /  9767 =  64.472
------------------------------------
Accuracies by groups:
0, 0  acc:  6297 /  9767 =  64.472
0, 1  acc:  4866 /  7535 =  64.579
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13794 / 19962 =  69.101
Robust  acc:  6297 /  9767 =  64.472
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6297 /  9767 =  64.472
0, 1  acc:  4866 /  7535 =  64.579
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13794 / 19962 =  69.101
Robust  acc:  6297 /  9767 =  64.472
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 93.890 | Val Loss: 0.003 | Val Acc: 91.418
Training:
Accuracies by groups:
0, 0  acc: 11868 / 17895 =  66.320
0, 1  acc:  6696 /  8728 =  76.719
1, 0  acc: 126339 / 127758 =  98.889
1, 1  acc:  7922 /  8389 =  94.433
--------------------------------------
Average acc: 152825 / 162770 =  93.890
Robust  acc: 11868 / 17895 =  66.320
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7447 /  8535 =  87.252
0, 1  acc:  7825 /  8276 =  94.551
1, 0  acc:  2744 /  2874 =  95.477
1, 1  acc:   146 /   182 =  80.220
------------------------------------
Average acc: 18162 / 19867 =  91.418
Robust  acc:   146 /   182 =  80.220
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.155
Robust Acc: 76.111 | Best Acc: 95.182
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  8757 /  9767 =  89.659
0, 1  acc:  7172 /  7535 =  95.182
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18396 / 19962 =  92.155
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8757 /  9767 =  89.659
0, 1  acc:  7172 /  7535 =  95.182
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18396 / 19962 =  92.155
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8757 /  9767 =  89.659
0, 1  acc:  7172 /  7535 =  95.182
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18396 / 19962 =  92.155
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 93.798 | Val Loss: 0.007 | Val Acc: 56.788
Training:
Accuracies by groups:
0, 0  acc: 11707 / 17881 =  65.472
0, 1  acc:  6867 /  8924 =  76.950
1, 0  acc: 126211 / 127612 =  98.902
1, 1  acc:  7890 /  8353 =  94.457
--------------------------------------
Average acc: 152675 / 162770 =  93.798
Robust  acc: 11707 / 17881 =  65.472
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3643 /  8535 =  42.683
0, 1  acc:  4587 /  8276 =  55.425
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11282 / 19867 =  56.788
Robust  acc:  3643 /  8535 =  42.683
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 58.025
Robust Acc: 48.142 | Best Acc: 99.919
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  4702 /  9767 =  48.142
0, 1  acc:  4225 /  7535 =  56.072
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11583 / 19962 =  58.025
Robust  acc:  4702 /  9767 =  48.142
------------------------------------
Accuracies by groups:
0, 0  acc:  4702 /  9767 =  48.142
0, 1  acc:  4225 /  7535 =  56.072
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11583 / 19962 =  58.025
Robust  acc:  4702 /  9767 =  48.142
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4702 /  9767 =  48.142
0, 1  acc:  4225 /  7535 =  56.072
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11583 / 19962 =  58.025
Robust  acc:  4702 /  9767 =  48.142
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 93.772 | Val Loss: 0.005 | Val Acc: 75.920
Training:
Accuracies by groups:
0, 0  acc: 11785 / 17970 =  65.582
0, 1  acc:  6750 /  8771 =  76.958
1, 0  acc: 126354 / 127819 =  98.854
1, 1  acc:  7743 /  8210 =  94.312
--------------------------------------
Average acc: 152632 / 162770 =  93.772
Robust  acc: 11785 / 17970 =  65.582
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5619 /  8535 =  65.835
0, 1  acc:  6426 /  8276 =  77.646
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15083 / 19867 =  75.920
Robust  acc:  5619 /  8535 =  65.835
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.189
Robust Acc: 72.202 | Best Acc: 99.435
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  7052 /  9767 =  72.202
0, 1  acc:  5916 /  7535 =  78.514
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15608 / 19962 =  78.189
Robust  acc:  7052 /  9767 =  72.202
------------------------------------
Accuracies by groups:
0, 0  acc:  7052 /  9767 =  72.202
0, 1  acc:  5916 /  7535 =  78.514
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15608 / 19962 =  78.189
Robust  acc:  7052 /  9767 =  72.202
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7052 /  9767 =  72.202
0, 1  acc:  5916 /  7535 =  78.514
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15608 / 19962 =  78.189
Robust  acc:  7052 /  9767 =  72.202
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 93.888 | Val Loss: 0.005 | Val Acc: 79.020
Training:
Accuracies by groups:
0, 0  acc: 11764 / 17760 =  66.239
0, 1  acc:  6704 /  8708 =  76.987
1, 0  acc: 126615 / 128112 =  98.831
1, 1  acc:  7739 /  8190 =  94.493
--------------------------------------
Average acc: 152822 / 162770 =  93.888
Robust  acc: 11764 / 17760 =  66.239
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6060 /  8535 =  71.002
0, 1  acc:  6613 /  8276 =  79.906
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15699 / 19867 =  79.020
Robust  acc:  6060 /  8535 =  71.002
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.773
Robust Acc: 75.653 | Best Acc: 98.911
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  7389 /  9767 =  75.653
0, 1  acc:  6110 /  7535 =  81.088
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16124 / 19962 =  80.773
Robust  acc:  7389 /  9767 =  75.653
------------------------------------
Accuracies by groups:
0, 0  acc:  7389 /  9767 =  75.653
0, 1  acc:  6110 /  7535 =  81.088
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16124 / 19962 =  80.773
Robust  acc:  7389 /  9767 =  75.653
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7389 /  9767 =  75.653
0, 1  acc:  6110 /  7535 =  81.088
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16124 / 19962 =  80.773
Robust  acc:  7389 /  9767 =  75.653
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 93.879 | Val Loss: 0.003 | Val Acc: 89.923
Training:
Accuracies by groups:
0, 0  acc: 11907 / 17880 =  66.594
0, 1  acc:  6834 /  8939 =  76.452
1, 0  acc: 126063 / 127520 =  98.857
1, 1  acc:  8003 /  8431 =  94.923
--------------------------------------
Average acc: 152807 / 162770 =  93.879
Robust  acc: 11907 / 17880 =  66.594
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7394 /  8535 =  86.632
0, 1  acc:  7596 /  8276 =  91.783
1, 0  acc:  2728 /  2874 =  94.920
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 17865 / 19867 =  89.923
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.088
Robust Acc: 80.000 | Best Acc: 93.266
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  8780 /  9767 =  89.895
0, 1  acc:  6946 /  7535 =  92.183
1, 0  acc:  2313 /  2480 =  93.266
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18183 / 19962 =  91.088
Robust  acc:   144 /   180 =  80.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8780 /  9767 =  89.895
0, 1  acc:  6946 /  7535 =  92.183
1, 0  acc:  2313 /  2480 =  93.266
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18183 / 19962 =  91.088
Robust  acc:   144 /   180 =  80.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8780 /  9767 =  89.895
0, 1  acc:  6946 /  7535 =  92.183
1, 0  acc:  2313 /  2480 =  93.266
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18183 / 19962 =  91.088
Robust  acc:   144 /   180 =  80.000
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 93.931 | Val Loss: 0.003 | Val Acc: 88.549
Training:
Accuracies by groups:
0, 0  acc: 11893 / 17811 =  66.773
0, 1  acc:  6801 /  8821 =  77.100
1, 0  acc: 126437 / 127892 =  98.862
1, 1  acc:  7760 /  8246 =  94.106
--------------------------------------
Average acc: 152891 / 162770 =  93.931
Robust  acc: 11893 / 17811 =  66.773
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7027 /  8535 =  82.332
0, 1  acc:  7602 /  8276 =  91.856
1, 0  acc:  2804 /  2874 =  97.564
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 17592 / 19867 =  88.549
Robust  acc:  7027 /  8535 =  82.332
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.776
Robust Acc: 83.333 | Best Acc: 96.895
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  8415 /  9767 =  86.157
0, 1  acc:  6953 /  7535 =  92.276
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17921 / 19962 =  89.776
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8415 /  9767 =  86.157
0, 1  acc:  6953 /  7535 =  92.276
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17921 / 19962 =  89.776
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8415 /  9767 =  86.157
0, 1  acc:  6953 /  7535 =  92.276
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17921 / 19962 =  89.776
Robust  acc:   150 /   180 =  83.333
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed38.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed38.pt
