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/seed36/stage_one_erm_model_b_epoch0_seed36.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: 4
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.0
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=4-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/seed36/stage_one_erm_model_b_epoch0_seed36.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8309, 0.0200],
        [0.1350, 0.0141]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.789 | Val Loss: 0.004 | Val Acc: 78.588
Training:
Accuracies by groups:
0, 0  acc:  5821 / 14493 =  40.164
0, 1  acc:  2722 /  6479 =  42.013
1, 0  acc: 130889 / 133020 =  98.398
1, 1  acc:  8346 /  8778 =  95.079
--------------------------------------
Average acc: 147778 / 162770 =  90.789
Robust  acc:  5821 / 14493 =  40.164
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6062 /  8535 =  71.025
0, 1  acc:  6534 /  8276 =  78.951
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 15613 / 19867 =  78.588
Robust  acc:  6062 /  8535 =  71.025
------------------------------------
New max robust acc: 71.02519039250147
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed4.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed4.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 80.743
Robust Acc: 76.953 | Best Acc: 98.952
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7516 /  9767 =  76.953
0, 1  acc:  5977 /  7535 =  79.323
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16118 / 19962 =  80.743
Robust  acc:  7516 /  9767 =  76.953
------------------------------------
Accuracies by groups:
0, 0  acc:  7516 /  9767 =  76.953
0, 1  acc:  5977 /  7535 =  79.323
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16118 / 19962 =  80.743
Robust  acc:  7516 /  9767 =  76.953
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7516 /  9767 =  76.953
0, 1  acc:  5977 /  7535 =  79.323
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16118 / 19962 =  80.743
Robust  acc:  7516 /  9767 =  76.953
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.527 | Val Loss: 0.003 | Val Acc: 83.843
Training:
Accuracies by groups:
0, 0  acc:  9192 / 14434 =  63.683
0, 1  acc:  4861 /  6735 =  72.175
1, 0  acc: 131725 / 132987 =  99.051
1, 1  acc:  8083 /  8614 =  93.836
--------------------------------------
Average acc: 153861 / 162770 =  94.527
Robust  acc:  9192 / 14434 =  63.683
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6476 /  8535 =  75.876
0, 1  acc:  7166 /  8276 =  86.588
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16657 / 19867 =  83.843
Robust  acc:  6476 /  8535 =  75.876
------------------------------------
New max robust acc: 75.87580550673697
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed4.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed4.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.247
Robust Acc: 80.967 | Best Acc: 98.710
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6490 /  7535 =  86.131
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 17017 / 19962 =  85.247
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6490 /  7535 =  86.131
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 17017 / 19962 =  85.247
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6490 /  7535 =  86.131
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 17017 / 19962 =  85.247
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.464 | Val Loss: 0.003 | Val Acc: 86.249
Training:
Accuracies by groups:
0, 0  acc:  9731 / 14323 =  67.940
0, 1  acc:  5222 /  6443 =  81.049
1, 0  acc: 132413 / 133548 =  99.150
1, 1  acc:  8020 /  8456 =  94.844
--------------------------------------
Average acc: 155386 / 162770 =  95.464
Robust  acc:  9731 / 14323 =  67.940
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6653 /  8535 =  77.950
0, 1  acc:  7471 /  8276 =  90.273
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17135 / 19867 =  86.249
Robust  acc:  6653 /  8535 =  77.950
------------------------------------
New max robust acc: 77.94961921499707
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed4.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed4.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.411
Robust Acc: 82.676 | Best Acc: 98.508
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8075 /  9767 =  82.676
0, 1  acc:  6768 /  7535 =  89.821
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17449 / 19962 =  87.411
Robust  acc:  8075 /  9767 =  82.676
------------------------------------
Accuracies by groups:
0, 0  acc:  8075 /  9767 =  82.676
0, 1  acc:  6768 /  7535 =  89.821
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17449 / 19962 =  87.411
Robust  acc:  8075 /  9767 =  82.676
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8075 /  9767 =  82.676
0, 1  acc:  6768 /  7535 =  89.821
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17449 / 19962 =  87.411
Robust  acc:  8075 /  9767 =  82.676
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.775 | Val Loss: 0.002 | Val Acc: 87.265
Training:
Accuracies by groups:
0, 0  acc: 10029 / 14396 =  69.665
0, 1  acc:  5603 /  6663 =  84.091
1, 0  acc: 132117 / 133164 =  99.214
1, 1  acc:  8144 /  8547 =  95.285
--------------------------------------
Average acc: 155893 / 162770 =  95.775
Robust  acc: 10029 / 14396 =  69.665
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6789 /  8535 =  79.543
0, 1  acc:  7544 /  8276 =  91.155
1, 0  acc:  2831 /  2874 =  98.504
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17337 / 19867 =  87.265
Robust  acc:  6789 /  8535 =  79.543
------------------------------------
New max robust acc: 79.54305799648506
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed4.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed4.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.258
Robust Acc: 83.936 | Best Acc: 98.105
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8198 /  9767 =  83.936
0, 1  acc:  6828 /  7535 =  90.617
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17618 / 19962 =  88.258
Robust  acc:  8198 /  9767 =  83.936
------------------------------------
Accuracies by groups:
0, 0  acc:  8198 /  9767 =  83.936
0, 1  acc:  6828 /  7535 =  90.617
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17618 / 19962 =  88.258
Robust  acc:  8198 /  9767 =  83.936
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8198 /  9767 =  83.936
0, 1  acc:  6828 /  7535 =  90.617
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17618 / 19962 =  88.258
Robust  acc:  8198 /  9767 =  83.936
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.283 | Val Loss: 0.002 | Val Acc: 88.222
Training:
Accuracies by groups:
0, 0  acc: 10353 / 14389 =  71.951
0, 1  acc:  5703 /  6619 =  86.161
1, 0  acc: 132417 / 133191 =  99.419
1, 1  acc:  8247 /  8571 =  96.220
--------------------------------------
Average acc: 156720 / 162770 =  96.283
Robust  acc: 10353 / 14389 =  71.951
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6893 /  8535 =  80.762
0, 1  acc:  7630 /  8276 =  92.194
1, 0  acc:  2832 /  2874 =  98.539
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17527 / 19867 =  88.222
Robust  acc:  6893 /  8535 =  80.762
------------------------------------
New max robust acc: 80.76157000585823
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed4.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed4.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.909
Robust Acc: 84.601 | Best Acc: 97.984
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8263 /  9767 =  84.601
0, 1  acc:  6899 /  7535 =  91.559
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17748 / 19962 =  88.909
Robust  acc:  8263 /  9767 =  84.601
------------------------------------
Accuracies by groups:
0, 0  acc:  8263 /  9767 =  84.601
0, 1  acc:  6899 /  7535 =  91.559
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17748 / 19962 =  88.909
Robust  acc:  8263 /  9767 =  84.601
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8263 /  9767 =  84.601
0, 1  acc:  6899 /  7535 =  91.559
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17748 / 19962 =  88.909
Robust  acc:  8263 /  9767 =  84.601
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.800 | Val Loss: 0.002 | Val Acc: 89.847
Training:
Accuracies by groups:
0, 0  acc: 10830 / 14551 =  74.428
0, 1  acc:  5746 /  6465 =  88.879
1, 0  acc: 132572 / 133142 =  99.572
1, 1  acc:  8413 /  8612 =  97.689
--------------------------------------
Average acc: 157561 / 162770 =  96.800
Robust  acc: 10830 / 14551 =  74.428
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7099 /  8535 =  83.175
0, 1  acc:  7765 /  8276 =  93.826
1, 0  acc:  2818 /  2874 =  98.051
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17850 / 19867 =  89.847
Robust  acc:  7099 /  8535 =  83.175
------------------------------------
New max robust acc: 83.1751611013474
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed4.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed4.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.477
Robust Acc: 86.111 | Best Acc: 97.500
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8447 /  9767 =  86.485
0, 1  acc:  7041 /  7535 =  93.444
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18061 / 19962 =  90.477
Robust  acc:   155 /   180 =  86.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8447 /  9767 =  86.485
0, 1  acc:  7041 /  7535 =  93.444
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18061 / 19962 =  90.477
Robust  acc:   155 /   180 =  86.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8447 /  9767 =  86.485
0, 1  acc:  7041 /  7535 =  93.444
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18061 / 19962 =  90.477
Robust  acc:   155 /   180 =  86.111
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.319 | Val Loss: 0.002 | Val Acc: 91.806
Training:
Accuracies by groups:
0, 0  acc: 11330 / 14578 =  77.720
0, 1  acc:  5841 /  6520 =  89.586
1, 0  acc: 132632 / 132969 =  99.747
1, 1  acc:  8603 /  8703 =  98.851
--------------------------------------
Average acc: 158406 / 162770 =  97.319
Robust  acc: 11330 / 14578 =  77.720
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7375 /  8535 =  86.409
0, 1  acc:  7919 /  8276 =  95.686
1, 0  acc:  2784 /  2874 =  96.868
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 18239 / 19867 =  91.806
Robust  acc:  7375 /  8535 =  86.409
------------------------------------
New max robust acc: 86.40890451083773
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed4.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed4.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.105
Robust Acc: 81.111 | Best Acc: 96.411
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8679 /  9767 =  88.860
0, 1  acc:  7170 /  7535 =  95.156
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18386 / 19962 =  92.105
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8679 /  9767 =  88.860
0, 1  acc:  7170 /  7535 =  95.156
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18386 / 19962 =  92.105
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8679 /  9767 =  88.860
0, 1  acc:  7170 /  7535 =  95.156
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18386 / 19962 =  92.105
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.844 | Val Loss: 0.002 | Val Acc: 91.856
Training:
Accuracies by groups:
0, 0  acc: 11721 / 14487 =  80.907
0, 1  acc:  6074 /  6612 =  91.863
1, 0  acc: 132882 / 133052 =  99.872
1, 1  acc:  8584 /  8619 =  99.594
--------------------------------------
Average acc: 159261 / 162770 =  97.844
Robust  acc: 11721 / 14487 =  80.907
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7388 /  8535 =  86.561
0, 1  acc:  7933 /  8276 =  95.855
1, 0  acc:  2772 /  2874 =  96.451
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 18249 / 19867 =  91.856
Robust  acc:   156 /   182 =  85.714
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.220
Robust Acc: 77.778 | Best Acc: 96.290
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8708 /  9767 =  89.157
0, 1  acc:  7173 /  7535 =  95.196
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18409 / 19962 =  92.220
Robust  acc:   140 /   180 =  77.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8708 /  9767 =  89.157
0, 1  acc:  7173 /  7535 =  95.196
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18409 / 19962 =  92.220
Robust  acc:   140 /   180 =  77.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8708 /  9767 =  89.157
0, 1  acc:  7173 /  7535 =  95.196
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18409 / 19962 =  92.220
Robust  acc:   140 /   180 =  77.778
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.220 | Val Loss: 0.002 | Val Acc: 92.963
Training:
Accuracies by groups:
0, 0  acc: 12112 / 14464 =  83.739
0, 1  acc:  6078 /  6508 =  93.393
1, 0  acc: 133116 / 133209 =  99.930
1, 1  acc:  8566 /  8589 =  99.732
--------------------------------------
Average acc: 159872 / 162770 =  98.220
Robust  acc: 12112 / 14464 =  83.739
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7596 /  8535 =  88.998
0, 1  acc:  7986 /  8276 =  96.496
1, 0  acc:  2739 /  2874 =  95.303
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 18469 / 19867 =  92.963
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.262
Robust Acc: 74.444 | Best Acc: 96.098
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8895 /  9767 =  91.072
0, 1  acc:  7241 /  7535 =  96.098
1, 0  acc:  2347 /  2480 =  94.637
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18617 / 19962 =  93.262
Robust  acc:   134 /   180 =  74.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8895 /  9767 =  91.072
0, 1  acc:  7241 /  7535 =  96.098
1, 0  acc:  2347 /  2480 =  94.637
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18617 / 19962 =  93.262
Robust  acc:   134 /   180 =  74.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8895 /  9767 =  91.072
0, 1  acc:  7241 /  7535 =  96.098
1, 0  acc:  2347 /  2480 =  94.637
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18617 / 19962 =  93.262
Robust  acc:   134 /   180 =  74.444
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.534 | Val Loss: 0.001 | Val Acc: 94.297
Training:
Accuracies by groups:
0, 0  acc: 12491 / 14439 =  86.509
0, 1  acc:  6168 /  6506 =  94.805
1, 0  acc: 133210 / 133292 =  99.938
1, 1  acc:  8514 /  8533 =  99.777
--------------------------------------
Average acc: 160383 / 162770 =  98.534
Robust  acc: 12491 / 14439 =  86.509
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7864 /  8535 =  92.138
0, 1  acc:  8122 /  8276 =  98.139
1, 0  acc:  2629 /  2874 =  91.475
1, 1  acc:   119 /   182 =  65.385
------------------------------------
Average acc: 18734 / 19867 =  94.297
Robust  acc:   119 /   182 =  65.385
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.374
Robust Acc: 62.778 | Best Acc: 97.916
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9130 /  9767 =  93.478
0, 1  acc:  7378 /  7535 =  97.916
1, 0  acc:  2218 /  2480 =  89.435
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18839 / 19962 =  94.374
Robust  acc:   113 /   180 =  62.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9130 /  9767 =  93.478
0, 1  acc:  7378 /  7535 =  97.916
1, 0  acc:  2218 /  2480 =  89.435
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18839 / 19962 =  94.374
Robust  acc:   113 /   180 =  62.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9130 /  9767 =  93.478
0, 1  acc:  7378 /  7535 =  97.916
1, 0  acc:  2218 /  2480 =  89.435
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18839 / 19962 =  94.374
Robust  acc:   113 /   180 =  62.778
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.478 | Val Loss: 0.002 | Val Acc: 92.309
Training:
Accuracies by groups:
0, 0  acc: 12541 / 14447 =  86.807
0, 1  acc:  6115 /  6459 =  94.674
1, 0  acc: 132974 / 133142 =  99.874
1, 1  acc:  8662 /  8722 =  99.312
--------------------------------------
Average acc: 160292 / 162770 =  98.478
Robust  acc: 12541 / 14447 =  86.807
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7459 /  8535 =  87.393
0, 1  acc:  7992 /  8276 =  96.568
1, 0  acc:  2743 /  2874 =  95.442
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18339 / 19867 =  92.309
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.641
Robust Acc: 73.889 | Best Acc: 96.045
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8790 /  9767 =  89.997
0, 1  acc:  7237 /  7535 =  96.045
1, 0  acc:  2333 /  2480 =  94.073
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18493 / 19962 =  92.641
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8790 /  9767 =  89.997
0, 1  acc:  7237 /  7535 =  96.045
1, 0  acc:  2333 /  2480 =  94.073
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18493 / 19962 =  92.641
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8790 /  9767 =  89.997
0, 1  acc:  7237 /  7535 =  96.045
1, 0  acc:  2333 /  2480 =  94.073
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18493 / 19962 =  92.641
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.254 | Val Loss: 0.001 | Val Acc: 93.663
Training:
Accuracies by groups:
0, 0  acc: 12463 / 14548 =  85.668
0, 1  acc:  6146 /  6533 =  94.076
1, 0  acc: 132757 / 133039 =  99.788
1, 1  acc:  8562 /  8650 =  98.983
--------------------------------------
Average acc: 159928 / 162770 =  98.254
Robust  acc: 12463 / 14548 =  85.668
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7774 /  8535 =  91.084
0, 1  acc:  8015 /  8276 =  96.846
1, 0  acc:  2672 /  2874 =  92.971
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18608 / 19867 =  93.663
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.908
Robust Acc: 68.333 | Best Acc: 96.775
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  9053 /  9767 =  92.690
0, 1  acc:  7292 /  7535 =  96.775
1, 0  acc:  2278 /  2480 =  91.855
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18746 / 19962 =  93.908
Robust  acc:   123 /   180 =  68.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9053 /  9767 =  92.690
0, 1  acc:  7292 /  7535 =  96.775
1, 0  acc:  2278 /  2480 =  91.855
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18746 / 19962 =  93.908
Robust  acc:   123 /   180 =  68.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9053 /  9767 =  92.690
0, 1  acc:  7292 /  7535 =  96.775
1, 0  acc:  2278 /  2480 =  91.855
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18746 / 19962 =  93.908
Robust  acc:   123 /   180 =  68.333
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.865 | Val Loss: 0.002 | Val Acc: 91.549
Training:
Accuracies by groups:
0, 0  acc: 12019 / 14432 =  83.280
0, 1  acc:  6157 /  6625 =  92.936
1, 0  acc: 132510 / 132969 =  99.655
1, 1  acc:  8609 /  8744 =  98.456
--------------------------------------
Average acc: 159295 / 162770 =  97.865
Robust  acc: 12019 / 14432 =  83.280
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7343 /  8535 =  86.034
0, 1  acc:  7939 /  8276 =  95.928
1, 0  acc:  2756 /  2874 =  95.894
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 18188 / 19867 =  91.549
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.814
Robust Acc: 77.222 | Best Acc: 95.421
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8648 /  9767 =  88.543
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2351 /  2480 =  94.798
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18328 / 19962 =  91.814
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8648 /  9767 =  88.543
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2351 /  2480 =  94.798
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18328 / 19962 =  91.814
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8648 /  9767 =  88.543
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2351 /  2480 =  94.798
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18328 / 19962 =  91.814
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.460 | Val Loss: 0.004 | Val Acc: 81.099
Training:
Accuracies by groups:
0, 0  acc: 11619 / 14474 =  80.275
0, 1  acc:  6041 /  6589 =  91.683
1, 0  acc: 132474 / 133031 =  99.581
1, 1  acc:  8501 /  8676 =  97.983
--------------------------------------
Average acc: 158635 / 162770 =  97.460
Robust  acc: 11619 / 14474 =  80.275
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5924 /  8535 =  69.408
0, 1  acc:  7152 /  8276 =  86.419
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16112 / 19867 =  81.099
Robust  acc:  5924 /  8535 =  69.408
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.076
Robust Acc: 74.219 | Best Acc: 99.315
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  7249 /  9767 =  74.219
0, 1  acc:  6505 /  7535 =  86.330
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16384 / 19962 =  82.076
Robust  acc:  7249 /  9767 =  74.219
------------------------------------
Accuracies by groups:
0, 0  acc:  7249 /  9767 =  74.219
0, 1  acc:  6505 /  7535 =  86.330
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16384 / 19962 =  82.076
Robust  acc:  7249 /  9767 =  74.219
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7249 /  9767 =  74.219
0, 1  acc:  6505 /  7535 =  86.330
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16384 / 19962 =  82.076
Robust  acc:  7249 /  9767 =  74.219
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.936 | Val Loss: 0.003 | Val Acc: 85.101
Training:
Accuracies by groups:
0, 0  acc: 11087 / 14412 =  76.929
0, 1  acc:  5717 /  6381 =  89.594
1, 0  acc: 132480 / 133262 =  99.413
1, 1  acc:  8499 /  8715 =  97.522
--------------------------------------
Average acc: 157783 / 162770 =  96.936
Robust  acc: 11087 / 14412 =  76.929
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6407 /  8535 =  75.067
0, 1  acc:  7478 /  8276 =  90.358
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 16907 / 19867 =  85.101
Robust  acc:  6407 /  8535 =  75.067
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.194
Robust Acc: 79.820 | Best Acc: 98.952
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  7796 /  9767 =  79.820
0, 1  acc:  6794 /  7535 =  90.166
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17206 / 19962 =  86.194
Robust  acc:  7796 /  9767 =  79.820
------------------------------------
Accuracies by groups:
0, 0  acc:  7796 /  9767 =  79.820
0, 1  acc:  6794 /  7535 =  90.166
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17206 / 19962 =  86.194
Robust  acc:  7796 /  9767 =  79.820
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7796 /  9767 =  79.820
0, 1  acc:  6794 /  7535 =  90.166
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17206 / 19962 =  86.194
Robust  acc:  7796 /  9767 =  79.820
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.485 | Val Loss: 0.002 | Val Acc: 89.686
Training:
Accuracies by groups:
0, 0  acc: 10891 / 14572 =  74.739
0, 1  acc:  5753 /  6561 =  87.685
1, 0  acc: 132219 / 133133 =  99.313
1, 1  acc:  8185 /  8504 =  96.249
--------------------------------------
Average acc: 157048 / 162770 =  96.485
Robust  acc: 10891 / 14572 =  74.739
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7141 /  8535 =  83.667
0, 1  acc:  7691 /  8276 =  92.931
1, 0  acc:  2816 /  2874 =  97.982
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17818 / 19867 =  89.686
Robust  acc:  7141 /  8535 =  83.667
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.562
Robust Acc: 86.111 | Best Acc: 97.460
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  7025 /  7535 =  93.232
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18078 / 19962 =  90.562
Robust  acc:   155 /   180 =  86.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  7025 /  7535 =  93.232
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18078 / 19962 =  90.562
Robust  acc:   155 /   180 =  86.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  7025 /  7535 =  93.232
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18078 / 19962 =  90.562
Robust  acc:   155 /   180 =  86.111
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.903 | Val Loss: 0.003 | Val Acc: 86.123
Training:
Accuracies by groups:
0, 0  acc: 10262 / 14386 =  71.333
0, 1  acc:  5643 /  6602 =  85.474
1, 0  acc: 131945 / 133108 =  99.126
1, 1  acc:  8252 /  8674 =  95.135
--------------------------------------
Average acc: 156102 / 162770 =  95.903
Robust  acc: 10262 / 14386 =  71.333
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6612 /  8535 =  77.469
0, 1  acc:  7483 /  8276 =  90.418
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17110 / 19867 =  86.123
Robust  acc:  6612 /  8535 =  77.469
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.151
Robust Acc: 81.427 | Best Acc: 98.750
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  7953 /  9767 =  81.427
0, 1  acc:  6835 /  7535 =  90.710
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17397 / 19962 =  87.151
Robust  acc:  7953 /  9767 =  81.427
------------------------------------
Accuracies by groups:
0, 0  acc:  7953 /  9767 =  81.427
0, 1  acc:  6835 /  7535 =  90.710
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17397 / 19962 =  87.151
Robust  acc:  7953 /  9767 =  81.427
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7953 /  9767 =  81.427
0, 1  acc:  6835 /  7535 =  90.710
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17397 / 19962 =  87.151
Robust  acc:  7953 /  9767 =  81.427
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.512 | Val Loss: 0.005 | Val Acc: 76.876
Training:
Accuracies by groups:
0, 0  acc: 10076 / 14536 =  69.318
0, 1  acc:  5536 /  6639 =  83.386
1, 0  acc: 131844 / 133122 =  99.040
1, 1  acc:  8009 /  8473 =  94.524
--------------------------------------
Average acc: 155465 / 162770 =  95.512
Robust  acc: 10076 / 14536 =  69.318
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5823 /  8535 =  68.225
0, 1  acc:  6407 /  8276 =  77.417
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 15273 / 19867 =  76.876
Robust  acc:  5823 /  8535 =  68.225
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 78.649
Robust Acc: 74.055 | Best Acc: 99.435
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  7233 /  9767 =  74.055
0, 1  acc:  5827 /  7535 =  77.332
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15700 / 19962 =  78.649
Robust  acc:  7233 /  9767 =  74.055
------------------------------------
Accuracies by groups:
0, 0  acc:  7233 /  9767 =  74.055
0, 1  acc:  5827 /  7535 =  77.332
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15700 / 19962 =  78.649
Robust  acc:  7233 /  9767 =  74.055
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7233 /  9767 =  74.055
0, 1  acc:  5827 /  7535 =  77.332
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15700 / 19962 =  78.649
Robust  acc:  7233 /  9767 =  74.055
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.279 | Val Loss: 0.009 | Val Acc: 42.165
Training:
Accuracies by groups:
0, 0  acc:  9732 / 14423 =  67.476
0, 1  acc:  5393 /  6580 =  81.960
1, 0  acc: 131908 / 133254 =  98.990
1, 1  acc:  8052 /  8513 =  94.585
--------------------------------------
Average acc: 155085 / 162770 =  95.279
Robust  acc:  9732 / 14423 =  67.476
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2502 /  8535 =  29.315
0, 1  acc:  2820 /  8276 =  34.074
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  8377 / 19867 =  42.165
Robust  acc:  2502 /  8535 =  29.315
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 43.097
Robust Acc: 33.941 | Best Acc: 100.000
--------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  3315 /  9767 =  33.941
0, 1  acc:  2629 /  7535 =  34.891
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  8603 / 19962 =  43.097
Robust  acc:  3315 /  9767 =  33.941
------------------------------------
Accuracies by groups:
0, 0  acc:  3315 /  9767 =  33.941
0, 1  acc:  2629 /  7535 =  34.891
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  8603 / 19962 =  43.097
Robust  acc:  3315 /  9767 =  33.941
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3315 /  9767 =  33.941
0, 1  acc:  2629 /  7535 =  34.891
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  8603 / 19962 =  43.097
Robust  acc:  3315 /  9767 =  33.941
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.005 | Val Loss: 0.002 | Val Acc: 91.604
Training:
Accuracies by groups:
0, 0  acc:  9614 / 14487 =  66.363
0, 1  acc:  5183 /  6577 =  78.805
1, 0  acc: 131696 / 133076 =  98.963
1, 1  acc:  8146 /  8630 =  94.392
--------------------------------------
Average acc: 154639 / 162770 =  95.005
Robust  acc:  9614 / 14487 =  66.363
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7440 /  8535 =  87.170
0, 1  acc:  7835 /  8276 =  94.671
1, 0  acc:  2767 /  2874 =  96.277
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 18199 / 19867 =  91.604
Robust  acc:   157 /   182 =  86.264
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.471
Robust Acc: 82.222 | Best Acc: 95.282
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  8795 /  9767 =  90.048
0, 1  acc:  7153 /  7535 =  94.930
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18459 / 19962 =  92.471
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8795 /  9767 =  90.048
0, 1  acc:  7153 /  7535 =  94.930
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18459 / 19962 =  92.471
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8795 /  9767 =  90.048
0, 1  acc:  7153 /  7535 =  94.930
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18459 / 19962 =  92.471
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 94.911 | Val Loss: 0.004 | Val Acc: 80.163
Training:
Accuracies by groups:
0, 0  acc:  9337 / 14444 =  64.643
0, 1  acc:  5031 /  6497 =  77.436
1, 0  acc: 131853 / 133144 =  99.030
1, 1  acc:  8266 /  8685 =  95.176
--------------------------------------
Average acc: 154487 / 162770 =  94.911
Robust  acc:  9337 / 14444 =  64.643
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6246 /  8535 =  73.181
0, 1  acc:  6664 /  8276 =  80.522
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15926 / 19867 =  80.163
Robust  acc:  6246 /  8535 =  73.181
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.851
Robust Acc: 78.612 | Best Acc: 98.589
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  7678 /  9767 =  78.612
0, 1  acc:  6044 /  7535 =  80.212
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16339 / 19962 =  81.851
Robust  acc:  7678 /  9767 =  78.612
------------------------------------
Accuracies by groups:
0, 0  acc:  7678 /  9767 =  78.612
0, 1  acc:  6044 /  7535 =  80.212
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16339 / 19962 =  81.851
Robust  acc:  7678 /  9767 =  78.612
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7678 /  9767 =  78.612
0, 1  acc:  6044 /  7535 =  80.212
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16339 / 19962 =  81.851
Robust  acc:  7678 /  9767 =  78.612
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.761 | Val Loss: 0.007 | Val Acc: 61.121
Training:
Accuracies by groups:
0, 0  acc:  9438 / 14625 =  64.533
0, 1  acc:  5014 /  6670 =  75.172
1, 0  acc: 131454 / 132726 =  99.042
1, 1  acc:  8337 /  8749 =  95.291
--------------------------------------
Average acc: 154243 / 162770 =  94.761
Robust  acc:  9438 / 14625 =  64.533
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4479 /  8535 =  52.478
0, 1  acc:  4614 /  8276 =  55.752
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12143 / 19867 =  61.121
Robust  acc:  4479 /  8535 =  52.478
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 62.910
Robust Acc: 55.342 | Best Acc: 99.798
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  5735 /  9767 =  58.718
0, 1  acc:  4170 /  7535 =  55.342
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12558 / 19962 =  62.910
Robust  acc:  4170 /  7535 =  55.342
------------------------------------
Accuracies by groups:
0, 0  acc:  5735 /  9767 =  58.718
0, 1  acc:  4170 /  7535 =  55.342
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12558 / 19962 =  62.910
Robust  acc:  4170 /  7535 =  55.342
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5735 /  9767 =  58.718
0, 1  acc:  4170 /  7535 =  55.342
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12558 / 19962 =  62.910
Robust  acc:  4170 /  7535 =  55.342
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.569 | Val Loss: 0.005 | Val Acc: 76.710
Training:
Accuracies by groups:
0, 0  acc:  9038 / 14469 =  62.465
0, 1  acc:  4829 /  6584 =  73.344
1, 0  acc: 131803 / 133090 =  99.033
1, 1  acc:  8260 /  8627 =  95.746
--------------------------------------
Average acc: 153930 / 162770 =  94.569
Robust  acc:  9038 / 14469 =  62.465
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5897 /  8535 =  69.092
0, 1  acc:  6310 /  8276 =  76.245
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15240 / 19867 =  76.710
Robust  acc:  5897 /  8535 =  69.092
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.725
Robust Acc: 74.905 | Best Acc: 99.113
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  7316 /  9767 =  74.905
0, 1  acc:  5766 /  7535 =  76.523
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15715 / 19962 =  78.725
Robust  acc:  7316 /  9767 =  74.905
------------------------------------
Accuracies by groups:
0, 0  acc:  7316 /  9767 =  74.905
0, 1  acc:  5766 /  7535 =  76.523
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15715 / 19962 =  78.725
Robust  acc:  7316 /  9767 =  74.905
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7316 /  9767 =  74.905
0, 1  acc:  5766 /  7535 =  76.523
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15715 / 19962 =  78.725
Robust  acc:  7316 /  9767 =  74.905
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.497 | Val Loss: 0.004 | Val Acc: 84.049
Training:
Accuracies by groups:
0, 0  acc:  9024 / 14481 =  62.316
0, 1  acc:  4708 /  6589 =  71.452
1, 0  acc: 131864 / 133079 =  99.087
1, 1  acc:  8217 /  8621 =  95.314
--------------------------------------
Average acc: 153813 / 162770 =  94.497
Robust  acc:  9024 / 14481 =  62.316
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6649 /  8535 =  77.903
0, 1  acc:  7045 /  8276 =  85.126
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16698 / 19867 =  84.049
Robust  acc:  6649 /  8535 =  77.903
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.512
Robust Acc: 82.042 | Best Acc: 97.984
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  8013 /  9767 =  82.042
0, 1  acc:  6462 /  7535 =  85.760
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17070 / 19962 =  85.512
Robust  acc:  8013 /  9767 =  82.042
------------------------------------
Accuracies by groups:
0, 0  acc:  8013 /  9767 =  82.042
0, 1  acc:  6462 /  7535 =  85.760
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17070 / 19962 =  85.512
Robust  acc:  8013 /  9767 =  82.042
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8013 /  9767 =  82.042
0, 1  acc:  6462 /  7535 =  85.760
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17070 / 19962 =  85.512
Robust  acc:  8013 /  9767 =  82.042
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.494 | Val Loss: 0.004 | Val Acc: 83.254
Training:
Accuracies by groups:
0, 0  acc:  8900 / 14402 =  61.797
0, 1  acc:  4825 /  6680 =  72.231
1, 0  acc: 131953 / 133174 =  99.083
1, 1  acc:  8130 /  8514 =  95.490
--------------------------------------
Average acc: 153808 / 162770 =  94.494
Robust  acc:  8900 / 14402 =  61.797
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6623 /  8535 =  77.598
0, 1  acc:  6968 /  8276 =  84.195
1, 0  acc:  2784 /  2874 =  96.868
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 16540 / 19867 =  83.254
Robust  acc:  6623 /  8535 =  77.598
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.866
Robust Acc: 82.513 | Best Acc: 95.605
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8059 /  9767 =  82.513
0, 1  acc:  6350 /  7535 =  84.273
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 16941 / 19962 =  84.866
Robust  acc:  8059 /  9767 =  82.513
------------------------------------
Accuracies by groups:
0, 0  acc:  8059 /  9767 =  82.513
0, 1  acc:  6350 /  7535 =  84.273
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 16941 / 19962 =  84.866
Robust  acc:  8059 /  9767 =  82.513
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8059 /  9767 =  82.513
0, 1  acc:  6350 /  7535 =  84.273
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 16941 / 19962 =  84.866
Robust  acc:  8059 /  9767 =  82.513
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.330 | Val Loss: 0.007 | Val Acc: 57.241
Training:
Accuracies by groups:
0, 0  acc:  8661 / 14419 =  60.067
0, 1  acc:  4754 /  6667 =  71.306
1, 0  acc: 131845 / 132990 =  99.139
1, 1  acc:  8281 /  8694 =  95.250
--------------------------------------
Average acc: 153541 / 162770 =  94.330
Robust  acc:  8661 / 14419 =  60.067
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4125 /  8535 =  48.330
0, 1  acc:  4199 /  8276 =  50.737
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11372 / 19867 =  57.241
Robust  acc:  4125 /  8535 =  48.330
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 58.732
Robust Acc: 50.498 | Best Acc: 99.758
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  5267 /  9767 =  53.926
0, 1  acc:  3805 /  7535 =  50.498
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11724 / 19962 =  58.732
Robust  acc:  3805 /  7535 =  50.498
------------------------------------
Accuracies by groups:
0, 0  acc:  5267 /  9767 =  53.926
0, 1  acc:  3805 /  7535 =  50.498
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11724 / 19962 =  58.732
Robust  acc:  3805 /  7535 =  50.498
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5267 /  9767 =  53.926
0, 1  acc:  3805 /  7535 =  50.498
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11724 / 19962 =  58.732
Robust  acc:  3805 /  7535 =  50.498
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.256 | Val Loss: 0.004 | Val Acc: 80.848
Training:
Accuracies by groups:
0, 0  acc:  8662 / 14567 =  59.463
0, 1  acc:  4536 /  6519 =  69.581
1, 0  acc: 131937 / 133051 =  99.163
1, 1  acc:  8285 /  8633 =  95.969
--------------------------------------
Average acc: 153420 / 162770 =  94.256
Robust  acc:  8662 / 14567 =  59.463
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6211 /  8535 =  72.771
0, 1  acc:  6839 /  8276 =  82.637
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16062 / 19867 =  80.848
Robust  acc:  6211 /  8535 =  72.771
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.326
Robust Acc: 77.608 | Best Acc: 98.548
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  7580 /  9767 =  77.608
0, 1  acc:  6241 /  7535 =  82.827
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16434 / 19962 =  82.326
Robust  acc:  7580 /  9767 =  77.608
------------------------------------
Accuracies by groups:
0, 0  acc:  7580 /  9767 =  77.608
0, 1  acc:  6241 /  7535 =  82.827
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16434 / 19962 =  82.326
Robust  acc:  7580 /  9767 =  77.608
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7580 /  9767 =  77.608
0, 1  acc:  6241 /  7535 =  82.827
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16434 / 19962 =  82.326
Robust  acc:  7580 /  9767 =  77.608
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.103 | Val Loss: 0.003 | Val Acc: 91.614
Training:
Accuracies by groups:
0, 0  acc:  8589 / 14691 =  58.464
0, 1  acc:  4441 /  6589 =  67.400
1, 0  acc: 131789 / 132808 =  99.233
1, 1  acc:  8352 /  8682 =  96.199
--------------------------------------
Average acc: 153171 / 162770 =  94.103
Robust  acc:  8589 / 14691 =  58.464
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7676 /  8535 =  89.936
0, 1  acc:  7794 /  8276 =  94.176
1, 0  acc:  2589 /  2874 =  90.084
1, 1  acc:   142 /   182 =  78.022
------------------------------------
Average acc: 18201 / 19867 =  91.614
Robust  acc:   142 /   182 =  78.022
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.551
Robust Acc: 74.444 | Best Acc: 94.121
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  9028 /  9767 =  92.434
0, 1  acc:  7092 /  7535 =  94.121
1, 0  acc:  2221 /  2480 =  89.556
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18475 / 19962 =  92.551
Robust  acc:   134 /   180 =  74.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9028 /  9767 =  92.434
0, 1  acc:  7092 /  7535 =  94.121
1, 0  acc:  2221 /  2480 =  89.556
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18475 / 19962 =  92.551
Robust  acc:   134 /   180 =  74.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9028 /  9767 =  92.434
0, 1  acc:  7092 /  7535 =  94.121
1, 0  acc:  2221 /  2480 =  89.556
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18475 / 19962 =  92.551
Robust  acc:   134 /   180 =  74.444
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.136 | Val Loss: 0.005 | Val Acc: 76.499
Training:
Accuracies by groups:
0, 0  acc:  8141 / 14312 =  56.882
0, 1  acc:  4385 /  6507 =  67.389
1, 0  acc: 132320 / 133271 =  99.286
1, 1  acc:  8379 /  8680 =  96.532
--------------------------------------
Average acc: 153225 / 162770 =  94.136
Robust  acc:  8141 / 14312 =  56.882
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5937 /  8535 =  69.561
0, 1  acc:  6234 /  8276 =  75.326
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15198 / 19867 =  76.499
Robust  acc:  5937 /  8535 =  69.561
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.669
Robust Acc: 75.161 | Best Acc: 98.911
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  7341 /  9767 =  75.161
0, 1  acc:  5737 /  7535 =  76.138
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15704 / 19962 =  78.669
Robust  acc:  7341 /  9767 =  75.161
------------------------------------
Accuracies by groups:
0, 0  acc:  7341 /  9767 =  75.161
0, 1  acc:  5737 /  7535 =  76.138
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15704 / 19962 =  78.669
Robust  acc:  7341 /  9767 =  75.161
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7341 /  9767 =  75.161
0, 1  acc:  5737 /  7535 =  76.138
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15704 / 19962 =  78.669
Robust  acc:  7341 /  9767 =  75.161
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.065 | Val Loss: 0.005 | Val Acc: 81.265
Training:
Accuracies by groups:
0, 0  acc:  8285 / 14521 =  57.055
0, 1  acc:  4233 /  6435 =  65.781
1, 0  acc: 132273 / 133191 =  99.311
1, 1  acc:  8319 /  8623 =  96.475
--------------------------------------
Average acc: 153110 / 162770 =  94.065
Robust  acc:  8285 / 14521 =  57.055
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6302 /  8535 =  73.837
0, 1  acc:  6827 /  8276 =  82.492
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16145 / 19867 =  81.265
Robust  acc:  6302 /  8535 =  73.837
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.852
Robust Acc: 78.376 | Best Acc: 98.468
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7655 /  9767 =  78.376
0, 1  acc:  6277 /  7535 =  83.305
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16539 / 19962 =  82.852
Robust  acc:  7655 /  9767 =  78.376
------------------------------------
Accuracies by groups:
0, 0  acc:  7655 /  9767 =  78.376
0, 1  acc:  6277 /  7535 =  83.305
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16539 / 19962 =  82.852
Robust  acc:  7655 /  9767 =  78.376
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7655 /  9767 =  78.376
0, 1  acc:  6277 /  7535 =  83.305
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16539 / 19962 =  82.852
Robust  acc:  7655 /  9767 =  78.376
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.979 | Val Loss: 0.005 | Val Acc: 71.964
Training:
Accuracies by groups:
0, 0  acc:  8231 / 14477 =  56.856
0, 1  acc:  4182 /  6492 =  64.418
1, 0  acc: 132137 / 133068 =  99.300
1, 1  acc:  8419 /  8733 =  96.404
--------------------------------------
Average acc: 152969 / 162770 =  93.979
Robust  acc:  8231 / 14477 =  56.856
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5343 /  8535 =  62.601
0, 1  acc:  5914 /  8276 =  71.460
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14297 / 19867 =  71.964
Robust  acc:  5343 /  8535 =  62.601
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.276
Robust Acc: 69.131 | Best Acc: 99.355
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  6752 /  9767 =  69.131
0, 1  acc:  5436 /  7535 =  72.143
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14827 / 19962 =  74.276
Robust  acc:  6752 /  9767 =  69.131
------------------------------------
Accuracies by groups:
0, 0  acc:  6752 /  9767 =  69.131
0, 1  acc:  5436 /  7535 =  72.143
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14827 / 19962 =  74.276
Robust  acc:  6752 /  9767 =  69.131
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6752 /  9767 =  69.131
0, 1  acc:  5436 /  7535 =  72.143
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14827 / 19962 =  74.276
Robust  acc:  6752 /  9767 =  69.131
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 94.028 | Val Loss: 0.006 | Val Acc: 60.689
Training:
Accuracies by groups:
0, 0  acc:  8253 / 14577 =  56.617
0, 1  acc:  4289 /  6500 =  65.985
1, 0  acc: 132252 / 133135 =  99.337
1, 1  acc:  8256 /  8558 =  96.471
--------------------------------------
Average acc: 153050 / 162770 =  94.028
Robust  acc:  8253 / 14577 =  56.617
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3965 /  8535 =  46.456
0, 1  acc:  5042 /  8276 =  60.923
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12057 / 19867 =  60.689
Robust  acc:  3965 /  8535 =  46.456
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 61.672
Robust Acc: 52.278 | Best Acc: 99.879
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  5106 /  9767 =  52.278
0, 1  acc:  4551 /  7535 =  60.398
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12311 / 19962 =  61.672
Robust  acc:  5106 /  9767 =  52.278
------------------------------------
Accuracies by groups:
0, 0  acc:  5106 /  9767 =  52.278
0, 1  acc:  4551 /  7535 =  60.398
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12311 / 19962 =  61.672
Robust  acc:  5106 /  9767 =  52.278
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5106 /  9767 =  52.278
0, 1  acc:  4551 /  7535 =  60.398
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12311 / 19962 =  61.672
Robust  acc:  5106 /  9767 =  52.278
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.971 | Val Loss: 0.005 | Val Acc: 77.425
Training:
Accuracies by groups:
0, 0  acc:  8177 / 14525 =  56.296
0, 1  acc:  4218 /  6521 =  64.683
1, 0  acc: 132428 / 133313 =  99.336
1, 1  acc:  8134 /  8411 =  96.707
--------------------------------------
Average acc: 152957 / 162770 =  93.971
Robust  acc:  8177 / 14525 =  56.296
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6033 /  8535 =  70.685
0, 1  acc:  6325 /  8276 =  76.426
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15382 / 19867 =  77.425
Robust  acc:  6033 /  8535 =  70.685
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.526
Robust Acc: 75.919 | Best Acc: 99.113
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7415 /  9767 =  75.919
0, 1  acc:  5828 /  7535 =  77.346
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15875 / 19962 =  79.526
Robust  acc:  7415 /  9767 =  75.919
------------------------------------
Accuracies by groups:
0, 0  acc:  7415 /  9767 =  75.919
0, 1  acc:  5828 /  7535 =  77.346
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15875 / 19962 =  79.526
Robust  acc:  7415 /  9767 =  75.919
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7415 /  9767 =  75.919
0, 1  acc:  5828 /  7535 =  77.346
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15875 / 19962 =  79.526
Robust  acc:  7415 /  9767 =  75.919
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.942 | Val Loss: 0.005 | Val Acc: 74.319
Training:
Accuracies by groups:
0, 0  acc:  8190 / 14525 =  56.386
0, 1  acc:  4184 /  6522 =  64.152
1, 0  acc: 132164 / 133058 =  99.328
1, 1  acc:  8372 /  8665 =  96.619
--------------------------------------
Average acc: 152910 / 162770 =  93.942
Robust  acc:  8190 / 14525 =  56.386
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5712 /  8535 =  66.924
0, 1  acc:  6019 /  8276 =  72.728
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 14765 / 19867 =  74.319
Robust  acc:  5712 /  8535 =  66.924
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.984
Robust Acc: 72.395 | Best Acc: 99.355
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7075 /  9767 =  72.438
0, 1  acc:  5455 /  7535 =  72.395
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15168 / 19962 =  75.984
Robust  acc:  5455 /  7535 =  72.395
------------------------------------
Accuracies by groups:
0, 0  acc:  7075 /  9767 =  72.438
0, 1  acc:  5455 /  7535 =  72.395
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15168 / 19962 =  75.984
Robust  acc:  5455 /  7535 =  72.395
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7075 /  9767 =  72.438
0, 1  acc:  5455 /  7535 =  72.395
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15168 / 19962 =  75.984
Robust  acc:  5455 /  7535 =  72.395
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.979 | Val Loss: 0.008 | Val Acc: 50.763
Training:
Accuracies by groups:
0, 0  acc:  8184 / 14489 =  56.484
0, 1  acc:  4253 /  6573 =  64.704
1, 0  acc: 132180 / 133074 =  99.328
1, 1  acc:  8353 /  8634 =  96.745
--------------------------------------
Average acc: 152970 / 162770 =  93.979
Robust  acc:  8184 / 14489 =  56.484
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3586 /  8535 =  42.015
0, 1  acc:  3448 /  8276 =  41.663
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10085 / 19867 =  50.763
Robust  acc:  3448 /  8276 =  41.663
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 51.478
Robust Acc: 41.181 | Best Acc: 99.839
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  4520 /  9767 =  46.278
0, 1  acc:  3103 /  7535 =  41.181
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 10276 / 19962 =  51.478
Robust  acc:  3103 /  7535 =  41.181
------------------------------------
Accuracies by groups:
0, 0  acc:  4520 /  9767 =  46.278
0, 1  acc:  3103 /  7535 =  41.181
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 10276 / 19962 =  51.478
Robust  acc:  3103 /  7535 =  41.181
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4520 /  9767 =  46.278
0, 1  acc:  3103 /  7535 =  41.181
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 10276 / 19962 =  51.478
Robust  acc:  3103 /  7535 =  41.181
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.011 | Val Loss: 0.004 | Val Acc: 82.000
Training:
Accuracies by groups:
0, 0  acc:  8307 / 14492 =  57.321
0, 1  acc:  4255 /  6597 =  64.499
1, 0  acc: 132169 / 133089 =  99.309
1, 1  acc:  8291 /  8592 =  96.497
--------------------------------------
Average acc: 153022 / 162770 =  94.011
Robust  acc:  8307 / 14492 =  57.321
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6533 /  8535 =  76.544
0, 1  acc:  6762 /  8276 =  81.706
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16291 / 19867 =  82.000
Robust  acc:  6533 /  8535 =  76.544
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.709
Robust Acc: 81.182 | Best Acc: 98.185
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  7929 /  9767 =  81.182
0, 1  acc:  6179 /  7535 =  82.004
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16710 / 19962 =  83.709
Robust  acc:  7929 /  9767 =  81.182
------------------------------------
Accuracies by groups:
0, 0  acc:  7929 /  9767 =  81.182
0, 1  acc:  6179 /  7535 =  82.004
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16710 / 19962 =  83.709
Robust  acc:  7929 /  9767 =  81.182
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7929 /  9767 =  81.182
0, 1  acc:  6179 /  7535 =  82.004
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16710 / 19962 =  83.709
Robust  acc:  7929 /  9767 =  81.182
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.085 | Val Loss: 0.004 | Val Acc: 83.757
Training:
Accuracies by groups:
0, 0  acc:  8156 / 14320 =  56.955
0, 1  acc:  4250 /  6535 =  65.034
1, 0  acc: 132538 / 133409 =  99.347
1, 1  acc:  8198 /  8506 =  96.379
--------------------------------------
Average acc: 153142 / 162770 =  94.085
Robust  acc:  8156 / 14320 =  56.955
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6616 /  8535 =  77.516
0, 1  acc:  7026 /  8276 =  84.896
1, 0  acc:  2829 /  2874 =  98.434
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 16640 / 19867 =  83.757
Robust  acc:  6616 /  8535 =  77.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.976
Robust Acc: 81.437 | Best Acc: 98.065
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  7954 /  9767 =  81.437
0, 1  acc:  6414 /  7535 =  85.123
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16963 / 19962 =  84.976
Robust  acc:  7954 /  9767 =  81.437
------------------------------------
Accuracies by groups:
0, 0  acc:  7954 /  9767 =  81.437
0, 1  acc:  6414 /  7535 =  85.123
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16963 / 19962 =  84.976
Robust  acc:  7954 /  9767 =  81.437
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7954 /  9767 =  81.437
0, 1  acc:  6414 /  7535 =  85.123
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16963 / 19962 =  84.976
Robust  acc:  7954 /  9767 =  81.437
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.012 | Val Loss: 0.006 | Val Acc: 68.631
Training:
Accuracies by groups:
0, 0  acc:  8313 / 14607 =  56.911
0, 1  acc:  4197 /  6433 =  65.242
1, 0  acc: 132315 / 133253 =  99.296
1, 1  acc:  8198 /  8477 =  96.709
--------------------------------------
Average acc: 153023 / 162770 =  94.012
Robust  acc:  8313 / 14607 =  56.911
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5070 /  8535 =  59.402
0, 1  acc:  5526 /  8276 =  66.771
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13635 / 19867 =  68.631
Robust  acc:  5070 /  8535 =  59.402
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.813
Robust Acc: 64.482 | Best Acc: 99.435
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  6298 /  9767 =  64.482
0, 1  acc:  4995 /  7535 =  66.291
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13936 / 19962 =  69.813
Robust  acc:  6298 /  9767 =  64.482
------------------------------------
Accuracies by groups:
0, 0  acc:  6298 /  9767 =  64.482
0, 1  acc:  4995 /  7535 =  66.291
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13936 / 19962 =  69.813
Robust  acc:  6298 /  9767 =  64.482
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6298 /  9767 =  64.482
0, 1  acc:  4995 /  7535 =  66.291
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13936 / 19962 =  69.813
Robust  acc:  6298 /  9767 =  64.482
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.113 | Val Loss: 0.006 | Val Acc: 62.496
Training:
Accuracies by groups:
0, 0  acc:  8398 / 14532 =  57.790
0, 1  acc:  4403 /  6610 =  66.611
1, 0  acc: 132064 / 133007 =  99.291
1, 1  acc:  8322 /  8621 =  96.532
--------------------------------------
Average acc: 153187 / 162770 =  94.113
Robust  acc:  8398 / 14532 =  57.790
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4256 /  8535 =  49.865
0, 1  acc:  5108 /  8276 =  61.721
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12416 / 19867 =  62.496
Robust  acc:  4256 /  8535 =  49.865
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 64.172
Robust Acc: 56.005 | Best Acc: 99.798
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  5470 /  9767 =  56.005
0, 1  acc:  4690 /  7535 =  62.243
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 12810 / 19962 =  64.172
Robust  acc:  5470 /  9767 =  56.005
------------------------------------
Accuracies by groups:
0, 0  acc:  5470 /  9767 =  56.005
0, 1  acc:  4690 /  7535 =  62.243
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 12810 / 19962 =  64.172
Robust  acc:  5470 /  9767 =  56.005
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5470 /  9767 =  56.005
0, 1  acc:  4690 /  7535 =  62.243
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 12810 / 19962 =  64.172
Robust  acc:  5470 /  9767 =  56.005
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.205 | Val Loss: 0.006 | Val Acc: 70.152
Training:
Accuracies by groups:
0, 0  acc:  8457 / 14439 =  58.571
0, 1  acc:  4360 /  6548 =  66.585
1, 0  acc: 132117 / 133093 =  99.267
1, 1  acc:  8403 /  8690 =  96.697
--------------------------------------
Average acc: 153337 / 162770 =  94.205
Robust  acc:  8457 / 14439 =  58.571
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4991 /  8535 =  58.477
0, 1  acc:  5908 /  8276 =  71.387
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13937 / 19867 =  70.152
Robust  acc:  4991 /  8535 =  58.477
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 71.571
Robust Acc: 63.735 | Best Acc: 99.395
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  6225 /  9767 =  63.735
0, 1  acc:  5423 /  7535 =  71.971
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14287 / 19962 =  71.571
Robust  acc:  6225 /  9767 =  63.735
------------------------------------
Accuracies by groups:
0, 0  acc:  6225 /  9767 =  63.735
0, 1  acc:  5423 /  7535 =  71.971
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14287 / 19962 =  71.571
Robust  acc:  6225 /  9767 =  63.735
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6225 /  9767 =  63.735
0, 1  acc:  5423 /  7535 =  71.971
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14287 / 19962 =  71.571
Robust  acc:  6225 /  9767 =  63.735
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.068 | Val Loss: 0.005 | Val Acc: 78.749
Training:
Accuracies by groups:
0, 0  acc:  8476 / 14575 =  58.154
0, 1  acc:  4330 /  6533 =  66.279
1, 0  acc: 131786 / 132811 =  99.228
1, 1  acc:  8523 /  8851 =  96.294
--------------------------------------
Average acc: 153115 / 162770 =  94.068
Robust  acc:  8476 / 14575 =  58.154
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6253 /  8535 =  73.263
0, 1  acc:  6377 /  8276 =  77.054
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 15645 / 19867 =  78.749
Robust  acc:  6253 /  8535 =  73.263
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 80.468
Robust Acc: 77.266 | Best Acc: 98.347
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  7634 /  9767 =  78.161
0, 1  acc:  5822 /  7535 =  77.266
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16063 / 19962 =  80.468
Robust  acc:  5822 /  7535 =  77.266
------------------------------------
Accuracies by groups:
0, 0  acc:  7634 /  9767 =  78.161
0, 1  acc:  5822 /  7535 =  77.266
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16063 / 19962 =  80.468
Robust  acc:  5822 /  7535 =  77.266
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7634 /  9767 =  78.161
0, 1  acc:  5822 /  7535 =  77.266
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16063 / 19962 =  80.468
Robust  acc:  5822 /  7535 =  77.266
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.151 | Val Loss: 0.004 | Val Acc: 80.923
Training:
Accuracies by groups:
0, 0  acc:  8462 / 14432 =  58.634
0, 1  acc:  4305 /  6527 =  65.957
1, 0  acc: 132189 / 133217 =  99.228
1, 1  acc:  8294 /  8594 =  96.509
--------------------------------------
Average acc: 153250 / 162770 =  94.151
Robust  acc:  8462 / 14432 =  58.634
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6195 /  8535 =  72.583
0, 1  acc:  6867 /  8276 =  82.975
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16077 / 19867 =  80.923
Robust  acc:  6195 /  8535 =  72.583
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.181
Robust Acc: 77.383 | Best Acc: 97.944
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  7558 /  9767 =  77.383
0, 1  acc:  6252 /  7535 =  82.973
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16405 / 19962 =  82.181
Robust  acc:  7558 /  9767 =  77.383
------------------------------------
Accuracies by groups:
0, 0  acc:  7558 /  9767 =  77.383
0, 1  acc:  6252 /  7535 =  82.973
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16405 / 19962 =  82.181
Robust  acc:  7558 /  9767 =  77.383
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7558 /  9767 =  77.383
0, 1  acc:  6252 /  7535 =  82.973
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16405 / 19962 =  82.181
Robust  acc:  7558 /  9767 =  77.383
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.206 | Val Loss: 0.004 | Val Acc: 85.836
Training:
Accuracies by groups:
0, 0  acc:  8610 / 14621 =  58.888
0, 1  acc:  4384 /  6505 =  67.394
1, 0  acc: 131907 / 132913 =  99.243
1, 1  acc:  8438 /  8731 =  96.644
--------------------------------------
Average acc: 153339 / 162770 =  94.206
Robust  acc:  8610 / 14621 =  58.888
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7010 /  8535 =  82.132
0, 1  acc:  7112 /  8276 =  85.935
1, 0  acc:  2766 /  2874 =  96.242
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17053 / 19867 =  85.836
Robust  acc:  7010 /  8535 =  82.132
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 87.111
Robust Acc: 85.547 | Best Acc: 95.766
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  8404 /  9767 =  86.045
0, 1  acc:  6446 /  7535 =  85.547
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17389 / 19962 =  87.111
Robust  acc:  6446 /  7535 =  85.547
------------------------------------
Accuracies by groups:
0, 0  acc:  8404 /  9767 =  86.045
0, 1  acc:  6446 /  7535 =  85.547
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17389 / 19962 =  87.111
Robust  acc:  6446 /  7535 =  85.547
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8404 /  9767 =  86.045
0, 1  acc:  6446 /  7535 =  85.547
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17389 / 19962 =  87.111
Robust  acc:  6446 /  7535 =  85.547
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.225 | Val Loss: 0.005 | Val Acc: 80.057
Training:
Accuracies by groups:
0, 0  acc:  8310 / 14319 =  58.035
0, 1  acc:  4415 /  6508 =  67.840
1, 0  acc: 132140 / 133143 =  99.247
1, 1  acc:  8505 /  8800 =  96.648
--------------------------------------
Average acc: 153370 / 162770 =  94.225
Robust  acc:  8310 / 14319 =  58.035
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6327 /  8535 =  74.130
0, 1  acc:  6570 /  8276 =  79.386
1, 0  acc:  2832 /  2874 =  98.539
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 15905 / 19867 =  80.057
Robust  acc:  6327 /  8535 =  74.130
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 81.730
Robust Acc: 79.031 | Best Acc: 97.823
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  7765 /  9767 =  79.502
0, 1  acc:  5955 /  7535 =  79.031
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16315 / 19962 =  81.730
Robust  acc:  5955 /  7535 =  79.031
------------------------------------
Accuracies by groups:
0, 0  acc:  7765 /  9767 =  79.502
0, 1  acc:  5955 /  7535 =  79.031
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16315 / 19962 =  81.730
Robust  acc:  5955 /  7535 =  79.031
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7765 /  9767 =  79.502
0, 1  acc:  5955 /  7535 =  79.031
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16315 / 19962 =  81.730
Robust  acc:  5955 /  7535 =  79.031
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.268 | Val Loss: 0.007 | Val Acc: 63.668
Training:
Accuracies by groups:
0, 0  acc:  8459 / 14410 =  58.702
0, 1  acc:  4388 /  6460 =  67.926
1, 0  acc: 132360 / 133373 =  99.240
1, 1  acc:  8233 /  8527 =  96.552
--------------------------------------
Average acc: 153440 / 162770 =  94.268
Robust  acc:  8459 / 14410 =  58.702
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4375 /  8535 =  51.260
0, 1  acc:  5224 /  8276 =  63.122
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12649 / 19867 =  63.668
Robust  acc:  4375 /  8535 =  51.260
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 64.888
Robust Acc: 57.336 | Best Acc: 99.758
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  5600 /  9767 =  57.336
0, 1  acc:  4702 /  7535 =  62.402
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12953 / 19962 =  64.888
Robust  acc:  5600 /  9767 =  57.336
------------------------------------
Accuracies by groups:
0, 0  acc:  5600 /  9767 =  57.336
0, 1  acc:  4702 /  7535 =  62.402
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12953 / 19962 =  64.888
Robust  acc:  5600 /  9767 =  57.336
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5600 /  9767 =  57.336
0, 1  acc:  4702 /  7535 =  62.402
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12953 / 19962 =  64.888
Robust  acc:  5600 /  9767 =  57.336
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.229 | Val Loss: 0.006 | Val Acc: 68.480
Training:
Accuracies by groups:
0, 0  acc:  8612 / 14438 =  59.648
0, 1  acc:  4548 /  6718 =  67.699
1, 0  acc: 131837 / 132906 =  99.196
1, 1  acc:  8380 /  8708 =  96.233
--------------------------------------
Average acc: 153377 / 162770 =  94.229
Robust  acc:  8612 / 14438 =  59.648
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4911 /  8535 =  57.540
0, 1  acc:  5650 /  8276 =  68.270
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13605 / 19867 =  68.480
Robust  acc:  4911 /  8535 =  57.540
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.858
Robust Acc: 63.018 | Best Acc: 99.637
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  6155 /  9767 =  63.018
0, 1  acc:  5142 /  7535 =  68.242
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13945 / 19962 =  69.858
Robust  acc:  6155 /  9767 =  63.018
------------------------------------
Accuracies by groups:
0, 0  acc:  6155 /  9767 =  63.018
0, 1  acc:  5142 /  7535 =  68.242
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13945 / 19962 =  69.858
Robust  acc:  6155 /  9767 =  63.018
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6155 /  9767 =  63.018
0, 1  acc:  5142 /  7535 =  68.242
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13945 / 19962 =  69.858
Robust  acc:  6155 /  9767 =  63.018
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.305 | Val Loss: 0.006 | Val Acc: 71.209
Training:
Accuracies by groups:
0, 0  acc:  8636 / 14585 =  59.212
0, 1  acc:  4375 /  6379 =  68.584
1, 0  acc: 132219 / 133238 =  99.235
1, 1  acc:  8271 /  8568 =  96.534
--------------------------------------
Average acc: 153501 / 162770 =  94.305
Robust  acc:  8636 / 14585 =  59.212
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5125 /  8535 =  60.047
0, 1  acc:  5980 /  8276 =  72.257
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14147 / 19867 =  71.209
Robust  acc:  5125 /  8535 =  60.047
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.914
Robust Acc: 66.162 | Best Acc: 99.435
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  6462 /  9767 =  66.162
0, 1  acc:  5453 /  7535 =  72.369
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14555 / 19962 =  72.914
Robust  acc:  6462 /  9767 =  66.162
------------------------------------
Accuracies by groups:
0, 0  acc:  6462 /  9767 =  66.162
0, 1  acc:  5453 /  7535 =  72.369
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14555 / 19962 =  72.914
Robust  acc:  6462 /  9767 =  66.162
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6462 /  9767 =  66.162
0, 1  acc:  5453 /  7535 =  72.369
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14555 / 19962 =  72.914
Robust  acc:  6462 /  9767 =  66.162
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.280 | Val Loss: 0.005 | Val Acc: 75.301
Training:
Accuracies by groups:
0, 0  acc:  8746 / 14592 =  59.937
0, 1  acc:  4461 /  6524 =  68.378
1, 0  acc: 131994 / 133065 =  99.195
1, 1  acc:  8259 /  8589 =  96.158
--------------------------------------
Average acc: 153460 / 162770 =  94.280
Robust  acc:  8746 / 14592 =  59.937
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5792 /  8535 =  67.862
0, 1  acc:  6139 /  8276 =  74.178
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14960 / 19867 =  75.301
Robust  acc:  5792 /  8535 =  67.862
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.756
Robust Acc: 73.298 | Best Acc: 98.911
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  7159 /  9767 =  73.298
0, 1  acc:  5535 /  7535 =  73.457
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15322 / 19962 =  76.756
Robust  acc:  7159 /  9767 =  73.298
------------------------------------
Accuracies by groups:
0, 0  acc:  7159 /  9767 =  73.298
0, 1  acc:  5535 /  7535 =  73.457
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15322 / 19962 =  76.756
Robust  acc:  7159 /  9767 =  73.298
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7159 /  9767 =  73.298
0, 1  acc:  5535 /  7535 =  73.457
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15322 / 19962 =  76.756
Robust  acc:  7159 /  9767 =  73.298
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.261 | Val Loss: 0.004 | Val Acc: 81.442
Training:
Accuracies by groups:
0, 0  acc:  8534 / 14400 =  59.264
0, 1  acc:  4412 /  6447 =  68.435
1, 0  acc: 132278 / 133389 =  99.167
1, 1  acc:  8204 /  8534 =  96.133
--------------------------------------
Average acc: 153428 / 162770 =  94.261
Robust  acc:  8534 / 14400 =  59.264
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6426 /  8535 =  75.290
0, 1  acc:  6737 /  8276 =  81.404
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16180 / 19867 =  81.442
Robust  acc:  6426 /  8535 =  75.290
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.088
Robust Acc: 80.137 | Best Acc: 98.548
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  7827 /  9767 =  80.137
0, 1  acc:  6148 /  7535 =  81.593
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16586 / 19962 =  83.088
Robust  acc:  7827 /  9767 =  80.137
------------------------------------
Accuracies by groups:
0, 0  acc:  7827 /  9767 =  80.137
0, 1  acc:  6148 /  7535 =  81.593
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16586 / 19962 =  83.088
Robust  acc:  7827 /  9767 =  80.137
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7827 /  9767 =  80.137
0, 1  acc:  6148 /  7535 =  81.593
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16586 / 19962 =  83.088
Robust  acc:  7827 /  9767 =  80.137
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.306 | Val Loss: 0.004 | Val Acc: 80.430
Training:
Accuracies by groups:
0, 0  acc:  8701 / 14528 =  59.891
0, 1  acc:  4551 /  6625 =  68.694
1, 0  acc: 132161 / 133214 =  99.210
1, 1  acc:  8089 /  8403 =  96.263
--------------------------------------
Average acc: 153502 / 162770 =  94.306
Robust  acc:  8701 / 14528 =  59.891
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6372 /  8535 =  74.657
0, 1  acc:  6602 /  8276 =  79.773
1, 0  acc:  2829 /  2874 =  98.434
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 15979 / 19867 =  80.430
Robust  acc:  6372 /  8535 =  74.657
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.976
Robust Acc: 79.328 | Best Acc: 98.024
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  7748 /  9767 =  79.328
0, 1  acc:  6015 /  7535 =  79.827
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16364 / 19962 =  81.976
Robust  acc:  7748 /  9767 =  79.328
------------------------------------
Accuracies by groups:
0, 0  acc:  7748 /  9767 =  79.328
0, 1  acc:  6015 /  7535 =  79.827
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16364 / 19962 =  81.976
Robust  acc:  7748 /  9767 =  79.328
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7748 /  9767 =  79.328
0, 1  acc:  6015 /  7535 =  79.827
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16364 / 19962 =  81.976
Robust  acc:  7748 /  9767 =  79.328
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed4.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed4.pt
