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/seed41/stage_one_erm_model_b_epoch0_seed41.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: 41
Replicate: 0
No cuda: False
Resume: False
New slice: False
Num workers: 12
Evaluate: False
Data cmap: hsv
Test cmap: 
P correlation: 0.9
P corr by class: None
Train classes: ['blond', 'nonblond']
Train class ratios: None
Test shift: random
Flipped: False
Q: 0.7
Pretrained bmodel: True
Cosine: False
Exp: ours
Tau: 1.1
Gamma: None
Remove label noise: False
Model for remove samples: 
Remove ratio: 0.03
Supervised contrast: True
Prioritize spurious pos: False
Contrastive type: cnc
Compute auroc: False
Model type: resnet50_pt_cnc
Criterion: cross_entropy
Pretrained: False
Max grad norm: 1.0
Adam epsilon: 1e-08
Warmup steps: 0
Max grad norm s: 1.0
Adam epsilon s: 1e-08
Warmup steps s: 0
Grad max grad norm: 1.0
Grad adam epsilon: 1e-08
Grad warmup steps: 0
Device: cuda
Img file type: .png
Display image: False
Image path: ./images/celebA/celebA/config/contrastive_umaps
Log interval: 1
Log path: ./logs/celebA/config
Results path: ./results/celebA/config
Model path: ./model/celebA/config
Loss factor: 1
Supersample labels: False
Subsample labels: False
Weigh slice samples by loss: True
Val split: 0.2
Spurious train split: 0.2
Subsample groups: False
Train method: sc
Max robust acc: -1
Max robust epoch: -1
Max robust group acc: (None, None)
Root dir: ./datasets/data/CelebA/
Target name: Blond_Hair
Confounder names: ['Male']
Image mean: 0.449
Image std: 0.226
Augment data: False
Task: celebA
Num classes: 2
Experiment configs: config
Experiment name: cnc-celebA-sw=re-na=32-np=32-nn=32-nne=0-tsr=1-t=0.05-bf=None-cw=0.5-sud=0-me=50-bst=128-o=sgd-lr=0.0001-mo=0.9-wd=0.1-wdc=0.1-spur-me=1-bst=32-lr=0.001-mo=0.9-wd=0.0005-sts=0.2-s=41-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/seed41/stage_one_erm_model_b_epoch0_seed41.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8161, 0.0348],
        [0.1232, 0.0259]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 88.430 | Val Loss: 0.002 | Val Acc: 85.886
Training:
Accuracies by groups:
0, 0  acc: 14048 / 24809 =  56.625
0, 1  acc:  7117 / 10982 =  64.806
1, 0  acc: 115564 / 118818 =  97.261
1, 1  acc:  7208 /  8161 =  88.323
--------------------------------------
Average acc: 143937 / 162770 =  88.430
Robust  acc: 14048 / 24809 =  56.625
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6778 /  8535 =  79.414
0, 1  acc:  7305 /  8276 =  88.267
1, 0  acc:  2818 /  2874 =  98.051
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17063 / 19867 =  85.886
Robust  acc:  6778 /  8535 =  79.414
------------------------------------
New max robust acc: 79.41417691857059
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed41.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed41.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.236
Robust Acc: 83.895 | Best Acc: 97.419
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  8194 /  9767 =  83.895
0, 1  acc:  6648 /  7535 =  88.228
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17414 / 19962 =  87.236
Robust  acc:  8194 /  9767 =  83.895
------------------------------------
Accuracies by groups:
0, 0  acc:  8194 /  9767 =  83.895
0, 1  acc:  6648 /  7535 =  88.228
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17414 / 19962 =  87.236
Robust  acc:  8194 /  9767 =  83.895
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8194 /  9767 =  83.895
0, 1  acc:  6648 /  7535 =  88.228
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17414 / 19962 =  87.236
Robust  acc:  8194 /  9767 =  83.895
------------------------------------
Epoch:   2 | Train Loss: 0.002 | Train Acc: 92.236 | Val Loss: 0.002 | Val Acc: 88.086
Training:
Accuracies by groups:
0, 0  acc: 17622 / 25025 =  70.418
0, 1  acc:  9162 / 11131 =  82.311
1, 0  acc: 116078 / 118411 =  98.030
1, 1  acc:  7270 /  8203 =  88.626
--------------------------------------
Average acc: 150132 / 162770 =  92.236
Robust  acc: 17622 / 25025 =  70.418
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6919 /  8535 =  81.066
0, 1  acc:  7593 /  8276 =  91.747
1, 0  acc:  2823 /  2874 =  98.225
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17500 / 19867 =  88.086
Robust  acc:  6919 /  8535 =  81.066
------------------------------------
New max robust acc: 81.06619800820152
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed41.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed41.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.119
Robust Acc: 85.113 | Best Acc: 97.339
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8313 /  9767 =  85.113
0, 1  acc:  6905 /  7535 =  91.639
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17790 / 19962 =  89.119
Robust  acc:  8313 /  9767 =  85.113
------------------------------------
Accuracies by groups:
0, 0  acc:  8313 /  9767 =  85.113
0, 1  acc:  6905 /  7535 =  91.639
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17790 / 19962 =  89.119
Robust  acc:  8313 /  9767 =  85.113
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8313 /  9767 =  85.113
0, 1  acc:  6905 /  7535 =  91.639
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17790 / 19962 =  89.119
Robust  acc:  8313 /  9767 =  85.113
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 93.368 | Val Loss: 0.002 | Val Acc: 89.233
Training:
Accuracies by groups:
0, 0  acc: 18211 / 24784 =  73.479
0, 1  acc:  9339 / 10805 =  86.432
1, 0  acc: 116953 / 118943 =  98.327
1, 1  acc:  7472 /  8238 =  90.702
--------------------------------------
Average acc: 151975 / 162770 =  93.368
Robust  acc: 18211 / 24784 =  73.479
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7080 /  8535 =  82.953
0, 1  acc:  7670 /  8276 =  92.678
1, 0  acc:  2811 /  2874 =  97.808
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17728 / 19867 =  89.233
Robust  acc:  7080 /  8535 =  82.953
------------------------------------
New max robust acc: 82.95254833040421
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed41.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed41.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.876
Robust Acc: 86.342 | Best Acc: 97.097
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8433 /  9767 =  86.342
0, 1  acc:  6943 /  7535 =  92.143
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17941 / 19962 =  89.876
Robust  acc:  8433 /  9767 =  86.342
------------------------------------
Accuracies by groups:
0, 0  acc:  8433 /  9767 =  86.342
0, 1  acc:  6943 /  7535 =  92.143
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17941 / 19962 =  89.876
Robust  acc:  8433 /  9767 =  86.342
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8433 /  9767 =  86.342
0, 1  acc:  6943 /  7535 =  92.143
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17941 / 19962 =  89.876
Robust  acc:  8433 /  9767 =  86.342
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 94.146 | Val Loss: 0.002 | Val Acc: 90.648
Training:
Accuracies by groups:
0, 0  acc: 18952 / 24933 =  76.012
0, 1  acc:  9704 / 10964 =  88.508
1, 0  acc: 116946 / 118672 =  98.546
1, 1  acc:  7640 /  8201 =  93.159
--------------------------------------
Average acc: 153242 / 162770 =  94.146
Robust  acc: 18952 / 24933 =  76.012
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7218 /  8535 =  84.569
0, 1  acc:  7832 /  8276 =  94.635
1, 0  acc:  2798 /  2874 =  97.356
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 18009 / 19867 =  90.648
Robust  acc:  7218 /  8535 =  84.569
------------------------------------
New max robust acc: 84.56942003514939
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed41.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed41.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.988
Robust Acc: 82.778 | Best Acc: 96.815
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8535 /  9767 =  87.386
0, 1  acc:  7078 /  7535 =  93.935
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18163 / 19962 =  90.988
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8535 /  9767 =  87.386
0, 1  acc:  7078 /  7535 =  93.935
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18163 / 19962 =  90.988
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8535 /  9767 =  87.386
0, 1  acc:  7078 /  7535 =  93.935
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18163 / 19962 =  90.988
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 95.118 | Val Loss: 0.002 | Val Acc: 91.836
Training:
Accuracies by groups:
0, 0  acc: 19600 / 24917 =  78.661
0, 1  acc:  9871 / 10952 =  90.130
1, 0  acc: 117608 / 118800 =  98.997
1, 1  acc:  7744 /  8101 =  95.593
--------------------------------------
Average acc: 154823 / 162770 =  95.118
Robust  acc: 19600 / 24917 =  78.661
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7396 /  8535 =  86.655
0, 1  acc:  7926 /  8276 =  95.771
1, 0  acc:  2767 /  2874 =  96.277
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 18245 / 19867 =  91.836
Robust  acc:   156 /   182 =  85.714
------------------------------------
New max robust acc: 85.71428571428571
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed41.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed41.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.145
Robust Acc: 80.000 | Best Acc: 95.806
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8706 /  9767 =  89.137
0, 1  acc:  7168 /  7535 =  95.129
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18394 / 19962 =  92.145
Robust  acc:   144 /   180 =  80.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8706 /  9767 =  89.137
0, 1  acc:  7168 /  7535 =  95.129
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18394 / 19962 =  92.145
Robust  acc:   144 /   180 =  80.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8706 /  9767 =  89.137
0, 1  acc:  7168 /  7535 =  95.129
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18394 / 19962 =  92.145
Robust  acc:   144 /   180 =  80.000
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.176 | Val Loss: 0.001 | Val Acc: 92.732
Training:
Accuracies by groups:
0, 0  acc: 20361 / 24878 =  81.843
0, 1  acc: 10211 / 11054 =  92.374
1, 0  acc: 117985 / 118676 =  99.418
1, 1  acc:  7989 /  8162 =  97.880
--------------------------------------
Average acc: 156546 / 162770 =  96.176
Robust  acc: 20361 / 24878 =  81.843
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7576 /  8535 =  88.764
0, 1  acc:  7975 /  8276 =  96.363
1, 0  acc:  2725 /  2874 =  94.816
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18423 / 19867 =  92.732
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 92.881
Robust Acc: 77.778 | Best Acc: 95.674
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8856 /  9767 =  90.673
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2336 /  2480 =  94.194
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18541 / 19962 =  92.881
Robust  acc:   140 /   180 =  77.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8856 /  9767 =  90.673
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2336 /  2480 =  94.194
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18541 / 19962 =  92.881
Robust  acc:   140 /   180 =  77.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8856 /  9767 =  90.673
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2336 /  2480 =  94.194
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18541 / 19962 =  92.881
Robust  acc:   140 /   180 =  77.778
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.347 | Val Loss: 0.001 | Val Acc: 93.406
Training:
Accuracies by groups:
0, 0  acc: 21646 / 25001 =  86.581
0, 1  acc: 10209 / 10854 =  94.057
1, 0  acc: 118442 / 118704 =  99.779
1, 1  acc:  8154 /  8211 =  99.306
--------------------------------------
Average acc: 158451 / 162770 =  97.347
Robust  acc: 21646 / 25001 =  86.581
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7671 /  8535 =  89.877
0, 1  acc:  8043 /  8276 =  97.185
1, 0  acc:  2703 /  2874 =  94.050
1, 1  acc:   140 /   182 =  76.923
------------------------------------
Average acc: 18557 / 19867 =  93.406
Robust  acc:   140 /   182 =  76.923
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.172
Robust Acc: 67.222 | Best Acc: 96.364
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8903 /  9767 =  91.154
0, 1  acc:  7261 /  7535 =  96.364
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18599 / 19962 =  93.172
Robust  acc:   121 /   180 =  67.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8903 /  9767 =  91.154
0, 1  acc:  7261 /  7535 =  96.364
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18599 / 19962 =  93.172
Robust  acc:   121 /   180 =  67.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8903 /  9767 =  91.154
0, 1  acc:  7261 /  7535 =  96.364
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   121 /   180 =  67.222
------------------------------------
Average acc: 18599 / 19962 =  93.172
Robust  acc:   121 /   180 =  67.222
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 98.262 | Val Loss: 0.001 | Val Acc: 93.960
Training:
Accuracies by groups:
0, 0  acc: 22944 / 25221 =  90.972
0, 1  acc: 10604 / 11022 =  96.208
1, 0  acc: 118259 / 118375 =  99.902
1, 1  acc:  8134 /  8152 =  99.779
--------------------------------------
Average acc: 159941 / 162770 =  98.262
Robust  acc: 22944 / 25221 =  90.972
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7831 /  8535 =  91.752
0, 1  acc:  8103 /  8276 =  97.910
1, 0  acc:  2612 /  2874 =  90.884
1, 1  acc:   121 /   182 =  66.484
------------------------------------
Average acc: 18667 / 19867 =  93.960
Robust  acc:   121 /   182 =  66.484
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.029
Robust Acc: 62.778 | Best Acc: 97.545
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  9074 /  9767 =  92.905
0, 1  acc:  7350 /  7535 =  97.545
1, 0  acc:  2233 /  2480 =  90.040
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18770 / 19962 =  94.029
Robust  acc:   113 /   180 =  62.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9074 /  9767 =  92.905
0, 1  acc:  7350 /  7535 =  97.545
1, 0  acc:  2233 /  2480 =  90.040
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18770 / 19962 =  94.029
Robust  acc:   113 /   180 =  62.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9074 /  9767 =  92.905
0, 1  acc:  7350 /  7535 =  97.545
1, 0  acc:  2233 /  2480 =  90.040
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18770 / 19962 =  94.029
Robust  acc:   113 /   180 =  62.778
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.802 | Val Loss: 0.001 | Val Acc: 93.774
Training:
Accuracies by groups:
0, 0  acc: 23312 / 24903 =  93.611
0, 1  acc: 10676 / 10952 =  97.480
1, 0  acc: 118668 / 118734 =  99.944
1, 1  acc:  8164 /  8181 =  99.792
--------------------------------------
Average acc: 160820 / 162770 =  98.802
Robust  acc: 23312 / 24903 =  93.611
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7701 /  8535 =  90.228
0, 1  acc:  8118 /  8276 =  98.091
1, 0  acc:  2683 /  2874 =  93.354
1, 1  acc:   128 /   182 =  70.330
------------------------------------
Average acc: 18630 / 19867 =  93.774
Robust  acc:   128 /   182 =  70.330
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.713
Robust Acc: 61.667 | Best Acc: 97.651
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8954 /  9767 =  91.676
0, 1  acc:  7358 /  7535 =  97.651
1, 0  acc:  2284 /  2480 =  92.097
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18707 / 19962 =  93.713
Robust  acc:   111 /   180 =  61.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8954 /  9767 =  91.676
0, 1  acc:  7358 /  7535 =  97.651
1, 0  acc:  2284 /  2480 =  92.097
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18707 / 19962 =  93.713
Robust  acc:   111 /   180 =  61.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8954 /  9767 =  91.676
0, 1  acc:  7358 /  7535 =  97.651
1, 0  acc:  2284 /  2480 =  92.097
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18707 / 19962 =  93.713
Robust  acc:   111 /   180 =  61.667
------------------------------------
Epoch:  10 | Train Loss: 0.000 | Train Acc: 99.019 | Val Loss: 0.001 | Val Acc: 94.423
Training:
Accuracies by groups:
0, 0  acc: 23905 / 25145 =  95.069
0, 1  acc: 10646 / 10869 =  97.948
1, 0  acc: 118535 / 118639 =  99.912
1, 1  acc:  8088 /  8117 =  99.643
--------------------------------------
Average acc: 161174 / 162770 =  99.019
Robust  acc: 23905 / 25145 =  95.069
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7915 /  8535 =  92.736
0, 1  acc:  8149 /  8276 =  98.465
1, 0  acc:  2584 /  2874 =  89.910
1, 1  acc:   111 /   182 =  60.989
------------------------------------
Average acc: 18759 / 19867 =  94.423
Robust  acc:   111 /   182 =  60.989
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.369
Robust Acc: 56.667 | Best Acc: 98.115
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9156 /  9767 =  93.744
0, 1  acc:  7393 /  7535 =  98.115
1, 0  acc:  2187 /  2480 =  88.185
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18838 / 19962 =  94.369
Robust  acc:   102 /   180 =  56.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9156 /  9767 =  93.744
0, 1  acc:  7393 /  7535 =  98.115
1, 0  acc:  2187 /  2480 =  88.185
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18838 / 19962 =  94.369
Robust  acc:   102 /   180 =  56.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9156 /  9767 =  93.744
0, 1  acc:  7393 /  7535 =  98.115
1, 0  acc:  2187 /  2480 =  88.185
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18838 / 19962 =  94.369
Robust  acc:   102 /   180 =  56.667
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.966 | Val Loss: 0.001 | Val Acc: 93.774
Training:
Accuracies by groups:
0, 0  acc: 23622 / 24846 =  95.074
0, 1  acc: 10690 / 10926 =  97.840
1, 0  acc: 118595 / 118775 =  99.848
1, 1  acc:  8180 /  8223 =  99.477
--------------------------------------
Average acc: 161087 / 162770 =  98.966
Robust  acc: 23622 / 24846 =  95.074
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7855 /  8535 =  92.033
0, 1  acc:  8106 /  8276 =  97.946
1, 0  acc:  2555 /  2874 =  88.900
1, 1  acc:   114 /   182 =  62.637
------------------------------------
Average acc: 18630 / 19867 =  93.774
Robust  acc:   114 /   182 =  62.637
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.938
Robust Acc: 58.889 | Best Acc: 97.558
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  9125 /  9767 =  93.427
0, 1  acc:  7351 /  7535 =  97.558
1, 0  acc:  2170 /  2480 =  87.500
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18752 / 19962 =  93.938
Robust  acc:   106 /   180 =  58.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9125 /  9767 =  93.427
0, 1  acc:  7351 /  7535 =  97.558
1, 0  acc:  2170 /  2480 =  87.500
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18752 / 19962 =  93.938
Robust  acc:   106 /   180 =  58.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9125 /  9767 =  93.427
0, 1  acc:  7351 /  7535 =  97.558
1, 0  acc:  2170 /  2480 =  87.500
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18752 / 19962 =  93.938
Robust  acc:   106 /   180 =  58.889
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.661 | Val Loss: 0.002 | Val Acc: 92.118
Training:
Accuracies by groups:
0, 0  acc: 23276 / 24774 =  93.953
0, 1  acc: 10788 / 11046 =  97.664
1, 0  acc: 118398 / 118720 =  99.729
1, 1  acc:  8128 /  8230 =  98.761
--------------------------------------
Average acc: 160590 / 162770 =  98.661
Robust  acc: 23276 / 24774 =  93.953
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7483 /  8535 =  87.674
0, 1  acc:  7985 /  8276 =  96.484
1, 0  acc:  2700 /  2874 =  93.946
1, 1  acc:   133 /   182 =  73.077
------------------------------------
Average acc: 18301 / 19867 =  92.118
Robust  acc:   133 /   182 =  73.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.601
Robust Acc: 72.778 | Best Acc: 95.780
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8847 /  9767 =  90.581
0, 1  acc:  7217 /  7535 =  95.780
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18485 / 19962 =  92.601
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8847 /  9767 =  90.581
0, 1  acc:  7217 /  7535 =  95.780
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18485 / 19962 =  92.601
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8847 /  9767 =  90.581
0, 1  acc:  7217 /  7535 =  95.780
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18485 / 19962 =  92.601
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 98.068 | Val Loss: 0.001 | Val Acc: 94.524
Training:
Accuracies by groups:
0, 0  acc: 22759 / 24818 =  91.704
0, 1  acc: 10616 / 10946 =  96.985
1, 0  acc: 118016 / 118617 =  99.493
1, 1  acc:  8234 /  8389 =  98.152
--------------------------------------
Average acc: 159625 / 162770 =  98.068
Robust  acc: 22759 / 24818 =  91.704
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7910 /  8535 =  92.677
0, 1  acc:  8154 /  8276 =  98.526
1, 0  acc:  2602 /  2874 =  90.536
1, 1  acc:   113 /   182 =  62.088
------------------------------------
Average acc: 18779 / 19867 =  94.524
Robust  acc:   113 /   182 =  62.088
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.610
Robust Acc: 58.333 | Best Acc: 98.062
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  9170 /  9767 =  93.888
0, 1  acc:  7389 /  7535 =  98.062
1, 0  acc:  2222 /  2480 =  89.597
1, 1  acc:   105 /   180 =  58.333
------------------------------------
Average acc: 18886 / 19962 =  94.610
Robust  acc:   105 /   180 =  58.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9170 /  9767 =  93.888
0, 1  acc:  7389 /  7535 =  98.062
1, 0  acc:  2222 /  2480 =  89.597
1, 1  acc:   105 /   180 =  58.333
------------------------------------
Average acc: 18886 / 19962 =  94.610
Robust  acc:   105 /   180 =  58.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9170 /  9767 =  93.888
0, 1  acc:  7389 /  7535 =  98.062
1, 0  acc:  2222 /  2480 =  89.597
1, 1  acc:   105 /   180 =  58.333
------------------------------------
Average acc: 18886 / 19962 =  94.610
Robust  acc:   105 /   180 =  58.333
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.254 | Val Loss: 0.002 | Val Acc: 89.143
Training:
Accuracies by groups:
0, 0  acc: 22121 / 24970 =  88.590
0, 1  acc: 10251 / 10736 =  95.482
1, 0  acc: 118139 / 119056 =  99.230
1, 1  acc:  7789 /  8008 =  97.265
--------------------------------------
Average acc: 158300 / 162770 =  97.254
Robust  acc: 22121 / 24970 =  88.590
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7023 /  8535 =  82.285
0, 1  acc:  7777 /  8276 =  93.971
1, 0  acc:  2762 /  2874 =  96.103
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 17710 / 19867 =  89.143
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.525
Robust Acc: 77.222 | Best Acc: 95.524
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8322 /  9767 =  85.205
0, 1  acc:  7041 /  7535 =  93.444
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 17871 / 19962 =  89.525
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8322 /  9767 =  85.205
0, 1  acc:  7041 /  7535 =  93.444
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 17871 / 19962 =  89.525
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8322 /  9767 =  85.205
0, 1  acc:  7041 /  7535 =  93.444
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 17871 / 19962 =  89.525
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.703 | Val Loss: 0.001 | Val Acc: 94.629
Training:
Accuracies by groups:
0, 0  acc: 21506 / 24775 =  86.805
0, 1  acc: 10421 / 11023 =  94.539
1, 0  acc: 117608 / 118812 =  98.987
1, 1  acc:  7869 /  8160 =  96.434
--------------------------------------
Average acc: 157404 / 162770 =  96.703
Robust  acc: 21506 / 24775 =  86.805
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8221 /  8535 =  96.321
0, 1  acc:  8217 /  8276 =  99.287
1, 0  acc:  2270 /  2874 =  78.984
1, 1  acc:    92 /   182 =  50.549
------------------------------------
Average acc: 18800 / 19867 =  94.629
Robust  acc:    92 /   182 =  50.549
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.570
Robust Acc: 43.889 | Best Acc: 98.978
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  9465 /  9767 =  96.908
0, 1  acc:  7458 /  7535 =  98.978
1, 0  acc:  1876 /  2480 =  75.645
1, 1  acc:    79 /   180 =  43.889
------------------------------------
Average acc: 18878 / 19962 =  94.570
Robust  acc:    79 /   180 =  43.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9465 /  9767 =  96.908
0, 1  acc:  7458 /  7535 =  98.978
1, 0  acc:  1876 /  2480 =  75.645
1, 1  acc:    79 /   180 =  43.889
------------------------------------
Average acc: 18878 / 19962 =  94.570
Robust  acc:    79 /   180 =  43.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9465 /  9767 =  96.908
0, 1  acc:  7458 /  7535 =  98.978
1, 0  acc:  1876 /  2480 =  75.645
1, 1  acc:    79 /   180 =  43.889
------------------------------------
Average acc: 18878 / 19962 =  94.570
Robust  acc:    79 /   180 =  43.889
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.038 | Val Loss: 0.001 | Val Acc: 93.985
Training:
Accuracies by groups:
0, 0  acc: 21063 / 24976 =  84.333
0, 1  acc: 10253 / 10984 =  93.345
1, 0  acc: 117269 / 118702 =  98.793
1, 1  acc:  7736 /  8108 =  95.412
--------------------------------------
Average acc: 156321 / 162770 =  96.038
Robust  acc: 21063 / 24976 =  84.333
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7723 /  8535 =  90.486
0, 1  acc:  8100 /  8276 =  97.873
1, 0  acc:  2715 /  2874 =  94.468
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18672 / 19867 =  93.985
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.069
Robust Acc: 68.889 | Best Acc: 97.399
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8995 /  9767 =  92.096
0, 1  acc:  7339 /  7535 =  97.399
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18778 / 19962 =  94.069
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8995 /  9767 =  92.096
0, 1  acc:  7339 /  7535 =  97.399
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18778 / 19962 =  94.069
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8995 /  9767 =  92.096
0, 1  acc:  7339 /  7535 =  97.399
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18778 / 19962 =  94.069
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.521 | Val Loss: 0.001 | Val Acc: 94.534
Training:
Accuracies by groups:
0, 0  acc: 20566 / 24988 =  82.304
0, 1  acc: 10110 / 11002 =  91.892
1, 0  acc: 117057 / 118616 =  98.686
1, 1  acc:  7746 /  8164 =  94.880
--------------------------------------
Average acc: 155479 / 162770 =  95.521
Robust  acc: 20566 / 24988 =  82.304
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8002 /  8535 =  93.755
0, 1  acc:  8095 /  8276 =  97.813
1, 0  acc:  2555 /  2874 =  88.900
1, 1  acc:   129 /   182 =  70.879
------------------------------------
Average acc: 18781 / 19867 =  94.534
Robust  acc:   129 /   182 =  70.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.660
Robust Acc: 61.111 | Best Acc: 97.558
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  9273 /  9767 =  94.942
0, 1  acc:  7351 /  7535 =  97.558
1, 0  acc:  2162 /  2480 =  87.177
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18896 / 19962 =  94.660
Robust  acc:   110 /   180 =  61.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9273 /  9767 =  94.942
0, 1  acc:  7351 /  7535 =  97.558
1, 0  acc:  2162 /  2480 =  87.177
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18896 / 19962 =  94.660
Robust  acc:   110 /   180 =  61.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9273 /  9767 =  94.942
0, 1  acc:  7351 /  7535 =  97.558
1, 0  acc:  2162 /  2480 =  87.177
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18896 / 19962 =  94.660
Robust  acc:   110 /   180 =  61.111
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 94.850 | Val Loss: 0.003 | Val Acc: 87.854
Training:
Accuracies by groups:
0, 0  acc: 19991 / 25106 =  79.626
0, 1  acc:  9923 / 10941 =  90.696
1, 0  acc: 116829 / 118589 =  98.516
1, 1  acc:  7645 /  8134 =  93.988
--------------------------------------
Average acc: 154388 / 162770 =  94.850
Robust  acc: 19991 / 25106 =  79.626
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6988 /  8535 =  81.875
0, 1  acc:  7492 /  8276 =  90.527
1, 0  acc:  2808 /  2874 =  97.704
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17454 / 19867 =  87.854
Robust  acc:  6988 /  8535 =  81.875
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.924
Robust Acc: 85.994 | Best Acc: 96.976
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8399 /  9767 =  85.994
0, 1  acc:  6789 /  7535 =  90.100
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17751 / 19962 =  88.924
Robust  acc:  8399 /  9767 =  85.994
------------------------------------
Accuracies by groups:
0, 0  acc:  8399 /  9767 =  85.994
0, 1  acc:  6789 /  7535 =  90.100
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17751 / 19962 =  88.924
Robust  acc:  8399 /  9767 =  85.994
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8399 /  9767 =  85.994
0, 1  acc:  6789 /  7535 =  90.100
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17751 / 19962 =  88.924
Robust  acc:  8399 /  9767 =  85.994
------------------------------------
Epoch:  19 | Train Loss: 0.002 | Train Acc: 94.173 | Val Loss: 0.003 | Val Acc: 88.846
Training:
Accuracies by groups:
0, 0  acc: 19164 / 24764 =  77.387
0, 1  acc:  9917 / 11070 =  89.584
1, 0  acc: 116682 / 118788 =  98.227
1, 1  acc:  7523 /  8148 =  92.329
--------------------------------------
Average acc: 153286 / 162770 =  94.173
Robust  acc: 19164 / 24764 =  77.387
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6957 /  8535 =  81.511
0, 1  acc:  7712 /  8276 =  93.185
1, 0  acc:  2820 /  2874 =  98.121
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17651 / 19867 =  88.846
Robust  acc:  6957 /  8535 =  81.511
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.510
Robust Acc: 82.222 | Best Acc: 97.460
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  8296 /  9767 =  84.939
0, 1  acc:  7007 /  7535 =  92.993
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 17868 / 19962 =  89.510
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8296 /  9767 =  84.939
0, 1  acc:  7007 /  7535 =  92.993
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 17868 / 19962 =  89.510
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8296 /  9767 =  84.939
0, 1  acc:  7007 /  7535 =  92.993
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 17868 / 19962 =  89.510
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 93.712 | Val Loss: 0.004 | Val Acc: 81.824
Training:
Accuracies by groups:
0, 0  acc: 18821 / 24756 =  76.026
0, 1  acc:  9609 / 10966 =  87.625
1, 0  acc: 116637 / 118889 =  98.106
1, 1  acc:  7468 /  8159 =  91.531
--------------------------------------
Average acc: 152535 / 162770 =  93.712
Robust  acc: 18821 / 24756 =  76.026
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6410 /  8535 =  75.103
0, 1  acc:  6832 /  8276 =  82.552
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16256 / 19867 =  81.824
Robust  acc:  6410 /  8535 =  75.103
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 83.208
Robust Acc: 79.871 | Best Acc: 98.226
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  7801 /  9767 =  79.871
0, 1  acc:  6203 /  7535 =  82.322
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16610 / 19962 =  83.208
Robust  acc:  7801 /  9767 =  79.871
------------------------------------
Accuracies by groups:
0, 0  acc:  7801 /  9767 =  79.871
0, 1  acc:  6203 /  7535 =  82.322
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16610 / 19962 =  83.208
Robust  acc:  7801 /  9767 =  79.871
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7801 /  9767 =  79.871
0, 1  acc:  6203 /  7535 =  82.322
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16610 / 19962 =  83.208
Robust  acc:  7801 /  9767 =  79.871
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 93.384 | Val Loss: 0.002 | Val Acc: 92.515
Training:
Accuracies by groups:
0, 0  acc: 18527 / 24838 =  74.591
0, 1  acc:  9556 / 11033 =  86.613
1, 0  acc: 116306 / 118579 =  98.083
1, 1  acc:  7612 /  8320 =  91.490
--------------------------------------
Average acc: 152001 / 162770 =  93.384
Robust  acc: 18527 / 24838 =  74.591
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7667 /  8535 =  89.830
0, 1  acc:  7934 /  8276 =  95.868
1, 0  acc:  2641 /  2874 =  91.893
1, 1  acc:   138 /   182 =  75.824
------------------------------------
Average acc: 18380 / 19867 =  92.515
Robust  acc:   138 /   182 =  75.824
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.917
Robust Acc: 69.444 | Best Acc: 95.674
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8980 /  9767 =  91.942
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18548 / 19962 =  92.917
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8980 /  9767 =  91.942
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18548 / 19962 =  92.917
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8980 /  9767 =  91.942
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18548 / 19962 =  92.917
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 93.011 | Val Loss: 0.004 | Val Acc: 79.252
Training:
Accuracies by groups:
0, 0  acc: 18224 / 24803 =  73.475
0, 1  acc:  9457 / 11044 =  85.630
1, 0  acc: 116346 / 118864 =  97.882
1, 1  acc:  7367 /  8059 =  91.413
--------------------------------------
Average acc: 151394 / 162770 =  93.011
Robust  acc: 18224 / 24803 =  73.475
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5759 /  8535 =  67.475
0, 1  acc:  6957 /  8276 =  84.062
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 15745 / 19867 =  79.252
Robust  acc:  5759 /  8535 =  67.475
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.418
Robust Acc: 72.509 | Best Acc: 99.315
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  7082 /  9767 =  72.509
0, 1  acc:  6340 /  7535 =  84.141
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16053 / 19962 =  80.418
Robust  acc:  7082 /  9767 =  72.509
------------------------------------
Accuracies by groups:
0, 0  acc:  7082 /  9767 =  72.509
0, 1  acc:  6340 /  7535 =  84.141
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16053 / 19962 =  80.418
Robust  acc:  7082 /  9767 =  72.509
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7082 /  9767 =  72.509
0, 1  acc:  6340 /  7535 =  84.141
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16053 / 19962 =  80.418
Robust  acc:  7082 /  9767 =  72.509
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 93.009 | Val Loss: 0.006 | Val Acc: 69.396
Training:
Accuracies by groups:
0, 0  acc: 18021 / 24705 =  72.945
0, 1  acc:  9280 / 10952 =  84.733
1, 0  acc: 116425 / 118808 =  97.994
1, 1  acc:  7665 /  8305 =  92.294
--------------------------------------
Average acc: 151391 / 162770 =  93.009
Robust  acc: 18021 / 24705 =  72.945
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4904 /  8535 =  57.458
0, 1  acc:  5835 /  8276 =  70.505
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13787 / 19867 =  69.396
Robust  acc:  4904 /  8535 =  57.458
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 70.845
Robust Acc: 63.500 | Best Acc: 99.718
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  6202 /  9767 =  63.500
0, 1  acc:  5289 /  7535 =  70.192
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14142 / 19962 =  70.845
Robust  acc:  6202 /  9767 =  63.500
------------------------------------
Accuracies by groups:
0, 0  acc:  6202 /  9767 =  63.500
0, 1  acc:  5289 /  7535 =  70.192
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14142 / 19962 =  70.845
Robust  acc:  6202 /  9767 =  63.500
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6202 /  9767 =  63.500
0, 1  acc:  5289 /  7535 =  70.192
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14142 / 19962 =  70.845
Robust  acc:  6202 /  9767 =  63.500
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 92.613 | Val Loss: 0.008 | Val Acc: 44.264
Training:
Accuracies by groups:
0, 0  acc: 18001 / 25075 =  71.789
0, 1  acc:  9168 / 10968 =  83.589
1, 0  acc: 116346 / 118744 =  97.981
1, 1  acc:  7231 /  7983 =  90.580
--------------------------------------
Average acc: 150746 / 162770 =  92.613
Robust  acc: 18001 / 25075 =  71.789
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2799 /  8535 =  32.794
0, 1  acc:  2944 /  8276 =  35.573
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  8794 / 19867 =  44.264
Robust  acc:  2799 /  8535 =  32.794
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 44.419
Robust Acc: 34.466 | Best Acc: 99.919
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  3614 /  9767 =  37.002
0, 1  acc:  2597 /  7535 =  34.466
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8867 / 19962 =  44.419
Robust  acc:  2597 /  7535 =  34.466
------------------------------------
Accuracies by groups:
0, 0  acc:  3614 /  9767 =  37.002
0, 1  acc:  2597 /  7535 =  34.466
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8867 / 19962 =  44.419
Robust  acc:  2597 /  7535 =  34.466
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3614 /  9767 =  37.002
0, 1  acc:  2597 /  7535 =  34.466
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8867 / 19962 =  44.419
Robust  acc:  2597 /  7535 =  34.466
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 92.595 | Val Loss: 0.002 | Val Acc: 94.171
Training:
Accuracies by groups:
0, 0  acc: 17633 / 24687 =  71.426
0, 1  acc:  9068 / 10966 =  82.692
1, 0  acc: 116288 / 118724 =  97.948
1, 1  acc:  7728 /  8393 =  92.077
--------------------------------------
Average acc: 150717 / 162770 =  92.595
Robust  acc: 17633 / 24687 =  71.426
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8343 /  8535 =  97.750
0, 1  acc:  8240 /  8276 =  99.565
1, 0  acc:  2068 /  2874 =  71.955
1, 1  acc:    58 /   182 =  31.868
------------------------------------
Average acc: 18709 / 19867 =  94.171
Robust  acc:    58 /   182 =  31.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.510
Robust Acc: 26.111 | Best Acc: 99.602
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  9583 /  9767 =  98.116
0, 1  acc:  7505 /  7535 =  99.602
1, 0  acc:  1731 /  2480 =  69.798
1, 1  acc:    47 /   180 =  26.111
------------------------------------
Average acc: 18866 / 19962 =  94.510
Robust  acc:    47 /   180 =  26.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9583 /  9767 =  98.116
0, 1  acc:  7505 /  7535 =  99.602
1, 0  acc:  1731 /  2480 =  69.798
1, 1  acc:    47 /   180 =  26.111
------------------------------------
Average acc: 18866 / 19962 =  94.510
Robust  acc:    47 /   180 =  26.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9583 /  9767 =  98.116
0, 1  acc:  7505 /  7535 =  99.602
1, 0  acc:  1731 /  2480 =  69.798
1, 1  acc:    47 /   180 =  26.111
------------------------------------
Average acc: 18866 / 19962 =  94.510
Robust  acc:    47 /   180 =  26.111
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 92.521 | Val Loss: 0.003 | Val Acc: 91.579
Training:
Accuracies by groups:
0, 0  acc: 17554 / 24810 =  70.754
0, 1  acc:  9183 / 11039 =  83.187
1, 0  acc: 116269 / 118620 =  98.018
1, 1  acc:  7591 /  8301 =  91.447
--------------------------------------
Average acc: 150597 / 162770 =  92.521
Robust  acc: 17554 / 24810 =  70.754
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7430 /  8535 =  87.053
0, 1  acc:  7880 /  8276 =  95.215
1, 0  acc:  2736 /  2874 =  95.198
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 18194 / 19867 =  91.579
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.376
Robust Acc: 71.667 | Best Acc: 95.209
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  8791 /  9767 =  90.007
0, 1  acc:  7174 /  7535 =  95.209
1, 0  acc:  2346 /  2480 =  94.597
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18440 / 19962 =  92.376
Robust  acc:   129 /   180 =  71.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8791 /  9767 =  90.007
0, 1  acc:  7174 /  7535 =  95.209
1, 0  acc:  2346 /  2480 =  94.597
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18440 / 19962 =  92.376
Robust  acc:   129 /   180 =  71.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8791 /  9767 =  90.007
0, 1  acc:  7174 /  7535 =  95.209
1, 0  acc:  2346 /  2480 =  94.597
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18440 / 19962 =  92.376
Robust  acc:   129 /   180 =  71.667
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 92.411 | Val Loss: 0.002 | Val Acc: 94.544
Training:
Accuracies by groups:
0, 0  acc: 17572 / 24967 =  70.381
0, 1  acc:  8906 / 10871 =  81.924
1, 0  acc: 116328 / 118670 =  98.026
1, 1  acc:  7612 /  8262 =  92.133
--------------------------------------
Average acc: 150418 / 162770 =  92.411
Robust  acc: 17572 / 24967 =  70.381
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8275 /  8535 =  96.954
0, 1  acc:  8235 /  8276 =  99.505
1, 0  acc:  2199 /  2874 =  76.514
1, 1  acc:    74 /   182 =  40.659
------------------------------------
Average acc: 18783 / 19867 =  94.544
Robust  acc:    74 /   182 =  40.659
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.855
Robust Acc: 33.333 | Best Acc: 99.363
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  9544 /  9767 =  97.717
0, 1  acc:  7487 /  7535 =  99.363
1, 0  acc:  1844 /  2480 =  74.355
1, 1  acc:    60 /   180 =  33.333
------------------------------------
Average acc: 18935 / 19962 =  94.855
Robust  acc:    60 /   180 =  33.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9544 /  9767 =  97.717
0, 1  acc:  7487 /  7535 =  99.363
1, 0  acc:  1844 /  2480 =  74.355
1, 1  acc:    60 /   180 =  33.333
------------------------------------
Average acc: 18935 / 19962 =  94.855
Robust  acc:    60 /   180 =  33.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9544 /  9767 =  97.717
0, 1  acc:  7487 /  7535 =  99.363
1, 0  acc:  1844 /  2480 =  74.355
1, 1  acc:    60 /   180 =  33.333
------------------------------------
Average acc: 18935 / 19962 =  94.855
Robust  acc:    60 /   180 =  33.333
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 92.380 | Val Loss: 0.004 | Val Acc: 78.547
Training:
Accuracies by groups:
0, 0  acc: 17671 / 25054 =  70.532
0, 1  acc:  8979 / 10982 =  81.761
1, 0  acc: 116285 / 118613 =  98.037
1, 1  acc:  7432 /  8121 =  91.516
--------------------------------------
Average acc: 150367 / 162770 =  92.380
Robust  acc: 17671 / 25054 =  70.532
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5907 /  8535 =  69.209
0, 1  acc:  6698 /  8276 =  80.933
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 15605 / 19867 =  78.547
Robust  acc:  5907 /  8535 =  69.209
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.721
Robust Acc: 74.055 | Best Acc: 98.266
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  7233 /  9767 =  74.055
0, 1  acc:  6081 /  7535 =  80.703
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 15914 / 19962 =  79.721
Robust  acc:  7233 /  9767 =  74.055
------------------------------------
Accuracies by groups:
0, 0  acc:  7233 /  9767 =  74.055
0, 1  acc:  6081 /  7535 =  80.703
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 15914 / 19962 =  79.721
Robust  acc:  7233 /  9767 =  74.055
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7233 /  9767 =  74.055
0, 1  acc:  6081 /  7535 =  80.703
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 15914 / 19962 =  79.721
Robust  acc:  7233 /  9767 =  74.055
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 92.480 | Val Loss: 0.002 | Val Acc: 93.396
Training:
Accuracies by groups:
0, 0  acc: 17691 / 25044 =  70.640
0, 1  acc:  8992 / 10964 =  82.014
1, 0  acc: 116353 / 118604 =  98.102
1, 1  acc:  7493 /  8158 =  91.848
--------------------------------------
Average acc: 150529 / 162770 =  92.480
Robust  acc: 17691 / 25044 =  70.640
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8300 /  8535 =  97.247
0, 1  acc:  8186 /  8276 =  98.913
1, 0  acc:  1990 /  2874 =  69.241
1, 1  acc:    79 /   182 =  43.407
------------------------------------
Average acc: 18555 / 19867 =  93.396
Robust  acc:    79 /   182 =  43.407
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.623
Robust Acc: 31.667 | Best Acc: 98.726
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  9552 /  9767 =  97.799
0, 1  acc:  7439 /  7535 =  98.726
1, 0  acc:  1641 /  2480 =  66.169
1, 1  acc:    57 /   180 =  31.667
------------------------------------
Average acc: 18689 / 19962 =  93.623
Robust  acc:    57 /   180 =  31.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9552 /  9767 =  97.799
0, 1  acc:  7439 /  7535 =  98.726
1, 0  acc:  1641 /  2480 =  66.169
1, 1  acc:    57 /   180 =  31.667
------------------------------------
Average acc: 18689 / 19962 =  93.623
Robust  acc:    57 /   180 =  31.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9552 /  9767 =  97.799
0, 1  acc:  7439 /  7535 =  98.726
1, 0  acc:  1641 /  2480 =  66.169
1, 1  acc:    57 /   180 =  31.667
------------------------------------
Average acc: 18689 / 19962 =  93.623
Robust  acc:    57 /   180 =  31.667
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 92.414 | Val Loss: 0.005 | Val Acc: 72.643
Training:
Accuracies by groups:
0, 0  acc: 17394 / 24844 =  70.013
0, 1  acc:  8912 / 10915 =  81.649
1, 0  acc: 116655 / 118875 =  98.132
1, 1  acc:  7462 /  8136 =  91.716
--------------------------------------
Average acc: 150423 / 162770 =  92.414
Robust  acc: 17394 / 24844 =  70.013
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5662 /  8535 =  66.339
0, 1  acc:  5737 /  8276 =  69.321
1, 0  acc:  2852 /  2874 =  99.235
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14432 / 19867 =  72.643
Robust  acc:  5662 /  8535 =  66.339
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.426
Robust Acc: 68.693 | Best Acc: 99.234
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7045 /  9767 =  72.131
0, 1  acc:  5176 /  7535 =  68.693
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14857 / 19962 =  74.426
Robust  acc:  5176 /  7535 =  68.693
------------------------------------
Accuracies by groups:
0, 0  acc:  7045 /  9767 =  72.131
0, 1  acc:  5176 /  7535 =  68.693
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14857 / 19962 =  74.426
Robust  acc:  5176 /  7535 =  68.693
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7045 /  9767 =  72.131
0, 1  acc:  5176 /  7535 =  68.693
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14857 / 19962 =  74.426
Robust  acc:  5176 /  7535 =  68.693
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 92.477 | Val Loss: 0.006 | Val Acc: 68.375
Training:
Accuracies by groups:
0, 0  acc: 17497 / 25049 =  69.851
0, 1  acc:  8801 / 10737 =  81.969
1, 0  acc: 116801 / 118910 =  98.226
1, 1  acc:  7425 /  8074 =  91.962
--------------------------------------
Average acc: 150524 / 162770 =  92.477
Robust  acc: 17497 / 25049 =  69.851
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5140 /  8535 =  60.223
0, 1  acc:  5404 /  8276 =  65.297
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13584 / 19867 =  68.375
Robust  acc:  5140 /  8535 =  60.223
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 70.073
Robust Acc: 64.605 | Best Acc: 99.395
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  6479 /  9767 =  66.336
0, 1  acc:  4868 /  7535 =  64.605
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13988 / 19962 =  70.073
Robust  acc:  4868 /  7535 =  64.605
------------------------------------
Accuracies by groups:
0, 0  acc:  6479 /  9767 =  66.336
0, 1  acc:  4868 /  7535 =  64.605
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13988 / 19962 =  70.073
Robust  acc:  4868 /  7535 =  64.605
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6479 /  9767 =  66.336
0, 1  acc:  4868 /  7535 =  64.605
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13988 / 19962 =  70.073
Robust  acc:  4868 /  7535 =  64.605
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 92.398 | Val Loss: 0.004 | Val Acc: 84.708
Training:
Accuracies by groups:
0, 0  acc: 17221 / 24811 =  69.409
0, 1  acc:  8928 / 10924 =  81.728
1, 0  acc: 116652 / 118834 =  98.164
1, 1  acc:  7596 /  8201 =  92.623
--------------------------------------
Average acc: 150397 / 162770 =  92.398
Robust  acc: 17221 / 24811 =  69.409
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6862 /  8535 =  80.398
0, 1  acc:  6989 /  8276 =  84.449
1, 0  acc:  2801 /  2874 =  97.460
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16829 / 19867 =  84.708
Robust  acc:  6862 /  8535 =  80.398
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.184
Robust Acc: 84.074 | Best Acc: 96.411
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  8313 /  9767 =  85.113
0, 1  acc:  6335 /  7535 =  84.074
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17204 / 19962 =  86.184
Robust  acc:  6335 /  7535 =  84.074
------------------------------------
Accuracies by groups:
0, 0  acc:  8313 /  9767 =  85.113
0, 1  acc:  6335 /  7535 =  84.074
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17204 / 19962 =  86.184
Robust  acc:  6335 /  7535 =  84.074
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8313 /  9767 =  85.113
0, 1  acc:  6335 /  7535 =  84.074
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17204 / 19962 =  86.184
Robust  acc:  6335 /  7535 =  84.074
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 92.462 | Val Loss: 0.003 | Val Acc: 93.049
Training:
Accuracies by groups:
0, 0  acc: 17418 / 24995 =  69.686
0, 1  acc:  8986 / 10980 =  81.840
1, 0  acc: 116430 / 118528 =  98.230
1, 1  acc:  7666 /  8267 =  92.730
--------------------------------------
Average acc: 150500 / 162770 =  92.462
Robust  acc: 17418 / 24995 =  69.686
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7629 /  8535 =  89.385
0, 1  acc:  8022 /  8276 =  96.931
1, 0  acc:  2705 /  2874 =  94.120
1, 1  acc:   130 /   182 =  71.429
------------------------------------
Average acc: 18486 / 19867 =  93.049
Robust  acc:   130 /   182 =  71.429
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.593
Robust Acc: 66.111 | Best Acc: 96.921
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  8951 /  9767 =  91.645
0, 1  acc:  7303 /  7535 =  96.921
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18683 / 19962 =  93.593
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8951 /  9767 =  91.645
0, 1  acc:  7303 /  7535 =  96.921
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18683 / 19962 =  93.593
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8951 /  9767 =  91.645
0, 1  acc:  7303 /  7535 =  96.921
1, 0  acc:  2310 /  2480 =  93.145
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18683 / 19962 =  93.593
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 92.549 | Val Loss: 0.003 | Val Acc: 94.428
Training:
Accuracies by groups:
0, 0  acc: 17438 / 24888 =  70.066
0, 1  acc:  8991 / 10967 =  81.982
1, 0  acc: 116541 / 118622 =  98.246
1, 1  acc:  7672 /  8293 =  92.512
--------------------------------------
Average acc: 150642 / 162770 =  92.549
Robust  acc: 17438 / 24888 =  70.066
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8114 /  8535 =  95.067
0, 1  acc:  8179 /  8276 =  98.828
1, 0  acc:  2381 /  2874 =  82.846
1, 1  acc:    86 /   182 =  47.253
------------------------------------
Average acc: 18760 / 19867 =  94.428
Robust  acc:    86 /   182 =  47.253
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.970
Robust Acc: 46.667 | Best Acc: 98.752
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  9401 /  9767 =  96.253
0, 1  acc:  7441 /  7535 =  98.752
1, 0  acc:  2032 /  2480 =  81.935
1, 1  acc:    84 /   180 =  46.667
------------------------------------
Average acc: 18958 / 19962 =  94.970
Robust  acc:    84 /   180 =  46.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9401 /  9767 =  96.253
0, 1  acc:  7441 /  7535 =  98.752
1, 0  acc:  2032 /  2480 =  81.935
1, 1  acc:    84 /   180 =  46.667
------------------------------------
Average acc: 18958 / 19962 =  94.970
Robust  acc:    84 /   180 =  46.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9401 /  9767 =  96.253
0, 1  acc:  7441 /  7535 =  98.752
1, 0  acc:  2032 /  2480 =  81.935
1, 1  acc:    84 /   180 =  46.667
------------------------------------
Average acc: 18958 / 19962 =  94.970
Robust  acc:    84 /   180 =  46.667
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 92.567 | Val Loss: 0.004 | Val Acc: 82.952
Training:
Accuracies by groups:
0, 0  acc: 17376 / 24784 =  70.110
0, 1  acc:  9044 / 11039 =  81.928
1, 0  acc: 116797 / 118866 =  98.259
1, 1  acc:  7455 /  8081 =  92.253
--------------------------------------
Average acc: 150672 / 162770 =  92.567
Robust  acc: 17376 / 24784 =  70.110
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6587 /  8535 =  77.176
0, 1  acc:  6894 /  8276 =  83.301
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16480 / 19867 =  82.952
Robust  acc:  6587 /  8535 =  77.176
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.641
Robust Acc: 81.949 | Best Acc: 97.863
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  8004 /  9767 =  81.949
0, 1  acc:  6301 /  7535 =  83.623
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16896 / 19962 =  84.641
Robust  acc:  8004 /  9767 =  81.949
------------------------------------
Accuracies by groups:
0, 0  acc:  8004 /  9767 =  81.949
0, 1  acc:  6301 /  7535 =  83.623
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16896 / 19962 =  84.641
Robust  acc:  8004 /  9767 =  81.949
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8004 /  9767 =  81.949
0, 1  acc:  6301 /  7535 =  83.623
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16896 / 19962 =  84.641
Robust  acc:  8004 /  9767 =  81.949
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 92.538 | Val Loss: 0.003 | Val Acc: 92.928
Training:
Accuracies by groups:
0, 0  acc: 17487 / 24993 =  69.968
0, 1  acc:  8941 / 10916 =  81.907
1, 0  acc: 116739 / 118778 =  98.283
1, 1  acc:  7457 /  8083 =  92.255
--------------------------------------
Average acc: 150624 / 162770 =  92.538
Robust  acc: 17487 / 24993 =  69.968
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7634 /  8535 =  89.443
0, 1  acc:  8051 /  8276 =  97.281
1, 0  acc:  2660 /  2874 =  92.554
1, 1  acc:   117 /   182 =  64.286
------------------------------------
Average acc: 18462 / 19867 =  92.928
Robust  acc:   117 /   182 =  64.286
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.357
Robust Acc: 62.222 | Best Acc: 96.881
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8953 /  9767 =  91.666
0, 1  acc:  7300 /  7535 =  96.881
1, 0  acc:  2271 /  2480 =  91.573
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18636 / 19962 =  93.357
Robust  acc:   112 /   180 =  62.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8953 /  9767 =  91.666
0, 1  acc:  7300 /  7535 =  96.881
1, 0  acc:  2271 /  2480 =  91.573
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18636 / 19962 =  93.357
Robust  acc:   112 /   180 =  62.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8953 /  9767 =  91.666
0, 1  acc:  7300 /  7535 =  96.881
1, 0  acc:  2271 /  2480 =  91.573
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18636 / 19962 =  93.357
Robust  acc:   112 /   180 =  62.222
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 92.550 | Val Loss: 0.004 | Val Acc: 84.970
Training:
Accuracies by groups:
0, 0  acc: 17313 / 24729 =  70.011
0, 1  acc:  9063 / 11045 =  82.055
1, 0  acc: 116834 / 118936 =  98.233
1, 1  acc:  7433 /  8060 =  92.221
--------------------------------------
Average acc: 150643 / 162770 =  92.550
Robust  acc: 17313 / 24729 =  70.011
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6682 /  8535 =  78.289
0, 1  acc:  7197 /  8276 =  86.962
1, 0  acc:  2826 /  2874 =  98.330
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16881 / 19867 =  84.970
Robust  acc:  6682 /  8535 =  78.289
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.549
Robust Acc: 83.024 | Best Acc: 97.581
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  8109 /  9767 =  83.024
0, 1  acc:  6587 /  7535 =  87.419
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17277 / 19962 =  86.549
Robust  acc:  8109 /  9767 =  83.024
------------------------------------
Accuracies by groups:
0, 0  acc:  8109 /  9767 =  83.024
0, 1  acc:  6587 /  7535 =  87.419
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17277 / 19962 =  86.549
Robust  acc:  8109 /  9767 =  83.024
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8109 /  9767 =  83.024
0, 1  acc:  6587 /  7535 =  87.419
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17277 / 19962 =  86.549
Robust  acc:  8109 /  9767 =  83.024
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 92.668 | Val Loss: 0.002 | Val Acc: 93.462
Training:
Accuracies by groups:
0, 0  acc: 17567 / 24939 =  70.440
0, 1  acc:  9028 / 11013 =  81.976
1, 0  acc: 116742 / 118729 =  98.326
1, 1  acc:  7499 /  8089 =  92.706
--------------------------------------
Average acc: 150836 / 162770 =  92.668
Robust  acc: 17567 / 24939 =  70.440
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8077 /  8535 =  94.634
0, 1  acc:  8038 /  8276 =  97.124
1, 0  acc:  2342 /  2874 =  81.489
1, 1  acc:   111 /   182 =  60.989
------------------------------------
Average acc: 18568 / 19867 =  93.462
Robust  acc:   111 /   182 =  60.989
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.979
Robust Acc: 53.889 | Best Acc: 97.306
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  9339 /  9767 =  95.618
0, 1  acc:  7332 /  7535 =  97.306
1, 0  acc:  1992 /  2480 =  80.323
1, 1  acc:    97 /   180 =  53.889
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:    97 /   180 =  53.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9339 /  9767 =  95.618
0, 1  acc:  7332 /  7535 =  97.306
1, 0  acc:  1992 /  2480 =  80.323
1, 1  acc:    97 /   180 =  53.889
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:    97 /   180 =  53.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9339 /  9767 =  95.618
0, 1  acc:  7332 /  7535 =  97.306
1, 0  acc:  1992 /  2480 =  80.323
1, 1  acc:    97 /   180 =  53.889
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:    97 /   180 =  53.889
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 92.673 | Val Loss: 0.003 | Val Acc: 93.607
Training:
Accuracies by groups:
0, 0  acc: 17327 / 24682 =  70.201
0, 1  acc:  8916 / 10882 =  81.933
1, 0  acc: 117001 / 118987 =  98.331
1, 1  acc:  7600 /  8219 =  92.469
--------------------------------------
Average acc: 150844 / 162770 =  92.673
Robust  acc: 17327 / 24682 =  70.201
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7798 /  8535 =  91.365
0, 1  acc:  8118 /  8276 =  98.091
1, 0  acc:  2582 /  2874 =  89.840
1, 1  acc:    99 /   182 =  54.396
------------------------------------
Average acc: 18597 / 19867 =  93.607
Robust  acc:    99 /   182 =  54.396
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.294
Robust Acc: 46.111 | Best Acc: 98.328
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  9102 /  9767 =  93.191
0, 1  acc:  7409 /  7535 =  98.328
1, 0  acc:  2229 /  2480 =  89.879
1, 1  acc:    83 /   180 =  46.111
------------------------------------
Average acc: 18823 / 19962 =  94.294
Robust  acc:    83 /   180 =  46.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9102 /  9767 =  93.191
0, 1  acc:  7409 /  7535 =  98.328
1, 0  acc:  2229 /  2480 =  89.879
1, 1  acc:    83 /   180 =  46.111
------------------------------------
Average acc: 18823 / 19962 =  94.294
Robust  acc:    83 /   180 =  46.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9102 /  9767 =  93.191
0, 1  acc:  7409 /  7535 =  98.328
1, 0  acc:  2229 /  2480 =  89.879
1, 1  acc:    83 /   180 =  46.111
------------------------------------
Average acc: 18823 / 19962 =  94.294
Robust  acc:    83 /   180 =  46.111
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 92.655 | Val Loss: 0.004 | Val Acc: 80.531
Training:
Accuracies by groups:
0, 0  acc: 17601 / 24978 =  70.466
0, 1  acc:  8894 / 10809 =  82.283
1, 0  acc: 116953 / 119043 =  98.244
1, 1  acc:  7366 /  7940 =  92.771
--------------------------------------
Average acc: 150814 / 162770 =  92.655
Robust  acc: 17601 / 24978 =  70.466
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6166 /  8535 =  72.244
0, 1  acc:  6825 /  8276 =  82.467
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 15999 / 19867 =  80.531
Robust  acc:  6166 /  8535 =  72.244
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.765
Robust Acc: 76.861 | Best Acc: 98.831
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  7507 /  9767 =  76.861
0, 1  acc:  6197 /  7535 =  82.243
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16322 / 19962 =  81.765
Robust  acc:  7507 /  9767 =  76.861
------------------------------------
Accuracies by groups:
0, 0  acc:  7507 /  9767 =  76.861
0, 1  acc:  6197 /  7535 =  82.243
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16322 / 19962 =  81.765
Robust  acc:  7507 /  9767 =  76.861
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7507 /  9767 =  76.861
0, 1  acc:  6197 /  7535 =  82.243
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16322 / 19962 =  81.765
Robust  acc:  7507 /  9767 =  76.861
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 92.658 | Val Loss: 0.002 | Val Acc: 94.272
Training:
Accuracies by groups:
0, 0  acc: 17780 / 25146 =  70.707
0, 1  acc:  9097 / 11022 =  82.535
1, 0  acc: 116438 / 118444 =  98.306
1, 1  acc:  7504 /  8158 =  91.983
--------------------------------------
Average acc: 150819 / 162770 =  92.658
Robust  acc: 17780 / 25146 =  70.707
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8222 /  8535 =  96.333
0, 1  acc:  8225 /  8276 =  99.384
1, 0  acc:  2217 /  2874 =  77.140
1, 1  acc:    65 /   182 =  35.714
------------------------------------
Average acc: 18729 / 19867 =  94.272
Robust  acc:    65 /   182 =  35.714
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.905
Robust Acc: 29.444 | Best Acc: 99.376
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  9506 /  9767 =  97.328
0, 1  acc:  7488 /  7535 =  99.376
1, 0  acc:  1898 /  2480 =  76.532
1, 1  acc:    53 /   180 =  29.444
------------------------------------
Average acc: 18945 / 19962 =  94.905
Robust  acc:    53 /   180 =  29.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9506 /  9767 =  97.328
0, 1  acc:  7488 /  7535 =  99.376
1, 0  acc:  1898 /  2480 =  76.532
1, 1  acc:    53 /   180 =  29.444
------------------------------------
Average acc: 18945 / 19962 =  94.905
Robust  acc:    53 /   180 =  29.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9506 /  9767 =  97.328
0, 1  acc:  7488 /  7535 =  99.376
1, 0  acc:  1898 /  2480 =  76.532
1, 1  acc:    53 /   180 =  29.444
------------------------------------
Average acc: 18945 / 19962 =  94.905
Robust  acc:    53 /   180 =  29.444
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 92.690 | Val Loss: 0.006 | Val Acc: 64.811
Training:
Accuracies by groups:
0, 0  acc: 17700 / 25098 =  70.524
0, 1  acc:  9177 / 11112 =  82.586
1, 0  acc: 116465 / 118415 =  98.353
1, 1  acc:  7530 /  8145 =  92.449
--------------------------------------
Average acc: 150872 / 162770 =  92.690
Robust  acc: 17700 / 25098 =  70.524
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5139 /  8535 =  60.211
0, 1  acc:  4696 /  8276 =  56.742
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12876 / 19867 =  64.811
Robust  acc:  4696 /  8276 =  56.742
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 67.543
Robust Acc: 58.315 | Best Acc: 99.476
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  6445 /  9767 =  65.988
0, 1  acc:  4394 /  7535 =  58.315
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13483 / 19962 =  67.543
Robust  acc:  4394 /  7535 =  58.315
------------------------------------
Accuracies by groups:
0, 0  acc:  6445 /  9767 =  65.988
0, 1  acc:  4394 /  7535 =  58.315
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13483 / 19962 =  67.543
Robust  acc:  4394 /  7535 =  58.315
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6445 /  9767 =  65.988
0, 1  acc:  4394 /  7535 =  58.315
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13483 / 19962 =  67.543
Robust  acc:  4394 /  7535 =  58.315
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 92.775 | Val Loss: 0.004 | Val Acc: 81.291
Training:
Accuracies by groups:
0, 0  acc: 17841 / 25148 =  70.944
0, 1  acc:  8955 / 10811 =  82.832
1, 0  acc: 116507 / 118502 =  98.316
1, 1  acc:  7707 /  8309 =  92.755
--------------------------------------
Average acc: 151010 / 162770 =  92.775
Robust  acc: 17841 / 25148 =  70.944
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6226 /  8535 =  72.947
0, 1  acc:  6908 /  8276 =  83.470
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16150 / 19867 =  81.291
Robust  acc:  6226 /  8535 =  72.947
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.772
Robust Acc: 77.854 | Best Acc: 98.871
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  7604 /  9767 =  77.854
0, 1  acc:  6299 /  7535 =  83.597
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16523 / 19962 =  82.772
Robust  acc:  7604 /  9767 =  77.854
------------------------------------
Accuracies by groups:
0, 0  acc:  7604 /  9767 =  77.854
0, 1  acc:  6299 /  7535 =  83.597
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16523 / 19962 =  82.772
Robust  acc:  7604 /  9767 =  77.854
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7604 /  9767 =  77.854
0, 1  acc:  6299 /  7535 =  83.597
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16523 / 19962 =  82.772
Robust  acc:  7604 /  9767 =  77.854
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 92.845 | Val Loss: 0.004 | Val Acc: 78.864
Training:
Accuracies by groups:
0, 0  acc: 17692 / 24934 =  70.955
0, 1  acc:  9143 / 10984 =  83.239
1, 0  acc: 116743 / 118698 =  98.353
1, 1  acc:  7545 /  8154 =  92.531
--------------------------------------
Average acc: 151123 / 162770 =  92.845
Robust  acc: 17692 / 24934 =  70.955
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5548 /  8535 =  65.003
0, 1  acc:  7093 /  8276 =  85.706
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 15668 / 19867 =  78.864
Robust  acc:  5548 /  8535 =  65.003
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.478
Robust Acc: 71.015 | Best Acc: 99.315
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  6936 /  9767 =  71.015
0, 1  acc:  6501 /  7535 =  86.277
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16065 / 19962 =  80.478
Robust  acc:  6936 /  9767 =  71.015
------------------------------------
Accuracies by groups:
0, 0  acc:  6936 /  9767 =  71.015
0, 1  acc:  6501 /  7535 =  86.277
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16065 / 19962 =  80.478
Robust  acc:  6936 /  9767 =  71.015
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6936 /  9767 =  71.015
0, 1  acc:  6501 /  7535 =  86.277
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16065 / 19962 =  80.478
Robust  acc:  6936 /  9767 =  71.015
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 92.851 | Val Loss: 0.005 | Val Acc: 76.836
Training:
Accuracies by groups:
0, 0  acc: 17737 / 24847 =  71.385
0, 1  acc:  9150 / 11010 =  83.106
1, 0  acc: 116770 / 118804 =  98.288
1, 1  acc:  7476 /  8109 =  92.194
--------------------------------------
Average acc: 151133 / 162770 =  92.851
Robust  acc: 17737 / 24847 =  71.385
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5911 /  8535 =  69.256
0, 1  acc:  6324 /  8276 =  76.414
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15265 / 19867 =  76.836
Robust  acc:  5911 /  8535 =  69.256
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 78.539
Robust Acc: 74.117 | Best Acc: 98.952
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  7239 /  9767 =  74.117
0, 1  acc:  5810 /  7535 =  77.107
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15678 / 19962 =  78.539
Robust  acc:  7239 /  9767 =  74.117
------------------------------------
Accuracies by groups:
0, 0  acc:  7239 /  9767 =  74.117
0, 1  acc:  5810 /  7535 =  77.107
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15678 / 19962 =  78.539
Robust  acc:  7239 /  9767 =  74.117
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7239 /  9767 =  74.117
0, 1  acc:  5810 /  7535 =  77.107
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15678 / 19962 =  78.539
Robust  acc:  7239 /  9767 =  74.117
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 92.754 | Val Loss: 0.006 | Val Acc: 68.490
Training:
Accuracies by groups:
0, 0  acc: 17721 / 24989 =  70.915
0, 1  acc:  9064 / 10949 =  82.784
1, 0  acc: 116629 / 118660 =  98.288
1, 1  acc:  7562 /  8172 =  92.535
--------------------------------------
Average acc: 150976 / 162770 =  92.754
Robust  acc: 17721 / 24989 =  70.915
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5198 /  8535 =  60.902
0, 1  acc:  5370 /  8276 =  64.886
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13607 / 19867 =  68.490
Robust  acc:  5198 /  8535 =  60.902
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 70.103
Robust Acc: 64.446 | Best Acc: 99.355
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  6499 /  9767 =  66.540
0, 1  acc:  4856 /  7535 =  64.446
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13994 / 19962 =  70.103
Robust  acc:  4856 /  7535 =  64.446
------------------------------------
Accuracies by groups:
0, 0  acc:  6499 /  9767 =  66.540
0, 1  acc:  4856 /  7535 =  64.446
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13994 / 19962 =  70.103
Robust  acc:  4856 /  7535 =  64.446
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6499 /  9767 =  66.540
0, 1  acc:  4856 /  7535 =  64.446
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13994 / 19962 =  70.103
Robust  acc:  4856 /  7535 =  64.446
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 92.811 | Val Loss: 0.003 | Val Acc: 85.015
Training:
Accuracies by groups:
0, 0  acc: 17655 / 24870 =  70.989
0, 1  acc:  9242 / 11104 =  83.231
1, 0  acc: 116651 / 118681 =  98.290
1, 1  acc:  7520 /  8115 =  92.668
--------------------------------------
Average acc: 151068 / 162770 =  92.811
Robust  acc: 17655 / 24870 =  70.989
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6721 /  8535 =  78.746
0, 1  acc:  7175 /  8276 =  86.696
1, 0  acc:  2823 /  2874 =  98.225
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16890 / 19867 =  85.015
Robust  acc:  6721 /  8535 =  78.746
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.469
Robust Acc: 83.373 | Best Acc: 97.782
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  8143 /  9767 =  83.373
0, 1  acc:  6532 /  7535 =  86.689
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17261 / 19962 =  86.469
Robust  acc:  8143 /  9767 =  83.373
------------------------------------
Accuracies by groups:
0, 0  acc:  8143 /  9767 =  83.373
0, 1  acc:  6532 /  7535 =  86.689
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17261 / 19962 =  86.469
Robust  acc:  8143 /  9767 =  83.373
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8143 /  9767 =  83.373
0, 1  acc:  6532 /  7535 =  86.689
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17261 / 19962 =  86.469
Robust  acc:  8143 /  9767 =  83.373
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 92.858 | Val Loss: 0.005 | Val Acc: 69.311
Training:
Accuracies by groups:
0, 0  acc: 17787 / 25003 =  71.139
0, 1  acc:  9253 / 11039 =  83.821
1, 0  acc: 116514 / 118556 =  98.278
1, 1  acc:  7591 /  8172 =  92.890
--------------------------------------
Average acc: 151145 / 162770 =  92.858
Robust  acc: 17787 / 25003 =  71.139
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5101 /  8535 =  59.766
0, 1  acc:  5631 /  8276 =  68.040
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13770 / 19867 =  69.311
Robust  acc:  5101 /  8535 =  59.766
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 71.265
Robust Acc: 65.332 | Best Acc: 99.274
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  6381 /  9767 =  65.332
0, 1  acc:  5211 /  7535 =  69.157
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14226 / 19962 =  71.265
Robust  acc:  6381 /  9767 =  65.332
------------------------------------
Accuracies by groups:
0, 0  acc:  6381 /  9767 =  65.332
0, 1  acc:  5211 /  7535 =  69.157
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14226 / 19962 =  71.265
Robust  acc:  6381 /  9767 =  65.332
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6381 /  9767 =  65.332
0, 1  acc:  5211 /  7535 =  69.157
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14226 / 19962 =  71.265
Robust  acc:  6381 /  9767 =  65.332
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 92.893 | Val Loss: 0.002 | Val Acc: 93.990
Training:
Accuracies by groups:
0, 0  acc: 17735 / 24825 =  71.440
0, 1  acc:  9107 / 10983 =  82.919
1, 0  acc: 116800 / 118809 =  98.309
1, 1  acc:  7560 /  8153 =  92.727
--------------------------------------
Average acc: 151202 / 162770 =  92.893
Robust  acc: 17735 / 24825 =  71.440
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8321 /  8535 =  97.493
0, 1  acc:  8226 /  8276 =  99.396
1, 0  acc:  2059 /  2874 =  71.642
1, 1  acc:    67 /   182 =  36.813
------------------------------------
Average acc: 18673 / 19867 =  93.990
Robust  acc:    67 /   182 =  36.813
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.570
Robust Acc: 37.778 | Best Acc: 99.190
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  9575 /  9767 =  98.034
0, 1  acc:  7474 /  7535 =  99.190
1, 0  acc:  1761 /  2480 =  71.008
1, 1  acc:    68 /   180 =  37.778
------------------------------------
Average acc: 18878 / 19962 =  94.570
Robust  acc:    68 /   180 =  37.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9575 /  9767 =  98.034
0, 1  acc:  7474 /  7535 =  99.190
1, 0  acc:  1761 /  2480 =  71.008
1, 1  acc:    68 /   180 =  37.778
------------------------------------
Average acc: 18878 / 19962 =  94.570
Robust  acc:    68 /   180 =  37.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9575 /  9767 =  98.034
0, 1  acc:  7474 /  7535 =  99.190
1, 0  acc:  1761 /  2480 =  71.008
1, 1  acc:    68 /   180 =  37.778
------------------------------------
Average acc: 18878 / 19962 =  94.570
Robust  acc:    68 /   180 =  37.778
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 93.013 | Val Loss: 0.002 | Val Acc: 93.643
Training:
Accuracies by groups:
0, 0  acc: 17829 / 24853 =  71.738
0, 1  acc:  9054 / 10795 =  83.872
1, 0  acc: 117004 / 119058 =  98.275
1, 1  acc:  7510 /  8064 =  93.130
--------------------------------------
Average acc: 151397 / 162770 =  93.013
Robust  acc: 17829 / 24853 =  71.738
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7852 /  8535 =  91.998
0, 1  acc:  8085 /  8276 =  97.692
1, 0  acc:  2572 /  2874 =  89.492
1, 1  acc:    95 /   182 =  52.198
------------------------------------
Average acc: 18604 / 19867 =  93.643
Robust  acc:    95 /   182 =  52.198
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.379
Robust Acc: 52.778 | Best Acc: 98.036
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  9170 /  9767 =  93.888
0, 1  acc:  7387 /  7535 =  98.036
1, 0  acc:  2188 /  2480 =  88.226
1, 1  acc:    95 /   180 =  52.778
------------------------------------
Average acc: 18840 / 19962 =  94.379
Robust  acc:    95 /   180 =  52.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9170 /  9767 =  93.888
0, 1  acc:  7387 /  7535 =  98.036
1, 0  acc:  2188 /  2480 =  88.226
1, 1  acc:    95 /   180 =  52.778
------------------------------------
Average acc: 18840 / 19962 =  94.379
Robust  acc:    95 /   180 =  52.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9170 /  9767 =  93.888
0, 1  acc:  7387 /  7535 =  98.036
1, 0  acc:  2188 /  2480 =  88.226
1, 1  acc:    95 /   180 =  52.778
------------------------------------
Average acc: 18840 / 19962 =  94.379
Robust  acc:    95 /   180 =  52.778
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed41.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed41.pt
