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: 19
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=19-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.721 | Val Loss: 0.004 | Val Acc: 78.799
Training:
Accuracies by groups:
0, 0  acc:  5550 / 14362 =  38.644
0, 1  acc:  2931 /  6615 =  44.308
1, 0  acc: 130906 / 133080 =  98.366
1, 1  acc:  8280 /  8713 =  95.030
--------------------------------------
Average acc: 147667 / 162770 =  90.721
Robust  acc:  5550 / 14362 =  38.644
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6104 /  8535 =  71.517
0, 1  acc:  6532 /  8276 =  78.927
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 15655 / 19867 =  78.799
Robust  acc:  6104 /  8535 =  71.517
------------------------------------
New max robust acc: 71.51728178090217
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed19.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed19.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 80.859
Robust Acc: 77.270 | Best Acc: 98.750
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7547 /  9767 =  77.270
0, 1  acc:  5977 /  7535 =  79.323
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16141 / 19962 =  80.859
Robust  acc:  7547 /  9767 =  77.270
------------------------------------
Accuracies by groups:
0, 0  acc:  7547 /  9767 =  77.270
0, 1  acc:  5977 /  7535 =  79.323
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16141 / 19962 =  80.859
Robust  acc:  7547 /  9767 =  77.270
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7547 /  9767 =  77.270
0, 1  acc:  5977 /  7535 =  79.323
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16141 / 19962 =  80.859
Robust  acc:  7547 /  9767 =  77.270
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.532 | Val Loss: 0.003 | Val Acc: 84.406
Training:
Accuracies by groups:
0, 0  acc:  9036 / 14387 =  62.807
0, 1  acc:  4681 /  6455 =  72.517
1, 0  acc: 132160 / 133439 =  99.042
1, 1  acc:  7993 /  8489 =  94.157
--------------------------------------
Average acc: 153870 / 162770 =  94.532
Robust  acc:  9036 / 14387 =  62.807
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6525 /  8535 =  76.450
0, 1  acc:  7233 /  8276 =  87.397
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16769 / 19867 =  84.406
Robust  acc:  6525 /  8535 =  76.450
------------------------------------
New max robust acc: 76.44991212653778
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed19.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed19.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.868
Robust Acc: 81.397 | Best Acc: 98.710
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7950 /  9767 =  81.397
0, 1  acc:  6577 /  7535 =  87.286
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17141 / 19962 =  85.868
Robust  acc:  7950 /  9767 =  81.397
------------------------------------
Accuracies by groups:
0, 0  acc:  7950 /  9767 =  81.397
0, 1  acc:  6577 /  7535 =  87.286
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17141 / 19962 =  85.868
Robust  acc:  7950 /  9767 =  81.397
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7950 /  9767 =  81.397
0, 1  acc:  6577 /  7535 =  87.286
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17141 / 19962 =  85.868
Robust  acc:  7950 /  9767 =  81.397
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.338 | Val Loss: 0.003 | Val Acc: 86.485
Training:
Accuracies by groups:
0, 0  acc:  9834 / 14490 =  67.867
0, 1  acc:  5298 /  6640 =  79.789
1, 0  acc: 132003 / 133119 =  99.162
1, 1  acc:  8046 /  8521 =  94.426
--------------------------------------
Average acc: 155181 / 162770 =  95.338
Robust  acc:  9834 / 14490 =  67.867
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6709 /  8535 =  78.606
0, 1  acc:  7458 /  8276 =  90.116
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17182 / 19867 =  86.485
Robust  acc:  6709 /  8535 =  78.606
------------------------------------
New max robust acc: 78.60574106619801
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed19.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed19.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.456
Robust Acc: 83.076 | Best Acc: 98.468
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8114 /  9767 =  83.076
0, 1  acc:  6740 /  7535 =  89.449
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17458 / 19962 =  87.456
Robust  acc:  8114 /  9767 =  83.076
------------------------------------
Accuracies by groups:
0, 0  acc:  8114 /  9767 =  83.076
0, 1  acc:  6740 /  7535 =  89.449
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17458 / 19962 =  87.456
Robust  acc:  8114 /  9767 =  83.076
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8114 /  9767 =  83.076
0, 1  acc:  6740 /  7535 =  89.449
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17458 / 19962 =  87.456
Robust  acc:  8114 /  9767 =  83.076
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.726 | Val Loss: 0.003 | Val Acc: 86.319
Training:
Accuracies by groups:
0, 0  acc: 10044 / 14514 =  69.202
0, 1  acc:  5519 /  6560 =  84.131
1, 0  acc: 132105 / 133140 =  99.223
1, 1  acc:  8145 /  8556 =  95.196
--------------------------------------
Average acc: 155813 / 162770 =  95.726
Robust  acc: 10044 / 14514 =  69.202
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6672 /  8535 =  78.172
0, 1  acc:  7459 /  8276 =  90.128
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 17149 / 19867 =  86.319
Robust  acc:  6672 /  8535 =  78.172
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.491
Robust Acc: 82.881 | Best Acc: 98.427
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8095 /  9767 =  82.881
0, 1  acc:  6764 /  7535 =  89.768
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17465 / 19962 =  87.491
Robust  acc:  8095 /  9767 =  82.881
------------------------------------
Accuracies by groups:
0, 0  acc:  8095 /  9767 =  82.881
0, 1  acc:  6764 /  7535 =  89.768
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17465 / 19962 =  87.491
Robust  acc:  8095 /  9767 =  82.881
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8095 /  9767 =  82.881
0, 1  acc:  6764 /  7535 =  89.768
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17465 / 19962 =  87.491
Robust  acc:  8095 /  9767 =  82.881
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.247 | Val Loss: 0.002 | Val Acc: 88.695
Training:
Accuracies by groups:
0, 0  acc: 10390 / 14466 =  71.824
0, 1  acc:  5713 /  6620 =  86.299
1, 0  acc: 132402 / 133224 =  99.383
1, 1  acc:  8156 /  8460 =  96.407
--------------------------------------
Average acc: 156661 / 162770 =  96.247
Robust  acc: 10390 / 14466 =  71.824
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6933 /  8535 =  81.230
0, 1  acc:  7695 /  8276 =  92.980
1, 0  acc:  2821 /  2874 =  98.156
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17621 / 19867 =  88.695
Robust  acc:  6933 /  8535 =  81.230
------------------------------------
New max robust acc: 81.23022847100175
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed19.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed19.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.370
Robust Acc: 84.806 | Best Acc: 97.903
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8283 /  9767 =  84.806
0, 1  acc:  6974 /  7535 =  92.555
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17840 / 19962 =  89.370
Robust  acc:  8283 /  9767 =  84.806
------------------------------------
Accuracies by groups:
0, 0  acc:  8283 /  9767 =  84.806
0, 1  acc:  6974 /  7535 =  92.555
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17840 / 19962 =  89.370
Robust  acc:  8283 /  9767 =  84.806
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8283 /  9767 =  84.806
0, 1  acc:  6974 /  7535 =  92.555
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17840 / 19962 =  89.370
Robust  acc:  8283 /  9767 =  84.806
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.749 | Val Loss: 0.002 | Val Acc: 90.280
Training:
Accuracies by groups:
0, 0  acc: 10579 / 14304 =  73.958
0, 1  acc:  5705 /  6493 =  87.864
1, 0  acc: 132672 / 133262 =  99.557
1, 1  acc:  8523 /  8711 =  97.842
--------------------------------------
Average acc: 157479 / 162770 =  96.749
Robust  acc: 10579 / 14304 =  73.958
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7151 /  8535 =  83.784
0, 1  acc:  7805 /  8276 =  94.309
1, 0  acc:  2812 /  2874 =  97.843
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17936 / 19867 =  90.280
Robust  acc:  7151 /  8535 =  83.784
------------------------------------
New max robust acc: 83.78441710603398
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed19.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed19.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.813
Robust Acc: 86.111 | Best Acc: 97.500
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8494 /  9767 =  86.966
0, 1  acc:  7061 /  7535 =  93.709
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18128 / 19962 =  90.813
Robust  acc:   155 /   180 =  86.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8494 /  9767 =  86.966
0, 1  acc:  7061 /  7535 =  93.709
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18128 / 19962 =  90.813
Robust  acc:   155 /   180 =  86.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8494 /  9767 =  86.966
0, 1  acc:  7061 /  7535 =  93.709
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18128 / 19962 =  90.813
Robust  acc:   155 /   180 =  86.111
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.296 | Val Loss: 0.002 | Val Acc: 91.237
Training:
Accuracies by groups:
0, 0  acc: 11122 / 14439 =  77.027
0, 1  acc:  5938 /  6612 =  89.806
1, 0  acc: 132756 / 133075 =  99.760
1, 1  acc:  8553 /  8644 =  98.947
--------------------------------------
Average acc: 158369 / 162770 =  97.296
Robust  acc: 11122 / 14439 =  77.027
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7275 /  8535 =  85.237
0, 1  acc:  7896 /  8276 =  95.408
1, 0  acc:  2795 /  2874 =  97.251
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 18126 / 19867 =  91.237
Robust  acc:  7275 /  8535 =  85.237
------------------------------------
New max robust acc: 85.23725834797891
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed19.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed19.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.754
Robust Acc: 81.111 | Best Acc: 96.815
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  7167 /  7535 =  95.116
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18316 / 19962 =  91.754
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  7167 /  7535 =  95.116
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18316 / 19962 =  91.754
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  7167 /  7535 =  95.116
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18316 / 19962 =  91.754
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.820 | Val Loss: 0.002 | Val Acc: 92.253
Training:
Accuracies by groups:
0, 0  acc: 11755 / 14557 =  80.752
0, 1  acc:  6140 /  6688 =  91.806
1, 0  acc: 132661 / 132825 =  99.877
1, 1  acc:  8666 /  8700 =  99.609
--------------------------------------
Average acc: 159222 / 162770 =  97.820
Robust  acc: 11755 / 14557 =  80.752
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7458 /  8535 =  87.381
0, 1  acc:  7947 /  8276 =  96.025
1, 0  acc:  2771 /  2874 =  96.416
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18328 / 19867 =  92.253
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.521
Robust Acc: 78.333 | Best Acc: 95.660
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8753 /  9767 =  89.618
0, 1  acc:  7208 /  7535 =  95.660
1, 0  acc:  2367 /  2480 =  95.444
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18469 / 19962 =  92.521
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8753 /  9767 =  89.618
0, 1  acc:  7208 /  7535 =  95.660
1, 0  acc:  2367 /  2480 =  95.444
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18469 / 19962 =  92.521
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8753 /  9767 =  89.618
0, 1  acc:  7208 /  7535 =  95.660
1, 0  acc:  2367 /  2480 =  95.444
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18469 / 19962 =  92.521
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.229 | Val Loss: 0.002 | Val Acc: 91.795
Training:
Accuracies by groups:
0, 0  acc: 12180 / 14499 =  84.006
0, 1  acc:  6168 /  6616 =  93.229
1, 0  acc: 132858 / 132952 =  99.929
1, 1  acc:  8681 /  8703 =  99.747
--------------------------------------
Average acc: 159887 / 162770 =  98.229
Robust  acc: 12180 / 14499 =  84.006
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7387 /  8535 =  86.550
0, 1  acc:  7929 /  8276 =  95.807
1, 0  acc:  2770 /  2874 =  96.381
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 18237 / 19867 =  91.795
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.340
Robust Acc: 78.889 | Best Acc: 95.685
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8728 /  9767 =  89.362
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2373 /  2480 =  95.685
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18433 / 19962 =  92.340
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8728 /  9767 =  89.362
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2373 /  2480 =  95.685
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18433 / 19962 =  92.340
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8728 /  9767 =  89.362
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2373 /  2480 =  95.685
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18433 / 19962 =  92.340
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.491 | Val Loss: 0.001 | Val Acc: 93.995
Training:
Accuracies by groups:
0, 0  acc: 12417 / 14410 =  86.169
0, 1  acc:  6186 /  6526 =  94.790
1, 0  acc: 133146 / 133240 =  99.929
1, 1  acc:  8564 /  8594 =  99.651
--------------------------------------
Average acc: 160313 / 162770 =  98.491
Robust  acc: 12417 / 14410 =  86.169
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7791 /  8535 =  91.283
0, 1  acc:  8094 /  8276 =  97.801
1, 0  acc:  2659 /  2874 =  92.519
1, 1  acc:   130 /   182 =  71.429
------------------------------------
Average acc: 18674 / 19867 =  93.995
Robust  acc:   130 /   182 =  71.429
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.284
Robust Acc: 71.667 | Best Acc: 97.412
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9091 /  9767 =  93.079
0, 1  acc:  7340 /  7535 =  97.412
1, 0  acc:  2261 /  2480 =  91.169
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18821 / 19962 =  94.284
Robust  acc:   129 /   180 =  71.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9091 /  9767 =  93.079
0, 1  acc:  7340 /  7535 =  97.412
1, 0  acc:  2261 /  2480 =  91.169
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18821 / 19962 =  94.284
Robust  acc:   129 /   180 =  71.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9091 /  9767 =  93.079
0, 1  acc:  7340 /  7535 =  97.412
1, 0  acc:  2261 /  2480 =  91.169
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18821 / 19962 =  94.284
Robust  acc:   129 /   180 =  71.667
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.445 | Val Loss: 0.002 | Val Acc: 91.901
Training:
Accuracies by groups:
0, 0  acc: 12532 / 14502 =  86.416
0, 1  acc:  6126 /  6478 =  94.566
1, 0  acc: 133037 / 133192 =  99.884
1, 1  acc:  8544 /  8598 =  99.372
--------------------------------------
Average acc: 160239 / 162770 =  98.445
Robust  acc: 12532 / 14502 =  86.416
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7378 /  8535 =  86.444
0, 1  acc:  7969 /  8276 =  96.290
1, 0  acc:  2768 /  2874 =  96.312
1, 1  acc:   143 /   182 =  78.571
------------------------------------
Average acc: 18258 / 19867 =  91.901
Robust  acc:   143 /   182 =  78.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.280
Robust Acc: 77.222 | Best Acc: 95.660
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8718 /  9767 =  89.260
0, 1  acc:  7208 /  7535 =  95.660
1, 0  acc:  2356 /  2480 =  95.000
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18421 / 19962 =  92.280
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8718 /  9767 =  89.260
0, 1  acc:  7208 /  7535 =  95.660
1, 0  acc:  2356 /  2480 =  95.000
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18421 / 19962 =  92.280
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8718 /  9767 =  89.260
0, 1  acc:  7208 /  7535 =  95.660
1, 0  acc:  2356 /  2480 =  95.000
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18421 / 19962 =  92.280
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.266 | Val Loss: 0.001 | Val Acc: 93.643
Training:
Accuracies by groups:
0, 0  acc: 12243 / 14334 =  85.412
0, 1  acc:  6278 /  6661 =  94.250
1, 0  acc: 132853 / 133112 =  99.805
1, 1  acc:  8573 /  8663 =  98.961
--------------------------------------
Average acc: 159947 / 162770 =  98.266
Robust  acc: 12243 / 14334 =  85.412
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7751 /  8535 =  90.814
0, 1  acc:  8104 /  8276 =  97.922
1, 0  acc:  2626 /  2874 =  91.371
1, 1  acc:   123 /   182 =  67.582
------------------------------------
Average acc: 18604 / 19867 =  93.643
Robust  acc:   123 /   182 =  67.582
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.054
Robust Acc: 64.444 | Best Acc: 97.346
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  9078 /  9767 =  92.946
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2246 /  2480 =  90.565
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18775 / 19962 =  94.054
Robust  acc:   116 /   180 =  64.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9078 /  9767 =  92.946
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2246 /  2480 =  90.565
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18775 / 19962 =  94.054
Robust  acc:   116 /   180 =  64.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9078 /  9767 =  92.946
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2246 /  2480 =  90.565
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18775 / 19962 =  94.054
Robust  acc:   116 /   180 =  64.444
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.845 | Val Loss: 0.002 | Val Acc: 92.923
Training:
Accuracies by groups:
0, 0  acc: 11857 / 14350 =  82.627
0, 1  acc:  6144 /  6606 =  93.006
1, 0  acc: 132799 / 133220 =  99.684
1, 1  acc:  8463 /  8594 =  98.476
--------------------------------------
Average acc: 159263 / 162770 =  97.845
Robust  acc: 11857 / 14350 =  82.627
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7529 /  8535 =  88.213
0, 1  acc:  8061 /  8276 =  97.402
1, 0  acc:  2730 /  2874 =  94.990
1, 1  acc:   141 /   182 =  77.473
------------------------------------
Average acc: 18461 / 19867 =  92.923
Robust  acc:   141 /   182 =  77.473
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.543
Robust Acc: 69.444 | Best Acc: 97.120
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8889 /  9767 =  91.011
0, 1  acc:  7318 /  7535 =  97.120
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18673 / 19962 =  93.543
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8889 /  9767 =  91.011
0, 1  acc:  7318 /  7535 =  97.120
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18673 / 19962 =  93.543
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8889 /  9767 =  91.011
0, 1  acc:  7318 /  7535 =  97.120
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18673 / 19962 =  93.543
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.476 | Val Loss: 0.001 | Val Acc: 94.302
Training:
Accuracies by groups:
0, 0  acc: 11639 / 14475 =  80.408
0, 1  acc:  6052 /  6604 =  91.641
1, 0  acc: 132391 / 132936 =  99.590
1, 1  acc:  8579 /  8755 =  97.990
--------------------------------------
Average acc: 158661 / 162770 =  97.476
Robust  acc: 11639 / 14475 =  80.408
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7902 /  8535 =  92.583
0, 1  acc:  8106 /  8276 =  97.946
1, 0  acc:  2596 /  2874 =  90.327
1, 1  acc:   131 /   182 =  71.978
------------------------------------
Average acc: 18735 / 19867 =  94.302
Robust  acc:   131 /   182 =  71.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.429
Robust Acc: 62.222 | Best Acc: 97.439
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  9183 /  9767 =  94.021
0, 1  acc:  7342 /  7535 =  97.439
1, 0  acc:  2213 /  2480 =  89.234
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18850 / 19962 =  94.429
Robust  acc:   112 /   180 =  62.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9183 /  9767 =  94.021
0, 1  acc:  7342 /  7535 =  97.439
1, 0  acc:  2213 /  2480 =  89.234
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18850 / 19962 =  94.429
Robust  acc:   112 /   180 =  62.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9183 /  9767 =  94.021
0, 1  acc:  7342 /  7535 =  97.439
1, 0  acc:  2213 /  2480 =  89.234
1, 1  acc:   112 /   180 =  62.222
------------------------------------
Average acc: 18850 / 19962 =  94.429
Robust  acc:   112 /   180 =  62.222
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.993 | Val Loss: 0.002 | Val Acc: 92.374
Training:
Accuracies by groups:
0, 0  acc: 11153 / 14401 =  77.446
0, 1  acc:  5793 /  6453 =  89.772
1, 0  acc: 132480 / 133222 =  99.443
1, 1  acc:  8449 /  8694 =  97.182
--------------------------------------
Average acc: 157875 / 162770 =  96.993
Robust  acc: 11153 / 14401 =  77.446
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7501 /  8535 =  87.885
0, 1  acc:  7959 /  8276 =  96.170
1, 0  acc:  2744 /  2874 =  95.477
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 18352 / 19867 =  92.374
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.871
Robust Acc: 73.333 | Best Acc: 95.833
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8846 /  9767 =  90.570
0, 1  acc:  7221 /  7535 =  95.833
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18539 / 19962 =  92.871
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8846 /  9767 =  90.570
0, 1  acc:  7221 /  7535 =  95.833
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18539 / 19962 =  92.871
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8846 /  9767 =  90.570
0, 1  acc:  7221 /  7535 =  95.833
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18539 / 19962 =  92.871
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.486 | Val Loss: 0.002 | Val Acc: 94.136
Training:
Accuracies by groups:
0, 0  acc: 10764 / 14459 =  74.445
0, 1  acc:  5625 /  6404 =  87.836
1, 0  acc: 132443 / 133368 =  99.306
1, 1  acc:  8218 /  8539 =  96.241
--------------------------------------
Average acc: 157050 / 162770 =  96.486
Robust  acc: 10764 / 14459 =  74.445
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7859 /  8535 =  92.080
0, 1  acc:  8117 /  8276 =  98.079
1, 0  acc:  2609 /  2874 =  90.779
1, 1  acc:   117 /   182 =  64.286
------------------------------------
Average acc: 18702 / 19867 =  94.136
Robust  acc:   117 /   182 =  64.286
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.264
Robust Acc: 58.889 | Best Acc: 97.439
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  9141 /  9767 =  93.591
0, 1  acc:  7342 /  7535 =  97.439
1, 0  acc:  2228 /  2480 =  89.839
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18817 / 19962 =  94.264
Robust  acc:   106 /   180 =  58.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9141 /  9767 =  93.591
0, 1  acc:  7342 /  7535 =  97.439
1, 0  acc:  2228 /  2480 =  89.839
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18817 / 19962 =  94.264
Robust  acc:   106 /   180 =  58.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9141 /  9767 =  93.591
0, 1  acc:  7342 /  7535 =  97.439
1, 0  acc:  2228 /  2480 =  89.839
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18817 / 19962 =  94.264
Robust  acc:   106 /   180 =  58.889
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 96.008 | Val Loss: 0.004 | Val Acc: 80.742
Training:
Accuracies by groups:
0, 0  acc: 10556 / 14667 =  71.971
0, 1  acc:  5537 /  6428 =  86.139
1, 0  acc: 131934 / 133045 =  99.165
1, 1  acc:  8246 /  8630 =  95.550
--------------------------------------
Average acc: 156273 / 162770 =  96.008
Robust  acc: 10556 / 14667 =  71.971
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5947 /  8535 =  69.678
0, 1  acc:  7061 /  8276 =  85.319
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16041 / 19867 =  80.742
Robust  acc:  5947 /  8535 =  69.678
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.507
Robust Acc: 75.346 | Best Acc: 99.274
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  7359 /  9767 =  75.346
0, 1  acc:  6483 /  7535 =  86.038
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16470 / 19962 =  82.507
Robust  acc:  7359 /  9767 =  75.346
------------------------------------
Accuracies by groups:
0, 0  acc:  7359 /  9767 =  75.346
0, 1  acc:  6483 /  7535 =  86.038
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16470 / 19962 =  82.507
Robust  acc:  7359 /  9767 =  75.346
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7359 /  9767 =  75.346
0, 1  acc:  6483 /  7535 =  86.038
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16470 / 19962 =  82.507
Robust  acc:  7359 /  9767 =  75.346
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.666 | Val Loss: 0.007 | Val Acc: 58.559
Training:
Accuracies by groups:
0, 0  acc: 10153 / 14501 =  70.016
0, 1  acc:  5434 /  6531 =  83.203
1, 0  acc: 131973 / 133180 =  99.094
1, 1  acc:  8156 /  8558 =  95.303
--------------------------------------
Average acc: 155716 / 162770 =  95.666
Robust  acc: 10153 / 14501 =  70.016
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4167 /  8535 =  48.822
0, 1  acc:  4413 /  8276 =  53.323
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11634 / 19867 =  58.559
Robust  acc:  4167 /  8535 =  48.822
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 59.799
Robust Acc: 53.086 | Best Acc: 99.839
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  5284 /  9767 =  54.101
0, 1  acc:  4000 /  7535 =  53.086
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11937 / 19962 =  59.799
Robust  acc:  4000 /  7535 =  53.086
------------------------------------
Accuracies by groups:
0, 0  acc:  5284 /  9767 =  54.101
0, 1  acc:  4000 /  7535 =  53.086
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11937 / 19962 =  59.799
Robust  acc:  4000 /  7535 =  53.086
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5284 /  9767 =  54.101
0, 1  acc:  4000 /  7535 =  53.086
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11937 / 19962 =  59.799
Robust  acc:  4000 /  7535 =  53.086
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.306 | Val Loss: 0.004 | Val Acc: 83.178
Training:
Accuracies by groups:
0, 0  acc:  9848 / 14507 =  67.884
0, 1  acc:  5432 /  6618 =  82.079
1, 0  acc: 131717 / 133065 =  98.987
1, 1  acc:  8132 /  8580 =  94.779
--------------------------------------
Average acc: 155129 / 162770 =  95.306
Robust  acc:  9848 / 14507 =  67.884
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6306 /  8535 =  73.884
0, 1  acc:  7192 /  8276 =  86.902
1, 0  acc:  2852 /  2874 =  99.235
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16525 / 19867 =  83.178
Robust  acc:  6306 /  8535 =  73.884
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.831
Robust Acc: 78.673 | Best Acc: 98.992
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  7684 /  9767 =  78.673
0, 1  acc:  6630 /  7535 =  87.989
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16934 / 19962 =  84.831
Robust  acc:  7684 /  9767 =  78.673
------------------------------------
Accuracies by groups:
0, 0  acc:  7684 /  9767 =  78.673
0, 1  acc:  6630 /  7535 =  87.989
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16934 / 19962 =  84.831
Robust  acc:  7684 /  9767 =  78.673
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7684 /  9767 =  78.673
0, 1  acc:  6630 /  7535 =  87.989
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16934 / 19962 =  84.831
Robust  acc:  7684 /  9767 =  78.673
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.059 | Val Loss: 0.008 | Val Acc: 52.066
Training:
Accuracies by groups:
0, 0  acc:  9549 / 14425 =  66.198
0, 1  acc:  5188 /  6546 =  79.255
1, 0  acc: 131909 / 133259 =  98.987
1, 1  acc:  8082 /  8540 =  94.637
--------------------------------------
Average acc: 154728 / 162770 =  95.059
Robust  acc:  9549 / 14425 =  66.198
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3434 /  8535 =  40.234
0, 1  acc:  3857 /  8276 =  46.605
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10344 / 19867 =  52.066
Robust  acc:  3434 /  8535 =  40.234
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 53.361
Robust Acc: 45.869 | Best Acc: 99.960
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  4480 /  9767 =  45.869
0, 1  acc:  3515 /  7535 =  46.649
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10652 / 19962 =  53.361
Robust  acc:  4480 /  9767 =  45.869
------------------------------------
Accuracies by groups:
0, 0  acc:  4480 /  9767 =  45.869
0, 1  acc:  3515 /  7535 =  46.649
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10652 / 19962 =  53.361
Robust  acc:  4480 /  9767 =  45.869
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4480 /  9767 =  45.869
0, 1  acc:  3515 /  7535 =  46.649
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10652 / 19962 =  53.361
Robust  acc:  4480 /  9767 =  45.869
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 94.845 | Val Loss: 0.005 | Val Acc: 71.969
Training:
Accuracies by groups:
0, 0  acc:  9465 / 14553 =  65.038
0, 1  acc:  5097 /  6638 =  76.785
1, 0  acc: 131576 / 132879 =  99.019
1, 1  acc:  8241 /  8700 =  94.724
--------------------------------------
Average acc: 154379 / 162770 =  94.845
Robust  acc:  9465 / 14553 =  65.038
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5214 /  8535 =  61.090
0, 1  acc:  6063 /  8276 =  73.260
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 14298 / 19867 =  71.969
Robust  acc:  5214 /  8535 =  61.090
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.510
Robust Acc: 66.714 | Best Acc: 99.153
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  6516 /  9767 =  66.714
0, 1  acc:  5527 /  7535 =  73.351
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14674 / 19962 =  73.510
Robust  acc:  6516 /  9767 =  66.714
------------------------------------
Accuracies by groups:
0, 0  acc:  6516 /  9767 =  66.714
0, 1  acc:  5527 /  7535 =  73.351
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14674 / 19962 =  73.510
Robust  acc:  6516 /  9767 =  66.714
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6516 /  9767 =  66.714
0, 1  acc:  5527 /  7535 =  73.351
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 14674 / 19962 =  73.510
Robust  acc:  6516 /  9767 =  66.714
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.587 | Val Loss: 0.007 | Val Acc: 54.769
Training:
Accuracies by groups:
0, 0  acc:  9110 / 14489 =  62.875
0, 1  acc:  4879 /  6535 =  74.660
1, 0  acc: 131781 / 133137 =  98.982
1, 1  acc:  8190 /  8609 =  95.133
--------------------------------------
Average acc: 153960 / 162770 =  94.587
Robust  acc:  9110 / 14489 =  62.875
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3661 /  8535 =  42.894
0, 1  acc:  4170 /  8276 =  50.387
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10881 / 19867 =  54.769
Robust  acc:  3661 /  8535 =  42.894
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 56.031
Robust Acc: 48.705 | Best Acc: 99.919
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  4757 /  9767 =  48.705
0, 1  acc:  3772 /  7535 =  50.060
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11185 / 19962 =  56.031
Robust  acc:  4757 /  9767 =  48.705
------------------------------------
Accuracies by groups:
0, 0  acc:  4757 /  9767 =  48.705
0, 1  acc:  3772 /  7535 =  50.060
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11185 / 19962 =  56.031
Robust  acc:  4757 /  9767 =  48.705
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4757 /  9767 =  48.705
0, 1  acc:  3772 /  7535 =  50.060
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11185 / 19962 =  56.031
Robust  acc:  4757 /  9767 =  48.705
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.494 | Val Loss: 0.003 | Val Acc: 89.933
Training:
Accuracies by groups:
0, 0  acc:  9104 / 14600 =  62.356
0, 1  acc:  4920 /  6660 =  73.874
1, 0  acc: 131561 / 132888 =  99.001
1, 1  acc:  8223 /  8622 =  95.372
--------------------------------------
Average acc: 153808 / 162770 =  94.494
Robust  acc:  9104 / 14600 =  62.356
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7284 /  8535 =  85.343
0, 1  acc:  7664 /  8276 =  92.605
1, 0  acc:  2756 /  2874 =  95.894
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17867 / 19867 =  89.933
Robust  acc:  7284 /  8535 =  85.343
------------------------------------
New max robust acc: 85.3427065026362
debias model - Saving best checkpoint at epoch 22
replace: True
-> Updating checkpoint debias-wga-best_seed19.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed19.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.103
Robust Acc: 82.778 | Best Acc: 94.758
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  8707 /  9767 =  89.147
0, 1  acc:  6980 /  7535 =  92.634
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18186 / 19962 =  91.103
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8707 /  9767 =  89.147
0, 1  acc:  6980 /  7535 =  92.634
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18186 / 19962 =  91.103
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8707 /  9767 =  89.147
0, 1  acc:  6980 /  7535 =  92.634
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18186 / 19962 =  91.103
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.476 | Val Loss: 0.006 | Val Acc: 66.593
Training:
Accuracies by groups:
0, 0  acc:  8825 / 14325 =  61.606
0, 1  acc:  4714 /  6575 =  71.696
1, 0  acc: 132028 / 133283 =  99.058
1, 1  acc:  8212 /  8587 =  95.633
--------------------------------------
Average acc: 153779 / 162770 =  94.476
Robust  acc:  8825 / 14325 =  61.606
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4800 /  8535 =  56.239
0, 1  acc:  5382 /  8276 =  65.031
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 13230 / 19867 =  66.593
Robust  acc:  4800 /  8535 =  56.239
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 67.869
Robust Acc: 61.698 | Best Acc: 99.718
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  6026 /  9767 =  61.698
0, 1  acc:  4873 /  7535 =  64.672
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13548 / 19962 =  67.869
Robust  acc:  6026 /  9767 =  61.698
------------------------------------
Accuracies by groups:
0, 0  acc:  6026 /  9767 =  61.698
0, 1  acc:  4873 /  7535 =  64.672
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13548 / 19962 =  67.869
Robust  acc:  6026 /  9767 =  61.698
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6026 /  9767 =  61.698
0, 1  acc:  4873 /  7535 =  64.672
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13548 / 19962 =  67.869
Robust  acc:  6026 /  9767 =  61.698
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.417 | Val Loss: 0.003 | Val Acc: 92.998
Training:
Accuracies by groups:
0, 0  acc:  8973 / 14604 =  61.442
0, 1  acc:  4704 /  6521 =  72.136
1, 0  acc: 131865 / 133137 =  99.045
1, 1  acc:  8141 /  8508 =  95.686
--------------------------------------
Average acc: 153683 / 162770 =  94.417
Robust  acc:  8973 / 14604 =  61.442
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8066 /  8535 =  94.505
0, 1  acc:  8148 /  8276 =  98.453
1, 0  acc:  2169 /  2874 =  75.470
1, 1  acc:    93 /   182 =  51.099
------------------------------------
Average acc: 18476 / 19867 =  92.998
Robust  acc:    93 /   182 =  51.099
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.778
Robust Acc: 46.111 | Best Acc: 98.275
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  9363 /  9767 =  95.864
0, 1  acc:  7405 /  7535 =  98.275
1, 0  acc:  1869 /  2480 =  75.363
1, 1  acc:    83 /   180 =  46.111
------------------------------------
Average acc: 18720 / 19962 =  93.778
Robust  acc:    83 /   180 =  46.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9363 /  9767 =  95.864
0, 1  acc:  7405 /  7535 =  98.275
1, 0  acc:  1869 /  2480 =  75.363
1, 1  acc:    83 /   180 =  46.111
------------------------------------
Average acc: 18720 / 19962 =  93.778
Robust  acc:    83 /   180 =  46.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9363 /  9767 =  95.864
0, 1  acc:  7405 /  7535 =  98.275
1, 0  acc:  1869 /  2480 =  75.363
1, 1  acc:    83 /   180 =  46.111
------------------------------------
Average acc: 18720 / 19962 =  93.778
Robust  acc:    83 /   180 =  46.111
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.375 | Val Loss: 0.005 | Val Acc: 70.907
Training:
Accuracies by groups:
0, 0  acc:  8732 / 14343 =  60.880
0, 1  acc:  4598 /  6520 =  70.521
1, 0  acc: 132142 / 133393 =  99.062
1, 1  acc:  8142 /  8514 =  95.631
--------------------------------------
Average acc: 153614 / 162770 =  94.375
Robust  acc:  8732 / 14343 =  60.880
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5346 /  8535 =  62.636
0, 1  acc:  5702 /  8276 =  68.898
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14087 / 19867 =  70.907
Robust  acc:  5346 /  8535 =  62.636
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.623
Robust Acc: 68.455 | Best Acc: 99.597
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  6686 /  9767 =  68.455
0, 1  acc:  5168 /  7535 =  68.587
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14497 / 19962 =  72.623
Robust  acc:  6686 /  9767 =  68.455
------------------------------------
Accuracies by groups:
0, 0  acc:  6686 /  9767 =  68.455
0, 1  acc:  5168 /  7535 =  68.587
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14497 / 19962 =  72.623
Robust  acc:  6686 /  9767 =  68.455
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6686 /  9767 =  68.455
0, 1  acc:  5168 /  7535 =  68.587
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14497 / 19962 =  72.623
Robust  acc:  6686 /  9767 =  68.455
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.094 | Val Loss: 0.008 | Val Acc: 38.405
Training:
Accuracies by groups:
0, 0  acc:  8556 / 14571 =  58.719
0, 1  acc:  4375 /  6516 =  67.142
1, 0  acc: 131839 / 132944 =  99.169
1, 1  acc:  8387 /  8739 =  95.972
--------------------------------------
Average acc: 153157 / 162770 =  94.094
Robust  acc:  8556 / 14571 =  58.719
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2158 /  8535 =  25.284
0, 1  acc:  2419 /  8276 =  29.229
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  7630 / 19867 =  38.405
Robust  acc:  2158 /  8535 =  25.284
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 37.481
Robust Acc: 27.591 | Best Acc: 99.960
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  2746 /  9767 =  28.115
0, 1  acc:  2079 /  7535 =  27.591
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7482 / 19962 =  37.481
Robust  acc:  2079 /  7535 =  27.591
------------------------------------
Accuracies by groups:
0, 0  acc:  2746 /  9767 =  28.115
0, 1  acc:  2079 /  7535 =  27.591
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7482 / 19962 =  37.481
Robust  acc:  2079 /  7535 =  27.591
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2746 /  9767 =  28.115
0, 1  acc:  2079 /  7535 =  27.591
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7482 / 19962 =  37.481
Robust  acc:  2079 /  7535 =  27.591
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.087 | Val Loss: 0.005 | Val Acc: 79.524
Training:
Accuracies by groups:
0, 0  acc:  8514 / 14692 =  57.950
0, 1  acc:  4435 /  6586 =  67.340
1, 0  acc: 132074 / 133086 =  99.240
1, 1  acc:  8123 /  8406 =  96.633
--------------------------------------
Average acc: 153146 / 162770 =  94.087
Robust  acc:  8514 / 14692 =  57.950
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6272 /  8535 =  73.486
0, 1  acc:  6514 /  8276 =  78.710
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15799 / 19867 =  79.524
Robust  acc:  6272 /  8535 =  73.486
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.919
Robust Acc: 78.100 | Best Acc: 97.823
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  7628 /  9767 =  78.100
0, 1  acc:  5926 /  7535 =  78.646
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16153 / 19962 =  80.919
Robust  acc:  7628 /  9767 =  78.100
------------------------------------
Accuracies by groups:
0, 0  acc:  7628 /  9767 =  78.100
0, 1  acc:  5926 /  7535 =  78.646
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16153 / 19962 =  80.919
Robust  acc:  7628 /  9767 =  78.100
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7628 /  9767 =  78.100
0, 1  acc:  5926 /  7535 =  78.646
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16153 / 19962 =  80.919
Robust  acc:  7628 /  9767 =  78.100
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 93.999 | Val Loss: 0.007 | Val Acc: 58.756
Training:
Accuracies by groups:
0, 0  acc:  8219 / 14472 =  56.792
0, 1  acc:  4481 /  6751 =  66.375
1, 0  acc: 131985 / 132915 =  99.300
1, 1  acc:  8317 /  8632 =  96.351
--------------------------------------
Average acc: 153002 / 162770 =  93.999
Robust  acc:  8219 / 14472 =  56.792
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4077 /  8535 =  47.768
0, 1  acc:  4549 /  8276 =  54.966
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 11673 / 19867 =  58.756
Robust  acc:  4077 /  8535 =  47.768
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 59.177
Robust Acc: 52.360 | Best Acc: 99.758
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  5114 /  9767 =  52.360
0, 1  acc:  4047 /  7535 =  53.709
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11813 / 19962 =  59.177
Robust  acc:  5114 /  9767 =  52.360
------------------------------------
Accuracies by groups:
0, 0  acc:  5114 /  9767 =  52.360
0, 1  acc:  4047 /  7535 =  53.709
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11813 / 19962 =  59.177
Robust  acc:  5114 /  9767 =  52.360
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5114 /  9767 =  52.360
0, 1  acc:  4047 /  7535 =  53.709
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11813 / 19962 =  59.177
Robust  acc:  5114 /  9767 =  52.360
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.039 | Val Loss: 0.006 | Val Acc: 64.866
Training:
Accuracies by groups:
0, 0  acc:  8115 / 14277 =  56.840
0, 1  acc:  4362 /  6581 =  66.282
1, 0  acc: 132292 / 133291 =  99.251
1, 1  acc:  8299 /  8621 =  96.265
--------------------------------------
Average acc: 153068 / 162770 =  94.039
Robust  acc:  8115 / 14277 =  56.840
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4705 /  8535 =  55.126
0, 1  acc:  5134 /  8276 =  62.035
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12887 / 19867 =  64.866
Robust  acc:  4705 /  8535 =  55.126
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.885
Robust Acc: 60.633 | Best Acc: 99.718
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  5922 /  9767 =  60.633
0, 1  acc:  4580 /  7535 =  60.783
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13152 / 19962 =  65.885
Robust  acc:  5922 /  9767 =  60.633
------------------------------------
Accuracies by groups:
0, 0  acc:  5922 /  9767 =  60.633
0, 1  acc:  4580 /  7535 =  60.783
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13152 / 19962 =  65.885
Robust  acc:  5922 /  9767 =  60.633
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5922 /  9767 =  60.633
0, 1  acc:  4580 /  7535 =  60.783
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13152 / 19962 =  65.885
Robust  acc:  5922 /  9767 =  60.633
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 94.000 | Val Loss: 0.007 | Val Acc: 59.697
Training:
Accuracies by groups:
0, 0  acc:  8076 / 14391 =  56.118
0, 1  acc:  4401 /  6688 =  65.804
1, 0  acc: 132172 / 133033 =  99.353
1, 1  acc:  8355 /  8658 =  96.500
--------------------------------------
Average acc: 153004 / 162770 =  94.000
Robust  acc:  8076 / 14391 =  56.118
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4131 /  8535 =  48.401
0, 1  acc:  4679 /  8276 =  56.537
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 11860 / 19867 =  59.697
Robust  acc:  4131 /  8535 =  48.401
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 60.755
Robust Acc: 53.179 | Best Acc: 99.798
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  5194 /  9767 =  53.179
0, 1  acc:  4281 /  7535 =  56.815
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12128 / 19962 =  60.755
Robust  acc:  5194 /  9767 =  53.179
------------------------------------
Accuracies by groups:
0, 0  acc:  5194 /  9767 =  53.179
0, 1  acc:  4281 /  7535 =  56.815
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12128 / 19962 =  60.755
Robust  acc:  5194 /  9767 =  53.179
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5194 /  9767 =  53.179
0, 1  acc:  4281 /  7535 =  56.815
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12128 / 19962 =  60.755
Robust  acc:  5194 /  9767 =  53.179
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.909 | Val Loss: 0.003 | Val Acc: 92.883
Training:
Accuracies by groups:
0, 0  acc:  8080 / 14414 =  56.057
0, 1  acc:  4340 /  6666 =  65.107
1, 0  acc: 132215 / 133157 =  99.293
1, 1  acc:  8221 /  8533 =  96.344
--------------------------------------
Average acc: 152856 / 162770 =  93.909
Robust  acc:  8080 / 14414 =  56.057
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7865 /  8535 =  92.150
0, 1  acc:  7962 /  8276 =  96.206
1, 0  acc:  2506 /  2874 =  87.196
1, 1  acc:   120 /   182 =  65.934
------------------------------------
Average acc: 18453 / 19867 =  92.883
Robust  acc:   120 /   182 =  65.934
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.553
Robust Acc: 60.000 | Best Acc: 96.430
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  9162 /  9767 =  93.806
0, 1  acc:  7266 /  7535 =  96.430
1, 0  acc:  2139 /  2480 =  86.250
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18675 / 19962 =  93.553
Robust  acc:   108 /   180 =  60.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9162 /  9767 =  93.806
0, 1  acc:  7266 /  7535 =  96.430
1, 0  acc:  2139 /  2480 =  86.250
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18675 / 19962 =  93.553
Robust  acc:   108 /   180 =  60.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9162 /  9767 =  93.806
0, 1  acc:  7266 /  7535 =  96.430
1, 0  acc:  2139 /  2480 =  86.250
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18675 / 19962 =  93.553
Robust  acc:   108 /   180 =  60.000
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 94.015 | Val Loss: 0.004 | Val Acc: 88.212
Training:
Accuracies by groups:
0, 0  acc:  8195 / 14470 =  56.634
0, 1  acc:  4233 /  6549 =  64.636
1, 0  acc: 132216 / 133094 =  99.340
1, 1  acc:  8385 /  8657 =  96.858
--------------------------------------
Average acc: 153029 / 162770 =  94.015
Robust  acc:  8195 / 14470 =  56.634
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7001 /  8535 =  82.027
0, 1  acc:  7611 /  8276 =  91.965
1, 0  acc:  2754 /  2874 =  95.825
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 17525 / 19867 =  88.212
Robust  acc:  7001 /  8535 =  82.027
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 89.435
Robust Acc: 82.778 | Best Acc: 95.524
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  8367 /  9767 =  85.666
0, 1  acc:  6968 /  7535 =  92.475
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17853 / 19962 =  89.435
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8367 /  9767 =  85.666
0, 1  acc:  6968 /  7535 =  92.475
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17853 / 19962 =  89.435
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8367 /  9767 =  85.666
0, 1  acc:  6968 /  7535 =  92.475
1, 0  acc:  2369 /  2480 =  95.524
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17853 / 19962 =  89.435
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.031 | Val Loss: 0.004 | Val Acc: 81.849
Training:
Accuracies by groups:
0, 0  acc:  8079 / 14351 =  56.296
0, 1  acc:  4292 /  6542 =  65.607
1, 0  acc: 132600 / 133517 =  99.313
1, 1  acc:  8083 /  8360 =  96.687
--------------------------------------
Average acc: 153054 / 162770 =  94.031
Robust  acc:  8079 / 14351 =  56.296
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6399 /  8535 =  74.974
0, 1  acc:  6927 /  8276 =  83.700
1, 0  acc:  2776 /  2874 =  96.590
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 16261 / 19867 =  81.849
Robust  acc:  6399 /  8535 =  74.974
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.747
Robust Acc: 78.745 | Best Acc: 96.008
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7691 /  9767 =  78.745
0, 1  acc:  6297 /  7535 =  83.570
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 16518 / 19962 =  82.747
Robust  acc:  7691 /  9767 =  78.745
------------------------------------
Accuracies by groups:
0, 0  acc:  7691 /  9767 =  78.745
0, 1  acc:  6297 /  7535 =  83.570
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 16518 / 19962 =  82.747
Robust  acc:  7691 /  9767 =  78.745
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7691 /  9767 =  78.745
0, 1  acc:  6297 /  7535 =  83.570
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 16518 / 19962 =  82.747
Robust  acc:  7691 /  9767 =  78.745
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 94.071 | Val Loss: 0.009 | Val Acc: 40.087
Training:
Accuracies by groups:
0, 0  acc:  8206 / 14418 =  56.915
0, 1  acc:  4363 /  6619 =  65.916
1, 0  acc: 132197 / 133097 =  99.324
1, 1  acc:  8353 /  8636 =  96.723
--------------------------------------
Average acc: 153119 / 162770 =  94.071
Robust  acc:  8206 / 14418 =  56.915
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2133 /  8535 =  24.991
0, 1  acc:  2775 /  8276 =  33.531
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  7964 / 19867 =  40.087
Robust  acc:  2133 /  8535 =  24.991
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 39.781
Robust Acc: 29.037 | Best Acc: 100.000
--------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  2836 /  9767 =  29.037
0, 1  acc:  2446 /  7535 =  32.462
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  7941 / 19962 =  39.781
Robust  acc:  2836 /  9767 =  29.037
------------------------------------
Accuracies by groups:
0, 0  acc:  2836 /  9767 =  29.037
0, 1  acc:  2446 /  7535 =  32.462
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  7941 / 19962 =  39.781
Robust  acc:  2836 /  9767 =  29.037
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2836 /  9767 =  29.037
0, 1  acc:  2446 /  7535 =  32.462
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   180 /   180 = 100.000
------------------------------------
Average acc:  7941 / 19962 =  39.781
Robust  acc:  2836 /  9767 =  29.037
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.066 | Val Loss: 0.005 | Val Acc: 74.868
Training:
Accuracies by groups:
0, 0  acc:  8252 / 14390 =  57.345
0, 1  acc:  4251 /  6549 =  64.911
1, 0  acc: 132350 / 133278 =  99.304
1, 1  acc:  8259 /  8553 =  96.563
--------------------------------------
Average acc: 153112 / 162770 =  94.066
Robust  acc:  8252 / 14390 =  57.345
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5690 /  8535 =  66.667
0, 1  acc:  6158 /  8276 =  74.408
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14874 / 19867 =  74.868
Robust  acc:  5690 /  8535 =  66.667
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.545
Robust Acc: 71.772 | Best Acc: 98.831
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  7010 /  9767 =  71.772
0, 1  acc:  5643 /  7535 =  74.891
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15280 / 19962 =  76.545
Robust  acc:  7010 /  9767 =  71.772
------------------------------------
Accuracies by groups:
0, 0  acc:  7010 /  9767 =  71.772
0, 1  acc:  5643 /  7535 =  74.891
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15280 / 19962 =  76.545
Robust  acc:  7010 /  9767 =  71.772
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7010 /  9767 =  71.772
0, 1  acc:  5643 /  7535 =  74.891
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15280 / 19962 =  76.545
Robust  acc:  7010 /  9767 =  71.772
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.040 | Val Loss: 0.005 | Val Acc: 73.620
Training:
Accuracies by groups:
0, 0  acc:  8280 / 14529 =  56.989
0, 1  acc:  4216 /  6442 =  65.446
1, 0  acc: 132272 / 133209 =  99.297
1, 1  acc:  8301 /  8590 =  96.636
--------------------------------------
Average acc: 153069 / 162770 =  94.040
Robust  acc:  8280 / 14529 =  56.989
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5627 /  8535 =  65.929
0, 1  acc:  5968 /  8276 =  72.112
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14626 / 19867 =  73.620
Robust  acc:  5627 /  8535 =  65.929
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.987
Robust Acc: 71.291 | Best Acc: 98.952
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  6963 /  9767 =  71.291
0, 1  acc:  5377 /  7535 =  71.360
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14969 / 19962 =  74.987
Robust  acc:  6963 /  9767 =  71.291
------------------------------------
Accuracies by groups:
0, 0  acc:  6963 /  9767 =  71.291
0, 1  acc:  5377 /  7535 =  71.360
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14969 / 19962 =  74.987
Robust  acc:  6963 /  9767 =  71.291
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6963 /  9767 =  71.291
0, 1  acc:  5377 /  7535 =  71.360
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14969 / 19962 =  74.987
Robust  acc:  6963 /  9767 =  71.291
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.111 | Val Loss: 0.006 | Val Acc: 68.037
Training:
Accuracies by groups:
0, 0  acc:  8353 / 14519 =  57.532
0, 1  acc:  4257 /  6415 =  66.360
1, 0  acc: 132107 / 133069 =  99.277
1, 1  acc:  8468 /  8767 =  96.589
--------------------------------------
Average acc: 153185 / 162770 =  94.111
Robust  acc:  8353 / 14519 =  57.532
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4976 /  8535 =  58.301
0, 1  acc:  5497 /  8276 =  66.421
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13517 / 19867 =  68.037
Robust  acc:  4976 /  8535 =  58.301
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.457
Robust Acc: 63.694 | Best Acc: 99.637
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  6221 /  9767 =  63.694
0, 1  acc:  4996 /  7535 =  66.304
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13865 / 19962 =  69.457
Robust  acc:  6221 /  9767 =  63.694
------------------------------------
Accuracies by groups:
0, 0  acc:  6221 /  9767 =  63.694
0, 1  acc:  4996 /  7535 =  66.304
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13865 / 19962 =  69.457
Robust  acc:  6221 /  9767 =  63.694
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6221 /  9767 =  63.694
0, 1  acc:  4996 /  7535 =  66.304
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13865 / 19962 =  69.457
Robust  acc:  6221 /  9767 =  63.694
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.986 | Val Loss: 0.007 | Val Acc: 57.366
Training:
Accuracies by groups:
0, 0  acc:  8290 / 14504 =  57.157
0, 1  acc:  4490 /  6760 =  66.420
1, 0  acc: 131713 / 132701 =  99.255
1, 1  acc:  8488 /  8805 =  96.400
--------------------------------------
Average acc: 152981 / 162770 =  93.986
Robust  acc:  8290 / 14504 =  57.157
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3982 /  8535 =  46.655
0, 1  acc:  4367 /  8276 =  52.767
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11397 / 19867 =  57.366
Robust  acc:  3982 /  8535 =  46.655
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 57.619
Robust Acc: 50.834 | Best Acc: 99.677
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  4965 /  9767 =  50.834
0, 1  acc:  3888 /  7535 =  51.599
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11502 / 19962 =  57.619
Robust  acc:  4965 /  9767 =  50.834
------------------------------------
Accuracies by groups:
0, 0  acc:  4965 /  9767 =  50.834
0, 1  acc:  3888 /  7535 =  51.599
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11502 / 19962 =  57.619
Robust  acc:  4965 /  9767 =  50.834
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4965 /  9767 =  50.834
0, 1  acc:  3888 /  7535 =  51.599
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11502 / 19962 =  57.619
Robust  acc:  4965 /  9767 =  50.834
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.151 | Val Loss: 0.004 | Val Acc: 84.084
Training:
Accuracies by groups:
0, 0  acc:  8581 / 14615 =  58.714
0, 1  acc:  4322 /  6467 =  66.832
1, 0  acc: 132012 / 133019 =  99.243
1, 1  acc:  8335 /  8669 =  96.147
--------------------------------------
Average acc: 153250 / 162770 =  94.151
Robust  acc:  8581 / 14615 =  58.714
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6476 /  8535 =  75.876
0, 1  acc:  7224 /  8276 =  87.289
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16705 / 19867 =  84.084
Robust  acc:  6476 /  8535 =  75.876
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.543
Robust Acc: 80.854 | Best Acc: 98.024
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  7897 /  9767 =  80.854
0, 1  acc:  6582 /  7535 =  87.352
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17076 / 19962 =  85.543
Robust  acc:  7897 /  9767 =  80.854
------------------------------------
Accuracies by groups:
0, 0  acc:  7897 /  9767 =  80.854
0, 1  acc:  6582 /  7535 =  87.352
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17076 / 19962 =  85.543
Robust  acc:  7897 /  9767 =  80.854
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7897 /  9767 =  80.854
0, 1  acc:  6582 /  7535 =  87.352
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17076 / 19962 =  85.543
Robust  acc:  7897 /  9767 =  80.854
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.176 | Val Loss: 0.005 | Val Acc: 77.062
Training:
Accuracies by groups:
0, 0  acc:  8537 / 14583 =  58.541
0, 1  acc:  4550 /  6655 =  68.370
1, 0  acc: 131815 / 132840 =  99.228
1, 1  acc:  8388 /  8692 =  96.503
--------------------------------------
Average acc: 153290 / 162770 =  94.176
Robust  acc:  8537 / 14583 =  58.541
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5956 /  8535 =  69.783
0, 1  acc:  6329 /  8276 =  76.474
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15310 / 19867 =  77.062
Robust  acc:  5956 /  8535 =  69.783
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.810
Robust Acc: 75.223 | Best Acc: 99.113
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  7347 /  9767 =  75.223
0, 1  acc:  5754 /  7535 =  76.364
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15732 / 19962 =  78.810
Robust  acc:  7347 /  9767 =  75.223
------------------------------------
Accuracies by groups:
0, 0  acc:  7347 /  9767 =  75.223
0, 1  acc:  5754 /  7535 =  76.364
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15732 / 19962 =  78.810
Robust  acc:  7347 /  9767 =  75.223
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7347 /  9767 =  75.223
0, 1  acc:  5754 /  7535 =  76.364
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15732 / 19962 =  78.810
Robust  acc:  7347 /  9767 =  75.223
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.235 | Val Loss: 0.006 | Val Acc: 70.569
Training:
Accuracies by groups:
0, 0  acc:  8545 / 14445 =  59.155
0, 1  acc:  4359 /  6452 =  67.560
1, 0  acc: 132110 / 133187 =  99.191
1, 1  acc:  8373 /  8686 =  96.397
--------------------------------------
Average acc: 153387 / 162770 =  94.235
Robust  acc:  8545 / 14445 =  59.155
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5228 /  8535 =  61.254
0, 1  acc:  5749 /  8276 =  69.466
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 14020 / 19867 =  70.569
Robust  acc:  5228 /  8535 =  61.254
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 72.337
Robust Acc: 67.063 | Best Acc: 99.637
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  6550 /  9767 =  67.063
0, 1  acc:  5242 /  7535 =  69.569
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14440 / 19962 =  72.337
Robust  acc:  6550 /  9767 =  67.063
------------------------------------
Accuracies by groups:
0, 0  acc:  6550 /  9767 =  67.063
0, 1  acc:  5242 /  7535 =  69.569
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14440 / 19962 =  72.337
Robust  acc:  6550 /  9767 =  67.063
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6550 /  9767 =  67.063
0, 1  acc:  5242 /  7535 =  69.569
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14440 / 19962 =  72.337
Robust  acc:  6550 /  9767 =  67.063
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.195 | Val Loss: 0.007 | Val Acc: 60.044
Training:
Accuracies by groups:
0, 0  acc:  8495 / 14477 =  58.679
0, 1  acc:  4458 /  6520 =  68.374
1, 0  acc: 132097 / 133169 =  99.195
1, 1  acc:  8272 /  8604 =  96.141
--------------------------------------
Average acc: 153322 / 162770 =  94.195
Robust  acc:  8495 / 14477 =  58.679
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4244 /  8535 =  49.725
0, 1  acc:  4636 /  8276 =  56.017
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 11929 / 19867 =  60.044
Robust  acc:  4244 /  8535 =  49.725
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 61.868
Robust Acc: 55.278 | Best Acc: 99.798
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  5399 /  9767 =  55.278
0, 1  acc:  4299 /  7535 =  57.054
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12350 / 19962 =  61.868
Robust  acc:  5399 /  9767 =  55.278
------------------------------------
Accuracies by groups:
0, 0  acc:  5399 /  9767 =  55.278
0, 1  acc:  4299 /  7535 =  57.054
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12350 / 19962 =  61.868
Robust  acc:  5399 /  9767 =  55.278
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5399 /  9767 =  55.278
0, 1  acc:  4299 /  7535 =  57.054
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12350 / 19962 =  61.868
Robust  acc:  5399 /  9767 =  55.278
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.233 | Val Loss: 0.003 | Val Acc: 89.883
Training:
Accuracies by groups:
0, 0  acc:  8494 / 14301 =  59.394
0, 1  acc:  4512 /  6621 =  68.147
1, 0  acc: 132031 / 133146 =  99.163
1, 1  acc:  8346 /  8702 =  95.909
--------------------------------------
Average acc: 153383 / 162770 =  94.233
Robust  acc:  8494 / 14301 =  59.394
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7319 /  8535 =  85.753
0, 1  acc:  7634 /  8276 =  92.243
1, 0  acc:  2747 /  2874 =  95.581
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 17857 / 19867 =  89.883
Robust  acc:  7319 /  8535 =  85.753
------------------------------------
New max robust acc: 85.7527826596368
debias model - Saving best checkpoint at epoch 43
replace: True
-> Updating checkpoint debias-wga-best_seed19.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed19.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.777
Robust Acc: 82.778 | Best Acc: 93.952
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8692 /  9767 =  88.994
0, 1  acc:  6950 /  7535 =  92.236
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18121 / 19962 =  90.777
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8692 /  9767 =  88.994
0, 1  acc:  6950 /  7535 =  92.236
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18121 / 19962 =  90.777
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8692 /  9767 =  88.994
0, 1  acc:  6950 /  7535 =  92.236
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18121 / 19962 =  90.777
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.212 | Val Loss: 0.006 | Val Acc: 69.839
Training:
Accuracies by groups:
0, 0  acc:  8406 / 14270 =  58.907
0, 1  acc:  4535 /  6698 =  67.707
1, 0  acc: 132111 / 133202 =  99.181
1, 1  acc:  8297 /  8600 =  96.477
--------------------------------------
Average acc: 153349 / 162770 =  94.212
Robust  acc:  8406 / 14270 =  58.907
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5003 /  8535 =  58.617
0, 1  acc:  5829 /  8276 =  70.433
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13875 / 19867 =  69.839
Robust  acc:  5003 /  8535 =  58.617
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 71.691
Robust Acc: 64.544 | Best Acc: 99.556
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  6304 /  9767 =  64.544
0, 1  acc:  5362 /  7535 =  71.161
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14311 / 19962 =  71.691
Robust  acc:  6304 /  9767 =  64.544
------------------------------------
Accuracies by groups:
0, 0  acc:  6304 /  9767 =  64.544
0, 1  acc:  5362 /  7535 =  71.161
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14311 / 19962 =  71.691
Robust  acc:  6304 /  9767 =  64.544
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6304 /  9767 =  64.544
0, 1  acc:  5362 /  7535 =  71.161
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14311 / 19962 =  71.691
Robust  acc:  6304 /  9767 =  64.544
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.274 | Val Loss: 0.006 | Val Acc: 67.544
Training:
Accuracies by groups:
0, 0  acc:  8617 / 14533 =  59.293
0, 1  acc:  4497 /  6565 =  68.500
1, 0  acc: 131989 / 133007 =  99.235
1, 1  acc:  8347 /  8665 =  96.330
--------------------------------------
Average acc: 153450 / 162770 =  94.274
Robust  acc:  8617 / 14533 =  59.293
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4769 /  8535 =  55.876
0, 1  acc:  5603 /  8276 =  67.702
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13419 / 19867 =  67.544
Robust  acc:  4769 /  8535 =  55.876
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.901
Robust Acc: 61.442 | Best Acc: 99.758
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  6001 /  9767 =  61.442
0, 1  acc:  5102 /  7535 =  67.711
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13754 / 19962 =  68.901
Robust  acc:  6001 /  9767 =  61.442
------------------------------------
Accuracies by groups:
0, 0  acc:  6001 /  9767 =  61.442
0, 1  acc:  5102 /  7535 =  67.711
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13754 / 19962 =  68.901
Robust  acc:  6001 /  9767 =  61.442
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6001 /  9767 =  61.442
0, 1  acc:  5102 /  7535 =  67.711
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13754 / 19962 =  68.901
Robust  acc:  6001 /  9767 =  61.442
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.353 | Val Loss: 0.005 | Val Acc: 77.264
Training:
Accuracies by groups:
0, 0  acc:  8555 / 14403 =  59.397
0, 1  acc:  4469 /  6449 =  69.298
1, 0  acc: 132275 / 133298 =  99.233
1, 1  acc:  8279 /  8620 =  96.044
--------------------------------------
Average acc: 153578 / 162770 =  94.353
Robust  acc:  8555 / 14403 =  59.397
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6103 /  8535 =  71.506
0, 1  acc:  6233 /  8276 =  75.314
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 15350 / 19867 =  77.264
Robust  acc:  6103 /  8535 =  71.506
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.411
Robust Acc: 76.191 | Best Acc: 98.790
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  7486 /  9767 =  76.646
0, 1  acc:  5741 /  7535 =  76.191
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15852 / 19962 =  79.411
Robust  acc:  5741 /  7535 =  76.191
------------------------------------
Accuracies by groups:
0, 0  acc:  7486 /  9767 =  76.646
0, 1  acc:  5741 /  7535 =  76.191
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15852 / 19962 =  79.411
Robust  acc:  5741 /  7535 =  76.191
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7486 /  9767 =  76.646
0, 1  acc:  5741 /  7535 =  76.191
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15852 / 19962 =  79.411
Robust  acc:  5741 /  7535 =  76.191
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.307 | Val Loss: 0.004 | Val Acc: 87.603
Training:
Accuracies by groups:
0, 0  acc:  8536 / 14333 =  59.555
0, 1  acc:  4612 /  6630 =  69.563
1, 0  acc: 132103 / 133223 =  99.159
1, 1  acc:  8252 /  8584 =  96.132
--------------------------------------
Average acc: 153503 / 162770 =  94.307
Robust  acc:  8536 / 14333 =  59.555
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7098 /  8535 =  83.163
0, 1  acc:  7362 /  8276 =  88.956
1, 0  acc:  2783 /  2874 =  96.834
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 17404 / 19867 =  87.603
Robust  acc:  7098 /  8535 =  83.163
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 89.149
Robust Acc: 86.111 | Best Acc: 96.411
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  8505 /  9767 =  87.079
0, 1  acc:  6745 /  7535 =  89.516
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17796 / 19962 =  89.149
Robust  acc:   155 /   180 =  86.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8505 /  9767 =  87.079
0, 1  acc:  6745 /  7535 =  89.516
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17796 / 19962 =  89.149
Robust  acc:   155 /   180 =  86.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8505 /  9767 =  87.079
0, 1  acc:  6745 /  7535 =  89.516
1, 0  acc:  2391 /  2480 =  96.411
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17796 / 19962 =  89.149
Robust  acc:   155 /   180 =  86.111
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.245 | Val Loss: 0.004 | Val Acc: 87.275
Training:
Accuracies by groups:
0, 0  acc:  8490 / 14318 =  59.296
0, 1  acc:  4509 /  6575 =  68.578
1, 0  acc: 131916 / 133027 =  99.165
1, 1  acc:  8488 /  8850 =  95.910
--------------------------------------
Average acc: 153403 / 162770 =  94.245
Robust  acc:  8490 / 14318 =  59.296
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7080 /  8535 =  82.953
0, 1  acc:  7311 /  8276 =  88.340
1, 0  acc:  2786 /  2874 =  96.938
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17339 / 19867 =  87.275
Robust  acc:  7080 /  8535 =  82.953
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 88.648
Robust Acc: 86.639 | Best Acc: 96.452
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  8462 /  9767 =  86.639
0, 1  acc:  6685 /  7535 =  88.719
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17696 / 19962 =  88.648
Robust  acc:  8462 /  9767 =  86.639
------------------------------------
Accuracies by groups:
0, 0  acc:  8462 /  9767 =  86.639
0, 1  acc:  6685 /  7535 =  88.719
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17696 / 19962 =  88.648
Robust  acc:  8462 /  9767 =  86.639
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8462 /  9767 =  86.639
0, 1  acc:  6685 /  7535 =  88.719
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17696 / 19962 =  88.648
Robust  acc:  8462 /  9767 =  86.639
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.277 | Val Loss: 0.003 | Val Acc: 90.019
Training:
Accuracies by groups:
0, 0  acc:  8748 / 14641 =  59.750
0, 1  acc:  4577 /  6615 =  69.191
1, 0  acc: 131924 / 132954 =  99.225
1, 1  acc:  8205 /  8560 =  95.853
--------------------------------------
Average acc: 153454 / 162770 =  94.277
Robust  acc:  8748 / 14641 =  59.750
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7274 /  8535 =  85.226
0, 1  acc:  7701 /  8276 =  93.052
1, 0  acc:  2754 /  2874 =  95.825
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 17884 / 19867 =  90.019
Robust  acc:   155 /   182 =  85.165
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.033
Robust Acc: 82.222 | Best Acc: 95.403
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  8656 /  9767 =  88.625
0, 1  acc:  7002 /  7535 =  92.926
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18172 / 19962 =  91.033
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8656 /  9767 =  88.625
0, 1  acc:  7002 /  7535 =  92.926
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18172 / 19962 =  91.033
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8656 /  9767 =  88.625
0, 1  acc:  7002 /  7535 =  92.926
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18172 / 19962 =  91.033
Robust  acc:   148 /   180 =  82.222
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed19.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed19.pt
