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: 12
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=12-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.798 | Val Loss: 0.004 | Val Acc: 78.089
Training:
Accuracies by groups:
0, 0  acc:  5872 / 14551 =  40.355
0, 1  acc:  3017 /  6661 =  45.293
1, 0  acc: 130718 / 132904 =  98.355
1, 1  acc:  8185 /  8654 =  94.581
--------------------------------------
Average acc: 147792 / 162770 =  90.798
Robust  acc:  5872 / 14551 =  40.355
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6026 /  8535 =  70.603
0, 1  acc:  6468 /  8276 =  78.154
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 15514 / 19867 =  78.089
Robust  acc:  6026 /  8535 =  70.603
------------------------------------
New max robust acc: 70.60339777387229
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed12.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed12.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 80.237
Robust Acc: 76.482 | Best Acc: 98.992
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7470 /  9767 =  76.482
0, 1  acc:  5919 /  7535 =  78.553
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16017 / 19962 =  80.237
Robust  acc:  7470 /  9767 =  76.482
------------------------------------
Accuracies by groups:
0, 0  acc:  7470 /  9767 =  76.482
0, 1  acc:  5919 /  7535 =  78.553
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16017 / 19962 =  80.237
Robust  acc:  7470 /  9767 =  76.482
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7470 /  9767 =  76.482
0, 1  acc:  5919 /  7535 =  78.553
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16017 / 19962 =  80.237
Robust  acc:  7470 /  9767 =  76.482
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.575 | Val Loss: 0.003 | Val Acc: 84.693
Training:
Accuracies by groups:
0, 0  acc:  9356 / 14528 =  64.400
0, 1  acc:  4896 /  6730 =  72.749
1, 0  acc: 131567 / 132856 =  99.030
1, 1  acc:  8120 /  8656 =  93.808
--------------------------------------
Average acc: 153939 / 162770 =  94.575
Robust  acc:  9356 / 14528 =  64.400
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6575 /  8535 =  77.036
0, 1  acc:  7242 /  8276 =  87.506
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16826 / 19867 =  84.693
Robust  acc:  6575 /  8535 =  77.036
------------------------------------
New max robust acc: 77.03573520796719
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed12.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed12.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.144
Robust Acc: 81.990 | Best Acc: 98.629
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8008 /  9767 =  81.990
0, 1  acc:  6575 /  7535 =  87.259
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17196 / 19962 =  86.144
Robust  acc:  8008 /  9767 =  81.990
------------------------------------
Accuracies by groups:
0, 0  acc:  8008 /  9767 =  81.990
0, 1  acc:  6575 /  7535 =  87.259
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17196 / 19962 =  86.144
Robust  acc:  8008 /  9767 =  81.990
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8008 /  9767 =  81.990
0, 1  acc:  6575 /  7535 =  87.259
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17196 / 19962 =  86.144
Robust  acc:  8008 /  9767 =  81.990
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.293 | Val Loss: 0.003 | Val Acc: 85.549
Training:
Accuracies by groups:
0, 0  acc:  9833 / 14588 =  67.405
0, 1  acc:  5125 /  6388 =  80.229
1, 0  acc: 132025 / 133204 =  99.115
1, 1  acc:  8126 /  8590 =  94.598
--------------------------------------
Average acc: 155109 / 162770 =  95.293
Robust  acc:  9833 / 14588 =  67.405
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6593 /  8535 =  77.247
0, 1  acc:  7386 /  8276 =  89.246
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16996 / 19867 =  85.549
Robust  acc:  6593 /  8535 =  77.247
------------------------------------
New max robust acc: 77.24663151728178
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed12.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed12.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.750
Robust Acc: 81.970 | Best Acc: 98.629
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8006 /  9767 =  81.970
0, 1  acc:  6700 /  7535 =  88.918
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17317 / 19962 =  86.750
Robust  acc:  8006 /  9767 =  81.970
------------------------------------
Accuracies by groups:
0, 0  acc:  8006 /  9767 =  81.970
0, 1  acc:  6700 /  7535 =  88.918
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17317 / 19962 =  86.750
Robust  acc:  8006 /  9767 =  81.970
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8006 /  9767 =  81.970
0, 1  acc:  6700 /  7535 =  88.918
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17317 / 19962 =  86.750
Robust  acc:  8006 /  9767 =  81.970
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.876 | Val Loss: 0.002 | Val Acc: 87.467
Training:
Accuracies by groups:
0, 0  acc: 10241 / 14500 =  70.628
0, 1  acc:  5522 /  6536 =  84.486
1, 0  acc: 132035 / 133060 =  99.230
1, 1  acc:  8259 /  8674 =  95.216
--------------------------------------
Average acc: 156057 / 162770 =  95.876
Robust  acc: 10241 / 14500 =  70.628
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6810 /  8535 =  79.789
0, 1  acc:  7566 /  8276 =  91.421
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17377 / 19867 =  87.467
Robust  acc:  6810 /  8535 =  79.789
------------------------------------
New max robust acc: 79.78910369068541
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed12.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed12.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.443
Robust Acc: 84.140 | Best Acc: 98.145
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8218 /  9767 =  84.140
0, 1  acc:  6844 /  7535 =  90.829
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17655 / 19962 =  88.443
Robust  acc:  8218 /  9767 =  84.140
------------------------------------
Accuracies by groups:
0, 0  acc:  8218 /  9767 =  84.140
0, 1  acc:  6844 /  7535 =  90.829
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17655 / 19962 =  88.443
Robust  acc:  8218 /  9767 =  84.140
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8218 /  9767 =  84.140
0, 1  acc:  6844 /  7535 =  90.829
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17655 / 19962 =  88.443
Robust  acc:  8218 /  9767 =  84.140
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.259 | Val Loss: 0.002 | Val Acc: 88.931
Training:
Accuracies by groups:
0, 0  acc: 10414 / 14478 =  71.930
0, 1  acc:  5643 /  6575 =  85.825
1, 0  acc: 132268 / 133050 =  99.412
1, 1  acc:  8356 /  8667 =  96.412
--------------------------------------
Average acc: 156681 / 162770 =  96.259
Robust  acc: 10414 / 14478 =  71.930
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6988 /  8535 =  81.875
0, 1  acc:  7689 /  8276 =  92.907
1, 0  acc:  2824 /  2874 =  98.260
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17668 / 19867 =  88.931
Robust  acc:  6988 /  8535 =  81.875
------------------------------------
New max robust acc: 81.87463386057411
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed12.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed12.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.530
Robust Acc: 85.205 | Best Acc: 97.863
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8322 /  9767 =  85.205
0, 1  acc:  6966 /  7535 =  92.449
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17872 / 19962 =  89.530
Robust  acc:  8322 /  9767 =  85.205
------------------------------------
Accuracies by groups:
0, 0  acc:  8322 /  9767 =  85.205
0, 1  acc:  6966 /  7535 =  92.449
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17872 / 19962 =  89.530
Robust  acc:  8322 /  9767 =  85.205
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8322 /  9767 =  85.205
0, 1  acc:  6966 /  7535 =  92.449
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17872 / 19962 =  89.530
Robust  acc:  8322 /  9767 =  85.205
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.781 | Val Loss: 0.002 | Val Acc: 89.898
Training:
Accuracies by groups:
0, 0  acc: 10809 / 14490 =  74.596
0, 1  acc:  5887 /  6667 =  88.301
1, 0  acc: 132473 / 133045 =  99.570
1, 1  acc:  8361 /  8568 =  97.584
--------------------------------------
Average acc: 157530 / 162770 =  96.781
Robust  acc: 10809 / 14490 =  74.596
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7087 /  8535 =  83.035
0, 1  acc:  7788 /  8276 =  94.103
1, 0  acc:  2817 /  2874 =  98.017
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17860 / 19867 =  89.898
Robust  acc:  7087 /  8535 =  83.035
------------------------------------
New max robust acc: 83.03456356180433
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed12.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed12.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.357
Robust Acc: 85.000 | Best Acc: 97.742
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8413 /  9767 =  86.137
0, 1  acc:  7047 /  7535 =  93.524
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18037 / 19962 =  90.357
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8413 /  9767 =  86.137
0, 1  acc:  7047 /  7535 =  93.524
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18037 / 19962 =  90.357
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8413 /  9767 =  86.137
0, 1  acc:  7047 /  7535 =  93.524
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18037 / 19962 =  90.357
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.338 | Val Loss: 0.002 | Val Acc: 90.366
Training:
Accuracies by groups:
0, 0  acc: 11356 / 14585 =  77.861
0, 1  acc:  5916 /  6573 =  90.005
1, 0  acc: 132701 / 133064 =  99.727
1, 1  acc:  8464 /  8548 =  99.017
--------------------------------------
Average acc: 158437 / 162770 =  97.338
Robust  acc: 11356 / 14585 =  77.861
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7164 /  8535 =  83.937
0, 1  acc:  7811 /  8276 =  94.381
1, 0  acc:  2812 /  2874 =  97.843
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17953 / 19867 =  90.366
Robust  acc:  7164 /  8535 =  83.937
------------------------------------
New max robust acc: 83.93673110720562
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed12.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed12.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.943
Robust Acc: 85.000 | Best Acc: 97.460
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8493 /  9767 =  86.956
0, 1  acc:  7091 /  7535 =  94.107
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18154 / 19962 =  90.943
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8493 /  9767 =  86.956
0, 1  acc:  7091 /  7535 =  94.107
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18154 / 19962 =  90.943
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8493 /  9767 =  86.956
0, 1  acc:  7091 /  7535 =  94.107
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18154 / 19962 =  90.943
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.836 | Val Loss: 0.002 | Val Acc: 92.253
Training:
Accuracies by groups:
0, 0  acc: 11858 / 14663 =  80.870
0, 1  acc:  6080 /  6583 =  92.359
1, 0  acc: 132877 / 133049 =  99.871
1, 1  acc:  8432 /  8475 =  99.493
--------------------------------------
Average acc: 159247 / 162770 =  97.836
Robust  acc: 11858 / 14663 =  80.870
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7448 /  8535 =  87.264
0, 1  acc:  7938 /  8276 =  95.916
1, 0  acc:  2784 /  2874 =  96.868
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 18328 / 19867 =  92.253
Robust  acc:   158 /   182 =  86.813
------------------------------------
New max robust acc: 86.81318681318682
debias model - Saving best checkpoint at epoch 7
replace: True
-> Updating checkpoint debias-wga-best_seed12.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed12.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.391
Robust Acc: 80.556 | Best Acc: 96.048
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8721 /  9767 =  89.290
0, 1  acc:  7195 /  7535 =  95.488
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18443 / 19962 =  92.391
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8721 /  9767 =  89.290
0, 1  acc:  7195 /  7535 =  95.488
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18443 / 19962 =  92.391
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8721 /  9767 =  89.290
0, 1  acc:  7195 /  7535 =  95.488
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18443 / 19962 =  92.391
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.239 | Val Loss: 0.002 | Val Acc: 91.906
Training:
Accuracies by groups:
0, 0  acc: 11881 / 14216 =  83.575
0, 1  acc:  6209 /  6641 =  93.495
1, 0  acc: 133264 / 133343 =  99.941
1, 1  acc:  8550 /  8570 =  99.767
--------------------------------------
Average acc: 159904 / 162770 =  98.239
Robust  acc: 11881 / 14216 =  83.575
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7398 /  8535 =  86.678
0, 1  acc:  7940 /  8276 =  95.940
1, 0  acc:  2768 /  2874 =  96.312
1, 1  acc:   153 /   182 =  84.066
------------------------------------
Average acc: 18259 / 19867 =  91.906
Robust  acc:   153 /   182 =  84.066
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.300
Robust Acc: 80.000 | Best Acc: 95.806
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8724 /  9767 =  89.321
0, 1  acc:  7181 /  7535 =  95.302
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18425 / 19962 =  92.300
Robust  acc:   144 /   180 =  80.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8724 /  9767 =  89.321
0, 1  acc:  7181 /  7535 =  95.302
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18425 / 19962 =  92.300
Robust  acc:   144 /   180 =  80.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8724 /  9767 =  89.321
0, 1  acc:  7181 /  7535 =  95.302
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18425 / 19962 =  92.300
Robust  acc:   144 /   180 =  80.000
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.495 | Val Loss: 0.002 | Val Acc: 91.106
Training:
Accuracies by groups:
0, 0  acc: 12409 / 14425 =  86.024
0, 1  acc:  6250 /  6589 =  94.855
1, 0  acc: 132956 / 133021 =  99.951
1, 1  acc:  8706 /  8735 =  99.668
--------------------------------------
Average acc: 160321 / 162770 =  98.495
Robust  acc: 12409 / 14425 =  86.024
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7230 /  8535 =  84.710
0, 1  acc:  7954 /  8276 =  96.109
1, 0  acc:  2771 /  2874 =  96.416
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18100 / 19867 =  91.106
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.484
Robust Acc: 78.333 | Best Acc: 95.524
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8575 /  9767 =  87.796
0, 1  acc:  7177 /  7535 =  95.249
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18262 / 19962 =  91.484
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8575 /  9767 =  87.796
0, 1  acc:  7177 /  7535 =  95.249
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18262 / 19962 =  91.484
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8575 /  9767 =  87.796
0, 1  acc:  7177 /  7535 =  95.249
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18262 / 19962 =  91.484
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.476 | Val Loss: 0.001 | Val Acc: 94.000
Training:
Accuracies by groups:
0, 0  acc: 12635 / 14574 =  86.695
0, 1  acc:  6288 /  6625 =  94.913
1, 0  acc: 132634 / 132794 =  99.880
1, 1  acc:  8732 /  8777 =  99.487
--------------------------------------
Average acc: 160289 / 162770 =  98.476
Robust  acc: 12635 / 14574 =  86.695
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7822 /  8535 =  91.646
0, 1  acc:  8079 /  8276 =  97.620
1, 0  acc:  2644 /  2874 =  91.997
1, 1  acc:   130 /   182 =  71.429
------------------------------------
Average acc: 18675 / 19867 =  94.000
Robust  acc:   130 /   182 =  71.429
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.304
Robust Acc: 69.444 | Best Acc: 97.518
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  9104 /  9767 =  93.212
0, 1  acc:  7348 /  7535 =  97.518
1, 0  acc:  2248 /  2480 =  90.645
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18825 / 19962 =  94.304
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9104 /  9767 =  93.212
0, 1  acc:  7348 /  7535 =  97.518
1, 0  acc:  2248 /  2480 =  90.645
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18825 / 19962 =  94.304
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9104 /  9767 =  93.212
0, 1  acc:  7348 /  7535 =  97.518
1, 0  acc:  2248 /  2480 =  90.645
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18825 / 19962 =  94.304
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.247 | Val Loss: 0.002 | Val Acc: 92.807
Training:
Accuracies by groups:
0, 0  acc: 12345 / 14452 =  85.421
0, 1  acc:  6195 /  6569 =  94.307
1, 0  acc: 132841 / 133126 =  99.786
1, 1  acc:  8535 /  8623 =  98.979
--------------------------------------
Average acc: 159916 / 162770 =  98.247
Robust  acc: 12345 / 14452 =  85.421
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7543 /  8535 =  88.377
0, 1  acc:  8030 /  8276 =  97.028
1, 0  acc:  2731 /  2874 =  95.024
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18438 / 19867 =  92.807
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.187
Robust Acc: 71.111 | Best Acc: 96.788
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8840 /  9767 =  90.509
0, 1  acc:  7293 /  7535 =  96.788
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18602 / 19962 =  93.187
Robust  acc:   128 /   180 =  71.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8840 /  9767 =  90.509
0, 1  acc:  7293 /  7535 =  96.788
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18602 / 19962 =  93.187
Robust  acc:   128 /   180 =  71.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8840 /  9767 =  90.509
0, 1  acc:  7293 /  7535 =  96.788
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18602 / 19962 =  93.187
Robust  acc:   128 /   180 =  71.111
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.895 | Val Loss: 0.002 | Val Acc: 92.218
Training:
Accuracies by groups:
0, 0  acc: 12152 / 14547 =  83.536
0, 1  acc:  6034 /  6494 =  92.917
1, 0  acc: 132659 / 133077 =  99.686
1, 1  acc:  8498 /  8652 =  98.220
--------------------------------------
Average acc: 159343 / 162770 =  97.895
Robust  acc: 12152 / 14547 =  83.536
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7548 /  8535 =  88.436
0, 1  acc:  7915 /  8276 =  95.638
1, 0  acc:  2715 /  2874 =  94.468
1, 1  acc:   143 /   182 =  78.571
------------------------------------
Average acc: 18321 / 19867 =  92.218
Robust  acc:   143 /   182 =  78.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.441
Robust Acc: 72.778 | Best Acc: 95.408
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8803 /  9767 =  90.130
0, 1  acc:  7189 /  7535 =  95.408
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18453 / 19962 =  92.441
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8803 /  9767 =  90.130
0, 1  acc:  7189 /  7535 =  95.408
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18453 / 19962 =  92.441
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8803 /  9767 =  90.130
0, 1  acc:  7189 /  7535 =  95.408
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18453 / 19962 =  92.441
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.444 | Val Loss: 0.002 | Val Acc: 89.284
Training:
Accuracies by groups:
0, 0  acc: 11606 / 14421 =  80.480
0, 1  acc:  6045 /  6610 =  91.452
1, 0  acc: 132407 / 133008 =  99.548
1, 1  acc:  8551 /  8731 =  97.938
--------------------------------------
Average acc: 158609 / 162770 =  97.444
Robust  acc: 11606 / 14421 =  80.480
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7043 /  8535 =  82.519
0, 1  acc:  7709 /  8276 =  93.149
1, 0  acc:  2818 /  2874 =  98.051
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17738 / 19867 =  89.284
Robust  acc:  7043 /  8535 =  82.519
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.261
Robust Acc: 86.639 | Best Acc: 97.460
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8462 /  9767 =  86.639
0, 1  acc:  6979 /  7535 =  92.621
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 18018 / 19962 =  90.261
Robust  acc:  8462 /  9767 =  86.639
------------------------------------
Accuracies by groups:
0, 0  acc:  8462 /  9767 =  86.639
0, 1  acc:  6979 /  7535 =  92.621
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 18018 / 19962 =  90.261
Robust  acc:  8462 /  9767 =  86.639
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8462 /  9767 =  86.639
0, 1  acc:  6979 /  7535 =  92.621
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 18018 / 19962 =  90.261
Robust  acc:  8462 /  9767 =  86.639
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.907 | Val Loss: 0.002 | Val Acc: 92.213
Training:
Accuracies by groups:
0, 0  acc: 11157 / 14507 =  76.908
0, 1  acc:  5862 /  6504 =  90.129
1, 0  acc: 132303 / 133118 =  99.388
1, 1  acc:  8414 /  8641 =  97.373
--------------------------------------
Average acc: 157736 / 162770 =  96.907
Robust  acc: 11157 / 14507 =  76.908
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7491 /  8535 =  87.768
0, 1  acc:  7918 /  8276 =  95.674
1, 0  acc:  2756 /  2874 =  95.894
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 18320 / 19867 =  92.213
Robust  acc:   155 /   182 =  85.165
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.631
Robust Acc: 78.889 | Best Acc: 95.222
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8820 /  9767 =  90.304
0, 1  acc:  7175 /  7535 =  95.222
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18491 / 19962 =  92.631
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8820 /  9767 =  90.304
0, 1  acc:  7175 /  7535 =  95.222
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18491 / 19962 =  92.631
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8820 /  9767 =  90.304
0, 1  acc:  7175 /  7535 =  95.222
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18491 / 19962 =  92.631
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.435 | Val Loss: 0.002 | Val Acc: 89.973
Training:
Accuracies by groups:
0, 0  acc: 10802 / 14499 =  74.502
0, 1  acc:  5813 /  6622 =  87.783
1, 0  acc: 132278 / 133244 =  99.275
1, 1  acc:  8074 /  8405 =  96.062
--------------------------------------
Average acc: 156967 / 162770 =  96.435
Robust  acc: 10802 / 14499 =  74.502
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7229 /  8535 =  84.698
0, 1  acc:  7672 /  8276 =  92.702
1, 0  acc:  2806 /  2874 =  97.634
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17875 / 19867 =  89.973
Robust  acc:  7229 /  8535 =  84.698
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.627
Robust Acc: 85.556 | Best Acc: 97.298
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8538 /  9767 =  87.417
0, 1  acc:  6986 /  7535 =  92.714
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18091 / 19962 =  90.627
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8538 /  9767 =  87.417
0, 1  acc:  6986 /  7535 =  92.714
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18091 / 19962 =  90.627
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8538 /  9767 =  87.417
0, 1  acc:  6986 /  7535 =  92.714
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18091 / 19962 =  90.627
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.991 | Val Loss: 0.002 | Val Acc: 92.007
Training:
Accuracies by groups:
0, 0  acc: 10390 / 14410 =  72.103
0, 1  acc:  5693 /  6649 =  85.622
1, 0  acc: 131999 / 133143 =  99.141
1, 1  acc:  8163 /  8568 =  95.273
--------------------------------------
Average acc: 156245 / 162770 =  95.991
Robust  acc: 10390 / 14410 =  72.103
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7435 /  8535 =  87.112
0, 1  acc:  7920 /  8276 =  95.698
1, 0  acc:  2774 /  2874 =  96.521
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 18279 / 19867 =  92.007
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.706
Robust Acc: 72.778 | Best Acc: 96.169
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8766 /  9767 =  89.751
0, 1  acc:  7224 /  7535 =  95.873
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18506 / 19962 =  92.706
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8766 /  9767 =  89.751
0, 1  acc:  7224 /  7535 =  95.873
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18506 / 19962 =  92.706
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8766 /  9767 =  89.751
0, 1  acc:  7224 /  7535 =  95.873
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18506 / 19962 =  92.706
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.574 | Val Loss: 0.005 | Val Acc: 76.106
Training:
Accuracies by groups:
0, 0  acc: 10263 / 14609 =  70.251
0, 1  acc:  5412 /  6536 =  82.803
1, 0  acc: 131718 / 133012 =  99.027
1, 1  acc:  8172 /  8613 =  94.880
--------------------------------------
Average acc: 155565 / 162770 =  95.574
Robust  acc: 10263 / 14609 =  70.251
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5605 /  8535 =  65.671
0, 1  acc:  6472 /  8276 =  78.202
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15120 / 19867 =  76.106
Robust  acc:  5605 /  8535 =  65.671
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 77.963
Robust Acc: 71.117 | Best Acc: 99.556
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  6946 /  9767 =  71.117
0, 1  acc:  5974 /  7535 =  79.283
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15563 / 19962 =  77.963
Robust  acc:  6946 /  9767 =  71.117
------------------------------------
Accuracies by groups:
0, 0  acc:  6946 /  9767 =  71.117
0, 1  acc:  5974 /  7535 =  79.283
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15563 / 19962 =  77.963
Robust  acc:  6946 /  9767 =  71.117
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6946 /  9767 =  71.117
0, 1  acc:  5974 /  7535 =  79.283
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15563 / 19962 =  77.963
Robust  acc:  6946 /  9767 =  71.117
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.273 | Val Loss: 0.002 | Val Acc: 94.685
Training:
Accuracies by groups:
0, 0  acc:  9916 / 14450 =  68.623
0, 1  acc:  5396 /  6656 =  81.070
1, 0  acc: 131658 / 133059 =  98.947
1, 1  acc:  8106 /  8605 =  94.201
--------------------------------------
Average acc: 155076 / 162770 =  95.273
Robust  acc:  9916 / 14450 =  68.623
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8154 /  8535 =  95.536
0, 1  acc:  8149 /  8276 =  98.465
1, 0  acc:  2403 /  2874 =  83.612
1, 1  acc:   105 /   182 =  57.692
------------------------------------
Average acc: 18811 / 19867 =  94.685
Robust  acc:   105 /   182 =  57.692
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 95.161
Robust Acc: 53.333 | Best Acc: 98.567
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  9441 /  9767 =  96.662
0, 1  acc:  7427 /  7535 =  98.567
1, 0  acc:  2032 /  2480 =  81.935
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18996 / 19962 =  95.161
Robust  acc:    96 /   180 =  53.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9441 /  9767 =  96.662
0, 1  acc:  7427 /  7535 =  98.567
1, 0  acc:  2032 /  2480 =  81.935
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18996 / 19962 =  95.161
Robust  acc:    96 /   180 =  53.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9441 /  9767 =  96.662
0, 1  acc:  7427 /  7535 =  98.567
1, 0  acc:  2032 /  2480 =  81.935
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18996 / 19962 =  95.161
Robust  acc:    96 /   180 =  53.333
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.022 | Val Loss: 0.002 | Val Acc: 91.811
Training:
Accuracies by groups:
0, 0  acc:  9625 / 14438 =  66.664
0, 1  acc:  5231 /  6609 =  79.150
1, 0  acc: 131567 / 133027 =  98.902
1, 1  acc:  8244 /  8696 =  94.802
--------------------------------------
Average acc: 154667 / 162770 =  95.022
Robust  acc:  9625 / 14438 =  66.664
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7478 /  8535 =  87.616
0, 1  acc:  7846 /  8276 =  94.804
1, 0  acc:  2758 /  2874 =  95.964
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 18240 / 19867 =  91.811
Robust  acc:   158 /   182 =  86.813
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.365
Robust Acc: 81.667 | Best Acc: 95.242
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  8816 /  9767 =  90.263
0, 1  acc:  7113 /  7535 =  94.399
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18438 / 19962 =  92.365
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8816 /  9767 =  90.263
0, 1  acc:  7113 /  7535 =  94.399
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18438 / 19962 =  92.365
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8816 /  9767 =  90.263
0, 1  acc:  7113 /  7535 =  94.399
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18438 / 19962 =  92.365
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 94.847 | Val Loss: 0.005 | Val Acc: 71.848
Training:
Accuracies by groups:
0, 0  acc:  9360 / 14375 =  65.113
0, 1  acc:  5060 /  6589 =  76.795
1, 0  acc: 131888 / 133276 =  98.959
1, 1  acc:  8074 /  8530 =  94.654
--------------------------------------
Average acc: 154382 / 162770 =  94.847
Robust  acc:  9360 / 14375 =  65.113
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5289 /  8535 =  61.968
0, 1  acc:  5951 /  8276 =  71.907
1, 0  acc:  2857 /  2874 =  99.408
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 14274 / 19867 =  71.848
Robust  acc:  5289 /  8535 =  61.968
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.850
Robust Acc: 67.267 | Best Acc: 99.476
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  6570 /  9767 =  67.267
0, 1  acc:  5531 /  7535 =  73.404
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14742 / 19962 =  73.850
Robust  acc:  6570 /  9767 =  67.267
------------------------------------
Accuracies by groups:
0, 0  acc:  6570 /  9767 =  67.267
0, 1  acc:  5531 /  7535 =  73.404
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14742 / 19962 =  73.850
Robust  acc:  6570 /  9767 =  67.267
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6570 /  9767 =  67.267
0, 1  acc:  5531 /  7535 =  73.404
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14742 / 19962 =  73.850
Robust  acc:  6570 /  9767 =  67.267
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.647 | Val Loss: 0.003 | Val Acc: 89.294
Training:
Accuracies by groups:
0, 0  acc:  9214 / 14552 =  63.318
0, 1  acc:  5002 /  6605 =  75.731
1, 0  acc: 131660 / 132999 =  98.993
1, 1  acc:  8181 /  8614 =  94.973
--------------------------------------
Average acc: 154057 / 162770 =  94.647
Robust  acc:  9214 / 14552 =  63.318
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7201 /  8535 =  84.370
0, 1  acc:  7590 /  8276 =  91.711
1, 0  acc:  2786 /  2874 =  96.938
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17740 / 19867 =  89.294
Robust  acc:  7201 /  8535 =  84.370
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.402
Robust Acc: 88.062 | Best Acc: 95.806
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  8601 /  9767 =  88.062
0, 1  acc:  6909 /  7535 =  91.692
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 18046 / 19962 =  90.402
Robust  acc:  8601 /  9767 =  88.062
------------------------------------
Accuracies by groups:
0, 0  acc:  8601 /  9767 =  88.062
0, 1  acc:  6909 /  7535 =  91.692
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 18046 / 19962 =  90.402
Robust  acc:  8601 /  9767 =  88.062
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8601 /  9767 =  88.062
0, 1  acc:  6909 /  7535 =  91.692
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 18046 / 19962 =  90.402
Robust  acc:  8601 /  9767 =  88.062
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.594 | Val Loss: 0.004 | Val Acc: 82.574
Training:
Accuracies by groups:
0, 0  acc:  9157 / 14541 =  62.974
0, 1  acc:  4788 /  6520 =  73.436
1, 0  acc: 131739 / 133036 =  99.025
1, 1  acc:  8287 /  8673 =  95.549
--------------------------------------
Average acc: 153971 / 162770 =  94.594
Robust  acc:  9157 / 14541 =  62.974
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6509 /  8535 =  76.262
0, 1  acc:  6879 /  8276 =  83.120
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16405 / 19867 =  82.574
Robust  acc:  6509 /  8535 =  76.262
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.516
Robust Acc: 81.233 | Best Acc: 98.589
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  7934 /  9767 =  81.233
0, 1  acc:  6324 /  7535 =  83.928
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16871 / 19962 =  84.516
Robust  acc:  7934 /  9767 =  81.233
------------------------------------
Accuracies by groups:
0, 0  acc:  7934 /  9767 =  81.233
0, 1  acc:  6324 /  7535 =  83.928
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16871 / 19962 =  84.516
Robust  acc:  7934 /  9767 =  81.233
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7934 /  9767 =  81.233
0, 1  acc:  6324 /  7535 =  83.928
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16871 / 19962 =  84.516
Robust  acc:  7934 /  9767 =  81.233
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.437 | Val Loss: 0.006 | Val Acc: 67.006
Training:
Accuracies by groups:
0, 0  acc:  8887 / 14401 =  61.711
0, 1  acc:  4618 /  6481 =  71.254
1, 0  acc: 132124 / 133413 =  99.034
1, 1  acc:  8086 /  8475 =  95.410
--------------------------------------
Average acc: 153715 / 162770 =  94.437
Robust  acc:  8887 / 14401 =  61.711
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4918 /  8535 =  57.622
0, 1  acc:  5348 /  8276 =  64.621
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13312 / 19867 =  67.006
Robust  acc:  4918 /  8535 =  57.622
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.660
Robust Acc: 63.489 | Best Acc: 99.718
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  6201 /  9767 =  63.489
0, 1  acc:  4854 /  7535 =  64.419
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13706 / 19962 =  68.660
Robust  acc:  6201 /  9767 =  63.489
------------------------------------
Accuracies by groups:
0, 0  acc:  6201 /  9767 =  63.489
0, 1  acc:  4854 /  7535 =  64.419
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13706 / 19962 =  68.660
Robust  acc:  6201 /  9767 =  63.489
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6201 /  9767 =  63.489
0, 1  acc:  4854 /  7535 =  64.419
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13706 / 19962 =  68.660
Robust  acc:  6201 /  9767 =  63.489
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.509 | Val Loss: 0.005 | Val Acc: 74.244
Training:
Accuracies by groups:
0, 0  acc:  8929 / 14396 =  62.024
0, 1  acc:  4741 /  6621 =  71.605
1, 0  acc: 131880 / 133071 =  99.105
1, 1  acc:  8283 /  8682 =  95.404
--------------------------------------
Average acc: 153833 / 162770 =  94.509
Robust  acc:  8929 / 14396 =  62.024
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5613 /  8535 =  65.764
0, 1  acc:  6098 /  8276 =  73.683
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14750 / 19867 =  74.244
Robust  acc:  5613 /  8535 =  65.764
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.100
Robust Acc: 71.649 | Best Acc: 99.516
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  6998 /  9767 =  71.649
0, 1  acc:  5551 /  7535 =  73.670
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15191 / 19962 =  76.100
Robust  acc:  6998 /  9767 =  71.649
------------------------------------
Accuracies by groups:
0, 0  acc:  6998 /  9767 =  71.649
0, 1  acc:  5551 /  7535 =  73.670
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15191 / 19962 =  76.100
Robust  acc:  6998 /  9767 =  71.649
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6998 /  9767 =  71.649
0, 1  acc:  5551 /  7535 =  73.670
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15191 / 19962 =  76.100
Robust  acc:  6998 /  9767 =  71.649
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.337 | Val Loss: 0.005 | Val Acc: 71.380
Training:
Accuracies by groups:
0, 0  acc:  8937 / 14676 =  60.895
0, 1  acc:  4690 /  6612 =  70.932
1, 0  acc: 131766 / 132939 =  99.118
1, 1  acc:  8160 /  8543 =  95.517
--------------------------------------
Average acc: 153553 / 162770 =  94.337
Robust  acc:  8937 / 14676 =  60.895
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5456 /  8535 =  63.925
0, 1  acc:  5683 /  8276 =  68.668
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14181 / 19867 =  71.380
Robust  acc:  5456 /  8535 =  63.925
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.723
Robust Acc: 68.109 | Best Acc: 99.516
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  6740 /  9767 =  69.008
0, 1  acc:  5132 /  7535 =  68.109
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14517 / 19962 =  72.723
Robust  acc:  5132 /  7535 =  68.109
------------------------------------
Accuracies by groups:
0, 0  acc:  6740 /  9767 =  69.008
0, 1  acc:  5132 /  7535 =  68.109
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14517 / 19962 =  72.723
Robust  acc:  5132 /  7535 =  68.109
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6740 /  9767 =  69.008
0, 1  acc:  5132 /  7535 =  68.109
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14517 / 19962 =  72.723
Robust  acc:  5132 /  7535 =  68.109
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.281 | Val Loss: 0.004 | Val Acc: 85.473
Training:
Accuracies by groups:
0, 0  acc:  8791 / 14580 =  60.295
0, 1  acc:  4517 /  6637 =  68.058
1, 0  acc: 131842 / 132909 =  99.197
1, 1  acc:  8311 /  8644 =  96.148
--------------------------------------
Average acc: 153461 / 162770 =  94.281
Robust  acc:  8791 / 14580 =  60.295
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6605 /  8535 =  77.387
0, 1  acc:  7379 /  8276 =  89.161
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16981 / 19867 =  85.473
Robust  acc:  6605 /  8535 =  77.387
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.665
Robust Acc: 81.417 | Best Acc: 98.226
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  7952 /  9767 =  81.417
0, 1  acc:  6747 /  7535 =  89.542
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17300 / 19962 =  86.665
Robust  acc:  7952 /  9767 =  81.417
------------------------------------
Accuracies by groups:
0, 0  acc:  7952 /  9767 =  81.417
0, 1  acc:  6747 /  7535 =  89.542
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17300 / 19962 =  86.665
Robust  acc:  7952 /  9767 =  81.417
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7952 /  9767 =  81.417
0, 1  acc:  6747 /  7535 =  89.542
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17300 / 19962 =  86.665
Robust  acc:  7952 /  9767 =  81.417
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.186 | Val Loss: 0.005 | Val Acc: 74.123
Training:
Accuracies by groups:
0, 0  acc:  8646 / 14534 =  59.488
0, 1  acc:  4368 /  6612 =  66.062
1, 0  acc: 131946 / 132986 =  99.218
1, 1  acc:  8346 /  8638 =  96.620
--------------------------------------
Average acc: 153306 / 162770 =  94.186
Robust  acc:  8646 / 14534 =  59.488
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5462 /  8535 =  63.995
0, 1  acc:  6226 /  8276 =  75.230
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14726 / 19867 =  74.123
Robust  acc:  5462 /  8535 =  63.995
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.919
Robust Acc: 69.612 | Best Acc: 99.355
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  6799 /  9767 =  69.612
0, 1  acc:  5717 /  7535 =  75.873
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15155 / 19962 =  75.919
Robust  acc:  6799 /  9767 =  69.612
------------------------------------
Accuracies by groups:
0, 0  acc:  6799 /  9767 =  69.612
0, 1  acc:  5717 /  7535 =  75.873
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15155 / 19962 =  75.919
Robust  acc:  6799 /  9767 =  69.612
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6799 /  9767 =  69.612
0, 1  acc:  5717 /  7535 =  75.873
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15155 / 19962 =  75.919
Robust  acc:  6799 /  9767 =  69.612
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.193 | Val Loss: 0.004 | Val Acc: 83.244
Training:
Accuracies by groups:
0, 0  acc:  8387 / 14357 =  58.417
0, 1  acc:  4390 /  6567 =  66.849
1, 0  acc: 132156 / 133172 =  99.237
1, 1  acc:  8385 /  8674 =  96.668
--------------------------------------
Average acc: 153318 / 162770 =  94.193
Robust  acc:  8387 / 14357 =  58.417
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6562 /  8535 =  76.883
0, 1  acc:  6969 /  8276 =  84.207
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16538 / 19867 =  83.244
Robust  acc:  6562 /  8535 =  76.883
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.681
Robust Acc: 81.417 | Best Acc: 97.742
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  7952 /  9767 =  81.417
0, 1  acc:  6358 /  7535 =  84.380
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16904 / 19962 =  84.681
Robust  acc:  7952 /  9767 =  81.417
------------------------------------
Accuracies by groups:
0, 0  acc:  7952 /  9767 =  81.417
0, 1  acc:  6358 /  7535 =  84.380
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16904 / 19962 =  84.681
Robust  acc:  7952 /  9767 =  81.417
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7952 /  9767 =  81.417
0, 1  acc:  6358 /  7535 =  84.380
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16904 / 19962 =  84.681
Robust  acc:  7952 /  9767 =  81.417
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.049 | Val Loss: 0.005 | Val Acc: 79.720
Training:
Accuracies by groups:
0, 0  acc:  8402 / 14623 =  57.457
0, 1  acc:  4339 /  6592 =  65.822
1, 0  acc: 132060 / 132969 =  99.316
1, 1  acc:  8282 /  8586 =  96.459
--------------------------------------
Average acc: 153083 / 162770 =  94.049
Robust  acc:  8402 / 14623 =  57.457
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6030 /  8535 =  70.650
0, 1  acc:  6793 /  8276 =  82.081
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 15838 / 19867 =  79.720
Robust  acc:  6030 /  8535 =  70.650
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.289
Robust Acc: 75.898 | Best Acc: 98.710
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7413 /  9767 =  75.898
0, 1  acc:  6197 /  7535 =  82.243
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16227 / 19962 =  81.289
Robust  acc:  7413 /  9767 =  75.898
------------------------------------
Accuracies by groups:
0, 0  acc:  7413 /  9767 =  75.898
0, 1  acc:  6197 /  7535 =  82.243
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16227 / 19962 =  81.289
Robust  acc:  7413 /  9767 =  75.898
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7413 /  9767 =  75.898
0, 1  acc:  6197 /  7535 =  82.243
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16227 / 19962 =  81.289
Robust  acc:  7413 /  9767 =  75.898
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 94.151 | Val Loss: 0.005 | Val Acc: 70.207
Training:
Accuracies by groups:
0, 0  acc:  8168 / 14317 =  57.051
0, 1  acc:  4340 /  6483 =  66.944
1, 0  acc: 132400 / 133336 =  99.298
1, 1  acc:  8342 /  8634 =  96.618
--------------------------------------
Average acc: 153250 / 162770 =  94.151
Robust  acc:  8168 / 14317 =  57.051
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5102 /  8535 =  59.777
0, 1  acc:  5806 /  8276 =  70.155
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13948 / 19867 =  70.207
Robust  acc:  5102 /  8535 =  59.777
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 71.546
Robust Acc: 64.851 | Best Acc: 99.556
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  6334 /  9767 =  64.851
0, 1  acc:  5302 /  7535 =  70.365
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14282 / 19962 =  71.546
Robust  acc:  6334 /  9767 =  64.851
------------------------------------
Accuracies by groups:
0, 0  acc:  6334 /  9767 =  64.851
0, 1  acc:  5302 /  7535 =  70.365
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14282 / 19962 =  71.546
Robust  acc:  6334 /  9767 =  64.851
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6334 /  9767 =  64.851
0, 1  acc:  5302 /  7535 =  70.365
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14282 / 19962 =  71.546
Robust  acc:  6334 /  9767 =  64.851
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.989 | Val Loss: 0.004 | Val Acc: 81.577
Training:
Accuracies by groups:
0, 0  acc:  8113 / 14353 =  56.525
0, 1  acc:  4241 /  6587 =  64.384
1, 0  acc: 132149 / 133027 =  99.340
1, 1  acc:  8483 /  8803 =  96.365
--------------------------------------
Average acc: 152986 / 162770 =  93.989
Robust  acc:  8113 / 14353 =  56.525
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6205 /  8535 =  72.701
0, 1  acc:  6979 /  8276 =  84.328
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16207 / 19867 =  81.577
Robust  acc:  6205 /  8535 =  72.701
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.358
Robust Acc: 77.915 | Best Acc: 98.589
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  7610 /  9767 =  77.915
0, 1  acc:  6421 /  7535 =  85.216
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16640 / 19962 =  83.358
Robust  acc:  7610 /  9767 =  77.915
------------------------------------
Accuracies by groups:
0, 0  acc:  7610 /  9767 =  77.915
0, 1  acc:  6421 /  7535 =  85.216
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16640 / 19962 =  83.358
Robust  acc:  7610 /  9767 =  77.915
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7610 /  9767 =  77.915
0, 1  acc:  6421 /  7535 =  85.216
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16640 / 19962 =  83.358
Robust  acc:  7610 /  9767 =  77.915
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 94.101 | Val Loss: 0.006 | Val Acc: 65.430
Training:
Accuracies by groups:
0, 0  acc:  8478 / 14696 =  57.689
0, 1  acc:  4231 /  6488 =  65.213
1, 0  acc: 132139 / 133002 =  99.351
1, 1  acc:  8320 /  8584 =  96.925
--------------------------------------
Average acc: 153168 / 162770 =  94.101
Robust  acc:  8478 / 14696 =  57.689
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4759 /  8535 =  55.759
0, 1  acc:  5193 /  8276 =  62.748
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12999 / 19867 =  65.430
Robust  acc:  4759 /  8535 =  55.759
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 66.932
Robust Acc: 61.042 | Best Acc: 99.758
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  5962 /  9767 =  61.042
0, 1  acc:  4747 /  7535 =  62.999
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13361 / 19962 =  66.932
Robust  acc:  5962 /  9767 =  61.042
------------------------------------
Accuracies by groups:
0, 0  acc:  5962 /  9767 =  61.042
0, 1  acc:  4747 /  7535 =  62.999
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13361 / 19962 =  66.932
Robust  acc:  5962 /  9767 =  61.042
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5962 /  9767 =  61.042
0, 1  acc:  4747 /  7535 =  62.999
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13361 / 19962 =  66.932
Robust  acc:  5962 /  9767 =  61.042
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.043 | Val Loss: 0.004 | Val Acc: 82.529
Training:
Accuracies by groups:
0, 0  acc:  8288 / 14548 =  56.970
0, 1  acc:  4255 /  6495 =  65.512
1, 0  acc: 132278 / 133170 =  99.330
1, 1  acc:  8253 /  8557 =  96.447
--------------------------------------
Average acc: 153074 / 162770 =  94.043
Robust  acc:  8288 / 14548 =  56.970
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6570 /  8535 =  76.977
0, 1  acc:  6821 /  8276 =  82.419
1, 0  acc:  2831 /  2874 =  98.504
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16396 / 19867 =  82.529
Robust  acc:  6570 /  8535 =  76.977
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.215
Robust Acc: 81.089 | Best Acc: 97.863
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7920 /  9767 =  81.089
0, 1  acc:  6299 /  7535 =  83.597
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16811 / 19962 =  84.215
Robust  acc:  7920 /  9767 =  81.089
------------------------------------
Accuracies by groups:
0, 0  acc:  7920 /  9767 =  81.089
0, 1  acc:  6299 /  7535 =  83.597
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16811 / 19962 =  84.215
Robust  acc:  7920 /  9767 =  81.089
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7920 /  9767 =  81.089
0, 1  acc:  6299 /  7535 =  83.597
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16811 / 19962 =  84.215
Robust  acc:  7920 /  9767 =  81.089
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.969 | Val Loss: 0.006 | Val Acc: 66.920
Training:
Accuracies by groups:
0, 0  acc:  8329 / 14676 =  56.753
0, 1  acc:  4220 /  6461 =  65.315
1, 0  acc: 132135 / 133037 =  99.322
1, 1  acc:  8270 /  8596 =  96.208
--------------------------------------
Average acc: 152954 / 162770 =  93.969
Robust  acc:  8329 / 14676 =  56.753
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4787 /  8535 =  56.087
0, 1  acc:  5464 /  8276 =  66.022
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13295 / 19867 =  66.920
Robust  acc:  4787 /  8535 =  56.087
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.410
Robust Acc: 61.861 | Best Acc: 99.637
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  6042 /  9767 =  61.861
0, 1  acc:  4966 /  7535 =  65.906
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13656 / 19962 =  68.410
Robust  acc:  6042 /  9767 =  61.861
------------------------------------
Accuracies by groups:
0, 0  acc:  6042 /  9767 =  61.861
0, 1  acc:  4966 /  7535 =  65.906
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13656 / 19962 =  68.410
Robust  acc:  6042 /  9767 =  61.861
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6042 /  9767 =  61.861
0, 1  acc:  4966 /  7535 =  65.906
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13656 / 19962 =  68.410
Robust  acc:  6042 /  9767 =  61.861
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.129 | Val Loss: 0.007 | Val Acc: 62.370
Training:
Accuracies by groups:
0, 0  acc:  8321 / 14454 =  57.569
0, 1  acc:  4439 /  6689 =  66.363
1, 0  acc: 132249 / 133090 =  99.368
1, 1  acc:  8205 /  8537 =  96.111
--------------------------------------
Average acc: 153214 / 162770 =  94.129
Robust  acc:  8321 / 14454 =  57.569
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4252 /  8535 =  49.818
0, 1  acc:  5091 /  8276 =  61.515
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12391 / 19867 =  62.370
Robust  acc:  4252 /  8535 =  49.818
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 63.881
Robust Acc: 55.524 | Best Acc: 99.677
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  5423 /  9767 =  55.524
0, 1  acc:  4680 /  7535 =  62.110
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12752 / 19962 =  63.881
Robust  acc:  5423 /  9767 =  55.524
------------------------------------
Accuracies by groups:
0, 0  acc:  5423 /  9767 =  55.524
0, 1  acc:  4680 /  7535 =  62.110
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12752 / 19962 =  63.881
Robust  acc:  5423 /  9767 =  55.524
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5423 /  9767 =  55.524
0, 1  acc:  4680 /  7535 =  62.110
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12752 / 19962 =  63.881
Robust  acc:  5423 /  9767 =  55.524
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.139 | Val Loss: 0.004 | Val Acc: 82.025
Training:
Accuracies by groups:
0, 0  acc:  8440 / 14541 =  58.043
0, 1  acc:  4421 /  6666 =  66.322
1, 0  acc: 132027 / 132942 =  99.312
1, 1  acc:  8342 /  8621 =  96.764
--------------------------------------
Average acc: 153230 / 162770 =  94.139
Robust  acc:  8440 / 14541 =  58.043
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6563 /  8535 =  76.895
0, 1  acc:  6750 /  8276 =  81.561
1, 0  acc:  2811 /  2874 =  97.808
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16296 / 19867 =  82.025
Robust  acc:  6563 /  8535 =  76.895
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.599
Robust Acc: 81.478 | Best Acc: 97.218
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  7958 /  9767 =  81.478
0, 1  acc:  6155 /  7535 =  81.685
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16688 / 19962 =  83.599
Robust  acc:  7958 /  9767 =  81.478
------------------------------------
Accuracies by groups:
0, 0  acc:  7958 /  9767 =  81.478
0, 1  acc:  6155 /  7535 =  81.685
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16688 / 19962 =  83.599
Robust  acc:  7958 /  9767 =  81.478
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7958 /  9767 =  81.478
0, 1  acc:  6155 /  7535 =  81.685
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16688 / 19962 =  83.599
Robust  acc:  7958 /  9767 =  81.478
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.242 | Val Loss: 0.004 | Val Acc: 86.299
Training:
Accuracies by groups:
0, 0  acc:  8550 / 14569 =  58.686
0, 1  acc:  4364 /  6456 =  67.596
1, 0  acc: 132169 / 133111 =  99.292
1, 1  acc:  8314 /  8634 =  96.294
--------------------------------------
Average acc: 153397 / 162770 =  94.242
Robust  acc:  8550 / 14569 =  58.686
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6968 /  8535 =  81.640
0, 1  acc:  7214 /  8276 =  87.168
1, 0  acc:  2793 /  2874 =  97.182
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17145 / 19867 =  86.299
Robust  acc:  6968 /  8535 =  81.640
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 87.561
Robust Acc: 85.748 | Best Acc: 96.411
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  8375 /  9767 =  85.748
0, 1  acc:  6550 /  7535 =  86.928
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17479 / 19962 =  87.561
Robust  acc:  8375 /  9767 =  85.748
------------------------------------
Accuracies by groups:
0, 0  acc:  8375 /  9767 =  85.748
0, 1  acc:  6550 /  7535 =  86.928
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17479 / 19962 =  87.561
Robust  acc:  8375 /  9767 =  85.748
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8375 /  9767 =  85.748
0, 1  acc:  6550 /  7535 =  86.928
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17479 / 19962 =  87.561
Robust  acc:  8375 /  9767 =  85.748
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.236 | Val Loss: 0.006 | Val Acc: 72.240
Training:
Accuracies by groups:
0, 0  acc:  8481 / 14376 =  58.994
0, 1  acc:  4463 /  6648 =  67.133
1, 0  acc: 132246 / 133210 =  99.276
1, 1  acc:  8198 /  8536 =  96.040
--------------------------------------
Average acc: 153388 / 162770 =  94.236
Robust  acc:  8481 / 14376 =  58.994
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5501 /  8535 =  64.452
0, 1  acc:  5811 /  8276 =  70.215
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14352 / 19867 =  72.240
Robust  acc:  5501 /  8535 =  64.452
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.780
Robust Acc: 69.540 | Best Acc: 99.274
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  6792 /  9767 =  69.540
0, 1  acc:  5297 /  7535 =  70.299
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14728 / 19962 =  73.780
Robust  acc:  6792 /  9767 =  69.540
------------------------------------
Accuracies by groups:
0, 0  acc:  6792 /  9767 =  69.540
0, 1  acc:  5297 /  7535 =  70.299
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14728 / 19962 =  73.780
Robust  acc:  6792 /  9767 =  69.540
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6792 /  9767 =  69.540
0, 1  acc:  5297 /  7535 =  70.299
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14728 / 19962 =  73.780
Robust  acc:  6792 /  9767 =  69.540
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.297 | Val Loss: 0.005 | Val Acc: 72.573
Training:
Accuracies by groups:
0, 0  acc:  8698 / 14526 =  59.879
0, 1  acc:  4590 /  6708 =  68.426
1, 0  acc: 132042 / 133033 =  99.255
1, 1  acc:  8157 /  8503 =  95.931
--------------------------------------
Average acc: 153487 / 162770 =  94.297
Robust  acc:  8698 / 14526 =  59.879
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5268 /  8535 =  61.722
0, 1  acc:  6106 /  8276 =  73.780
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14418 / 19867 =  72.573
Robust  acc:  5268 /  8535 =  61.722
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.930
Robust Acc: 67.534 | Best Acc: 99.476
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  6596 /  9767 =  67.534
0, 1  acc:  5521 /  7535 =  73.271
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14758 / 19962 =  73.930
Robust  acc:  6596 /  9767 =  67.534
------------------------------------
Accuracies by groups:
0, 0  acc:  6596 /  9767 =  67.534
0, 1  acc:  5521 /  7535 =  73.271
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14758 / 19962 =  73.930
Robust  acc:  6596 /  9767 =  67.534
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6596 /  9767 =  67.534
0, 1  acc:  5521 /  7535 =  73.271
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14758 / 19962 =  73.930
Robust  acc:  6596 /  9767 =  67.534
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.314 | Val Loss: 0.004 | Val Acc: 82.010
Training:
Accuracies by groups:
0, 0  acc:  8417 / 14333 =  58.725
0, 1  acc:  4515 /  6545 =  68.984
1, 0  acc: 132226 / 133199 =  99.270
1, 1  acc:  8357 /  8693 =  96.135
--------------------------------------
Average acc: 153515 / 162770 =  94.314
Robust  acc:  8417 / 14333 =  58.725
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6337 /  8535 =  74.247
0, 1  acc:  6936 /  8276 =  83.809
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16293 / 19867 =  82.010
Robust  acc:  6337 /  8535 =  74.247
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.744
Robust Acc: 79.042 | Best Acc: 98.347
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  7720 /  9767 =  79.042
0, 1  acc:  6389 /  7535 =  84.791
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16717 / 19962 =  83.744
Robust  acc:  7720 /  9767 =  79.042
------------------------------------
Accuracies by groups:
0, 0  acc:  7720 /  9767 =  79.042
0, 1  acc:  6389 /  7535 =  84.791
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16717 / 19962 =  83.744
Robust  acc:  7720 /  9767 =  79.042
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7720 /  9767 =  79.042
0, 1  acc:  6389 /  7535 =  84.791
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16717 / 19962 =  83.744
Robust  acc:  7720 /  9767 =  79.042
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.305 | Val Loss: 0.004 | Val Acc: 80.274
Training:
Accuracies by groups:
0, 0  acc:  8430 / 14353 =  58.733
0, 1  acc:  4537 /  6572 =  69.035
1, 0  acc: 132221 / 133218 =  99.252
1, 1  acc:  8313 /  8627 =  96.360
--------------------------------------
Average acc: 153501 / 162770 =  94.305
Robust  acc:  8430 / 14353 =  58.733
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6150 /  8535 =  72.056
0, 1  acc:  6793 /  8276 =  82.081
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 15948 / 19867 =  80.274
Robust  acc:  6150 /  8535 =  72.056
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.901
Robust Acc: 76.799 | Best Acc: 98.427
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  7501 /  9767 =  76.799
0, 1  acc:  6246 /  7535 =  82.893
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 16349 / 19962 =  81.901
Robust  acc:  7501 /  9767 =  76.799
------------------------------------
Accuracies by groups:
0, 0  acc:  7501 /  9767 =  76.799
0, 1  acc:  6246 /  7535 =  82.893
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 16349 / 19962 =  81.901
Robust  acc:  7501 /  9767 =  76.799
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7501 /  9767 =  76.799
0, 1  acc:  6246 /  7535 =  82.893
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 16349 / 19962 =  81.901
Robust  acc:  7501 /  9767 =  76.799
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.237 | Val Loss: 0.008 | Val Acc: 53.662
Training:
Accuracies by groups:
0, 0  acc:  8501 / 14444 =  58.855
0, 1  acc:  4407 /  6553 =  67.252
1, 0  acc: 132204 / 133148 =  99.291
1, 1  acc:  8278 /  8625 =  95.977
--------------------------------------
Average acc: 153390 / 162770 =  94.237
Robust  acc:  8501 / 14444 =  58.855
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3596 /  8535 =  42.132
0, 1  acc:  4013 /  8276 =  48.490
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 10661 / 19867 =  53.662
Robust  acc:  3596 /  8535 =  42.132
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 54.929
Robust Acc: 47.108 | Best Acc: 99.839
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  4601 /  9767 =  47.108
0, 1  acc:  3710 /  7535 =  49.237
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10965 / 19962 =  54.929
Robust  acc:  4601 /  9767 =  47.108
------------------------------------
Accuracies by groups:
0, 0  acc:  4601 /  9767 =  47.108
0, 1  acc:  3710 /  7535 =  49.237
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10965 / 19962 =  54.929
Robust  acc:  4601 /  9767 =  47.108
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4601 /  9767 =  47.108
0, 1  acc:  3710 /  7535 =  49.237
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10965 / 19962 =  54.929
Robust  acc:  4601 /  9767 =  47.108
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.277 | Val Loss: 0.004 | Val Acc: 86.923
Training:
Accuracies by groups:
0, 0  acc:  8551 / 14540 =  58.810
0, 1  acc:  4395 /  6421 =  68.447
1, 0  acc: 132219 / 133183 =  99.276
1, 1  acc:  8290 /  8626 =  96.105
--------------------------------------
Average acc: 153455 / 162770 =  94.277
Robust  acc:  8551 / 14540 =  58.810
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6951 /  8535 =  81.441
0, 1  acc:  7352 /  8276 =  88.835
1, 0  acc:  2801 /  2874 =  97.460
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17269 / 19867 =  86.923
Robust  acc:  6951 /  8535 =  81.441
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 88.107
Robust Acc: 85.502 | Best Acc: 96.573
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8351 /  9767 =  85.502
0, 1  acc:  6683 /  7535 =  88.693
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17588 / 19962 =  88.107
Robust  acc:  8351 /  9767 =  85.502
------------------------------------
Accuracies by groups:
0, 0  acc:  8351 /  9767 =  85.502
0, 1  acc:  6683 /  7535 =  88.693
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17588 / 19962 =  88.107
Robust  acc:  8351 /  9767 =  85.502
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8351 /  9767 =  85.502
0, 1  acc:  6683 /  7535 =  88.693
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17588 / 19962 =  88.107
Robust  acc:  8351 /  9767 =  85.502
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.342 | Val Loss: 0.005 | Val Acc: 80.903
Training:
Accuracies by groups:
0, 0  acc:  8472 / 14323 =  59.150
0, 1  acc:  4540 /  6611 =  68.673
1, 0  acc: 132295 / 133244 =  99.288
1, 1  acc:  8253 /  8592 =  96.054
--------------------------------------
Average acc: 153560 / 162770 =  94.342
Robust  acc:  8472 / 14323 =  59.150
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6253 /  8535 =  73.263
0, 1  acc:  6803 /  8276 =  82.202
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16073 / 19867 =  80.903
Robust  acc:  6253 /  8535 =  73.263
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 82.427
Robust Acc: 78.049 | Best Acc: 98.669
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  7623 /  9767 =  78.049
0, 1  acc:  6219 /  7535 =  82.535
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16454 / 19962 =  82.427
Robust  acc:  7623 /  9767 =  78.049
------------------------------------
Accuracies by groups:
0, 0  acc:  7623 /  9767 =  78.049
0, 1  acc:  6219 /  7535 =  82.535
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16454 / 19962 =  82.427
Robust  acc:  7623 /  9767 =  78.049
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7623 /  9767 =  78.049
0, 1  acc:  6219 /  7535 =  82.535
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16454 / 19962 =  82.427
Robust  acc:  7623 /  9767 =  78.049
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.206 | Val Loss: 0.006 | Val Acc: 69.688
Training:
Accuracies by groups:
0, 0  acc:  8684 / 14698 =  59.083
0, 1  acc:  4513 /  6610 =  68.275
1, 0  acc: 131883 / 132853 =  99.270
1, 1  acc:  8259 /  8609 =  95.934
--------------------------------------
Average acc: 153339 / 162770 =  94.206
Robust  acc:  8684 / 14698 =  59.083
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4987 /  8535 =  58.430
0, 1  acc:  5814 /  8276 =  70.251
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13845 / 19867 =  69.688
Robust  acc:  4987 /  8535 =  58.430
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 71.225
Robust Acc: 64.349 | Best Acc: 99.677
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  6285 /  9767 =  64.349
0, 1  acc:  5286 /  7535 =  70.153
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14218 / 19962 =  71.225
Robust  acc:  6285 /  9767 =  64.349
------------------------------------
Accuracies by groups:
0, 0  acc:  6285 /  9767 =  64.349
0, 1  acc:  5286 /  7535 =  70.153
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14218 / 19962 =  71.225
Robust  acc:  6285 /  9767 =  64.349
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6285 /  9767 =  64.349
0, 1  acc:  5286 /  7535 =  70.153
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14218 / 19962 =  71.225
Robust  acc:  6285 /  9767 =  64.349
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.453 | Val Loss: 0.005 | Val Acc: 75.552
Training:
Accuracies by groups:
0, 0  acc:  8604 / 14310 =  60.126
0, 1  acc:  4620 /  6633 =  69.652
1, 0  acc: 132254 / 133220 =  99.275
1, 1  acc:  8263 /  8607 =  96.003
--------------------------------------
Average acc: 153741 / 162770 =  94.453
Robust  acc:  8604 / 14310 =  60.126
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5485 /  8535 =  64.265
0, 1  acc:  6487 /  8276 =  78.383
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15010 / 19867 =  75.552
Robust  acc:  5485 /  8535 =  64.265
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.612
Robust Acc: 70.728 | Best Acc: 99.516
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  6908 /  9767 =  70.728
0, 1  acc:  5944 /  7535 =  78.885
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15493 / 19962 =  77.612
Robust  acc:  6908 /  9767 =  70.728
------------------------------------
Accuracies by groups:
0, 0  acc:  6908 /  9767 =  70.728
0, 1  acc:  5944 /  7535 =  78.885
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15493 / 19962 =  77.612
Robust  acc:  6908 /  9767 =  70.728
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6908 /  9767 =  70.728
0, 1  acc:  5944 /  7535 =  78.885
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15493 / 19962 =  77.612
Robust  acc:  6908 /  9767 =  70.728
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.449 | Val Loss: 0.004 | Val Acc: 86.400
Training:
Accuracies by groups:
0, 0  acc:  8678 / 14362 =  60.423
0, 1  acc:  4492 /  6518 =  68.917
1, 0  acc: 132309 / 133291 =  99.263
1, 1  acc:  8255 /  8599 =  96.000
--------------------------------------
Average acc: 153734 / 162770 =  94.449
Robust  acc:  8678 / 14362 =  60.423
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6875 /  8535 =  80.551
0, 1  acc:  7322 /  8276 =  88.473
1, 0  acc:  2804 /  2874 =  97.564
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 17165 / 19867 =  86.400
Robust  acc:  6875 /  8535 =  80.551
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 88.112
Robust Acc: 84.724 | Best Acc: 97.097
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  8275 /  9767 =  84.724
0, 1  acc:  6741 /  7535 =  89.463
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17589 / 19962 =  88.112
Robust  acc:  8275 /  9767 =  84.724
------------------------------------
Accuracies by groups:
0, 0  acc:  8275 /  9767 =  84.724
0, 1  acc:  6741 /  7535 =  89.463
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17589 / 19962 =  88.112
Robust  acc:  8275 /  9767 =  84.724
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8275 /  9767 =  84.724
0, 1  acc:  6741 /  7535 =  89.463
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17589 / 19962 =  88.112
Robust  acc:  8275 /  9767 =  84.724
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.355 | Val Loss: 0.007 | Val Acc: 60.955
Training:
Accuracies by groups:
0, 0  acc:  8498 / 14329 =  59.306
0, 1  acc:  4564 /  6572 =  69.446
1, 0  acc: 132049 / 133057 =  99.242
1, 1  acc:  8471 /  8812 =  96.130
--------------------------------------
Average acc: 153582 / 162770 =  94.355
Robust  acc:  8498 / 14329 =  59.306
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4535 /  8535 =  53.134
0, 1  acc:  4528 /  8276 =  54.712
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12110 / 19867 =  60.955
Robust  acc:  4535 /  8535 =  53.134
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 62.258
Robust Acc: 54.426 | Best Acc: 99.556
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  5680 /  9767 =  58.155
0, 1  acc:  4101 /  7535 =  54.426
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12428 / 19962 =  62.258
Robust  acc:  4101 /  7535 =  54.426
------------------------------------
Accuracies by groups:
0, 0  acc:  5680 /  9767 =  58.155
0, 1  acc:  4101 /  7535 =  54.426
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12428 / 19962 =  62.258
Robust  acc:  4101 /  7535 =  54.426
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5680 /  9767 =  58.155
0, 1  acc:  4101 /  7535 =  54.426
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12428 / 19962 =  62.258
Robust  acc:  4101 /  7535 =  54.426
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.417 | Val Loss: 0.006 | Val Acc: 65.470
Training:
Accuracies by groups:
0, 0  acc:  8715 / 14482 =  60.178
0, 1  acc:  4443 /  6451 =  68.873
1, 0  acc: 132338 / 133319 =  99.264
1, 1  acc:  8187 /  8518 =  96.114
--------------------------------------
Average acc: 153683 / 162770 =  94.417
Robust  acc:  8715 / 14482 =  60.178
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4641 /  8535 =  54.376
0, 1  acc:  5342 /  8276 =  64.548
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 13007 / 19867 =  65.470
Robust  acc:  4641 /  8535 =  54.376
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 66.251
Robust Acc: 58.350 | Best Acc: 98.911
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  5699 /  9767 =  58.350
0, 1  acc:  4906 /  7535 =  65.109
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 13225 / 19962 =  66.251
Robust  acc:  5699 /  9767 =  58.350
------------------------------------
Accuracies by groups:
0, 0  acc:  5699 /  9767 =  58.350
0, 1  acc:  4906 /  7535 =  65.109
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 13225 / 19962 =  66.251
Robust  acc:  5699 /  9767 =  58.350
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5699 /  9767 =  58.350
0, 1  acc:  4906 /  7535 =  65.109
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 13225 / 19962 =  66.251
Robust  acc:  5699 /  9767 =  58.350
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed12.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed12.pt
