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/seed1/stage_one_erm_model_b_epoch0_seed1.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: 21
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=21-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/seed1/stage_one_erm_model_b_epoch0_seed1.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8309, 0.0200],
        [0.1353, 0.0138]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 91.069 | Val Loss: 0.004 | Val Acc: 78.074
Training:
Accuracies by groups:
0, 0  acc:  6335 / 14783 =  42.853
0, 1  acc:  2809 /  6256 =  44.901
1, 0  acc: 130874 / 133110 =  98.320
1, 1  acc:  8215 /  8621 =  95.291
--------------------------------------
Average acc: 148233 / 162770 =  91.069
Robust  acc:  6335 / 14783 =  42.853
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6109 /  8535 =  71.576
0, 1  acc:  6379 /  8276 =  77.078
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 15511 / 19867 =  78.074
Robust  acc:  6109 /  8535 =  71.576
------------------------------------
New max robust acc: 71.5758640890451
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed21.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed21.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 79.997
Robust Acc: 77.107 | Best Acc: 98.790
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7531 /  9767 =  77.107
0, 1  acc:  5815 /  7535 =  77.173
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15969 / 19962 =  79.997
Robust  acc:  7531 /  9767 =  77.107
------------------------------------
Accuracies by groups:
0, 0  acc:  7531 /  9767 =  77.107
0, 1  acc:  5815 /  7535 =  77.173
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15969 / 19962 =  79.997
Robust  acc:  7531 /  9767 =  77.107
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7531 /  9767 =  77.107
0, 1  acc:  5815 /  7535 =  77.173
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15969 / 19962 =  79.997
Robust  acc:  7531 /  9767 =  77.107
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.721 | Val Loss: 0.003 | Val Acc: 83.838
Training:
Accuracies by groups:
0, 0  acc:  9423 / 14492 =  65.022
0, 1  acc:  4530 /  6317 =  71.711
1, 0  acc: 132183 / 133443 =  99.056
1, 1  acc:  8041 /  8518 =  94.400
--------------------------------------
Average acc: 154177 / 162770 =  94.721
Robust  acc:  9423 / 14492 =  65.022
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6502 /  8535 =  76.180
0, 1  acc:  7139 /  8276 =  86.261
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16656 / 19867 =  83.838
Robust  acc:  6502 /  8535 =  76.180
------------------------------------
New max robust acc: 76.18043350908026
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed21.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed21.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.558
Robust Acc: 81.335 | Best Acc: 98.468
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7944 /  9767 =  81.335
0, 1  acc:  6531 /  7535 =  86.676
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17079 / 19962 =  85.558
Robust  acc:  7944 /  9767 =  81.335
------------------------------------
Accuracies by groups:
0, 0  acc:  7944 /  9767 =  81.335
0, 1  acc:  6531 /  7535 =  86.676
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17079 / 19962 =  85.558
Robust  acc:  7944 /  9767 =  81.335
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7944 /  9767 =  81.335
0, 1  acc:  6531 /  7535 =  86.676
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17079 / 19962 =  85.558
Robust  acc:  7944 /  9767 =  81.335
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.406 | Val Loss: 0.002 | Val Acc: 86.656
Training:
Accuracies by groups:
0, 0  acc:  9926 / 14483 =  68.536
0, 1  acc:  4997 /  6325 =  79.004
1, 0  acc: 132102 / 133230 =  99.153
1, 1  acc:  8268 /  8732 =  94.686
--------------------------------------
Average acc: 155293 / 162770 =  95.406
Robust  acc:  9926 / 14483 =  68.536
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6782 /  8535 =  79.461
0, 1  acc:  7425 /  8276 =  89.717
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17216 / 19867 =  86.656
Robust  acc:  6782 /  8535 =  79.461
------------------------------------
New max robust acc: 79.46104276508494
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed21.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed21.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.867
Robust Acc: 83.915 | Best Acc: 98.226
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8196 /  9767 =  83.915
0, 1  acc:  6748 /  7535 =  89.555
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17540 / 19962 =  87.867
Robust  acc:  8196 /  9767 =  83.915
------------------------------------
Accuracies by groups:
0, 0  acc:  8196 /  9767 =  83.915
0, 1  acc:  6748 /  7535 =  89.555
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17540 / 19962 =  87.867
Robust  acc:  8196 /  9767 =  83.915
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8196 /  9767 =  83.915
0, 1  acc:  6748 /  7535 =  89.555
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17540 / 19962 =  87.867
Robust  acc:  8196 /  9767 =  83.915
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.916 | Val Loss: 0.002 | Val Acc: 87.950
Training:
Accuracies by groups:
0, 0  acc: 10245 / 14541 =  70.456
0, 1  acc:  5231 /  6267 =  83.469
1, 0  acc: 132269 / 133227 =  99.281
1, 1  acc:  8377 /  8735 =  95.902
--------------------------------------
Average acc: 156122 / 162770 =  95.916
Robust  acc: 10245 / 14541 =  70.456
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6912 /  8535 =  80.984
0, 1  acc:  7559 /  8276 =  91.336
1, 0  acc:  2832 /  2874 =  98.539
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17473 / 19867 =  87.950
Robust  acc:  6912 /  8535 =  80.984
------------------------------------
New max robust acc: 80.9841827768014
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed21.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed21.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.864
Robust Acc: 84.837 | Best Acc: 97.984
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8286 /  9767 =  84.837
0, 1  acc:  6866 /  7535 =  91.121
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17739 / 19962 =  88.864
Robust  acc:  8286 /  9767 =  84.837
------------------------------------
Accuracies by groups:
0, 0  acc:  8286 /  9767 =  84.837
0, 1  acc:  6866 /  7535 =  91.121
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17739 / 19962 =  88.864
Robust  acc:  8286 /  9767 =  84.837
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8286 /  9767 =  84.837
0, 1  acc:  6866 /  7535 =  91.121
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17739 / 19962 =  88.864
Robust  acc:  8286 /  9767 =  84.837
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.380 | Val Loss: 0.002 | Val Acc: 88.197
Training:
Accuracies by groups:
0, 0  acc: 10759 / 14730 =  73.041
0, 1  acc:  5372 /  6263 =  85.774
1, 0  acc: 132314 / 133086 =  99.420
1, 1  acc:  8432 /  8691 =  97.020
--------------------------------------
Average acc: 156877 / 162770 =  96.380
Robust  acc: 10759 / 14730 =  73.041
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6928 /  8535 =  81.172
0, 1  acc:  7594 /  8276 =  91.759
1, 0  acc:  2829 /  2874 =  98.434
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17522 / 19867 =  88.197
Robust  acc:  6928 /  8535 =  81.172
------------------------------------
New max robust acc: 81.1716461628588
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed21.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed21.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.034
Robust Acc: 84.857 | Best Acc: 97.863
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8288 /  9767 =  84.857
0, 1  acc:  6900 /  7535 =  91.573
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17773 / 19962 =  89.034
Robust  acc:  8288 /  9767 =  84.857
------------------------------------
Accuracies by groups:
0, 0  acc:  8288 /  9767 =  84.857
0, 1  acc:  6900 /  7535 =  91.573
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17773 / 19962 =  89.034
Robust  acc:  8288 /  9767 =  84.857
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8288 /  9767 =  84.857
0, 1  acc:  6900 /  7535 =  91.573
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17773 / 19962 =  89.034
Robust  acc:  8288 /  9767 =  84.857
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.988 | Val Loss: 0.002 | Val Acc: 89.052
Training:
Accuracies by groups:
0, 0  acc: 11119 / 14590 =  76.210
0, 1  acc:  5388 /  6148 =  87.638
1, 0  acc: 132950 / 133454 =  99.622
1, 1  acc:  8410 /  8578 =  98.042
--------------------------------------
Average acc: 157867 / 162770 =  96.988
Robust  acc: 11119 / 14590 =  76.210
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7022 /  8535 =  82.273
0, 1  acc:  7673 /  8276 =  92.714
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17692 / 19867 =  89.052
Robust  acc:  7022 /  8535 =  82.273
------------------------------------
New max robust acc: 82.2729935559461
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed21.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed21.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.766
Robust Acc: 85.556 | Best Acc: 97.823
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8362 /  9767 =  85.615
0, 1  acc:  6977 /  7535 =  92.595
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17919 / 19962 =  89.766
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8362 /  9767 =  85.615
0, 1  acc:  6977 /  7535 =  92.595
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17919 / 19962 =  89.766
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8362 /  9767 =  85.615
0, 1  acc:  6977 /  7535 =  92.595
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17919 / 19962 =  89.766
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.364 | Val Loss: 0.002 | Val Acc: 91.498
Training:
Accuracies by groups:
0, 0  acc: 11420 / 14604 =  78.198
0, 1  acc:  5751 /  6454 =  89.108
1, 0  acc: 132795 / 133116 =  99.759
1, 1  acc:  8514 /  8596 =  99.046
--------------------------------------
Average acc: 158480 / 162770 =  97.364
Robust  acc: 11420 / 14604 =  78.198
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7358 /  8535 =  86.210
0, 1  acc:  7868 /  8276 =  95.070
1, 0  acc:  2791 /  2874 =  97.112
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 18178 / 19867 =  91.498
Robust  acc:  7358 /  8535 =  86.210
------------------------------------
New max robust acc: 86.20972466315173
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed21.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed21.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.935
Robust Acc: 80.556 | Best Acc: 96.815
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8652 /  9767 =  88.584
0, 1  acc:  7154 /  7535 =  94.944
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18352 / 19962 =  91.935
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8652 /  9767 =  88.584
0, 1  acc:  7154 /  7535 =  94.944
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18352 / 19962 =  91.935
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8652 /  9767 =  88.584
0, 1  acc:  7154 /  7535 =  94.944
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18352 / 19962 =  91.935
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.969 | Val Loss: 0.002 | Val Acc: 92.163
Training:
Accuracies by groups:
0, 0  acc: 11823 / 14461 =  81.758
0, 1  acc:  5733 /  6234 =  91.963
1, 0  acc: 133331 / 133468 =  99.897
1, 1  acc:  8577 /  8607 =  99.651
--------------------------------------
Average acc: 159464 / 162770 =  97.969
Robust  acc: 11823 / 14461 =  81.758
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7439 /  8535 =  87.159
0, 1  acc:  7947 /  8276 =  96.025
1, 0  acc:  2770 /  2874 =  96.381
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 18310 / 19867 =  92.163
Robust  acc:   154 /   182 =  84.615
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.606
Robust Acc: 77.778 | Best Acc: 96.371
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8735 /  9767 =  89.434
0, 1  acc:  7221 /  7535 =  95.833
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18486 / 19962 =  92.606
Robust  acc:   140 /   180 =  77.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8735 /  9767 =  89.434
0, 1  acc:  7221 /  7535 =  95.833
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18486 / 19962 =  92.606
Robust  acc:   140 /   180 =  77.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8735 /  9767 =  89.434
0, 1  acc:  7221 /  7535 =  95.833
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18486 / 19962 =  92.606
Robust  acc:   140 /   180 =  77.778
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.244 | Val Loss: 0.001 | Val Acc: 93.069
Training:
Accuracies by groups:
0, 0  acc: 12227 / 14556 =  84.000
0, 1  acc:  6011 /  6431 =  93.469
1, 0  acc: 133044 / 133131 =  99.935
1, 1  acc:  8629 /  8652 =  99.734
--------------------------------------
Average acc: 159911 / 162770 =  98.244
Robust  acc: 12227 / 14556 =  84.000
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7574 /  8535 =  88.740
0, 1  acc:  8020 /  8276 =  96.907
1, 0  acc:  2752 /  2874 =  95.755
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18490 / 19867 =  93.069
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.297
Robust Acc: 69.444 | Best Acc: 96.523
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8885 /  9767 =  90.970
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18624 / 19962 =  93.297
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8885 /  9767 =  90.970
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18624 / 19962 =  93.297
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8885 /  9767 =  90.970
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18624 / 19962 =  93.297
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.560 | Val Loss: 0.001 | Val Acc: 94.146
Training:
Accuracies by groups:
0, 0  acc: 12511 / 14411 =  86.816
0, 1  acc:  5965 /  6295 =  94.758
1, 0  acc: 133256 / 133349 =  99.930
1, 1  acc:  8694 /  8715 =  99.759
--------------------------------------
Average acc: 160426 / 162770 =  98.560
Robust  acc: 12511 / 14411 =  86.816
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7790 /  8535 =  91.271
0, 1  acc:  8135 /  8276 =  98.296
1, 0  acc:  2660 /  2874 =  92.554
1, 1  acc:   119 /   182 =  65.385
------------------------------------
Average acc: 18704 / 19867 =  94.146
Robust  acc:   119 /   182 =  65.385
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.329
Robust Acc: 58.889 | Best Acc: 97.837
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9089 /  9767 =  93.058
0, 1  acc:  7372 /  7535 =  97.837
1, 0  acc:  2263 /  2480 =  91.250
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18830 / 19962 =  94.329
Robust  acc:   106 /   180 =  58.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9089 /  9767 =  93.058
0, 1  acc:  7372 /  7535 =  97.837
1, 0  acc:  2263 /  2480 =  91.250
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18830 / 19962 =  94.329
Robust  acc:   106 /   180 =  58.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9089 /  9767 =  93.058
0, 1  acc:  7372 /  7535 =  97.837
1, 0  acc:  2263 /  2480 =  91.250
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18830 / 19962 =  94.329
Robust  acc:   106 /   180 =  58.889
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.518 | Val Loss: 0.002 | Val Acc: 92.238
Training:
Accuracies by groups:
0, 0  acc: 12988 / 14862 =  87.391
0, 1  acc:  5870 /  6175 =  95.061
1, 0  acc: 132943 / 133138 =  99.854
1, 1  acc:  8557 /  8595 =  99.558
--------------------------------------
Average acc: 160358 / 162770 =  98.518
Robust  acc: 12988 / 14862 =  87.391
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7453 /  8535 =  87.323
0, 1  acc:  7960 /  8276 =  96.182
1, 0  acc:  2758 /  2874 =  95.964
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 18325 / 19867 =  92.238
Robust  acc:   154 /   182 =  84.615
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.486
Robust Acc: 75.000 | Best Acc: 95.846
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8752 /  9767 =  89.608
0, 1  acc:  7222 /  7535 =  95.846
1, 0  acc:  2353 /  2480 =  94.879
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18462 / 19962 =  92.486
Robust  acc:   135 /   180 =  75.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8752 /  9767 =  89.608
0, 1  acc:  7222 /  7535 =  95.846
1, 0  acc:  2353 /  2480 =  94.879
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18462 / 19962 =  92.486
Robust  acc:   135 /   180 =  75.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8752 /  9767 =  89.608
0, 1  acc:  7222 /  7535 =  95.846
1, 0  acc:  2353 /  2480 =  94.879
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18462 / 19962 =  92.486
Robust  acc:   135 /   180 =  75.000
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.280 | Val Loss: 0.002 | Val Acc: 93.280
Training:
Accuracies by groups:
0, 0  acc: 12361 / 14430 =  85.662
0, 1  acc:  5841 /  6199 =  94.225
1, 0  acc: 133268 / 133566 =  99.777
1, 1  acc:  8500 /  8575 =  99.125
--------------------------------------
Average acc: 159970 / 162770 =  98.280
Robust  acc: 12361 / 14430 =  85.662
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7711 /  8535 =  90.346
0, 1  acc:  8004 /  8276 =  96.713
1, 0  acc:  2671 /  2874 =  92.937
1, 1  acc:   146 /   182 =  80.220
------------------------------------
Average acc: 18532 / 19867 =  93.280
Robust  acc:   146 /   182 =  80.220
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.643
Robust Acc: 71.667 | Best Acc: 96.244
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  9027 /  9767 =  92.423
0, 1  acc:  7252 /  7535 =  96.244
1, 0  acc:  2285 /  2480 =  92.137
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18693 / 19962 =  93.643
Robust  acc:   129 /   180 =  71.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9027 /  9767 =  92.423
0, 1  acc:  7252 /  7535 =  96.244
1, 0  acc:  2285 /  2480 =  92.137
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18693 / 19962 =  93.643
Robust  acc:   129 /   180 =  71.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9027 /  9767 =  92.423
0, 1  acc:  7252 /  7535 =  96.244
1, 0  acc:  2285 /  2480 =  92.137
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18693 / 19962 =  93.643
Robust  acc:   129 /   180 =  71.667
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.860 | Val Loss: 0.002 | Val Acc: 89.495
Training:
Accuracies by groups:
0, 0  acc: 11903 / 14317 =  83.139
0, 1  acc:  5901 /  6379 =  92.507
1, 0  acc: 133064 / 133522 =  99.657
1, 1  acc:  8419 /  8552 =  98.445
--------------------------------------
Average acc: 159287 / 162770 =  97.860
Robust  acc: 11903 / 14317 =  83.139
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6975 /  8535 =  81.722
0, 1  acc:  7806 /  8276 =  94.321
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17780 / 19867 =  89.495
Robust  acc:  6975 /  8535 =  81.722
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.031
Robust Acc: 84.444 | Best Acc: 98.024
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8313 /  9767 =  85.113
0, 1  acc:  7076 /  7535 =  93.908
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17972 / 19962 =  90.031
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8313 /  9767 =  85.113
0, 1  acc:  7076 /  7535 =  93.908
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17972 / 19962 =  90.031
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8313 /  9767 =  85.113
0, 1  acc:  7076 /  7535 =  93.908
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17972 / 19962 =  90.031
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.487 | Val Loss: 0.001 | Val Acc: 94.851
Training:
Accuracies by groups:
0, 0  acc: 11733 / 14527 =  80.767
0, 1  acc:  5775 /  6336 =  91.146
1, 0  acc: 132741 / 133299 =  99.581
1, 1  acc:  8431 /  8608 =  97.944
--------------------------------------
Average acc: 158680 / 162770 =  97.487
Robust  acc: 11733 / 14527 =  80.767
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7980 /  8535 =  93.497
0, 1  acc:  8153 /  8276 =  98.514
1, 0  acc:  2594 /  2874 =  90.257
1, 1  acc:   117 /   182 =  64.286
------------------------------------
Average acc: 18844 / 19867 =  94.851
Robust  acc:   117 /   182 =  64.286
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.920
Robust Acc: 56.667 | Best Acc: 98.155
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  9225 /  9767 =  94.451
0, 1  acc:  7396 /  7535 =  98.155
1, 0  acc:  2225 /  2480 =  89.718
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18948 / 19962 =  94.920
Robust  acc:   102 /   180 =  56.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9225 /  9767 =  94.451
0, 1  acc:  7396 /  7535 =  98.155
1, 0  acc:  2225 /  2480 =  89.718
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18948 / 19962 =  94.920
Robust  acc:   102 /   180 =  56.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9225 /  9767 =  94.451
0, 1  acc:  7396 /  7535 =  98.155
1, 0  acc:  2225 /  2480 =  89.718
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18948 / 19962 =  94.920
Robust  acc:   102 /   180 =  56.667
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.960 | Val Loss: 0.001 | Val Acc: 93.879
Training:
Accuracies by groups:
0, 0  acc: 11533 / 14801 =  77.920
0, 1  acc:  5805 /  6498 =  89.335
1, 0  acc: 132079 / 132818 =  99.444
1, 1  acc:  8404 /  8653 =  97.122
--------------------------------------
Average acc: 157821 / 162770 =  96.960
Robust  acc: 11533 / 14801 =  77.920
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7780 /  8535 =  91.154
0, 1  acc:  8073 /  8276 =  97.547
1, 0  acc:  2665 /  2874 =  92.728
1, 1  acc:   133 /   182 =  73.077
------------------------------------
Average acc: 18651 / 19867 =  93.879
Robust  acc:   133 /   182 =  73.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.244
Robust Acc: 67.222 | Best Acc: 97.213
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  9067 /  9767 =  92.833
0, 1  acc:  7325 /  7535 =  97.213
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18813 / 19962 =  94.244
Robust  acc:   121 /   180 =  67.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9067 /  9767 =  92.833
0, 1  acc:  7325 /  7535 =  97.213
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18813 / 19962 =  94.244
Robust  acc:   121 /   180 =  67.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9067 /  9767 =  92.833
0, 1  acc:  7325 /  7535 =  97.213
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18813 / 19962 =  94.244
Robust  acc:   121 /   180 =  67.222
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.458 | Val Loss: 0.001 | Val Acc: 94.670
Training:
Accuracies by groups:
0, 0  acc: 10798 / 14471 =  74.618
0, 1  acc:  5482 /  6286 =  87.210
1, 0  acc: 132516 / 133472 =  99.284
1, 1  acc:  8208 /  8541 =  96.101
--------------------------------------
Average acc: 157004 / 162770 =  96.458
Robust  acc: 10798 / 14471 =  74.618
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8322 /  8535 =  97.504
0, 1  acc:  8224 /  8276 =  99.372
1, 0  acc:  2186 /  2874 =  76.061
1, 1  acc:    76 /   182 =  41.758
------------------------------------
Average acc: 18808 / 19867 =  94.670
Robust  acc:    76 /   182 =  41.758
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.950
Robust Acc: 37.222 | Best Acc: 99.350
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  9556 /  9767 =  97.840
0, 1  acc:  7486 /  7535 =  99.350
1, 0  acc:  1845 /  2480 =  74.395
1, 1  acc:    67 /   180 =  37.222
------------------------------------
Average acc: 18954 / 19962 =  94.950
Robust  acc:    67 /   180 =  37.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9556 /  9767 =  97.840
0, 1  acc:  7486 /  7535 =  99.350
1, 0  acc:  1845 /  2480 =  74.395
1, 1  acc:    67 /   180 =  37.222
------------------------------------
Average acc: 18954 / 19962 =  94.950
Robust  acc:    67 /   180 =  37.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9556 /  9767 =  97.840
0, 1  acc:  7486 /  7535 =  99.350
1, 0  acc:  1845 /  2480 =  74.395
1, 1  acc:    67 /   180 =  37.222
------------------------------------
Average acc: 18954 / 19962 =  94.950
Robust  acc:    67 /   180 =  37.222
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.914 | Val Loss: 0.002 | Val Acc: 89.430
Training:
Accuracies by groups:
0, 0  acc: 10601 / 14751 =  71.866
0, 1  acc:  5330 /  6271 =  84.994
1, 0  acc: 131980 / 133155 =  99.118
1, 1  acc:  8209 /  8593 =  95.531
--------------------------------------
Average acc: 156120 / 162770 =  95.914
Robust  acc: 10601 / 14751 =  71.866
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7179 /  8535 =  84.112
0, 1  acc:  7602 /  8276 =  91.856
1, 0  acc:  2813 /  2874 =  97.878
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17767 / 19867 =  89.430
Robust  acc:  7179 /  8535 =  84.112
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.141
Robust Acc: 86.925 | Best Acc: 97.379
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8490 /  9767 =  86.925
0, 1  acc:  6931 /  7535 =  91.984
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17994 / 19962 =  90.141
Robust  acc:  8490 /  9767 =  86.925
------------------------------------
Accuracies by groups:
0, 0  acc:  8490 /  9767 =  86.925
0, 1  acc:  6931 /  7535 =  91.984
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17994 / 19962 =  90.141
Robust  acc:  8490 /  9767 =  86.925
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8490 /  9767 =  86.925
0, 1  acc:  6931 /  7535 =  91.984
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17994 / 19962 =  90.141
Robust  acc:  8490 /  9767 =  86.925
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.653 | Val Loss: 0.003 | Val Acc: 88.639
Training:
Accuracies by groups:
0, 0  acc: 10318 / 14607 =  70.637
0, 1  acc:  5205 /  6249 =  83.293
1, 0  acc: 132205 / 133512 =  99.021
1, 1  acc:  7966 /  8402 =  94.811
--------------------------------------
Average acc: 155694 / 162770 =  95.653
Robust  acc: 10318 / 14607 =  70.637
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7061 /  8535 =  82.730
0, 1  acc:  7561 /  8276 =  91.361
1, 0  acc:  2816 /  2874 =  97.982
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17610 / 19867 =  88.639
Robust  acc:  7061 /  8535 =  82.730
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.630
Robust Acc: 85.871 | Best Acc: 97.944
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8387 /  9767 =  85.871
0, 1  acc:  6915 /  7535 =  91.772
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17892 / 19962 =  89.630
Robust  acc:  8387 /  9767 =  85.871
------------------------------------
Accuracies by groups:
0, 0  acc:  8387 /  9767 =  85.871
0, 1  acc:  6915 /  7535 =  91.772
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17892 / 19962 =  89.630
Robust  acc:  8387 /  9767 =  85.871
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8387 /  9767 =  85.871
0, 1  acc:  6915 /  7535 =  91.772
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17892 / 19962 =  89.630
Robust  acc:  8387 /  9767 =  85.871
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.274 | Val Loss: 0.011 | Val Acc: 35.879
Training:
Accuracies by groups:
0, 0  acc: 10091 / 14740 =  68.460
0, 1  acc:  5031 /  6269 =  80.252
1, 0  acc: 131801 / 133195 =  98.953
1, 1  acc:  8155 /  8566 =  95.202
--------------------------------------
Average acc: 155078 / 162770 =  95.274
Robust  acc: 10091 / 14740 =  68.460
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1898 /  8535 =  22.238
0, 1  acc:  2174 /  8276 =  26.269
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  7128 / 19867 =  35.879
Robust  acc:  1898 /  8535 =  22.238
------------------------------------
-------------------------------------------
Avg Test Loss: 0.010 | Avg Test Acc: 36.519
Robust Acc: 26.238 | Best Acc: 100.000
--------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  2653 /  9767 =  27.163
0, 1  acc:  1977 /  7535 =  26.238
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  7290 / 19962 =  36.519
Robust  acc:  1977 /  7535 =  26.238
------------------------------------
Accuracies by groups:
0, 0  acc:  2653 /  9767 =  27.163
0, 1  acc:  1977 /  7535 =  26.238
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  7290 / 19962 =  36.519
Robust  acc:  1977 /  7535 =  26.238
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2653 /  9767 =  27.163
0, 1  acc:  1977 /  7535 =  26.238
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  7290 / 19962 =  36.519
Robust  acc:  1977 /  7535 =  26.238
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.105 | Val Loss: 0.003 | Val Acc: 92.510
Training:
Accuracies by groups:
0, 0  acc:  9767 / 14589 =  66.948
0, 1  acc:  4897 /  6223 =  78.692
1, 0  acc: 132030 / 133415 =  98.962
1, 1  acc:  8108 /  8543 =  94.908
--------------------------------------
Average acc: 154802 / 162770 =  95.105
Robust  acc:  9767 / 14589 =  66.948
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7601 /  8535 =  89.057
0, 1  acc:  8017 /  8276 =  96.870
1, 0  acc:  2639 /  2874 =  91.823
1, 1  acc:   122 /   182 =  67.033
------------------------------------
Average acc: 18379 / 19867 =  92.510
Robust  acc:   122 /   182 =  67.033
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.177
Robust Acc: 60.000 | Best Acc: 97.054
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  8922 /  9767 =  91.348
0, 1  acc:  7313 /  7535 =  97.054
1, 0  acc:  2257 /  2480 =  91.008
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18600 / 19962 =  93.177
Robust  acc:   108 /   180 =  60.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8922 /  9767 =  91.348
0, 1  acc:  7313 /  7535 =  97.054
1, 0  acc:  2257 /  2480 =  91.008
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18600 / 19962 =  93.177
Robust  acc:   108 /   180 =  60.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8922 /  9767 =  91.348
0, 1  acc:  7313 /  7535 =  97.054
1, 0  acc:  2257 /  2480 =  91.008
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18600 / 19962 =  93.177
Robust  acc:   108 /   180 =  60.000
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 94.950 | Val Loss: 0.004 | Val Acc: 77.183
Training:
Accuracies by groups:
0, 0  acc:  9517 / 14459 =  65.821
0, 1  acc:  4725 /  6214 =  76.038
1, 0  acc: 132117 / 133469 =  98.987
1, 1  acc:  8191 /  8628 =  94.935
--------------------------------------
Average acc: 154550 / 162770 =  94.950
Robust  acc:  9517 / 14459 =  65.821
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5854 /  8535 =  68.588
0, 1  acc:  6447 /  8276 =  77.900
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15334 / 19867 =  77.183
Robust  acc:  5854 /  8535 =  68.588
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.035
Robust Acc: 74.045 | Best Acc: 99.274
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  7232 /  9767 =  74.045
0, 1  acc:  5914 /  7535 =  78.487
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15777 / 19962 =  79.035
Robust  acc:  7232 /  9767 =  74.045
------------------------------------
Accuracies by groups:
0, 0  acc:  7232 /  9767 =  74.045
0, 1  acc:  5914 /  7535 =  78.487
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15777 / 19962 =  79.035
Robust  acc:  7232 /  9767 =  74.045
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7232 /  9767 =  74.045
0, 1  acc:  5914 /  7535 =  78.487
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15777 / 19962 =  79.035
Robust  acc:  7232 /  9767 =  74.045
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.776 | Val Loss: 0.004 | Val Acc: 81.270
Training:
Accuracies by groups:
0, 0  acc:  9382 / 14494 =  64.730
0, 1  acc:  4600 /  6262 =  73.459
1, 0  acc: 132078 / 133384 =  99.021
1, 1  acc:  8207 /  8630 =  95.098
--------------------------------------
Average acc: 154267 / 162770 =  94.776
Robust  acc:  9382 / 14494 =  64.730
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6224 /  8535 =  72.923
0, 1  acc:  6897 /  8276 =  83.337
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16146 / 19867 =  81.270
Robust  acc:  6224 /  8535 =  72.923
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.797
Robust Acc: 78.008 | Best Acc: 98.911
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  7619 /  9767 =  78.008
0, 1  acc:  6285 /  7535 =  83.411
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16528 / 19962 =  82.797
Robust  acc:  7619 /  9767 =  78.008
------------------------------------
Accuracies by groups:
0, 0  acc:  7619 /  9767 =  78.008
0, 1  acc:  6285 /  7535 =  83.411
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16528 / 19962 =  82.797
Robust  acc:  7619 /  9767 =  78.008
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7619 /  9767 =  78.008
0, 1  acc:  6285 /  7535 =  83.411
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16528 / 19962 =  82.797
Robust  acc:  7619 /  9767 =  78.008
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.561 | Val Loss: 0.003 | Val Acc: 92.515
Training:
Accuracies by groups:
0, 0  acc:  9247 / 14708 =  62.871
0, 1  acc:  4441 /  6157 =  72.129
1, 0  acc: 132040 / 133346 =  99.021
1, 1  acc:  8189 /  8559 =  95.677
--------------------------------------
Average acc: 153917 / 162770 =  94.561
Robust  acc:  9247 / 14708 =  62.871
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7850 /  8535 =  91.974
0, 1  acc:  7853 /  8276 =  94.889
1, 0  acc:  2547 /  2874 =  88.622
1, 1  acc:   130 /   182 =  71.429
------------------------------------
Average acc: 18380 / 19867 =  92.515
Robust  acc:   130 /   182 =  71.429
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.372
Robust Acc: 70.556 | Best Acc: 95.116
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  9185 /  9767 =  94.041
0, 1  acc:  7167 /  7535 =  95.116
1, 0  acc:  2160 /  2480 =  87.097
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18639 / 19962 =  93.372
Robust  acc:   127 /   180 =  70.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9185 /  9767 =  94.041
0, 1  acc:  7167 /  7535 =  95.116
1, 0  acc:  2160 /  2480 =  87.097
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18639 / 19962 =  93.372
Robust  acc:   127 /   180 =  70.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9185 /  9767 =  94.041
0, 1  acc:  7167 /  7535 =  95.116
1, 0  acc:  2160 /  2480 =  87.097
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18639 / 19962 =  93.372
Robust  acc:   127 /   180 =  70.556
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.383 | Val Loss: 0.005 | Val Acc: 74.797
Training:
Accuracies by groups:
0, 0  acc:  9014 / 14593 =  61.769
0, 1  acc:  4455 /  6337 =  70.301
1, 0  acc: 132115 / 133407 =  99.032
1, 1  acc:  8043 /  8433 =  95.375
--------------------------------------
Average acc: 153627 / 162770 =  94.383
Robust  acc:  9014 / 14593 =  61.769
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5800 /  8535 =  67.955
0, 1  acc:  6024 /  8276 =  72.789
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14860 / 19867 =  74.797
Robust  acc:  5800 /  8535 =  67.955
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.290
Robust Acc: 72.422 | Best Acc: 99.113
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  7139 /  9767 =  73.093
0, 1  acc:  5457 /  7535 =  72.422
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15229 / 19962 =  76.290
Robust  acc:  5457 /  7535 =  72.422
------------------------------------
Accuracies by groups:
0, 0  acc:  7139 /  9767 =  73.093
0, 1  acc:  5457 /  7535 =  72.422
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15229 / 19962 =  76.290
Robust  acc:  5457 /  7535 =  72.422
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7139 /  9767 =  73.093
0, 1  acc:  5457 /  7535 =  72.422
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15229 / 19962 =  76.290
Robust  acc:  5457 /  7535 =  72.422
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.441 | Val Loss: 0.007 | Val Acc: 60.512
Training:
Accuracies by groups:
0, 0  acc:  9051 / 14587 =  62.048
0, 1  acc:  4470 /  6309 =  70.851
1, 0  acc: 131877 / 133172 =  99.028
1, 1  acc:  8323 /  8702 =  95.645
--------------------------------------
Average acc: 153721 / 162770 =  94.441
Robust  acc:  9051 / 14587 =  62.048
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4414 /  8535 =  51.716
0, 1  acc:  4560 /  8276 =  55.099
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12022 / 19867 =  60.512
Robust  acc:  4414 /  8535 =  51.716
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 61.918
Robust Acc: 54.466 | Best Acc: 99.758
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  5604 /  9767 =  57.377
0, 1  acc:  4104 /  7535 =  54.466
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12360 / 19962 =  61.918
Robust  acc:  4104 /  7535 =  54.466
------------------------------------
Accuracies by groups:
0, 0  acc:  5604 /  9767 =  57.377
0, 1  acc:  4104 /  7535 =  54.466
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12360 / 19962 =  61.918
Robust  acc:  4104 /  7535 =  54.466
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5604 /  9767 =  57.377
0, 1  acc:  4104 /  7535 =  54.466
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12360 / 19962 =  61.918
Robust  acc:  4104 /  7535 =  54.466
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.339 | Val Loss: 0.005 | Val Acc: 70.972
Training:
Accuracies by groups:
0, 0  acc:  8907 / 14571 =  61.128
0, 1  acc:  4270 /  6258 =  68.233
1, 0  acc: 132237 / 133448 =  99.093
1, 1  acc:  8141 /  8493 =  95.855
--------------------------------------
Average acc: 153555 / 162770 =  94.339
Robust  acc:  8907 / 14571 =  61.128
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5267 /  8535 =  61.711
0, 1  acc:  5790 /  8276 =  69.961
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14100 / 19867 =  70.972
Robust  acc:  5267 /  8535 =  61.711
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.588
Robust Acc: 67.462 | Best Acc: 99.315
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  6589 /  9767 =  67.462
0, 1  acc:  5262 /  7535 =  69.834
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14490 / 19962 =  72.588
Robust  acc:  6589 /  9767 =  67.462
------------------------------------
Accuracies by groups:
0, 0  acc:  6589 /  9767 =  67.462
0, 1  acc:  5262 /  7535 =  69.834
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14490 / 19962 =  72.588
Robust  acc:  6589 /  9767 =  67.462
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6589 /  9767 =  67.462
0, 1  acc:  5262 /  7535 =  69.834
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14490 / 19962 =  72.588
Robust  acc:  6589 /  9767 =  67.462
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.182 | Val Loss: 0.005 | Val Acc: 74.490
Training:
Accuracies by groups:
0, 0  acc:  8734 / 14605 =  59.801
0, 1  acc:  4139 /  6243 =  66.298
1, 0  acc: 132188 / 133331 =  99.143
1, 1  acc:  8239 /  8591 =  95.903
--------------------------------------
Average acc: 153300 / 162770 =  94.182
Robust  acc:  8734 / 14605 =  59.801
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5819 /  8535 =  68.178
0, 1  acc:  5949 /  8276 =  71.883
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14799 / 19867 =  74.490
Robust  acc:  5819 /  8535 =  68.178
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.395
Robust Acc: 71.732 | Best Acc: 98.790
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  7224 /  9767 =  73.963
0, 1  acc:  5405 /  7535 =  71.732
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15250 / 19962 =  76.395
Robust  acc:  5405 /  7535 =  71.732
------------------------------------
Accuracies by groups:
0, 0  acc:  7224 /  9767 =  73.963
0, 1  acc:  5405 /  7535 =  71.732
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15250 / 19962 =  76.395
Robust  acc:  5405 /  7535 =  71.732
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7224 /  9767 =  73.963
0, 1  acc:  5405 /  7535 =  71.732
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15250 / 19962 =  76.395
Robust  acc:  5405 /  7535 =  71.732
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 93.967 | Val Loss: 0.005 | Val Acc: 78.255
Training:
Accuracies by groups:
0, 0  acc:  8655 / 14861 =  58.240
0, 1  acc:  3990 /  6225 =  64.096
1, 0  acc: 132139 / 133206 =  99.199
1, 1  acc:  8166 /  8478 =  96.320
--------------------------------------
Average acc: 152950 / 162770 =  93.967
Robust  acc:  8655 / 14861 =  58.240
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5992 /  8535 =  70.205
0, 1  acc:  6534 /  8276 =  78.951
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15547 / 19867 =  78.255
Robust  acc:  5992 /  8535 =  70.205
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.566
Robust Acc: 74.608 | Best Acc: 98.468
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  7287 /  9767 =  74.608
0, 1  acc:  5986 /  7535 =  79.443
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15883 / 19962 =  79.566
Robust  acc:  7287 /  9767 =  74.608
------------------------------------
Accuracies by groups:
0, 0  acc:  7287 /  9767 =  74.608
0, 1  acc:  5986 /  7535 =  79.443
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15883 / 19962 =  79.566
Robust  acc:  7287 /  9767 =  74.608
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7287 /  9767 =  74.608
0, 1  acc:  5986 /  7535 =  79.443
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15883 / 19962 =  79.566
Robust  acc:  7287 /  9767 =  74.608
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.034 | Val Loss: 0.003 | Val Acc: 88.921
Training:
Accuracies by groups:
0, 0  acc:  8495 / 14648 =  57.994
0, 1  acc:  4069 /  6309 =  64.495
1, 0  acc: 132132 / 133150 =  99.235
1, 1  acc:  8363 /  8663 =  96.537
--------------------------------------
Average acc: 153059 / 162770 =  94.034
Robust  acc:  8495 / 14648 =  57.994
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7246 /  8535 =  84.897
0, 1  acc:  7492 /  8276 =  90.527
1, 0  acc:  2767 /  2874 =  96.277
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 17666 / 19867 =  88.921
Robust  acc:  7246 /  8535 =  84.897
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.472
Robust Acc: 87.778 | Best Acc: 95.161
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  8672 /  9767 =  88.789
0, 1  acc:  6870 /  7535 =  91.175
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 18060 / 19962 =  90.472
Robust  acc:   158 /   180 =  87.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8672 /  9767 =  88.789
0, 1  acc:  6870 /  7535 =  91.175
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 18060 / 19962 =  90.472
Robust  acc:   158 /   180 =  87.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8672 /  9767 =  88.789
0, 1  acc:  6870 /  7535 =  91.175
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 18060 / 19962 =  90.472
Robust  acc:   158 /   180 =  87.778
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.891 | Val Loss: 0.005 | Val Acc: 77.359
Training:
Accuracies by groups:
0, 0  acc:  8302 / 14553 =  57.047
0, 1  acc:  3907 /  6271 =  62.303
1, 0  acc: 132214 / 133250 =  99.223
1, 1  acc:  8403 /  8696 =  96.631
--------------------------------------
Average acc: 152826 / 162770 =  93.891
Robust  acc:  8302 / 14553 =  57.047
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6085 /  8535 =  71.295
0, 1  acc:  6270 /  8276 =  75.761
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15369 / 19867 =  77.359
Robust  acc:  6085 /  8535 =  71.295
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.426
Robust Acc: 75.528 | Best Acc: 98.468
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7550 /  9767 =  77.301
0, 1  acc:  5691 /  7535 =  75.528
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15855 / 19962 =  79.426
Robust  acc:  5691 /  7535 =  75.528
------------------------------------
Accuracies by groups:
0, 0  acc:  7550 /  9767 =  77.301
0, 1  acc:  5691 /  7535 =  75.528
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15855 / 19962 =  79.426
Robust  acc:  5691 /  7535 =  75.528
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7550 /  9767 =  77.301
0, 1  acc:  5691 /  7535 =  75.528
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15855 / 19962 =  79.426
Robust  acc:  5691 /  7535 =  75.528
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.983 | Val Loss: 0.006 | Val Acc: 65.782
Training:
Accuracies by groups:
0, 0  acc:  8327 / 14572 =  57.144
0, 1  acc:  3850 /  6214 =  61.957
1, 0  acc: 132456 / 133356 =  99.325
1, 1  acc:  8343 /  8628 =  96.697
--------------------------------------
Average acc: 152976 / 162770 =  93.983
Robust  acc:  8327 / 14572 =  57.144
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4758 /  8535 =  55.747
0, 1  acc:  5262 /  8276 =  63.581
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13069 / 19867 =  65.782
Robust  acc:  4758 /  8535 =  55.747
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 67.719
Robust Acc: 62.138 | Best Acc: 99.677
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  6069 /  9767 =  62.138
0, 1  acc:  4800 /  7535 =  63.703
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13518 / 19962 =  67.719
Robust  acc:  6069 /  9767 =  62.138
------------------------------------
Accuracies by groups:
0, 0  acc:  6069 /  9767 =  62.138
0, 1  acc:  4800 /  7535 =  63.703
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13518 / 19962 =  67.719
Robust  acc:  6069 /  9767 =  62.138
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6069 /  9767 =  62.138
0, 1  acc:  4800 /  7535 =  63.703
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13518 / 19962 =  67.719
Robust  acc:  6069 /  9767 =  62.138
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 94.028 | Val Loss: 0.006 | Val Acc: 65.994
Training:
Accuracies by groups:
0, 0  acc:  8289 / 14463 =  57.312
0, 1  acc:  4003 /  6329 =  63.249
1, 0  acc: 132421 / 133382 =  99.280
1, 1  acc:  8337 /  8596 =  96.987
--------------------------------------
Average acc: 153050 / 162770 =  94.028
Robust  acc:  8289 / 14463 =  57.312
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4851 /  8535 =  56.837
0, 1  acc:  5217 /  8276 =  63.038
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13111 / 19867 =  65.994
Robust  acc:  4851 /  8535 =  56.837
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 67.173
Robust Acc: 62.158 | Best Acc: 99.597
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  6071 /  9767 =  62.158
0, 1  acc:  4690 /  7535 =  62.243
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13409 / 19962 =  67.173
Robust  acc:  6071 /  9767 =  62.158
------------------------------------
Accuracies by groups:
0, 0  acc:  6071 /  9767 =  62.158
0, 1  acc:  4690 /  7535 =  62.243
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13409 / 19962 =  67.173
Robust  acc:  6071 /  9767 =  62.158
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6071 /  9767 =  62.158
0, 1  acc:  4690 /  7535 =  62.243
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13409 / 19962 =  67.173
Robust  acc:  6071 /  9767 =  62.158
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.881 | Val Loss: 0.007 | Val Acc: 44.954
Training:
Accuracies by groups:
0, 0  acc:  8414 / 14750 =  57.044
0, 1  acc:  3859 /  6225 =  61.992
1, 0  acc: 132194 / 133166 =  99.270
1, 1  acc:  8343 /  8629 =  96.686
--------------------------------------
Average acc: 152810 / 162770 =  93.881
Robust  acc:  8414 / 14750 =  57.044
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2915 /  8535 =  34.153
0, 1  acc:  2966 /  8276 =  35.839
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc:  8931 / 19867 =  44.954
Robust  acc:  2915 /  8535 =  34.153
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 43.007
Robust Acc: 32.011 | Best Acc: 99.879
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  3518 /  9767 =  36.019
0, 1  acc:  2412 /  7535 =  32.011
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8585 / 19962 =  43.007
Robust  acc:  2412 /  7535 =  32.011
------------------------------------
Accuracies by groups:
0, 0  acc:  3518 /  9767 =  36.019
0, 1  acc:  2412 /  7535 =  32.011
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8585 / 19962 =  43.007
Robust  acc:  2412 /  7535 =  32.011
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3518 /  9767 =  36.019
0, 1  acc:  2412 /  7535 =  32.011
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8585 / 19962 =  43.007
Robust  acc:  2412 /  7535 =  32.011
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.003 | Val Loss: 0.007 | Val Acc: 56.652
Training:
Accuracies by groups:
0, 0  acc:  8427 / 14666 =  57.459
0, 1  acc:  3998 /  6306 =  63.400
1, 0  acc: 132245 / 133197 =  99.285
1, 1  acc:  8339 /  8601 =  96.954
--------------------------------------
Average acc: 153009 / 162770 =  94.003
Robust  acc:  8427 / 14666 =  57.459
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3933 /  8535 =  46.081
0, 1  acc:  4269 /  8276 =  51.583
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11255 / 19867 =  56.652
Robust  acc:  3933 /  8535 =  46.081
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 57.820
Robust Acc: 50.683 | Best Acc: 99.839
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  5069 /  9767 =  51.899
0, 1  acc:  3819 /  7535 =  50.683
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11542 / 19962 =  57.820
Robust  acc:  3819 /  7535 =  50.683
------------------------------------
Accuracies by groups:
0, 0  acc:  5069 /  9767 =  51.899
0, 1  acc:  3819 /  7535 =  50.683
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11542 / 19962 =  57.820
Robust  acc:  3819 /  7535 =  50.683
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5069 /  9767 =  51.899
0, 1  acc:  3819 /  7535 =  50.683
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11542 / 19962 =  57.820
Robust  acc:  3819 /  7535 =  50.683
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 94.032 | Val Loss: 0.006 | Val Acc: 64.227
Training:
Accuracies by groups:
0, 0  acc:  8515 / 14704 =  57.909
0, 1  acc:  4091 /  6411 =  63.812
1, 0  acc: 132085 / 132989 =  99.320
1, 1  acc:  8365 /  8666 =  96.527
--------------------------------------
Average acc: 153056 / 162770 =  94.032
Robust  acc:  8515 / 14704 =  57.909
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5126 /  8535 =  60.059
0, 1  acc:  4596 /  8276 =  55.534
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 12760 / 19867 =  64.227
Robust  acc:  4596 /  8276 =  55.534
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.620
Robust Acc: 54.798 | Best Acc: 99.315
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  6331 /  9767 =  64.820
0, 1  acc:  4129 /  7535 =  54.798
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13099 / 19962 =  65.620
Robust  acc:  4129 /  7535 =  54.798
------------------------------------
Accuracies by groups:
0, 0  acc:  6331 /  9767 =  64.820
0, 1  acc:  4129 /  7535 =  54.798
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13099 / 19962 =  65.620
Robust  acc:  4129 /  7535 =  54.798
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6331 /  9767 =  64.820
0, 1  acc:  4129 /  7535 =  54.798
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13099 / 19962 =  65.620
Robust  acc:  4129 /  7535 =  54.798
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.981 | Val Loss: 0.004 | Val Acc: 88.735
Training:
Accuracies by groups:
0, 0  acc:  8185 / 14411 =  56.797
0, 1  acc:  4033 /  6331 =  63.702
1, 0  acc: 132450 / 133421 =  99.272
1, 1  acc:  8305 /  8607 =  96.491
--------------------------------------
Average acc: 152973 / 162770 =  93.981
Robust  acc:  8185 / 14411 =  56.797
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7243 /  8535 =  84.862
0, 1  acc:  7519 /  8276 =  90.853
1, 0  acc:  2715 /  2874 =  94.468
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 17629 / 19867 =  88.735
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 90.101
Robust Acc: 76.667 | Best Acc: 93.548
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8603 /  9767 =  88.082
0, 1  acc:  6925 /  7535 =  91.904
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 17986 / 19962 =  90.101
Robust  acc:   138 /   180 =  76.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8603 /  9767 =  88.082
0, 1  acc:  6925 /  7535 =  91.904
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 17986 / 19962 =  90.101
Robust  acc:   138 /   180 =  76.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8603 /  9767 =  88.082
0, 1  acc:  6925 /  7535 =  91.904
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 17986 / 19962 =  90.101
Robust  acc:   138 /   180 =  76.667
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.955 | Val Loss: 0.006 | Val Acc: 68.928
Training:
Accuracies by groups:
0, 0  acc:  8456 / 14748 =  57.337
0, 1  acc:  4035 /  6355 =  63.493
1, 0  acc: 132058 / 132982 =  99.305
1, 1  acc:  8381 /  8685 =  96.500
--------------------------------------
Average acc: 152930 / 162770 =  93.955
Robust  acc:  8456 / 14748 =  57.337
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5285 /  8535 =  61.921
0, 1  acc:  5368 /  8276 =  64.862
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13694 / 19867 =  68.928
Robust  acc:  5285 /  8535 =  61.921
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 70.965
Robust Acc: 64.910 | Best Acc: 99.234
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  6637 /  9767 =  67.953
0, 1  acc:  4891 /  7535 =  64.910
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14166 / 19962 =  70.965
Robust  acc:  4891 /  7535 =  64.910
------------------------------------
Accuracies by groups:
0, 0  acc:  6637 /  9767 =  67.953
0, 1  acc:  4891 /  7535 =  64.910
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14166 / 19962 =  70.965
Robust  acc:  4891 /  7535 =  64.910
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6637 /  9767 =  67.953
0, 1  acc:  4891 /  7535 =  64.910
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14166 / 19962 =  70.965
Robust  acc:  4891 /  7535 =  64.910
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.012 | Val Loss: 0.005 | Val Acc: 71.823
Training:
Accuracies by groups:
0, 0  acc:  8528 / 14768 =  57.746
0, 1  acc:  4008 /  6292 =  63.700
1, 0  acc: 132336 / 133258 =  99.308
1, 1  acc:  8152 /  8452 =  96.451
--------------------------------------
Average acc: 153024 / 162770 =  94.012
Robust  acc:  8528 / 14768 =  57.746
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5544 /  8535 =  64.956
0, 1  acc:  5687 /  8276 =  68.717
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14269 / 19867 =  71.823
Robust  acc:  5544 /  8535 =  64.956
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.855
Robust Acc: 68.733 | Best Acc: 99.476
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  6920 /  9767 =  70.851
0, 1  acc:  5179 /  7535 =  68.733
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14743 / 19962 =  73.855
Robust  acc:  5179 /  7535 =  68.733
------------------------------------
Accuracies by groups:
0, 0  acc:  6920 /  9767 =  70.851
0, 1  acc:  5179 /  7535 =  68.733
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14743 / 19962 =  73.855
Robust  acc:  5179 /  7535 =  68.733
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6920 /  9767 =  70.851
0, 1  acc:  5179 /  7535 =  68.733
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14743 / 19962 =  73.855
Robust  acc:  5179 /  7535 =  68.733
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.126 | Val Loss: 0.004 | Val Acc: 80.571
Training:
Accuracies by groups:
0, 0  acc:  8644 / 14706 =  58.779
0, 1  acc:  3983 /  6210 =  64.138
1, 0  acc: 132286 / 133269 =  99.262
1, 1  acc:  8296 /  8585 =  96.634
--------------------------------------
Average acc: 153209 / 162770 =  94.126
Robust  acc:  8644 / 14706 =  58.779
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6209 /  8535 =  72.748
0, 1  acc:  6778 /  8276 =  81.899
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16007 / 19867 =  80.571
Robust  acc:  6209 /  8535 =  72.748
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.261
Robust Acc: 78.100 | Best Acc: 98.750
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  7628 /  9767 =  78.100
0, 1  acc:  6175 /  7535 =  81.951
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16421 / 19962 =  82.261
Robust  acc:  7628 /  9767 =  78.100
------------------------------------
Accuracies by groups:
0, 0  acc:  7628 /  9767 =  78.100
0, 1  acc:  6175 /  7535 =  81.951
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16421 / 19962 =  82.261
Robust  acc:  7628 /  9767 =  78.100
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7628 /  9767 =  78.100
0, 1  acc:  6175 /  7535 =  81.951
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16421 / 19962 =  82.261
Robust  acc:  7628 /  9767 =  78.100
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.051 | Val Loss: 0.006 | Val Acc: 69.361
Training:
Accuracies by groups:
0, 0  acc:  8584 / 14659 =  58.558
0, 1  acc:  3979 /  6352 =  62.642
1, 0  acc: 132290 / 133241 =  99.286
1, 1  acc:  8234 /  8518 =  96.666
--------------------------------------
Average acc: 153087 / 162770 =  94.051
Robust  acc:  8584 / 14659 =  58.558
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5291 /  8535 =  61.992
0, 1  acc:  5453 /  8276 =  65.889
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 13780 / 19867 =  69.361
Robust  acc:  5291 /  8535 =  61.992
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 71.160
Robust Acc: 65.747 | Best Acc: 99.435
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  6608 /  9767 =  67.656
0, 1  acc:  4954 /  7535 =  65.747
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14205 / 19962 =  71.160
Robust  acc:  4954 /  7535 =  65.747
------------------------------------
Accuracies by groups:
0, 0  acc:  6608 /  9767 =  67.656
0, 1  acc:  4954 /  7535 =  65.747
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14205 / 19962 =  71.160
Robust  acc:  4954 /  7535 =  65.747
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6608 /  9767 =  67.656
0, 1  acc:  4954 /  7535 =  65.747
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14205 / 19962 =  71.160
Robust  acc:  4954 /  7535 =  65.747
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.139 | Val Loss: 0.006 | Val Acc: 63.467
Training:
Accuracies by groups:
0, 0  acc:  8415 / 14399 =  58.442
0, 1  acc:  4112 /  6396 =  64.290
1, 0  acc: 132173 / 133160 =  99.259
1, 1  acc:  8530 /  8815 =  96.767
--------------------------------------
Average acc: 153230 / 162770 =  94.139
Robust  acc:  8415 / 14399 =  58.442
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4989 /  8535 =  58.453
0, 1  acc:  4578 /  8276 =  55.317
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 12609 / 19867 =  63.467
Robust  acc:  4578 /  8276 =  55.317
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 64.758
Robust Acc: 54.161 | Best Acc: 99.355
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  6205 /  9767 =  63.530
0, 1  acc:  4081 /  7535 =  54.161
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12927 / 19962 =  64.758
Robust  acc:  4081 /  7535 =  54.161
------------------------------------
Accuracies by groups:
0, 0  acc:  6205 /  9767 =  63.530
0, 1  acc:  4081 /  7535 =  54.161
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12927 / 19962 =  64.758
Robust  acc:  4081 /  7535 =  54.161
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6205 /  9767 =  63.530
0, 1  acc:  4081 /  7535 =  54.161
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12927 / 19962 =  64.758
Robust  acc:  4081 /  7535 =  54.161
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.133 | Val Loss: 0.003 | Val Acc: 92.253
Training:
Accuracies by groups:
0, 0  acc:  8523 / 14598 =  58.385
0, 1  acc:  4038 /  6233 =  64.784
1, 0  acc: 132222 / 133216 =  99.254
1, 1  acc:  8438 /  8723 =  96.733
--------------------------------------
Average acc: 153221 / 162770 =  94.133
Robust  acc:  8523 / 14598 =  58.385
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7768 /  8535 =  91.013
0, 1  acc:  7845 /  8276 =  94.792
1, 0  acc:  2576 /  2874 =  89.631
1, 1  acc:   139 /   182 =  76.374
------------------------------------
Average acc: 18328 / 19867 =  92.253
Robust  acc:   139 /   182 =  76.374
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.791
Robust Acc: 72.222 | Best Acc: 94.466
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  9100 /  9767 =  93.171
0, 1  acc:  7118 /  7535 =  94.466
1, 0  acc:  2175 /  2480 =  87.702
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18523 / 19962 =  92.791
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9100 /  9767 =  93.171
0, 1  acc:  7118 /  7535 =  94.466
1, 0  acc:  2175 /  2480 =  87.702
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18523 / 19962 =  92.791
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9100 /  9767 =  93.171
0, 1  acc:  7118 /  7535 =  94.466
1, 0  acc:  2175 /  2480 =  87.702
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18523 / 19962 =  92.791
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.081 | Val Loss: 0.005 | Val Acc: 77.999
Training:
Accuracies by groups:
0, 0  acc:  8716 / 14810 =  58.852
0, 1  acc:  3966 /  6181 =  64.164
1, 0  acc: 132261 / 133282 =  99.234
1, 1  acc:  8193 /  8497 =  96.422
--------------------------------------
Average acc: 153136 / 162770 =  94.081
Robust  acc:  8716 / 14810 =  58.852
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6193 /  8535 =  72.560
0, 1  acc:  6306 /  8276 =  76.196
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 15496 / 19867 =  77.999
Robust  acc:  6193 /  8535 =  72.560
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.777
Robust Acc: 76.576 | Best Acc: 98.266
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  7551 /  9767 =  77.311
0, 1  acc:  5770 /  7535 =  76.576
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15925 / 19962 =  79.777
Robust  acc:  5770 /  7535 =  76.576
------------------------------------
Accuracies by groups:
0, 0  acc:  7551 /  9767 =  77.311
0, 1  acc:  5770 /  7535 =  76.576
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15925 / 19962 =  79.777
Robust  acc:  5770 /  7535 =  76.576
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7551 /  9767 =  77.311
0, 1  acc:  5770 /  7535 =  76.576
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15925 / 19962 =  79.777
Robust  acc:  5770 /  7535 =  76.576
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.146 | Val Loss: 0.005 | Val Acc: 72.266
Training:
Accuracies by groups:
0, 0  acc:  8675 / 14673 =  59.122
0, 1  acc:  4050 /  6247 =  64.831
1, 0  acc: 132246 / 133267 =  99.234
1, 1  acc:  8270 /  8583 =  96.353
--------------------------------------
Average acc: 153241 / 162770 =  94.146
Robust  acc:  8675 / 14673 =  59.122
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5521 /  8535 =  64.687
0, 1  acc:  5800 /  8276 =  70.082
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14357 / 19867 =  72.266
Robust  acc:  5521 /  8535 =  64.687
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.542
Robust Acc: 70.644 | Best Acc: 99.274
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  6920 /  9767 =  70.851
0, 1  acc:  5323 /  7535 =  70.644
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14880 / 19962 =  74.542
Robust  acc:  5323 /  7535 =  70.644
------------------------------------
Accuracies by groups:
0, 0  acc:  6920 /  9767 =  70.851
0, 1  acc:  5323 /  7535 =  70.644
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14880 / 19962 =  74.542
Robust  acc:  5323 /  7535 =  70.644
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6920 /  9767 =  70.851
0, 1  acc:  5323 /  7535 =  70.644
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14880 / 19962 =  74.542
Robust  acc:  5323 /  7535 =  70.644
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.183 | Val Loss: 0.003 | Val Acc: 90.567
Training:
Accuracies by groups:
0, 0  acc:  8652 / 14614 =  59.204
0, 1  acc:  4139 /  6317 =  65.522
1, 0  acc: 132167 / 133198 =  99.226
1, 1  acc:  8343 /  8641 =  96.551
--------------------------------------
Average acc: 153301 / 162770 =  94.183
Robust  acc:  8652 / 14614 =  59.204
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7660 /  8535 =  89.748
0, 1  acc:  7665 /  8276 =  92.617
1, 0  acc:  2528 /  2874 =  87.961
1, 1  acc:   140 /   182 =  76.923
------------------------------------
Average acc: 17993 / 19867 =  90.567
Robust  acc:   140 /   182 =  76.923
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.699
Robust Acc: 77.778 | Best Acc: 92.913
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  8999 /  9767 =  92.137
0, 1  acc:  7001 /  7535 =  92.913
1, 0  acc:  2165 /  2480 =  87.298
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18305 / 19962 =  91.699
Robust  acc:   140 /   180 =  77.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8999 /  9767 =  92.137
0, 1  acc:  7001 /  7535 =  92.913
1, 0  acc:  2165 /  2480 =  87.298
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18305 / 19962 =  91.699
Robust  acc:   140 /   180 =  77.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8999 /  9767 =  92.137
0, 1  acc:  7001 /  7535 =  92.913
1, 0  acc:  2165 /  2480 =  87.298
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18305 / 19962 =  91.699
Robust  acc:   140 /   180 =  77.778
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.257 | Val Loss: 0.006 | Val Acc: 66.487
Training:
Accuracies by groups:
0, 0  acc:  8873 / 14743 =  60.184
0, 1  acc:  4125 /  6264 =  65.852
1, 0  acc: 132197 / 133246 =  99.213
1, 1  acc:  8227 /  8517 =  96.595
--------------------------------------
Average acc: 153422 / 162770 =  94.257
Robust  acc:  8873 / 14743 =  60.184
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5069 /  8535 =  59.391
0, 1  acc:  5102 /  8276 =  61.648
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13209 / 19867 =  66.487
Robust  acc:  5069 /  8535 =  59.391
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 67.794
Robust Acc: 60.982 | Best Acc: 99.274
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  6300 /  9767 =  64.503
0, 1  acc:  4595 /  7535 =  60.982
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13533 / 19962 =  67.794
Robust  acc:  4595 /  7535 =  60.982
------------------------------------
Accuracies by groups:
0, 0  acc:  6300 /  9767 =  64.503
0, 1  acc:  4595 /  7535 =  60.982
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13533 / 19962 =  67.794
Robust  acc:  4595 /  7535 =  60.982
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6300 /  9767 =  64.503
0, 1  acc:  4595 /  7535 =  60.982
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13533 / 19962 =  67.794
Robust  acc:  4595 /  7535 =  60.982
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.279 | Val Loss: 0.008 | Val Acc: 49.892
Training:
Accuracies by groups:
0, 0  acc:  8711 / 14516 =  60.010
0, 1  acc:  4184 /  6233 =  67.127
1, 0  acc: 132252 / 133378 =  99.156
1, 1  acc:  8311 /  8643 =  96.159
--------------------------------------
Average acc: 153458 / 162770 =  94.279
Robust  acc:  8711 / 14516 =  60.010
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3343 /  8535 =  39.168
0, 1  acc:  3515 /  8276 =  42.472
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9912 / 19867 =  49.892
Robust  acc:  3343 /  8535 =  39.168
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 50.661
Robust Acc: 41.287 | Best Acc: 99.919
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  4346 /  9767 =  44.497
0, 1  acc:  3111 /  7535 =  41.287
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10113 / 19962 =  50.661
Robust  acc:  3111 /  7535 =  41.287
------------------------------------
Accuracies by groups:
0, 0  acc:  4346 /  9767 =  44.497
0, 1  acc:  3111 /  7535 =  41.287
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10113 / 19962 =  50.661
Robust  acc:  3111 /  7535 =  41.287
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4346 /  9767 =  44.497
0, 1  acc:  3111 /  7535 =  41.287
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10113 / 19962 =  50.661
Robust  acc:  3111 /  7535 =  41.287
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.254 | Val Loss: 0.006 | Val Acc: 65.727
Training:
Accuracies by groups:
0, 0  acc:  8862 / 14662 =  60.442
0, 1  acc:  4299 /  6388 =  67.298
1, 0  acc: 131838 / 132958 =  99.158
1, 1  acc:  8419 /  8762 =  96.085
--------------------------------------
Average acc: 153418 / 162770 =  94.254
Robust  acc:  8862 / 14662 =  60.442
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5021 /  8535 =  58.828
0, 1  acc:  4995 /  8276 =  60.355
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 13058 / 19867 =  65.727
Robust  acc:  5021 /  8535 =  58.828
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 67.138
Robust Acc: 59.854 | Best Acc: 99.476
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  6247 /  9767 =  63.960
0, 1  acc:  4510 /  7535 =  59.854
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13402 / 19962 =  67.138
Robust  acc:  4510 /  7535 =  59.854
------------------------------------
Accuracies by groups:
0, 0  acc:  6247 /  9767 =  63.960
0, 1  acc:  4510 /  7535 =  59.854
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13402 / 19962 =  67.138
Robust  acc:  4510 /  7535 =  59.854
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6247 /  9767 =  63.960
0, 1  acc:  4510 /  7535 =  59.854
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13402 / 19962 =  67.138
Robust  acc:  4510 /  7535 =  59.854
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.353 | Val Loss: 0.006 | Val Acc: 70.212
Training:
Accuracies by groups:
0, 0  acc:  8827 / 14458 =  61.053
0, 1  acc:  4335 /  6393 =  67.809
1, 0  acc: 132248 / 133408 =  99.130
1, 1  acc:  8169 /  8511 =  95.982
--------------------------------------
Average acc: 153579 / 162770 =  94.353
Robust  acc:  8827 / 14458 =  61.053
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5507 /  8535 =  64.523
0, 1  acc:  5420 /  8276 =  65.491
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 13949 / 19867 =  70.212
Robust  acc:  5507 /  8535 =  64.523
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 71.511
Robust Acc: 64.764 | Best Acc: 98.589
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  6774 /  9767 =  69.356
0, 1  acc:  4880 /  7535 =  64.764
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14275 / 19962 =  71.511
Robust  acc:  4880 /  7535 =  64.764
------------------------------------
Accuracies by groups:
0, 0  acc:  6774 /  9767 =  69.356
0, 1  acc:  4880 /  7535 =  64.764
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14275 / 19962 =  71.511
Robust  acc:  4880 /  7535 =  64.764
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6774 /  9767 =  69.356
0, 1  acc:  4880 /  7535 =  64.764
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14275 / 19962 =  71.511
Robust  acc:  4880 /  7535 =  64.764
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.452 | Val Loss: 0.004 | Val Acc: 82.524
Training:
Accuracies by groups:
0, 0  acc:  8851 / 14490 =  61.084
0, 1  acc:  4234 /  6157 =  68.767
1, 0  acc: 132388 / 133530 =  99.145
1, 1  acc:  8266 /  8593 =  96.195
--------------------------------------
Average acc: 153739 / 162770 =  94.452
Robust  acc:  8851 / 14490 =  61.084
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6358 /  8535 =  74.493
0, 1  acc:  7019 /  8276 =  84.812
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16395 / 19867 =  82.524
Robust  acc:  6358 /  8535 =  74.493
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.180
Robust Acc: 79.441 | Best Acc: 98.468
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  7759 /  9767 =  79.441
0, 1  acc:  6434 /  7535 =  85.388
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16804 / 19962 =  84.180
Robust  acc:  7759 /  9767 =  79.441
------------------------------------
Accuracies by groups:
0, 0  acc:  7759 /  9767 =  79.441
0, 1  acc:  6434 /  7535 =  85.388
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16804 / 19962 =  84.180
Robust  acc:  7759 /  9767 =  79.441
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7759 /  9767 =  79.441
0, 1  acc:  6434 /  7535 =  85.388
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16804 / 19962 =  84.180
Robust  acc:  7759 /  9767 =  79.441
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed21.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed21.pt
