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: 13
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=13-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.793 | Val Loss: 0.004 | Val Acc: 78.185
Training:
Accuracies by groups:
0, 0  acc:  5819 / 14603 =  39.848
0, 1  acc:  2851 /  6501 =  43.855
1, 0  acc: 130972 / 133073 =  98.421
1, 1  acc:  8142 /  8593 =  94.752
--------------------------------------
Average acc: 147784 / 162770 =  90.793
Robust  acc:  5819 / 14603 =  39.848
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6083 /  8535 =  71.271
0, 1  acc:  6432 /  8276 =  77.719
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 15533 / 19867 =  78.185
Robust  acc:  6083 /  8535 =  71.271
------------------------------------
New max robust acc: 71.27123608670182
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed13.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed13.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 80.162
Robust Acc: 76.902 | Best Acc: 98.952
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7511 /  9767 =  76.902
0, 1  acc:  5865 /  7535 =  77.837
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16002 / 19962 =  80.162
Robust  acc:  7511 /  9767 =  76.902
------------------------------------
Accuracies by groups:
0, 0  acc:  7511 /  9767 =  76.902
0, 1  acc:  5865 /  7535 =  77.837
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16002 / 19962 =  80.162
Robust  acc:  7511 /  9767 =  76.902
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7511 /  9767 =  76.902
0, 1  acc:  5865 /  7535 =  77.837
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16002 / 19962 =  80.162
Robust  acc:  7511 /  9767 =  76.902
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.506 | Val Loss: 0.003 | Val Acc: 83.943
Training:
Accuracies by groups:
0, 0  acc:  9250 / 14555 =  63.552
0, 1  acc:  4934 /  6763 =  72.956
1, 0  acc: 131551 / 132857 =  99.017
1, 1  acc:  8092 /  8595 =  94.148
--------------------------------------
Average acc: 153827 / 162770 =  94.506
Robust  acc:  9250 / 14555 =  63.552
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6487 /  8535 =  76.005
0, 1  acc:  7177 /  8276 =  86.721
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16677 / 19867 =  83.943
Robust  acc:  6487 /  8535 =  76.005
------------------------------------
New max robust acc: 76.00468658465144
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed13.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed13.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.422
Robust Acc: 80.967 | Best Acc: 98.750
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6527 /  7535 =  86.622
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17052 / 19962 =  85.422
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6527 /  7535 =  86.622
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17052 / 19962 =  85.422
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6527 /  7535 =  86.622
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17052 / 19962 =  85.422
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.256 | Val Loss: 0.003 | Val Acc: 86.233
Training:
Accuracies by groups:
0, 0  acc:  9879 / 14537 =  67.958
0, 1  acc:  5390 /  6778 =  79.522
1, 0  acc: 131627 / 132785 =  99.128
1, 1  acc:  8152 /  8670 =  94.025
--------------------------------------
Average acc: 155048 / 162770 =  95.256
Robust  acc:  9879 / 14537 =  67.958
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6676 /  8535 =  78.219
0, 1  acc:  7446 /  8276 =  89.971
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17132 / 19867 =  86.233
Robust  acc:  6676 /  8535 =  78.219
------------------------------------
New max robust acc: 78.2190978324546
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed13.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed13.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.221
Robust Acc: 82.738 | Best Acc: 98.468
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8081 /  9767 =  82.738
0, 1  acc:  6726 /  7535 =  89.263
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17411 / 19962 =  87.221
Robust  acc:  8081 /  9767 =  82.738
------------------------------------
Accuracies by groups:
0, 0  acc:  8081 /  9767 =  82.738
0, 1  acc:  6726 /  7535 =  89.263
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17411 / 19962 =  87.221
Robust  acc:  8081 /  9767 =  82.738
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8081 /  9767 =  82.738
0, 1  acc:  6726 /  7535 =  89.263
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17411 / 19962 =  87.221
Robust  acc:  8081 /  9767 =  82.738
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.863 | Val Loss: 0.002 | Val Acc: 87.965
Training:
Accuracies by groups:
0, 0  acc: 10150 / 14486 =  70.068
0, 1  acc:  5358 /  6434 =  83.276
1, 0  acc: 132305 / 133246 =  99.294
1, 1  acc:  8223 /  8604 =  95.572
--------------------------------------
Average acc: 156036 / 162770 =  95.863
Robust  acc: 10150 / 14486 =  70.068
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6876 /  8535 =  80.562
0, 1  acc:  7598 /  8276 =  91.808
1, 0  acc:  2831 /  2874 =  98.504
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17476 / 19867 =  87.965
Robust  acc:  6876 /  8535 =  80.562
------------------------------------
New max robust acc: 80.56239015817224
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed13.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed13.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.859
Robust Acc: 84.570 | Best Acc: 97.863
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8260 /  9767 =  84.570
0, 1  acc:  6895 /  7535 =  91.506
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17738 / 19962 =  88.859
Robust  acc:  8260 /  9767 =  84.570
------------------------------------
Accuracies by groups:
0, 0  acc:  8260 /  9767 =  84.570
0, 1  acc:  6895 /  7535 =  91.506
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17738 / 19962 =  88.859
Robust  acc:  8260 /  9767 =  84.570
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8260 /  9767 =  84.570
0, 1  acc:  6895 /  7535 =  91.506
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17738 / 19962 =  88.859
Robust  acc:  8260 /  9767 =  84.570
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.257 | Val Loss: 0.002 | Val Acc: 89.274
Training:
Accuracies by groups:
0, 0  acc: 10454 / 14537 =  71.913
0, 1  acc:  5545 /  6447 =  86.009
1, 0  acc: 132302 / 133120 =  99.386
1, 1  acc:  8376 /  8666 =  96.654
--------------------------------------
Average acc: 156677 / 162770 =  96.257
Robust  acc: 10454 / 14537 =  71.913
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7043 /  8535 =  82.519
0, 1  acc:  7705 /  8276 =  93.101
1, 0  acc:  2819 /  2874 =  98.086
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17736 / 19867 =  89.274
Robust  acc:  7043 /  8535 =  82.519
------------------------------------
New max robust acc: 82.51903925014645
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed13.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed13.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.936
Robust Acc: 85.556 | Best Acc: 97.742
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8378 /  9767 =  85.779
0, 1  acc:  6997 /  7535 =  92.860
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17953 / 19962 =  89.936
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8378 /  9767 =  85.779
0, 1  acc:  6997 /  7535 =  92.860
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17953 / 19962 =  89.936
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8378 /  9767 =  85.779
0, 1  acc:  6997 /  7535 =  92.860
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17953 / 19962 =  89.936
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.839 | Val Loss: 0.002 | Val Acc: 90.089
Training:
Accuracies by groups:
0, 0  acc: 10971 / 14611 =  75.087
0, 1  acc:  5747 /  6502 =  88.388
1, 0  acc: 132370 / 132921 =  99.585
1, 1  acc:  8537 /  8736 =  97.722
--------------------------------------
Average acc: 157625 / 162770 =  96.839
Robust  acc: 10971 / 14611 =  75.087
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7124 /  8535 =  83.468
0, 1  acc:  7791 /  8276 =  94.140
1, 0  acc:  2817 /  2874 =  98.017
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17898 / 19867 =  90.089
Robust  acc:  7124 /  8535 =  83.468
------------------------------------
New max robust acc: 83.4680726420621
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed13.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed13.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.662
Robust Acc: 83.889 | Best Acc: 97.500
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8459 /  9767 =  86.608
0, 1  acc:  7070 /  7535 =  93.829
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18098 / 19962 =  90.662
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8459 /  9767 =  86.608
0, 1  acc:  7070 /  7535 =  93.829
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18098 / 19962 =  90.662
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8459 /  9767 =  86.608
0, 1  acc:  7070 /  7535 =  93.829
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18098 / 19962 =  90.662
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.204 | Val Loss: 0.002 | Val Acc: 90.814
Training:
Accuracies by groups:
0, 0  acc: 11341 / 14652 =  77.402
0, 1  acc:  5999 /  6702 =  89.511
1, 0  acc: 132527 / 132955 =  99.678
1, 1  acc:  8352 /  8461 =  98.712
--------------------------------------
Average acc: 158219 / 162770 =  97.204
Robust  acc: 11341 / 14652 =  77.402
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7197 /  8535 =  84.323
0, 1  acc:  7878 /  8276 =  95.191
1, 0  acc:  2805 /  2874 =  97.599
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 18042 / 19867 =  90.814
Robust  acc:  7197 /  8535 =  84.323
------------------------------------
New max robust acc: 84.32337434094903
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed13.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed13.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.399
Robust Acc: 81.667 | Best Acc: 97.177
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8542 /  9767 =  87.458
0, 1  acc:  7146 /  7535 =  94.837
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18245 / 19962 =  91.399
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8542 /  9767 =  87.458
0, 1  acc:  7146 /  7535 =  94.837
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18245 / 19962 =  91.399
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8542 /  9767 =  87.458
0, 1  acc:  7146 /  7535 =  94.837
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18245 / 19962 =  91.399
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.799 | Val Loss: 0.002 | Val Acc: 92.087
Training:
Accuracies by groups:
0, 0  acc: 11630 / 14417 =  80.669
0, 1  acc:  5976 /  6536 =  91.432
1, 0  acc: 132993 / 133185 =  99.856
1, 1  acc:  8589 /  8632 =  99.502
--------------------------------------
Average acc: 159188 / 162770 =  97.799
Robust  acc: 11630 / 14417 =  80.669
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7374 /  8535 =  86.397
0, 1  acc:  7982 /  8276 =  96.448
1, 0  acc:  2787 /  2874 =  96.973
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18295 / 19867 =  92.087
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.451
Robust Acc: 76.667 | Best Acc: 96.331
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8694 /  9767 =  89.014
0, 1  acc:  7234 /  7535 =  96.005
1, 0  acc:  2389 /  2480 =  96.331
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18455 / 19962 =  92.451
Robust  acc:   138 /   180 =  76.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8694 /  9767 =  89.014
0, 1  acc:  7234 /  7535 =  96.005
1, 0  acc:  2389 /  2480 =  96.331
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18455 / 19962 =  92.451
Robust  acc:   138 /   180 =  76.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8694 /  9767 =  89.014
0, 1  acc:  7234 /  7535 =  96.005
1, 0  acc:  2389 /  2480 =  96.331
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18455 / 19962 =  92.451
Robust  acc:   138 /   180 =  76.667
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.224 | Val Loss: 0.002 | Val Acc: 91.171
Training:
Accuracies by groups:
0, 0  acc: 12103 / 14423 =  83.915
0, 1  acc:  6305 /  6755 =  93.338
1, 0  acc: 132909 / 133009 =  99.925
1, 1  acc:  8562 /  8583 =  99.755
--------------------------------------
Average acc: 159879 / 162770 =  98.224
Robust  acc: 12103 / 14423 =  83.915
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7281 /  8535 =  85.308
0, 1  acc:  7896 /  8276 =  95.408
1, 0  acc:  2784 /  2874 =  96.868
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18113 / 19867 =  91.171
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.499
Robust Acc: 81.111 | Best Acc: 96.250
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8588 /  9767 =  87.929
0, 1  acc:  7144 /  7535 =  94.811
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18265 / 19962 =  91.499
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8588 /  9767 =  87.929
0, 1  acc:  7144 /  7535 =  94.811
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18265 / 19962 =  91.499
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8588 /  9767 =  87.929
0, 1  acc:  7144 /  7535 =  94.811
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18265 / 19962 =  91.499
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.526 | Val Loss: 0.002 | Val Acc: 92.097
Training:
Accuracies by groups:
0, 0  acc: 12450 / 14367 =  86.657
0, 1  acc:  6233 /  6594 =  94.525
1, 0  acc: 133026 / 133125 =  99.926
1, 1  acc:  8661 /  8684 =  99.735
--------------------------------------
Average acc: 160370 / 162770 =  98.526
Robust  acc: 12450 / 14367 =  86.657
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7414 /  8535 =  86.866
0, 1  acc:  7972 /  8276 =  96.327
1, 0  acc:  2764 /  2874 =  96.173
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18297 / 19867 =  92.097
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.481
Robust Acc: 75.556 | Best Acc: 95.926
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8735 /  9767 =  89.434
0, 1  acc:  7228 /  7535 =  95.926
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18461 / 19962 =  92.481
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8735 /  9767 =  89.434
0, 1  acc:  7228 /  7535 =  95.926
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18461 / 19962 =  92.481
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8735 /  9767 =  89.434
0, 1  acc:  7228 /  7535 =  95.926
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18461 / 19962 =  92.481
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.489 | Val Loss: 0.002 | Val Acc: 91.800
Training:
Accuracies by groups:
0, 0  acc: 12484 / 14415 =  86.604
0, 1  acc:  6177 /  6510 =  94.885
1, 0  acc: 132976 / 133114 =  99.896
1, 1  acc:  8673 /  8731 =  99.336
--------------------------------------
Average acc: 160310 / 162770 =  98.489
Robust  acc: 12484 / 14415 =  86.604
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7323 /  8535 =  85.800
0, 1  acc:  7984 /  8276 =  96.472
1, 0  acc:  2783 /  2874 =  96.834
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 18238 / 19867 =  91.800
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.496
Robust Acc: 75.556 | Best Acc: 96.297
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8692 /  9767 =  88.994
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18464 / 19962 =  92.496
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8692 /  9767 =  88.994
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18464 / 19962 =  92.496
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8692 /  9767 =  88.994
0, 1  acc:  7256 /  7535 =  96.297
1, 0  acc:  2380 /  2480 =  95.968
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18464 / 19962 =  92.496
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.280 | Val Loss: 0.002 | Val Acc: 89.767
Training:
Accuracies by groups:
0, 0  acc: 12448 / 14498 =  85.860
0, 1  acc:  6070 /  6437 =  94.299
1, 0  acc: 132946 / 133233 =  99.785
1, 1  acc:  8506 /  8602 =  98.884
--------------------------------------
Average acc: 159970 / 162770 =  98.280
Robust  acc: 12448 / 14498 =  85.860
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7060 /  8535 =  82.718
0, 1  acc:  7829 /  8276 =  94.599
1, 0  acc:  2791 /  2874 =  97.112
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 17834 / 19867 =  89.767
Robust  acc:  7060 /  8535 =  82.718
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.171
Robust Acc: 78.889 | Best Acc: 96.290
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8363 /  9767 =  85.625
0, 1  acc:  7107 /  7535 =  94.320
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18000 / 19962 =  90.171
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8363 /  9767 =  85.625
0, 1  acc:  7107 /  7535 =  94.320
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18000 / 19962 =  90.171
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8363 /  9767 =  85.625
0, 1  acc:  7107 /  7535 =  94.320
1, 0  acc:  2388 /  2480 =  96.290
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18000 / 19962 =  90.171
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.853 | Val Loss: 0.002 | Val Acc: 92.797
Training:
Accuracies by groups:
0, 0  acc: 11950 / 14395 =  83.015
0, 1  acc:  6193 /  6668 =  92.876
1, 0  acc: 132589 / 133031 =  99.668
1, 1  acc:  8544 /  8676 =  98.479
--------------------------------------
Average acc: 159276 / 162770 =  97.853
Robust  acc: 11950 / 14395 =  83.015
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7504 /  8535 =  87.920
0, 1  acc:  8026 /  8276 =  96.979
1, 0  acc:  2762 /  2874 =  96.103
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18436 / 19867 =  92.797
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.052
Robust Acc: 70.556 | Best Acc: 96.377
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8824 /  9767 =  90.345
0, 1  acc:  7262 /  7535 =  96.377
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18575 / 19962 =  93.052
Robust  acc:   127 /   180 =  70.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8824 /  9767 =  90.345
0, 1  acc:  7262 /  7535 =  96.377
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18575 / 19962 =  93.052
Robust  acc:   127 /   180 =  70.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8824 /  9767 =  90.345
0, 1  acc:  7262 /  7535 =  96.377
1, 0  acc:  2362 /  2480 =  95.242
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18575 / 19962 =  93.052
Robust  acc:   127 /   180 =  70.556
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.402 | Val Loss: 0.002 | Val Acc: 92.973
Training:
Accuracies by groups:
0, 0  acc: 11600 / 14446 =  80.299
0, 1  acc:  5929 /  6475 =  91.568
1, 0  acc: 132590 / 133215 =  99.531
1, 1  acc:  8423 /  8634 =  97.556
--------------------------------------
Average acc: 158542 / 162770 =  97.402
Robust  acc: 11600 / 14446 =  80.299
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7565 /  8535 =  88.635
0, 1  acc:  8024 /  8276 =  96.955
1, 0  acc:  2736 /  2874 =  95.198
1, 1  acc:   146 /   182 =  80.220
------------------------------------
Average acc: 18471 / 19867 =  92.973
Robust  acc:   146 /   182 =  80.220
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.217
Robust Acc: 68.889 | Best Acc: 96.231
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8875 /  9767 =  90.867
0, 1  acc:  7251 /  7535 =  96.231
1, 0  acc:  2358 /  2480 =  95.081
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18608 / 19962 =  93.217
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8875 /  9767 =  90.867
0, 1  acc:  7251 /  7535 =  96.231
1, 0  acc:  2358 /  2480 =  95.081
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18608 / 19962 =  93.217
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8875 /  9767 =  90.867
0, 1  acc:  7251 /  7535 =  96.231
1, 0  acc:  2358 /  2480 =  95.081
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18608 / 19962 =  93.217
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.943 | Val Loss: 0.002 | Val Acc: 88.438
Training:
Accuracies by groups:
0, 0  acc: 11167 / 14427 =  77.403
0, 1  acc:  6039 /  6734 =  89.679
1, 0  acc: 132208 / 133000 =  99.405
1, 1  acc:  8380 /  8609 =  97.340
--------------------------------------
Average acc: 157794 / 162770 =  96.943
Robust  acc: 11167 / 14427 =  77.403
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6850 /  8535 =  80.258
0, 1  acc:  7741 /  8276 =  93.536
1, 0  acc:  2820 /  2874 =  98.121
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 17570 / 19867 =  88.438
Robust  acc:  6850 /  8535 =  80.258
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.054
Robust Acc: 77.778 | Best Acc: 97.258
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8196 /  9767 =  83.915
0, 1  acc:  7029 /  7535 =  93.285
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 17777 / 19962 =  89.054
Robust  acc:   140 /   180 =  77.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8196 /  9767 =  83.915
0, 1  acc:  7029 /  7535 =  93.285
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 17777 / 19962 =  89.054
Robust  acc:   140 /   180 =  77.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8196 /  9767 =  83.915
0, 1  acc:  7029 /  7535 =  93.285
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 17777 / 19962 =  89.054
Robust  acc:   140 /   180 =  77.778
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.503 | Val Loss: 0.002 | Val Acc: 90.260
Training:
Accuracies by groups:
0, 0  acc: 10615 / 14323 =  74.112
0, 1  acc:  5794 /  6563 =  88.283
1, 0  acc: 132392 / 133301 =  99.318
1, 1  acc:  8277 /  8583 =  96.435
--------------------------------------
Average acc: 157078 / 162770 =  96.503
Robust  acc: 10615 / 14323 =  74.112
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7228 /  8535 =  84.687
0, 1  acc:  7750 /  8276 =  93.644
1, 0  acc:  2791 /  2874 =  97.112
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17932 / 19867 =  90.260
Robust  acc:  7228 /  8535 =  84.687
------------------------------------
New max robust acc: 84.68658465143527
debias model - Saving best checkpoint at epoch 15
replace: True
-> Updating checkpoint debias-wga-best_seed13.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed13.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.903
Robust Acc: 82.778 | Best Acc: 96.774
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8518 /  9767 =  87.212
0, 1  acc:  7079 /  7535 =  93.948
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18146 / 19962 =  90.903
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8518 /  9767 =  87.212
0, 1  acc:  7079 /  7535 =  93.948
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18146 / 19962 =  90.903
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8518 /  9767 =  87.212
0, 1  acc:  7079 /  7535 =  93.948
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18146 / 19962 =  90.903
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.964 | Val Loss: 0.006 | Val Acc: 63.970
Training:
Accuracies by groups:
0, 0  acc: 10469 / 14581 =  71.799
0, 1  acc:  5626 /  6547 =  85.932
1, 0  acc: 131874 / 133053 =  99.114
1, 1  acc:  8231 /  8589 =  95.832
--------------------------------------
Average acc: 156200 / 162770 =  95.964
Robust  acc: 10469 / 14581 =  71.799
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4295 /  8535 =  50.322
0, 1  acc:  5361 /  8276 =  64.778
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12709 / 19867 =  63.970
Robust  acc:  4295 /  8535 =  50.322
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.519
Robust Acc: 56.138 | Best Acc: 99.839
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  5483 /  9767 =  56.138
0, 1  acc:  4942 /  7535 =  65.587
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13079 / 19962 =  65.519
Robust  acc:  5483 /  9767 =  56.138
------------------------------------
Accuracies by groups:
0, 0  acc:  5483 /  9767 =  56.138
0, 1  acc:  4942 /  7535 =  65.587
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13079 / 19962 =  65.519
Robust  acc:  5483 /  9767 =  56.138
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5483 /  9767 =  56.138
0, 1  acc:  4942 /  7535 =  65.587
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13079 / 19962 =  65.519
Robust  acc:  5483 /  9767 =  56.138
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.607 | Val Loss: 0.002 | Val Acc: 91.212
Training:
Accuracies by groups:
0, 0  acc: 10276 / 14662 =  70.086
0, 1  acc:  5448 /  6508 =  83.712
1, 0  acc: 131798 / 133078 =  99.038
1, 1  acc:  8097 /  8522 =  95.013
--------------------------------------
Average acc: 155619 / 162770 =  95.607
Robust  acc: 10276 / 14662 =  70.086
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7315 /  8535 =  85.706
0, 1  acc:  7868 /  8276 =  95.070
1, 0  acc:  2779 /  2874 =  96.695
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 18121 / 19867 =  91.212
Robust  acc:  7315 /  8535 =  85.706
------------------------------------
New max robust acc: 85.70591681312244
debias model - Saving best checkpoint at epoch 17
replace: True
-> Updating checkpoint debias-wga-best_seed13.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed13.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.965
Robust Acc: 77.778 | Best Acc: 97.016
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8664 /  9767 =  88.707
0, 1  acc:  7148 /  7535 =  94.864
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18358 / 19962 =  91.965
Robust  acc:   140 /   180 =  77.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8664 /  9767 =  88.707
0, 1  acc:  7148 /  7535 =  94.864
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18358 / 19962 =  91.965
Robust  acc:   140 /   180 =  77.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8664 /  9767 =  88.707
0, 1  acc:  7148 /  7535 =  94.864
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18358 / 19962 =  91.965
Robust  acc:   140 /   180 =  77.778
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.354 | Val Loss: 0.002 | Val Acc: 92.047
Training:
Accuracies by groups:
0, 0  acc:  9902 / 14416 =  68.688
0, 1  acc:  5385 /  6589 =  81.727
1, 0  acc: 131823 / 133180 =  98.981
1, 1  acc:  8097 /  8585 =  94.316
--------------------------------------
Average acc: 155207 / 162770 =  95.354
Robust  acc:  9902 / 14416 =  68.688
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7519 /  8535 =  88.096
0, 1  acc:  7873 /  8276 =  95.130
1, 0  acc:  2741 /  2874 =  95.372
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 18287 / 19867 =  92.047
Robust  acc:   154 /   182 =  84.615
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.541
Robust Acc: 77.778 | Best Acc: 95.010
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  8825 /  9767 =  90.355
0, 1  acc:  7159 /  7535 =  95.010
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18473 / 19962 =  92.541
Robust  acc:   140 /   180 =  77.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8825 /  9767 =  90.355
0, 1  acc:  7159 /  7535 =  95.010
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18473 / 19962 =  92.541
Robust  acc:   140 /   180 =  77.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8825 /  9767 =  90.355
0, 1  acc:  7159 /  7535 =  95.010
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18473 / 19962 =  92.541
Robust  acc:   140 /   180 =  77.778
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.051 | Val Loss: 0.003 | Val Acc: 86.324
Training:
Accuracies by groups:
0, 0  acc:  9686 / 14509 =  66.759
0, 1  acc:  5278 /  6636 =  79.536
1, 0  acc: 131615 / 132993 =  98.964
1, 1  acc:  8135 /  8632 =  94.242
--------------------------------------
Average acc: 154714 / 162770 =  95.051
Robust  acc:  9686 / 14509 =  66.759
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6941 /  8535 =  81.324
0, 1  acc:  7229 /  8276 =  87.349
1, 0  acc:  2807 /  2874 =  97.669
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17150 / 19867 =  86.324
Robust  acc:  6941 /  8535 =  81.324
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.727
Robust Acc: 85.891 | Best Acc: 97.056
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  8389 /  9767 =  85.891
0, 1  acc:  6554 /  7535 =  86.981
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17512 / 19962 =  87.727
Robust  acc:  8389 /  9767 =  85.891
------------------------------------
Accuracies by groups:
0, 0  acc:  8389 /  9767 =  85.891
0, 1  acc:  6554 /  7535 =  86.981
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17512 / 19962 =  87.727
Robust  acc:  8389 /  9767 =  85.891
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8389 /  9767 =  85.891
0, 1  acc:  6554 /  7535 =  86.981
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17512 / 19962 =  87.727
Robust  acc:  8389 /  9767 =  85.891
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 94.876 | Val Loss: 0.008 | Val Acc: 51.684
Training:
Accuracies by groups:
0, 0  acc:  9546 / 14479 =  65.930
0, 1  acc:  5040 /  6582 =  76.572
1, 0  acc: 131655 / 133058 =  98.946
1, 1  acc:  8189 /  8651 =  94.660
--------------------------------------
Average acc: 154430 / 162770 =  94.876
Robust  acc:  9546 / 14479 =  65.930
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3641 /  8535 =  42.660
0, 1  acc:  3575 /  8276 =  43.197
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10268 / 19867 =  51.684
Robust  acc:  3641 /  8535 =  42.660
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 52.911
Robust Acc: 43.291 | Best Acc: 99.839
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  4646 /  9767 =  47.568
0, 1  acc:  3262 /  7535 =  43.291
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10562 / 19962 =  52.911
Robust  acc:  3262 /  7535 =  43.291
------------------------------------
Accuracies by groups:
0, 0  acc:  4646 /  9767 =  47.568
0, 1  acc:  3262 /  7535 =  43.291
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10562 / 19962 =  52.911
Robust  acc:  3262 /  7535 =  43.291
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4646 /  9767 =  47.568
0, 1  acc:  3262 /  7535 =  43.291
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10562 / 19962 =  52.911
Robust  acc:  3262 /  7535 =  43.291
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.736 | Val Loss: 0.005 | Val Acc: 77.425
Training:
Accuracies by groups:
0, 0  acc:  9093 / 14238 =  63.864
0, 1  acc:  4879 /  6534 =  74.671
1, 0  acc: 132139 / 133466 =  99.006
1, 1  acc:  8090 /  8532 =  94.820
--------------------------------------
Average acc: 154201 / 162770 =  94.736
Robust  acc:  9093 / 14238 =  63.864
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5665 /  8535 =  66.374
0, 1  acc:  6683 /  8276 =  80.752
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 15382 / 19867 =  77.425
Robust  acc:  5665 /  8535 =  66.374
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.040
Robust Acc: 71.998 | Best Acc: 99.355
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  7032 /  9767 =  71.998
0, 1  acc:  6108 /  7535 =  81.062
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15778 / 19962 =  79.040
Robust  acc:  7032 /  9767 =  71.998
------------------------------------
Accuracies by groups:
0, 0  acc:  7032 /  9767 =  71.998
0, 1  acc:  6108 /  7535 =  81.062
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15778 / 19962 =  79.040
Robust  acc:  7032 /  9767 =  71.998
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7032 /  9767 =  71.998
0, 1  acc:  6108 /  7535 =  81.062
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15778 / 19962 =  79.040
Robust  acc:  7032 /  9767 =  71.998
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.677 | Val Loss: 0.013 | Val Acc: 21.518
Training:
Accuracies by groups:
0, 0  acc:  9188 / 14440 =  63.629
0, 1  acc:  4804 /  6542 =  73.433
1, 0  acc: 131962 / 133187 =  99.080
1, 1  acc:  8151 /  8601 =  94.768
--------------------------------------
Average acc: 154105 / 162770 =  94.677
Robust  acc:  9188 / 14440 =  63.629
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:   364 /  8535 =   4.265
0, 1  acc:   855 /  8276 =  10.331
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  4275 / 19867 =  21.518
Robust  acc:   364 /  8535 =   4.265
------------------------------------
-------------------------------------------
Avg Test Loss: 0.013 | Avg Test Acc: 19.412
Robust Acc: 5.406 | Best Acc: 100.000
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:   528 /  9767 =   5.406
0, 1  acc:   688 /  7535 =   9.131
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  3875 / 19962 =  19.412
Robust  acc:   528 /  9767 =   5.406
------------------------------------
Accuracies by groups:
0, 0  acc:   528 /  9767 =   5.406
0, 1  acc:   688 /  7535 =   9.131
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  3875 / 19962 =  19.412
Robust  acc:   528 /  9767 =   5.406
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:   528 /  9767 =   5.406
0, 1  acc:   688 /  7535 =   9.131
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  3875 / 19962 =  19.412
Robust  acc:   528 /  9767 =   5.406
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.408 | Val Loss: 0.004 | Val Acc: 86.133
Training:
Accuracies by groups:
0, 0  acc:  8972 / 14580 =  61.536
0, 1  acc:  4842 /  6656 =  72.746
1, 0  acc: 131599 / 132873 =  99.041
1, 1  acc:  8255 /  8661 =  95.312
--------------------------------------
Average acc: 153668 / 162770 =  94.408
Robust  acc:  8972 / 14580 =  61.536
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6854 /  8535 =  80.305
0, 1  acc:  7278 /  8276 =  87.941
1, 0  acc:  2808 /  2874 =  97.704
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17112 / 19867 =  86.133
Robust  acc:  6854 /  8535 =  80.305
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.601
Robust Acc: 85.123 | Best Acc: 97.258
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  8314 /  9767 =  85.123
0, 1  acc:  6600 /  7535 =  87.591
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17487 / 19962 =  87.601
Robust  acc:  8314 /  9767 =  85.123
------------------------------------
Accuracies by groups:
0, 0  acc:  8314 /  9767 =  85.123
0, 1  acc:  6600 /  7535 =  87.591
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17487 / 19962 =  87.601
Robust  acc:  8314 /  9767 =  85.123
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8314 /  9767 =  85.123
0, 1  acc:  6600 /  7535 =  87.591
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17487 / 19962 =  87.601
Robust  acc:  8314 /  9767 =  85.123
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.385 | Val Loss: 0.008 | Val Acc: 50.501
Training:
Accuracies by groups:
0, 0  acc:  9039 / 14631 =  61.780
0, 1  acc:  4736 /  6566 =  72.129
1, 0  acc: 131806 / 133101 =  99.027
1, 1  acc:  8050 /  8472 =  95.019
--------------------------------------
Average acc: 153631 / 162770 =  94.385
Robust  acc:  9039 / 14631 =  61.780
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2888 /  8535 =  33.837
0, 1  acc:  4092 /  8276 =  49.444
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10033 / 19867 =  50.501
Robust  acc:  2888 /  8535 =  33.837
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 50.631
Robust Acc: 39.214 | Best Acc: 99.919
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  3830 /  9767 =  39.214
0, 1  acc:  3621 /  7535 =  48.056
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10107 / 19962 =  50.631
Robust  acc:  3830 /  9767 =  39.214
------------------------------------
Accuracies by groups:
0, 0  acc:  3830 /  9767 =  39.214
0, 1  acc:  3621 /  7535 =  48.056
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10107 / 19962 =  50.631
Robust  acc:  3830 /  9767 =  39.214
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3830 /  9767 =  39.214
0, 1  acc:  3621 /  7535 =  48.056
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10107 / 19962 =  50.631
Robust  acc:  3830 /  9767 =  39.214
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.352 | Val Loss: 0.004 | Val Acc: 82.529
Training:
Accuracies by groups:
0, 0  acc:  8920 / 14487 =  61.572
0, 1  acc:  4617 /  6543 =  70.564
1, 0  acc: 131857 / 133136 =  99.039
1, 1  acc:  8183 /  8604 =  95.107
--------------------------------------
Average acc: 153577 / 162770 =  94.352
Robust  acc:  8920 / 14487 =  61.572
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6418 /  8535 =  75.196
0, 1  acc:  6962 /  8276 =  84.123
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16396 / 19867 =  82.529
Robust  acc:  6418 /  8535 =  75.196
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.340
Robust Acc: 80.465 | Best Acc: 98.427
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  7859 /  9767 =  80.465
0, 1  acc:  6369 /  7535 =  84.526
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16836 / 19962 =  84.340
Robust  acc:  7859 /  9767 =  80.465
------------------------------------
Accuracies by groups:
0, 0  acc:  7859 /  9767 =  80.465
0, 1  acc:  6369 /  7535 =  84.526
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16836 / 19962 =  84.340
Robust  acc:  7859 /  9767 =  80.465
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7859 /  9767 =  80.465
0, 1  acc:  6369 /  7535 =  84.526
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16836 / 19962 =  84.340
Robust  acc:  7859 /  9767 =  80.465
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.342 | Val Loss: 0.005 | Val Acc: 77.400
Training:
Accuracies by groups:
0, 0  acc:  8700 / 14466 =  60.141
0, 1  acc:  4467 /  6441 =  69.353
1, 0  acc: 132132 / 133257 =  99.156
1, 1  acc:  8261 /  8606 =  95.991
--------------------------------------
Average acc: 153560 / 162770 =  94.342
Robust  acc:  8700 / 14466 =  60.141
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5861 /  8535 =  68.670
0, 1  acc:  6482 /  8276 =  78.323
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15377 / 19867 =  77.400
Robust  acc:  5861 /  8535 =  68.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.015
Robust Acc: 74.086 | Best Acc: 99.032
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  7236 /  9767 =  74.086
0, 1  acc:  5908 /  7535 =  78.407
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15773 / 19962 =  79.015
Robust  acc:  7236 /  9767 =  74.086
------------------------------------
Accuracies by groups:
0, 0  acc:  7236 /  9767 =  74.086
0, 1  acc:  5908 /  7535 =  78.407
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15773 / 19962 =  79.015
Robust  acc:  7236 /  9767 =  74.086
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7236 /  9767 =  74.086
0, 1  acc:  5908 /  7535 =  78.407
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15773 / 19962 =  79.015
Robust  acc:  7236 /  9767 =  74.086
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.108 | Val Loss: 0.005 | Val Acc: 77.078
Training:
Accuracies by groups:
0, 0  acc:  8500 / 14501 =  58.617
0, 1  acc:  4479 /  6725 =  66.602
1, 0  acc: 131802 / 132823 =  99.231
1, 1  acc:  8398 /  8721 =  96.296
--------------------------------------
Average acc: 153179 / 162770 =  94.108
Robust  acc:  8500 / 14501 =  58.617
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5793 /  8535 =  67.873
0, 1  acc:  6490 /  8276 =  78.420
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15313 / 19867 =  77.078
Robust  acc:  5793 /  8535 =  67.873
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.705
Robust Acc: 72.960 | Best Acc: 99.234
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  7126 /  9767 =  72.960
0, 1  acc:  5953 /  7535 =  79.005
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15711 / 19962 =  78.705
Robust  acc:  7126 /  9767 =  72.960
------------------------------------
Accuracies by groups:
0, 0  acc:  7126 /  9767 =  72.960
0, 1  acc:  5953 /  7535 =  79.005
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15711 / 19962 =  78.705
Robust  acc:  7126 /  9767 =  72.960
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7126 /  9767 =  72.960
0, 1  acc:  5953 /  7535 =  79.005
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15711 / 19962 =  78.705
Robust  acc:  7126 /  9767 =  72.960
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.086 | Val Loss: 0.005 | Val Acc: 80.153
Training:
Accuracies by groups:
0, 0  acc:  8451 / 14470 =  58.404
0, 1  acc:  4536 /  6736 =  67.340
1, 0  acc: 131875 / 132942 =  99.197
1, 1  acc:  8282 /  8622 =  96.057
--------------------------------------
Average acc: 153144 / 162770 =  94.086
Robust  acc:  8451 / 14470 =  58.404
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6212 /  8535 =  72.783
0, 1  acc:  6704 /  8276 =  81.005
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 15924 / 19867 =  80.153
Robust  acc:  6212 /  8535 =  72.783
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.196
Robust Acc: 77.987 | Best Acc: 98.468
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  7617 /  9767 =  77.987
0, 1  acc:  6180 /  7535 =  82.017
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16408 / 19962 =  82.196
Robust  acc:  7617 /  9767 =  77.987
------------------------------------
Accuracies by groups:
0, 0  acc:  7617 /  9767 =  77.987
0, 1  acc:  6180 /  7535 =  82.017
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16408 / 19962 =  82.196
Robust  acc:  7617 /  9767 =  77.987
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7617 /  9767 =  77.987
0, 1  acc:  6180 /  7535 =  82.017
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16408 / 19962 =  82.196
Robust  acc:  7617 /  9767 =  77.987
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.110 | Val Loss: 0.005 | Val Acc: 79.257
Training:
Accuracies by groups:
0, 0  acc:  8480 / 14586 =  58.138
0, 1  acc:  4211 /  6386 =  65.941
1, 0  acc: 132043 / 133037 =  99.253
1, 1  acc:  8449 /  8761 =  96.439
--------------------------------------
Average acc: 153183 / 162770 =  94.110
Robust  acc:  8480 / 14586 =  58.138
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6167 /  8535 =  72.255
0, 1  acc:  6569 /  8276 =  79.374
1, 0  acc:  2831 /  2874 =  98.504
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15746 / 19867 =  79.257
Robust  acc:  6167 /  8535 =  72.255
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.713
Robust Acc: 77.434 | Best Acc: 98.629
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  7563 /  9767 =  77.434
0, 1  acc:  5934 /  7535 =  78.752
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16112 / 19962 =  80.713
Robust  acc:  7563 /  9767 =  77.434
------------------------------------
Accuracies by groups:
0, 0  acc:  7563 /  9767 =  77.434
0, 1  acc:  5934 /  7535 =  78.752
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16112 / 19962 =  80.713
Robust  acc:  7563 /  9767 =  77.434
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7563 /  9767 =  77.434
0, 1  acc:  5934 /  7535 =  78.752
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16112 / 19962 =  80.713
Robust  acc:  7563 /  9767 =  77.434
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 94.108 | Val Loss: 0.005 | Val Acc: 75.064
Training:
Accuracies by groups:
0, 0  acc:  8374 / 14471 =  57.867
0, 1  acc:  4306 /  6511 =  66.134
1, 0  acc: 132339 / 133293 =  99.284
1, 1  acc:  8160 /  8495 =  96.057
--------------------------------------
Average acc: 153179 / 162770 =  94.108
Robust  acc:  8374 / 14471 =  57.867
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5861 /  8535 =  68.670
0, 1  acc:  6031 /  8276 =  72.873
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14913 / 19867 =  75.064
Robust  acc:  5861 /  8535 =  68.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.225
Robust Acc: 72.104 | Best Acc: 98.831
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  7158 /  9767 =  73.288
0, 1  acc:  5433 /  7535 =  72.104
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15216 / 19962 =  76.225
Robust  acc:  5433 /  7535 =  72.104
------------------------------------
Accuracies by groups:
0, 0  acc:  7158 /  9767 =  73.288
0, 1  acc:  5433 /  7535 =  72.104
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15216 / 19962 =  76.225
Robust  acc:  5433 /  7535 =  72.104
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7158 /  9767 =  73.288
0, 1  acc:  5433 /  7535 =  72.104
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15216 / 19962 =  76.225
Robust  acc:  5433 /  7535 =  72.104
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.934 | Val Loss: 0.008 | Val Acc: 46.222
Training:
Accuracies by groups:
0, 0  acc:  8243 / 14513 =  56.797
0, 1  acc:  4308 /  6644 =  64.840
1, 0  acc: 132151 / 133131 =  99.264
1, 1  acc:  8194 /  8482 =  96.605
--------------------------------------
Average acc: 152896 / 162770 =  93.934
Robust  acc:  8243 / 14513 =  56.797
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2619 /  8535 =  30.685
0, 1  acc:  3512 /  8276 =  42.436
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9183 / 19867 =  46.222
Robust  acc:  2619 /  8535 =  30.685
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 45.547
Robust Acc: 34.432 | Best Acc: 99.839
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  3363 /  9767 =  34.432
0, 1  acc:  3074 /  7535 =  40.796
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  9092 / 19962 =  45.547
Robust  acc:  3363 /  9767 =  34.432
------------------------------------
Accuracies by groups:
0, 0  acc:  3363 /  9767 =  34.432
0, 1  acc:  3074 /  7535 =  40.796
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  9092 / 19962 =  45.547
Robust  acc:  3363 /  9767 =  34.432
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3363 /  9767 =  34.432
0, 1  acc:  3074 /  7535 =  40.796
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  9092 / 19962 =  45.547
Robust  acc:  3363 /  9767 =  34.432
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 94.157 | Val Loss: 0.004 | Val Acc: 80.561
Training:
Accuracies by groups:
0, 0  acc:  8301 / 14287 =  58.102
0, 1  acc:  4112 /  6406 =  64.190
1, 0  acc: 132499 / 133418 =  99.311
1, 1  acc:  8347 /  8659 =  96.397
--------------------------------------
Average acc: 153259 / 162770 =  94.157
Robust  acc:  8301 / 14287 =  58.102
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6425 /  8535 =  75.278
0, 1  acc:  6606 /  8276 =  79.821
1, 0  acc:  2803 /  2874 =  97.530
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16005 / 19867 =  80.561
Robust  acc:  6425 /  8535 =  75.278
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.016
Robust Acc: 79.523 | Best Acc: 97.177
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7767 /  9767 =  79.523
0, 1  acc:  6032 /  7535 =  80.053
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16372 / 19962 =  82.016
Robust  acc:  7767 /  9767 =  79.523
------------------------------------
Accuracies by groups:
0, 0  acc:  7767 /  9767 =  79.523
0, 1  acc:  6032 /  7535 =  80.053
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16372 / 19962 =  82.016
Robust  acc:  7767 /  9767 =  79.523
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7767 /  9767 =  79.523
0, 1  acc:  6032 /  7535 =  80.053
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16372 / 19962 =  82.016
Robust  acc:  7767 /  9767 =  79.523
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.012 | Val Loss: 0.005 | Val Acc: 79.544
Training:
Accuracies by groups:
0, 0  acc:  8224 / 14523 =  56.627
0, 1  acc:  4328 /  6555 =  66.026
1, 0  acc: 132271 / 133198 =  99.304
1, 1  acc:  8200 /  8494 =  96.539
--------------------------------------
Average acc: 153023 / 162770 =  94.012
Robust  acc:  8224 / 14523 =  56.627
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6076 /  8535 =  71.189
0, 1  acc:  6705 /  8276 =  81.017
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15803 / 19867 =  79.544
Robust  acc:  6076 /  8535 =  71.189
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 81.054
Robust Acc: 76.441 | Best Acc: 98.548
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7466 /  9767 =  76.441
0, 1  acc:  6098 /  7535 =  80.929
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16180 / 19962 =  81.054
Robust  acc:  7466 /  9767 =  76.441
------------------------------------
Accuracies by groups:
0, 0  acc:  7466 /  9767 =  76.441
0, 1  acc:  6098 /  7535 =  80.929
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16180 / 19962 =  81.054
Robust  acc:  7466 /  9767 =  76.441
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7466 /  9767 =  76.441
0, 1  acc:  6098 /  7535 =  80.929
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16180 / 19962 =  81.054
Robust  acc:  7466 /  9767 =  76.441
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.964 | Val Loss: 0.007 | Val Acc: 57.402
Training:
Accuracies by groups:
0, 0  acc:  8313 / 14572 =  57.048
0, 1  acc:  4287 /  6549 =  65.460
1, 0  acc: 132103 / 133071 =  99.273
1, 1  acc:  8243 /  8578 =  96.095
--------------------------------------
Average acc: 152946 / 162770 =  93.964
Robust  acc:  8313 / 14572 =  57.048
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4191 /  8535 =  49.104
0, 1  acc:  4163 /  8276 =  50.302
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 11404 / 19867 =  57.402
Robust  acc:  4191 /  8535 =  49.104
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 58.596
Robust Acc: 49.011 | Best Acc: 99.718
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  5354 /  9767 =  54.817
0, 1  acc:  3693 /  7535 =  49.011
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11697 / 19962 =  58.596
Robust  acc:  3693 /  7535 =  49.011
------------------------------------
Accuracies by groups:
0, 0  acc:  5354 /  9767 =  54.817
0, 1  acc:  3693 /  7535 =  49.011
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11697 / 19962 =  58.596
Robust  acc:  3693 /  7535 =  49.011
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5354 /  9767 =  54.817
0, 1  acc:  3693 /  7535 =  49.011
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11697 / 19962 =  58.596
Robust  acc:  3693 /  7535 =  49.011
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.069 | Val Loss: 0.006 | Val Acc: 68.928
Training:
Accuracies by groups:
0, 0  acc:  8376 / 14411 =  58.122
0, 1  acc:  4303 /  6588 =  65.316
1, 0  acc: 132220 / 133183 =  99.277
1, 1  acc:  8217 /  8588 =  95.680
--------------------------------------
Average acc: 153116 / 162770 =  94.069
Robust  acc:  8376 / 14411 =  58.122
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5054 /  8535 =  59.215
0, 1  acc:  5610 /  8276 =  67.786
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 13694 / 19867 =  68.928
Robust  acc:  5054 /  8535 =  59.215
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.798
Robust Acc: 64.124 | Best Acc: 98.952
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  6263 /  9767 =  64.124
0, 1  acc:  5042 /  7535 =  66.914
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 13933 / 19962 =  69.798
Robust  acc:  6263 /  9767 =  64.124
------------------------------------
Accuracies by groups:
0, 0  acc:  6263 /  9767 =  64.124
0, 1  acc:  5042 /  7535 =  66.914
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 13933 / 19962 =  69.798
Robust  acc:  6263 /  9767 =  64.124
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6263 /  9767 =  64.124
0, 1  acc:  5042 /  7535 =  66.914
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 13933 / 19962 =  69.798
Robust  acc:  6263 /  9767 =  64.124
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.126 | Val Loss: 0.005 | Val Acc: 77.002
Training:
Accuracies by groups:
0, 0  acc:  8471 / 14522 =  58.332
0, 1  acc:  4293 /  6531 =  65.733
1, 0  acc: 132287 / 133224 =  99.297
1, 1  acc:  8158 /  8493 =  96.056
--------------------------------------
Average acc: 153209 / 162770 =  94.126
Robust  acc:  8471 / 14522 =  58.332
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5571 /  8535 =  65.272
0, 1  acc:  6701 /  8276 =  80.969
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15298 / 19867 =  77.002
Robust  acc:  5571 /  8535 =  65.272
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.955
Robust Acc: 71.424 | Best Acc: 99.073
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  6976 /  9767 =  71.424
0, 1  acc:  6160 /  7535 =  81.752
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15761 / 19962 =  78.955
Robust  acc:  6976 /  9767 =  71.424
------------------------------------
Accuracies by groups:
0, 0  acc:  6976 /  9767 =  71.424
0, 1  acc:  6160 /  7535 =  81.752
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15761 / 19962 =  78.955
Robust  acc:  6976 /  9767 =  71.424
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6976 /  9767 =  71.424
0, 1  acc:  6160 /  7535 =  81.752
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 15761 / 19962 =  78.955
Robust  acc:  6976 /  9767 =  71.424
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.052 | Val Loss: 0.005 | Val Acc: 76.091
Training:
Accuracies by groups:
0, 0  acc:  8386 / 14468 =  57.962
0, 1  acc:  4381 /  6636 =  66.019
1, 0  acc: 132062 / 133096 =  99.223
1, 1  acc:  8260 /  8570 =  96.383
--------------------------------------
Average acc: 153089 / 162770 =  94.052
Robust  acc:  8386 / 14468 =  57.962
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5792 /  8535 =  67.862
0, 1  acc:  6302 /  8276 =  76.148
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15117 / 19867 =  76.091
Robust  acc:  5792 /  8535 =  67.862
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.167
Robust Acc: 73.410 | Best Acc: 98.589
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  7170 /  9767 =  73.410
0, 1  acc:  5616 /  7535 =  74.532
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15404 / 19962 =  77.167
Robust  acc:  7170 /  9767 =  73.410
------------------------------------
Accuracies by groups:
0, 0  acc:  7170 /  9767 =  73.410
0, 1  acc:  5616 /  7535 =  74.532
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15404 / 19962 =  77.167
Robust  acc:  7170 /  9767 =  73.410
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7170 /  9767 =  73.410
0, 1  acc:  5616 /  7535 =  74.532
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15404 / 19962 =  77.167
Robust  acc:  7170 /  9767 =  73.410
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.030 | Val Loss: 0.004 | Val Acc: 89.641
Training:
Accuracies by groups:
0, 0  acc:  8640 / 14670 =  58.896
0, 1  acc:  4358 /  6640 =  65.633
1, 0  acc: 131957 / 133031 =  99.193
1, 1  acc:  8098 /  8429 =  96.073
--------------------------------------
Average acc: 153053 / 162770 =  94.030
Robust  acc:  8640 / 14670 =  58.896
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7537 /  8535 =  88.307
0, 1  acc:  7524 /  8276 =  90.913
1, 0  acc:  2598 /  2874 =  90.397
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 17809 / 19867 =  89.641
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 90.592
Robust Acc: 74.444 | Best Acc: 91.082
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  8896 /  9767 =  91.082
0, 1  acc:  6847 /  7535 =  90.869
1, 0  acc:  2207 /  2480 =  88.992
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18084 / 19962 =  90.592
Robust  acc:   134 /   180 =  74.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8896 /  9767 =  91.082
0, 1  acc:  6847 /  7535 =  90.869
1, 0  acc:  2207 /  2480 =  88.992
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18084 / 19962 =  90.592
Robust  acc:   134 /   180 =  74.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8896 /  9767 =  91.082
0, 1  acc:  6847 /  7535 =  90.869
1, 0  acc:  2207 /  2480 =  88.992
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18084 / 19962 =  90.592
Robust  acc:   134 /   180 =  74.444
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.055 | Val Loss: 0.004 | Val Acc: 89.933
Training:
Accuracies by groups:
0, 0  acc:  8550 / 14563 =  58.710
0, 1  acc:  4519 /  6678 =  67.670
1, 0  acc: 131867 / 133044 =  99.115
1, 1  acc:  8157 /  8485 =  96.134
--------------------------------------
Average acc: 153093 / 162770 =  94.055
Robust  acc:  8550 / 14563 =  58.710
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7308 /  8535 =  85.624
0, 1  acc:  7652 /  8276 =  92.460
1, 0  acc:  2757 /  2874 =  95.929
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 17867 / 19867 =  89.933
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 90.978
Robust Acc: 75.556 | Best Acc: 94.960
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  8667 /  9767 =  88.738
0, 1  acc:  7003 /  7535 =  92.940
1, 0  acc:  2355 /  2480 =  94.960
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18161 / 19962 =  90.978
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8667 /  9767 =  88.738
0, 1  acc:  7003 /  7535 =  92.940
1, 0  acc:  2355 /  2480 =  94.960
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18161 / 19962 =  90.978
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8667 /  9767 =  88.738
0, 1  acc:  7003 /  7535 =  92.940
1, 0  acc:  2355 /  2480 =  94.960
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18161 / 19962 =  90.978
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.207 | Val Loss: 0.005 | Val Acc: 76.403
Training:
Accuracies by groups:
0, 0  acc:  8480 / 14272 =  59.417
0, 1  acc:  4432 /  6607 =  67.080
1, 0  acc: 132209 / 133308 =  99.176
1, 1  acc:  8220 /  8583 =  95.771
--------------------------------------
Average acc: 153341 / 162770 =  94.207
Robust  acc:  8480 / 14272 =  59.417
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5668 /  8535 =  66.409
0, 1  acc:  6476 /  8276 =  78.250
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15179 / 19867 =  76.403
Robust  acc:  5668 /  8535 =  66.409
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.093
Robust Acc: 71.793 | Best Acc: 99.153
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  7012 /  9767 =  71.793
0, 1  acc:  5945 /  7535 =  78.898
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15589 / 19962 =  78.093
Robust  acc:  7012 /  9767 =  71.793
------------------------------------
Accuracies by groups:
0, 0  acc:  7012 /  9767 =  71.793
0, 1  acc:  5945 /  7535 =  78.898
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15589 / 19962 =  78.093
Robust  acc:  7012 /  9767 =  71.793
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7012 /  9767 =  71.793
0, 1  acc:  5945 /  7535 =  78.898
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15589 / 19962 =  78.093
Robust  acc:  7012 /  9767 =  71.793
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.264 | Val Loss: 0.004 | Val Acc: 81.245
Training:
Accuracies by groups:
0, 0  acc:  8711 / 14466 =  60.217
0, 1  acc:  4425 /  6582 =  67.229
1, 0  acc: 132093 / 133156 =  99.202
1, 1  acc:  8204 /  8566 =  95.774
--------------------------------------
Average acc: 153433 / 162770 =  94.264
Robust  acc:  8711 / 14466 =  60.217
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6270 /  8535 =  73.462
0, 1  acc:  6850 /  8276 =  82.769
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16141 / 19867 =  81.245
Robust  acc:  6270 /  8535 =  73.462
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.988
Robust Acc: 78.550 | Best Acc: 98.508
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  7672 /  9767 =  78.550
0, 1  acc:  6287 /  7535 =  83.437
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16566 / 19962 =  82.988
Robust  acc:  7672 /  9767 =  78.550
------------------------------------
Accuracies by groups:
0, 0  acc:  7672 /  9767 =  78.550
0, 1  acc:  6287 /  7535 =  83.437
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16566 / 19962 =  82.988
Robust  acc:  7672 /  9767 =  78.550
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7672 /  9767 =  78.550
0, 1  acc:  6287 /  7535 =  83.437
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16566 / 19962 =  82.988
Robust  acc:  7672 /  9767 =  78.550
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.154 | Val Loss: 0.010 | Val Acc: 30.140
Training:
Accuracies by groups:
0, 0  acc:  8645 / 14566 =  59.351
0, 1  acc:  4405 /  6543 =  67.324
1, 0  acc: 131954 / 133065 =  99.165
1, 1  acc:  8251 /  8596 =  95.987
--------------------------------------
Average acc: 153255 / 162770 =  94.154
Robust  acc:  8645 / 14566 =  59.351
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1032 /  8535 =  12.091
0, 1  acc:  1900 /  8276 =  22.958
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  5988 / 19867 =  30.140
Robust  acc:  1032 /  8535 =  12.091
------------------------------------
-------------------------------------------
Avg Test Loss: 0.010 | Avg Test Acc: 28.479
Robust Acc: 14.621 | Best Acc: 100.000
--------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  1428 /  9767 =  14.621
0, 1  acc:  1598 /  7535 =  21.208
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5685 / 19962 =  28.479
Robust  acc:  1428 /  9767 =  14.621
------------------------------------
Accuracies by groups:
0, 0  acc:  1428 /  9767 =  14.621
0, 1  acc:  1598 /  7535 =  21.208
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5685 / 19962 =  28.479
Robust  acc:  1428 /  9767 =  14.621
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  1428 /  9767 =  14.621
0, 1  acc:  1598 /  7535 =  21.208
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5685 / 19962 =  28.479
Robust  acc:  1428 /  9767 =  14.621
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.264 | Val Loss: 0.011 | Val Acc: 29.919
Training:
Accuracies by groups:
0, 0  acc:  8547 / 14377 =  59.449
0, 1  acc:  4463 /  6545 =  68.189
1, 0  acc: 132102 / 133203 =  99.173
1, 1  acc:  8321 /  8645 =  96.252
--------------------------------------
Average acc: 153433 / 162770 =  94.264
Robust  acc:  8547 / 14377 =  59.449
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1378 /  8535 =  16.145
0, 1  acc:  1510 /  8276 =  18.246
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  5944 / 19867 =  29.919
Robust  acc:  1378 /  8535 =  16.145
------------------------------------
-------------------------------------------
Avg Test Loss: 0.011 | Avg Test Acc: 28.845
Robust Acc: 16.536 | Best Acc: 100.000
--------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  1852 /  9767 =  18.962
0, 1  acc:  1246 /  7535 =  16.536
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  5758 / 19962 =  28.845
Robust  acc:  1246 /  7535 =  16.536
------------------------------------
Accuracies by groups:
0, 0  acc:  1852 /  9767 =  18.962
0, 1  acc:  1246 /  7535 =  16.536
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  5758 / 19962 =  28.845
Robust  acc:  1246 /  7535 =  16.536
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  1852 /  9767 =  18.962
0, 1  acc:  1246 /  7535 =  16.536
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  5758 / 19962 =  28.845
Robust  acc:  1246 /  7535 =  16.536
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.271 | Val Loss: 0.005 | Val Acc: 79.267
Training:
Accuracies by groups:
0, 0  acc:  8700 / 14443 =  60.237
0, 1  acc:  4402 /  6464 =  68.100
1, 0  acc: 132102 / 133249 =  99.139
1, 1  acc:  8241 /  8614 =  95.670
--------------------------------------
Average acc: 153445 / 162770 =  94.271
Robust  acc:  8700 / 14443 =  60.237
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5939 /  8535 =  69.584
0, 1  acc:  6794 /  8276 =  82.093
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 15748 / 19867 =  79.267
Robust  acc:  5939 /  8535 =  69.584
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 81.079
Robust Acc: 74.844 | Best Acc: 98.790
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  7310 /  9767 =  74.844
0, 1  acc:  6262 /  7535 =  83.106
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16185 / 19962 =  81.079
Robust  acc:  7310 /  9767 =  74.844
------------------------------------
Accuracies by groups:
0, 0  acc:  7310 /  9767 =  74.844
0, 1  acc:  6262 /  7535 =  83.106
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16185 / 19962 =  81.079
Robust  acc:  7310 /  9767 =  74.844
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7310 /  9767 =  74.844
0, 1  acc:  6262 /  7535 =  83.106
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16185 / 19962 =  81.079
Robust  acc:  7310 /  9767 =  74.844
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.299 | Val Loss: 0.004 | Val Acc: 84.935
Training:
Accuracies by groups:
0, 0  acc:  8716 / 14525 =  60.007
0, 1  acc:  4477 /  6551 =  68.341
1, 0  acc: 132092 / 133137 =  99.215
1, 1  acc:  8205 /  8557 =  95.886
--------------------------------------
Average acc: 153490 / 162770 =  94.299
Robust  acc:  8716 / 14525 =  60.007
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6796 /  8535 =  79.625
0, 1  acc:  7113 /  8276 =  85.947
1, 0  acc:  2796 /  2874 =  97.286
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 16874 / 19867 =  84.935
Robust  acc:  6796 /  8535 =  79.625
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.439
Robust Acc: 83.977 | Best Acc: 96.976
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  8202 /  9767 =  83.977
0, 1  acc:  6491 /  7535 =  86.145
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17255 / 19962 =  86.439
Robust  acc:  8202 /  9767 =  83.977
------------------------------------
Accuracies by groups:
0, 0  acc:  8202 /  9767 =  83.977
0, 1  acc:  6491 /  7535 =  86.145
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17255 / 19962 =  86.439
Robust  acc:  8202 /  9767 =  83.977
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8202 /  9767 =  83.977
0, 1  acc:  6491 /  7535 =  86.145
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17255 / 19962 =  86.439
Robust  acc:  8202 /  9767 =  83.977
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.267 | Val Loss: 0.005 | Val Acc: 78.190
Training:
Accuracies by groups:
0, 0  acc:  8756 / 14459 =  60.557
0, 1  acc:  4422 /  6523 =  67.791
1, 0  acc: 131994 / 133149 =  99.133
1, 1  acc:  8267 /  8639 =  95.694
--------------------------------------
Average acc: 153439 / 162770 =  94.267
Robust  acc:  8756 / 14459 =  60.557
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5848 /  8535 =  68.518
0, 1  acc:  6649 /  8276 =  80.341
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15534 / 19867 =  78.190
Robust  acc:  5848 /  8535 =  68.518
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.802
Robust Acc: 73.974 | Best Acc: 98.790
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  7225 /  9767 =  73.974
0, 1  acc:  6083 /  7535 =  80.730
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15930 / 19962 =  79.802
Robust  acc:  7225 /  9767 =  73.974
------------------------------------
Accuracies by groups:
0, 0  acc:  7225 /  9767 =  73.974
0, 1  acc:  6083 /  7535 =  80.730
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15930 / 19962 =  79.802
Robust  acc:  7225 /  9767 =  73.974
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7225 /  9767 =  73.974
0, 1  acc:  6083 /  7535 =  80.730
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15930 / 19962 =  79.802
Robust  acc:  7225 /  9767 =  73.974
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.329 | Val Loss: 0.007 | Val Acc: 61.595
Training:
Accuracies by groups:
0, 0  acc:  8589 / 14280 =  60.147
0, 1  acc:  4479 /  6451 =  69.431
1, 0  acc: 132410 / 133570 =  99.132
1, 1  acc:  8061 /  8469 =  95.182
--------------------------------------
Average acc: 153539 / 162770 =  94.329
Robust  acc:  8589 / 14280 =  60.147
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4169 /  8535 =  48.846
0, 1  acc:  5019 /  8276 =  60.645
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12237 / 19867 =  61.595
Robust  acc:  4169 /  8535 =  48.846
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 62.869
Robust Acc: 54.909 | Best Acc: 99.637
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  5363 /  9767 =  54.909
0, 1  acc:  4539 /  7535 =  60.239
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12550 / 19962 =  62.869
Robust  acc:  5363 /  9767 =  54.909
------------------------------------
Accuracies by groups:
0, 0  acc:  5363 /  9767 =  54.909
0, 1  acc:  4539 /  7535 =  60.239
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12550 / 19962 =  62.869
Robust  acc:  5363 /  9767 =  54.909
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5363 /  9767 =  54.909
0, 1  acc:  4539 /  7535 =  60.239
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12550 / 19962 =  62.869
Robust  acc:  5363 /  9767 =  54.909
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.277 | Val Loss: 0.010 | Val Acc: 34.686
Training:
Accuracies by groups:
0, 0  acc:  8629 / 14413 =  59.870
0, 1  acc:  4546 /  6623 =  68.640
1, 0  acc: 131901 / 132999 =  99.174
1, 1  acc:  8378 /  8735 =  95.913
--------------------------------------
Average acc: 153454 / 162770 =  94.277
Robust  acc:  8629 / 14413 =  59.870
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2348 /  8535 =  27.510
0, 1  acc:  1488 /  8276 =  17.980
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  6891 / 19867 =  34.686
Robust  acc:  1488 /  8276 =  17.980
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 34.516
Robust Acc: 17.067 | Best Acc: 100.000
--------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  2946 /  9767 =  30.163
0, 1  acc:  1286 /  7535 =  17.067
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  6890 / 19962 =  34.516
Robust  acc:  1286 /  7535 =  17.067
------------------------------------
Accuracies by groups:
0, 0  acc:  2946 /  9767 =  30.163
0, 1  acc:  1286 /  7535 =  17.067
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  6890 / 19962 =  34.516
Robust  acc:  1286 /  7535 =  17.067
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2946 /  9767 =  30.163
0, 1  acc:  1286 /  7535 =  17.067
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  6890 / 19962 =  34.516
Robust  acc:  1286 /  7535 =  17.067
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.213 | Val Loss: 0.005 | Val Acc: 70.856
Training:
Accuracies by groups:
0, 0  acc:  8689 / 14523 =  59.829
0, 1  acc:  4390 /  6390 =  68.701
1, 0  acc: 131939 / 133145 =  99.094
1, 1  acc:  8333 /  8712 =  95.650
--------------------------------------
Average acc: 153351 / 162770 =  94.213
Robust  acc:  8689 / 14523 =  59.829
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5369 /  8535 =  62.906
0, 1  acc:  5674 /  8276 =  68.560
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14077 / 19867 =  70.856
Robust  acc:  5369 /  8535 =  62.906
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.668
Robust Acc: 68.016 | Best Acc: 99.395
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  6741 /  9767 =  69.018
0, 1  acc:  5125 /  7535 =  68.016
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14506 / 19962 =  72.668
Robust  acc:  5125 /  7535 =  68.016
------------------------------------
Accuracies by groups:
0, 0  acc:  6741 /  9767 =  69.018
0, 1  acc:  5125 /  7535 =  68.016
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14506 / 19962 =  72.668
Robust  acc:  5125 /  7535 =  68.016
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6741 /  9767 =  69.018
0, 1  acc:  5125 /  7535 =  68.016
1, 0  acc:  2465 /  2480 =  99.395
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14506 / 19962 =  72.668
Robust  acc:  5125 /  7535 =  68.016
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed13.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed13.pt
