Arch: resnet50_pt
Bs trn: 128
Bs val: 128
Hidden dim: 256
Dataset: celebA
Resample class: 
Slice with: rep
Rep cluster method: gmm
Num anchor: 32
Num positive: 32
Num negative: 32
Num negative easy: 0
Weight anc by loss: False
Weight pos by loss: False
Weight neg by loss: False
Anc loss temp: 0.5
Pos loss temp: 0.5
Neg loss temp: 0.5
Data wide pos: False
Target sample ratio: 1
Balance targets: False
Additional negatives: False
Hard negative factor: 0
Full contrastive: False
Train encoder: False
No projection head: False
Projection dim: 128
Batch factor: None
Temperature: 0.05
Single pos: False
Supervised linear scale up: False
Supervised update delay: 0
Contrastive weight: 0.5
Classifier update interval: 8
Optim: sgd
Max epoch: 50
Lr: 0.0001
Momentum: 0.9
Weight decay: 0.1
Weight decay c: 0.1
Stopping window: 30
Load encoder: 
Freeze encoder: False
Finetune epochs: 0
Clip grad norm: False
Lr scheduler classifier: 
Lr scheduler: 
Grad clip grad norm: False
Erm: False
Erm only: False
Pretrained spurious path: ./model/celebA/config/stage_one_erm/seed36/stage_one_erm_model_b_epoch0_seed36.pt
Max epoch s: 1
Bs trn s: 32
Lr s: 0.001
Momentum s: 0.9
Weight decay s: 0.0005
Slice temp: 10
Log loss interval: 10
Checkpoint interval: 50
Grad checkpoint interval: 50
Log visual interval: 100
Log grad visual interval: 50
Verbose: True
Seed: 6
Replicate: 0
No cuda: False
Resume: False
New slice: False
Num workers: 12
Evaluate: False
Data cmap: hsv
Test cmap: 
P correlation: 0.9
P corr by class: None
Train classes: ['blond', 'nonblond']
Train class ratios: None
Test shift: random
Flipped: False
Q: 0.7
Pretrained bmodel: True
Cosine: False
Exp: ours
Tau: 1.0
Gamma: None
Remove label noise: False
Model for remove samples: 
Remove ratio: 0.03
Supervised contrast: True
Prioritize spurious pos: False
Contrastive type: cnc
Compute auroc: False
Model type: resnet50_pt_cnc
Criterion: cross_entropy
Pretrained: False
Max grad norm: 1.0
Adam epsilon: 1e-08
Warmup steps: 0
Max grad norm s: 1.0
Adam epsilon s: 1e-08
Warmup steps s: 0
Grad max grad norm: 1.0
Grad adam epsilon: 1e-08
Grad warmup steps: 0
Device: cuda
Img file type: .png
Display image: False
Image path: ./images/celebA/celebA/config/contrastive_umaps
Log interval: 1
Log path: ./logs/celebA/config
Results path: ./results/celebA/config
Model path: ./model/celebA/config
Loss factor: 1
Supersample labels: False
Subsample labels: False
Weigh slice samples by loss: True
Val split: 0.2
Spurious train split: 0.2
Subsample groups: False
Train method: sc
Max robust acc: -1
Max robust epoch: -1
Max robust group acc: (None, None)
Root dir: ./datasets/data/CelebA/
Target name: Blond_Hair
Confounder names: ['Male']
Image mean: 0.449
Image std: 0.226
Augment data: False
Task: celebA
Num classes: 2
Experiment configs: config
Experiment name: cnc-celebA-sw=re-na=32-np=32-nn=32-nne=0-tsr=1-t=0.05-bf=None-cw=0.5-sud=0-me=50-bst=128-o=sgd-lr=0.0001-mo=0.9-wd=0.1-wdc=0.1-spur-me=1-bst=32-lr=0.001-mo=0.9-wd=0.0005-sts=0.2-s=6-r=0
Mi resampled: None

Loading checkpoints for train split:
[-1 -1 -1 ... -1 -1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [71629 66874 22880  1387]
Loading checkpoints for val split:
[-1 -1 -1 ... -1  1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [8535 8276 2874  182]
Loading checkpoints for test split:
[-1 -1 -1 ... -1 -1  1]
<class 'numpy.ndarray'>
[0 1 2 3] [9767 7535 2480  180]
Train dataset:
    Blond_Hair = 0, Male = 0 : n = 71629
    Blond_Hair = 0, Male = 1 : n = 66874
    Blond_Hair = 1, Male = 0 : n = 22880
    Blond_Hair = 1, Male = 1 : n = 1387
Val dataset:
    Blond_Hair = 0, Male = 0 : n = 8535
    Blond_Hair = 0, Male = 1 : n = 8276
    Blond_Hair = 1, Male = 0 : n = 2874
    Blond_Hair = 1, Male = 1 : n = 182
Test dataset:
    Blond_Hair = 0, Male = 0 : n = 9767
    Blond_Hair = 0, Male = 1 : n = 7535
    Blond_Hair = 1, Male = 0 : n = 2480
    Blond_Hair = 1, Male = 1 : n = 180
------------------------
> Loading spurious model
------------------------
Pretrained model loaded from ./model/celebA/config/stage_one_erm/seed36/stage_one_erm_model_b_epoch0_seed36.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8309, 0.0200],
        [0.1350, 0.0141]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.742 | Val Loss: 0.004 | Val Acc: 78.255
Training:
Accuracies by groups:
0, 0  acc:  5700 / 14506 =  39.294
0, 1  acc:  2900 /  6553 =  44.255
1, 0  acc: 130986 / 133136 =  98.385
1, 1  acc:  8114 /  8575 =  94.624
--------------------------------------
Average acc: 147700 / 162770 =  90.742
Robust  acc:  5700 / 14506 =  39.294
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6067 /  8535 =  71.084
0, 1  acc:  6459 /  8276 =  78.045
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 15547 / 19867 =  78.255
Robust  acc:  6067 /  8535 =  71.084
------------------------------------
New max robust acc: 71.0837727006444
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed6.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed6.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 80.318
Robust Acc: 76.748 | Best Acc: 98.992
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7496 /  9767 =  76.748
0, 1  acc:  5911 /  7535 =  78.447
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16033 / 19962 =  80.318
Robust  acc:  7496 /  9767 =  76.748
------------------------------------
Accuracies by groups:
0, 0  acc:  7496 /  9767 =  76.748
0, 1  acc:  5911 /  7535 =  78.447
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16033 / 19962 =  80.318
Robust  acc:  7496 /  9767 =  76.748
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7496 /  9767 =  76.748
0, 1  acc:  5911 /  7535 =  78.447
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16033 / 19962 =  80.318
Robust  acc:  7496 /  9767 =  76.748
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.510 | Val Loss: 0.003 | Val Acc: 82.685
Training:
Accuracies by groups:
0, 0  acc:  9165 / 14473 =  63.325
0, 1  acc:  4570 /  6412 =  71.273
1, 0  acc: 131983 / 133263 =  99.039
1, 1  acc:  8116 /  8622 =  94.131
--------------------------------------
Average acc: 153834 / 162770 =  94.510
Robust  acc:  9165 / 14473 =  63.325
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6354 /  8535 =  74.446
0, 1  acc:  7052 /  8276 =  85.210
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16427 / 19867 =  82.685
Robust  acc:  6354 /  8535 =  74.446
------------------------------------
New max robust acc: 74.4463971880492
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed6.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed6.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.215
Robust Acc: 79.636 | Best Acc: 98.911
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7778 /  9767 =  79.636
0, 1  acc:  6412 /  7535 =  85.096
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16811 / 19962 =  84.215
Robust  acc:  7778 /  9767 =  79.636
------------------------------------
Accuracies by groups:
0, 0  acc:  7778 /  9767 =  79.636
0, 1  acc:  6412 /  7535 =  85.096
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16811 / 19962 =  84.215
Robust  acc:  7778 /  9767 =  79.636
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7778 /  9767 =  79.636
0, 1  acc:  6412 /  7535 =  85.096
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16811 / 19962 =  84.215
Robust  acc:  7778 /  9767 =  79.636
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.356 | Val Loss: 0.003 | Val Acc: 85.821
Training:
Accuracies by groups:
0, 0  acc:  9713 / 14385 =  67.522
0, 1  acc:  5175 /  6477 =  79.898
1, 0  acc: 132259 / 133376 =  99.163
1, 1  acc:  8064 /  8532 =  94.515
--------------------------------------
Average acc: 155211 / 162770 =  95.356
Robust  acc:  9713 / 14385 =  67.522
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6620 /  8535 =  77.563
0, 1  acc:  7417 /  8276 =  89.621
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17050 / 19867 =  85.821
Robust  acc:  6620 /  8535 =  77.563
------------------------------------
New max robust acc: 77.56297598125366
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed6.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed6.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.950
Robust Acc: 82.246 | Best Acc: 98.669
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8033 /  9767 =  82.246
0, 1  acc:  6714 /  7535 =  89.104
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17357 / 19962 =  86.950
Robust  acc:  8033 /  9767 =  82.246
------------------------------------
Accuracies by groups:
0, 0  acc:  8033 /  9767 =  82.246
0, 1  acc:  6714 /  7535 =  89.104
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17357 / 19962 =  86.950
Robust  acc:  8033 /  9767 =  82.246
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8033 /  9767 =  82.246
0, 1  acc:  6714 /  7535 =  89.104
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17357 / 19962 =  86.950
Robust  acc:  8033 /  9767 =  82.246
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.849 | Val Loss: 0.002 | Val Acc: 87.039
Training:
Accuracies by groups:
0, 0  acc: 10245 / 14575 =  70.292
0, 1  acc:  5497 /  6538 =  84.078
1, 0  acc: 132224 / 133232 =  99.243
1, 1  acc:  8048 /  8425 =  95.525
--------------------------------------
Average acc: 156014 / 162770 =  95.849
Robust  acc: 10245 / 14575 =  70.292
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6761 /  8535 =  79.215
0, 1  acc:  7524 /  8276 =  90.913
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17292 / 19867 =  87.039
Robust  acc:  6761 /  8535 =  79.215
------------------------------------
New max robust acc: 79.21499707088459
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed6.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed6.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.072
Robust Acc: 83.577 | Best Acc: 98.185
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8163 /  9767 =  83.577
0, 1  acc:  6820 /  7535 =  90.511
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17581 / 19962 =  88.072
Robust  acc:  8163 /  9767 =  83.577
------------------------------------
Accuracies by groups:
0, 0  acc:  8163 /  9767 =  83.577
0, 1  acc:  6820 /  7535 =  90.511
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17581 / 19962 =  88.072
Robust  acc:  8163 /  9767 =  83.577
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8163 /  9767 =  83.577
0, 1  acc:  6820 /  7535 =  90.511
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17581 / 19962 =  88.072
Robust  acc:  8163 /  9767 =  83.577
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.368 | Val Loss: 0.002 | Val Acc: 88.765
Training:
Accuracies by groups:
0, 0  acc: 10586 / 14506 =  72.977
0, 1  acc:  5649 /  6528 =  86.535
1, 0  acc: 132287 / 133060 =  99.419
1, 1  acc:  8337 /  8676 =  96.093
--------------------------------------
Average acc: 156859 / 162770 =  96.368
Robust  acc: 10586 / 14506 =  72.977
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6969 /  8535 =  81.652
0, 1  acc:  7668 /  8276 =  92.653
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17635 / 19867 =  88.765
Robust  acc:  6969 /  8535 =  81.652
------------------------------------
New max robust acc: 81.65202108963094
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed6.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed6.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.605
Robust Acc: 85.359 | Best Acc: 97.782
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8337 /  9767 =  85.359
0, 1  acc:  6969 /  7535 =  92.488
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17887 / 19962 =  89.605
Robust  acc:  8337 /  9767 =  85.359
------------------------------------
Accuracies by groups:
0, 0  acc:  8337 /  9767 =  85.359
0, 1  acc:  6969 /  7535 =  92.488
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17887 / 19962 =  89.605
Robust  acc:  8337 /  9767 =  85.359
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8337 /  9767 =  85.359
0, 1  acc:  6969 /  7535 =  92.488
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17887 / 19962 =  89.605
Robust  acc:  8337 /  9767 =  85.359
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.731 | Val Loss: 0.002 | Val Acc: 90.396
Training:
Accuracies by groups:
0, 0  acc: 10787 / 14524 =  74.270
0, 1  acc:  5789 /  6572 =  88.086
1, 0  acc: 132294 / 132910 =  99.537
1, 1  acc:  8579 /  8764 =  97.889
--------------------------------------
Average acc: 157449 / 162770 =  96.731
Robust  acc: 10787 / 14524 =  74.270
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7175 /  8535 =  84.066
0, 1  acc:  7801 /  8276 =  94.261
1, 0  acc:  2816 /  2874 =  97.982
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17959 / 19867 =  90.396
Robust  acc:  7175 /  8535 =  84.066
------------------------------------
New max robust acc: 84.0656121851201
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed6.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed6.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.762
Robust Acc: 85.000 | Best Acc: 97.540
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8489 /  9767 =  86.915
0, 1  acc:  7057 /  7535 =  93.656
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18118 / 19962 =  90.762
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8489 /  9767 =  86.915
0, 1  acc:  7057 /  7535 =  93.656
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18118 / 19962 =  90.762
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8489 /  9767 =  86.915
0, 1  acc:  7057 /  7535 =  93.656
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18118 / 19962 =  90.762
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.285 | Val Loss: 0.002 | Val Acc: 89.656
Training:
Accuracies by groups:
0, 0  acc: 11076 / 14398 =  76.927
0, 1  acc:  5900 /  6552 =  90.049
1, 0  acc: 132989 / 133343 =  99.735
1, 1  acc:  8386 /  8477 =  98.927
--------------------------------------
Average acc: 158351 / 162770 =  97.285
Robust  acc: 11076 / 14398 =  76.927
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7071 /  8535 =  82.847
0, 1  acc:  7753 /  8276 =  93.681
1, 0  acc:  2821 /  2874 =  98.156
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17812 / 19867 =  89.656
Robust  acc:  7071 /  8535 =  82.847
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.261
Robust Acc: 83.889 | Best Acc: 97.540
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8410 /  9767 =  86.106
0, 1  acc:  7038 /  7535 =  93.404
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18018 / 19962 =  90.261
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8410 /  9767 =  86.106
0, 1  acc:  7038 /  7535 =  93.404
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18018 / 19962 =  90.261
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8410 /  9767 =  86.106
0, 1  acc:  7038 /  7535 =  93.404
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18018 / 19962 =  90.261
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.799 | Val Loss: 0.002 | Val Acc: 92.072
Training:
Accuracies by groups:
0, 0  acc: 11516 / 14362 =  80.184
0, 1  acc:  6096 /  6626 =  92.001
1, 0  acc: 133042 / 133199 =  99.882
1, 1  acc:  8534 /  8583 =  99.429
--------------------------------------
Average acc: 159188 / 162770 =  97.799
Robust  acc: 11516 / 14362 =  80.184
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7414 /  8535 =  86.866
0, 1  acc:  7950 /  8276 =  96.061
1, 0  acc:  2780 /  2874 =  96.729
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 18292 / 19867 =  92.072
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.406
Robust Acc: 78.889 | Best Acc: 95.927
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8728 /  9767 =  89.362
0, 1  acc:  7197 /  7535 =  95.514
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18446 / 19962 =  92.406
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8728 /  9767 =  89.362
0, 1  acc:  7197 /  7535 =  95.514
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18446 / 19962 =  92.406
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8728 /  9767 =  89.362
0, 1  acc:  7197 /  7535 =  95.514
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18446 / 19962 =  92.406
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.208 | Val Loss: 0.002 | Val Acc: 92.389
Training:
Accuracies by groups:
0, 0  acc: 12086 / 14450 =  83.640
0, 1  acc:  6218 /  6640 =  93.645
1, 0  acc: 132910 / 133023 =  99.915
1, 1  acc:  8639 /  8657 =  99.792
--------------------------------------
Average acc: 159853 / 162770 =  98.208
Robust  acc: 12086 / 14450 =  83.640
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7481 /  8535 =  87.651
0, 1  acc:  7979 /  8276 =  96.411
1, 0  acc:  2748 /  2874 =  95.616
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18355 / 19867 =  92.389
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.621
Robust Acc: 77.778 | Best Acc: 96.058
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8754 /  9767 =  89.628
0, 1  acc:  7238 /  7535 =  96.058
1, 0  acc:  2357 /  2480 =  95.040
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18489 / 19962 =  92.621
Robust  acc:   140 /   180 =  77.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8754 /  9767 =  89.628
0, 1  acc:  7238 /  7535 =  96.058
1, 0  acc:  2357 /  2480 =  95.040
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18489 / 19962 =  92.621
Robust  acc:   140 /   180 =  77.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8754 /  9767 =  89.628
0, 1  acc:  7238 /  7535 =  96.058
1, 0  acc:  2357 /  2480 =  95.040
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18489 / 19962 =  92.621
Robust  acc:   140 /   180 =  77.778
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.479 | Val Loss: 0.002 | Val Acc: 92.581
Training:
Accuracies by groups:
0, 0  acc: 12530 / 14575 =  85.969
0, 1  acc:  6342 /  6662 =  95.197
1, 0  acc: 132720 / 132807 =  99.934
1, 1  acc:  8703 /  8726 =  99.736
--------------------------------------
Average acc: 160295 / 162770 =  98.479
Robust  acc: 12530 / 14575 =  85.969
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7534 /  8535 =  88.272
0, 1  acc:  7991 /  8276 =  96.556
1, 0  acc:  2725 /  2874 =  94.816
1, 1  acc:   143 /   182 =  78.571
------------------------------------
Average acc: 18393 / 19867 =  92.581
Robust  acc:   143 /   182 =  78.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.902
Robust Acc: 76.111 | Best Acc: 96.257
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8819 /  9767 =  90.294
0, 1  acc:  7253 /  7535 =  96.257
1, 0  acc:  2336 /  2480 =  94.194
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18545 / 19962 =  92.902
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8819 /  9767 =  90.294
0, 1  acc:  7253 /  7535 =  96.257
1, 0  acc:  2336 /  2480 =  94.194
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18545 / 19962 =  92.902
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8819 /  9767 =  90.294
0, 1  acc:  7253 /  7535 =  96.257
1, 0  acc:  2336 /  2480 =  94.194
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18545 / 19962 =  92.902
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.491 | Val Loss: 0.001 | Val Acc: 94.232
Training:
Accuracies by groups:
0, 0  acc: 12755 / 14657 =  87.023
0, 1  acc:  6247 /  6587 =  94.838
1, 0  acc: 132586 / 132751 =  99.876
1, 1  acc:  8725 /  8775 =  99.430
--------------------------------------
Average acc: 160313 / 162770 =  98.491
Robust  acc: 12755 / 14657 =  87.023
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7849 /  8535 =  91.963
0, 1  acc:  8119 /  8276 =  98.103
1, 0  acc:  2634 /  2874 =  91.649
1, 1  acc:   119 /   182 =  65.385
------------------------------------
Average acc: 18721 / 19867 =  94.232
Robust  acc:   119 /   182 =  65.385
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.334
Robust Acc: 59.444 | Best Acc: 97.863
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  9102 /  9767 =  93.191
0, 1  acc:  7374 /  7535 =  97.863
1, 0  acc:  2248 /  2480 =  90.645
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18831 / 19962 =  94.334
Robust  acc:   107 /   180 =  59.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9102 /  9767 =  93.191
0, 1  acc:  7374 /  7535 =  97.863
1, 0  acc:  2248 /  2480 =  90.645
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18831 / 19962 =  94.334
Robust  acc:   107 /   180 =  59.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9102 /  9767 =  93.191
0, 1  acc:  7374 /  7535 =  97.863
1, 0  acc:  2248 /  2480 =  90.645
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18831 / 19962 =  94.334
Robust  acc:   107 /   180 =  59.444
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.237 | Val Loss: 0.002 | Val Acc: 90.663
Training:
Accuracies by groups:
0, 0  acc: 12495 / 14615 =  85.494
0, 1  acc:  6343 /  6701 =  94.658
1, 0  acc: 132525 / 132827 =  99.773
1, 1  acc:  8538 /  8627 =  98.968
--------------------------------------
Average acc: 159901 / 162770 =  98.237
Robust  acc: 12495 / 14615 =  85.494
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7260 /  8535 =  85.062
0, 1  acc:  7836 /  8276 =  94.683
1, 0  acc:  2766 /  2874 =  96.242
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 18012 / 19867 =  90.663
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.339
Robust Acc: 75.556 | Best Acc: 94.919
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8599 /  9767 =  88.041
0, 1  acc:  7144 /  7535 =  94.811
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18233 / 19962 =  91.339
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8599 /  9767 =  88.041
0, 1  acc:  7144 /  7535 =  94.811
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18233 / 19962 =  91.339
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8599 /  9767 =  88.041
0, 1  acc:  7144 /  7535 =  94.811
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18233 / 19962 =  91.339
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.882 | Val Loss: 0.002 | Val Acc: 92.269
Training:
Accuracies by groups:
0, 0  acc: 12035 / 14456 =  83.253
0, 1  acc:  6136 /  6564 =  93.480
1, 0  acc: 132650 / 133118 =  99.648
1, 1  acc:  8502 /  8632 =  98.494
--------------------------------------
Average acc: 159323 / 162770 =  97.882
Robust  acc: 12035 / 14456 =  83.253
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7601 /  8535 =  89.057
0, 1  acc:  7878 /  8276 =  95.191
1, 0  acc:  2701 /  2874 =  93.981
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 18331 / 19867 =  92.269
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.406
Robust Acc: 76.667 | Best Acc: 94.652
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8885 /  9767 =  90.970
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2291 /  2480 =  92.379
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18446 / 19962 =  92.406
Robust  acc:   138 /   180 =  76.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8885 /  9767 =  90.970
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2291 /  2480 =  92.379
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18446 / 19962 =  92.406
Robust  acc:   138 /   180 =  76.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8885 /  9767 =  90.970
0, 1  acc:  7132 /  7535 =  94.652
1, 0  acc:  2291 /  2480 =  92.379
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18446 / 19962 =  92.406
Robust  acc:   138 /   180 =  76.667
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.343 | Val Loss: 0.001 | Val Acc: 94.272
Training:
Accuracies by groups:
0, 0  acc: 11735 / 14645 =  80.130
0, 1  acc:  5978 /  6551 =  91.253
1, 0  acc: 132341 / 132971 =  99.526
1, 1  acc:  8391 /  8603 =  97.536
--------------------------------------
Average acc: 158445 / 162770 =  97.343
Robust  acc: 11735 / 14645 =  80.130
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7913 /  8535 =  92.712
0, 1  acc:  8048 /  8276 =  97.245
1, 0  acc:  2621 /  2874 =  91.197
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18729 / 19867 =  94.272
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.354
Robust Acc: 68.889 | Best Acc: 96.881
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  9183 /  9767 =  94.021
0, 1  acc:  7300 /  7535 =  96.881
1, 0  acc:  2228 /  2480 =  89.839
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18835 / 19962 =  94.354
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9183 /  9767 =  94.021
0, 1  acc:  7300 /  7535 =  96.881
1, 0  acc:  2228 /  2480 =  89.839
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18835 / 19962 =  94.354
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9183 /  9767 =  94.021
0, 1  acc:  7300 /  7535 =  96.881
1, 0  acc:  2228 /  2480 =  89.839
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18835 / 19962 =  94.354
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.948 | Val Loss: 0.002 | Val Acc: 88.916
Training:
Accuracies by groups:
0, 0  acc: 11126 / 14378 =  77.382
0, 1  acc:  5838 /  6519 =  89.554
1, 0  acc: 132298 / 133090 =  99.405
1, 1  acc:  8541 /  8783 =  97.245
--------------------------------------
Average acc: 157803 / 162770 =  96.948
Robust  acc: 11126 / 14378 =  77.382
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7026 /  8535 =  82.320
0, 1  acc:  7669 /  8276 =  92.666
1, 0  acc:  2807 /  2874 =  97.669
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17665 / 19867 =  88.916
Robust  acc:  7026 /  8535 =  82.320
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.355
Robust Acc: 83.333 | Best Acc: 97.581
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8341 /  9767 =  85.400
0, 1  acc:  6926 /  7535 =  91.918
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17837 / 19962 =  89.355
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8341 /  9767 =  85.400
0, 1  acc:  6926 /  7535 =  91.918
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17837 / 19962 =  89.355
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8341 /  9767 =  85.400
0, 1  acc:  6926 /  7535 =  91.918
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17837 / 19962 =  89.355
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.426 | Val Loss: 0.003 | Val Acc: 86.611
Training:
Accuracies by groups:
0, 0  acc: 10560 / 14301 =  73.841
0, 1  acc:  5715 /  6515 =  87.721
1, 0  acc: 132359 / 133322 =  99.278
1, 1  acc:  8318 /  8632 =  96.362
--------------------------------------
Average acc: 156952 / 162770 =  96.426
Robust  acc: 10560 / 14301 =  73.841
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6867 /  8535 =  80.457
0, 1  acc:  7336 /  8276 =  88.642
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 17207 / 19867 =  86.611
Robust  acc:  6867 /  8535 =  80.457
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.672
Robust Acc: 84.120 | Best Acc: 97.823
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8216 /  9767 =  84.120
0, 1  acc:  6697 /  7535 =  88.879
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17501 / 19962 =  87.672
Robust  acc:  8216 /  9767 =  84.120
------------------------------------
Accuracies by groups:
0, 0  acc:  8216 /  9767 =  84.120
0, 1  acc:  6697 /  7535 =  88.879
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17501 / 19962 =  87.672
Robust  acc:  8216 /  9767 =  84.120
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8216 /  9767 =  84.120
0, 1  acc:  6697 /  7535 =  88.879
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17501 / 19962 =  87.672
Robust  acc:  8216 /  9767 =  84.120
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 96.051 | Val Loss: 0.005 | Val Acc: 76.151
Training:
Accuracies by groups:
0, 0  acc: 10395 / 14361 =  72.384
0, 1  acc:  5688 /  6611 =  86.038
1, 0  acc: 132088 / 133243 =  99.133
1, 1  acc:  8172 /  8555 =  95.523
--------------------------------------
Average acc: 156343 / 162770 =  96.051
Robust  acc: 10395 / 14361 =  72.384
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5882 /  8535 =  68.916
0, 1  acc:  6216 /  8276 =  75.109
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 15129 / 19867 =  76.151
Robust  acc:  5882 /  8535 =  68.916
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 77.377
Robust Acc: 74.015 | Best Acc: 99.032
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  7229 /  9767 =  74.015
0, 1  acc:  5586 /  7535 =  74.134
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15446 / 19962 =  77.377
Robust  acc:  7229 /  9767 =  74.015
------------------------------------
Accuracies by groups:
0, 0  acc:  7229 /  9767 =  74.015
0, 1  acc:  5586 /  7535 =  74.134
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15446 / 19962 =  77.377
Robust  acc:  7229 /  9767 =  74.015
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7229 /  9767 =  74.015
0, 1  acc:  5586 /  7535 =  74.134
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15446 / 19962 =  77.377
Robust  acc:  7229 /  9767 =  74.015
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.486 | Val Loss: 0.002 | Val Acc: 94.307
Training:
Accuracies by groups:
0, 0  acc: 10153 / 14623 =  69.432
0, 1  acc:  5524 /  6624 =  83.394
1, 0  acc: 131594 / 132940 =  98.988
1, 1  acc:  8152 /  8583 =  94.978
--------------------------------------
Average acc: 155423 / 162770 =  95.486
Robust  acc: 10153 / 14623 =  69.432
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7842 /  8535 =  91.880
0, 1  acc:  8094 /  8276 =  97.801
1, 0  acc:  2665 /  2874 =  92.728
1, 1  acc:   135 /   182 =  74.176
------------------------------------
Average acc: 18736 / 19867 =  94.307
Robust  acc:   135 /   182 =  74.176
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.680
Robust Acc: 65.000 | Best Acc: 97.704
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  9138 /  9767 =  93.560
0, 1  acc:  7362 /  7535 =  97.704
1, 0  acc:  2283 /  2480 =  92.056
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18900 / 19962 =  94.680
Robust  acc:   117 /   180 =  65.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9138 /  9767 =  93.560
0, 1  acc:  7362 /  7535 =  97.704
1, 0  acc:  2283 /  2480 =  92.056
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18900 / 19962 =  94.680
Robust  acc:   117 /   180 =  65.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9138 /  9767 =  93.560
0, 1  acc:  7362 /  7535 =  97.704
1, 0  acc:  2283 /  2480 =  92.056
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18900 / 19962 =  94.680
Robust  acc:   117 /   180 =  65.000
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.320 | Val Loss: 0.005 | Val Acc: 76.141
Training:
Accuracies by groups:
0, 0  acc:  9876 / 14466 =  68.270
0, 1  acc:  5360 /  6542 =  81.932
1, 0  acc: 131478 / 132835 =  98.978
1, 1  acc:  8438 /  8927 =  94.522
--------------------------------------
Average acc: 155152 / 162770 =  95.320
Robust  acc:  9876 / 14466 =  68.270
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5670 /  8535 =  66.432
0, 1  acc:  6418 /  8276 =  77.550
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15127 / 19867 =  76.141
Robust  acc:  5670 /  8535 =  66.432
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 77.678
Robust Acc: 72.335 | Best Acc: 99.315
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  7065 /  9767 =  72.335
0, 1  acc:  5803 /  7535 =  77.014
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15506 / 19962 =  77.678
Robust  acc:  7065 /  9767 =  72.335
------------------------------------
Accuracies by groups:
0, 0  acc:  7065 /  9767 =  72.335
0, 1  acc:  5803 /  7535 =  77.014
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15506 / 19962 =  77.678
Robust  acc:  7065 /  9767 =  72.335
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7065 /  9767 =  72.335
0, 1  acc:  5803 /  7535 =  77.014
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15506 / 19962 =  77.678
Robust  acc:  7065 /  9767 =  72.335
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.031 | Val Loss: 0.004 | Val Acc: 82.619
Training:
Accuracies by groups:
0, 0  acc:  9327 / 14128 =  66.018
0, 1  acc:  5298 /  6695 =  79.134
1, 0  acc: 131840 / 133262 =  98.933
1, 1  acc:  8217 /  8685 =  94.611
--------------------------------------
Average acc: 154682 / 162770 =  95.031
Robust  acc:  9327 / 14128 =  66.018
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6530 /  8535 =  76.508
0, 1  acc:  6868 /  8276 =  82.987
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16414 / 19867 =  82.619
Robust  acc:  6530 /  8535 =  76.508
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.380
Robust Acc: 81.437 | Best Acc: 98.508
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  7954 /  9767 =  81.437
0, 1  acc:  6277 /  7535 =  83.305
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16844 / 19962 =  84.380
Robust  acc:  7954 /  9767 =  81.437
------------------------------------
Accuracies by groups:
0, 0  acc:  7954 /  9767 =  81.437
0, 1  acc:  6277 /  7535 =  83.305
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16844 / 19962 =  84.380
Robust  acc:  7954 /  9767 =  81.437
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7954 /  9767 =  81.437
0, 1  acc:  6277 /  7535 =  83.305
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16844 / 19962 =  84.380
Robust  acc:  7954 /  9767 =  81.437
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 95.043 | Val Loss: 0.004 | Val Acc: 80.208
Training:
Accuracies by groups:
0, 0  acc:  9416 / 14268 =  65.994
0, 1  acc:  5168 /  6622 =  78.043
1, 0  acc: 131832 / 133144 =  99.015
1, 1  acc:  8286 /  8736 =  94.849
--------------------------------------
Average acc: 154702 / 162770 =  95.043
Robust  acc:  9416 / 14268 =  65.994
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6123 /  8535 =  71.740
0, 1  acc:  6781 /  8276 =  81.936
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15935 / 19867 =  80.208
Robust  acc:  6123 /  8535 =  71.740
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.116
Robust Acc: 77.076 | Best Acc: 98.952
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  7528 /  9767 =  77.076
0, 1  acc:  6240 /  7535 =  82.814
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16392 / 19962 =  82.116
Robust  acc:  7528 /  9767 =  77.076
------------------------------------
Accuracies by groups:
0, 0  acc:  7528 /  9767 =  77.076
0, 1  acc:  6240 /  7535 =  82.814
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16392 / 19962 =  82.116
Robust  acc:  7528 /  9767 =  77.076
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7528 /  9767 =  77.076
0, 1  acc:  6240 /  7535 =  82.814
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16392 / 19962 =  82.116
Robust  acc:  7528 /  9767 =  77.076
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.820 | Val Loss: 0.008 | Val Acc: 45.930
Training:
Accuracies by groups:
0, 0  acc:  9195 / 14261 =  64.477
0, 1  acc:  4847 /  6462 =  75.008
1, 0  acc: 132067 / 133408 =  98.995
1, 1  acc:  8230 /  8639 =  95.266
--------------------------------------
Average acc: 154339 / 162770 =  94.820
Robust  acc:  9195 / 14261 =  64.477
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2682 /  8535 =  31.424
0, 1  acc:  3387 /  8276 =  40.926
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9125 / 19867 =  45.930
Robust  acc:  2682 /  8535 =  31.424
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 46.063
Robust Acc: 35.743 | Best Acc: 100.000
--------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  3491 /  9767 =  35.743
0, 1  acc:  3046 /  7535 =  40.425
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9195 / 19962 =  46.063
Robust  acc:  3491 /  9767 =  35.743
------------------------------------
Accuracies by groups:
0, 0  acc:  3491 /  9767 =  35.743
0, 1  acc:  3046 /  7535 =  40.425
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9195 / 19962 =  46.063
Robust  acc:  3491 /  9767 =  35.743
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3491 /  9767 =  35.743
0, 1  acc:  3046 /  7535 =  40.425
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9195 / 19962 =  46.063
Robust  acc:  3491 /  9767 =  35.743
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.537 | Val Loss: 0.002 | Val Acc: 92.535
Training:
Accuracies by groups:
0, 0  acc:  8966 / 14403 =  62.251
0, 1  acc:  4921 /  6634 =  74.178
1, 0  acc: 131786 / 133112 =  99.004
1, 1  acc:  8205 /  8621 =  95.175
--------------------------------------
Average acc: 153878 / 162770 =  94.537
Robust  acc:  8966 / 14403 =  62.251
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8441 /  8535 =  98.899
0, 1  acc:  8252 /  8276 =  99.710
1, 0  acc:  1636 /  2874 =  56.924
1, 1  acc:    55 /   182 =  30.220
------------------------------------
Average acc: 18384 / 19867 =  92.535
Robust  acc:    55 /   182 =  30.220
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.886
Robust Acc: 25.000 | Best Acc: 99.628
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  9669 /  9767 =  98.997
0, 1  acc:  7507 /  7535 =  99.628
1, 0  acc:  1321 /  2480 =  53.266
1, 1  acc:    45 /   180 =  25.000
------------------------------------
Average acc: 18542 / 19962 =  92.886
Robust  acc:    45 /   180 =  25.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9669 /  9767 =  98.997
0, 1  acc:  7507 /  7535 =  99.628
1, 0  acc:  1321 /  2480 =  53.266
1, 1  acc:    45 /   180 =  25.000
------------------------------------
Average acc: 18542 / 19962 =  92.886
Robust  acc:    45 /   180 =  25.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9669 /  9767 =  98.997
0, 1  acc:  7507 /  7535 =  99.628
1, 0  acc:  1321 /  2480 =  53.266
1, 1  acc:    45 /   180 =  25.000
------------------------------------
Average acc: 18542 / 19962 =  92.886
Robust  acc:    45 /   180 =  25.000
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.538 | Val Loss: 0.008 | Val Acc: 50.853
Training:
Accuracies by groups:
0, 0  acc:  9023 / 14471 =  62.352
0, 1  acc:  4738 /  6577 =  72.039
1, 0  acc: 131756 / 132939 =  99.110
1, 1  acc:  8362 /  8783 =  95.207
--------------------------------------
Average acc: 153879 / 162770 =  94.538
Robust  acc:  9023 / 14471 =  62.352
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3144 /  8535 =  36.837
0, 1  acc:  3908 /  8276 =  47.221
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10103 / 19867 =  50.853
Robust  acc:  3144 /  8535 =  36.837
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 51.658
Robust Acc: 42.173 | Best Acc: 99.960
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  4119 /  9767 =  42.173
0, 1  acc:  3537 /  7535 =  46.941
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 10312 / 19962 =  51.658
Robust  acc:  4119 /  9767 =  42.173
------------------------------------
Accuracies by groups:
0, 0  acc:  4119 /  9767 =  42.173
0, 1  acc:  3537 /  7535 =  46.941
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 10312 / 19962 =  51.658
Robust  acc:  4119 /  9767 =  42.173
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4119 /  9767 =  42.173
0, 1  acc:  3537 /  7535 =  46.941
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 10312 / 19962 =  51.658
Robust  acc:  4119 /  9767 =  42.173
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.466 | Val Loss: 0.005 | Val Acc: 72.719
Training:
Accuracies by groups:
0, 0  acc:  8715 / 14280 =  61.029
0, 1  acc:  4817 /  6639 =  72.556
1, 0  acc: 131937 / 133149 =  99.090
1, 1  acc:  8294 /  8702 =  95.311
--------------------------------------
Average acc: 153763 / 162770 =  94.466
Robust  acc:  8715 / 14280 =  61.029
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5381 /  8535 =  63.046
0, 1  acc:  6025 /  8276 =  72.801
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14447 / 19867 =  72.719
Robust  acc:  5381 /  8535 =  63.046
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.336
Robust Acc: 68.588 | Best Acc: 99.355
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  6699 /  9767 =  68.588
0, 1  acc:  5500 /  7535 =  72.993
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14839 / 19962 =  74.336
Robust  acc:  6699 /  9767 =  68.588
------------------------------------
Accuracies by groups:
0, 0  acc:  6699 /  9767 =  68.588
0, 1  acc:  5500 /  7535 =  72.993
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14839 / 19962 =  74.336
Robust  acc:  6699 /  9767 =  68.588
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6699 /  9767 =  68.588
0, 1  acc:  5500 /  7535 =  72.993
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14839 / 19962 =  74.336
Robust  acc:  6699 /  9767 =  68.588
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.416 | Val Loss: 0.006 | Val Acc: 66.784
Training:
Accuracies by groups:
0, 0  acc:  8725 / 14386 =  60.649
0, 1  acc:  4532 /  6393 =  70.890
1, 0  acc: 132160 / 133341 =  99.114
1, 1  acc:  8264 /  8650 =  95.538
--------------------------------------
Average acc: 153681 / 162770 =  94.416
Robust  acc:  8725 / 14386 =  60.649
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4635 /  8535 =  54.306
0, 1  acc:  5586 /  8276 =  67.496
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13268 / 19867 =  66.784
Robust  acc:  4635 /  8535 =  54.306
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.325
Robust Acc: 60.407 | Best Acc: 99.718
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  5900 /  9767 =  60.407
0, 1  acc:  5090 /  7535 =  67.551
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13639 / 19962 =  68.325
Robust  acc:  5900 /  9767 =  60.407
------------------------------------
Accuracies by groups:
0, 0  acc:  5900 /  9767 =  60.407
0, 1  acc:  5090 /  7535 =  67.551
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13639 / 19962 =  68.325
Robust  acc:  5900 /  9767 =  60.407
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5900 /  9767 =  60.407
0, 1  acc:  5090 /  7535 =  67.551
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13639 / 19962 =  68.325
Robust  acc:  5900 /  9767 =  60.407
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.223 | Val Loss: 0.005 | Val Acc: 72.074
Training:
Accuracies by groups:
0, 0  acc:  8603 / 14626 =  58.820
0, 1  acc:  4519 /  6534 =  69.161
1, 0  acc: 131979 / 132990 =  99.240
1, 1  acc:  8266 /  8620 =  95.893
--------------------------------------
Average acc: 153367 / 162770 =  94.223
Robust  acc:  8603 / 14626 =  58.820
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5171 /  8535 =  60.586
0, 1  acc:  6105 /  8276 =  73.768
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14319 / 19867 =  72.074
Robust  acc:  5171 /  8535 =  60.586
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.595
Robust Acc: 66.602 | Best Acc: 99.637
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  6505 /  9767 =  66.602
0, 1  acc:  5544 /  7535 =  73.577
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14691 / 19962 =  73.595
Robust  acc:  6505 /  9767 =  66.602
------------------------------------
Accuracies by groups:
0, 0  acc:  6505 /  9767 =  66.602
0, 1  acc:  5544 /  7535 =  73.577
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14691 / 19962 =  73.595
Robust  acc:  6505 /  9767 =  66.602
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6505 /  9767 =  66.602
0, 1  acc:  5544 /  7535 =  73.577
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14691 / 19962 =  73.595
Robust  acc:  6505 /  9767 =  66.602
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.073 | Val Loss: 0.006 | Val Acc: 68.974
Training:
Accuracies by groups:
0, 0  acc:  8444 / 14514 =  58.178
0, 1  acc:  4499 /  6678 =  67.370
1, 0  acc: 131938 / 132982 =  99.215
1, 1  acc:  8241 /  8596 =  95.870
--------------------------------------
Average acc: 153122 / 162770 =  94.073
Robust  acc:  8444 / 14514 =  58.178
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5113 /  8535 =  59.906
0, 1  acc:  5549 /  8276 =  67.049
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 13703 / 19867 =  68.974
Robust  acc:  5113 /  8535 =  59.906
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.569
Robust Acc: 65.557 | Best Acc: 99.556
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  6403 /  9767 =  65.557
0, 1  acc:  5039 /  7535 =  66.875
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14087 / 19962 =  70.569
Robust  acc:  6403 /  9767 =  65.557
------------------------------------
Accuracies by groups:
0, 0  acc:  6403 /  9767 =  65.557
0, 1  acc:  5039 /  7535 =  66.875
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14087 / 19962 =  70.569
Robust  acc:  6403 /  9767 =  65.557
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6403 /  9767 =  65.557
0, 1  acc:  5039 /  7535 =  66.875
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14087 / 19962 =  70.569
Robust  acc:  6403 /  9767 =  65.557
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.133 | Val Loss: 0.005 | Val Acc: 76.408
Training:
Accuracies by groups:
0, 0  acc:  8294 / 14429 =  57.481
0, 1  acc:  4487 /  6649 =  67.484
1, 0  acc: 132223 / 133152 =  99.302
1, 1  acc:  8216 /  8540 =  96.206
--------------------------------------
Average acc: 153220 / 162770 =  94.133
Robust  acc:  8294 / 14429 =  57.481
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6010 /  8535 =  70.416
0, 1  acc:  6153 /  8276 =  74.348
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15180 / 19867 =  76.408
Robust  acc:  6010 /  8535 =  70.416
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 78.078
Robust Acc: 74.107 | Best Acc: 98.387
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  7389 /  9767 =  75.653
0, 1  acc:  5584 /  7535 =  74.107
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15586 / 19962 =  78.078
Robust  acc:  5584 /  7535 =  74.107
------------------------------------
Accuracies by groups:
0, 0  acc:  7389 /  9767 =  75.653
0, 1  acc:  5584 /  7535 =  74.107
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15586 / 19962 =  78.078
Robust  acc:  5584 /  7535 =  74.107
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7389 /  9767 =  75.653
0, 1  acc:  5584 /  7535 =  74.107
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15586 / 19962 =  78.078
Robust  acc:  5584 /  7535 =  74.107
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.120 | Val Loss: 0.004 | Val Acc: 82.020
Training:
Accuracies by groups:
0, 0  acc:  8266 / 14455 =  57.184
0, 1  acc:  4438 /  6623 =  67.009
1, 0  acc: 132172 / 133064 =  99.330
1, 1  acc:  8323 /  8628 =  96.465
--------------------------------------
Average acc: 153199 / 162770 =  94.120
Robust  acc:  8266 / 14455 =  57.184
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6566 /  8535 =  76.930
0, 1  acc:  6736 /  8276 =  81.392
1, 0  acc:  2819 /  2874 =  98.086
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16295 / 19867 =  82.020
Robust  acc:  6566 /  8535 =  76.930
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.794
Robust Acc: 81.194 | Best Acc: 97.782
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  8017 /  9767 =  82.083
0, 1  acc:  6118 /  7535 =  81.194
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16727 / 19962 =  83.794
Robust  acc:  6118 /  7535 =  81.194
------------------------------------
Accuracies by groups:
0, 0  acc:  8017 /  9767 =  82.083
0, 1  acc:  6118 /  7535 =  81.194
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16727 / 19962 =  83.794
Robust  acc:  6118 /  7535 =  81.194
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8017 /  9767 =  82.083
0, 1  acc:  6118 /  7535 =  81.194
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16727 / 19962 =  83.794
Robust  acc:  6118 /  7535 =  81.194
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.976 | Val Loss: 0.008 | Val Acc: 48.216
Training:
Accuracies by groups:
0, 0  acc:  8330 / 14587 =  57.106
0, 1  acc:  4304 /  6635 =  64.868
1, 0  acc: 131717 / 132678 =  99.276
1, 1  acc:  8613 /  8870 =  97.103
--------------------------------------
Average acc: 152964 / 162770 =  93.976
Robust  acc:  8330 / 14587 =  57.106
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2971 /  8535 =  34.810
0, 1  acc:  3553 /  8276 =  42.931
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9579 / 19867 =  48.216
Robust  acc:  2971 /  8535 =  34.810
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 48.377
Robust Acc: 39.285 | Best Acc: 100.000
--------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  3837 /  9767 =  39.285
0, 1  acc:  3162 /  7535 =  41.964
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9657 / 19962 =  48.377
Robust  acc:  3837 /  9767 =  39.285
------------------------------------
Accuracies by groups:
0, 0  acc:  3837 /  9767 =  39.285
0, 1  acc:  3162 /  7535 =  41.964
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9657 / 19962 =  48.377
Robust  acc:  3837 /  9767 =  39.285
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3837 /  9767 =  39.285
0, 1  acc:  3162 /  7535 =  41.964
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9657 / 19962 =  48.377
Robust  acc:  3837 /  9767 =  39.285
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 94.127 | Val Loss: 0.006 | Val Acc: 66.960
Training:
Accuracies by groups:
0, 0  acc:  8297 / 14479 =  57.304
0, 1  acc:  4260 /  6498 =  65.559
1, 0  acc: 132140 / 132993 =  99.359
1, 1  acc:  8514 /  8800 =  96.750
--------------------------------------
Average acc: 153211 / 162770 =  94.127
Robust  acc:  8297 / 14479 =  57.304
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4458 /  8535 =  52.232
0, 1  acc:  5802 /  8276 =  70.106
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13303 / 19867 =  66.960
Robust  acc:  4458 /  8535 =  52.232
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 67.729
Robust Acc: 58.073 | Best Acc: 99.597
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  5672 /  9767 =  58.073
0, 1  acc:  5202 /  7535 =  69.038
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13520 / 19962 =  67.729
Robust  acc:  5672 /  9767 =  58.073
------------------------------------
Accuracies by groups:
0, 0  acc:  5672 /  9767 =  58.073
0, 1  acc:  5202 /  7535 =  69.038
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13520 / 19962 =  67.729
Robust  acc:  5672 /  9767 =  58.073
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5672 /  9767 =  58.073
0, 1  acc:  5202 /  7535 =  69.038
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13520 / 19962 =  67.729
Robust  acc:  5672 /  9767 =  58.073
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 94.032 | Val Loss: 0.006 | Val Acc: 68.652
Training:
Accuracies by groups:
0, 0  acc:  8250 / 14589 =  56.549
0, 1  acc:  4331 /  6571 =  65.911
1, 0  acc: 132224 / 133082 =  99.355
1, 1  acc:  8251 /  8528 =  96.752
--------------------------------------
Average acc: 153056 / 162770 =  94.032
Robust  acc:  8250 / 14589 =  56.549
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5086 /  8535 =  59.590
0, 1  acc:  5509 /  8276 =  66.566
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 13639 / 19867 =  68.652
Robust  acc:  5086 /  8535 =  59.590
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.574
Robust Acc: 65.271 | Best Acc: 99.637
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  6375 /  9767 =  65.271
0, 1  acc:  5066 /  7535 =  67.233
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14088 / 19962 =  70.574
Robust  acc:  6375 /  9767 =  65.271
------------------------------------
Accuracies by groups:
0, 0  acc:  6375 /  9767 =  65.271
0, 1  acc:  5066 /  7535 =  67.233
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14088 / 19962 =  70.574
Robust  acc:  6375 /  9767 =  65.271
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6375 /  9767 =  65.271
0, 1  acc:  5066 /  7535 =  67.233
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14088 / 19962 =  70.574
Robust  acc:  6375 /  9767 =  65.271
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.012 | Val Loss: 0.005 | Val Acc: 78.970
Training:
Accuracies by groups:
0, 0  acc:  8309 / 14502 =  57.296
0, 1  acc:  4270 /  6665 =  64.066
1, 0  acc: 131956 / 132844 =  99.332
1, 1  acc:  8489 /  8759 =  96.917
--------------------------------------
Average acc: 153024 / 162770 =  94.012
Robust  acc:  8309 / 14502 =  57.296
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6153 /  8535 =  72.091
0, 1  acc:  6522 /  8276 =  78.806
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 15689 / 19867 =  78.970
Robust  acc:  6153 /  8535 =  72.091
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 80.463
Robust Acc: 77.107 | Best Acc: 98.589
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7531 /  9767 =  77.107
0, 1  acc:  5911 /  7535 =  78.447
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 16062 / 19962 =  80.463
Robust  acc:  7531 /  9767 =  77.107
------------------------------------
Accuracies by groups:
0, 0  acc:  7531 /  9767 =  77.107
0, 1  acc:  5911 /  7535 =  78.447
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 16062 / 19962 =  80.463
Robust  acc:  7531 /  9767 =  77.107
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7531 /  9767 =  77.107
0, 1  acc:  5911 /  7535 =  78.447
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 16062 / 19962 =  80.463
Robust  acc:  7531 /  9767 =  77.107
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.976 | Val Loss: 0.004 | Val Acc: 85.765
Training:
Accuracies by groups:
0, 0  acc:  8292 / 14595 =  56.814
0, 1  acc:  4189 /  6484 =  64.605
1, 0  acc: 132113 / 133034 =  99.308
1, 1  acc:  8371 /  8657 =  96.696
--------------------------------------
Average acc: 152965 / 162770 =  93.976
Robust  acc:  8292 / 14595 =  56.814
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6708 /  8535 =  78.594
0, 1  acc:  7336 /  8276 =  88.642
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17039 / 19867 =  85.765
Robust  acc:  6708 /  8535 =  78.594
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 87.191
Robust Acc: 83.065 | Best Acc: 97.823
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  8113 /  9767 =  83.065
0, 1  acc:  6711 /  7535 =  89.064
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17405 / 19962 =  87.191
Robust  acc:  8113 /  9767 =  83.065
------------------------------------
Accuracies by groups:
0, 0  acc:  8113 /  9767 =  83.065
0, 1  acc:  6711 /  7535 =  89.064
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17405 / 19962 =  87.191
Robust  acc:  8113 /  9767 =  83.065
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8113 /  9767 =  83.065
0, 1  acc:  6711 /  7535 =  89.064
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17405 / 19962 =  87.191
Robust  acc:  8113 /  9767 =  83.065
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.148 | Val Loss: 0.005 | Val Acc: 76.479
Training:
Accuracies by groups:
0, 0  acc:  8151 / 14260 =  57.160
0, 1  acc:  4368 /  6649 =  65.694
1, 0  acc: 132343 / 133189 =  99.365
1, 1  acc:  8383 /  8672 =  96.667
--------------------------------------
Average acc: 153245 / 162770 =  94.148
Robust  acc:  8151 / 14260 =  57.160
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5776 /  8535 =  67.674
0, 1  acc:  6384 /  8276 =  77.139
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15194 / 19867 =  76.479
Robust  acc:  5776 /  8535 =  67.674
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.434
Robust Acc: 73.359 | Best Acc: 99.234
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  7165 /  9767 =  73.359
0, 1  acc:  5856 /  7535 =  77.717
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15657 / 19962 =  78.434
Robust  acc:  7165 /  9767 =  73.359
------------------------------------
Accuracies by groups:
0, 0  acc:  7165 /  9767 =  73.359
0, 1  acc:  5856 /  7535 =  77.717
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15657 / 19962 =  78.434
Robust  acc:  7165 /  9767 =  73.359
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7165 /  9767 =  73.359
0, 1  acc:  5856 /  7535 =  77.717
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15657 / 19962 =  78.434
Robust  acc:  7165 /  9767 =  73.359
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.125 | Val Loss: 0.005 | Val Acc: 72.190
Training:
Accuracies by groups:
0, 0  acc:  8259 / 14365 =  57.494
0, 1  acc:  4300 /  6546 =  65.689
1, 0  acc: 132328 / 133230 =  99.323
1, 1  acc:  8321 /  8629 =  96.431
--------------------------------------
Average acc: 153208 / 162770 =  94.125
Robust  acc:  8259 / 14365 =  57.494
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5447 /  8535 =  63.820
0, 1  acc:  5853 /  8276 =  70.723
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14342 / 19867 =  72.190
Robust  acc:  5447 /  8535 =  63.820
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.860
Robust Acc: 69.499 | Best Acc: 99.355
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  6788 /  9767 =  69.499
0, 1  acc:  5319 /  7535 =  70.591
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14744 / 19962 =  73.860
Robust  acc:  6788 /  9767 =  69.499
------------------------------------
Accuracies by groups:
0, 0  acc:  6788 /  9767 =  69.499
0, 1  acc:  5319 /  7535 =  70.591
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14744 / 19962 =  73.860
Robust  acc:  6788 /  9767 =  69.499
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6788 /  9767 =  69.499
0, 1  acc:  5319 /  7535 =  70.591
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14744 / 19962 =  73.860
Robust  acc:  6788 /  9767 =  69.499
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.995 | Val Loss: 0.004 | Val Acc: 87.104
Training:
Accuracies by groups:
0, 0  acc:  8263 / 14432 =  57.255
0, 1  acc:  4279 /  6599 =  64.843
1, 0  acc: 132037 / 132979 =  99.292
1, 1  acc:  8416 /  8760 =  96.073
--------------------------------------
Average acc: 152995 / 162770 =  93.995
Robust  acc:  8263 / 14432 =  57.255
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7042 /  8535 =  82.507
0, 1  acc:  7296 /  8276 =  88.159
1, 0  acc:  2801 /  2874 =  97.460
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17305 / 19867 =  87.104
Robust  acc:  7042 /  8535 =  82.507
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 88.338
Robust Acc: 86.495 | Best Acc: 96.492
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  8448 /  9767 =  86.495
0, 1  acc:  6633 /  7535 =  88.029
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17634 / 19962 =  88.338
Robust  acc:  8448 /  9767 =  86.495
------------------------------------
Accuracies by groups:
0, 0  acc:  8448 /  9767 =  86.495
0, 1  acc:  6633 /  7535 =  88.029
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17634 / 19962 =  88.338
Robust  acc:  8448 /  9767 =  86.495
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8448 /  9767 =  86.495
0, 1  acc:  6633 /  7535 =  88.029
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17634 / 19962 =  88.338
Robust  acc:  8448 /  9767 =  86.495
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.282 | Val Loss: 0.005 | Val Acc: 81.205
Training:
Accuracies by groups:
0, 0  acc:  8459 / 14422 =  58.653
0, 1  acc:  4247 /  6434 =  66.009
1, 0  acc: 132462 / 133350 =  99.334
1, 1  acc:  8295 /  8564 =  96.859
--------------------------------------
Average acc: 153463 / 162770 =  94.282
Robust  acc:  8459 / 14422 =  58.653
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6398 /  8535 =  74.962
0, 1  acc:  6716 /  8276 =  81.150
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16133 / 19867 =  81.205
Robust  acc:  6398 /  8535 =  74.962
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.153
Robust Acc: 80.025 | Best Acc: 98.589
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  7816 /  9767 =  80.025
0, 1  acc:  6164 /  7535 =  81.805
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16599 / 19962 =  83.153
Robust  acc:  7816 /  9767 =  80.025
------------------------------------
Accuracies by groups:
0, 0  acc:  7816 /  9767 =  80.025
0, 1  acc:  6164 /  7535 =  81.805
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16599 / 19962 =  83.153
Robust  acc:  7816 /  9767 =  80.025
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7816 /  9767 =  80.025
0, 1  acc:  6164 /  7535 =  81.805
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16599 / 19962 =  83.153
Robust  acc:  7816 /  9767 =  80.025
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.131 | Val Loss: 0.005 | Val Acc: 75.517
Training:
Accuracies by groups:
0, 0  acc:  8442 / 14485 =  58.281
0, 1  acc:  4340 /  6548 =  66.280
1, 0  acc: 132041 / 133064 =  99.231
1, 1  acc:  8394 /  8673 =  96.783
--------------------------------------
Average acc: 153217 / 162770 =  94.131
Robust  acc:  8442 / 14485 =  58.281
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5809 /  8535 =  68.061
0, 1  acc:  6162 /  8276 =  74.456
1, 0  acc:  2852 /  2874 =  99.235
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15003 / 19867 =  75.517
Robust  acc:  5809 /  8535 =  68.061
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.731
Robust Acc: 72.335 | Best Acc: 99.073
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  7065 /  9767 =  72.335
0, 1  acc:  5623 /  7535 =  74.625
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15317 / 19962 =  76.731
Robust  acc:  7065 /  9767 =  72.335
------------------------------------
Accuracies by groups:
0, 0  acc:  7065 /  9767 =  72.335
0, 1  acc:  5623 /  7535 =  74.625
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15317 / 19962 =  76.731
Robust  acc:  7065 /  9767 =  72.335
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7065 /  9767 =  72.335
0, 1  acc:  5623 /  7535 =  74.625
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15317 / 19962 =  76.731
Robust  acc:  7065 /  9767 =  72.335
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.179 | Val Loss: 0.003 | Val Acc: 91.347
Training:
Accuracies by groups:
0, 0  acc:  8528 / 14496 =  58.830
0, 1  acc:  4288 /  6467 =  66.306
1, 0  acc: 132075 / 133074 =  99.249
1, 1  acc:  8404 /  8733 =  96.233
--------------------------------------
Average acc: 153295 / 162770 =  94.179
Robust  acc:  8528 / 14496 =  58.830
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7786 /  8535 =  91.224
0, 1  acc:  7756 /  8276 =  93.717
1, 0  acc:  2466 /  2874 =  85.804
1, 1  acc:   140 /   182 =  76.923
------------------------------------
Average acc: 18148 / 19867 =  91.347
Robust  acc:   140 /   182 =  76.923
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.220
Robust Acc: 71.667 | Best Acc: 93.603
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  9127 /  9767 =  93.447
0, 1  acc:  7053 /  7535 =  93.603
1, 0  acc:  2100 /  2480 =  84.677
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18409 / 19962 =  92.220
Robust  acc:   129 /   180 =  71.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9127 /  9767 =  93.447
0, 1  acc:  7053 /  7535 =  93.603
1, 0  acc:  2100 /  2480 =  84.677
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18409 / 19962 =  92.220
Robust  acc:   129 /   180 =  71.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9127 /  9767 =  93.447
0, 1  acc:  7053 /  7535 =  93.603
1, 0  acc:  2100 /  2480 =  84.677
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18409 / 19962 =  92.220
Robust  acc:   129 /   180 =  71.667
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.122 | Val Loss: 0.004 | Val Acc: 85.217
Training:
Accuracies by groups:
0, 0  acc:  8577 / 14538 =  58.997
0, 1  acc:  4339 /  6583 =  65.912
1, 0  acc: 131937 / 132968 =  99.225
1, 1  acc:  8349 /  8681 =  96.176
--------------------------------------
Average acc: 153202 / 162770 =  94.122
Robust  acc:  8577 / 14538 =  58.997
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6818 /  8535 =  79.883
0, 1  acc:  7139 /  8276 =  86.261
1, 0  acc:  2805 /  2874 =  97.599
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 16930 / 19867 =  85.217
Robust  acc:  6818 /  8535 =  79.883
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.449
Robust Acc: 84.048 | Best Acc: 97.177
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  8209 /  9767 =  84.048
0, 1  acc:  6477 /  7535 =  85.959
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17257 / 19962 =  86.449
Robust  acc:  8209 /  9767 =  84.048
------------------------------------
Accuracies by groups:
0, 0  acc:  8209 /  9767 =  84.048
0, 1  acc:  6477 /  7535 =  85.959
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17257 / 19962 =  86.449
Robust  acc:  8209 /  9767 =  84.048
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8209 /  9767 =  84.048
0, 1  acc:  6477 /  7535 =  85.959
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17257 / 19962 =  86.449
Robust  acc:  8209 /  9767 =  84.048
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.337 | Val Loss: 0.005 | Val Acc: 77.163
Training:
Accuracies by groups:
0, 0  acc:  8676 / 14479 =  59.921
0, 1  acc:  4350 /  6447 =  67.473
1, 0  acc: 132275 / 133298 =  99.233
1, 1  acc:  8252 /  8546 =  96.560
--------------------------------------
Average acc: 153553 / 162770 =  94.337
Robust  acc:  8676 / 14479 =  59.921
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5793 /  8535 =  67.873
0, 1  acc:  6503 /  8276 =  78.577
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15330 / 19867 =  77.163
Robust  acc:  5793 /  8535 =  67.873
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.740
Robust Acc: 73.400 | Best Acc: 98.911
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  7169 /  9767 =  73.400
0, 1  acc:  5922 /  7535 =  78.593
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15718 / 19962 =  78.740
Robust  acc:  7169 /  9767 =  73.400
------------------------------------
Accuracies by groups:
0, 0  acc:  7169 /  9767 =  73.400
0, 1  acc:  5922 /  7535 =  78.593
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15718 / 19962 =  78.740
Robust  acc:  7169 /  9767 =  73.400
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7169 /  9767 =  73.400
0, 1  acc:  5922 /  7535 =  78.593
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15718 / 19962 =  78.740
Robust  acc:  7169 /  9767 =  73.400
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.328 | Val Loss: 0.004 | Val Acc: 84.200
Training:
Accuracies by groups:
0, 0  acc:  8612 / 14432 =  59.673
0, 1  acc:  4504 /  6610 =  68.139
1, 0  acc: 131982 / 133003 =  99.232
1, 1  acc:  8439 /  8725 =  96.722
--------------------------------------
Average acc: 153537 / 162770 =  94.328
Robust  acc:  8612 / 14432 =  59.673
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6608 /  8535 =  77.422
0, 1  acc:  7134 /  8276 =  86.201
1, 0  acc:  2818 /  2874 =  98.051
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 16728 / 19867 =  84.200
Robust  acc:  6608 /  8535 =  77.422
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.823
Robust Acc: 82.042 | Best Acc: 98.065
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8013 /  9767 =  82.042
0, 1  acc:  6521 /  7535 =  86.543
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17132 / 19962 =  85.823
Robust  acc:  8013 /  9767 =  82.042
------------------------------------
Accuracies by groups:
0, 0  acc:  8013 /  9767 =  82.042
0, 1  acc:  6521 /  7535 =  86.543
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17132 / 19962 =  85.823
Robust  acc:  8013 /  9767 =  82.042
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8013 /  9767 =  82.042
0, 1  acc:  6521 /  7535 =  86.543
1, 0  acc:  2432 /  2480 =  98.065
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17132 / 19962 =  85.823
Robust  acc:  8013 /  9767 =  82.042
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.280 | Val Loss: 0.005 | Val Acc: 71.420
Training:
Accuracies by groups:
0, 0  acc:  8681 / 14501 =  59.865
0, 1  acc:  4453 /  6573 =  67.747
1, 0  acc: 132185 / 133214 =  99.228
1, 1  acc:  8141 /  8482 =  95.980
--------------------------------------
Average acc: 153460 / 162770 =  94.280
Robust  acc:  8681 / 14501 =  59.865
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5102 /  8535 =  59.777
0, 1  acc:  6043 /  8276 =  73.018
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14189 / 19867 =  71.420
Robust  acc:  5102 /  8535 =  59.777
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.858
Robust Acc: 65.701 | Best Acc: 99.476
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  6417 /  9767 =  65.701
0, 1  acc:  5485 /  7535 =  72.794
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14544 / 19962 =  72.858
Robust  acc:  6417 /  9767 =  65.701
------------------------------------
Accuracies by groups:
0, 0  acc:  6417 /  9767 =  65.701
0, 1  acc:  5485 /  7535 =  72.794
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14544 / 19962 =  72.858
Robust  acc:  6417 /  9767 =  65.701
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6417 /  9767 =  65.701
0, 1  acc:  5485 /  7535 =  72.794
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14544 / 19962 =  72.858
Robust  acc:  6417 /  9767 =  65.701
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.284 | Val Loss: 0.007 | Val Acc: 57.507
Training:
Accuracies by groups:
0, 0  acc:  8641 / 14539 =  59.433
0, 1  acc:  4369 /  6431 =  67.937
1, 0  acc: 132032 / 133065 =  99.224
1, 1  acc:  8424 /  8735 =  96.440
--------------------------------------
Average acc: 153466 / 162770 =  94.284
Robust  acc:  8641 / 14539 =  59.433
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3696 /  8535 =  43.304
0, 1  acc:  4677 /  8276 =  56.513
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11425 / 19867 =  57.507
Robust  acc:  3696 /  8535 =  43.304
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 58.090
Robust Acc: 48.306 | Best Acc: 99.960
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  4718 /  9767 =  48.306
0, 1  acc:  4221 /  7535 =  56.019
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11596 / 19962 =  58.090
Robust  acc:  4718 /  9767 =  48.306
------------------------------------
Accuracies by groups:
0, 0  acc:  4718 /  9767 =  48.306
0, 1  acc:  4221 /  7535 =  56.019
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11596 / 19962 =  58.090
Robust  acc:  4718 /  9767 =  48.306
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4718 /  9767 =  48.306
0, 1  acc:  4221 /  7535 =  56.019
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11596 / 19962 =  58.090
Robust  acc:  4718 /  9767 =  48.306
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.250 | Val Loss: 0.005 | Val Acc: 74.229
Training:
Accuracies by groups:
0, 0  acc:  8682 / 14596 =  59.482
0, 1  acc:  4471 /  6546 =  68.301
1, 0  acc: 131919 / 132948 =  99.226
1, 1  acc:  8338 /  8680 =  96.060
--------------------------------------
Average acc: 153410 / 162770 =  94.250
Robust  acc:  8682 / 14596 =  59.482
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5564 /  8535 =  65.190
0, 1  acc:  6149 /  8276 =  74.299
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 14747 / 19867 =  74.229
Robust  acc:  5564 /  8535 =  65.190
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.029
Robust Acc: 70.728 | Best Acc: 99.194
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  6908 /  9767 =  70.728
0, 1  acc:  5639 /  7535 =  74.837
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15177 / 19962 =  76.029
Robust  acc:  6908 /  9767 =  70.728
------------------------------------
Accuracies by groups:
0, 0  acc:  6908 /  9767 =  70.728
0, 1  acc:  5639 /  7535 =  74.837
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15177 / 19962 =  76.029
Robust  acc:  6908 /  9767 =  70.728
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6908 /  9767 =  70.728
0, 1  acc:  5639 /  7535 =  74.837
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15177 / 19962 =  76.029
Robust  acc:  6908 /  9767 =  70.728
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.237 | Val Loss: 0.009 | Val Acc: 43.298
Training:
Accuracies by groups:
0, 0  acc:  8753 / 14656 =  59.723
0, 1  acc:  4472 /  6542 =  68.358
1, 0  acc: 131991 / 133049 =  99.205
1, 1  acc:  8174 /  8523 =  95.905
--------------------------------------
Average acc: 153390 / 162770 =  94.237
Robust  acc:  8753 / 14656 =  59.723
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2276 /  8535 =  26.667
0, 1  acc:  3271 /  8276 =  39.524
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  8602 / 19867 =  43.298
Robust  acc:  2276 /  8535 =  26.667
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 42.636
Robust Acc: 30.890 | Best Acc: 100.000
--------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  3017 /  9767 =  30.890
0, 1  acc:  2836 /  7535 =  37.638
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8511 / 19962 =  42.636
Robust  acc:  3017 /  9767 =  30.890
------------------------------------
Accuracies by groups:
0, 0  acc:  3017 /  9767 =  30.890
0, 1  acc:  2836 /  7535 =  37.638
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8511 / 19962 =  42.636
Robust  acc:  3017 /  9767 =  30.890
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3017 /  9767 =  30.890
0, 1  acc:  2836 /  7535 =  37.638
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8511 / 19962 =  42.636
Robust  acc:  3017 /  9767 =  30.890
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.349 | Val Loss: 0.008 | Val Acc: 46.363
Training:
Accuracies by groups:
0, 0  acc:  8796 / 14561 =  60.408
0, 1  acc:  4547 /  6581 =  69.093
1, 0  acc: 131885 / 132924 =  99.218
1, 1  acc:  8344 /  8704 =  95.864
--------------------------------------
Average acc: 153572 / 162770 =  94.349
Robust  acc:  8796 / 14561 =  60.408
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2619 /  8535 =  30.685
0, 1  acc:  3537 /  8276 =  42.738
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9211 / 19867 =  46.363
Robust  acc:  2619 /  8535 =  30.685
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 45.712
Robust Acc: 34.750 | Best Acc: 99.879
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  3394 /  9767 =  34.750
0, 1  acc:  3077 /  7535 =  40.836
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc:  9125 / 19962 =  45.712
Robust  acc:  3394 /  9767 =  34.750
------------------------------------
Accuracies by groups:
0, 0  acc:  3394 /  9767 =  34.750
0, 1  acc:  3077 /  7535 =  40.836
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc:  9125 / 19962 =  45.712
Robust  acc:  3394 /  9767 =  34.750
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3394 /  9767 =  34.750
0, 1  acc:  3077 /  7535 =  40.836
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc:  9125 / 19962 =  45.712
Robust  acc:  3394 /  9767 =  34.750
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.323 | Val Loss: 0.004 | Val Acc: 83.752
Training:
Accuracies by groups:
0, 0  acc:  8670 / 14507 =  59.764
0, 1  acc:  4603 /  6609 =  69.647
1, 0  acc: 131957 / 133016 =  99.204
1, 1  acc:  8299 /  8638 =  96.075
--------------------------------------
Average acc: 153529 / 162770 =  94.323
Robust  acc:  8670 / 14507 =  59.764
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6632 /  8535 =  77.704
0, 1  acc:  7014 /  8276 =  84.751
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16639 / 19867 =  83.752
Robust  acc:  6632 /  8535 =  77.704
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.142
Robust Acc: 82.072 | Best Acc: 97.903
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  8016 /  9767 =  82.072
0, 1  acc:  6386 /  7535 =  84.751
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16996 / 19962 =  85.142
Robust  acc:  8016 /  9767 =  82.072
------------------------------------
Accuracies by groups:
0, 0  acc:  8016 /  9767 =  82.072
0, 1  acc:  6386 /  7535 =  84.751
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16996 / 19962 =  85.142
Robust  acc:  8016 /  9767 =  82.072
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8016 /  9767 =  82.072
0, 1  acc:  6386 /  7535 =  84.751
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16996 / 19962 =  85.142
Robust  acc:  8016 /  9767 =  82.072
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed6.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed6.pt
