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/seed30/stage_one_erm_model_b_epoch0_seed30.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: 30
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=30-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/seed30/stage_one_erm_model_b_epoch0_seed30.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8256, 0.0254],
        [0.1338, 0.0153]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.241 | Val Loss: 0.003 | Val Acc: 82.076
Training:
Accuracies by groups:
0, 0  acc:  8367 / 17491 =  47.836
0, 1  acc:  4705 /  8407 =  55.965
1, 0  acc: 126184 / 128651 =  98.082
1, 1  acc:  7629 /  8221 =  92.799
--------------------------------------
Average acc: 146885 / 162770 =  90.241
Robust  acc:  8367 / 17491 =  47.836
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6393 /  8535 =  74.903
0, 1  acc:  6906 /  8276 =  83.446
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 16306 / 19867 =  82.076
Robust  acc:  6393 /  8535 =  74.903
------------------------------------
New max robust acc: 74.90333919156414
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed30.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed30.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 83.799
Robust Acc: 80.066 | Best Acc: 98.468
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7820 /  9767 =  80.066
0, 1  acc:  6300 /  7535 =  83.610
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16728 / 19962 =  83.799
Robust  acc:  7820 /  9767 =  80.066
------------------------------------
Accuracies by groups:
0, 0  acc:  7820 /  9767 =  80.066
0, 1  acc:  6300 /  7535 =  83.610
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16728 / 19962 =  83.799
Robust  acc:  7820 /  9767 =  80.066
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7820 /  9767 =  80.066
0, 1  acc:  6300 /  7535 =  83.610
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16728 / 19962 =  83.799
Robust  acc:  7820 /  9767 =  80.066
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.193 | Val Loss: 0.003 | Val Acc: 85.473
Training:
Accuracies by groups:
0, 0  acc: 11910 / 17445 =  68.272
0, 1  acc:  6733 /  8494 =  79.268
1, 0  acc: 127061 / 128563 =  98.832
1, 1  acc:  7614 /  8268 =  92.090
--------------------------------------
Average acc: 153318 / 162770 =  94.193
Robust  acc: 11910 / 17445 =  68.272
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6651 /  8535 =  77.926
0, 1  acc:  7314 /  8276 =  88.376
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16981 / 19867 =  85.473
Robust  acc:  6651 /  8535 =  77.926
------------------------------------
New max robust acc: 77.9261862917399
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed30.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed30.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 86.750
Robust Acc: 82.400 | Best Acc: 98.427
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8048 /  9767 =  82.400
0, 1  acc:  6661 /  7535 =  88.401
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17317 / 19962 =  86.750
Robust  acc:  8048 /  9767 =  82.400
------------------------------------
Accuracies by groups:
0, 0  acc:  8048 /  9767 =  82.400
0, 1  acc:  6661 /  7535 =  88.401
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17317 / 19962 =  86.750
Robust  acc:  8048 /  9767 =  82.400
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8048 /  9767 =  82.400
0, 1  acc:  6661 /  7535 =  88.401
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17317 / 19962 =  86.750
Robust  acc:  8048 /  9767 =  82.400
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 94.910 | Val Loss: 0.002 | Val Acc: 87.240
Training:
Accuracies by groups:
0, 0  acc: 12488 / 17439 =  71.610
0, 1  acc:  7176 /  8486 =  84.563
1, 0  acc: 127089 / 128496 =  98.905
1, 1  acc:  7732 /  8349 =  92.610
--------------------------------------
Average acc: 154485 / 162770 =  94.910
Robust  acc: 12488 / 17439 =  71.610
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6766 /  8535 =  79.274
0, 1  acc:  7553 /  8276 =  91.264
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17332 / 19867 =  87.240
Robust  acc:  6766 /  8535 =  79.274
------------------------------------
New max robust acc: 79.27357937902754
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed30.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed30.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.273
Robust Acc: 83.588 | Best Acc: 98.347
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8164 /  9767 =  83.588
0, 1  acc:  6860 /  7535 =  91.042
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17621 / 19962 =  88.273
Robust  acc:  8164 /  9767 =  83.588
------------------------------------
Accuracies by groups:
0, 0  acc:  8164 /  9767 =  83.588
0, 1  acc:  6860 /  7535 =  91.042
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17621 / 19962 =  88.273
Robust  acc:  8164 /  9767 =  83.588
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8164 /  9767 =  83.588
0, 1  acc:  6860 /  7535 =  91.042
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17621 / 19962 =  88.273
Robust  acc:  8164 /  9767 =  83.588
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.489 | Val Loss: 0.002 | Val Acc: 88.871
Training:
Accuracies by groups:
0, 0  acc: 13079 / 17639 =  74.148
0, 1  acc:  7433 /  8528 =  87.160
1, 0  acc: 126993 / 128201 =  99.058
1, 1  acc:  7923 /  8402 =  94.299
--------------------------------------
Average acc: 155428 / 162770 =  95.489
Robust  acc: 13079 / 17639 =  74.148
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6988 /  8535 =  81.875
0, 1  acc:  7670 /  8276 =  92.678
1, 0  acc:  2828 /  2874 =  98.399
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17656 / 19867 =  88.871
Robust  acc:  6988 /  8535 =  81.875
------------------------------------
New max robust acc: 81.87463386057411
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed30.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed30.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.530
Robust Acc: 85.277 | Best Acc: 97.823
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8329 /  9767 =  85.277
0, 1  acc:  6961 /  7535 =  92.382
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17872 / 19962 =  89.530
Robust  acc:  8329 /  9767 =  85.277
------------------------------------
Accuracies by groups:
0, 0  acc:  8329 /  9767 =  85.277
0, 1  acc:  6961 /  7535 =  92.382
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17872 / 19962 =  89.530
Robust  acc:  8329 /  9767 =  85.277
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8329 /  9767 =  85.277
0, 1  acc:  6961 /  7535 =  92.382
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17872 / 19962 =  89.530
Robust  acc:  8329 /  9767 =  85.277
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.171 | Val Loss: 0.002 | Val Acc: 88.760
Training:
Accuracies by groups:
0, 0  acc: 13337 / 17445 =  76.452
0, 1  acc:  7280 /  8185 =  88.943
1, 0  acc: 127883 / 128789 =  99.297
1, 1  acc:  8037 /  8351 =  96.240
--------------------------------------
Average acc: 156537 / 162770 =  96.171
Robust  acc: 13337 / 17445 =  76.452
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6936 /  8535 =  81.265
0, 1  acc:  7699 /  8276 =  93.028
1, 0  acc:  2828 /  2874 =  98.399
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17634 / 19867 =  88.760
Robust  acc:  6936 /  8535 =  81.265
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.495
Robust Acc: 84.960 | Best Acc: 98.065
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8298 /  9767 =  84.960
0, 1  acc:  6979 /  7535 =  92.621
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17865 / 19962 =  89.495
Robust  acc:  8298 /  9767 =  84.960
------------------------------------
Accuracies by groups:
0, 0  acc:  8298 /  9767 =  84.960
0, 1  acc:  6979 /  7535 =  92.621
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17865 / 19962 =  89.495
Robust  acc:  8298 /  9767 =  84.960
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8298 /  9767 =  84.960
0, 1  acc:  6979 /  7535 =  92.621
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17865 / 19962 =  89.495
Robust  acc:  8298 /  9767 =  84.960
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.668 | Val Loss: 0.002 | Val Acc: 91.297
Training:
Accuracies by groups:
0, 0  acc: 13667 / 17510 =  78.053
0, 1  acc:  7625 /  8425 =  90.504
1, 0  acc: 127813 / 128404 =  99.540
1, 1  acc:  8241 /  8431 =  97.746
--------------------------------------
Average acc: 157346 / 162770 =  96.668
Robust  acc: 13667 / 17510 =  78.053
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7304 /  8535 =  85.577
0, 1  acc:  7870 /  8276 =  95.094
1, 0  acc:  2802 /  2874 =  97.495
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 18138 / 19867 =  91.297
Robust  acc:  7304 /  8535 =  85.577
------------------------------------
New max robust acc: 85.57703573520796
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed30.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed30.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.664
Robust Acc: 83.333 | Best Acc: 96.694
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8617 /  9767 =  88.226
0, 1  acc:  7133 /  7535 =  94.665
1, 0  acc:  2398 /  2480 =  96.694
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18298 / 19962 =  91.664
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8617 /  9767 =  88.226
0, 1  acc:  7133 /  7535 =  94.665
1, 0  acc:  2398 /  2480 =  96.694
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18298 / 19962 =  91.664
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8617 /  9767 =  88.226
0, 1  acc:  7133 /  7535 =  94.665
1, 0  acc:  2398 /  2480 =  96.694
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18298 / 19962 =  91.664
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.296 | Val Loss: 0.002 | Val Acc: 92.012
Training:
Accuracies by groups:
0, 0  acc: 14230 / 17571 =  80.986
0, 1  acc:  7830 /  8515 =  91.955
1, 0  acc: 127864 / 128171 =  99.760
1, 1  acc:  8444 /  8513 =  99.189
--------------------------------------
Average acc: 158368 / 162770 =  97.296
Robust  acc: 14230 / 17571 =  80.986
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7421 /  8535 =  86.948
0, 1  acc:  7916 /  8276 =  95.650
1, 0  acc:  2780 /  2874 =  96.729
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 18280 / 19867 =  92.012
Robust  acc:  7421 /  8535 =  86.948
------------------------------------
New max robust acc: 86.94786174575279
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed30.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed30.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.210
Robust Acc: 82.222 | Best Acc: 96.371
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8708 /  9767 =  89.157
0, 1  acc:  7161 /  7535 =  95.036
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18407 / 19962 =  92.210
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8708 /  9767 =  89.157
0, 1  acc:  7161 /  7535 =  95.036
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18407 / 19962 =  92.210
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8708 /  9767 =  89.157
0, 1  acc:  7161 /  7535 =  95.036
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18407 / 19962 =  92.210
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.876 | Val Loss: 0.001 | Val Acc: 92.852
Training:
Accuracies by groups:
0, 0  acc: 14867 / 17629 =  84.333
0, 1  acc:  8034 /  8578 =  93.658
1, 0  acc: 128136 / 128256 =  99.906
1, 1  acc:  8275 /  8307 =  99.615
--------------------------------------
Average acc: 159312 / 162770 =  97.876
Robust  acc: 14867 / 17629 =  84.333
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7528 /  8535 =  88.202
0, 1  acc:  8014 /  8276 =  96.834
1, 0  acc:  2762 /  2874 =  96.103
1, 1  acc:   143 /   182 =  78.571
------------------------------------
Average acc: 18447 / 19867 =  92.852
Robust  acc:   143 /   182 =  78.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.172
Robust Acc: 73.889 | Best Acc: 96.483
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8826 /  9767 =  90.366
0, 1  acc:  7270 /  7535 =  96.483
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18599 / 19962 =  93.172
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8826 /  9767 =  90.366
0, 1  acc:  7270 /  7535 =  96.483
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18599 / 19962 =  93.172
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8826 /  9767 =  90.366
0, 1  acc:  7270 /  7535 =  96.483
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18599 / 19962 =  93.172
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.363 | Val Loss: 0.002 | Val Acc: 92.782
Training:
Accuracies by groups:
0, 0  acc: 15351 / 17489 =  87.775
0, 1  acc:  8050 /  8472 =  95.019
1, 0  acc: 128285 / 128369 =  99.935
1, 1  acc:  8419 /  8440 =  99.751
--------------------------------------
Average acc: 160105 / 162770 =  98.363
Robust  acc: 15351 / 17489 =  87.775
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7557 /  8535 =  88.541
0, 1  acc:  8000 /  8276 =  96.665
1, 0  acc:  2726 /  2874 =  94.850
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 18433 / 19867 =  92.782
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.177
Robust Acc: 75.556 | Best Acc: 96.523
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8844 /  9767 =  90.550
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2347 /  2480 =  94.637
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18600 / 19962 =  93.177
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8844 /  9767 =  90.550
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2347 /  2480 =  94.637
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18600 / 19962 =  93.177
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8844 /  9767 =  90.550
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2347 /  2480 =  94.637
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18600 / 19962 =  93.177
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.624 | Val Loss: 0.001 | Val Acc: 93.416
Training:
Accuracies by groups:
0, 0  acc: 15795 / 17599 =  89.749
0, 1  acc:  8212 /  8519 =  96.396
1, 0  acc: 128292 / 128388 =  99.925
1, 1  acc:  8231 /  8264 =  99.601
--------------------------------------
Average acc: 160530 / 162770 =  98.624
Robust  acc: 15795 / 17599 =  89.749
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7661 /  8535 =  89.760
0, 1  acc:  8046 /  8276 =  97.221
1, 0  acc:  2713 /  2874 =  94.398
1, 1  acc:   139 /   182 =  76.374
------------------------------------
Average acc: 18559 / 19867 =  93.416
Robust  acc:   139 /   182 =  76.374
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.568
Robust Acc: 73.333 | Best Acc: 96.987
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8916 /  9767 =  91.287
0, 1  acc:  7308 /  7535 =  96.987
1, 0  acc:  2322 /  2480 =  93.629
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18678 / 19962 =  93.568
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8916 /  9767 =  91.287
0, 1  acc:  7308 /  7535 =  96.987
1, 0  acc:  2322 /  2480 =  93.629
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18678 / 19962 =  93.568
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8916 /  9767 =  91.287
0, 1  acc:  7308 /  7535 =  96.987
1, 0  acc:  2322 /  2480 =  93.629
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18678 / 19962 =  93.568
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.652 | Val Loss: 0.002 | Val Acc: 92.369
Training:
Accuracies by groups:
0, 0  acc: 15826 / 17495 =  90.460
0, 1  acc:  8341 /  8636 =  96.584
1, 0  acc: 128192 / 128359 =  99.870
1, 1  acc:  8217 /  8280 =  99.239
--------------------------------------
Average acc: 160576 / 162770 =  98.652
Robust  acc: 15826 / 17495 =  90.460
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7482 /  8535 =  87.663
0, 1  acc:  7997 /  8276 =  96.629
1, 0  acc:  2727 /  2874 =  94.885
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18351 / 19867 =  92.369
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.806
Robust Acc: 74.444 | Best Acc: 96.151
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8814 /  9767 =  90.243
0, 1  acc:  7245 /  7535 =  96.151
1, 0  acc:  2333 /  2480 =  94.073
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18526 / 19962 =  92.806
Robust  acc:   134 /   180 =  74.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8814 /  9767 =  90.243
0, 1  acc:  7245 /  7535 =  96.151
1, 0  acc:  2333 /  2480 =  94.073
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18526 / 19962 =  92.806
Robust  acc:   134 /   180 =  74.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8814 /  9767 =  90.243
0, 1  acc:  7245 /  7535 =  96.151
1, 0  acc:  2333 /  2480 =  94.073
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18526 / 19962 =  92.806
Robust  acc:   134 /   180 =  74.444
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.309 | Val Loss: 0.002 | Val Acc: 93.129
Training:
Accuracies by groups:
0, 0  acc: 15521 / 17464 =  88.874
0, 1  acc:  8053 /  8390 =  95.983
1, 0  acc: 128324 / 128691 =  99.715
1, 1  acc:  8119 /  8225 =  98.711
--------------------------------------
Average acc: 160017 / 162770 =  98.309
Robust  acc: 15521 / 17464 =  88.874
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7595 /  8535 =  88.987
0, 1  acc:  8038 /  8276 =  97.124
1, 0  acc:  2732 /  2874 =  95.059
1, 1  acc:   137 /   182 =  75.275
------------------------------------
Average acc: 18502 / 19867 =  93.129
Robust  acc:   137 /   182 =  75.275
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.347
Robust Acc: 72.222 | Best Acc: 96.496
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8909 /  9767 =  91.215
0, 1  acc:  7271 /  7535 =  96.496
1, 0  acc:  2324 /  2480 =  93.710
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18634 / 19962 =  93.347
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8909 /  9767 =  91.215
0, 1  acc:  7271 /  7535 =  96.496
1, 0  acc:  2324 /  2480 =  93.710
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18634 / 19962 =  93.347
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8909 /  9767 =  91.215
0, 1  acc:  7271 /  7535 =  96.496
1, 0  acc:  2324 /  2480 =  93.710
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18634 / 19962 =  93.347
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.807 | Val Loss: 0.002 | Val Acc: 89.485
Training:
Accuracies by groups:
0, 0  acc: 15081 / 17469 =  86.330
0, 1  acc:  8108 /  8570 =  94.609
1, 0  acc: 127845 / 128398 =  99.569
1, 1  acc:  8166 /  8333 =  97.996
--------------------------------------
Average acc: 159200 / 162770 =  97.807
Robust  acc: 15081 / 17469 =  86.330
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7048 /  8535 =  82.578
0, 1  acc:  7768 /  8276 =  93.862
1, 0  acc:  2801 /  2874 =  97.460
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 17778 / 19867 =  89.485
Robust  acc:  7048 /  8535 =  82.578
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.221
Robust Acc: 83.333 | Best Acc: 96.653
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8396 /  9767 =  85.963
0, 1  acc:  7067 /  7535 =  93.789
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18010 / 19962 =  90.221
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8396 /  9767 =  85.963
0, 1  acc:  7067 /  7535 =  93.789
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18010 / 19962 =  90.221
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8396 /  9767 =  85.963
0, 1  acc:  7067 /  7535 =  93.789
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18010 / 19962 =  90.221
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.422 | Val Loss: 0.002 | Val Acc: 89.827
Training:
Accuracies by groups:
0, 0  acc: 14656 / 17400 =  84.230
0, 1  acc:  7959 /  8492 =  93.724
1, 0  acc: 127932 / 128648 =  99.443
1, 1  acc:  8027 /  8230 =  97.533
--------------------------------------
Average acc: 158574 / 162770 =  97.422
Robust  acc: 14656 / 17400 =  84.230
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7021 /  8535 =  82.261
0, 1  acc:  7833 /  8276 =  94.647
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17846 / 19867 =  89.827
Robust  acc:  7021 /  8535 =  82.261
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.302
Robust Acc: 82.222 | Best Acc: 97.903
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8338 /  9767 =  85.369
0, 1  acc:  7112 /  7535 =  94.386
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18026 / 19962 =  90.302
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8338 /  9767 =  85.369
0, 1  acc:  7112 /  7535 =  94.386
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18026 / 19962 =  90.302
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8338 /  9767 =  85.369
0, 1  acc:  7112 /  7535 =  94.386
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18026 / 19962 =  90.302
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.797 | Val Loss: 0.001 | Val Acc: 94.685
Training:
Accuracies by groups:
0, 0  acc: 14107 / 17448 =  80.852
0, 1  acc:  7788 /  8431 =  92.373
1, 0  acc: 127496 / 128447 =  99.260
1, 1  acc:  8166 /  8444 =  96.708
--------------------------------------
Average acc: 157557 / 162770 =  96.797
Robust  acc: 14107 / 17448 =  80.852
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7937 /  8535 =  92.994
0, 1  acc:  8140 /  8276 =  98.357
1, 0  acc:  2608 /  2874 =  90.745
1, 1  acc:   126 /   182 =  69.231
------------------------------------
Average acc: 18811 / 19867 =  94.685
Robust  acc:   126 /   182 =  69.231
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.795
Robust Acc: 61.667 | Best Acc: 98.089
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  9192 /  9767 =  94.113
0, 1  acc:  7391 /  7535 =  98.089
1, 0  acc:  2229 /  2480 =  89.879
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18923 / 19962 =  94.795
Robust  acc:   111 /   180 =  61.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9192 /  9767 =  94.113
0, 1  acc:  7391 /  7535 =  98.089
1, 0  acc:  2229 /  2480 =  89.879
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18923 / 19962 =  94.795
Robust  acc:   111 /   180 =  61.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9192 /  9767 =  94.113
0, 1  acc:  7391 /  7535 =  98.089
1, 0  acc:  2229 /  2480 =  89.879
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18923 / 19962 =  94.795
Robust  acc:   111 /   180 =  61.667
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.373 | Val Loss: 0.003 | Val Acc: 83.747
Training:
Accuracies by groups:
0, 0  acc: 13796 / 17409 =  79.246
0, 1  acc:  7590 /  8393 =  90.433
1, 0  acc: 127612 / 128715 =  99.143
1, 1  acc:  7869 /  8253 =  95.347
--------------------------------------
Average acc: 156867 / 162770 =  96.373
Robust  acc: 13796 / 17409 =  79.246
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6342 /  8535 =  74.306
0, 1  acc:  7266 /  8276 =  87.796
1, 0  acc:  2852 /  2874 =  99.235
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16638 / 19867 =  83.747
Robust  acc:  6342 /  8535 =  74.306
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.931
Robust Acc: 78.673 | Best Acc: 99.073
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  7684 /  9767 =  78.673
0, 1  acc:  6648 /  7535 =  88.228
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16954 / 19962 =  84.931
Robust  acc:  7684 /  9767 =  78.673
------------------------------------
Accuracies by groups:
0, 0  acc:  7684 /  9767 =  78.673
0, 1  acc:  6648 /  7535 =  88.228
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16954 / 19962 =  84.931
Robust  acc:  7684 /  9767 =  78.673
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7684 /  9767 =  78.673
0, 1  acc:  6648 /  7535 =  88.228
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16954 / 19962 =  84.931
Robust  acc:  7684 /  9767 =  78.673
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.761 | Val Loss: 0.005 | Val Acc: 74.254
Training:
Accuracies by groups:
0, 0  acc: 13344 / 17492 =  76.286
0, 1  acc:  7390 /  8320 =  88.822
1, 0  acc: 127278 / 128652 =  98.932
1, 1  acc:  7858 /  8306 =  94.606
--------------------------------------
Average acc: 155870 / 162770 =  95.761
Robust  acc: 13344 / 17492 =  76.286
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5624 /  8535 =  65.893
0, 1  acc:  6090 /  8276 =  73.586
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 14752 / 19867 =  74.254
Robust  acc:  5624 /  8535 =  65.893
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 75.634
Robust Acc: 70.984 | Best Acc: 99.274
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  6933 /  9767 =  70.984
0, 1  acc:  5531 /  7535 =  73.404
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15098 / 19962 =  75.634
Robust  acc:  6933 /  9767 =  70.984
------------------------------------
Accuracies by groups:
0, 0  acc:  6933 /  9767 =  70.984
0, 1  acc:  5531 /  7535 =  73.404
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15098 / 19962 =  75.634
Robust  acc:  6933 /  9767 =  70.984
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6933 /  9767 =  70.984
0, 1  acc:  5531 /  7535 =  73.404
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15098 / 19962 =  75.634
Robust  acc:  6933 /  9767 =  70.984
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.333 | Val Loss: 0.003 | Val Acc: 84.683
Training:
Accuracies by groups:
0, 0  acc: 12858 / 17276 =  74.427
0, 1  acc:  7407 /  8537 =  86.764
1, 0  acc: 127175 / 128703 =  98.813
1, 1  acc:  7734 /  8254 =  93.700
--------------------------------------
Average acc: 155174 / 162770 =  95.333
Robust  acc: 12858 / 17276 =  74.427
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6478 /  8535 =  75.899
0, 1  acc:  7331 /  8276 =  88.581
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16824 / 19867 =  84.683
Robust  acc:  6478 /  8535 =  75.899
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.828
Robust Acc: 79.830 | Best Acc: 98.427
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  7797 /  9767 =  79.830
0, 1  acc:  6734 /  7535 =  89.370
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17133 / 19962 =  85.828
Robust  acc:  7797 /  9767 =  79.830
------------------------------------
Accuracies by groups:
0, 0  acc:  7797 /  9767 =  79.830
0, 1  acc:  6734 /  7535 =  89.370
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17133 / 19962 =  85.828
Robust  acc:  7797 /  9767 =  79.830
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7797 /  9767 =  79.830
0, 1  acc:  6734 /  7535 =  89.370
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17133 / 19962 =  85.828
Robust  acc:  7797 /  9767 =  79.830
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 94.972 | Val Loss: 0.003 | Val Acc: 85.116
Training:
Accuracies by groups:
0, 0  acc: 12714 / 17456 =  72.835
0, 1  acc:  7335 /  8482 =  86.477
1, 0  acc: 126804 / 128534 =  98.654
1, 1  acc:  7733 /  8298 =  93.191
--------------------------------------
Average acc: 154586 / 162770 =  94.972
Robust  acc: 12714 / 17456 =  72.835
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6669 /  8535 =  78.137
0, 1  acc:  7236 /  8276 =  87.434
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16910 / 19867 =  85.116
Robust  acc:  6669 /  8535 =  78.137
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.770
Robust Acc: 82.912 | Best Acc: 98.226
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  8098 /  9767 =  82.912
0, 1  acc:  6620 /  7535 =  87.857
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17321 / 19962 =  86.770
Robust  acc:  8098 /  9767 =  82.912
------------------------------------
Accuracies by groups:
0, 0  acc:  8098 /  9767 =  82.912
0, 1  acc:  6620 /  7535 =  87.857
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17321 / 19962 =  86.770
Robust  acc:  8098 /  9767 =  82.912
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8098 /  9767 =  82.912
0, 1  acc:  6620 /  7535 =  87.857
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17321 / 19962 =  86.770
Robust  acc:  8098 /  9767 =  82.912
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 94.762 | Val Loss: 0.003 | Val Acc: 86.319
Training:
Accuracies by groups:
0, 0  acc: 12273 / 17087 =  71.827
0, 1  acc:  7268 /  8647 =  84.052
1, 0  acc: 126626 / 128391 =  98.625
1, 1  acc:  8077 /  8645 =  93.430
--------------------------------------
Average acc: 154244 / 162770 =  94.762
Robust  acc: 12273 / 17087 =  71.827
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6717 /  8535 =  78.699
0, 1  acc:  7423 /  8276 =  89.693
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17149 / 19867 =  86.319
Robust  acc:  6717 /  8535 =  78.699
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.677
Robust Acc: 83.178 | Best Acc: 98.306
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  8124 /  9767 =  83.178
0, 1  acc:  6773 /  7535 =  89.887
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17502 / 19962 =  87.677
Robust  acc:  8124 /  9767 =  83.178
------------------------------------
Accuracies by groups:
0, 0  acc:  8124 /  9767 =  83.178
0, 1  acc:  6773 /  7535 =  89.887
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17502 / 19962 =  87.677
Robust  acc:  8124 /  9767 =  83.178
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8124 /  9767 =  83.178
0, 1  acc:  6773 /  7535 =  89.887
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17502 / 19962 =  87.677
Robust  acc:  8124 /  9767 =  83.178
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.441 | Val Loss: 0.005 | Val Acc: 76.675
Training:
Accuracies by groups:
0, 0  acc: 12264 / 17462 =  70.233
0, 1  acc:  6906 /  8368 =  82.529
1, 0  acc: 126796 / 128592 =  98.603
1, 1  acc:  7756 /  8348 =  92.908
--------------------------------------
Average acc: 153722 / 162770 =  94.441
Robust  acc: 12264 / 17462 =  70.233
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5616 /  8535 =  65.800
0, 1  acc:  6577 /  8276 =  79.471
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15233 / 19867 =  76.675
Robust  acc:  5616 /  8535 =  65.800
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.098
Robust Acc: 71.209 | Best Acc: 99.395
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  6955 /  9767 =  71.209
0, 1  acc:  5996 /  7535 =  79.575
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15590 / 19962 =  78.098
Robust  acc:  6955 /  9767 =  71.209
------------------------------------
Accuracies by groups:
0, 0  acc:  6955 /  9767 =  71.209
0, 1  acc:  5996 /  7535 =  79.575
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15590 / 19962 =  78.098
Robust  acc:  6955 /  9767 =  71.209
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6955 /  9767 =  71.209
0, 1  acc:  5996 /  7535 =  79.575
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15590 / 19962 =  78.098
Robust  acc:  6955 /  9767 =  71.209
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.317 | Val Loss: 0.003 | Val Acc: 86.898
Training:
Accuracies by groups:
0, 0  acc: 12062 / 17364 =  69.466
0, 1  acc:  6958 /  8521 =  81.657
1, 0  acc: 126626 / 128441 =  98.587
1, 1  acc:  7873 /  8444 =  93.238
--------------------------------------
Average acc: 153519 / 162770 =  94.317
Robust  acc: 12062 / 17364 =  69.466
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6767 /  8535 =  79.285
0, 1  acc:  7488 /  8276 =  90.478
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17264 / 19867 =  86.898
Robust  acc:  6767 /  8535 =  79.285
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.308
Robust Acc: 83.874 | Best Acc: 97.863
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  8192 /  9767 =  83.874
0, 1  acc:  6849 /  7535 =  90.896
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17628 / 19962 =  88.308
Robust  acc:  8192 /  9767 =  83.874
------------------------------------
Accuracies by groups:
0, 0  acc:  8192 /  9767 =  83.874
0, 1  acc:  6849 /  7535 =  90.896
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17628 / 19962 =  88.308
Robust  acc:  8192 /  9767 =  83.874
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8192 /  9767 =  83.874
0, 1  acc:  6849 /  7535 =  90.896
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17628 / 19962 =  88.308
Robust  acc:  8192 /  9767 =  83.874
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.153 | Val Loss: 0.003 | Val Acc: 92.470
Training:
Accuracies by groups:
0, 0  acc: 11819 / 17324 =  68.223
0, 1  acc:  6649 /  8326 =  79.858
1, 0  acc: 126777 / 128538 =  98.630
1, 1  acc:  8008 /  8582 =  93.312
--------------------------------------
Average acc: 153253 / 162770 =  94.153
Robust  acc: 11819 / 17324 =  68.223
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7604 /  8535 =  89.092
0, 1  acc:  7974 /  8276 =  96.351
1, 0  acc:  2652 /  2874 =  92.276
1, 1  acc:   141 /   182 =  77.473
------------------------------------
Average acc: 18371 / 19867 =  92.470
Robust  acc:   141 /   182 =  77.473
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.002
Robust Acc: 67.778 | Best Acc: 96.377
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  8908 /  9767 =  91.205
0, 1  acc:  7262 /  7535 =  96.377
1, 0  acc:  2273 /  2480 =  91.653
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18565 / 19962 =  93.002
Robust  acc:   122 /   180 =  67.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8908 /  9767 =  91.205
0, 1  acc:  7262 /  7535 =  96.377
1, 0  acc:  2273 /  2480 =  91.653
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18565 / 19962 =  93.002
Robust  acc:   122 /   180 =  67.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8908 /  9767 =  91.205
0, 1  acc:  7262 /  7535 =  96.377
1, 0  acc:  2273 /  2480 =  91.653
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18565 / 19962 =  93.002
Robust  acc:   122 /   180 =  67.778
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.118 | Val Loss: 0.008 | Val Acc: 49.474
Training:
Accuracies by groups:
0, 0  acc: 11995 / 17565 =  68.289
0, 1  acc:  6816 /  8610 =  79.164
1, 0  acc: 126686 / 128371 =  98.687
1, 1  acc:  7699 /  8224 =  93.616
--------------------------------------
Average acc: 153196 / 162770 =  94.118
Robust  acc: 11995 / 17565 =  68.289
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3173 /  8535 =  37.176
0, 1  acc:  3604 /  8276 =  43.548
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9829 / 19867 =  49.474
Robust  acc:  3173 /  8535 =  37.176
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 50.401
Robust Acc: 42.694 | Best Acc: 99.919
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  4188 /  9767 =  42.879
0, 1  acc:  3217 /  7535 =  42.694
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10061 / 19962 =  50.401
Robust  acc:  3217 /  7535 =  42.694
------------------------------------
Accuracies by groups:
0, 0  acc:  4188 /  9767 =  42.879
0, 1  acc:  3217 /  7535 =  42.694
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10061 / 19962 =  50.401
Robust  acc:  3217 /  7535 =  42.694
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4188 /  9767 =  42.879
0, 1  acc:  3217 /  7535 =  42.694
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10061 / 19962 =  50.401
Robust  acc:  3217 /  7535 =  42.694
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.107 | Val Loss: 0.003 | Val Acc: 89.993
Training:
Accuracies by groups:
0, 0  acc: 11758 / 17330 =  67.848
0, 1  acc:  6677 /  8555 =  78.048
1, 0  acc: 126901 / 128506 =  98.751
1, 1  acc:  7842 /  8379 =  93.591
--------------------------------------
Average acc: 153178 / 162770 =  94.107
Robust  acc: 11758 / 17330 =  67.848
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7164 /  8535 =  83.937
0, 1  acc:  7769 /  8276 =  93.874
1, 0  acc:  2788 /  2874 =  97.008
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 17879 / 19867 =  89.993
Robust  acc:  7164 /  8535 =  83.937
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.898
Robust Acc: 81.667 | Best Acc: 96.048
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8515 /  9767 =  87.181
0, 1  acc:  7101 /  7535 =  94.240
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18145 / 19962 =  90.898
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8515 /  9767 =  87.181
0, 1  acc:  7101 /  7535 =  94.240
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18145 / 19962 =  90.898
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8515 /  9767 =  87.181
0, 1  acc:  7101 /  7535 =  94.240
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18145 / 19962 =  90.898
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.101 | Val Loss: 0.002 | Val Acc: 93.245
Training:
Accuracies by groups:
0, 0  acc: 11630 / 17332 =  67.101
0, 1  acc:  6639 /  8547 =  77.676
1, 0  acc: 127075 / 128577 =  98.832
1, 1  acc:  7824 /  8314 =  94.106
--------------------------------------
Average acc: 153168 / 162770 =  94.101
Robust  acc: 11630 / 17332 =  67.101
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7666 /  8535 =  89.818
0, 1  acc:  8075 /  8276 =  97.571
1, 0  acc:  2661 /  2874 =  92.589
1, 1  acc:   123 /   182 =  67.582
------------------------------------
Average acc: 18525 / 19867 =  93.245
Robust  acc:   123 /   182 =  67.582
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.868
Robust Acc: 68.333 | Best Acc: 97.226
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  9014 /  9767 =  92.290
0, 1  acc:  7326 /  7535 =  97.226
1, 0  acc:  2275 /  2480 =  91.734
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18738 / 19962 =  93.868
Robust  acc:   123 /   180 =  68.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9014 /  9767 =  92.290
0, 1  acc:  7326 /  7535 =  97.226
1, 0  acc:  2275 /  2480 =  91.734
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18738 / 19962 =  93.868
Robust  acc:   123 /   180 =  68.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9014 /  9767 =  92.290
0, 1  acc:  7326 /  7535 =  97.226
1, 0  acc:  2275 /  2480 =  91.734
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18738 / 19962 =  93.868
Robust  acc:   123 /   180 =  68.333
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 93.828 | Val Loss: 0.005 | Val Acc: 76.499
Training:
Accuracies by groups:
0, 0  acc: 11357 / 17384 =  65.330
0, 1  acc:  6535 /  8547 =  76.460
1, 0  acc: 127071 / 128594 =  98.816
1, 1  acc:  7761 /  8245 =  94.130
--------------------------------------
Average acc: 152724 / 162770 =  93.828
Robust  acc: 11357 / 17384 =  65.330
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5729 /  8535 =  67.124
0, 1  acc:  6431 /  8276 =  77.707
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 15198 / 19867 =  76.499
Robust  acc:  5729 /  8535 =  67.124
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.489
Robust Acc: 72.929 | Best Acc: 99.315
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  7123 /  9767 =  72.929
0, 1  acc:  5905 /  7535 =  78.368
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15668 / 19962 =  78.489
Robust  acc:  7123 /  9767 =  72.929
------------------------------------
Accuracies by groups:
0, 0  acc:  7123 /  9767 =  72.929
0, 1  acc:  5905 /  7535 =  78.368
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15668 / 19962 =  78.489
Robust  acc:  7123 /  9767 =  72.929
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7123 /  9767 =  72.929
0, 1  acc:  5905 /  7535 =  78.368
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15668 / 19962 =  78.489
Robust  acc:  7123 /  9767 =  72.929
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.050 | Val Loss: 0.004 | Val Acc: 85.443
Training:
Accuracies by groups:
0, 0  acc: 11525 / 17415 =  66.179
0, 1  acc:  6299 /  8259 =  76.268
1, 0  acc: 127398 / 128784 =  98.924
1, 1  acc:  7863 /  8312 =  94.598
--------------------------------------
Average acc: 153085 / 162770 =  94.050
Robust  acc: 11525 / 17415 =  66.179
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6553 /  8535 =  76.778
0, 1  acc:  7431 /  8276 =  89.790
1, 0  acc:  2824 /  2874 =  98.260
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 16975 / 19867 =  85.443
Robust  acc:  6553 /  8535 =  76.778
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.910
Robust Acc: 81.653 | Best Acc: 97.984
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  7975 /  9767 =  81.653
0, 1  acc:  6790 /  7535 =  90.113
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17349 / 19962 =  86.910
Robust  acc:  7975 /  9767 =  81.653
------------------------------------
Accuracies by groups:
0, 0  acc:  7975 /  9767 =  81.653
0, 1  acc:  6790 /  7535 =  90.113
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17349 / 19962 =  86.910
Robust  acc:  7975 /  9767 =  81.653
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7975 /  9767 =  81.653
0, 1  acc:  6790 /  7535 =  90.113
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17349 / 19962 =  86.910
Robust  acc:  7975 /  9767 =  81.653
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 93.832 | Val Loss: 0.004 | Val Acc: 85.569
Training:
Accuracies by groups:
0, 0  acc: 11548 / 17610 =  65.576
0, 1  acc:  6383 /  8444 =  75.592
1, 0  acc: 126858 / 128341 =  98.844
1, 1  acc:  7941 /  8375 =  94.818
--------------------------------------
Average acc: 152730 / 162770 =  93.832
Robust  acc: 11548 / 17610 =  65.576
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6759 /  8535 =  79.192
0, 1  acc:  7244 /  8276 =  87.530
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 17000 / 19867 =  85.569
Robust  acc:  6759 /  8535 =  79.192
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 87.311
Robust Acc: 84.120 | Best Acc: 97.661
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  8216 /  9767 =  84.120
0, 1  acc:  6629 /  7535 =  87.976
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17429 / 19962 =  87.311
Robust  acc:  8216 /  9767 =  84.120
------------------------------------
Accuracies by groups:
0, 0  acc:  8216 /  9767 =  84.120
0, 1  acc:  6629 /  7535 =  87.976
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17429 / 19962 =  87.311
Robust  acc:  8216 /  9767 =  84.120
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8216 /  9767 =  84.120
0, 1  acc:  6629 /  7535 =  87.976
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17429 / 19962 =  87.311
Robust  acc:  8216 /  9767 =  84.120
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.846 | Val Loss: 0.006 | Val Acc: 68.103
Training:
Accuracies by groups:
0, 0  acc: 11560 / 17683 =  65.374
0, 1  acc:  6292 /  8342 =  75.426
1, 0  acc: 126971 / 128340 =  98.933
1, 1  acc:  7930 /  8405 =  94.349
--------------------------------------
Average acc: 152753 / 162770 =  93.846
Robust  acc: 11560 / 17683 =  65.374
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4650 /  8535 =  54.482
0, 1  acc:  5836 /  8276 =  70.517
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13530 / 19867 =  68.103
Robust  acc:  4650 /  8535 =  54.482
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.444
Robust Acc: 61.523 | Best Acc: 99.516
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  6009 /  9767 =  61.523
0, 1  acc:  5410 /  7535 =  71.798
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14062 / 19962 =  70.444
Robust  acc:  6009 /  9767 =  61.523
------------------------------------
Accuracies by groups:
0, 0  acc:  6009 /  9767 =  61.523
0, 1  acc:  5410 /  7535 =  71.798
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14062 / 19962 =  70.444
Robust  acc:  6009 /  9767 =  61.523
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6009 /  9767 =  61.523
0, 1  acc:  5410 /  7535 =  71.798
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14062 / 19962 =  70.444
Robust  acc:  6009 /  9767 =  61.523
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.868 | Val Loss: 0.007 | Val Acc: 53.405
Training:
Accuracies by groups:
0, 0  acc: 11336 / 17400 =  65.149
0, 1  acc:  6564 /  8618 =  76.166
1, 0  acc: 126993 / 128405 =  98.900
1, 1  acc:  7896 /  8347 =  94.597
--------------------------------------
Average acc: 152789 / 162770 =  93.868
Robust  acc: 11336 / 17400 =  65.149
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3391 /  8535 =  39.731
0, 1  acc:  4166 /  8276 =  50.338
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10610 / 19867 =  53.405
Robust  acc:  3391 /  8535 =  39.731
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 55.310
Robust Acc: 46.647 | Best Acc: 99.798
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  4556 /  9767 =  46.647
0, 1  acc:  3832 /  7535 =  50.856
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11041 / 19962 =  55.310
Robust  acc:  4556 /  9767 =  46.647
------------------------------------
Accuracies by groups:
0, 0  acc:  4556 /  9767 =  46.647
0, 1  acc:  3832 /  7535 =  50.856
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11041 / 19962 =  55.310
Robust  acc:  4556 /  9767 =  46.647
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4556 /  9767 =  46.647
0, 1  acc:  3832 /  7535 =  50.856
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11041 / 19962 =  55.310
Robust  acc:  4556 /  9767 =  46.647
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.831 | Val Loss: 0.003 | Val Acc: 88.906
Training:
Accuracies by groups:
0, 0  acc: 11371 / 17486 =  65.029
0, 1  acc:  6325 /  8454 =  74.817
1, 0  acc: 127106 / 128473 =  98.936
1, 1  acc:  7926 /  8357 =  94.843
--------------------------------------
Average acc: 152728 / 162770 =  93.831
Robust  acc: 11371 / 17486 =  65.029
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7115 /  8535 =  83.363
0, 1  acc:  7623 /  8276 =  92.110
1, 0  acc:  2767 /  2874 =  96.277
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 17663 / 19867 =  88.906
Robust  acc:  7115 /  8535 =  83.363
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.327
Robust Acc: 78.889 | Best Acc: 96.210
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  8497 /  9767 =  86.997
0, 1  acc:  7006 /  7535 =  92.979
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18031 / 19962 =  90.327
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8497 /  9767 =  86.997
0, 1  acc:  7006 /  7535 =  92.979
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18031 / 19962 =  90.327
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8497 /  9767 =  86.997
0, 1  acc:  7006 /  7535 =  92.979
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18031 / 19962 =  90.327
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.900 | Val Loss: 0.004 | Val Acc: 78.935
Training:
Accuracies by groups:
0, 0  acc: 11144 / 17278 =  64.498
0, 1  acc:  6377 /  8384 =  76.062
1, 0  acc: 127301 / 128643 =  98.957
1, 1  acc:  8019 /  8465 =  94.731
--------------------------------------
Average acc: 152841 / 162770 =  93.900
Robust  acc: 11144 / 17278 =  64.498
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5939 /  8535 =  69.584
0, 1  acc:  6715 /  8276 =  81.138
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15682 / 19867 =  78.935
Robust  acc:  5939 /  8535 =  69.584
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.879
Robust Acc: 75.356 | Best Acc: 98.871
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7360 /  9767 =  75.356
0, 1  acc:  6167 /  7535 =  81.845
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16145 / 19962 =  80.879
Robust  acc:  7360 /  9767 =  75.356
------------------------------------
Accuracies by groups:
0, 0  acc:  7360 /  9767 =  75.356
0, 1  acc:  6167 /  7535 =  81.845
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16145 / 19962 =  80.879
Robust  acc:  7360 /  9767 =  75.356
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7360 /  9767 =  75.356
0, 1  acc:  6167 /  7535 =  81.845
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16145 / 19962 =  80.879
Robust  acc:  7360 /  9767 =  75.356
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.854 | Val Loss: 0.004 | Val Acc: 83.561
Training:
Accuracies by groups:
0, 0  acc: 11122 / 17322 =  64.207
0, 1  acc:  6355 /  8442 =  75.278
1, 0  acc: 127390 / 128665 =  99.009
1, 1  acc:  7899 /  8341 =  94.701
--------------------------------------
Average acc: 152766 / 162770 =  93.854
Robust  acc: 11122 / 17322 =  64.207
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6539 /  8535 =  76.614
0, 1  acc:  7053 /  8276 =  85.222
1, 0  acc:  2832 /  2874 =  98.539
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16601 / 19867 =  83.561
Robust  acc:  6539 /  8535 =  76.614
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.986
Robust Acc: 81.048 | Best Acc: 97.984
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7916 /  9767 =  81.048
0, 1  acc:  6453 /  7535 =  85.640
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16965 / 19962 =  84.986
Robust  acc:  7916 /  9767 =  81.048
------------------------------------
Accuracies by groups:
0, 0  acc:  7916 /  9767 =  81.048
0, 1  acc:  6453 /  7535 =  85.640
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16965 / 19962 =  84.986
Robust  acc:  7916 /  9767 =  81.048
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7916 /  9767 =  81.048
0, 1  acc:  6453 /  7535 =  85.640
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16965 / 19962 =  84.986
Robust  acc:  7916 /  9767 =  81.048
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.880 | Val Loss: 0.004 | Val Acc: 82.967
Training:
Accuracies by groups:
0, 0  acc: 11287 / 17489 =  64.538
0, 1  acc:  6334 /  8371 =  75.666
1, 0  acc: 127327 / 128613 =  99.000
1, 1  acc:  7861 /  8297 =  94.745
--------------------------------------
Average acc: 152809 / 162770 =  93.880
Robust  acc: 11287 / 17489 =  64.538
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6389 /  8535 =  74.856
0, 1  acc:  7084 /  8276 =  85.597
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16483 / 19867 =  82.967
Robust  acc:  6389 /  8535 =  74.856
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.826
Robust Acc: 80.035 | Best Acc: 98.750
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  7817 /  9767 =  80.035
0, 1  acc:  6505 /  7535 =  86.330
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16933 / 19962 =  84.826
Robust  acc:  7817 /  9767 =  80.035
------------------------------------
Accuracies by groups:
0, 0  acc:  7817 /  9767 =  80.035
0, 1  acc:  6505 /  7535 =  86.330
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16933 / 19962 =  84.826
Robust  acc:  7817 /  9767 =  80.035
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7817 /  9767 =  80.035
0, 1  acc:  6505 /  7535 =  86.330
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16933 / 19962 =  84.826
Robust  acc:  7817 /  9767 =  80.035
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.878 | Val Loss: 0.004 | Val Acc: 85.010
Training:
Accuracies by groups:
0, 0  acc: 11537 / 17634 =  65.425
0, 1  acc:  6387 /  8482 =  75.301
1, 0  acc: 127303 / 128650 =  98.953
1, 1  acc:  7578 /  8004 =  94.678
--------------------------------------
Average acc: 152805 / 162770 =  93.878
Robust  acc: 11537 / 17634 =  65.425
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6788 /  8535 =  79.531
0, 1  acc:  7126 /  8276 =  86.104
1, 0  acc:  2807 /  2874 =  97.669
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 16889 / 19867 =  85.010
Robust  acc:  6788 /  8535 =  79.531
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.129
Robust Acc: 83.649 | Best Acc: 96.976
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8170 /  9767 =  83.649
0, 1  acc:  6461 /  7535 =  85.747
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17193 / 19962 =  86.129
Robust  acc:  8170 /  9767 =  83.649
------------------------------------
Accuracies by groups:
0, 0  acc:  8170 /  9767 =  83.649
0, 1  acc:  6461 /  7535 =  85.747
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17193 / 19962 =  86.129
Robust  acc:  8170 /  9767 =  83.649
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8170 /  9767 =  83.649
0, 1  acc:  6461 /  7535 =  85.747
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17193 / 19962 =  86.129
Robust  acc:  8170 /  9767 =  83.649
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.809 | Val Loss: 0.005 | Val Acc: 73.056
Training:
Accuracies by groups:
0, 0  acc: 11506 / 17743 =  64.848
0, 1  acc:  6300 /  8335 =  75.585
1, 0  acc: 126947 / 128313 =  98.935
1, 1  acc:  7940 /  8379 =  94.761
--------------------------------------
Average acc: 152693 / 162770 =  93.809
Robust  acc: 11506 / 17743 =  64.848
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5412 /  8535 =  63.409
0, 1  acc:  6066 /  8276 =  73.296
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14514 / 19867 =  73.056
Robust  acc:  5412 /  8535 =  63.409
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.827
Robust Acc: 69.612 | Best Acc: 99.194
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  6799 /  9767 =  69.612
0, 1  acc:  5505 /  7535 =  73.059
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14937 / 19962 =  74.827
Robust  acc:  6799 /  9767 =  69.612
------------------------------------
Accuracies by groups:
0, 0  acc:  6799 /  9767 =  69.612
0, 1  acc:  5505 /  7535 =  73.059
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14937 / 19962 =  74.827
Robust  acc:  6799 /  9767 =  69.612
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6799 /  9767 =  69.612
0, 1  acc:  5505 /  7535 =  73.059
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14937 / 19962 =  74.827
Robust  acc:  6799 /  9767 =  69.612
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.880 | Val Loss: 0.006 | Val Acc: 60.115
Training:
Accuracies by groups:
0, 0  acc: 11498 / 17588 =  65.374
0, 1  acc:  6388 /  8470 =  75.419
1, 0  acc: 127041 / 128362 =  98.971
1, 1  acc:  7881 /  8350 =  94.383
--------------------------------------
Average acc: 152808 / 162770 =  93.880
Robust  acc: 11498 / 17588 =  65.374
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3928 /  8535 =  46.022
0, 1  acc:  4967 /  8276 =  60.017
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11943 / 19867 =  60.115
Robust  acc:  3928 /  8535 =  46.022
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 61.447
Robust Acc: 52.073 | Best Acc: 99.718
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  5086 /  9767 =  52.073
0, 1  acc:  4531 /  7535 =  60.133
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12266 / 19962 =  61.447
Robust  acc:  5086 /  9767 =  52.073
------------------------------------
Accuracies by groups:
0, 0  acc:  5086 /  9767 =  52.073
0, 1  acc:  4531 /  7535 =  60.133
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12266 / 19962 =  61.447
Robust  acc:  5086 /  9767 =  52.073
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5086 /  9767 =  52.073
0, 1  acc:  4531 /  7535 =  60.133
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12266 / 19962 =  61.447
Robust  acc:  5086 /  9767 =  52.073
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.906 | Val Loss: 0.003 | Val Acc: 92.374
Training:
Accuracies by groups:
0, 0  acc: 11460 / 17500 =  65.486
0, 1  acc:  6477 /  8504 =  76.164
1, 0  acc: 127018 / 128407 =  98.918
1, 1  acc:  7895 /  8359 =  94.449
--------------------------------------
Average acc: 152850 / 162770 =  93.906
Robust  acc: 11460 / 17500 =  65.486
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7661 /  8535 =  89.760
0, 1  acc:  7889 /  8276 =  95.324
1, 0  acc:  2660 /  2874 =  92.554
1, 1  acc:   142 /   182 =  78.022
------------------------------------
Average acc: 18352 / 19867 =  92.374
Robust  acc:   142 /   182 =  78.022
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.017
Robust Acc: 72.778 | Best Acc: 95.421
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  8980 /  9767 =  91.942
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2267 /  2480 =  91.411
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18568 / 19962 =  93.017
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8980 /  9767 =  91.942
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2267 /  2480 =  91.411
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18568 / 19962 =  93.017
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8980 /  9767 =  91.942
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2267 /  2480 =  91.411
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18568 / 19962 =  93.017
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.034 | Val Loss: 0.004 | Val Acc: 81.769
Training:
Accuracies by groups:
0, 0  acc: 11474 / 17401 =  65.939
0, 1  acc:  6494 /  8510 =  76.310
1, 0  acc: 127180 / 128502 =  98.971
1, 1  acc:  7911 /  8357 =  94.663
--------------------------------------
Average acc: 153059 / 162770 =  94.034
Robust  acc: 11474 / 17401 =  65.939
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6190 /  8535 =  72.525
0, 1  acc:  7030 /  8276 =  84.944
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16245 / 19867 =  81.769
Robust  acc:  6190 /  8535 =  72.525
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.293
Robust Acc: 77.404 | Best Acc: 99.032
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  7560 /  9767 =  77.404
0, 1  acc:  6444 /  7535 =  85.521
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16627 / 19962 =  83.293
Robust  acc:  7560 /  9767 =  77.404
------------------------------------
Accuracies by groups:
0, 0  acc:  7560 /  9767 =  77.404
0, 1  acc:  6444 /  7535 =  85.521
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16627 / 19962 =  83.293
Robust  acc:  7560 /  9767 =  77.404
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7560 /  9767 =  77.404
0, 1  acc:  6444 /  7535 =  85.521
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16627 / 19962 =  83.293
Robust  acc:  7560 /  9767 =  77.404
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 93.898 | Val Loss: 0.005 | Val Acc: 76.222
Training:
Accuracies by groups:
0, 0  acc: 11525 / 17596 =  65.498
0, 1  acc:  6419 /  8476 =  75.731
1, 0  acc: 127022 / 128350 =  98.965
1, 1  acc:  7871 /  8348 =  94.286
--------------------------------------
Average acc: 152837 / 162770 =  93.898
Robust  acc: 11525 / 17596 =  65.498
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5906 /  8535 =  69.197
0, 1  acc:  6225 /  8276 =  75.217
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 15143 / 19867 =  76.222
Robust  acc:  5906 /  8535 =  69.197
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.143
Robust Acc: 74.572 | Best Acc: 98.266
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  7372 /  9767 =  75.479
0, 1  acc:  5619 /  7535 =  74.572
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15599 / 19962 =  78.143
Robust  acc:  5619 /  7535 =  74.572
------------------------------------
Accuracies by groups:
0, 0  acc:  7372 /  9767 =  75.479
0, 1  acc:  5619 /  7535 =  74.572
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15599 / 19962 =  78.143
Robust  acc:  5619 /  7535 =  74.572
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7372 /  9767 =  75.479
0, 1  acc:  5619 /  7535 =  74.572
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15599 / 19962 =  78.143
Robust  acc:  5619 /  7535 =  74.572
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 93.890 | Val Loss: 0.004 | Val Acc: 82.227
Training:
Accuracies by groups:
0, 0  acc: 11503 / 17629 =  65.250
0, 1  acc:  6465 /  8477 =  76.265
1, 0  acc: 127039 / 128429 =  98.918
1, 1  acc:  7817 /  8235 =  94.924
--------------------------------------
Average acc: 152824 / 162770 =  93.890
Robust  acc: 11503 / 17629 =  65.250
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6447 /  8535 =  75.536
0, 1  acc:  6879 /  8276 =  83.120
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16336 / 19867 =  82.227
Robust  acc:  6447 /  8535 =  75.536
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.020
Robust Acc: 80.004 | Best Acc: 98.306
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  7814 /  9767 =  80.004
0, 1  acc:  6353 /  7535 =  84.313
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16772 / 19962 =  84.020
Robust  acc:  7814 /  9767 =  80.004
------------------------------------
Accuracies by groups:
0, 0  acc:  7814 /  9767 =  80.004
0, 1  acc:  6353 /  7535 =  84.313
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16772 / 19962 =  84.020
Robust  acc:  7814 /  9767 =  80.004
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7814 /  9767 =  80.004
0, 1  acc:  6353 /  7535 =  84.313
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16772 / 19962 =  84.020
Robust  acc:  7814 /  9767 =  80.004
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 93.949 | Val Loss: 0.003 | Val Acc: 93.069
Training:
Accuracies by groups:
0, 0  acc: 11412 / 17419 =  65.515
0, 1  acc:  6397 /  8447 =  75.731
1, 0  acc: 127138 / 128471 =  98.962
1, 1  acc:  7974 /  8433 =  94.557
--------------------------------------
Average acc: 152921 / 162770 =  93.949
Robust  acc: 11412 / 17419 =  65.515
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7661 /  8535 =  89.760
0, 1  acc:  8073 /  8276 =  97.547
1, 0  acc:  2633 /  2874 =  91.614
1, 1  acc:   123 /   182 =  67.582
------------------------------------
Average acc: 18490 / 19867 =  93.069
Robust  acc:   123 /   182 =  67.582
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.808
Robust Acc: 63.889 | Best Acc: 97.240
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  9020 /  9767 =  92.352
0, 1  acc:  7327 /  7535 =  97.240
1, 0  acc:  2264 /  2480 =  91.290
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18726 / 19962 =  93.808
Robust  acc:   115 /   180 =  63.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9020 /  9767 =  92.352
0, 1  acc:  7327 /  7535 =  97.240
1, 0  acc:  2264 /  2480 =  91.290
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18726 / 19962 =  93.808
Robust  acc:   115 /   180 =  63.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9020 /  9767 =  92.352
0, 1  acc:  7327 /  7535 =  97.240
1, 0  acc:  2264 /  2480 =  91.290
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18726 / 19962 =  93.808
Robust  acc:   115 /   180 =  63.889
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.007 | Val Loss: 0.005 | Val Acc: 75.316
Training:
Accuracies by groups:
0, 0  acc: 11482 / 17390 =  66.026
0, 1  acc:  6530 /  8580 =  76.107
1, 0  acc: 127152 / 128523 =  98.933
1, 1  acc:  7851 /  8277 =  94.853
--------------------------------------
Average acc: 153015 / 162770 =  94.007
Robust  acc: 11482 / 17390 =  66.026
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5709 /  8535 =  66.889
0, 1  acc:  6224 /  8276 =  75.205
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 14963 / 19867 =  75.316
Robust  acc:  5709 /  8535 =  66.889
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.776
Robust Acc: 72.366 | Best Acc: 98.992
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  7068 /  9767 =  72.366
0, 1  acc:  5629 /  7535 =  74.705
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15326 / 19962 =  76.776
Robust  acc:  7068 /  9767 =  72.366
------------------------------------
Accuracies by groups:
0, 0  acc:  7068 /  9767 =  72.366
0, 1  acc:  5629 /  7535 =  74.705
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15326 / 19962 =  76.776
Robust  acc:  7068 /  9767 =  72.366
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7068 /  9767 =  72.366
0, 1  acc:  5629 /  7535 =  74.705
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15326 / 19962 =  76.776
Robust  acc:  7068 /  9767 =  72.366
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 93.987 | Val Loss: 0.005 | Val Acc: 71.616
Training:
Accuracies by groups:
0, 0  acc: 11414 / 17398 =  65.605
0, 1  acc:  6412 /  8413 =  76.215
1, 0  acc: 127160 / 128526 =  98.937
1, 1  acc:  7996 /  8433 =  94.818
--------------------------------------
Average acc: 152982 / 162770 =  93.987
Robust  acc: 11414 / 17398 =  65.605
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5222 /  8535 =  61.183
0, 1  acc:  5963 /  8276 =  72.052
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14228 / 19867 =  71.616
Robust  acc:  5222 /  8535 =  61.183
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.054
Robust Acc: 67.155 | Best Acc: 99.476
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  6559 /  9767 =  67.155
0, 1  acc:  5382 /  7535 =  71.427
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14583 / 19962 =  73.054
Robust  acc:  6559 /  9767 =  67.155
------------------------------------
Accuracies by groups:
0, 0  acc:  6559 /  9767 =  67.155
0, 1  acc:  5382 /  7535 =  71.427
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14583 / 19962 =  73.054
Robust  acc:  6559 /  9767 =  67.155
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6559 /  9767 =  67.155
0, 1  acc:  5382 /  7535 =  71.427
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14583 / 19962 =  73.054
Robust  acc:  6559 /  9767 =  67.155
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.143 | Val Loss: 0.005 | Val Acc: 75.150
Training:
Accuracies by groups:
0, 0  acc: 11299 / 17149 =  65.887
0, 1  acc:  6586 /  8513 =  77.364
1, 0  acc: 127552 / 128851 =  98.992
1, 1  acc:  7799 /  8257 =  94.453
--------------------------------------
Average acc: 153236 / 162770 =  94.143
Robust  acc: 11299 / 17149 =  65.887
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5662 /  8535 =  66.339
0, 1  acc:  6235 /  8276 =  75.338
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 14930 / 19867 =  75.150
Robust  acc:  5662 /  8535 =  66.339
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.931
Robust Acc: 71.496 | Best Acc: 99.113
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  6983 /  9767 =  71.496
0, 1  acc:  5744 /  7535 =  76.231
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15357 / 19962 =  76.931
Robust  acc:  6983 /  9767 =  71.496
------------------------------------
Accuracies by groups:
0, 0  acc:  6983 /  9767 =  71.496
0, 1  acc:  5744 /  7535 =  76.231
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15357 / 19962 =  76.931
Robust  acc:  6983 /  9767 =  71.496
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6983 /  9767 =  71.496
0, 1  acc:  5744 /  7535 =  76.231
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15357 / 19962 =  76.931
Robust  acc:  6983 /  9767 =  71.496
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.113 | Val Loss: 0.004 | Val Acc: 87.894
Training:
Accuracies by groups:
0, 0  acc: 11522 / 17468 =  65.961
0, 1  acc:  6338 /  8267 =  76.666
1, 0  acc: 127486 / 128789 =  98.988
1, 1  acc:  7842 /  8246 =  95.101
--------------------------------------
Average acc: 153188 / 162770 =  94.113
Robust  acc: 11522 / 17468 =  65.961
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6991 /  8535 =  81.910
0, 1  acc:  7534 /  8276 =  91.034
1, 0  acc:  2778 /  2874 =  96.660
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 17462 / 19867 =  87.894
Robust  acc:  6991 /  8535 =  81.910
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.159
Robust Acc: 79.444 | Best Acc: 96.008
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  8391 /  9767 =  85.912
0, 1  acc:  6883 /  7535 =  91.347
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17798 / 19962 =  89.159
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8391 /  9767 =  85.912
0, 1  acc:  6883 /  7535 =  91.347
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17798 / 19962 =  89.159
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8391 /  9767 =  85.912
0, 1  acc:  6883 /  7535 =  91.347
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17798 / 19962 =  89.159
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.041 | Val Loss: 0.004 | Val Acc: 84.658
Training:
Accuracies by groups:
0, 0  acc: 11428 / 17375 =  65.773
0, 1  acc:  6579 /  8554 =  76.911
1, 0  acc: 127131 / 128439 =  98.982
1, 1  acc:  7932 /  8402 =  94.406
--------------------------------------
Average acc: 153070 / 162770 =  94.041
Robust  acc: 11428 / 17375 =  65.773
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6787 /  8535 =  79.520
0, 1  acc:  7040 /  8276 =  85.065
1, 0  acc:  2817 /  2874 =  98.017
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16819 / 19867 =  84.658
Robust  acc:  6787 /  8535 =  79.520
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.174
Robust Acc: 83.772 | Best Acc: 97.056
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  8182 /  9767 =  83.772
0, 1  acc:  6445 /  7535 =  85.534
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17202 / 19962 =  86.174
Robust  acc:  8182 /  9767 =  83.772
------------------------------------
Accuracies by groups:
0, 0  acc:  8182 /  9767 =  83.772
0, 1  acc:  6445 /  7535 =  85.534
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17202 / 19962 =  86.174
Robust  acc:  8182 /  9767 =  83.772
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8182 /  9767 =  83.772
0, 1  acc:  6445 /  7535 =  85.534
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17202 / 19962 =  86.174
Robust  acc:  8182 /  9767 =  83.772
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.055 | Val Loss: 0.004 | Val Acc: 86.863
Training:
Accuracies by groups:
0, 0  acc: 11619 / 17509 =  66.360
0, 1  acc:  6620 /  8593 =  77.039
1, 0  acc: 126828 / 128201 =  98.929
1, 1  acc:  8027 /  8467 =  94.803
--------------------------------------
Average acc: 153094 / 162770 =  94.055
Robust  acc: 11619 / 17509 =  66.360
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6872 /  8535 =  80.516
0, 1  acc:  7423 /  8276 =  89.693
1, 0  acc:  2802 /  2874 =  97.495
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 17257 / 19867 =  86.863
Robust  acc:  6872 /  8535 =  80.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.962
Robust Acc: 81.111 | Best Acc: 96.573
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  8217 /  9767 =  84.130
0, 1  acc:  6801 /  7535 =  90.259
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 17559 / 19962 =  87.962
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8217 /  9767 =  84.130
0, 1  acc:  6801 /  7535 =  90.259
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 17559 / 19962 =  87.962
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8217 /  9767 =  84.130
0, 1  acc:  6801 /  7535 =  90.259
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 17559 / 19962 =  87.962
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.002 | Val Loss: 0.004 | Val Acc: 85.524
Training:
Accuracies by groups:
0, 0  acc: 11504 / 17455 =  65.907
0, 1  acc:  6582 /  8573 =  76.776
1, 0  acc: 127164 / 128536 =  98.933
1, 1  acc:  7757 /  8206 =  94.528
--------------------------------------
Average acc: 153007 / 162770 =  94.002
Robust  acc: 11504 / 17455 =  65.907
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6408 /  8535 =  75.079
0, 1  acc:  7610 /  8276 =  91.953
1, 0  acc:  2815 /  2874 =  97.947
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 16991 / 19867 =  85.524
Robust  acc:  6408 /  8535 =  75.079
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.825
Robust Acc: 79.932 | Best Acc: 97.218
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  7807 /  9767 =  79.932
0, 1  acc:  6963 /  7535 =  92.409
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17332 / 19962 =  86.825
Robust  acc:  7807 /  9767 =  79.932
------------------------------------
Accuracies by groups:
0, 0  acc:  7807 /  9767 =  79.932
0, 1  acc:  6963 /  7535 =  92.409
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17332 / 19962 =  86.825
Robust  acc:  7807 /  9767 =  79.932
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7807 /  9767 =  79.932
0, 1  acc:  6963 /  7535 =  92.409
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17332 / 19962 =  86.825
Robust  acc:  7807 /  9767 =  79.932
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed30.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed30.pt
