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: 3
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=3-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.748 | Val Loss: 0.004 | Val Acc: 78.537
Training:
Accuracies by groups:
0, 0  acc:  5645 / 14377 =  39.264
0, 1  acc:  2814 /  6529 =  43.100
1, 0  acc: 131015 / 133193 =  98.365
1, 1  acc:  8237 /  8671 =  94.995
--------------------------------------
Average acc: 147711 / 162770 =  90.748
Robust  acc:  5645 / 14377 =  39.264
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6114 /  8535 =  71.634
0, 1  acc:  6474 /  8276 =  78.226
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 15603 / 19867 =  78.537
Robust  acc:  6114 /  8535 =  71.634
------------------------------------
New max robust acc: 71.63444639718804
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed3.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed3.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 80.543
Robust Acc: 77.240 | Best Acc: 98.750
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7544 /  9767 =  77.240
0, 1  acc:  5915 /  7535 =  78.500
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16078 / 19962 =  80.543
Robust  acc:  7544 /  9767 =  77.240
------------------------------------
Accuracies by groups:
0, 0  acc:  7544 /  9767 =  77.240
0, 1  acc:  5915 /  7535 =  78.500
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16078 / 19962 =  80.543
Robust  acc:  7544 /  9767 =  77.240
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7544 /  9767 =  77.240
0, 1  acc:  5915 /  7535 =  78.500
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16078 / 19962 =  80.543
Robust  acc:  7544 /  9767 =  77.240
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.548 | Val Loss: 0.003 | Val Acc: 83.606
Training:
Accuracies by groups:
0, 0  acc:  9157 / 14478 =  63.248
0, 1  acc:  4746 /  6514 =  72.858
1, 0  acc: 131877 / 133152 =  99.042
1, 1  acc:  8115 /  8626 =  94.076
--------------------------------------
Average acc: 153895 / 162770 =  94.548
Robust  acc:  9157 / 14478 =  63.248
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6456 /  8535 =  75.641
0, 1  acc:  7140 /  8276 =  86.274
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16610 / 19867 =  83.606
Robust  acc:  6456 /  8535 =  75.641
------------------------------------
New max robust acc: 75.6414762741652
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed3.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed3.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.157
Robust Acc: 80.792 | Best Acc: 98.750
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7891 /  9767 =  80.792
0, 1  acc:  6491 /  7535 =  86.145
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16999 / 19962 =  85.157
Robust  acc:  7891 /  9767 =  80.792
------------------------------------
Accuracies by groups:
0, 0  acc:  7891 /  9767 =  80.792
0, 1  acc:  6491 /  7535 =  86.145
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16999 / 19962 =  85.157
Robust  acc:  7891 /  9767 =  80.792
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7891 /  9767 =  80.792
0, 1  acc:  6491 /  7535 =  86.145
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16999 / 19962 =  85.157
Robust  acc:  7891 /  9767 =  80.792
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.278 | Val Loss: 0.003 | Val Acc: 83.827
Training:
Accuracies by groups:
0, 0  acc:  9804 / 14565 =  67.312
0, 1  acc:  5120 /  6463 =  79.220
1, 0  acc: 132097 / 133258 =  99.129
1, 1  acc:  8063 /  8484 =  95.038
--------------------------------------
Average acc: 155084 / 162770 =  95.278
Robust  acc:  9804 / 14565 =  67.312
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6427 /  8535 =  75.302
0, 1  acc:  7202 /  8276 =  87.023
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16654 / 19867 =  83.827
Robust  acc:  6427 /  8535 =  75.302
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.312
Robust Acc: 80.311 | Best Acc: 98.992
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  7844 /  9767 =  80.311
0, 1  acc:  6566 /  7535 =  87.140
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17030 / 19962 =  85.312
Robust  acc:  7844 /  9767 =  80.311
------------------------------------
Accuracies by groups:
0, 0  acc:  7844 /  9767 =  80.311
0, 1  acc:  6566 /  7535 =  87.140
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17030 / 19962 =  85.312
Robust  acc:  7844 /  9767 =  80.311
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7844 /  9767 =  80.311
0, 1  acc:  6566 /  7535 =  87.140
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17030 / 19962 =  85.312
Robust  acc:  7844 /  9767 =  80.311
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.819 | Val Loss: 0.002 | Val Acc: 87.754
Training:
Accuracies by groups:
0, 0  acc:  9978 / 14373 =  69.422
0, 1  acc:  5301 /  6363 =  83.310
1, 0  acc: 132414 / 133368 =  99.285
1, 1  acc:  8271 /  8666 =  95.442
--------------------------------------
Average acc: 155964 / 162770 =  95.819
Robust  acc:  9978 / 14373 =  69.422
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6818 /  8535 =  79.883
0, 1  acc:  7609 /  8276 =  91.941
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17434 / 19867 =  87.754
Robust  acc:  6818 /  8535 =  79.883
------------------------------------
New max robust acc: 79.88283538371412
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed3.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed3.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.598
Robust Acc: 84.089 | Best Acc: 98.266
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8213 /  9767 =  84.089
0, 1  acc:  6877 /  7535 =  91.267
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17686 / 19962 =  88.598
Robust  acc:  8213 /  9767 =  84.089
------------------------------------
Accuracies by groups:
0, 0  acc:  8213 /  9767 =  84.089
0, 1  acc:  6877 /  7535 =  91.267
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17686 / 19962 =  88.598
Robust  acc:  8213 /  9767 =  84.089
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8213 /  9767 =  84.089
0, 1  acc:  6877 /  7535 =  91.267
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17686 / 19962 =  88.598
Robust  acc:  8213 /  9767 =  84.089
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.197 | Val Loss: 0.002 | Val Acc: 89.319
Training:
Accuracies by groups:
0, 0  acc: 10226 / 14367 =  71.177
0, 1  acc:  5681 /  6607 =  85.985
1, 0  acc: 132364 / 133164 =  99.399
1, 1  acc:  8309 /  8632 =  96.258
--------------------------------------
Average acc: 156580 / 162770 =  96.197
Robust  acc: 10226 / 14367 =  71.177
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7009 /  8535 =  82.121
0, 1  acc:  7743 /  8276 =  93.560
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17745 / 19867 =  89.319
Robust  acc:  7009 /  8535 =  82.121
------------------------------------
New max robust acc: 82.12067955477445
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed3.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed3.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.881
Robust Acc: 85.656 | Best Acc: 97.782
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8366 /  9767 =  85.656
0, 1  acc:  6995 /  7535 =  92.833
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17942 / 19962 =  89.881
Robust  acc:  8366 /  9767 =  85.656
------------------------------------
Accuracies by groups:
0, 0  acc:  8366 /  9767 =  85.656
0, 1  acc:  6995 /  7535 =  92.833
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17942 / 19962 =  89.881
Robust  acc:  8366 /  9767 =  85.656
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8366 /  9767 =  85.656
0, 1  acc:  6995 /  7535 =  92.833
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17942 / 19962 =  89.881
Robust  acc:  8366 /  9767 =  85.656
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.732 | Val Loss: 0.002 | Val Acc: 89.762
Training:
Accuracies by groups:
0, 0  acc: 10786 / 14489 =  74.443
0, 1  acc:  5837 /  6637 =  87.946
1, 0  acc: 132353 / 132955 =  99.547
1, 1  acc:  8474 /  8689 =  97.526
--------------------------------------
Average acc: 157450 / 162770 =  96.732
Robust  acc: 10786 / 14489 =  74.443
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7071 /  8535 =  82.847
0, 1  acc:  7775 /  8276 =  93.946
1, 0  acc:  2819 /  2874 =  98.086
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17833 / 19867 =  89.762
Robust  acc:  7071 /  8535 =  82.847
------------------------------------
New max robust acc: 82.84710017574693
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed3.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed3.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.081
Robust Acc: 85.973 | Best Acc: 97.702
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8397 /  9767 =  85.973
0, 1  acc:  7006 /  7535 =  92.979
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17982 / 19962 =  90.081
Robust  acc:  8397 /  9767 =  85.973
------------------------------------
Accuracies by groups:
0, 0  acc:  8397 /  9767 =  85.973
0, 1  acc:  7006 /  7535 =  92.979
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17982 / 19962 =  90.081
Robust  acc:  8397 /  9767 =  85.973
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8397 /  9767 =  85.973
0, 1  acc:  7006 /  7535 =  92.979
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17982 / 19962 =  90.081
Robust  acc:  8397 /  9767 =  85.973
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.226 | Val Loss: 0.002 | Val Acc: 90.104
Training:
Accuracies by groups:
0, 0  acc: 11122 / 14522 =  76.587
0, 1  acc:  5786 /  6445 =  89.775
1, 0  acc: 132719 / 133077 =  99.731
1, 1  acc:  8627 /  8726 =  98.865
--------------------------------------
Average acc: 158254 / 162770 =  97.226
Robust  acc: 11122 / 14522 =  76.587
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7105 /  8535 =  83.245
0, 1  acc:  7817 /  8276 =  94.454
1, 0  acc:  2814 /  2874 =  97.912
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17901 / 19867 =  90.104
Robust  acc:  7105 /  8535 =  83.245
------------------------------------
New max robust acc: 83.24545987111892
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed3.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed3.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.462
Robust Acc: 85.000 | Best Acc: 97.339
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8438 /  9767 =  86.393
0, 1  acc:  7053 /  7535 =  93.603
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18058 / 19962 =  90.462
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8438 /  9767 =  86.393
0, 1  acc:  7053 /  7535 =  93.603
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18058 / 19962 =  90.462
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8438 /  9767 =  86.393
0, 1  acc:  7053 /  7535 =  93.603
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18058 / 19962 =  90.462
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.778 | Val Loss: 0.002 | Val Acc: 91.977
Training:
Accuracies by groups:
0, 0  acc: 11706 / 14567 =  80.360
0, 1  acc:  6066 /  6610 =  91.770
1, 0  acc: 132884 / 133054 =  99.872
1, 1  acc:  8498 /  8539 =  99.520
--------------------------------------
Average acc: 159154 / 162770 =  97.778
Robust  acc: 11706 / 14567 =  80.360
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7412 /  8535 =  86.842
0, 1  acc:  7928 /  8276 =  95.795
1, 0  acc:  2776 /  2874 =  96.590
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 18273 / 19867 =  91.977
Robust  acc:   157 /   182 =  86.264
------------------------------------
New max robust acc: 86.26373626373626
debias model - Saving best checkpoint at epoch 7
replace: True
-> Updating checkpoint debias-wga-best_seed3.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed3.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.210
Robust Acc: 79.444 | Best Acc: 95.968
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8712 /  9767 =  89.198
0, 1  acc:  7172 /  7535 =  95.182
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18407 / 19962 =  92.210
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8712 /  9767 =  89.198
0, 1  acc:  7172 /  7535 =  95.182
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18407 / 19962 =  92.210
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8712 /  9767 =  89.198
0, 1  acc:  7172 /  7535 =  95.182
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18407 / 19962 =  92.210
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.188 | Val Loss: 0.002 | Val Acc: 93.074
Training:
Accuracies by groups:
0, 0  acc: 12253 / 14647 =  83.655
0, 1  acc:  6101 /  6550 =  93.145
1, 0  acc: 132911 / 132993 =  99.938
1, 1  acc:  8555 /  8580 =  99.709
--------------------------------------
Average acc: 159820 / 162770 =  98.188
Robust  acc: 12253 / 14647 =  83.655
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7622 /  8535 =  89.303
0, 1  acc:  7996 /  8276 =  96.617
1, 0  acc:  2725 /  2874 =  94.816
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 18491 / 19867 =  93.074
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.102
Robust Acc: 78.889 | Best Acc: 96.125
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  7243 /  7535 =  96.125
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18585 / 19962 =  93.102
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  7243 /  7535 =  96.125
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18585 / 19962 =  93.102
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  7243 /  7535 =  96.125
1, 0  acc:  2326 /  2480 =  93.790
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18585 / 19962 =  93.102
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.463 | Val Loss: 0.002 | Val Acc: 92.918
Training:
Accuracies by groups:
0, 0  acc: 12559 / 14599 =  86.026
0, 1  acc:  6226 /  6575 =  94.692
1, 0  acc: 132901 / 132993 =  99.931
1, 1  acc:  8582 /  8603 =  99.756
--------------------------------------
Average acc: 160268 / 162770 =  98.463
Robust  acc: 12559 / 14599 =  86.026
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7582 /  8535 =  88.834
0, 1  acc:  8004 /  8276 =  96.713
1, 0  acc:  2729 /  2874 =  94.955
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18460 / 19867 =  92.918
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.067
Robust Acc: 75.556 | Best Acc: 96.218
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8864 /  9767 =  90.755
0, 1  acc:  7250 /  7535 =  96.218
1, 0  acc:  2328 /  2480 =  93.871
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18578 / 19962 =  93.067
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8864 /  9767 =  90.755
0, 1  acc:  7250 /  7535 =  96.218
1, 0  acc:  2328 /  2480 =  93.871
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18578 / 19962 =  93.067
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8864 /  9767 =  90.755
0, 1  acc:  7250 /  7535 =  96.218
1, 0  acc:  2328 /  2480 =  93.871
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18578 / 19962 =  93.067
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.479 | Val Loss: 0.002 | Val Acc: 92.143
Training:
Accuracies by groups:
0, 0  acc: 12676 / 14630 =  86.644
0, 1  acc:  6188 /  6500 =  95.200
1, 0  acc: 132916 / 133082 =  99.875
1, 1  acc:  8514 /  8558 =  99.486
--------------------------------------
Average acc: 160294 / 162770 =  98.479
Robust  acc: 12676 / 14630 =  86.644
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7450 /  8535 =  87.288
0, 1  acc:  7958 /  8276 =  96.158
1, 0  acc:  2744 /  2874 =  95.477
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 18306 / 19867 =  92.143
Robust  acc:   154 /   182 =  84.615
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.320
Robust Acc: 77.222 | Best Acc: 95.581
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8746 /  9767 =  89.546
0, 1  acc:  7202 /  7535 =  95.581
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18429 / 19962 =  92.320
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8746 /  9767 =  89.546
0, 1  acc:  7202 /  7535 =  95.581
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18429 / 19962 =  92.320
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8746 /  9767 =  89.546
0, 1  acc:  7202 /  7535 =  95.581
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18429 / 19962 =  92.320
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.260 | Val Loss: 0.002 | Val Acc: 90.044
Training:
Accuracies by groups:
0, 0  acc: 12495 / 14561 =  85.811
0, 1  acc:  6222 /  6602 =  94.244
1, 0  acc: 132653 / 132952 =  99.775
1, 1  acc:  8567 /  8655 =  98.983
--------------------------------------
Average acc: 159937 / 162770 =  98.260
Robust  acc: 12495 / 14561 =  85.811
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7155 /  8535 =  83.831
0, 1  acc:  7784 /  8276 =  94.055
1, 0  acc:  2796 /  2874 =  97.286
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 17889 / 19867 =  90.044
Robust  acc:  7155 /  8535 =  83.831
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.577
Robust Acc: 85.556 | Best Acc: 96.573
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  7051 /  7535 =  93.577
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18081 / 19962 =  90.577
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  7051 /  7535 =  93.577
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18081 / 19962 =  90.577
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  7051 /  7535 =  93.577
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18081 / 19962 =  90.577
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.882 | Val Loss: 0.002 | Val Acc: 92.047
Training:
Accuracies by groups:
0, 0  acc: 11964 / 14403 =  83.066
0, 1  acc:  6189 /  6653 =  93.026
1, 0  acc: 132538 / 132943 =  99.695
1, 1  acc:  8631 /  8771 =  98.404
--------------------------------------
Average acc: 159322 / 162770 =  97.882
Robust  acc: 11964 / 14403 =  83.066
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7460 /  8535 =  87.405
0, 1  acc:  7945 /  8276 =  96.000
1, 0  acc:  2746 /  2874 =  95.546
1, 1  acc:   136 /   182 =  74.725
------------------------------------
Average acc: 18287 / 19867 =  92.047
Robust  acc:   136 /   182 =  74.725
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.320
Robust Acc: 70.000 | Best Acc: 95.859
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8734 /  9767 =  89.424
0, 1  acc:  7223 /  7535 =  95.859
1, 0  acc:  2346 /  2480 =  94.597
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18429 / 19962 =  92.320
Robust  acc:   126 /   180 =  70.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8734 /  9767 =  89.424
0, 1  acc:  7223 /  7535 =  95.859
1, 0  acc:  2346 /  2480 =  94.597
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18429 / 19962 =  92.320
Robust  acc:   126 /   180 =  70.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8734 /  9767 =  89.424
0, 1  acc:  7223 /  7535 =  95.859
1, 0  acc:  2346 /  2480 =  94.597
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18429 / 19962 =  92.320
Robust  acc:   126 /   180 =  70.000
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.399 | Val Loss: 0.002 | Val Acc: 90.024
Training:
Accuracies by groups:
0, 0  acc: 11552 / 14381 =  80.328
0, 1  acc:  5926 /  6478 =  91.479
1, 0  acc: 132467 / 133126 =  99.505
1, 1  acc:  8592 /  8785 =  97.803
--------------------------------------
Average acc: 158537 / 162770 =  97.399
Robust  acc: 11552 / 14381 =  80.328
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7157 /  8535 =  83.855
0, 1  acc:  7757 /  8276 =  93.729
1, 0  acc:  2806 /  2874 =  97.634
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17885 / 19867 =  90.024
Robust  acc:  7157 /  8535 =  83.855
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.828
Robust Acc: 80.556 | Best Acc: 97.258
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8484 /  9767 =  86.864
0, 1  acc:  7090 /  7535 =  94.094
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18131 / 19962 =  90.828
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8484 /  9767 =  86.864
0, 1  acc:  7090 /  7535 =  94.094
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18131 / 19962 =  90.828
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8484 /  9767 =  86.864
0, 1  acc:  7090 /  7535 =  94.094
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18131 / 19962 =  90.828
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.913 | Val Loss: 0.002 | Val Acc: 88.700
Training:
Accuracies by groups:
0, 0  acc: 11089 / 14391 =  77.055
0, 1  acc:  5894 /  6581 =  89.561
1, 0  acc: 132448 / 133262 =  99.389
1, 1  acc:  8314 /  8536 =  97.399
--------------------------------------
Average acc: 157745 / 162770 =  96.913
Robust  acc: 11089 / 14391 =  77.055
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6883 /  8535 =  80.644
0, 1  acc:  7749 /  8276 =  93.632
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17622 / 19867 =  88.700
Robust  acc:  6883 /  8535 =  80.644
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.660
Robust Acc: 82.778 | Best Acc: 97.702
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8303 /  9767 =  85.011
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17898 / 19962 =  89.660
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8303 /  9767 =  85.011
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17898 / 19962 =  89.660
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8303 /  9767 =  85.011
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17898 / 19962 =  89.660
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.504 | Val Loss: 0.002 | Val Acc: 92.520
Training:
Accuracies by groups:
0, 0  acc: 10746 / 14396 =  74.646
0, 1  acc:  5763 /  6554 =  87.931
1, 0  acc: 132155 / 133084 =  99.302
1, 1  acc:  8416 /  8736 =  96.337
--------------------------------------
Average acc: 157080 / 162770 =  96.504
Robust  acc: 10746 / 14396 =  74.646
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7463 /  8535 =  87.440
0, 1  acc:  7987 /  8276 =  96.508
1, 0  acc:  2774 /  2874 =  96.521
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 18381 / 19867 =  92.520
Robust  acc:   157 /   182 =  86.264
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.761
Robust Acc: 78.889 | Best Acc: 96.019
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8769 /  9767 =  89.782
0, 1  acc:  7235 /  7535 =  96.019
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18517 / 19962 =  92.761
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8769 /  9767 =  89.782
0, 1  acc:  7235 /  7535 =  96.019
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18517 / 19962 =  92.761
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8769 /  9767 =  89.782
0, 1  acc:  7235 /  7535 =  96.019
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18517 / 19962 =  92.761
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.866 | Val Loss: 0.003 | Val Acc: 88.715
Training:
Accuracies by groups:
0, 0  acc: 10281 / 14492 =  70.943
0, 1  acc:  5624 /  6596 =  85.264
1, 0  acc: 131827 / 132984 =  99.130
1, 1  acc:  8309 /  8698 =  95.528
--------------------------------------
Average acc: 156041 / 162770 =  95.866
Robust  acc: 10281 / 14492 =  70.943
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7036 /  8535 =  82.437
0, 1  acc:  7601 /  8276 =  91.844
1, 0  acc:  2818 /  2874 =  98.051
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17625 / 19867 =  88.715
Robust  acc:  7036 /  8535 =  82.437
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.575
Robust Acc: 85.820 | Best Acc: 97.863
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8382 /  9767 =  85.820
0, 1  acc:  6916 /  7535 =  91.785
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17881 / 19962 =  89.575
Robust  acc:  8382 /  9767 =  85.820
------------------------------------
Accuracies by groups:
0, 0  acc:  8382 /  9767 =  85.820
0, 1  acc:  6916 /  7535 =  91.785
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17881 / 19962 =  89.575
Robust  acc:  8382 /  9767 =  85.820
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8382 /  9767 =  85.820
0, 1  acc:  6916 /  7535 =  91.785
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17881 / 19962 =  89.575
Robust  acc:  8382 /  9767 =  85.820
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.581 | Val Loss: 0.002 | Val Acc: 94.574
Training:
Accuracies by groups:
0, 0  acc:  9951 / 14352 =  69.335
0, 1  acc:  5437 /  6473 =  83.995
1, 0  acc: 131898 / 133225 =  99.004
1, 1  acc:  8292 /  8720 =  95.092
--------------------------------------
Average acc: 155578 / 162770 =  95.581
Robust  acc:  9951 / 14352 =  69.335
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8349 /  8535 =  97.821
0, 1  acc:  8225 /  8276 =  99.384
1, 0  acc:  2136 /  2874 =  74.322
1, 1  acc:    79 /   182 =  43.407
------------------------------------
Average acc: 18789 / 19867 =  94.574
Robust  acc:    79 /   182 =  43.407
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.800
Robust Acc: 35.556 | Best Acc: 99.376
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  9547 /  9767 =  97.748
0, 1  acc:  7488 /  7535 =  99.376
1, 0  acc:  1825 /  2480 =  73.589
1, 1  acc:    64 /   180 =  35.556
------------------------------------
Average acc: 18924 / 19962 =  94.800
Robust  acc:    64 /   180 =  35.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9547 /  9767 =  97.748
0, 1  acc:  7488 /  7535 =  99.376
1, 0  acc:  1825 /  2480 =  73.589
1, 1  acc:    64 /   180 =  35.556
------------------------------------
Average acc: 18924 / 19962 =  94.800
Robust  acc:    64 /   180 =  35.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9547 /  9767 =  97.748
0, 1  acc:  7488 /  7535 =  99.376
1, 0  acc:  1825 /  2480 =  73.589
1, 1  acc:    64 /   180 =  35.556
------------------------------------
Average acc: 18924 / 19962 =  94.800
Robust  acc:    64 /   180 =  35.556
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.397 | Val Loss: 0.002 | Val Acc: 94.015
Training:
Accuracies by groups:
0, 0  acc:  9971 / 14511 =  68.713
0, 1  acc:  5482 /  6688 =  81.968
1, 0  acc: 131601 / 132924 =  99.005
1, 1  acc:  8223 /  8647 =  95.097
--------------------------------------
Average acc: 155277 / 162770 =  95.397
Robust  acc:  9971 / 14511 =  68.713
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8353 /  8535 =  97.868
0, 1  acc:  8229 /  8276 =  99.432
1, 0  acc:  2015 /  2874 =  70.111
1, 1  acc:    81 /   182 =  44.505
------------------------------------
Average acc: 18678 / 19867 =  94.015
Robust  acc:    81 /   182 =  44.505
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.249
Robust Acc: 38.333 | Best Acc: 99.230
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  9576 /  9767 =  98.044
0, 1  acc:  7477 /  7535 =  99.230
1, 0  acc:  1692 /  2480 =  68.226
1, 1  acc:    69 /   180 =  38.333
------------------------------------
Average acc: 18814 / 19962 =  94.249
Robust  acc:    69 /   180 =  38.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9576 /  9767 =  98.044
0, 1  acc:  7477 /  7535 =  99.230
1, 0  acc:  1692 /  2480 =  68.226
1, 1  acc:    69 /   180 =  38.333
------------------------------------
Average acc: 18814 / 19962 =  94.249
Robust  acc:    69 /   180 =  38.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9576 /  9767 =  98.044
0, 1  acc:  7477 /  7535 =  99.230
1, 0  acc:  1692 /  2480 =  68.226
1, 1  acc:    69 /   180 =  38.333
------------------------------------
Average acc: 18814 / 19962 =  94.249
Robust  acc:    69 /   180 =  38.333
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.043 | Val Loss: 0.004 | Val Acc: 80.108
Training:
Accuracies by groups:
0, 0  acc:  9547 / 14432 =  66.152
0, 1  acc:  5141 /  6494 =  79.165
1, 0  acc: 131747 / 133133 =  98.959
1, 1  acc:  8266 /  8711 =  94.892
--------------------------------------
Average acc: 154701 / 162770 =  95.043
Robust  acc:  9547 / 14432 =  66.152
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6313 /  8535 =  73.966
0, 1  acc:  6579 /  8276 =  79.495
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15915 / 19867 =  80.108
Robust  acc:  6313 /  8535 =  73.966
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.956
Robust Acc: 79.052 | Best Acc: 99.113
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  7721 /  9767 =  79.052
0, 1  acc:  6010 /  7535 =  79.761
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16360 / 19962 =  81.956
Robust  acc:  7721 /  9767 =  79.052
------------------------------------
Accuracies by groups:
0, 0  acc:  7721 /  9767 =  79.052
0, 1  acc:  6010 /  7535 =  79.761
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16360 / 19962 =  81.956
Robust  acc:  7721 /  9767 =  79.052
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7721 /  9767 =  79.052
0, 1  acc:  6010 /  7535 =  79.761
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16360 / 19962 =  81.956
Robust  acc:  7721 /  9767 =  79.052
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 94.892 | Val Loss: 0.002 | Val Acc: 92.384
Training:
Accuracies by groups:
0, 0  acc:  9191 / 14237 =  64.557
0, 1  acc:  5035 /  6525 =  77.165
1, 0  acc: 132109 / 133464 =  98.985
1, 1  acc:  8121 /  8544 =  95.049
--------------------------------------
Average acc: 154456 / 162770 =  94.892
Robust  acc:  9191 / 14237 =  64.557
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7563 /  8535 =  88.612
0, 1  acc:  7911 /  8276 =  95.590
1, 0  acc:  2732 /  2874 =  95.059
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 18354 / 19867 =  92.384
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.387
Robust Acc: 76.111 | Best Acc: 95.833
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8947 /  9767 =  91.604
0, 1  acc:  7221 /  7535 =  95.833
1, 0  acc:  2337 /  2480 =  94.234
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18642 / 19962 =  93.387
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8947 /  9767 =  91.604
0, 1  acc:  7221 /  7535 =  95.833
1, 0  acc:  2337 /  2480 =  94.234
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18642 / 19962 =  93.387
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8947 /  9767 =  91.604
0, 1  acc:  7221 /  7535 =  95.833
1, 0  acc:  2337 /  2480 =  94.234
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18642 / 19962 =  93.387
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.636 | Val Loss: 0.003 | Val Acc: 86.400
Training:
Accuracies by groups:
0, 0  acc:  9224 / 14498 =  63.623
0, 1  acc:  4950 /  6621 =  74.762
1, 0  acc: 131714 / 133071 =  98.980
1, 1  acc:  8151 /  8580 =  95.000
--------------------------------------
Average acc: 154039 / 162770 =  94.636
Robust  acc:  9224 / 14498 =  63.623
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6899 /  8535 =  80.832
0, 1  acc:  7270 /  8276 =  87.844
1, 0  acc:  2820 /  2874 =  98.121
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 17165 / 19867 =  86.400
Robust  acc:  6899 /  8535 =  80.832
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.747
Robust Acc: 84.622 | Best Acc: 97.581
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  8265 /  9767 =  84.622
0, 1  acc:  6668 /  7535 =  88.494
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17516 / 19962 =  87.747
Robust  acc:  8265 /  9767 =  84.622
------------------------------------
Accuracies by groups:
0, 0  acc:  8265 /  9767 =  84.622
0, 1  acc:  6668 /  7535 =  88.494
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17516 / 19962 =  87.747
Robust  acc:  8265 /  9767 =  84.622
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8265 /  9767 =  84.622
0, 1  acc:  6668 /  7535 =  88.494
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17516 / 19962 =  87.747
Robust  acc:  8265 /  9767 =  84.622
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.662 | Val Loss: 0.004 | Val Acc: 81.920
Training:
Accuracies by groups:
0, 0  acc:  8955 / 14305 =  62.600
0, 1  acc:  4729 /  6464 =  73.159
1, 0  acc: 132294 / 133516 =  99.085
1, 1  acc:  8104 /  8485 =  95.510
--------------------------------------
Average acc: 154082 / 162770 =  94.662
Robust  acc:  8955 / 14305 =  62.600
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6455 /  8535 =  75.630
0, 1  acc:  6810 /  8276 =  82.286
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16275 / 19867 =  81.920
Robust  acc:  6455 /  8535 =  75.630
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.479
Robust Acc: 80.086 | Best Acc: 98.185
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  7822 /  9767 =  80.086
0, 1  acc:  6241 /  7535 =  82.827
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16664 / 19962 =  83.479
Robust  acc:  7822 /  9767 =  80.086
------------------------------------
Accuracies by groups:
0, 0  acc:  7822 /  9767 =  80.086
0, 1  acc:  6241 /  7535 =  82.827
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16664 / 19962 =  83.479
Robust  acc:  7822 /  9767 =  80.086
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7822 /  9767 =  80.086
0, 1  acc:  6241 /  7535 =  82.827
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16664 / 19962 =  83.479
Robust  acc:  7822 /  9767 =  80.086
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.456 | Val Loss: 0.008 | Val Acc: 44.909
Training:
Accuracies by groups:
0, 0  acc:  8858 / 14454 =  61.284
0, 1  acc:  4748 /  6579 =  72.169
1, 0  acc: 132067 / 133268 =  99.099
1, 1  acc:  8073 /  8469 =  95.324
--------------------------------------
Average acc: 153746 / 162770 =  94.456
Robust  acc:  8858 / 14454 =  61.284
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2463 /  8535 =  28.858
0, 1  acc:  3403 /  8276 =  41.119
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  8922 / 19867 =  44.909
Robust  acc:  2463 /  8535 =  28.858
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 46.058
Robust Acc: 34.197 | Best Acc: 100.000
--------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  3340 /  9767 =  34.197
0, 1  acc:  3195 /  7535 =  42.402
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  9194 / 19962 =  46.058
Robust  acc:  3340 /  9767 =  34.197
------------------------------------
Accuracies by groups:
0, 0  acc:  3340 /  9767 =  34.197
0, 1  acc:  3195 /  7535 =  42.402
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  9194 / 19962 =  46.058
Robust  acc:  3340 /  9767 =  34.197
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3340 /  9767 =  34.197
0, 1  acc:  3195 /  7535 =  42.402
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  9194 / 19962 =  46.058
Robust  acc:  3340 /  9767 =  34.197
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.446 | Val Loss: 0.004 | Val Acc: 86.495
Training:
Accuracies by groups:
0, 0  acc:  8906 / 14508 =  61.387
0, 1  acc:  4615 /  6490 =  71.109
1, 0  acc: 131840 / 133042 =  99.097
1, 1  acc:  8369 /  8730 =  95.865
--------------------------------------
Average acc: 153730 / 162770 =  94.446
Robust  acc:  8906 / 14508 =  61.387
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6788 /  8535 =  79.531
0, 1  acc:  7422 /  8276 =  89.681
1, 0  acc:  2806 /  2874 =  97.634
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17184 / 19867 =  86.495
Robust  acc:  6788 /  8535 =  79.531
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.772
Robust Acc: 83.547 | Best Acc: 96.976
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8160 /  9767 =  83.547
0, 1  acc:  6794 /  7535 =  90.166
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17521 / 19962 =  87.772
Robust  acc:  8160 /  9767 =  83.547
------------------------------------
Accuracies by groups:
0, 0  acc:  8160 /  9767 =  83.547
0, 1  acc:  6794 /  7535 =  90.166
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17521 / 19962 =  87.772
Robust  acc:  8160 /  9767 =  83.547
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8160 /  9767 =  83.547
0, 1  acc:  6794 /  7535 =  90.166
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17521 / 19962 =  87.772
Robust  acc:  8160 /  9767 =  83.547
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.456 | Val Loss: 0.005 | Val Acc: 75.688
Training:
Accuracies by groups:
0, 0  acc:  8782 / 14401 =  60.982
0, 1  acc:  4536 /  6470 =  70.108
1, 0  acc: 132206 / 133314 =  99.169
1, 1  acc:  8222 /  8585 =  95.772
--------------------------------------
Average acc: 153746 / 162770 =  94.456
Robust  acc:  8782 / 14401 =  60.982
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5522 /  8535 =  64.698
0, 1  acc:  6476 /  8276 =  78.250
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15037 / 19867 =  75.688
Robust  acc:  5522 /  8535 =  64.698
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.041
Robust Acc: 70.001 | Best Acc: 99.435
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  6837 /  9767 =  70.001
0, 1  acc:  5903 /  7535 =  78.341
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15379 / 19962 =  77.041
Robust  acc:  6837 /  9767 =  70.001
------------------------------------
Accuracies by groups:
0, 0  acc:  6837 /  9767 =  70.001
0, 1  acc:  5903 /  7535 =  78.341
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15379 / 19962 =  77.041
Robust  acc:  6837 /  9767 =  70.001
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6837 /  9767 =  70.001
0, 1  acc:  5903 /  7535 =  78.341
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15379 / 19962 =  77.041
Robust  acc:  6837 /  9767 =  70.001
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.144 | Val Loss: 0.007 | Val Acc: 58.056
Training:
Accuracies by groups:
0, 0  acc:  8392 / 14397 =  58.290
0, 1  acc:  4374 /  6481 =  67.490
1, 0  acc: 132034 / 133115 =  99.188
1, 1  acc:  8438 /  8777 =  96.138
--------------------------------------
Average acc: 153238 / 162770 =  94.144
Robust  acc:  8392 / 14397 =  58.290
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3826 /  8535 =  44.827
0, 1  acc:  4659 /  8276 =  56.295
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 11534 / 19867 =  58.056
Robust  acc:  3826 /  8535 =  44.827
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 58.115
Robust Acc: 49.288 | Best Acc: 99.798
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  4814 /  9767 =  49.288
0, 1  acc:  4134 /  7535 =  54.864
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11601 / 19962 =  58.115
Robust  acc:  4814 /  9767 =  49.288
------------------------------------
Accuracies by groups:
0, 0  acc:  4814 /  9767 =  49.288
0, 1  acc:  4134 /  7535 =  54.864
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11601 / 19962 =  58.115
Robust  acc:  4814 /  9767 =  49.288
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4814 /  9767 =  49.288
0, 1  acc:  4134 /  7535 =  54.864
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11601 / 19962 =  58.115
Robust  acc:  4814 /  9767 =  49.288
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.035 | Val Loss: 0.004 | Val Acc: 85.499
Training:
Accuracies by groups:
0, 0  acc:  8308 / 14485 =  57.356
0, 1  acc:  4220 /  6459 =  65.335
1, 0  acc: 132205 / 133202 =  99.252
1, 1  acc:  8328 /  8624 =  96.568
--------------------------------------
Average acc: 153061 / 162770 =  94.035
Robust  acc:  8308 / 14485 =  57.356
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6876 /  8535 =  80.562
0, 1  acc:  7149 /  8276 =  86.382
1, 0  acc:  2790 /  2874 =  97.077
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16986 / 19867 =  85.499
Robust  acc:  6876 /  8535 =  80.562
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.900
Robust Acc: 84.755 | Best Acc: 96.573
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  8278 /  9767 =  84.755
0, 1  acc:  6516 /  7535 =  86.476
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17347 / 19962 =  86.900
Robust  acc:  8278 /  9767 =  84.755
------------------------------------
Accuracies by groups:
0, 0  acc:  8278 /  9767 =  84.755
0, 1  acc:  6516 /  7535 =  86.476
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17347 / 19962 =  86.900
Robust  acc:  8278 /  9767 =  84.755
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8278 /  9767 =  84.755
0, 1  acc:  6516 /  7535 =  86.476
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17347 / 19962 =  86.900
Robust  acc:  8278 /  9767 =  84.755
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 93.920 | Val Loss: 0.005 | Val Acc: 77.163
Training:
Accuracies by groups:
0, 0  acc:  8172 / 14500 =  56.359
0, 1  acc:  4325 /  6657 =  64.969
1, 0  acc: 132071 / 133038 =  99.273
1, 1  acc:  8306 /  8575 =  96.863
--------------------------------------
Average acc: 152874 / 162770 =  93.920
Robust  acc:  8172 / 14500 =  56.359
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6166 /  8535 =  72.244
0, 1  acc:  6156 /  8276 =  74.384
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 15330 / 19867 =  77.163
Robust  acc:  6166 /  8535 =  72.244
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.950
Robust Acc: 74.997 | Best Acc: 98.468
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  7500 /  9767 =  76.789
0, 1  acc:  5651 /  7535 =  74.997
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15760 / 19962 =  78.950
Robust  acc:  5651 /  7535 =  74.997
------------------------------------
Accuracies by groups:
0, 0  acc:  7500 /  9767 =  76.789
0, 1  acc:  5651 /  7535 =  74.997
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15760 / 19962 =  78.950
Robust  acc:  5651 /  7535 =  74.997
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7500 /  9767 =  76.789
0, 1  acc:  5651 /  7535 =  74.997
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15760 / 19962 =  78.950
Robust  acc:  5651 /  7535 =  74.997
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.902 | Val Loss: 0.005 | Val Acc: 76.489
Training:
Accuracies by groups:
0, 0  acc:  8332 / 14765 =  56.431
0, 1  acc:  4339 /  6636 =  65.386
1, 0  acc: 132069 / 132973 =  99.320
1, 1  acc:  8105 /  8396 =  96.534
--------------------------------------
Average acc: 152845 / 162770 =  93.902
Robust  acc:  8332 / 14765 =  56.431
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5768 /  8535 =  67.581
0, 1  acc:  6391 /  8276 =  77.223
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15196 / 19867 =  76.489
Robust  acc:  5768 /  8535 =  67.581
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.103
Robust Acc: 73.390 | Best Acc: 99.073
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7168 /  9767 =  73.390
0, 1  acc:  5798 /  7535 =  76.948
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15591 / 19962 =  78.103
Robust  acc:  7168 /  9767 =  73.390
------------------------------------
Accuracies by groups:
0, 0  acc:  7168 /  9767 =  73.390
0, 1  acc:  5798 /  7535 =  76.948
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15591 / 19962 =  78.103
Robust  acc:  7168 /  9767 =  73.390
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7168 /  9767 =  73.390
0, 1  acc:  5798 /  7535 =  76.948
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15591 / 19962 =  78.103
Robust  acc:  7168 /  9767 =  73.390
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.878 | Val Loss: 0.004 | Val Acc: 81.502
Training:
Accuracies by groups:
0, 0  acc:  8135 / 14460 =  56.259
0, 1  acc:  4194 /  6621 =  63.344
1, 0  acc: 132115 / 133050 =  99.297
1, 1  acc:  8361 /  8639 =  96.782
--------------------------------------
Average acc: 152805 / 162770 =  93.878
Robust  acc:  8135 / 14460 =  56.259
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6391 /  8535 =  74.880
0, 1  acc:  6787 /  8276 =  82.008
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16192 / 19867 =  81.502
Robust  acc:  6391 /  8535 =  74.880
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.098
Robust Acc: 80.014 | Best Acc: 98.024
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  7815 /  9767 =  80.014
0, 1  acc:  6174 /  7535 =  81.938
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16588 / 19962 =  83.098
Robust  acc:  7815 /  9767 =  80.014
------------------------------------
Accuracies by groups:
0, 0  acc:  7815 /  9767 =  80.014
0, 1  acc:  6174 /  7535 =  81.938
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16588 / 19962 =  83.098
Robust  acc:  7815 /  9767 =  80.014
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7815 /  9767 =  80.014
0, 1  acc:  6174 /  7535 =  81.938
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16588 / 19962 =  83.098
Robust  acc:  7815 /  9767 =  80.014
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.978 | Val Loss: 0.006 | Val Acc: 64.886
Training:
Accuracies by groups:
0, 0  acc:  8187 / 14440 =  56.697
0, 1  acc:  4216 /  6562 =  64.249
1, 0  acc: 132271 / 133187 =  99.312
1, 1  acc:  8294 /  8581 =  96.655
--------------------------------------
Average acc: 152968 / 162770 =  93.978
Robust  acc:  8187 / 14440 =  56.697
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4248 /  8535 =  49.772
0, 1  acc:  5596 /  8276 =  67.617
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12891 / 19867 =  64.886
Robust  acc:  4248 /  8535 =  49.772
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 66.266
Robust Acc: 55.606 | Best Acc: 99.798
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  5431 /  9767 =  55.606
0, 1  acc:  5146 /  7535 =  68.295
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13228 / 19962 =  66.266
Robust  acc:  5431 /  9767 =  55.606
------------------------------------
Accuracies by groups:
0, 0  acc:  5431 /  9767 =  55.606
0, 1  acc:  5146 /  7535 =  68.295
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13228 / 19962 =  66.266
Robust  acc:  5431 /  9767 =  55.606
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5431 /  9767 =  55.606
0, 1  acc:  5146 /  7535 =  68.295
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13228 / 19962 =  66.266
Robust  acc:  5431 /  9767 =  55.606
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 94.004 | Val Loss: 0.005 | Val Acc: 78.135
Training:
Accuracies by groups:
0, 0  acc:  8235 / 14502 =  56.785
0, 1  acc:  4279 /  6538 =  65.448
1, 0  acc: 132249 / 133192 =  99.292
1, 1  acc:  8248 /  8538 =  96.603
--------------------------------------
Average acc: 153011 / 162770 =  94.004
Robust  acc:  8235 / 14502 =  56.785
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6017 /  8535 =  70.498
0, 1  acc:  6473 /  8276 =  78.214
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15523 / 19867 =  78.135
Robust  acc:  6017 /  8535 =  70.498
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.636
Robust Acc: 75.642 | Best Acc: 98.992
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7388 /  9767 =  75.642
0, 1  acc:  5881 /  7535 =  78.049
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15897 / 19962 =  79.636
Robust  acc:  7388 /  9767 =  75.642
------------------------------------
Accuracies by groups:
0, 0  acc:  7388 /  9767 =  75.642
0, 1  acc:  5881 /  7535 =  78.049
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15897 / 19962 =  79.636
Robust  acc:  7388 /  9767 =  75.642
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7388 /  9767 =  75.642
0, 1  acc:  5881 /  7535 =  78.049
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15897 / 19962 =  79.636
Robust  acc:  7388 /  9767 =  75.642
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.951 | Val Loss: 0.006 | Val Acc: 68.878
Training:
Accuracies by groups:
0, 0  acc:  8264 / 14548 =  56.805
0, 1  acc:  4295 /  6650 =  64.586
1, 0  acc: 131938 / 132869 =  99.299
1, 1  acc:  8427 /  8703 =  96.829
--------------------------------------
Average acc: 152924 / 162770 =  93.951
Robust  acc:  8264 / 14548 =  56.805
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4873 /  8535 =  57.094
0, 1  acc:  5767 /  8276 =  69.683
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13684 / 19867 =  68.878
Robust  acc:  4873 /  8535 =  57.094
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.178
Robust Acc: 62.486 | Best Acc: 99.637
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  6103 /  9767 =  62.486
0, 1  acc:  5257 /  7535 =  69.768
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14009 / 19962 =  70.178
Robust  acc:  6103 /  9767 =  62.486
------------------------------------
Accuracies by groups:
0, 0  acc:  6103 /  9767 =  62.486
0, 1  acc:  5257 /  7535 =  69.768
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14009 / 19962 =  70.178
Robust  acc:  6103 /  9767 =  62.486
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6103 /  9767 =  62.486
0, 1  acc:  5257 /  7535 =  69.768
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14009 / 19962 =  70.178
Robust  acc:  6103 /  9767 =  62.486
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.960 | Val Loss: 0.006 | Val Acc: 67.292
Training:
Accuracies by groups:
0, 0  acc:  8236 / 14480 =  56.878
0, 1  acc:  4386 /  6766 =  64.824
1, 0  acc: 132012 / 132960 =  99.287
1, 1  acc:  8305 /  8564 =  96.976
--------------------------------------
Average acc: 152939 / 162770 =  93.960
Robust  acc:  8236 / 14480 =  56.878
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4755 /  8535 =  55.712
0, 1  acc:  5564 /  8276 =  67.231
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 13369 / 19867 =  67.292
Robust  acc:  4755 /  8535 =  55.712
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.432
Robust Acc: 62.209 | Best Acc: 99.839
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  6076 /  9767 =  62.209
0, 1  acc:  5131 /  7535 =  68.096
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13860 / 19962 =  69.432
Robust  acc:  6076 /  9767 =  62.209
------------------------------------
Accuracies by groups:
0, 0  acc:  6076 /  9767 =  62.209
0, 1  acc:  5131 /  7535 =  68.096
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13860 / 19962 =  69.432
Robust  acc:  6076 /  9767 =  62.209
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6076 /  9767 =  62.209
0, 1  acc:  5131 /  7535 =  68.096
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13860 / 19962 =  69.432
Robust  acc:  6076 /  9767 =  62.209
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.999 | Val Loss: 0.005 | Val Acc: 80.218
Training:
Accuracies by groups:
0, 0  acc:  8164 / 14325 =  56.991
0, 1  acc:  4377 /  6682 =  65.504
1, 0  acc: 132219 / 133221 =  99.248
1, 1  acc:  8242 /  8542 =  96.488
--------------------------------------
Average acc: 153002 / 162770 =  93.999
Robust  acc:  8164 / 14325 =  56.991
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6194 /  8535 =  72.572
0, 1  acc:  6718 /  8276 =  81.174
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15937 / 19867 =  80.218
Robust  acc:  6194 /  8535 =  72.572
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.931
Robust Acc: 77.670 | Best Acc: 98.669
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  7586 /  9767 =  77.670
0, 1  acc:  6149 /  7535 =  81.606
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16355 / 19962 =  81.931
Robust  acc:  7586 /  9767 =  77.670
------------------------------------
Accuracies by groups:
0, 0  acc:  7586 /  9767 =  77.670
0, 1  acc:  6149 /  7535 =  81.606
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16355 / 19962 =  81.931
Robust  acc:  7586 /  9767 =  77.670
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7586 /  9767 =  77.670
0, 1  acc:  6149 /  7535 =  81.606
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16355 / 19962 =  81.931
Robust  acc:  7586 /  9767 =  77.670
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.073 | Val Loss: 0.009 | Val Acc: 39.337
Training:
Accuracies by groups:
0, 0  acc:  8275 / 14389 =  57.509
0, 1  acc:  4222 /  6435 =  65.610
1, 0  acc: 132308 / 133339 =  99.227
1, 1  acc:  8317 /  8607 =  96.631
--------------------------------------
Average acc: 153122 / 162770 =  94.073
Robust  acc:  8275 / 14389 =  57.509
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1999 /  8535 =  23.421
0, 1  acc:  2760 /  8276 =  33.349
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  7815 / 19867 =  39.337
Robust  acc:  1999 /  8535 =  23.421
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 37.822
Robust Acc: 25.945 | Best Acc: 100.000
--------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  2534 /  9767 =  25.945
0, 1  acc:  2358 /  7535 =  31.294
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7550 / 19962 =  37.822
Robust  acc:  2534 /  9767 =  25.945
------------------------------------
Accuracies by groups:
0, 0  acc:  2534 /  9767 =  25.945
0, 1  acc:  2358 /  7535 =  31.294
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7550 / 19962 =  37.822
Robust  acc:  2534 /  9767 =  25.945
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2534 /  9767 =  25.945
0, 1  acc:  2358 /  7535 =  31.294
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7550 / 19962 =  37.822
Robust  acc:  2534 /  9767 =  25.945
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.047 | Val Loss: 0.005 | Val Acc: 76.172
Training:
Accuracies by groups:
0, 0  acc:  8507 / 14666 =  58.005
0, 1  acc:  4259 /  6454 =  65.990
1, 0  acc: 131951 / 132979 =  99.227
1, 1  acc:  8364 /  8671 =  96.459
--------------------------------------
Average acc: 153081 / 162770 =  94.047
Robust  acc:  8507 / 14666 =  58.005
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5784 /  8535 =  67.768
0, 1  acc:  6314 /  8276 =  76.293
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15133 / 19867 =  76.172
Robust  acc:  5784 /  8535 =  67.768
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.703
Robust Acc: 73.288 | Best Acc: 99.194
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  7158 /  9767 =  73.288
0, 1  acc:  5716 /  7535 =  75.859
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15511 / 19962 =  77.703
Robust  acc:  7158 /  9767 =  73.288
------------------------------------
Accuracies by groups:
0, 0  acc:  7158 /  9767 =  73.288
0, 1  acc:  5716 /  7535 =  75.859
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15511 / 19962 =  77.703
Robust  acc:  7158 /  9767 =  73.288
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7158 /  9767 =  73.288
0, 1  acc:  5716 /  7535 =  75.859
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15511 / 19962 =  77.703
Robust  acc:  7158 /  9767 =  73.288
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.119 | Val Loss: 0.005 | Val Acc: 80.979
Training:
Accuracies by groups:
0, 0  acc:  8447 / 14467 =  58.388
0, 1  acc:  4386 /  6618 =  66.274
1, 0  acc: 132154 / 133132 =  99.265
1, 1  acc:  8210 /  8553 =  95.990
--------------------------------------
Average acc: 153197 / 162770 =  94.119
Robust  acc:  8447 / 14467 =  58.388
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6314 /  8535 =  73.978
0, 1  acc:  6752 /  8276 =  81.585
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16088 / 19867 =  80.979
Robust  acc:  6314 /  8535 =  73.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.517
Robust Acc: 78.816 | Best Acc: 98.468
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  7698 /  9767 =  78.816
0, 1  acc:  6158 /  7535 =  81.725
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16472 / 19962 =  82.517
Robust  acc:  7698 /  9767 =  78.816
------------------------------------
Accuracies by groups:
0, 0  acc:  7698 /  9767 =  78.816
0, 1  acc:  6158 /  7535 =  81.725
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16472 / 19962 =  82.517
Robust  acc:  7698 /  9767 =  78.816
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7698 /  9767 =  78.816
0, 1  acc:  6158 /  7535 =  81.725
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16472 / 19962 =  82.517
Robust  acc:  7698 /  9767 =  78.816
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.189 | Val Loss: 0.006 | Val Acc: 69.291
Training:
Accuracies by groups:
0, 0  acc:  8672 / 14621 =  59.312
0, 1  acc:  4467 /  6620 =  67.477
1, 0  acc: 131978 / 133047 =  99.197
1, 1  acc:  8194 /  8482 =  96.605
--------------------------------------
Average acc: 153311 / 162770 =  94.189
Robust  acc:  8672 / 14621 =  59.312
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5298 /  8535 =  62.074
0, 1  acc:  5429 /  8276 =  65.599
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13766 / 19867 =  69.291
Robust  acc:  5298 /  8535 =  62.074
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 71.215
Robust Acc: 66.052 | Best Acc: 99.395
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  6597 /  9767 =  67.544
0, 1  acc:  4977 /  7535 =  66.052
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14216 / 19962 =  71.215
Robust  acc:  4977 /  7535 =  66.052
------------------------------------
Accuracies by groups:
0, 0  acc:  6597 /  9767 =  67.544
0, 1  acc:  4977 /  7535 =  66.052
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14216 / 19962 =  71.215
Robust  acc:  4977 /  7535 =  66.052
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6597 /  9767 =  67.544
0, 1  acc:  4977 /  7535 =  66.052
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14216 / 19962 =  71.215
Robust  acc:  4977 /  7535 =  66.052
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.173 | Val Loss: 0.004 | Val Acc: 84.411
Training:
Accuracies by groups:
0, 0  acc:  8525 / 14518 =  58.720
0, 1  acc:  4245 /  6339 =  66.966
1, 0  acc: 132208 / 133284 =  99.193
1, 1  acc:  8307 /  8629 =  96.268
--------------------------------------
Average acc: 153285 / 162770 =  94.173
Robust  acc:  8525 / 14518 =  58.720
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6814 /  8535 =  79.836
0, 1  acc:  7004 /  8276 =  84.630
1, 0  acc:  2786 /  2874 =  96.938
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 16770 / 19867 =  84.411
Robust  acc:  6814 /  8535 =  79.836
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.533
Robust Acc: 83.968 | Best Acc: 95.806
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  8206 /  9767 =  84.018
0, 1  acc:  6327 /  7535 =  83.968
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17074 / 19962 =  85.533
Robust  acc:  6327 /  7535 =  83.968
------------------------------------
Accuracies by groups:
0, 0  acc:  8206 /  9767 =  84.018
0, 1  acc:  6327 /  7535 =  83.968
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17074 / 19962 =  85.533
Robust  acc:  6327 /  7535 =  83.968
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8206 /  9767 =  84.018
0, 1  acc:  6327 /  7535 =  83.968
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17074 / 19962 =  85.533
Robust  acc:  6327 /  7535 =  83.968
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.175 | Val Loss: 0.005 | Val Acc: 74.158
Training:
Accuracies by groups:
0, 0  acc:  8372 / 14338 =  58.390
0, 1  acc:  4317 /  6478 =  66.641
1, 0  acc: 132369 / 133391 =  99.234
1, 1  acc:  8231 /  8563 =  96.123
--------------------------------------
Average acc: 153289 / 162770 =  94.175
Robust  acc:  8372 / 14338 =  58.390
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5441 /  8535 =  63.749
0, 1  acc:  6257 /  8276 =  75.604
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14733 / 19867 =  74.158
Robust  acc:  5441 /  8535 =  63.749
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.039
Robust Acc: 69.735 | Best Acc: 99.315
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  6811 /  9767 =  69.735
0, 1  acc:  5732 /  7535 =  76.072
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15179 / 19962 =  76.039
Robust  acc:  6811 /  9767 =  69.735
------------------------------------
Accuracies by groups:
0, 0  acc:  6811 /  9767 =  69.735
0, 1  acc:  5732 /  7535 =  76.072
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15179 / 19962 =  76.039
Robust  acc:  6811 /  9767 =  69.735
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6811 /  9767 =  69.735
0, 1  acc:  5732 /  7535 =  76.072
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15179 / 19962 =  76.039
Robust  acc:  6811 /  9767 =  69.735
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.103 | Val Loss: 0.007 | Val Acc: 63.699
Training:
Accuracies by groups:
0, 0  acc:  8443 / 14492 =  58.260
0, 1  acc:  4297 /  6468 =  66.435
1, 0  acc: 132176 / 133233 =  99.207
1, 1  acc:  8255 /  8577 =  96.246
--------------------------------------
Average acc: 153171 / 162770 =  94.103
Robust  acc:  8443 / 14492 =  58.260
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4352 /  8535 =  50.990
0, 1  acc:  5257 /  8276 =  63.521
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12655 / 19867 =  63.699
Robust  acc:  4352 /  8535 =  50.990
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 64.708
Robust Acc: 57.203 | Best Acc: 99.718
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  5587 /  9767 =  57.203
0, 1  acc:  4680 /  7535 =  62.110
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12917 / 19962 =  64.708
Robust  acc:  5587 /  9767 =  57.203
------------------------------------
Accuracies by groups:
0, 0  acc:  5587 /  9767 =  57.203
0, 1  acc:  4680 /  7535 =  62.110
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12917 / 19962 =  64.708
Robust  acc:  5587 /  9767 =  57.203
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5587 /  9767 =  57.203
0, 1  acc:  4680 /  7535 =  62.110
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12917 / 19962 =  64.708
Robust  acc:  5587 /  9767 =  57.203
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.234 | Val Loss: 0.005 | Val Acc: 77.591
Training:
Accuracies by groups:
0, 0  acc:  8680 / 14596 =  59.468
0, 1  acc:  4434 /  6473 =  68.500
1, 0  acc: 131981 / 133089 =  99.167
1, 1  acc:  8290 /  8612 =  96.261
--------------------------------------
Average acc: 153385 / 162770 =  94.234
Robust  acc:  8680 / 14596 =  59.468
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5939 /  8535 =  69.584
0, 1  acc:  6462 /  8276 =  78.081
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 15415 / 19867 =  77.591
Robust  acc:  5939 /  8535 =  69.584
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.266
Robust Acc: 75.079 | Best Acc: 98.427
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  7333 /  9767 =  75.079
0, 1  acc:  5881 /  7535 =  78.049
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15823 / 19962 =  79.266
Robust  acc:  7333 /  9767 =  75.079
------------------------------------
Accuracies by groups:
0, 0  acc:  7333 /  9767 =  75.079
0, 1  acc:  5881 /  7535 =  78.049
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15823 / 19962 =  79.266
Robust  acc:  7333 /  9767 =  75.079
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7333 /  9767 =  75.079
0, 1  acc:  5881 /  7535 =  78.049
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15823 / 19962 =  79.266
Robust  acc:  7333 /  9767 =  75.079
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.251 | Val Loss: 0.005 | Val Acc: 75.870
Training:
Accuracies by groups:
0, 0  acc:  8567 / 14430 =  59.369
0, 1  acc:  4389 /  6459 =  67.952
1, 0  acc: 132266 / 133368 =  99.174
1, 1  acc:  8191 /  8513 =  96.218
--------------------------------------
Average acc: 153413 / 162770 =  94.251
Robust  acc:  8567 / 14430 =  59.369
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5897 /  8535 =  69.092
0, 1  acc:  6154 /  8276 =  74.360
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15073 / 19867 =  75.870
Robust  acc:  5897 /  8535 =  69.092
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.013
Robust Acc: 74.506 | Best Acc: 98.871
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  7334 /  9767 =  75.090
0, 1  acc:  5614 /  7535 =  74.506
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15573 / 19962 =  78.013
Robust  acc:  5614 /  7535 =  74.506
------------------------------------
Accuracies by groups:
0, 0  acc:  7334 /  9767 =  75.090
0, 1  acc:  5614 /  7535 =  74.506
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15573 / 19962 =  78.013
Robust  acc:  5614 /  7535 =  74.506
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7334 /  9767 =  75.090
0, 1  acc:  5614 /  7535 =  74.506
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15573 / 19962 =  78.013
Robust  acc:  5614 /  7535 =  74.506
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.314 | Val Loss: 0.005 | Val Acc: 73.056
Training:
Accuracies by groups:
0, 0  acc:  8612 / 14474 =  59.500
0, 1  acc:  4447 /  6479 =  68.637
1, 0  acc: 132282 / 133328 =  99.215
1, 1  acc:  8174 /  8489 =  96.289
--------------------------------------
Average acc: 153515 / 162770 =  94.314
Robust  acc:  8612 / 14474 =  59.500
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5778 /  8535 =  67.698
0, 1  acc:  5713 /  8276 =  69.031
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14514 / 19867 =  73.056
Robust  acc:  5778 /  8535 =  67.698
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.118
Robust Acc: 68.388 | Best Acc: 98.790
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  7219 /  9767 =  73.912
0, 1  acc:  5153 /  7535 =  68.388
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14995 / 19962 =  75.118
Robust  acc:  5153 /  7535 =  68.388
------------------------------------
Accuracies by groups:
0, 0  acc:  7219 /  9767 =  73.912
0, 1  acc:  5153 /  7535 =  68.388
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14995 / 19962 =  75.118
Robust  acc:  5153 /  7535 =  68.388
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7219 /  9767 =  73.912
0, 1  acc:  5153 /  7535 =  68.388
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14995 / 19962 =  75.118
Robust  acc:  5153 /  7535 =  68.388
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.311 | Val Loss: 0.005 | Val Acc: 79.745
Training:
Accuracies by groups:
0, 0  acc:  8565 / 14349 =  59.691
0, 1  acc:  4687 /  6726 =  69.685
1, 0  acc: 132080 / 133163 =  99.187
1, 1  acc:  8178 /  8532 =  95.851
--------------------------------------
Average acc: 153510 / 162770 =  94.311
Robust  acc:  8565 / 14349 =  59.691
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6419 /  8535 =  75.208
0, 1  acc:  6426 /  8276 =  77.646
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 15843 / 19867 =  79.745
Robust  acc:  6419 /  8535 =  75.208
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.949
Robust Acc: 75.926 | Best Acc: 97.863
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  7840 /  9767 =  80.270
0, 1  acc:  5721 /  7535 =  75.926
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16159 / 19962 =  80.949
Robust  acc:  5721 /  7535 =  75.926
------------------------------------
Accuracies by groups:
0, 0  acc:  7840 /  9767 =  80.270
0, 1  acc:  5721 /  7535 =  75.926
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16159 / 19962 =  80.949
Robust  acc:  5721 /  7535 =  75.926
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7840 /  9767 =  80.270
0, 1  acc:  5721 /  7535 =  75.926
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16159 / 19962 =  80.949
Robust  acc:  5721 /  7535 =  75.926
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.315 | Val Loss: 0.006 | Val Acc: 66.100
Training:
Accuracies by groups:
0, 0  acc:  8699 / 14464 =  60.142
0, 1  acc:  4564 /  6571 =  69.457
1, 0  acc: 131923 / 133064 =  99.143
1, 1  acc:  8330 /  8671 =  96.067
--------------------------------------
Average acc: 153516 / 162770 =  94.315
Robust  acc:  8699 / 14464 =  60.142
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4949 /  8535 =  57.985
0, 1  acc:  5138 /  8276 =  62.083
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13132 / 19867 =  66.100
Robust  acc:  4949 /  8535 =  57.985
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 67.754
Robust Acc: 61.380 | Best Acc: 99.435
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  6260 /  9767 =  64.093
0, 1  acc:  4625 /  7535 =  61.380
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 13525 / 19962 =  67.754
Robust  acc:  4625 /  7535 =  61.380
------------------------------------
Accuracies by groups:
0, 0  acc:  6260 /  9767 =  64.093
0, 1  acc:  4625 /  7535 =  61.380
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 13525 / 19962 =  67.754
Robust  acc:  4625 /  7535 =  61.380
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6260 /  9767 =  64.093
0, 1  acc:  4625 /  7535 =  61.380
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 13525 / 19962 =  67.754
Robust  acc:  4625 /  7535 =  61.380
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.238 | Val Loss: 0.004 | Val Acc: 84.190
Training:
Accuracies by groups:
0, 0  acc:  8821 / 14651 =  60.207
0, 1  acc:  4511 /  6540 =  68.976
1, 0  acc: 131880 / 133043 =  99.126
1, 1  acc:  8180 /  8536 =  95.829
--------------------------------------
Average acc: 153392 / 162770 =  94.238
Robust  acc:  8821 / 14651 =  60.207
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6559 /  8535 =  76.848
0, 1  acc:  7172 /  8276 =  86.660
1, 0  acc:  2831 /  2874 =  98.504
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 16726 / 19867 =  84.190
Robust  acc:  6559 /  8535 =  76.848
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.773
Robust Acc: 81.386 | Best Acc: 97.782
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  7949 /  9767 =  81.386
0, 1  acc:  6580 /  7535 =  87.326
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17122 / 19962 =  85.773
Robust  acc:  7949 /  9767 =  81.386
------------------------------------
Accuracies by groups:
0, 0  acc:  7949 /  9767 =  81.386
0, 1  acc:  6580 /  7535 =  87.326
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17122 / 19962 =  85.773
Robust  acc:  7949 /  9767 =  81.386
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7949 /  9767 =  81.386
0, 1  acc:  6580 /  7535 =  87.326
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17122 / 19962 =  85.773
Robust  acc:  7949 /  9767 =  81.386
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.358 | Val Loss: 0.005 | Val Acc: 80.958
Training:
Accuracies by groups:
0, 0  acc:  8788 / 14511 =  60.561
0, 1  acc:  4569 /  6581 =  69.427
1, 0  acc: 131879 / 132951 =  99.194
1, 1  acc:  8350 /  8727 =  95.680
--------------------------------------
Average acc: 153586 / 162770 =  94.358
Robust  acc:  8788 / 14511 =  60.561
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6364 /  8535 =  74.564
0, 1  acc:  6701 /  8276 =  80.969
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16084 / 19867 =  80.958
Robust  acc:  6364 /  8535 =  74.564
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.632
Robust Acc: 79.738 | Best Acc: 98.508
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  7788 /  9767 =  79.738
0, 1  acc:  6092 /  7535 =  80.849
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16495 / 19962 =  82.632
Robust  acc:  7788 /  9767 =  79.738
------------------------------------
Accuracies by groups:
0, 0  acc:  7788 /  9767 =  79.738
0, 1  acc:  6092 /  7535 =  80.849
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16495 / 19962 =  82.632
Robust  acc:  7788 /  9767 =  79.738
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7788 /  9767 =  79.738
0, 1  acc:  6092 /  7535 =  80.849
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16495 / 19962 =  82.632
Robust  acc:  7788 /  9767 =  79.738
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed3.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed3.pt
0  acc:  2460 /  2480 =  99.194
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15901 / 19962 =  79.656
Robust  acc:  7295 /  9767 =  74.690
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7295 /  9767 =  74.690
0, 1  acc:  5977 /  7535 =  79.323
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15901 / 19962 =  79.656
Robust  acc:  7295 /  9767 =  74.690
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed3.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed3.pt
