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/seed46/stage_one_erm_model_b_epoch0_seed46.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: 46
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=46-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/seed46/stage_one_erm_model_b_epoch0_seed46.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8294, 0.0215],
        [0.1379, 0.0112]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.944 | Val Loss: 0.003 | Val Acc: 80.551
Training:
Accuracies by groups:
0, 0  acc:  6037 / 14322 =  42.152
0, 1  acc:  3863 /  7767 =  49.736
1, 0  acc: 130226 / 132367 =  98.383
1, 1  acc:  7903 /  8314 =  95.057
--------------------------------------
Average acc: 148029 / 162770 =  90.944
Robust  acc:  6037 / 14322 =  42.152
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6233 /  8535 =  73.029
0, 1  acc:  6755 /  8276 =  81.622
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 16003 / 19867 =  80.551
Robust  acc:  6233 /  8535 =  73.029
------------------------------------
New max robust acc: 73.02870533099004
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed46.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed46.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 82.286
Robust Acc: 78.294 | Best Acc: 98.629
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7647 /  9767 =  78.294
0, 1  acc:  6164 /  7535 =  81.805
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16426 / 19962 =  82.286
Robust  acc:  7647 /  9767 =  78.294
------------------------------------
Accuracies by groups:
0, 0  acc:  7647 /  9767 =  78.294
0, 1  acc:  6164 /  7535 =  81.805
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16426 / 19962 =  82.286
Robust  acc:  7647 /  9767 =  78.294
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7647 /  9767 =  78.294
0, 1  acc:  6164 /  7535 =  81.805
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16426 / 19962 =  82.286
Robust  acc:  7647 /  9767 =  78.294
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 95.016 | Val Loss: 0.003 | Val Acc: 83.138
Training:
Accuracies by groups:
0, 0  acc:  9905 / 14526 =  68.188
0, 1  acc:  6087 /  7805 =  77.988
1, 0  acc: 130736 / 131945 =  99.084
1, 1  acc:  7930 /  8494 =  93.360
--------------------------------------
Average acc: 154658 / 162770 =  95.016
Robust  acc:  9905 / 14526 =  68.188
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6424 /  8535 =  75.267
0, 1  acc:  7072 /  8276 =  85.452
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16517 / 19867 =  83.138
Robust  acc:  6424 /  8535 =  75.267
------------------------------------
New max robust acc: 75.26654950205038
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed46.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed46.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.811
Robust Acc: 80.393 | Best Acc: 98.911
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7852 /  9767 =  80.393
0, 1  acc:  6458 /  7535 =  85.707
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16930 / 19962 =  84.811
Robust  acc:  7852 /  9767 =  80.393
------------------------------------
Accuracies by groups:
0, 0  acc:  7852 /  9767 =  80.393
0, 1  acc:  6458 /  7535 =  85.707
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16930 / 19962 =  84.811
Robust  acc:  7852 /  9767 =  80.393
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7852 /  9767 =  80.393
0, 1  acc:  6458 /  7535 =  85.707
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16930 / 19962 =  84.811
Robust  acc:  7852 /  9767 =  80.393
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.718 | Val Loss: 0.003 | Val Acc: 86.430
Training:
Accuracies by groups:
0, 0  acc: 10351 / 14508 =  71.347
0, 1  acc:  6423 /  7667 =  83.775
1, 0  acc: 131186 / 132279 =  99.174
1, 1  acc:  7841 /  8316 =  94.288
--------------------------------------
Average acc: 155801 / 162770 =  95.718
Robust  acc: 10351 / 14508 =  71.347
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6703 /  8535 =  78.535
0, 1  acc:  7454 /  8276 =  90.068
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17171 / 19867 =  86.430
Robust  acc:  6703 /  8535 =  78.535
------------------------------------
New max robust acc: 78.53544229642648
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed46.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed46.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.546
Robust Acc: 82.820 | Best Acc: 98.629
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8089 /  9767 =  82.820
0, 1  acc:  6777 /  7535 =  89.940
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17476 / 19962 =  87.546
Robust  acc:  8089 /  9767 =  82.820
------------------------------------
Accuracies by groups:
0, 0  acc:  8089 /  9767 =  82.820
0, 1  acc:  6777 /  7535 =  89.940
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17476 / 19962 =  87.546
Robust  acc:  8089 /  9767 =  82.820
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8089 /  9767 =  82.820
0, 1  acc:  6777 /  7535 =  89.940
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17476 / 19962 =  87.546
Robust  acc:  8089 /  9767 =  82.820
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 96.257 | Val Loss: 0.002 | Val Acc: 87.215
Training:
Accuracies by groups:
0, 0  acc: 10633 / 14439 =  73.641
0, 1  acc:  6772 /  7770 =  87.156
1, 0  acc: 131261 / 132163 =  99.318
1, 1  acc:  8012 /  8398 =  95.404
--------------------------------------
Average acc: 156678 / 162770 =  96.257
Robust  acc: 10633 / 14439 =  73.641
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6742 /  8535 =  78.992
0, 1  acc:  7572 /  8276 =  91.493
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17327 / 19867 =  87.215
Robust  acc:  6742 /  8535 =  78.992
------------------------------------
New max robust acc: 78.99238429994142
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed46.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed46.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.173
Robust Acc: 83.106 | Best Acc: 98.548
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8117 /  9767 =  83.106
0, 1  acc:  6877 /  7535 =  91.267
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17601 / 19962 =  88.173
Robust  acc:  8117 /  9767 =  83.106
------------------------------------
Accuracies by groups:
0, 0  acc:  8117 /  9767 =  83.106
0, 1  acc:  6877 /  7535 =  91.267
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17601 / 19962 =  88.173
Robust  acc:  8117 /  9767 =  83.106
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8117 /  9767 =  83.106
0, 1  acc:  6877 /  7535 =  91.267
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17601 / 19962 =  88.173
Robust  acc:  8117 /  9767 =  83.106
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.703 | Val Loss: 0.002 | Val Acc: 88.161
Training:
Accuracies by groups:
0, 0  acc: 10543 / 14057 =  75.002
0, 1  acc:  6767 /  7581 =  89.263
1, 0  acc: 132040 / 132760 =  99.458
1, 1  acc:  8054 /  8372 =  96.202
--------------------------------------
Average acc: 157404 / 162770 =  96.703
Robust  acc: 10543 / 14057 =  75.002
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6845 /  8535 =  80.199
0, 1  acc:  7660 /  8276 =  92.557
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17515 / 19867 =  88.161
Robust  acc:  6845 /  8535 =  80.199
------------------------------------
New max robust acc: 80.199179847686
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed46.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed46.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.879
Robust Acc: 83.977 | Best Acc: 98.185
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8202 /  9767 =  83.977
0, 1  acc:  6947 /  7535 =  92.196
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17742 / 19962 =  88.879
Robust  acc:  8202 /  9767 =  83.977
------------------------------------
Accuracies by groups:
0, 0  acc:  8202 /  9767 =  83.977
0, 1  acc:  6947 /  7535 =  92.196
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17742 / 19962 =  88.879
Robust  acc:  8202 /  9767 =  83.977
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8202 /  9767 =  83.977
0, 1  acc:  6947 /  7535 =  92.196
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17742 / 19962 =  88.879
Robust  acc:  8202 /  9767 =  83.977
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 97.118 | Val Loss: 0.002 | Val Acc: 89.561
Training:
Accuracies by groups:
0, 0  acc: 11035 / 14349 =  76.904
0, 1  acc:  6991 /  7695 =  90.851
1, 0  acc: 131835 / 132329 =  99.627
1, 1  acc:  8218 /  8397 =  97.868
--------------------------------------
Average acc: 158079 / 162770 =  97.118
Robust  acc: 11035 / 14349 =  76.904
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7029 /  8535 =  82.355
0, 1  acc:  7769 /  8276 =  93.874
1, 0  acc:  2826 /  2874 =  98.330
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17793 / 19867 =  89.561
Robust  acc:  7029 /  8535 =  82.355
------------------------------------
New max robust acc: 82.35500878734622
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed46.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed46.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.081
Robust Acc: 85.553 | Best Acc: 97.903
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8356 /  9767 =  85.553
0, 1  acc:  7044 /  7535 =  93.484
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17982 / 19962 =  90.081
Robust  acc:  8356 /  9767 =  85.553
------------------------------------
Accuracies by groups:
0, 0  acc:  8356 /  9767 =  85.553
0, 1  acc:  7044 /  7535 =  93.484
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17982 / 19962 =  90.081
Robust  acc:  8356 /  9767 =  85.553
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8356 /  9767 =  85.553
0, 1  acc:  7044 /  7535 =  93.484
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17982 / 19962 =  90.081
Robust  acc:  8356 /  9767 =  85.553
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.648 | Val Loss: 0.002 | Val Acc: 90.779
Training:
Accuracies by groups:
0, 0  acc: 11207 / 14099 =  79.488
0, 1  acc:  7081 /  7710 =  91.842
1, 0  acc: 132211 / 132442 =  99.826
1, 1  acc:  8443 /  8519 =  99.108
--------------------------------------
Average acc: 158942 / 162770 =  97.648
Robust  acc: 11207 / 14099 =  79.488
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7206 /  8535 =  84.429
0, 1  acc:  7852 /  8276 =  94.877
1, 0  acc:  2810 /  2874 =  97.773
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 18035 / 19867 =  90.779
Robust  acc:  7206 /  8535 =  84.429
------------------------------------
New max robust acc: 84.42882249560633
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed46.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed46.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.058
Robust Acc: 81.667 | Best Acc: 97.419
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8501 /  9767 =  87.038
0, 1  acc:  7113 /  7535 =  94.399
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18177 / 19962 =  91.058
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8501 /  9767 =  87.038
0, 1  acc:  7113 /  7535 =  94.399
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18177 / 19962 =  91.058
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8501 /  9767 =  87.038
0, 1  acc:  7113 /  7535 =  94.399
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18177 / 19962 =  91.058
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 98.019 | Val Loss: 0.002 | Val Acc: 91.926
Training:
Accuracies by groups:
0, 0  acc: 11657 / 14197 =  82.109
0, 1  acc:  7178 /  7699 =  93.233
1, 0  acc: 132290 / 132419 =  99.903
1, 1  acc:  8421 /  8455 =  99.598
--------------------------------------
Average acc: 159546 / 162770 =  98.019
Robust  acc: 11657 / 14197 =  82.109
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7380 /  8535 =  86.467
0, 1  acc:  7937 /  8276 =  95.904
1, 0  acc:  2788 /  2874 =  97.008
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 18263 / 19867 =  91.926
Robust  acc:  7380 /  8535 =  86.467
------------------------------------
New max robust acc: 86.46748681898066
debias model - Saving best checkpoint at epoch 7
replace: True
-> Updating checkpoint debias-wga-best_seed46.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed46.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.155
Robust Acc: 78.333 | Best Acc: 96.290
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8691 /  9767 =  88.983
0, 1  acc:  7176 /  7535 =  95.236
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18396 / 19962 =  92.155
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8691 /  9767 =  88.983
0, 1  acc:  7176 /  7535 =  95.236
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18396 / 19962 =  92.155
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8691 /  9767 =  88.983
0, 1  acc:  7176 /  7535 =  95.236
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18396 / 19962 =  92.155
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.297 | Val Loss: 0.002 | Val Acc: 92.520
Training:
Accuracies by groups:
0, 0  acc: 12087 / 14311 =  84.460
0, 1  acc:  7301 /  7745 =  94.267
1, 0  acc: 132123 / 132201 =  99.941
1, 1  acc:  8487 /  8513 =  99.695
--------------------------------------
Average acc: 159998 / 162770 =  98.297
Robust  acc: 12087 / 14311 =  84.460
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7480 /  8535 =  87.639
0, 1  acc:  7988 /  8276 =  96.520
1, 0  acc:  2763 /  2874 =  96.138
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 18381 / 19867 =  92.520
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.746
Robust Acc: 76.667 | Best Acc: 95.886
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8782 /  9767 =  89.915
0, 1  acc:  7225 /  7535 =  95.886
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18514 / 19962 =  92.746
Robust  acc:   138 /   180 =  76.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8782 /  9767 =  89.915
0, 1  acc:  7225 /  7535 =  95.886
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18514 / 19962 =  92.746
Robust  acc:   138 /   180 =  76.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8782 /  9767 =  89.915
0, 1  acc:  7225 /  7535 =  95.886
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18514 / 19962 =  92.746
Robust  acc:   138 /   180 =  76.667
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.560 | Val Loss: 0.002 | Val Acc: 91.866
Training:
Accuracies by groups:
0, 0  acc: 12221 / 14112 =  86.600
0, 1  acc:  7450 /  7795 =  95.574
1, 0  acc: 132386 / 132470 =  99.937
1, 1  acc:  8369 /  8393 =  99.714
--------------------------------------
Average acc: 160426 / 162770 =  98.560
Robust  acc: 12221 / 14112 =  86.600
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7317 /  8535 =  85.729
0, 1  acc:  7998 /  8276 =  96.641
1, 0  acc:  2791 /  2874 =  97.112
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18251 / 19867 =  91.866
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.265
Robust Acc: 71.667 | Best Acc: 96.297
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8647 /  9767 =  88.533
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18418 / 19962 =  92.265
Robust  acc:   129 /   180 =  71.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8647 /  9767 =  88.533
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18418 / 19962 =  92.265
Robust  acc:   129 /   180 =  71.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8647 /  9767 =  88.533
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18418 / 19962 =  92.265
Robust  acc:   129 /   180 =  71.667
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.554 | Val Loss: 0.002 | Val Acc: 92.968
Training:
Accuracies by groups:
0, 0  acc: 12309 / 14156 =  86.953
0, 1  acc:  7454 /  7768 =  95.958
1, 0  acc: 132404 / 132542 =  99.896
1, 1  acc:  8249 /  8304 =  99.338
--------------------------------------
Average acc: 160416 / 162770 =  98.554
Robust  acc: 12309 / 14156 =  86.953
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7577 /  8535 =  88.776
0, 1  acc:  8028 /  8276 =  97.003
1, 0  acc:  2722 /  2874 =  94.711
1, 1  acc:   143 /   182 =  78.571
------------------------------------
Average acc: 18470 / 19867 =  92.968
Robust  acc:   143 /   182 =  78.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.117
Robust Acc: 72.222 | Best Acc: 96.297
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2328 /  2480 =  93.871
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18588 / 19962 =  93.117
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2328 /  2480 =  93.871
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18588 / 19962 =  93.117
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2328 /  2480 =  93.871
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18588 / 19962 =  93.117
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.338 | Val Loss: 0.001 | Val Acc: 93.552
Training:
Accuracies by groups:
0, 0  acc: 12184 / 14170 =  85.984
0, 1  acc:  7283 /  7645 =  95.265
1, 0  acc: 132263 / 132545 =  99.787
1, 1  acc:  8335 /  8410 =  99.108
--------------------------------------
Average acc: 160065 / 162770 =  98.338
Robust  acc: 12184 / 14170 =  85.984
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7640 /  8535 =  89.514
0, 1  acc:  8076 /  8276 =  97.583
1, 0  acc:  2734 /  2874 =  95.129
1, 1  acc:   136 /   182 =  74.725
------------------------------------
Average acc: 18586 / 19867 =  93.552
Robust  acc:   136 /   182 =  74.725
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.828
Robust Acc: 67.778 | Best Acc: 97.253
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8946 /  9767 =  91.594
0, 1  acc:  7328 /  7535 =  97.253
1, 0  acc:  2334 /  2480 =  94.113
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18730 / 19962 =  93.828
Robust  acc:   122 /   180 =  67.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8946 /  9767 =  91.594
0, 1  acc:  7328 /  7535 =  97.253
1, 0  acc:  2334 /  2480 =  94.113
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18730 / 19962 =  93.828
Robust  acc:   122 /   180 =  67.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8946 /  9767 =  91.594
0, 1  acc:  7328 /  7535 =  97.253
1, 0  acc:  2334 /  2480 =  94.113
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18730 / 19962 =  93.828
Robust  acc:   122 /   180 =  67.778
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.930 | Val Loss: 0.003 | Val Acc: 87.441
Training:
Accuracies by groups:
0, 0  acc: 11851 / 14147 =  83.770
0, 1  acc:  7177 /  7672 =  93.548
1, 0  acc: 132152 / 132566 =  99.688
1, 1  acc:  8221 /  8385 =  98.044
--------------------------------------
Average acc: 159401 / 162770 =  97.930
Robust  acc: 11851 / 14147 =  83.770
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6761 /  8535 =  79.215
0, 1  acc:  7622 /  8276 =  92.098
1, 0  acc:  2824 /  2874 =  98.260
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17372 / 19867 =  87.441
Robust  acc:  6761 /  8535 =  79.215
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.957
Robust Acc: 82.441 | Best Acc: 97.984
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8052 /  9767 =  82.441
0, 1  acc:  6924 /  7535 =  91.891
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17558 / 19962 =  87.957
Robust  acc:  8052 /  9767 =  82.441
------------------------------------
Accuracies by groups:
0, 0  acc:  8052 /  9767 =  82.441
0, 1  acc:  6924 /  7535 =  91.891
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17558 / 19962 =  87.957
Robust  acc:  8052 /  9767 =  82.441
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8052 /  9767 =  82.441
0, 1  acc:  6924 /  7535 =  91.891
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17558 / 19962 =  87.957
Robust  acc:  8052 /  9767 =  82.441
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.517 | Val Loss: 0.001 | Val Acc: 94.282
Training:
Accuracies by groups:
0, 0  acc: 11443 / 14102 =  81.145
0, 1  acc:  7173 /  7744 =  92.627
1, 0  acc: 131939 / 132539 =  99.547
1, 1  acc:  8173 /  8385 =  97.472
--------------------------------------
Average acc: 158728 / 162770 =  97.517
Robust  acc: 11443 / 14102 =  81.145
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7915 /  8535 =  92.736
0, 1  acc:  8063 /  8276 =  97.426
1, 0  acc:  2619 /  2874 =  91.127
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18731 / 19867 =  94.282
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.625
Robust Acc: 65.556 | Best Acc: 97.372
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  9207 /  9767 =  94.266
0, 1  acc:  7337 /  7535 =  97.372
1, 0  acc:  2227 /  2480 =  89.798
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18889 / 19962 =  94.625
Robust  acc:   118 /   180 =  65.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9207 /  9767 =  94.266
0, 1  acc:  7337 /  7535 =  97.372
1, 0  acc:  2227 /  2480 =  89.798
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18889 / 19962 =  94.625
Robust  acc:   118 /   180 =  65.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9207 /  9767 =  94.266
0, 1  acc:  7337 /  7535 =  97.372
1, 0  acc:  2227 /  2480 =  89.798
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18889 / 19962 =  94.625
Robust  acc:   118 /   180 =  65.556
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 97.006 | Val Loss: 0.003 | Val Acc: 85.851
Training:
Accuracies by groups:
0, 0  acc: 11261 / 14394 =  78.234
0, 1  acc:  7043 /  7691 =  91.575
1, 0  acc: 131516 / 132292 =  99.413
1, 1  acc:  8077 /  8393 =  96.235
--------------------------------------
Average acc: 157897 / 162770 =  97.006
Robust  acc: 11261 / 14394 =  78.234
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6667 /  8535 =  78.114
0, 1  acc:  7367 /  8276 =  89.016
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 17056 / 19867 =  85.851
Robust  acc:  6667 /  8535 =  78.114
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.186
Robust Acc: 82.226 | Best Acc: 98.347
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8031 /  9767 =  82.226
0, 1  acc:  6767 /  7535 =  89.808
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17404 / 19962 =  87.186
Robust  acc:  8031 /  9767 =  82.226
------------------------------------
Accuracies by groups:
0, 0  acc:  8031 /  9767 =  82.226
0, 1  acc:  6767 /  7535 =  89.808
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17404 / 19962 =  87.186
Robust  acc:  8031 /  9767 =  82.226
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8031 /  9767 =  82.226
0, 1  acc:  6767 /  7535 =  89.808
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17404 / 19962 =  87.186
Robust  acc:  8031 /  9767 =  82.226
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.568 | Val Loss: 0.004 | Val Acc: 81.648
Training:
Accuracies by groups:
0, 0  acc: 10841 / 14240 =  76.131
0, 1  acc:  6781 /  7581 =  89.447
1, 0  acc: 131629 / 132634 =  99.242
1, 1  acc:  7932 /  8315 =  95.394
--------------------------------------
Average acc: 157183 / 162770 =  96.568
Robust  acc: 10841 / 14240 =  76.131
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6062 /  8535 =  71.025
0, 1  acc:  7129 /  8276 =  86.141
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16221 / 19867 =  81.648
Robust  acc:  6062 /  8535 =  71.025
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 83.073
Robust Acc: 76.328 | Best Acc: 98.952
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  7455 /  9767 =  76.328
0, 1  acc:  6510 /  7535 =  86.397
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16583 / 19962 =  83.073
Robust  acc:  7455 /  9767 =  76.328
------------------------------------
Accuracies by groups:
0, 0  acc:  7455 /  9767 =  76.328
0, 1  acc:  6510 /  7535 =  86.397
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16583 / 19962 =  83.073
Robust  acc:  7455 /  9767 =  76.328
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7455 /  9767 =  76.328
0, 1  acc:  6510 /  7535 =  86.397
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16583 / 19962 =  83.073
Robust  acc:  7455 /  9767 =  76.328
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 96.215 | Val Loss: 0.003 | Val Acc: 85.227
Training:
Accuracies by groups:
0, 0  acc: 10448 / 14106 =  74.068
0, 1  acc:  6645 /  7598 =  87.457
1, 0  acc: 131599 / 132741 =  99.140
1, 1  acc:  7917 /  8325 =  95.099
--------------------------------------
Average acc: 156609 / 162770 =  96.215
Robust  acc: 10448 / 14106 =  74.068
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6509 /  8535 =  76.262
0, 1  acc:  7399 /  8276 =  89.403
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16932 / 19867 =  85.227
Robust  acc:  6509 /  8535 =  76.262
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.855
Robust Acc: 81.110 | Best Acc: 99.032
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  7922 /  9767 =  81.110
0, 1  acc:  6800 /  7535 =  90.246
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17338 / 19962 =  86.855
Robust  acc:  7922 /  9767 =  81.110
------------------------------------
Accuracies by groups:
0, 0  acc:  7922 /  9767 =  81.110
0, 1  acc:  6800 /  7535 =  90.246
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17338 / 19962 =  86.855
Robust  acc:  7922 /  9767 =  81.110
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7922 /  9767 =  81.110
0, 1  acc:  6800 /  7535 =  90.246
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17338 / 19962 =  86.855
Robust  acc:  7922 /  9767 =  81.110
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.856 | Val Loss: 0.003 | Val Acc: 86.420
Training:
Accuracies by groups:
0, 0  acc: 10272 / 14190 =  72.389
0, 1  acc:  6650 /  7736 =  85.962
1, 0  acc: 131221 / 132477 =  99.052
1, 1  acc:  7881 /  8367 =  94.191
--------------------------------------
Average acc: 156024 / 162770 =  95.856
Robust  acc: 10272 / 14190 =  72.389
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6820 /  8535 =  79.906
0, 1  acc:  7358 /  8276 =  88.908
1, 0  acc:  2819 /  2874 =  98.086
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17169 / 19867 =  86.420
Robust  acc:  6820 /  8535 =  79.906
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.797
Robust Acc: 84.243 | Best Acc: 97.984
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8228 /  9767 =  84.243
0, 1  acc:  6704 /  7535 =  88.971
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17526 / 19962 =  87.797
Robust  acc:  8228 /  9767 =  84.243
------------------------------------
Accuracies by groups:
0, 0  acc:  8228 /  9767 =  84.243
0, 1  acc:  6704 /  7535 =  88.971
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17526 / 19962 =  87.797
Robust  acc:  8228 /  9767 =  84.243
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8228 /  9767 =  84.243
0, 1  acc:  6704 /  7535 =  88.971
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17526 / 19962 =  87.797
Robust  acc:  8228 /  9767 =  84.243
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.478 | Val Loss: 0.006 | Val Acc: 69.371
Training:
Accuracies by groups:
0, 0  acc: 10075 / 14258 =  70.662
0, 1  acc:  6467 /  7733 =  83.629
1, 0  acc: 130993 / 132422 =  98.921
1, 1  acc:  7875 /  8357 =  94.232
--------------------------------------
Average acc: 155410 / 162770 =  95.478
Robust  acc: 10075 / 14258 =  70.662
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4929 /  8535 =  57.750
0, 1  acc:  5806 /  8276 =  70.155
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13782 / 19867 =  69.371
Robust  acc:  4929 /  8535 =  57.750
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 70.985
Robust Acc: 63.602 | Best Acc: 99.798
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  6212 /  9767 =  63.602
0, 1  acc:  5307 /  7535 =  70.431
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14170 / 19962 =  70.985
Robust  acc:  6212 /  9767 =  63.602
------------------------------------
Accuracies by groups:
0, 0  acc:  6212 /  9767 =  63.602
0, 1  acc:  5307 /  7535 =  70.431
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14170 / 19962 =  70.985
Robust  acc:  6212 /  9767 =  63.602
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6212 /  9767 =  63.602
0, 1  acc:  5307 /  7535 =  70.431
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14170 / 19962 =  70.985
Robust  acc:  6212 /  9767 =  63.602
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.397 | Val Loss: 0.006 | Val Acc: 64.952
Training:
Accuracies by groups:
0, 0  acc:  9958 / 14150 =  70.375
0, 1  acc:  6405 /  7760 =  82.539
1, 0  acc: 130994 / 132448 =  98.902
1, 1  acc:  7920 /  8412 =  94.151
--------------------------------------
Average acc: 155277 / 162770 =  95.397
Robust  acc:  9958 / 14150 =  70.375
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4571 /  8535 =  53.556
0, 1  acc:  5284 /  8276 =  63.847
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12904 / 19867 =  64.952
Robust  acc:  4571 /  8535 =  53.556
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 66.667
Robust Acc: 59.793 | Best Acc: 99.839
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  5840 /  9767 =  59.793
0, 1  acc:  4814 /  7535 =  63.889
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13308 / 19962 =  66.667
Robust  acc:  5840 /  9767 =  59.793
------------------------------------
Accuracies by groups:
0, 0  acc:  5840 /  9767 =  59.793
0, 1  acc:  4814 /  7535 =  63.889
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13308 / 19962 =  66.667
Robust  acc:  5840 /  9767 =  59.793
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5840 /  9767 =  59.793
0, 1  acc:  4814 /  7535 =  63.889
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13308 / 19962 =  66.667
Robust  acc:  5840 /  9767 =  59.793
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 95.142 | Val Loss: 0.004 | Val Acc: 77.923
Training:
Accuracies by groups:
0, 0  acc:  9817 / 14341 =  68.454
0, 1  acc:  6188 /  7733 =  80.021
1, 0  acc: 130974 / 132353 =  98.958
1, 1  acc:  7883 /  8343 =  94.486
--------------------------------------
Average acc: 154862 / 162770 =  95.142
Robust  acc:  9817 / 14341 =  68.454
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5782 /  8535 =  67.745
0, 1  acc:  6659 /  8276 =  80.462
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15481 / 19867 =  77.923
Robust  acc:  5782 /  8535 =  67.745
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.807
Robust Acc: 73.247 | Best Acc: 99.395
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  7154 /  9767 =  73.247
0, 1  acc:  6139 /  7535 =  81.473
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15931 / 19962 =  79.807
Robust  acc:  7154 /  9767 =  73.247
------------------------------------
Accuracies by groups:
0, 0  acc:  7154 /  9767 =  73.247
0, 1  acc:  6139 /  7535 =  81.473
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15931 / 19962 =  79.807
Robust  acc:  7154 /  9767 =  73.247
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7154 /  9767 =  73.247
0, 1  acc:  6139 /  7535 =  81.473
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15931 / 19962 =  79.807
Robust  acc:  7154 /  9767 =  73.247
------------------------------------
Epoch:  22 | Train Loss: 0.001 | Train Acc: 95.136 | Val Loss: 0.004 | Val Acc: 83.536
Training:
Accuracies by groups:
0, 0  acc:  9712 / 14221 =  68.293
0, 1  acc:  5990 /  7641 =  78.393
1, 0  acc: 131270 / 132597 =  98.999
1, 1  acc:  7881 /  8311 =  94.826
--------------------------------------
Average acc: 154853 / 162770 =  95.136
Robust  acc:  9712 / 14221 =  68.293
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6421 /  8535 =  75.231
0, 1  acc:  7160 /  8276 =  86.515
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16596 / 19867 =  83.536
Robust  acc:  6421 /  8535 =  75.231
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.277
Robust Acc: 80.219 | Best Acc: 98.669
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  7835 /  9767 =  80.219
0, 1  acc:  6574 /  7535 =  87.246
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17023 / 19962 =  85.277
Robust  acc:  7835 /  9767 =  80.219
------------------------------------
Accuracies by groups:
0, 0  acc:  7835 /  9767 =  80.219
0, 1  acc:  6574 /  7535 =  87.246
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17023 / 19962 =  85.277
Robust  acc:  7835 /  9767 =  80.219
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7835 /  9767 =  80.219
0, 1  acc:  6574 /  7535 =  87.246
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17023 / 19962 =  85.277
Robust  acc:  7835 /  9767 =  80.219
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 95.003 | Val Loss: 0.002 | Val Acc: 93.300
Training:
Accuracies by groups:
0, 0  acc:  9425 / 14098 =  66.853
0, 1  acc:  6039 /  7807 =  77.354
1, 0  acc: 131297 / 132556 =  99.050
1, 1  acc:  7876 /  8309 =  94.789
--------------------------------------
Average acc: 154637 / 162770 =  95.003
Robust  acc:  9425 / 14098 =  66.853
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7960 /  8535 =  93.263
0, 1  acc:  8010 /  8276 =  96.786
1, 0  acc:  2451 /  2874 =  85.282
1, 1  acc:   115 /   182 =  63.187
------------------------------------
Average acc: 18536 / 19867 =  93.300
Robust  acc:   115 /   182 =  63.187
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.164
Robust Acc: 56.667 | Best Acc: 97.040
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  9291 /  9767 =  95.126
0, 1  acc:  7312 /  7535 =  97.040
1, 0  acc:  2092 /  2480 =  84.355
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18797 / 19962 =  94.164
Robust  acc:   102 /   180 =  56.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9291 /  9767 =  95.126
0, 1  acc:  7312 /  7535 =  97.040
1, 0  acc:  2092 /  2480 =  84.355
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18797 / 19962 =  94.164
Robust  acc:   102 /   180 =  56.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9291 /  9767 =  95.126
0, 1  acc:  7312 /  7535 =  97.040
1, 0  acc:  2092 /  2480 =  84.355
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18797 / 19962 =  94.164
Robust  acc:   102 /   180 =  56.667
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.892 | Val Loss: 0.003 | Val Acc: 87.668
Training:
Accuracies by groups:
0, 0  acc:  9489 / 14270 =  66.496
0, 1  acc:  5901 /  7712 =  76.517
1, 0  acc: 131069 / 132372 =  99.016
1, 1  acc:  7996 /  8416 =  95.010
--------------------------------------
Average acc: 154455 / 162770 =  94.892
Robust  acc:  9489 / 14270 =  66.496
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7050 /  8535 =  82.601
0, 1  acc:  7396 /  8276 =  89.367
1, 0  acc:  2797 /  2874 =  97.321
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17417 / 19867 =  87.668
Robust  acc:  7050 /  8535 =  82.601
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.869
Robust Acc: 86.055 | Best Acc: 96.492
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  8405 /  9767 =  86.055
0, 1  acc:  6782 /  7535 =  90.007
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17740 / 19962 =  88.869
Robust  acc:  8405 /  9767 =  86.055
------------------------------------
Accuracies by groups:
0, 0  acc:  8405 /  9767 =  86.055
0, 1  acc:  6782 /  7535 =  90.007
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17740 / 19962 =  88.869
Robust  acc:  8405 /  9767 =  86.055
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8405 /  9767 =  86.055
0, 1  acc:  6782 /  7535 =  90.007
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17740 / 19962 =  88.869
Robust  acc:  8405 /  9767 =  86.055
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.724 | Val Loss: 0.005 | Val Acc: 75.950
Training:
Accuracies by groups:
0, 0  acc:  9412 / 14387 =  65.420
0, 1  acc:  5812 /  7675 =  75.726
1, 0  acc: 130981 / 132292 =  99.009
1, 1  acc:  7978 /  8416 =  94.796
--------------------------------------
Average acc: 154183 / 162770 =  94.724
Robust  acc:  9412 / 14387 =  65.420
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5728 /  8535 =  67.112
0, 1  acc:  6322 /  8276 =  76.390
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15089 / 19867 =  75.950
Robust  acc:  5728 /  8535 =  67.112
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.098
Robust Acc: 73.134 | Best Acc: 99.355
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  7143 /  9767 =  73.134
0, 1  acc:  5806 /  7535 =  77.054
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15590 / 19962 =  78.098
Robust  acc:  7143 /  9767 =  73.134
------------------------------------
Accuracies by groups:
0, 0  acc:  7143 /  9767 =  73.134
0, 1  acc:  5806 /  7535 =  77.054
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15590 / 19962 =  78.098
Robust  acc:  7143 /  9767 =  73.134
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7143 /  9767 =  73.134
0, 1  acc:  5806 /  7535 =  77.054
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15590 / 19962 =  78.098
Robust  acc:  7143 /  9767 =  73.134
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.723 | Val Loss: 0.003 | Val Acc: 90.894
Training:
Accuracies by groups:
0, 0  acc:  9243 / 14215 =  65.023
0, 1  acc:  5838 /  7780 =  75.039
1, 0  acc: 131105 / 132352 =  99.058
1, 1  acc:  7994 /  8423 =  94.907
--------------------------------------
Average acc: 154180 / 162770 =  94.723
Robust  acc:  9243 / 14215 =  65.023
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7456 /  8535 =  87.358
0, 1  acc:  7745 /  8276 =  93.584
1, 0  acc:  2701 /  2874 =  93.981
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 18058 / 19867 =  90.894
Robust  acc:   156 /   182 =  85.714
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.799
Robust Acc: 78.333 | Best Acc: 93.550
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  8831 /  9767 =  90.417
0, 1  acc:  7049 /  7535 =  93.550
1, 0  acc:  2304 /  2480 =  92.903
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18325 / 19962 =  91.799
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8831 /  9767 =  90.417
0, 1  acc:  7049 /  7535 =  93.550
1, 0  acc:  2304 /  2480 =  92.903
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18325 / 19962 =  91.799
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8831 /  9767 =  90.417
0, 1  acc:  7049 /  7535 =  93.550
1, 0  acc:  2304 /  2480 =  92.903
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18325 / 19962 =  91.799
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.768 | Val Loss: 0.005 | Val Acc: 76.021
Training:
Accuracies by groups:
0, 0  acc:  9363 / 14359 =  65.206
0, 1  acc:  5720 /  7729 =  74.007
1, 0  acc: 131277 / 132396 =  99.155
1, 1  acc:  7894 /  8286 =  95.269
--------------------------------------
Average acc: 154254 / 162770 =  94.768
Robust  acc:  9363 / 14359 =  65.206
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5772 /  8535 =  67.627
0, 1  acc:  6297 /  8276 =  76.087
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15103 / 19867 =  76.021
Robust  acc:  5772 /  8535 =  67.627
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.088
Robust Acc: 74.076 | Best Acc: 99.234
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  7235 /  9767 =  74.076
0, 1  acc:  5715 /  7535 =  75.846
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15588 / 19962 =  78.088
Robust  acc:  7235 /  9767 =  74.076
------------------------------------
Accuracies by groups:
0, 0  acc:  7235 /  9767 =  74.076
0, 1  acc:  5715 /  7535 =  75.846
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15588 / 19962 =  78.088
Robust  acc:  7235 /  9767 =  74.076
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7235 /  9767 =  74.076
0, 1  acc:  5715 /  7535 =  75.846
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15588 / 19962 =  78.088
Robust  acc:  7235 /  9767 =  74.076
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.704 | Val Loss: 0.005 | Val Acc: 77.505
Training:
Accuracies by groups:
0, 0  acc:  8955 / 14134 =  63.358
0, 1  acc:  5635 /  7671 =  73.458
1, 0  acc: 131558 / 132604 =  99.211
1, 1  acc:  8001 /  8361 =  95.694
--------------------------------------
Average acc: 154149 / 162770 =  94.704
Robust  acc:  8955 / 14134 =  63.358
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5900 /  8535 =  69.127
0, 1  acc:  6461 /  8276 =  78.069
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15398 / 19867 =  77.505
Robust  acc:  5900 /  8535 =  69.127
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.331
Robust Acc: 74.701 | Best Acc: 99.234
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  7296 /  9767 =  74.701
0, 1  acc:  5904 /  7535 =  78.354
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15836 / 19962 =  79.331
Robust  acc:  7296 /  9767 =  74.701
------------------------------------
Accuracies by groups:
0, 0  acc:  7296 /  9767 =  74.701
0, 1  acc:  5904 /  7535 =  78.354
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15836 / 19962 =  79.331
Robust  acc:  7296 /  9767 =  74.701
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7296 /  9767 =  74.701
0, 1  acc:  5904 /  7535 =  78.354
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15836 / 19962 =  79.331
Robust  acc:  7296 /  9767 =  74.701
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.489 | Val Loss: 0.004 | Val Acc: 84.150
Training:
Accuracies by groups:
0, 0  acc:  8882 / 14287 =  62.168
0, 1  acc:  5588 /  7790 =  71.733
1, 0  acc: 131498 / 132529 =  99.222
1, 1  acc:  7832 /  8164 =  95.933
--------------------------------------
Average acc: 153800 / 162770 =  94.489
Robust  acc:  8882 / 14287 =  62.168
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6505 /  8535 =  76.216
0, 1  acc:  7208 /  8276 =  87.095
1, 0  acc:  2832 /  2874 =  98.539
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16718 / 19867 =  84.150
Robust  acc:  6505 /  8535 =  76.216
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.963
Robust Acc: 81.478 | Best Acc: 98.185
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  7958 /  9767 =  81.478
0, 1  acc:  6604 /  7535 =  87.644
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17160 / 19962 =  85.963
Robust  acc:  7958 /  9767 =  81.478
------------------------------------
Accuracies by groups:
0, 0  acc:  7958 /  9767 =  81.478
0, 1  acc:  6604 /  7535 =  87.644
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17160 / 19962 =  85.963
Robust  acc:  7958 /  9767 =  81.478
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7958 /  9767 =  81.478
0, 1  acc:  6604 /  7535 =  87.644
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17160 / 19962 =  85.963
Robust  acc:  7958 /  9767 =  81.478
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.561 | Val Loss: 0.004 | Val Acc: 87.527
Training:
Accuracies by groups:
0, 0  acc:  8965 / 14251 =  62.908
0, 1  acc:  5550 /  7796 =  71.190
1, 0  acc: 131408 / 132358 =  99.282
1, 1  acc:  7994 /  8365 =  95.565
--------------------------------------
Average acc: 153917 / 162770 =  94.561
Robust  acc:  8965 / 14251 =  62.908
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7009 /  8535 =  82.121
0, 1  acc:  7426 /  8276 =  89.729
1, 0  acc:  2793 /  2874 =  97.182
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 17389 / 19867 =  87.527
Robust  acc:  7009 /  8535 =  82.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.944
Robust Acc: 86.198 | Best Acc: 95.887
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  8419 /  9767 =  86.198
0, 1  acc:  6798 /  7535 =  90.219
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17755 / 19962 =  88.944
Robust  acc:  8419 /  9767 =  86.198
------------------------------------
Accuracies by groups:
0, 0  acc:  8419 /  9767 =  86.198
0, 1  acc:  6798 /  7535 =  90.219
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17755 / 19962 =  88.944
Robust  acc:  8419 /  9767 =  86.198
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8419 /  9767 =  86.198
0, 1  acc:  6798 /  7535 =  90.219
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17755 / 19962 =  88.944
Robust  acc:  8419 /  9767 =  86.198
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 94.506 | Val Loss: 0.004 | Val Acc: 80.128
Training:
Accuracies by groups:
0, 0  acc:  8945 / 14292 =  62.587
0, 1  acc:  5404 /  7630 =  70.826
1, 0  acc: 131522 / 132521 =  99.246
1, 1  acc:  7957 /  8327 =  95.557
--------------------------------------
Average acc: 153828 / 162770 =  94.506
Robust  acc:  8945 / 14292 =  62.587
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6245 /  8535 =  73.169
0, 1  acc:  6654 /  8276 =  80.401
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15919 / 19867 =  80.128
Robust  acc:  6245 /  8535 =  73.169
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.101
Robust Acc: 78.591 | Best Acc: 98.992
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  7676 /  9767 =  78.591
0, 1  acc:  6085 /  7535 =  80.756
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16389 / 19962 =  82.101
Robust  acc:  7676 /  9767 =  78.591
------------------------------------
Accuracies by groups:
0, 0  acc:  7676 /  9767 =  78.591
0, 1  acc:  6085 /  7535 =  80.756
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16389 / 19962 =  82.101
Robust  acc:  7676 /  9767 =  78.591
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7676 /  9767 =  78.591
0, 1  acc:  6085 /  7535 =  80.756
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16389 / 19962 =  82.101
Robust  acc:  7676 /  9767 =  78.591
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 94.544 | Val Loss: 0.004 | Val Acc: 83.203
Training:
Accuracies by groups:
0, 0  acc:  8882 / 14360 =  61.852
0, 1  acc:  5562 /  7707 =  72.168
1, 0  acc: 131421 / 132314 =  99.325
1, 1  acc:  8025 /  8389 =  95.661
--------------------------------------
Average acc: 153890 / 162770 =  94.544
Robust  acc:  8882 / 14360 =  61.852
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6577 /  8535 =  77.059
0, 1  acc:  6966 /  8276 =  84.171
1, 0  acc:  2818 /  2874 =  98.051
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 16530 / 19867 =  83.203
Robust  acc:  6577 /  8535 =  77.059
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.871
Robust Acc: 81.560 | Best Acc: 97.621
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  7966 /  9767 =  81.560
0, 1  acc:  6397 /  7535 =  84.897
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 16942 / 19962 =  84.871
Robust  acc:  7966 /  9767 =  81.560
------------------------------------
Accuracies by groups:
0, 0  acc:  7966 /  9767 =  81.560
0, 1  acc:  6397 /  7535 =  84.897
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 16942 / 19962 =  84.871
Robust  acc:  7966 /  9767 =  81.560
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7966 /  9767 =  81.560
0, 1  acc:  6397 /  7535 =  84.897
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 16942 / 19962 =  84.871
Robust  acc:  7966 /  9767 =  81.560
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 94.473 | Val Loss: 0.005 | Val Acc: 74.843
Training:
Accuracies by groups:
0, 0  acc:  9001 / 14464 =  62.230
0, 1  acc:  5473 /  7631 =  71.721
1, 0  acc: 131264 / 132276 =  99.235
1, 1  acc:  8036 /  8399 =  95.678
--------------------------------------
Average acc: 153774 / 162770 =  94.473
Robust  acc:  9001 / 14464 =  62.230
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5556 /  8535 =  65.097
0, 1  acc:  6272 /  8276 =  75.785
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14869 / 19867 =  74.843
Robust  acc:  5556 /  8535 =  65.097
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.390
Robust Acc: 71.158 | Best Acc: 99.355
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  6950 /  9767 =  71.158
0, 1  acc:  5661 /  7535 =  75.129
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15249 / 19962 =  76.390
Robust  acc:  6950 /  9767 =  71.158
------------------------------------
Accuracies by groups:
0, 0  acc:  6950 /  9767 =  71.158
0, 1  acc:  5661 /  7535 =  75.129
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15249 / 19962 =  76.390
Robust  acc:  6950 /  9767 =  71.158
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6950 /  9767 =  71.158
0, 1  acc:  5661 /  7535 =  75.129
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15249 / 19962 =  76.390
Robust  acc:  6950 /  9767 =  71.158
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.572 | Val Loss: 0.006 | Val Acc: 70.267
Training:
Accuracies by groups:
0, 0  acc:  9026 / 14357 =  62.868
0, 1  acc:  5562 /  7659 =  72.620
1, 0  acc: 131385 / 132404 =  99.230
1, 1  acc:  7962 /  8350 =  95.353
--------------------------------------
Average acc: 153935 / 162770 =  94.572
Robust  acc:  9026 / 14357 =  62.868
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5131 /  8535 =  60.117
0, 1  acc:  5787 /  8276 =  69.925
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13960 / 19867 =  70.267
Robust  acc:  5131 /  8535 =  60.117
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 72.232
Robust Acc: 66.551 | Best Acc: 99.556
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  6500 /  9767 =  66.551
0, 1  acc:  5274 /  7535 =  69.993
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14419 / 19962 =  72.232
Robust  acc:  6500 /  9767 =  66.551
------------------------------------
Accuracies by groups:
0, 0  acc:  6500 /  9767 =  66.551
0, 1  acc:  5274 /  7535 =  69.993
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14419 / 19962 =  72.232
Robust  acc:  6500 /  9767 =  66.551
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6500 /  9767 =  66.551
0, 1  acc:  5274 /  7535 =  69.993
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14419 / 19962 =  72.232
Robust  acc:  6500 /  9767 =  66.551
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 94.578 | Val Loss: 0.003 | Val Acc: 92.832
Training:
Accuracies by groups:
0, 0  acc:  9110 / 14426 =  63.150
0, 1  acc:  5670 /  7749 =  73.171
1, 0  acc: 131109 / 132172 =  99.196
1, 1  acc:  8055 /  8423 =  95.631
--------------------------------------
Average acc: 153944 / 162770 =  94.578
Robust  acc:  9110 / 14426 =  63.150
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7726 /  8535 =  90.521
0, 1  acc:  7945 /  8276 =  96.000
1, 0  acc:  2638 /  2874 =  91.788
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18443 / 19867 =  92.832
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.598
Robust Acc: 69.444 | Best Acc: 95.992
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  9070 /  9767 =  92.864
0, 1  acc:  7233 /  7535 =  95.992
1, 0  acc:  2256 /  2480 =  90.968
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18684 / 19962 =  93.598
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9070 /  9767 =  92.864
0, 1  acc:  7233 /  7535 =  95.992
1, 0  acc:  2256 /  2480 =  90.968
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18684 / 19962 =  93.598
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9070 /  9767 =  92.864
0, 1  acc:  7233 /  7535 =  95.992
1, 0  acc:  2256 /  2480 =  90.968
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18684 / 19962 =  93.598
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.711 | Val Loss: 0.005 | Val Acc: 75.069
Training:
Accuracies by groups:
0, 0  acc:  8935 / 14097 =  63.382
0, 1  acc:  5697 /  7684 =  74.141
1, 0  acc: 131415 / 132480 =  99.196
1, 1  acc:  8114 /  8509 =  95.358
--------------------------------------
Average acc: 154161 / 162770 =  94.711
Robust  acc:  8935 / 14097 =  63.382
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5458 /  8535 =  63.948
0, 1  acc:  6419 /  8276 =  77.562
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14914 / 19867 =  75.069
Robust  acc:  5458 /  8535 =  63.948
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.896
Robust Acc: 69.448 | Best Acc: 99.476
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  6783 /  9767 =  69.448
0, 1  acc:  5926 /  7535 =  78.646
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15350 / 19962 =  76.896
Robust  acc:  6783 /  9767 =  69.448
------------------------------------
Accuracies by groups:
0, 0  acc:  6783 /  9767 =  69.448
0, 1  acc:  5926 /  7535 =  78.646
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15350 / 19962 =  76.896
Robust  acc:  6783 /  9767 =  69.448
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6783 /  9767 =  69.448
0, 1  acc:  5926 /  7535 =  78.646
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15350 / 19962 =  76.896
Robust  acc:  6783 /  9767 =  69.448
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.616 | Val Loss: 0.004 | Val Acc: 88.926
Training:
Accuracies by groups:
0, 0  acc:  8948 / 14216 =  62.943
0, 1  acc:  5642 /  7657 =  73.684
1, 0  acc: 131293 / 132367 =  99.189
1, 1  acc:  8123 /  8530 =  95.229
--------------------------------------
Average acc: 154006 / 162770 =  94.616
Robust  acc:  8948 / 14216 =  62.943
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7073 /  8535 =  82.871
0, 1  acc:  7662 /  8276 =  92.581
1, 0  acc:  2767 /  2874 =  96.277
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17667 / 19867 =  88.926
Robust  acc:  7073 /  8535 =  82.871
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.231
Robust Acc: 83.889 | Best Acc: 96.169
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  6995 /  7535 =  92.833
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18012 / 19962 =  90.231
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  6995 /  7535 =  92.833
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18012 / 19962 =  90.231
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  6995 /  7535 =  92.833
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18012 / 19962 =  90.231
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.860 | Val Loss: 0.005 | Val Acc: 75.266
Training:
Accuracies by groups:
0, 0  acc:  8989 / 14017 =  64.129
0, 1  acc:  5653 /  7607 =  74.313
1, 0  acc: 131737 / 132749 =  99.238
1, 1  acc:  8025 /  8397 =  95.570
--------------------------------------
Average acc: 154404 / 162770 =  94.860
Robust  acc:  8989 / 14017 =  64.129
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5404 /  8535 =  63.316
0, 1  acc:  6513 /  8276 =  78.697
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14953 / 19867 =  75.266
Robust  acc:  5404 /  8535 =  63.316
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.931
Robust Acc: 69.663 | Best Acc: 99.355
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  6804 /  9767 =  69.663
0, 1  acc:  5912 /  7535 =  78.461
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15357 / 19962 =  76.931
Robust  acc:  6804 /  9767 =  69.663
------------------------------------
Accuracies by groups:
0, 0  acc:  6804 /  9767 =  69.663
0, 1  acc:  5912 /  7535 =  78.461
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15357 / 19962 =  76.931
Robust  acc:  6804 /  9767 =  69.663
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6804 /  9767 =  69.663
0, 1  acc:  5912 /  7535 =  78.461
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15357 / 19962 =  76.931
Robust  acc:  6804 /  9767 =  69.663
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.736 | Val Loss: 0.003 | Val Acc: 91.423
Training:
Accuracies by groups:
0, 0  acc:  9193 / 14380 =  63.929
0, 1  acc:  5806 /  7725 =  75.159
1, 0  acc: 131291 / 132339 =  99.208
1, 1  acc:  7911 /  8326 =  95.016
--------------------------------------
Average acc: 154201 / 162770 =  94.736
Robust  acc:  9193 / 14380 =  63.929
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7531 /  8535 =  88.237
0, 1  acc:  7798 /  8276 =  94.224
1, 0  acc:  2687 /  2874 =  93.493
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18163 / 19867 =  91.423
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.426
Robust Acc: 75.000 | Best Acc: 94.426
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  8903 /  9767 =  91.154
0, 1  acc:  7115 /  7535 =  94.426
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18450 / 19962 =  92.426
Robust  acc:   135 /   180 =  75.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8903 /  9767 =  91.154
0, 1  acc:  7115 /  7535 =  94.426
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18450 / 19962 =  92.426
Robust  acc:   135 /   180 =  75.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8903 /  9767 =  91.154
0, 1  acc:  7115 /  7535 =  94.426
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18450 / 19962 =  92.426
Robust  acc:   135 /   180 =  75.000
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.793 | Val Loss: 0.003 | Val Acc: 91.730
Training:
Accuracies by groups:
0, 0  acc:  9169 / 14228 =  64.443
0, 1  acc:  5630 /  7511 =  74.957
1, 0  acc: 131577 / 132715 =  99.143
1, 1  acc:  7918 /  8316 =  95.214
--------------------------------------
Average acc: 154294 / 162770 =  94.793
Robust  acc:  9169 / 14228 =  64.443
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7703 /  8535 =  90.252
0, 1  acc:  7802 /  8276 =  94.273
1, 0  acc:  2585 /  2874 =  89.944
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18224 / 19867 =  91.730
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.756
Robust Acc: 68.889 | Best Acc: 94.930
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  9038 /  9767 =  92.536
0, 1  acc:  7153 /  7535 =  94.930
1, 0  acc:  2201 /  2480 =  88.750
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18516 / 19962 =  92.756
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9038 /  9767 =  92.536
0, 1  acc:  7153 /  7535 =  94.930
1, 0  acc:  2201 /  2480 =  88.750
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18516 / 19962 =  92.756
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9038 /  9767 =  92.536
0, 1  acc:  7153 /  7535 =  94.930
1, 0  acc:  2201 /  2480 =  88.750
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18516 / 19962 =  92.756
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.801 | Val Loss: 0.006 | Val Acc: 68.148
Training:
Accuracies by groups:
0, 0  acc:  9131 / 14190 =  64.348
0, 1  acc:  5783 /  7696 =  75.143
1, 0  acc: 131401 / 132513 =  99.161
1, 1  acc:  7993 /  8371 =  95.484
--------------------------------------
Average acc: 154308 / 162770 =  94.801
Robust  acc:  9131 / 14190 =  64.348
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4797 /  8535 =  56.204
0, 1  acc:  5699 /  8276 =  68.862
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13539 / 19867 =  68.148
Robust  acc:  4797 /  8535 =  56.204
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.402
Robust Acc: 62.660 | Best Acc: 99.556
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  6120 /  9767 =  62.660
0, 1  acc:  5088 /  7535 =  67.525
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13854 / 19962 =  69.402
Robust  acc:  6120 /  9767 =  62.660
------------------------------------
Accuracies by groups:
0, 0  acc:  6120 /  9767 =  62.660
0, 1  acc:  5088 /  7535 =  67.525
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13854 / 19962 =  69.402
Robust  acc:  6120 /  9767 =  62.660
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6120 /  9767 =  62.660
0, 1  acc:  5088 /  7535 =  67.525
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13854 / 19962 =  69.402
Robust  acc:  6120 /  9767 =  62.660
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.745 | Val Loss: 0.003 | Val Acc: 92.450
Training:
Accuracies by groups:
0, 0  acc:  9287 / 14459 =  64.230
0, 1  acc:  5702 /  7602 =  75.007
1, 0  acc: 131173 / 132265 =  99.174
1, 1  acc:  8054 /  8444 =  95.381
--------------------------------------
Average acc: 154216 / 162770 =  94.745
Robust  acc:  9287 / 14459 =  64.230
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7659 /  8535 =  89.736
0, 1  acc:  7908 /  8276 =  95.553
1, 0  acc:  2660 /  2874 =  92.554
1, 1  acc:   140 /   182 =  76.923
------------------------------------
Average acc: 18367 / 19867 =  92.450
Robust  acc:   140 /   182 =  76.923
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.337
Robust Acc: 72.222 | Best Acc: 95.634
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  9022 /  9767 =  92.372
0, 1  acc:  7206 /  7535 =  95.634
1, 0  acc:  2274 /  2480 =  91.694
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18632 / 19962 =  93.337
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9022 /  9767 =  92.372
0, 1  acc:  7206 /  7535 =  95.634
1, 0  acc:  2274 /  2480 =  91.694
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18632 / 19962 =  93.337
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9022 /  9767 =  92.372
0, 1  acc:  7206 /  7535 =  95.634
1, 0  acc:  2274 /  2480 =  91.694
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18632 / 19962 =  93.337
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.790 | Val Loss: 0.007 | Val Acc: 64.282
Training:
Accuracies by groups:
0, 0  acc:  9268 / 14321 =  64.716
0, 1  acc:  5788 /  7660 =  75.561
1, 0  acc: 131233 / 132394 =  99.123
1, 1  acc:  8000 /  8395 =  95.295
--------------------------------------
Average acc: 154289 / 162770 =  94.790
Robust  acc:  9268 / 14321 =  64.716
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4559 /  8535 =  53.415
0, 1  acc:  5162 /  8276 =  62.373
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12771 / 19867 =  64.282
Robust  acc:  4559 /  8535 =  53.415
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 66.772
Robust Acc: 60.326 | Best Acc: 99.798
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  5892 /  9767 =  60.326
0, 1  acc:  4784 /  7535 =  63.490
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13329 / 19962 =  66.772
Robust  acc:  5892 /  9767 =  60.326
------------------------------------
Accuracies by groups:
0, 0  acc:  5892 /  9767 =  60.326
0, 1  acc:  4784 /  7535 =  63.490
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13329 / 19962 =  66.772
Robust  acc:  5892 /  9767 =  60.326
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5892 /  9767 =  60.326
0, 1  acc:  4784 /  7535 =  63.490
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13329 / 19962 =  66.772
Robust  acc:  5892 /  9767 =  60.326
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.798 | Val Loss: 0.009 | Val Acc: 48.321
Training:
Accuracies by groups:
0, 0  acc:  9420 / 14411 =  65.367
0, 1  acc:  5752 /  7675 =  74.945
1, 0  acc: 131107 / 132243 =  99.141
1, 1  acc:  8024 /  8441 =  95.060
--------------------------------------
Average acc: 154303 / 162770 =  94.798
Robust  acc:  9420 / 14411 =  65.367
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3292 /  8535 =  38.571
0, 1  acc:  3254 /  8276 =  39.319
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9600 / 19867 =  48.321
Robust  acc:  3292 /  8535 =  38.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 49.740
Robust Acc: 39.376 | Best Acc: 99.919
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  4306 /  9767 =  44.087
0, 1  acc:  2967 /  7535 =  39.376
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9929 / 19962 =  49.740
Robust  acc:  2967 /  7535 =  39.376
------------------------------------
Accuracies by groups:
0, 0  acc:  4306 /  9767 =  44.087
0, 1  acc:  2967 /  7535 =  39.376
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9929 / 19962 =  49.740
Robust  acc:  2967 /  7535 =  39.376
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4306 /  9767 =  44.087
0, 1  acc:  2967 /  7535 =  39.376
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9929 / 19962 =  49.740
Robust  acc:  2967 /  7535 =  39.376
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.886 | Val Loss: 0.004 | Val Acc: 80.757
Training:
Accuracies by groups:
0, 0  acc:  9268 / 14229 =  65.135
0, 1  acc:  6050 /  7881 =  76.767
1, 0  acc: 131091 / 132184 =  99.173
1, 1  acc:  8037 /  8476 =  94.821
--------------------------------------
Average acc: 154446 / 162770 =  94.886
Robust  acc:  9268 / 14229 =  65.135
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6317 /  8535 =  74.013
0, 1  acc:  6699 /  8276 =  80.945
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 16044 / 19867 =  80.757
Robust  acc:  6317 /  8535 =  74.013
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.256
Robust Acc: 78.673 | Best Acc: 98.629
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  7684 /  9767 =  78.673
0, 1  acc:  6116 /  7535 =  81.168
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16420 / 19962 =  82.256
Robust  acc:  7684 /  9767 =  78.673
------------------------------------
Accuracies by groups:
0, 0  acc:  7684 /  9767 =  78.673
0, 1  acc:  6116 /  7535 =  81.168
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16420 / 19962 =  82.256
Robust  acc:  7684 /  9767 =  78.673
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7684 /  9767 =  78.673
0, 1  acc:  6116 /  7535 =  81.168
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16420 / 19962 =  82.256
Robust  acc:  7684 /  9767 =  78.673
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.929 | Val Loss: 0.005 | Val Acc: 79.685
Training:
Accuracies by groups:
0, 0  acc:  9261 / 14159 =  65.407
0, 1  acc:  5839 /  7690 =  75.930
1, 0  acc: 131456 / 132524 =  99.194
1, 1  acc:  7960 /  8397 =  94.796
--------------------------------------
Average acc: 154516 / 162770 =  94.929
Robust  acc:  9261 / 14159 =  65.407
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6334 /  8535 =  74.212
0, 1  acc:  6505 /  8276 =  78.601
1, 0  acc:  2824 /  2874 =  98.260
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 15831 / 19867 =  79.685
Robust  acc:  6334 /  8535 =  74.212
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.169
Robust Acc: 78.474 | Best Acc: 98.145
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  7692 /  9767 =  78.755
0, 1  acc:  5913 /  7535 =  78.474
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16203 / 19962 =  81.169
Robust  acc:  5913 /  7535 =  78.474
------------------------------------
Accuracies by groups:
0, 0  acc:  7692 /  9767 =  78.755
0, 1  acc:  5913 /  7535 =  78.474
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16203 / 19962 =  81.169
Robust  acc:  5913 /  7535 =  78.474
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7692 /  9767 =  78.755
0, 1  acc:  5913 /  7535 =  78.474
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16203 / 19962 =  81.169
Robust  acc:  5913 /  7535 =  78.474
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.901 | Val Loss: 0.005 | Val Acc: 76.735
Training:
Accuracies by groups:
0, 0  acc:  9352 / 14339 =  65.221
0, 1  acc:  5946 /  7734 =  76.881
1, 0  acc: 131176 / 132277 =  99.168
1, 1  acc:  7996 /  8420 =  94.964
--------------------------------------
Average acc: 154470 / 162770 =  94.901
Robust  acc:  9352 / 14339 =  65.221
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5998 /  8535 =  70.275
0, 1  acc:  6213 /  8276 =  75.072
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 15245 / 19867 =  76.735
Robust  acc:  5998 /  8535 =  70.275
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.649
Robust Acc: 75.514 | Best Acc: 98.952
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  7380 /  9767 =  75.561
0, 1  acc:  5690 /  7535 =  75.514
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15700 / 19962 =  78.649
Robust  acc:  5690 /  7535 =  75.514
------------------------------------
Accuracies by groups:
0, 0  acc:  7380 /  9767 =  75.561
0, 1  acc:  5690 /  7535 =  75.514
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15700 / 19962 =  78.649
Robust  acc:  5690 /  7535 =  75.514
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7380 /  9767 =  75.561
0, 1  acc:  5690 /  7535 =  75.514
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15700 / 19962 =  78.649
Robust  acc:  5690 /  7535 =  75.514
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.859 | Val Loss: 0.003 | Val Acc: 93.401
Training:
Accuracies by groups:
0, 0  acc:  9445 / 14377 =  65.695
0, 1  acc:  5835 /  7650 =  76.275
1, 0  acc: 131102 / 132288 =  99.103
1, 1  acc:  8020 /  8455 =  94.855
--------------------------------------
Average acc: 154402 / 162770 =  94.859
Robust  acc:  9445 / 14377 =  65.695
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7775 /  8535 =  91.095
0, 1  acc:  8040 /  8276 =  97.148
1, 0  acc:  2622 /  2874 =  91.232
1, 1  acc:   119 /   182 =  65.385
------------------------------------
Average acc: 18556 / 19867 =  93.401
Robust  acc:   119 /   182 =  65.385
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.949
Robust Acc: 67.778 | Best Acc: 96.828
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  9102 /  9767 =  93.191
0, 1  acc:  7296 /  7535 =  96.828
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18754 / 19962 =  93.949
Robust  acc:   122 /   180 =  67.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9102 /  9767 =  93.191
0, 1  acc:  7296 /  7535 =  96.828
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18754 / 19962 =  93.949
Robust  acc:   122 /   180 =  67.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9102 /  9767 =  93.191
0, 1  acc:  7296 /  7535 =  96.828
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18754 / 19962 =  93.949
Robust  acc:   122 /   180 =  67.778
------------------------------------
Epoch:  49 | Train Loss: 0.001 | Train Acc: 95.025 | Val Loss: 0.005 | Val Acc: 78.603
Training:
Accuracies by groups:
0, 0  acc:  9320 / 14168 =  65.782
0, 1  acc:  6002 /  7729 =  77.656
1, 0  acc: 131264 / 132341 =  99.186
1, 1  acc:  8086 /  8532 =  94.773
--------------------------------------
Average acc: 154672 / 162770 =  95.025
Robust  acc:  9320 / 14168 =  65.782
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6111 /  8535 =  71.599
0, 1  acc:  6482 /  8276 =  78.323
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15616 / 19867 =  78.603
Robust  acc:  6111 /  8535 =  71.599
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.393
Robust Acc: 76.861 | Best Acc: 98.629
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  7507 /  9767 =  76.861
0, 1  acc:  5924 /  7535 =  78.620
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16048 / 19962 =  80.393
Robust  acc:  7507 /  9767 =  76.861
------------------------------------
Accuracies by groups:
0, 0  acc:  7507 /  9767 =  76.861
0, 1  acc:  5924 /  7535 =  78.620
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16048 / 19962 =  80.393
Robust  acc:  7507 /  9767 =  76.861
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7507 /  9767 =  76.861
0, 1  acc:  5924 /  7535 =  78.620
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16048 / 19962 =  80.393
Robust  acc:  7507 /  9767 =  76.861
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.907 | Val Loss: 0.006 | Val Acc: 66.583
Training:
Accuracies by groups:
0, 0  acc:  9276 / 14202 =  65.315
0, 1  acc:  5798 /  7606 =  76.229
1, 0  acc: 131224 / 132355 =  99.145
1, 1  acc:  8182 /  8607 =  95.062
--------------------------------------
Average acc: 154480 / 162770 =  94.907
Robust  acc:  9276 / 14202 =  65.315
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4393 /  8535 =  51.470
0, 1  acc:  5790 /  8276 =  69.961
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13228 / 19867 =  66.583
Robust  acc:  4393 /  8535 =  51.470
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.495
Robust Acc: 58.360 | Best Acc: 99.677
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  5700 /  9767 =  58.360
0, 1  acc:  5325 /  7535 =  70.670
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13673 / 19962 =  68.495
Robust  acc:  5700 /  9767 =  58.360
------------------------------------
Accuracies by groups:
0, 0  acc:  5700 /  9767 =  58.360
0, 1  acc:  5325 /  7535 =  70.670
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13673 / 19962 =  68.495
Robust  acc:  5700 /  9767 =  58.360
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5700 /  9767 =  58.360
0, 1  acc:  5325 /  7535 =  70.670
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13673 / 19962 =  68.495
Robust  acc:  5700 /  9767 =  58.360
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed46.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed46.pt
