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: 15
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=15-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.846 | Val Loss: 0.004 | Val Acc: 78.532
Training:
Accuracies by groups:
0, 0  acc:  5766 / 14429 =  39.961
0, 1  acc:  2838 /  6472 =  43.850
1, 0  acc: 131129 / 133305 =  98.368
1, 1  acc:  8137 /  8564 =  95.014
--------------------------------------
Average acc: 147870 / 162770 =  90.846
Robust  acc:  5766 / 14429 =  39.961
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6108 /  8535 =  71.564
0, 1  acc:  6476 /  8276 =  78.250
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 15602 / 19867 =  78.532
Robust  acc:  6108 /  8535 =  71.564
------------------------------------
New max robust acc: 71.56414762741652
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed15.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed15.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 80.553
Robust Acc: 77.004 | Best Acc: 98.871
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7521 /  9767 =  77.004
0, 1  acc:  5936 /  7535 =  78.779
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16080 / 19962 =  80.553
Robust  acc:  7521 /  9767 =  77.004
------------------------------------
Accuracies by groups:
0, 0  acc:  7521 /  9767 =  77.004
0, 1  acc:  5936 /  7535 =  78.779
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16080 / 19962 =  80.553
Robust  acc:  7521 /  9767 =  77.004
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7521 /  9767 =  77.004
0, 1  acc:  5936 /  7535 =  78.779
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16080 / 19962 =  80.553
Robust  acc:  7521 /  9767 =  77.004
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.589 | Val Loss: 0.003 | Val Acc: 83.284
Training:
Accuracies by groups:
0, 0  acc:  9278 / 14514 =  63.924
0, 1  acc:  4808 /  6608 =  72.760
1, 0  acc: 131773 / 133034 =  99.052
1, 1  acc:  8104 /  8614 =  94.079
--------------------------------------
Average acc: 153963 / 162770 =  94.589
Robust  acc:  9278 / 14514 =  63.924
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6412 /  8535 =  75.126
0, 1  acc:  7116 /  8276 =  85.984
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16546 / 19867 =  83.284
Robust  acc:  6412 /  8535 =  75.126
------------------------------------
New max robust acc: 75.12595196250732
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed15.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed15.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.866
Robust Acc: 80.301 | Best Acc: 98.831
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7843 /  9767 =  80.301
0, 1  acc:  6479 /  7535 =  85.985
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16941 / 19962 =  84.866
Robust  acc:  7843 /  9767 =  80.301
------------------------------------
Accuracies by groups:
0, 0  acc:  7843 /  9767 =  80.301
0, 1  acc:  6479 /  7535 =  85.985
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16941 / 19962 =  84.866
Robust  acc:  7843 /  9767 =  80.301
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7843 /  9767 =  80.301
0, 1  acc:  6479 /  7535 =  85.985
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16941 / 19962 =  84.866
Robust  acc:  7843 /  9767 =  80.301
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.245 | Val Loss: 0.003 | Val Acc: 86.203
Training:
Accuracies by groups:
0, 0  acc:  9895 / 14619 =  67.686
0, 1  acc:  5287 /  6607 =  80.021
1, 0  acc: 131776 / 132990 =  99.087
1, 1  acc:  8073 /  8554 =  94.377
--------------------------------------
Average acc: 155031 / 162770 =  95.245
Robust  acc:  9895 / 14619 =  67.686
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6680 /  8535 =  78.266
0, 1  acc:  7437 /  8276 =  89.862
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17126 / 19867 =  86.203
Robust  acc:  6680 /  8535 =  78.266
------------------------------------
New max robust acc: 78.26596367896896
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed15.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed15.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.346
Robust Acc: 82.748 | Best Acc: 98.427
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8082 /  9767 =  82.748
0, 1  acc:  6749 /  7535 =  89.569
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17436 / 19962 =  87.346
Robust  acc:  8082 /  9767 =  82.748
------------------------------------
Accuracies by groups:
0, 0  acc:  8082 /  9767 =  82.748
0, 1  acc:  6749 /  7535 =  89.569
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17436 / 19962 =  87.346
Robust  acc:  8082 /  9767 =  82.748
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8082 /  9767 =  82.748
0, 1  acc:  6749 /  7535 =  89.569
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17436 / 19962 =  87.346
Robust  acc:  8082 /  9767 =  82.748
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.833 | Val Loss: 0.002 | Val Acc: 88.005
Training:
Accuracies by groups:
0, 0  acc: 10067 / 14456 =  69.639
0, 1  acc:  5538 /  6544 =  84.627
1, 0  acc: 132232 / 133215 =  99.262
1, 1  acc:  8151 /  8555 =  95.278
--------------------------------------
Average acc: 155988 / 162770 =  95.833
Robust  acc: 10067 / 14456 =  69.639
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6892 /  8535 =  80.750
0, 1  acc:  7590 /  8276 =  91.711
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17484 / 19867 =  88.005
Robust  acc:  6892 /  8535 =  80.750
------------------------------------
New max robust acc: 80.74985354422964
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed15.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed15.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.959
Robust Acc: 84.765 | Best Acc: 98.145
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8279 /  9767 =  84.765
0, 1  acc:  6887 /  7535 =  91.400
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17758 / 19962 =  88.959
Robust  acc:  8279 /  9767 =  84.765
------------------------------------
Accuracies by groups:
0, 0  acc:  8279 /  9767 =  84.765
0, 1  acc:  6887 /  7535 =  91.400
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17758 / 19962 =  88.959
Robust  acc:  8279 /  9767 =  84.765
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8279 /  9767 =  84.765
0, 1  acc:  6887 /  7535 =  91.400
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17758 / 19962 =  88.959
Robust  acc:  8279 /  9767 =  84.765
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.276 | Val Loss: 0.002 | Val Acc: 88.493
Training:
Accuracies by groups:
0, 0  acc: 10289 / 14360 =  71.650
0, 1  acc:  5511 /  6429 =  85.721
1, 0  acc: 132441 / 133232 =  99.406
1, 1  acc:  8468 /  8749 =  96.788
--------------------------------------
Average acc: 156709 / 162770 =  96.276
Robust  acc: 10289 / 14360 =  71.650
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6968 /  8535 =  81.640
0, 1  acc:  7615 /  8276 =  92.013
1, 0  acc:  2826 /  2874 =  98.330
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17581 / 19867 =  88.493
Robust  acc:  6968 /  8535 =  81.640
------------------------------------
New max robust acc: 81.64030462800234
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed15.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed15.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.164
Robust Acc: 85.082 | Best Acc: 97.823
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8310 /  9767 =  85.082
0, 1  acc:  6905 /  7535 =  91.639
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17799 / 19962 =  89.164
Robust  acc:  8310 /  9767 =  85.082
------------------------------------
Accuracies by groups:
0, 0  acc:  8310 /  9767 =  85.082
0, 1  acc:  6905 /  7535 =  91.639
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17799 / 19962 =  89.164
Robust  acc:  8310 /  9767 =  85.082
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8310 /  9767 =  85.082
0, 1  acc:  6905 /  7535 =  91.639
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17799 / 19962 =  89.164
Robust  acc:  8310 /  9767 =  85.082
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.877 | Val Loss: 0.002 | Val Acc: 89.057
Training:
Accuracies by groups:
0, 0  acc: 10755 / 14401 =  74.682
0, 1  acc:  5751 /  6521 =  88.192
1, 0  acc: 132678 / 133181 =  99.622
1, 1  acc:  8502 /  8667 =  98.096
--------------------------------------
Average acc: 157686 / 162770 =  96.877
Robust  acc: 10755 / 14401 =  74.682
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7018 /  8535 =  82.226
0, 1  acc:  7689 /  8276 =  92.907
1, 0  acc:  2817 /  2874 =  98.017
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17693 / 19867 =  89.057
Robust  acc:  7018 /  8535 =  82.226
------------------------------------
New max robust acc: 82.22612770943175
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed15.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed15.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.741
Robust Acc: 85.615 | Best Acc: 97.742
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8362 /  9767 =  85.615
0, 1  acc:  6971 /  7535 =  92.515
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17914 / 19962 =  89.741
Robust  acc:  8362 /  9767 =  85.615
------------------------------------
Accuracies by groups:
0, 0  acc:  8362 /  9767 =  85.615
0, 1  acc:  6971 /  7535 =  92.515
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17914 / 19962 =  89.741
Robust  acc:  8362 /  9767 =  85.615
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8362 /  9767 =  85.615
0, 1  acc:  6971 /  7535 =  92.515
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17914 / 19962 =  89.741
Robust  acc:  8362 /  9767 =  85.615
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.394 | Val Loss: 0.002 | Val Acc: 91.342
Training:
Accuracies by groups:
0, 0  acc: 10984 / 14176 =  77.483
0, 1  acc:  5914 /  6601 =  89.592
1, 0  acc: 133095 / 133360 =  99.801
1, 1  acc:  8535 /  8633 =  98.865
--------------------------------------
Average acc: 158528 / 162770 =  97.394
Robust  acc: 10984 / 14176 =  77.483
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7304 /  8535 =  85.577
0, 1  acc:  7887 /  8276 =  95.300
1, 0  acc:  2795 /  2874 =  97.251
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 18147 / 19867 =  91.342
Robust  acc:  7304 /  8535 =  85.577
------------------------------------
New max robust acc: 85.57703573520796
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed15.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed15.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.694
Robust Acc: 79.444 | Best Acc: 96.492
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8637 /  9767 =  88.430
0, 1  acc:  7131 /  7535 =  94.638
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18304 / 19962 =  91.694
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8637 /  9767 =  88.430
0, 1  acc:  7131 /  7535 =  94.638
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18304 / 19962 =  91.694
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8637 /  9767 =  88.430
0, 1  acc:  7131 /  7535 =  94.638
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18304 / 19962 =  91.694
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.817 | Val Loss: 0.002 | Val Acc: 91.951
Training:
Accuracies by groups:
0, 0  acc: 11697 / 14525 =  80.530
0, 1  acc:  6096 /  6635 =  91.876
1, 0  acc: 132764 / 132920 =  99.883
1, 1  acc:  8659 /  8690 =  99.643
--------------------------------------
Average acc: 159216 / 162770 =  97.817
Robust  acc: 11697 / 14525 =  80.530
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7387 /  8535 =  86.550
0, 1  acc:  7956 /  8276 =  96.133
1, 0  acc:  2772 /  2874 =  96.451
1, 1  acc:   153 /   182 =  84.066
------------------------------------
Average acc: 18268 / 19867 =  91.951
Robust  acc:   153 /   182 =  84.066
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.381
Robust Acc: 78.889 | Best Acc: 95.968
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8714 /  9767 =  89.219
0, 1  acc:  7205 /  7535 =  95.620
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18441 / 19962 =  92.381
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8714 /  9767 =  89.219
0, 1  acc:  7205 /  7535 =  95.620
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18441 / 19962 =  92.381
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8714 /  9767 =  89.219
0, 1  acc:  7205 /  7535 =  95.620
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18441 / 19962 =  92.381
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.248 | Val Loss: 0.001 | Val Acc: 93.190
Training:
Accuracies by groups:
0, 0  acc: 12197 / 14530 =  83.944
0, 1  acc:  6244 /  6633 =  94.135
1, 0  acc: 132906 / 133008 =  99.923
1, 1  acc:  8572 /  8599 =  99.686
--------------------------------------
Average acc: 159919 / 162770 =  98.248
Robust  acc: 12197 / 14530 =  83.944
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7622 /  8535 =  89.303
0, 1  acc:  8036 /  8276 =  97.100
1, 0  acc:  2715 /  2874 =  94.468
1, 1  acc:   141 /   182 =  77.473
------------------------------------
Average acc: 18514 / 19867 =  93.190
Robust  acc:   141 /   182 =  77.473
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.372
Robust Acc: 71.111 | Best Acc: 96.695
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8918 /  9767 =  91.307
0, 1  acc:  7286 /  7535 =  96.695
1, 0  acc:  2307 /  2480 =  93.024
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18639 / 19962 =  93.372
Robust  acc:   128 /   180 =  71.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8918 /  9767 =  91.307
0, 1  acc:  7286 /  7535 =  96.695
1, 0  acc:  2307 /  2480 =  93.024
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18639 / 19962 =  93.372
Robust  acc:   128 /   180 =  71.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8918 /  9767 =  91.307
0, 1  acc:  7286 /  7535 =  96.695
1, 0  acc:  2307 /  2480 =  93.024
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18639 / 19962 =  93.372
Robust  acc:   128 /   180 =  71.111
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.538 | Val Loss: 0.002 | Val Acc: 93.099
Training:
Accuracies by groups:
0, 0  acc: 12475 / 14441 =  86.386
0, 1  acc:  6172 /  6491 =  95.086
1, 0  acc: 133190 / 133268 =  99.941
1, 1  acc:  8553 /  8570 =  99.802
--------------------------------------
Average acc: 160390 / 162770 =  98.538
Robust  acc: 12475 / 14441 =  86.386
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7593 /  8535 =  88.963
0, 1  acc:  8026 /  8276 =  96.979
1, 0  acc:  2738 /  2874 =  95.268
1, 1  acc:   139 /   182 =  76.374
------------------------------------
Average acc: 18496 / 19867 =  93.099
Robust  acc:   139 /   182 =  76.374
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.247
Robust Acc: 76.111 | Best Acc: 96.244
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8890 /  9767 =  91.021
0, 1  acc:  7252 /  7535 =  96.244
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18614 / 19962 =  93.247
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8890 /  9767 =  91.021
0, 1  acc:  7252 /  7535 =  96.244
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18614 / 19962 =  93.247
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8890 /  9767 =  91.021
0, 1  acc:  7252 /  7535 =  96.244
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18614 / 19962 =  93.247
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.517 | Val Loss: 0.002 | Val Acc: 91.921
Training:
Accuracies by groups:
0, 0  acc: 12620 / 14484 =  87.131
0, 1  acc:  6057 /  6397 =  94.685
1, 0  acc: 133190 / 133346 =  99.883
1, 1  acc:  8489 /  8543 =  99.368
--------------------------------------
Average acc: 160356 / 162770 =  98.517
Robust  acc: 12620 / 14484 =  87.131
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7371 /  8535 =  86.362
0, 1  acc:  8003 /  8276 =  96.701
1, 0  acc:  2744 /  2874 =  95.477
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18262 / 19867 =  91.921
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.315
Robust Acc: 73.889 | Best Acc: 95.965
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8705 /  9767 =  89.127
0, 1  acc:  7231 /  7535 =  95.965
1, 0  acc:  2359 /  2480 =  95.121
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18428 / 19962 =  92.315
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8705 /  9767 =  89.127
0, 1  acc:  7231 /  7535 =  95.965
1, 0  acc:  2359 /  2480 =  95.121
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18428 / 19962 =  92.315
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8705 /  9767 =  89.127
0, 1  acc:  7231 /  7535 =  95.965
1, 0  acc:  2359 /  2480 =  95.121
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18428 / 19962 =  92.315
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.302 | Val Loss: 0.001 | Val Acc: 93.834
Training:
Accuracies by groups:
0, 0  acc: 12251 / 14266 =  85.876
0, 1  acc:  6286 /  6679 =  94.116
1, 0  acc: 132849 / 133118 =  99.798
1, 1  acc:  8620 /  8707 =  99.001
--------------------------------------
Average acc: 160006 / 162770 =  98.302
Robust  acc: 12251 / 14266 =  85.876
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7811 /  8535 =  91.517
0, 1  acc:  8073 /  8276 =  97.547
1, 0  acc:  2622 /  2874 =  91.232
1, 1  acc:   136 /   182 =  74.725
------------------------------------
Average acc: 18642 / 19867 =  93.834
Robust  acc:   136 /   182 =  74.725
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.154
Robust Acc: 63.889 | Best Acc: 97.332
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  9112 /  9767 =  93.294
0, 1  acc:  7334 /  7535 =  97.332
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18795 / 19962 =  94.154
Robust  acc:   115 /   180 =  63.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9112 /  9767 =  93.294
0, 1  acc:  7334 /  7535 =  97.332
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18795 / 19962 =  94.154
Robust  acc:   115 /   180 =  63.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9112 /  9767 =  93.294
0, 1  acc:  7334 /  7535 =  97.332
1, 0  acc:  2234 /  2480 =  90.081
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18795 / 19962 =  94.154
Robust  acc:   115 /   180 =  63.889
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.893 | Val Loss: 0.002 | Val Acc: 91.488
Training:
Accuracies by groups:
0, 0  acc: 12125 / 14519 =  83.511
0, 1  acc:  6122 /  6578 =  93.068
1, 0  acc: 132787 / 133223 =  99.673
1, 1  acc:  8306 /  8450 =  98.296
--------------------------------------
Average acc: 159340 / 162770 =  97.893
Robust  acc: 12125 / 14519 =  83.511
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7439 /  8535 =  87.159
0, 1  acc:  7851 /  8276 =  94.865
1, 0  acc:  2733 /  2874 =  95.094
1, 1  acc:   153 /   182 =  84.066
------------------------------------
Average acc: 18176 / 19867 =  91.488
Robust  acc:   153 /   182 =  84.066
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.030
Robust Acc: 80.556 | Best Acc: 94.413
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8775 /  9767 =  89.843
0, 1  acc:  7114 /  7535 =  94.413
1, 0  acc:  2337 /  2480 =  94.234
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18371 / 19962 =  92.030
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8775 /  9767 =  89.843
0, 1  acc:  7114 /  7535 =  94.413
1, 0  acc:  2337 /  2480 =  94.234
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18371 / 19962 =  92.030
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8775 /  9767 =  89.843
0, 1  acc:  7114 /  7535 =  94.413
1, 0  acc:  2337 /  2480 =  94.234
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18371 / 19962 =  92.030
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.372 | Val Loss: 0.005 | Val Acc: 74.953
Training:
Accuracies by groups:
0, 0  acc: 11559 / 14487 =  79.789
0, 1  acc:  5950 /  6508 =  91.426
1, 0  acc: 132578 / 133189 =  99.541
1, 1  acc:  8406 /  8586 =  97.904
--------------------------------------
Average acc: 158493 / 162770 =  97.372
Robust  acc: 11559 / 14487 =  79.789
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5278 /  8535 =  61.839
0, 1  acc:  6572 /  8276 =  79.410
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14891 / 19867 =  74.953
Robust  acc:  5278 /  8535 =  61.839
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.581
Robust Acc: 67.800 | Best Acc: 99.274
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  6622 /  9767 =  67.800
0, 1  acc:  6030 /  7535 =  80.027
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15287 / 19962 =  76.581
Robust  acc:  6622 /  9767 =  67.800
------------------------------------
Accuracies by groups:
0, 0  acc:  6622 /  9767 =  67.800
0, 1  acc:  6030 /  7535 =  80.027
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15287 / 19962 =  76.581
Robust  acc:  6622 /  9767 =  67.800
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6622 /  9767 =  67.800
0, 1  acc:  6030 /  7535 =  80.027
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15287 / 19962 =  76.581
Robust  acc:  6622 /  9767 =  67.800
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.949 | Val Loss: 0.002 | Val Acc: 92.228
Training:
Accuracies by groups:
0, 0  acc: 11049 / 14284 =  77.352
0, 1  acc:  5966 /  6650 =  89.714
1, 0  acc: 132456 / 133240 =  99.412
1, 1  acc:  8333 /  8596 =  96.940
--------------------------------------
Average acc: 157804 / 162770 =  96.949
Robust  acc: 11049 / 14284 =  77.352
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7555 /  8535 =  88.518
0, 1  acc:  7889 /  8276 =  95.324
1, 0  acc:  2725 /  2874 =  94.816
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 18323 / 19867 =  92.228
Robust  acc:   154 /   182 =  84.615
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.556
Robust Acc: 75.556 | Best Acc: 94.944
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8863 /  9767 =  90.744
0, 1  acc:  7154 /  7535 =  94.944
1, 0  acc:  2323 /  2480 =  93.669
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18476 / 19962 =  92.556
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8863 /  9767 =  90.744
0, 1  acc:  7154 /  7535 =  94.944
1, 0  acc:  2323 /  2480 =  93.669
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18476 / 19962 =  92.556
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8863 /  9767 =  90.744
0, 1  acc:  7154 /  7535 =  94.944
1, 0  acc:  2323 /  2480 =  93.669
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18476 / 19962 =  92.556
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.437 | Val Loss: 0.004 | Val Acc: 80.405
Training:
Accuracies by groups:
0, 0  acc: 10973 / 14718 =  74.555
0, 1  acc:  5868 /  6639 =  88.387
1, 0  acc: 131785 / 132740 =  99.281
1, 1  acc:  8344 /  8673 =  96.207
--------------------------------------
Average acc: 156970 / 162770 =  96.437
Robust  acc: 10973 / 14718 =  74.555
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6232 /  8535 =  73.017
0, 1  acc:  6712 /  8276 =  81.102
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15974 / 19867 =  80.405
Robust  acc:  6232 /  8535 =  73.017
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.271
Robust Acc: 77.731 | Best Acc: 99.073
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  7592 /  9767 =  77.731
0, 1  acc:  6206 /  7535 =  82.362
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16423 / 19962 =  82.271
Robust  acc:  7592 /  9767 =  77.731
------------------------------------
Accuracies by groups:
0, 0  acc:  7592 /  9767 =  77.731
0, 1  acc:  6206 /  7535 =  82.362
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16423 / 19962 =  82.271
Robust  acc:  7592 /  9767 =  77.731
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7592 /  9767 =  77.731
0, 1  acc:  6206 /  7535 =  82.362
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16423 / 19962 =  82.271
Robust  acc:  7592 /  9767 =  77.731
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 96.013 | Val Loss: 0.002 | Val Acc: 93.698
Training:
Accuracies by groups:
0, 0  acc: 10514 / 14554 =  72.241
0, 1  acc:  5811 /  6729 =  86.358
1, 0  acc: 131800 / 132944 =  99.139
1, 1  acc:  8156 /  8543 =  95.470
--------------------------------------
Average acc: 156281 / 162770 =  96.013
Robust  acc: 10514 / 14554 =  72.241
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7894 /  8535 =  92.490
0, 1  acc:  8064 /  8276 =  97.438
1, 0  acc:  2539 /  2874 =  88.344
1, 1  acc:   118 /   182 =  64.835
------------------------------------
Average acc: 18615 / 19867 =  93.698
Robust  acc:   118 /   182 =  64.835
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.089
Robust Acc: 54.444 | Best Acc: 97.571
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  9161 /  9767 =  93.795
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2171 /  2480 =  87.540
1, 1  acc:    98 /   180 =  54.444
------------------------------------
Average acc: 18782 / 19962 =  94.089
Robust  acc:    98 /   180 =  54.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9161 /  9767 =  93.795
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2171 /  2480 =  87.540
1, 1  acc:    98 /   180 =  54.444
------------------------------------
Average acc: 18782 / 19962 =  94.089
Robust  acc:    98 /   180 =  54.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9161 /  9767 =  93.795
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2171 /  2480 =  87.540
1, 1  acc:    98 /   180 =  54.444
------------------------------------
Average acc: 18782 / 19962 =  94.089
Robust  acc:    98 /   180 =  54.444
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.617 | Val Loss: 0.003 | Val Acc: 87.296
Training:
Accuracies by groups:
0, 0  acc: 10041 / 14396 =  69.749
0, 1  acc:  5499 /  6560 =  83.826
1, 0  acc: 131965 / 133241 =  99.042
1, 1  acc:  8130 /  8573 =  94.833
--------------------------------------
Average acc: 155635 / 162770 =  95.617
Robust  acc: 10041 / 14396 =  69.749
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6894 /  8535 =  80.773
0, 1  acc:  7461 /  8276 =  90.152
1, 0  acc:  2816 /  2874 =  97.982
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17343 / 19867 =  87.296
Robust  acc:  6894 /  8535 =  80.773
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.408
Robust Acc: 84.427 | Best Acc: 97.984
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8246 /  9767 =  84.427
0, 1  acc:  6813 /  7535 =  90.418
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17648 / 19962 =  88.408
Robust  acc:  8246 /  9767 =  84.427
------------------------------------
Accuracies by groups:
0, 0  acc:  8246 /  9767 =  84.427
0, 1  acc:  6813 /  7535 =  90.418
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17648 / 19962 =  88.408
Robust  acc:  8246 /  9767 =  84.427
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8246 /  9767 =  84.427
0, 1  acc:  6813 /  7535 =  90.418
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17648 / 19962 =  88.408
Robust  acc:  8246 /  9767 =  84.427
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.287 | Val Loss: 0.008 | Val Acc: 50.289
Training:
Accuracies by groups:
0, 0  acc:  9814 / 14422 =  68.049
0, 1  acc:  5176 /  6421 =  80.610
1, 0  acc: 132176 / 133500 =  99.008
1, 1  acc:  7933 /  8427 =  94.138
--------------------------------------
Average acc: 155099 / 162770 =  95.287
Robust  acc:  9814 / 14422 =  68.049
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3281 /  8535 =  38.442
0, 1  acc:  3657 /  8276 =  44.188
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9991 / 19867 =  50.289
Robust  acc:  3281 /  8535 =  38.442
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 51.493
Robust Acc: 44.005 | Best Acc: 99.919
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  4298 /  9767 =  44.005
0, 1  acc:  3325 /  7535 =  44.127
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10279 / 19962 =  51.493
Robust  acc:  4298 /  9767 =  44.005
------------------------------------
Accuracies by groups:
0, 0  acc:  4298 /  9767 =  44.005
0, 1  acc:  3325 /  7535 =  44.127
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10279 / 19962 =  51.493
Robust  acc:  4298 /  9767 =  44.005
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4298 /  9767 =  44.005
0, 1  acc:  3325 /  7535 =  44.127
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10279 / 19962 =  51.493
Robust  acc:  4298 /  9767 =  44.005
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.048 | Val Loss: 0.005 | Val Acc: 73.469
Training:
Accuracies by groups:
0, 0  acc:  9649 / 14548 =  66.325
0, 1  acc:  5078 /  6442 =  78.826
1, 0  acc: 131871 / 133221 =  98.987
1, 1  acc:  8111 /  8559 =  94.766
--------------------------------------
Average acc: 154709 / 162770 =  95.048
Robust  acc:  9649 / 14548 =  66.325
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5738 /  8535 =  67.229
0, 1  acc:  5821 /  8276 =  70.336
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14596 / 19867 =  73.469
Robust  acc:  5738 /  8535 =  67.229
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.073
Robust Acc: 69.688 | Best Acc: 99.234
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  7099 /  9767 =  72.684
0, 1  acc:  5251 /  7535 =  69.688
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14986 / 19962 =  75.073
Robust  acc:  5251 /  7535 =  69.688
------------------------------------
Accuracies by groups:
0, 0  acc:  7099 /  9767 =  72.684
0, 1  acc:  5251 /  7535 =  69.688
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14986 / 19962 =  75.073
Robust  acc:  5251 /  7535 =  69.688
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7099 /  9767 =  72.684
0, 1  acc:  5251 /  7535 =  69.688
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14986 / 19962 =  75.073
Robust  acc:  5251 /  7535 =  69.688
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 94.802 | Val Loss: 0.003 | Val Acc: 84.487
Training:
Accuracies by groups:
0, 0  acc:  9447 / 14541 =  64.968
0, 1  acc:  5110 /  6693 =  76.348
1, 0  acc: 131550 / 132885 =  98.995
1, 1  acc:  8203 /  8651 =  94.821
--------------------------------------
Average acc: 154310 / 162770 =  94.802
Robust  acc:  9447 / 14541 =  64.968
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6802 /  8535 =  79.695
0, 1  acc:  7000 /  8276 =  84.582
1, 0  acc:  2805 /  2874 =  97.599
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16785 / 19867 =  84.487
Robust  acc:  6802 /  8535 =  79.695
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.848
Robust Acc: 83.874 | Best Acc: 97.218
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8192 /  9767 =  83.874
0, 1  acc:  6362 /  7535 =  84.433
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 17137 / 19962 =  85.848
Robust  acc:  8192 /  9767 =  83.874
------------------------------------
Accuracies by groups:
0, 0  acc:  8192 /  9767 =  83.874
0, 1  acc:  6362 /  7535 =  84.433
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 17137 / 19962 =  85.848
Robust  acc:  8192 /  9767 =  83.874
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8192 /  9767 =  83.874
0, 1  acc:  6362 /  7535 =  84.433
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 17137 / 19962 =  85.848
Robust  acc:  8192 /  9767 =  83.874
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.689 | Val Loss: 0.003 | Val Acc: 85.176
Training:
Accuracies by groups:
0, 0  acc:  9033 / 14262 =  63.336
0, 1  acc:  4949 /  6657 =  74.343
1, 0  acc: 131829 / 133086 =  99.055
1, 1  acc:  8315 /  8765 =  94.866
--------------------------------------
Average acc: 154126 / 162770 =  94.689
Robust  acc:  9033 / 14262 =  63.336
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6736 /  8535 =  78.922
0, 1  acc:  7183 /  8276 =  86.793
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16922 / 19867 =  85.176
Robust  acc:  6736 /  8535 =  78.922
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.790
Robust Acc: 83.557 | Best Acc: 97.944
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  8161 /  9767 =  83.557
0, 1  acc:  6571 /  7535 =  87.206
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17325 / 19962 =  86.790
Robust  acc:  8161 /  9767 =  83.557
------------------------------------
Accuracies by groups:
0, 0  acc:  8161 /  9767 =  83.557
0, 1  acc:  6571 /  7535 =  87.206
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17325 / 19962 =  86.790
Robust  acc:  8161 /  9767 =  83.557
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8161 /  9767 =  83.557
0, 1  acc:  6571 /  7535 =  87.206
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17325 / 19962 =  86.790
Robust  acc:  8161 /  9767 =  83.557
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.587 | Val Loss: 0.004 | Val Acc: 78.864
Training:
Accuracies by groups:
0, 0  acc:  9034 / 14477 =  62.402
0, 1  acc:  4832 /  6560 =  73.659
1, 0  acc: 131967 / 133217 =  99.062
1, 1  acc:  8126 /  8516 =  95.420
--------------------------------------
Average acc: 153959 / 162770 =  94.587
Robust  acc:  9034 / 14477 =  62.402
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6034 /  8535 =  70.697
0, 1  acc:  6607 /  8276 =  79.833
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15668 / 19867 =  78.864
Robust  acc:  6034 /  8535 =  70.697
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.638
Robust Acc: 75.888 | Best Acc: 99.274
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  7412 /  9767 =  75.888
0, 1  acc:  6052 /  7535 =  80.319
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16097 / 19962 =  80.638
Robust  acc:  7412 /  9767 =  75.888
------------------------------------
Accuracies by groups:
0, 0  acc:  7412 /  9767 =  75.888
0, 1  acc:  6052 /  7535 =  80.319
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16097 / 19962 =  80.638
Robust  acc:  7412 /  9767 =  75.888
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7412 /  9767 =  75.888
0, 1  acc:  6052 /  7535 =  80.319
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16097 / 19962 =  80.638
Robust  acc:  7412 /  9767 =  75.888
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.450 | Val Loss: 0.007 | Val Acc: 57.231
Training:
Accuracies by groups:
0, 0  acc:  8839 / 14406 =  61.356
0, 1  acc:  4770 /  6595 =  72.328
1, 0  acc: 131768 / 133027 =  99.054
1, 1  acc:  8359 /  8742 =  95.619
--------------------------------------
Average acc: 153736 / 162770 =  94.450
Robust  acc:  8839 / 14406 =  61.356
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3911 /  8535 =  45.823
0, 1  acc:  4408 /  8276 =  53.262
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11370 / 19867 =  57.231
Robust  acc:  3911 /  8535 =  45.823
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 58.166
Robust Acc: 51.387 | Best Acc: 99.798
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  5019 /  9767 =  51.387
0, 1  acc:  3939 /  7535 =  52.276
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11611 / 19962 =  58.166
Robust  acc:  5019 /  9767 =  51.387
------------------------------------
Accuracies by groups:
0, 0  acc:  5019 /  9767 =  51.387
0, 1  acc:  3939 /  7535 =  52.276
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11611 / 19962 =  58.166
Robust  acc:  5019 /  9767 =  51.387
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5019 /  9767 =  51.387
0, 1  acc:  3939 /  7535 =  52.276
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11611 / 19962 =  58.166
Robust  acc:  5019 /  9767 =  51.387
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.406 | Val Loss: 0.003 | Val Acc: 93.512
Training:
Accuracies by groups:
0, 0  acc:  8990 / 14538 =  61.838
0, 1  acc:  4645 /  6573 =  70.668
1, 0  acc: 131827 / 133079 =  99.059
1, 1  acc:  8203 /  8580 =  95.606
--------------------------------------
Average acc: 153665 / 162770 =  94.406
Robust  acc:  8990 / 14538 =  61.838
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7788 /  8535 =  91.248
0, 1  acc:  8041 /  8276 =  97.160
1, 0  acc:  2630 /  2874 =  91.510
1, 1  acc:   119 /   182 =  65.385
------------------------------------
Average acc: 18578 / 19867 =  93.512
Robust  acc:   119 /   182 =  65.385
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.184
Robust Acc: 68.889 | Best Acc: 96.948
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  9124 /  9767 =  93.417
0, 1  acc:  7305 /  7535 =  96.948
1, 0  acc:  2248 /  2480 =  90.645
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18801 / 19962 =  94.184
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9124 /  9767 =  93.417
0, 1  acc:  7305 /  7535 =  96.948
1, 0  acc:  2248 /  2480 =  90.645
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18801 / 19962 =  94.184
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9124 /  9767 =  93.417
0, 1  acc:  7305 /  7535 =  96.948
1, 0  acc:  2248 /  2480 =  90.645
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18801 / 19962 =  94.184
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.362 | Val Loss: 0.006 | Val Acc: 69.074
Training:
Accuracies by groups:
0, 0  acc:  8889 / 14517 =  61.232
0, 1  acc:  4698 /  6667 =  70.466
1, 0  acc: 131786 / 132976 =  99.105
1, 1  acc:  8220 /  8610 =  95.470
--------------------------------------
Average acc: 153593 / 162770 =  94.362
Robust  acc:  8889 / 14517 =  61.232
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4992 /  8535 =  58.489
0, 1  acc:  5686 /  8276 =  68.705
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13723 / 19867 =  69.074
Robust  acc:  4992 /  8535 =  58.489
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.722
Robust Acc: 63.397 | Best Acc: 99.718
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  6192 /  9767 =  63.397
0, 1  acc:  5076 /  7535 =  67.366
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13918 / 19962 =  69.722
Robust  acc:  6192 /  9767 =  63.397
------------------------------------
Accuracies by groups:
0, 0  acc:  6192 /  9767 =  63.397
0, 1  acc:  5076 /  7535 =  67.366
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13918 / 19962 =  69.722
Robust  acc:  6192 /  9767 =  63.397
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6192 /  9767 =  63.397
0, 1  acc:  5076 /  7535 =  67.366
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13918 / 19962 =  69.722
Robust  acc:  6192 /  9767 =  63.397
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.134 | Val Loss: 0.005 | Val Acc: 74.324
Training:
Accuracies by groups:
0, 0  acc:  8392 / 14339 =  58.526
0, 1  acc:  4477 /  6605 =  67.782
1, 0  acc: 131981 / 133087 =  99.169
1, 1  acc:  8372 /  8739 =  95.800
--------------------------------------
Average acc: 153222 / 162770 =  94.134
Robust  acc:  8392 / 14339 =  58.526
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5500 /  8535 =  64.441
0, 1  acc:  6228 /  8276 =  75.254
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14766 / 19867 =  74.324
Robust  acc:  5500 /  8535 =  64.441
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.160
Robust Acc: 70.298 | Best Acc: 99.194
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  6866 /  9767 =  70.298
0, 1  acc:  5704 /  7535 =  75.700
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15203 / 19962 =  76.160
Robust  acc:  6866 /  9767 =  70.298
------------------------------------
Accuracies by groups:
0, 0  acc:  6866 /  9767 =  70.298
0, 1  acc:  5704 /  7535 =  75.700
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15203 / 19962 =  76.160
Robust  acc:  6866 /  9767 =  70.298
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6866 /  9767 =  70.298
0, 1  acc:  5704 /  7535 =  75.700
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15203 / 19962 =  76.160
Robust  acc:  6866 /  9767 =  70.298
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.140 | Val Loss: 0.004 | Val Acc: 85.141
Training:
Accuracies by groups:
0, 0  acc:  8252 / 14388 =  57.353
0, 1  acc:  4320 /  6443 =  67.050
1, 0  acc: 132322 / 133279 =  99.282
1, 1  acc:  8337 /  8660 =  96.270
--------------------------------------
Average acc: 153231 / 162770 =  94.140
Robust  acc:  8252 / 14388 =  57.353
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6771 /  8535 =  79.332
0, 1  acc:  7161 /  8276 =  86.527
1, 0  acc:  2814 /  2874 =  97.912
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 16915 / 19867 =  85.141
Robust  acc:  6771 /  8535 =  79.332
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.514
Robust Acc: 83.772 | Best Acc: 97.661
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  8182 /  9767 =  83.772
0, 1  acc:  6501 /  7535 =  86.277
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17270 / 19962 =  86.514
Robust  acc:  8182 /  9767 =  83.772
------------------------------------
Accuracies by groups:
0, 0  acc:  8182 /  9767 =  83.772
0, 1  acc:  6501 /  7535 =  86.277
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17270 / 19962 =  86.514
Robust  acc:  8182 /  9767 =  83.772
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8182 /  9767 =  83.772
0, 1  acc:  6501 /  7535 =  86.277
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17270 / 19962 =  86.514
Robust  acc:  8182 /  9767 =  83.772
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.094 | Val Loss: 0.006 | Val Acc: 60.467
Training:
Accuracies by groups:
0, 0  acc:  8364 / 14535 =  57.544
0, 1  acc:  4206 /  6459 =  65.118
1, 0  acc: 132027 / 132918 =  99.330
1, 1  acc:  8559 /  8858 =  96.625
--------------------------------------
Average acc: 153156 / 162770 =  94.094
Robust  acc:  8364 / 14535 =  57.544
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4353 /  8535 =  51.002
0, 1  acc:  4610 /  8276 =  55.703
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12013 / 19867 =  60.467
Robust  acc:  4353 /  8535 =  51.002
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 61.081
Robust Acc: 54.426 | Best Acc: 99.718
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  5442 /  9767 =  55.718
0, 1  acc:  4101 /  7535 =  54.426
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12193 / 19962 =  61.081
Robust  acc:  4101 /  7535 =  54.426
------------------------------------
Accuracies by groups:
0, 0  acc:  5442 /  9767 =  55.718
0, 1  acc:  4101 /  7535 =  54.426
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12193 / 19962 =  61.081
Robust  acc:  4101 /  7535 =  54.426
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5442 /  9767 =  55.718
0, 1  acc:  4101 /  7535 =  54.426
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12193 / 19962 =  61.081
Robust  acc:  4101 /  7535 =  54.426
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.129 | Val Loss: 0.004 | Val Acc: 90.738
Training:
Accuracies by groups:
0, 0  acc:  8016 / 14159 =  56.614
0, 1  acc:  4377 /  6594 =  66.379
1, 0  acc: 132290 / 133175 =  99.335
1, 1  acc:  8530 /  8842 =  96.471
--------------------------------------
Average acc: 153213 / 162770 =  94.129
Robust  acc:  8016 / 14159 =  56.614
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7525 /  8535 =  88.166
0, 1  acc:  7672 /  8276 =  92.702
1, 0  acc:  2680 /  2874 =  93.250
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 18027 / 19867 =  90.738
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 91.569
Robust Acc: 75.556 | Best Acc: 92.540
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  8885 /  9767 =  90.970
0, 1  acc:  6963 /  7535 =  92.409
1, 0  acc:  2295 /  2480 =  92.540
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18279 / 19962 =  91.569
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8885 /  9767 =  90.970
0, 1  acc:  6963 /  7535 =  92.409
1, 0  acc:  2295 /  2480 =  92.540
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18279 / 19962 =  91.569
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8885 /  9767 =  90.970
0, 1  acc:  6963 /  7535 =  92.409
1, 0  acc:  2295 /  2480 =  92.540
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18279 / 19962 =  91.569
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 94.033 | Val Loss: 0.004 | Val Acc: 89.118
Training:
Accuracies by groups:
0, 0  acc:  8058 / 14366 =  56.091
0, 1  acc:  4231 /  6472 =  65.374
1, 0  acc: 132631 / 133531 =  99.326
1, 1  acc:  8137 /  8401 =  96.858
--------------------------------------
Average acc: 153057 / 162770 =  94.033
Robust  acc:  8058 / 14366 =  56.091
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7273 /  8535 =  85.214
0, 1  acc:  7509 /  8276 =  90.732
1, 0  acc:  2763 /  2874 =  96.138
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 17705 / 19867 =  89.118
Robust  acc:  7273 /  8535 =  85.214
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 90.046
Robust Acc: 83.333 | Best Acc: 95.202
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  8624 /  9767 =  88.297
0, 1  acc:  6840 /  7535 =  90.776
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17975 / 19962 =  90.046
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8624 /  9767 =  88.297
0, 1  acc:  6840 /  7535 =  90.776
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17975 / 19962 =  90.046
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8624 /  9767 =  88.297
0, 1  acc:  6840 /  7535 =  90.776
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 17975 / 19962 =  90.046
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.828 | Val Loss: 0.006 | Val Acc: 70.730
Training:
Accuracies by groups:
0, 0  acc:  8024 / 14556 =  55.125
0, 1  acc:  4277 /  6550 =  65.298
1, 0  acc: 132190 / 133121 =  99.301
1, 1  acc:  8233 /  8543 =  96.371
--------------------------------------
Average acc: 152724 / 162770 =  93.828
Robust  acc:  8024 / 14556 =  55.125
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5559 /  8535 =  65.132
0, 1  acc:  5462 /  8276 =  65.998
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14052 / 19867 =  70.730
Robust  acc:  5559 /  8535 =  65.132
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 72.252
Robust Acc: 65.269 | Best Acc: 98.992
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  6873 /  9767 =  70.370
0, 1  acc:  4918 /  7535 =  65.269
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14423 / 19962 =  72.252
Robust  acc:  4918 /  7535 =  65.269
------------------------------------
Accuracies by groups:
0, 0  acc:  6873 /  9767 =  70.370
0, 1  acc:  4918 /  7535 =  65.269
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14423 / 19962 =  72.252
Robust  acc:  4918 /  7535 =  65.269
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6873 /  9767 =  70.370
0, 1  acc:  4918 /  7535 =  65.269
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14423 / 19962 =  72.252
Robust  acc:  4918 /  7535 =  65.269
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.891 | Val Loss: 0.004 | Val Acc: 81.396
Training:
Accuracies by groups:
0, 0  acc:  8192 / 14537 =  56.353
0, 1  acc:  4301 /  6610 =  65.068
1, 0  acc: 132001 / 132966 =  99.274
1, 1  acc:  8333 /  8657 =  96.257
--------------------------------------
Average acc: 152827 / 162770 =  93.891
Robust  acc:  8192 / 14537 =  56.353
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6179 /  8535 =  72.396
0, 1  acc:  6973 /  8276 =  84.256
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16171 / 19867 =  81.396
Robust  acc:  6179 /  8535 =  72.396
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.762
Robust Acc: 77.260 | Best Acc: 98.710
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7546 /  9767 =  77.260
0, 1  acc:  6357 /  7535 =  84.366
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16521 / 19962 =  82.762
Robust  acc:  7546 /  9767 =  77.260
------------------------------------
Accuracies by groups:
0, 0  acc:  7546 /  9767 =  77.260
0, 1  acc:  6357 /  7535 =  84.366
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16521 / 19962 =  82.762
Robust  acc:  7546 /  9767 =  77.260
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7546 /  9767 =  77.260
0, 1  acc:  6357 /  7535 =  84.366
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16521 / 19962 =  82.762
Robust  acc:  7546 /  9767 =  77.260
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.074 | Val Loss: 0.004 | Val Acc: 86.787
Training:
Accuracies by groups:
0, 0  acc:  8075 / 14305 =  56.449
0, 1  acc:  4310 /  6591 =  65.392
1, 0  acc: 132440 / 133284 =  99.367
1, 1  acc:  8299 /  8590 =  96.612
--------------------------------------
Average acc: 153124 / 162770 =  94.074
Robust  acc:  8075 / 14305 =  56.449
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6843 /  8535 =  80.176
0, 1  acc:  7420 /  8276 =  89.657
1, 0  acc:  2812 /  2874 =  97.843
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17242 / 19867 =  86.787
Robust  acc:  6843 /  8535 =  80.176
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 88.223
Robust Acc: 84.652 | Best Acc: 97.500
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  8268 /  9767 =  84.652
0, 1  acc:  6769 /  7535 =  89.834
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17611 / 19962 =  88.223
Robust  acc:  8268 /  9767 =  84.652
------------------------------------
Accuracies by groups:
0, 0  acc:  8268 /  9767 =  84.652
0, 1  acc:  6769 /  7535 =  89.834
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17611 / 19962 =  88.223
Robust  acc:  8268 /  9767 =  84.652
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8268 /  9767 =  84.652
0, 1  acc:  6769 /  7535 =  89.834
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17611 / 19962 =  88.223
Robust  acc:  8268 /  9767 =  84.652
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.921 | Val Loss: 0.005 | Val Acc: 73.806
Training:
Accuracies by groups:
0, 0  acc:  8131 / 14406 =  56.442
0, 1  acc:  4306 /  6652 =  64.732
1, 0  acc: 132006 / 132945 =  99.294
1, 1  acc:  8432 /  8767 =  96.179
--------------------------------------
Average acc: 152875 / 162770 =  93.921
Robust  acc:  8131 / 14406 =  56.442
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5539 /  8535 =  64.897
0, 1  acc:  6091 /  8276 =  73.598
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 14663 / 19867 =  73.806
Robust  acc:  5539 /  8535 =  64.897
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.887
Robust Acc: 69.950 | Best Acc: 99.234
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  6832 /  9767 =  69.950
0, 1  acc:  5482 /  7535 =  72.754
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14949 / 19962 =  74.887
Robust  acc:  6832 /  9767 =  69.950
------------------------------------
Accuracies by groups:
0, 0  acc:  6832 /  9767 =  69.950
0, 1  acc:  5482 /  7535 =  72.754
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14949 / 19962 =  74.887
Robust  acc:  6832 /  9767 =  69.950
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6832 /  9767 =  69.950
0, 1  acc:  5482 /  7535 =  72.754
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14949 / 19962 =  74.887
Robust  acc:  6832 /  9767 =  69.950
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.950 | Val Loss: 0.004 | Val Acc: 84.809
Training:
Accuracies by groups:
0, 0  acc:  8215 / 14493 =  56.683
0, 1  acc:  4278 /  6609 =  64.730
1, 0  acc: 132143 / 133095 =  99.285
1, 1  acc:  8286 /  8573 =  96.652
--------------------------------------
Average acc: 152922 / 162770 =  93.950
Robust  acc:  8215 / 14493 =  56.683
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6729 /  8535 =  78.840
0, 1  acc:  7153 /  8276 =  86.431
1, 0  acc:  2801 /  2874 =  97.460
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 16849 / 19867 =  84.809
Robust  acc:  6729 /  8535 =  78.840
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.364
Robust Acc: 83.035 | Best Acc: 96.855
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8110 /  9767 =  83.035
0, 1  acc:  6567 /  7535 =  87.153
1, 0  acc:  2402 /  2480 =  96.855
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17240 / 19962 =  86.364
Robust  acc:  8110 /  9767 =  83.035
------------------------------------
Accuracies by groups:
0, 0  acc:  8110 /  9767 =  83.035
0, 1  acc:  6567 /  7535 =  87.153
1, 0  acc:  2402 /  2480 =  96.855
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17240 / 19962 =  86.364
Robust  acc:  8110 /  9767 =  83.035
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8110 /  9767 =  83.035
0, 1  acc:  6567 /  7535 =  87.153
1, 0  acc:  2402 /  2480 =  96.855
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17240 / 19962 =  86.364
Robust  acc:  8110 /  9767 =  83.035
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.012 | Val Loss: 0.006 | Val Acc: 71.460
Training:
Accuracies by groups:
0, 0  acc:  8290 / 14531 =  57.050
0, 1  acc:  4323 /  6552 =  65.980
1, 0  acc: 132207 / 133167 =  99.279
1, 1  acc:  8204 /  8520 =  96.291
--------------------------------------
Average acc: 153024 / 162770 =  94.012
Robust  acc:  8290 / 14531 =  57.050
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5498 /  8535 =  64.417
0, 1  acc:  5671 /  8276 =  68.523
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14197 / 19867 =  71.460
Robust  acc:  5498 /  8535 =  64.417
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.119
Robust Acc: 67.724 | Best Acc: 98.871
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  6865 /  9767 =  70.288
0, 1  acc:  5103 /  7535 =  67.724
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14596 / 19962 =  73.119
Robust  acc:  5103 /  7535 =  67.724
------------------------------------
Accuracies by groups:
0, 0  acc:  6865 /  9767 =  70.288
0, 1  acc:  5103 /  7535 =  67.724
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14596 / 19962 =  73.119
Robust  acc:  5103 /  7535 =  67.724
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6865 /  9767 =  70.288
0, 1  acc:  5103 /  7535 =  67.724
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14596 / 19962 =  73.119
Robust  acc:  5103 /  7535 =  67.724
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.049 | Val Loss: 0.006 | Val Acc: 63.276
Training:
Accuracies by groups:
0, 0  acc:  8448 / 14519 =  58.186
0, 1  acc:  4287 /  6581 =  65.142
1, 0  acc: 132086 / 133082 =  99.252
1, 1  acc:  8262 /  8588 =  96.204
--------------------------------------
Average acc: 153083 / 162770 =  94.049
Robust  acc:  8448 / 14519 =  58.186
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4407 /  8535 =  51.634
0, 1  acc:  5117 /  8276 =  61.829
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12571 / 19867 =  63.276
Robust  acc:  4407 /  8535 =  51.634
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 64.833
Robust Acc: 57.786 | Best Acc: 99.556
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  5644 /  9767 =  57.786
0, 1  acc:  4652 /  7535 =  61.739
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12942 / 19962 =  64.833
Robust  acc:  5644 /  9767 =  57.786
------------------------------------
Accuracies by groups:
0, 0  acc:  5644 /  9767 =  57.786
0, 1  acc:  4652 /  7535 =  61.739
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12942 / 19962 =  64.833
Robust  acc:  5644 /  9767 =  57.786
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5644 /  9767 =  57.786
0, 1  acc:  4652 /  7535 =  61.739
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12942 / 19962 =  64.833
Robust  acc:  5644 /  9767 =  57.786
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.125 | Val Loss: 0.006 | Val Acc: 69.094
Training:
Accuracies by groups:
0, 0  acc:  8214 / 14226 =  57.739
0, 1  acc:  4370 /  6600 =  66.212
1, 0  acc: 132288 / 133323 =  99.224
1, 1  acc:  8336 /  8621 =  96.694
--------------------------------------
Average acc: 153208 / 162770 =  94.125
Robust  acc:  8214 / 14226 =  57.739
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5330 /  8535 =  62.449
0, 1  acc:  5364 /  8276 =  64.814
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13727 / 19867 =  69.094
Robust  acc:  5330 /  8535 =  62.449
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 71.015
Robust Acc: 64.446 | Best Acc: 99.355
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  6685 /  9767 =  68.445
0, 1  acc:  4856 /  7535 =  64.446
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14176 / 19962 =  71.015
Robust  acc:  4856 /  7535 =  64.446
------------------------------------
Accuracies by groups:
0, 0  acc:  6685 /  9767 =  68.445
0, 1  acc:  4856 /  7535 =  64.446
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14176 / 19962 =  71.015
Robust  acc:  4856 /  7535 =  64.446
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6685 /  9767 =  68.445
0, 1  acc:  4856 /  7535 =  64.446
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14176 / 19962 =  71.015
Robust  acc:  4856 /  7535 =  64.446
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.127 | Val Loss: 0.005 | Val Acc: 81.316
Training:
Accuracies by groups:
0, 0  acc:  8481 / 14490 =  58.530
0, 1  acc:  4566 /  6750 =  67.644
1, 0  acc: 131923 / 132945 =  99.231
1, 1  acc:  8241 /  8585 =  95.993
--------------------------------------
Average acc: 153211 / 162770 =  94.127
Robust  acc:  8481 / 14490 =  58.530
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6191 /  8535 =  72.537
0, 1  acc:  6938 /  8276 =  83.833
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16155 / 19867 =  81.316
Robust  acc:  6191 /  8535 =  72.537
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 82.727
Robust Acc: 77.281 | Best Acc: 98.710
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  7548 /  9767 =  77.281
0, 1  acc:  6347 /  7535 =  84.234
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16514 / 19962 =  82.727
Robust  acc:  7548 /  9767 =  77.281
------------------------------------
Accuracies by groups:
0, 0  acc:  7548 /  9767 =  77.281
0, 1  acc:  6347 /  7535 =  84.234
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16514 / 19962 =  82.727
Robust  acc:  7548 /  9767 =  77.281
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7548 /  9767 =  77.281
0, 1  acc:  6347 /  7535 =  84.234
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16514 / 19962 =  82.727
Robust  acc:  7548 /  9767 =  77.281
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.064 | Val Loss: 0.005 | Val Acc: 80.601
Training:
Accuracies by groups:
0, 0  acc:  8393 / 14466 =  58.019
0, 1  acc:  4333 /  6483 =  66.836
1, 0  acc: 132025 / 133134 =  99.167
1, 1  acc:  8357 /  8687 =  96.201
--------------------------------------
Average acc: 153108 / 162770 =  94.064
Robust  acc:  8393 / 14466 =  58.019
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6240 /  8535 =  73.111
0, 1  acc:  6761 /  8276 =  81.694
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16013 / 19867 =  80.601
Robust  acc:  6240 /  8535 =  73.111
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.216
Robust Acc: 78.253 | Best Acc: 98.508
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  7643 /  9767 =  78.253
0, 1  acc:  6157 /  7535 =  81.712
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16412 / 19962 =  82.216
Robust  acc:  7643 /  9767 =  78.253
------------------------------------
Accuracies by groups:
0, 0  acc:  7643 /  9767 =  78.253
0, 1  acc:  6157 /  7535 =  81.712
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16412 / 19962 =  82.216
Robust  acc:  7643 /  9767 =  78.253
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7643 /  9767 =  78.253
0, 1  acc:  6157 /  7535 =  81.712
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16412 / 19962 =  82.216
Robust  acc:  7643 /  9767 =  78.253
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.195 | Val Loss: 0.006 | Val Acc: 73.031
Training:
Accuracies by groups:
0, 0  acc:  8605 / 14552 =  59.133
0, 1  acc:  4334 /  6462 =  67.069
1, 0  acc: 132011 / 133070 =  99.204
1, 1  acc:  8372 /  8686 =  96.385
--------------------------------------
Average acc: 153322 / 162770 =  94.195
Robust  acc:  8605 / 14552 =  59.133
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5703 /  8535 =  66.819
0, 1  acc:  5771 /  8276 =  69.732
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14509 / 19867 =  73.031
Robust  acc:  5703 /  8535 =  66.819
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.902
Robust Acc: 69.821 | Best Acc: 99.194
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  7057 /  9767 =  72.254
0, 1  acc:  5261 /  7535 =  69.821
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14952 / 19962 =  74.902
Robust  acc:  5261 /  7535 =  69.821
------------------------------------
Accuracies by groups:
0, 0  acc:  7057 /  9767 =  72.254
0, 1  acc:  5261 /  7535 =  69.821
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14952 / 19962 =  74.902
Robust  acc:  5261 /  7535 =  69.821
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7057 /  9767 =  72.254
0, 1  acc:  5261 /  7535 =  69.821
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14952 / 19962 =  74.902
Robust  acc:  5261 /  7535 =  69.821
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.126 | Val Loss: 0.003 | Val Acc: 91.549
Training:
Accuracies by groups:
0, 0  acc:  8387 / 14499 =  57.845
0, 1  acc:  4463 /  6483 =  68.842
1, 0  acc: 131994 / 133092 =  99.175
1, 1  acc:  8365 /  8696 =  96.194
--------------------------------------
Average acc: 153209 / 162770 =  94.126
Robust  acc:  8387 / 14499 =  57.845
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7540 /  8535 =  88.342
0, 1  acc:  7814 /  8276 =  94.418
1, 0  acc:  2691 /  2874 =  93.633
1, 1  acc:   143 /   182 =  78.571
------------------------------------
Average acc: 18188 / 19867 =  91.549
Robust  acc:   143 /   182 =  78.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.275
Robust Acc: 73.333 | Best Acc: 94.439
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  8875 /  9767 =  90.867
0, 1  acc:  7116 /  7535 =  94.439
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18420 / 19962 =  92.275
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8875 /  9767 =  90.867
0, 1  acc:  7116 /  7535 =  94.439
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18420 / 19962 =  92.275
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8875 /  9767 =  90.867
0, 1  acc:  7116 /  7535 =  94.439
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18420 / 19962 =  92.275
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.227 | Val Loss: 0.004 | Val Acc: 89.847
Training:
Accuracies by groups:
0, 0  acc:  8481 / 14355 =  59.080
0, 1  acc:  4396 /  6470 =  67.944
1, 0  acc: 132328 / 133408 =  99.190
1, 1  acc:  8168 /  8537 =  95.678
--------------------------------------
Average acc: 153373 / 162770 =  94.227
Robust  acc:  8481 / 14355 =  59.080
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7304 /  8535 =  85.577
0, 1  acc:  7661 /  8276 =  92.569
1, 0  acc:  2731 /  2874 =  95.024
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 17850 / 19867 =  89.847
Robust  acc:   154 /   182 =  84.615
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.757
Robust Acc: 80.000 | Best Acc: 93.508
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8655 /  9767 =  88.615
0, 1  acc:  6999 /  7535 =  92.887
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18117 / 19962 =  90.757
Robust  acc:   144 /   180 =  80.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8655 /  9767 =  88.615
0, 1  acc:  6999 /  7535 =  92.887
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18117 / 19962 =  90.757
Robust  acc:   144 /   180 =  80.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8655 /  9767 =  88.615
0, 1  acc:  6999 /  7535 =  92.887
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18117 / 19962 =  90.757
Robust  acc:   144 /   180 =  80.000
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.236 | Val Loss: 0.006 | Val Acc: 71.319
Training:
Accuracies by groups:
0, 0  acc:  8582 / 14432 =  59.465
0, 1  acc:  4514 /  6583 =  68.571
1, 0  acc: 132134 / 133274 =  99.145
1, 1  acc:  8158 /  8481 =  96.191
--------------------------------------
Average acc: 153388 / 162770 =  94.236
Robust  acc:  8582 / 14432 =  59.465
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5501 /  8535 =  64.452
0, 1  acc:  5631 /  8276 =  68.040
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14169 / 19867 =  71.319
Robust  acc:  5501 /  8535 =  64.452
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 73.289
Robust Acc: 67.843 | Best Acc: 99.113
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  6884 /  9767 =  70.482
0, 1  acc:  5112 /  7535 =  67.843
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14630 / 19962 =  73.289
Robust  acc:  5112 /  7535 =  67.843
------------------------------------
Accuracies by groups:
0, 0  acc:  6884 /  9767 =  70.482
0, 1  acc:  5112 /  7535 =  67.843
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14630 / 19962 =  73.289
Robust  acc:  5112 /  7535 =  67.843
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6884 /  9767 =  70.482
0, 1  acc:  5112 /  7535 =  67.843
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14630 / 19962 =  73.289
Robust  acc:  5112 /  7535 =  67.843
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.127 | Val Loss: 0.006 | Val Acc: 64.856
Training:
Accuracies by groups:
0, 0  acc:  8556 / 14510 =  58.966
0, 1  acc:  4327 /  6449 =  67.096
1, 0  acc: 132026 / 133154 =  99.153
1, 1  acc:  8302 /  8657 =  95.899
--------------------------------------
Average acc: 153211 / 162770 =  94.127
Robust  acc:  8556 / 14510 =  58.966
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4510 /  8535 =  52.841
0, 1  acc:  5328 /  8276 =  64.379
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 12885 / 19867 =  64.856
Robust  acc:  4510 /  8535 =  52.841
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 66.511
Robust Acc: 59.414 | Best Acc: 99.798
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  5803 /  9767 =  59.414
0, 1  acc:  4821 /  7535 =  63.981
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13277 / 19962 =  66.511
Robust  acc:  5803 /  9767 =  59.414
------------------------------------
Accuracies by groups:
0, 0  acc:  5803 /  9767 =  59.414
0, 1  acc:  4821 /  7535 =  63.981
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13277 / 19962 =  66.511
Robust  acc:  5803 /  9767 =  59.414
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5803 /  9767 =  59.414
0, 1  acc:  4821 /  7535 =  63.981
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13277 / 19962 =  66.511
Robust  acc:  5803 /  9767 =  59.414
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.230 | Val Loss: 0.003 | Val Acc: 91.292
Training:
Accuracies by groups:
0, 0  acc:  8667 / 14549 =  59.571
0, 1  acc:  4543 /  6684 =  67.968
1, 0  acc: 131675 / 132724 =  99.210
1, 1  acc:  8493 /  8813 =  96.369
--------------------------------------
Average acc: 153378 / 162770 =  94.230
Robust  acc:  8667 / 14549 =  59.571
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7480 /  8535 =  87.639
0, 1  acc:  7817 /  8276 =  94.454
1, 0  acc:  2693 /  2874 =  93.702
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18137 / 19867 =  91.292
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.160
Robust Acc: 78.333 | Best Acc: 94.784
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  8813 /  9767 =  90.232
0, 1  acc:  7142 /  7535 =  94.784
1, 0  acc:  2301 /  2480 =  92.782
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18397 / 19962 =  92.160
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8813 /  9767 =  90.232
0, 1  acc:  7142 /  7535 =  94.784
1, 0  acc:  2301 /  2480 =  92.782
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18397 / 19962 =  92.160
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8813 /  9767 =  90.232
0, 1  acc:  7142 /  7535 =  94.784
1, 0  acc:  2301 /  2480 =  92.782
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18397 / 19962 =  92.160
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.183 | Val Loss: 0.005 | Val Acc: 76.579
Training:
Accuracies by groups:
0, 0  acc:  8433 / 14425 =  58.461
0, 1  acc:  4431 /  6522 =  67.939
1, 0  acc: 132085 / 133158 =  99.194
1, 1  acc:  8352 /  8665 =  96.388
--------------------------------------
Average acc: 153301 / 162770 =  94.183
Robust  acc:  8433 / 14425 =  58.461
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5583 /  8535 =  65.413
0, 1  acc:  6596 /  8276 =  79.700
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15214 / 19867 =  76.579
Robust  acc:  5583 /  8535 =  65.413
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.319
Robust Acc: 71.353 | Best Acc: 99.355
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  6969 /  9767 =  71.353
0, 1  acc:  6031 /  7535 =  80.040
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15634 / 19962 =  78.319
Robust  acc:  6969 /  9767 =  71.353
------------------------------------
Accuracies by groups:
0, 0  acc:  6969 /  9767 =  71.353
0, 1  acc:  6031 /  7535 =  80.040
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15634 / 19962 =  78.319
Robust  acc:  6969 /  9767 =  71.353
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6969 /  9767 =  71.353
0, 1  acc:  6031 /  7535 =  80.040
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15634 / 19962 =  78.319
Robust  acc:  6969 /  9767 =  71.353
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.261 | Val Loss: 0.004 | Val Acc: 82.383
Training:
Accuracies by groups:
0, 0  acc:  8591 / 14519 =  59.171
0, 1  acc:  4518 /  6578 =  68.683
1, 0  acc: 132128 / 133159 =  99.226
1, 1  acc:  8191 /  8514 =  96.206
--------------------------------------
Average acc: 153428 / 162770 =  94.261
Robust  acc:  8591 / 14519 =  59.171
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6447 /  8535 =  75.536
0, 1  acc:  6910 /  8276 =  83.494
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16367 / 19867 =  82.383
Robust  acc:  6447 /  8535 =  75.536
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.754
Robust Acc: 79.707 | Best Acc: 98.266
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  7785 /  9767 =  79.707
0, 1  acc:  6331 /  7535 =  84.021
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16719 / 19962 =  83.754
Robust  acc:  7785 /  9767 =  79.707
------------------------------------
Accuracies by groups:
0, 0  acc:  7785 /  9767 =  79.707
0, 1  acc:  6331 /  7535 =  84.021
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16719 / 19962 =  83.754
Robust  acc:  7785 /  9767 =  79.707
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7785 /  9767 =  79.707
0, 1  acc:  6331 /  7535 =  84.021
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16719 / 19962 =  83.754
Robust  acc:  7785 /  9767 =  79.707
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.277 | Val Loss: 0.004 | Val Acc: 85.327
Training:
Accuracies by groups:
0, 0  acc:  8610 / 14478 =  59.470
0, 1  acc:  4614 /  6627 =  69.624
1, 0  acc: 131940 / 133040 =  99.173
1, 1  acc:  8291 /  8625 =  96.128
--------------------------------------
Average acc: 153455 / 162770 =  94.277
Robust  acc:  8610 / 14478 =  59.470
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6702 /  8535 =  78.524
0, 1  acc:  7258 /  8276 =  87.699
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16952 / 19867 =  85.327
Robust  acc:  6702 /  8535 =  78.524
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.750
Robust Acc: 82.758 | Best Acc: 97.782
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  8083 /  9767 =  82.758
0, 1  acc:  6648 /  7535 =  88.228
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17317 / 19962 =  86.750
Robust  acc:  8083 /  9767 =  82.758
------------------------------------
Accuracies by groups:
0, 0  acc:  8083 /  9767 =  82.758
0, 1  acc:  6648 /  7535 =  88.228
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17317 / 19962 =  86.750
Robust  acc:  8083 /  9767 =  82.758
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8083 /  9767 =  82.758
0, 1  acc:  6648 /  7535 =  88.228
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17317 / 19962 =  86.750
Robust  acc:  8083 /  9767 =  82.758
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed15.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed15.pt
esting:
Accuracies by groups:
0, 0  acc:  8595 /  9767 =  88.000
0, 1  acc:  7037 /  7535 =  93.391
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18147 / 19962 =  90.908
Robust  acc:   144 /   180 =  80.000
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed15.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed15.pt
