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/seed27/stage_one_erm_model_b_epoch0_seed27.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: 27
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.1
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=27-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/seed27/stage_one_erm_model_b_epoch0_seed27.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8267, 0.0242],
        [0.1346, 0.0145]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.272 | Val Loss: 0.003 | Val Acc: 81.879
Training:
Accuracies by groups:
0, 0  acc:  7377 / 16322 =  45.197
0, 1  acc:  4479 /  8416 =  53.220
1, 0  acc: 127374 / 129727 =  98.186
1, 1  acc:  7706 /  8305 =  92.787
--------------------------------------
Average acc: 146936 / 162770 =  90.272
Robust  acc:  7377 / 16322 =  45.197
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6333 /  8535 =  74.200
0, 1  acc:  6925 /  8276 =  83.676
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 16267 / 19867 =  81.879
Robust  acc:  6333 /  8535 =  74.200
------------------------------------
New max robust acc: 74.20035149384886
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed27.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed27.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 83.474
Robust Acc: 79.072 | Best Acc: 98.790
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7723 /  9767 =  79.072
0, 1  acc:  6324 /  7535 =  83.928
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16663 / 19962 =  83.474
Robust  acc:  7723 /  9767 =  79.072
------------------------------------
Accuracies by groups:
0, 0  acc:  7723 /  9767 =  79.072
0, 1  acc:  6324 /  7535 =  83.928
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16663 / 19962 =  83.474
Robust  acc:  7723 /  9767 =  79.072
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7723 /  9767 =  79.072
0, 1  acc:  6324 /  7535 =  83.928
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16663 / 19962 =  83.474
Robust  acc:  7723 /  9767 =  79.072
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.414 | Val Loss: 0.003 | Val Acc: 85.710
Training:
Accuracies by groups:
0, 0  acc: 11055 / 16393 =  67.437
0, 1  acc:  6833 /  8577 =  79.667
1, 0  acc: 128204 / 129578 =  98.940
1, 1  acc:  7586 /  8222 =  92.265
--------------------------------------
Average acc: 153678 / 162770 =  94.414
Robust  acc: 11055 / 16393 =  67.437
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6622 /  8535 =  77.586
0, 1  acc:  7394 /  8276 =  89.343
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17028 / 19867 =  85.710
Robust  acc:  6622 /  8535 =  77.586
------------------------------------
New max robust acc: 77.58640890451083
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed27.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed27.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.156
Robust Acc: 82.410 | Best Acc: 98.629
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8049 /  9767 =  82.410
0, 1  acc:  6739 /  7535 =  89.436
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17398 / 19962 =  87.156
Robust  acc:  8049 /  9767 =  82.410
------------------------------------
Accuracies by groups:
0, 0  acc:  8049 /  9767 =  82.410
0, 1  acc:  6739 /  7535 =  89.436
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17398 / 19962 =  87.156
Robust  acc:  8049 /  9767 =  82.410
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8049 /  9767 =  82.410
0, 1  acc:  6739 /  7535 =  89.436
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17398 / 19962 =  87.156
Robust  acc:  8049 /  9767 =  82.410
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.142 | Val Loss: 0.002 | Val Acc: 87.708
Training:
Accuracies by groups:
0, 0  acc: 11638 / 16392 =  70.998
0, 1  acc:  7273 /  8565 =  84.915
1, 0  acc: 128251 / 129546 =  99.000
1, 1  acc:  7701 /  8267 =  93.154
--------------------------------------
Average acc: 154863 / 162770 =  95.142
Robust  acc: 11638 / 16392 =  70.998
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6813 /  8535 =  79.824
0, 1  acc:  7612 /  8276 =  91.977
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17425 / 19867 =  87.708
Robust  acc:  6813 /  8535 =  79.824
------------------------------------
New max robust acc: 79.82425307557118
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed27.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed27.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.729
Robust Acc: 84.100 | Best Acc: 98.427
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8214 /  9767 =  84.100
0, 1  acc:  6902 /  7535 =  91.599
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17712 / 19962 =  88.729
Robust  acc:  8214 /  9767 =  84.100
------------------------------------
Accuracies by groups:
0, 0  acc:  8214 /  9767 =  84.100
0, 1  acc:  6902 /  7535 =  91.599
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17712 / 19962 =  88.729
Robust  acc:  8214 /  9767 =  84.100
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8214 /  9767 =  84.100
0, 1  acc:  6902 /  7535 =  91.599
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17712 / 19962 =  88.729
Robust  acc:  8214 /  9767 =  84.100
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.662 | Val Loss: 0.002 | Val Acc: 88.408
Training:
Accuracies by groups:
0, 0  acc: 11937 / 16357 =  72.978
0, 1  acc:  7473 /  8549 =  87.414
1, 0  acc: 128419 / 129489 =  99.174
1, 1  acc:  7880 /  8375 =  94.090
--------------------------------------
Average acc: 155709 / 162770 =  95.662
Robust  acc: 11937 / 16357 =  72.978
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6875 /  8535 =  80.551
0, 1  acc:  7686 /  8276 =  92.871
1, 0  acc:  2831 /  2874 =  98.504
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17564 / 19867 =  88.408
Robust  acc:  6875 /  8535 =  80.551
------------------------------------
New max robust acc: 80.55067369654364
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed27.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed27.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.164
Robust Acc: 84.437 | Best Acc: 98.306
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8247 /  9767 =  84.437
0, 1  acc:  6960 /  7535 =  92.369
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17799 / 19962 =  89.164
Robust  acc:  8247 /  9767 =  84.437
------------------------------------
Accuracies by groups:
0, 0  acc:  8247 /  9767 =  84.437
0, 1  acc:  6960 /  7535 =  92.369
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17799 / 19962 =  89.164
Robust  acc:  8247 /  9767 =  84.437
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8247 /  9767 =  84.437
0, 1  acc:  6960 /  7535 =  92.369
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17799 / 19962 =  89.164
Robust  acc:  8247 /  9767 =  84.437
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.265 | Val Loss: 0.002 | Val Acc: 89.847
Training:
Accuracies by groups:
0, 0  acc: 12527 / 16538 =  75.747
0, 1  acc:  7715 /  8664 =  89.047
1, 0  acc: 128532 / 129316 =  99.394
1, 1  acc:  7916 /  8252 =  95.928
--------------------------------------
Average acc: 156690 / 162770 =  96.265
Robust  acc: 12527 / 16538 =  75.747
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7095 /  8535 =  83.128
0, 1  acc:  7770 /  8276 =  93.886
1, 0  acc:  2818 /  2874 =  98.051
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17850 / 19867 =  89.847
Robust  acc:  7095 /  8535 =  83.128
------------------------------------
New max robust acc: 83.12829525483303
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed27.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed27.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.482
Robust Acc: 84.444 | Best Acc: 97.702
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8436 /  9767 =  86.372
0, 1  acc:  7051 /  7535 =  93.577
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18062 / 19962 =  90.482
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8436 /  9767 =  86.372
0, 1  acc:  7051 /  7535 =  93.577
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18062 / 19962 =  90.482
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8436 /  9767 =  86.372
0, 1  acc:  7051 /  7535 =  93.577
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18062 / 19962 =  90.482
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.825 | Val Loss: 0.002 | Val Acc: 90.859
Training:
Accuracies by groups:
0, 0  acc: 12944 / 16631 =  77.831
0, 1  acc:  7716 /  8506 =  90.712
1, 0  acc: 128788 / 129293 =  99.609
1, 1  acc:  8154 /  8340 =  97.770
--------------------------------------
Average acc: 157602 / 162770 =  96.825
Robust  acc: 12944 / 16631 =  77.831
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7202 /  8535 =  84.382
0, 1  acc:  7887 /  8276 =  95.300
1, 0  acc:  2802 /  2874 =  97.495
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 18051 / 19867 =  90.859
Robust  acc:  7202 /  8535 =  84.382
------------------------------------
New max robust acc: 84.38195664909198
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed27.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed27.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.278
Robust Acc: 81.111 | Best Acc: 97.379
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8520 /  9767 =  87.233
0, 1  acc:  7140 /  7535 =  94.758
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18221 / 19962 =  91.278
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8520 /  9767 =  87.233
0, 1  acc:  7140 /  7535 =  94.758
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18221 / 19962 =  91.278
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8520 /  9767 =  87.233
0, 1  acc:  7140 /  7535 =  94.758
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18221 / 19962 =  91.278
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.469 | Val Loss: 0.002 | Val Acc: 91.861
Training:
Accuracies by groups:
0, 0  acc: 13149 / 16282 =  80.758
0, 1  acc:  7852 /  8482 =  92.573
1, 0  acc: 129177 / 129445 =  99.793
1, 1  acc:  8472 /  8561 =  98.960
--------------------------------------
Average acc: 158650 / 162770 =  97.469
Robust  acc: 13149 / 16282 =  80.758
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7388 /  8535 =  86.561
0, 1  acc:  7929 /  8276 =  95.807
1, 0  acc:  2778 /  2874 =  96.660
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 18250 / 19867 =  91.861
Robust  acc:   155 /   182 =  85.165
------------------------------------
New max robust acc: 85.16483516483517
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed27.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed27.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.180
Robust Acc: 80.556 | Best Acc: 96.250
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8682 /  9767 =  88.891
0, 1  acc:  7187 /  7535 =  95.382
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18401 / 19962 =  92.180
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8682 /  9767 =  88.891
0, 1  acc:  7187 /  7535 =  95.382
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18401 / 19962 =  92.180
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8682 /  9767 =  88.891
0, 1  acc:  7187 /  7535 =  95.382
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18401 / 19962 =  92.180
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.982 | Val Loss: 0.002 | Val Acc: 92.253
Training:
Accuracies by groups:
0, 0  acc: 13645 / 16263 =  83.902
0, 1  acc:  7846 /  8371 =  93.728
1, 0  acc: 129695 / 129801 =  99.918
1, 1  acc:  8299 /  8335 =  99.568
--------------------------------------
Average acc: 159485 / 162770 =  97.982
Robust  acc: 13645 / 16263 =  83.902
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7414 /  8535 =  86.866
0, 1  acc:  7994 /  8276 =  96.593
1, 0  acc:  2772 /  2874 =  96.451
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 18328 / 19867 =  92.253
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.521
Robust Acc: 75.556 | Best Acc: 96.072
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8724 /  9767 =  89.321
0, 1  acc:  7239 /  7535 =  96.072
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18469 / 19962 =  92.521
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8724 /  9767 =  89.321
0, 1  acc:  7239 /  7535 =  96.072
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18469 / 19962 =  92.521
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8724 /  9767 =  89.321
0, 1  acc:  7239 /  7535 =  96.072
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18469 / 19962 =  92.521
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.405 | Val Loss: 0.002 | Val Acc: 92.822
Training:
Accuracies by groups:
0, 0  acc: 14222 / 16332 =  87.081
0, 1  acc:  7942 /  8336 =  95.274
1, 0  acc: 129776 / 129851 =  99.942
1, 1  acc:  8234 /  8251 =  99.794
--------------------------------------
Average acc: 160174 / 162770 =  98.405
Robust  acc: 14222 / 16332 =  87.081
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7533 /  8535 =  88.260
0, 1  acc:  8024 /  8276 =  96.955
1, 0  acc:  2742 /  2874 =  95.407
1, 1  acc:   142 /   182 =  78.022
------------------------------------
Average acc: 18441 / 19867 =  92.822
Robust  acc:   142 /   182 =  78.022
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.967
Robust Acc: 71.111 | Best Acc: 96.563
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8813 /  9767 =  90.232
0, 1  acc:  7276 /  7535 =  96.563
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18558 / 19962 =  92.967
Robust  acc:   128 /   180 =  71.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8813 /  9767 =  90.232
0, 1  acc:  7276 /  7535 =  96.563
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18558 / 19962 =  92.967
Robust  acc:   128 /   180 =  71.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8813 /  9767 =  90.232
0, 1  acc:  7276 /  7535 =  96.563
1, 0  acc:  2341 /  2480 =  94.395
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18558 / 19962 =  92.967
Robust  acc:   128 /   180 =  71.111
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.651 | Val Loss: 0.001 | Val Acc: 93.542
Training:
Accuracies by groups:
0, 0  acc: 14492 / 16233 =  89.275
0, 1  acc:  8056 /  8386 =  96.065
1, 0  acc: 129665 / 129760 =  99.927
1, 1  acc:  8362 /  8391 =  99.654
--------------------------------------
Average acc: 160575 / 162770 =  98.651
Robust  acc: 14492 / 16233 =  89.275
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7669 /  8535 =  89.854
0, 1  acc:  8102 /  8276 =  97.898
1, 0  acc:  2682 /  2874 =  93.319
1, 1  acc:   131 /   182 =  71.978
------------------------------------
Average acc: 18584 / 19867 =  93.542
Robust  acc:   131 /   182 =  71.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.743
Robust Acc: 66.111 | Best Acc: 97.425
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8966 /  9767 =  91.799
0, 1  acc:  7341 /  7535 =  97.425
1, 0  acc:  2287 /  2480 =  92.218
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18713 / 19962 =  93.743
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8966 /  9767 =  91.799
0, 1  acc:  7341 /  7535 =  97.425
1, 0  acc:  2287 /  2480 =  92.218
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18713 / 19962 =  93.743
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8966 /  9767 =  91.799
0, 1  acc:  7341 /  7535 =  97.425
1, 0  acc:  2287 /  2480 =  92.218
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18713 / 19962 =  93.743
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.643 | Val Loss: 0.002 | Val Acc: 92.349
Training:
Accuracies by groups:
0, 0  acc: 14654 / 16344 =  89.660
0, 1  acc:  8105 /  8405 =  96.431
1, 0  acc: 129684 / 129852 =  99.871
1, 1  acc:  8118 /  8169 =  99.376
--------------------------------------
Average acc: 160561 / 162770 =  98.643
Robust  acc: 14654 / 16344 =  89.660
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7471 /  8535 =  87.534
0, 1  acc:  8006 /  8276 =  96.738
1, 0  acc:  2731 /  2874 =  95.024
1, 1  acc:   139 /   182 =  76.374
------------------------------------
Average acc: 18347 / 19867 =  92.349
Robust  acc:   139 /   182 =  76.374
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.596
Robust Acc: 69.444 | Best Acc: 96.231
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8773 /  9767 =  89.823
0, 1  acc:  7251 /  7535 =  96.231
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18484 / 19962 =  92.596
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8773 /  9767 =  89.823
0, 1  acc:  7251 /  7535 =  96.231
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18484 / 19962 =  92.596
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8773 /  9767 =  89.823
0, 1  acc:  7251 /  7535 =  96.231
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18484 / 19962 =  92.596
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.377 | Val Loss: 0.002 | Val Acc: 90.235
Training:
Accuracies by groups:
0, 0  acc: 14496 / 16397 =  88.406
0, 1  acc:  8114 /  8474 =  95.752
1, 0  acc: 129396 / 129680 =  99.781
1, 1  acc:  8123 /  8219 =  98.832
--------------------------------------
Average acc: 160129 / 162770 =  98.377
Robust  acc: 14496 / 16397 =  88.406
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7088 /  8535 =  83.046
0, 1  acc:  7873 /  8276 =  95.130
1, 0  acc:  2810 /  2874 =  97.773
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 17927 / 19867 =  90.235
Robust  acc:  7088 /  8535 =  83.046
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.702
Robust Acc: 78.889 | Best Acc: 97.097
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8410 /  9767 =  86.106
0, 1  acc:  7146 /  7535 =  94.837
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18106 / 19962 =  90.702
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8410 /  9767 =  86.106
0, 1  acc:  7146 /  7535 =  94.837
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18106 / 19962 =  90.702
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8410 /  9767 =  86.106
0, 1  acc:  7146 /  7535 =  94.837
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18106 / 19962 =  90.702
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.925 | Val Loss: 0.002 | Val Acc: 93.527
Training:
Accuracies by groups:
0, 0  acc: 14082 / 16391 =  85.913
0, 1  acc:  8047 /  8475 =  94.950
1, 0  acc: 128944 / 129442 =  99.615
1, 1  acc:  8320 /  8462 =  98.322
--------------------------------------
Average acc: 159393 / 162770 =  97.925
Robust  acc: 14082 / 16391 =  85.913
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7719 /  8535 =  90.439
0, 1  acc:  7997 /  8276 =  96.629
1, 0  acc:  2716 /  2874 =  94.502
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18581 / 19867 =  93.527
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.643
Robust Acc: 73.889 | Best Acc: 96.191
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8997 /  9767 =  92.116
0, 1  acc:  7248 /  7535 =  96.191
1, 0  acc:  2315 /  2480 =  93.347
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18693 / 19962 =  93.643
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8997 /  9767 =  92.116
0, 1  acc:  7248 /  7535 =  96.191
1, 0  acc:  2315 /  2480 =  93.347
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18693 / 19962 =  93.643
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8997 /  9767 =  92.116
0, 1  acc:  7248 /  7535 =  96.191
1, 0  acc:  2315 /  2480 =  93.347
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18693 / 19962 =  93.643
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.358 | Val Loss: 0.002 | Val Acc: 88.302
Training:
Accuracies by groups:
0, 0  acc: 13574 / 16343 =  83.057
0, 1  acc:  7857 /  8424 =  93.269
1, 0  acc: 129104 / 129842 =  99.432
1, 1  acc:  7935 /  8161 =  97.231
--------------------------------------
Average acc: 158470 / 162770 =  97.358
Robust  acc: 13574 / 16343 =  83.057
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7029 /  8535 =  82.355
0, 1  acc:  7524 /  8276 =  90.913
1, 0  acc:  2821 /  2874 =  98.156
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17543 / 19867 =  88.302
Robust  acc:  7029 /  8535 =  82.355
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.154
Robust Acc: 85.871 | Best Acc: 97.177
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8387 /  9767 =  85.871
0, 1  acc:  6833 /  7535 =  90.683
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17797 / 19962 =  89.154
Robust  acc:  8387 /  9767 =  85.871
------------------------------------
Accuracies by groups:
0, 0  acc:  8387 /  9767 =  85.871
0, 1  acc:  6833 /  7535 =  90.683
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17797 / 19962 =  89.154
Robust  acc:  8387 /  9767 =  85.871
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8387 /  9767 =  85.871
0, 1  acc:  6833 /  7535 =  90.683
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17797 / 19962 =  89.154
Robust  acc:  8387 /  9767 =  85.871
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.802 | Val Loss: 0.002 | Val Acc: 91.282
Training:
Accuracies by groups:
0, 0  acc: 13120 / 16445 =  79.781
0, 1  acc:  7664 /  8335 =  91.950
1, 0  acc: 128736 / 129641 =  99.302
1, 1  acc:  8044 /  8349 =  96.347
--------------------------------------
Average acc: 157564 / 162770 =  96.802
Robust  acc: 13120 / 16445 =  79.781
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7381 /  8535 =  86.479
0, 1  acc:  7814 /  8276 =  94.418
1, 0  acc:  2782 /  2874 =  96.799
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 18135 / 19867 =  91.282
Robust  acc:  7381 /  8535 =  86.479
------------------------------------
New max robust acc: 86.47920328060925
debias model - Saving best checkpoint at epoch 14
replace: True
-> Updating checkpoint debias-wga-best_seed27.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed27.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.905
Robust Acc: 80.000 | Best Acc: 96.089
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8707 /  9767 =  89.147
0, 1  acc:  7112 /  7535 =  94.386
1, 0  acc:  2383 /  2480 =  96.089
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18346 / 19962 =  91.905
Robust  acc:   144 /   180 =  80.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8707 /  9767 =  89.147
0, 1  acc:  7112 /  7535 =  94.386
1, 0  acc:  2383 /  2480 =  96.089
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18346 / 19962 =  91.905
Robust  acc:   144 /   180 =  80.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8707 /  9767 =  89.147
0, 1  acc:  7112 /  7535 =  94.386
1, 0  acc:  2383 /  2480 =  96.089
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18346 / 19962 =  91.905
Robust  acc:   144 /   180 =  80.000
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.335 | Val Loss: 0.002 | Val Acc: 91.478
Training:
Accuracies by groups:
0, 0  acc: 12490 / 16178 =  77.204
0, 1  acc:  7641 /  8446 =  90.469
1, 0  acc: 128717 / 129809 =  99.159
1, 1  acc:  7957 /  8337 =  95.442
--------------------------------------
Average acc: 156805 / 162770 =  96.335
Robust  acc: 12490 / 16178 =  77.204
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7405 /  8535 =  86.760
0, 1  acc:  7838 /  8276 =  94.708
1, 0  acc:  2766 /  2874 =  96.242
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 18174 / 19867 =  91.478
Robust  acc:  7405 /  8535 =  86.760
------------------------------------
New max robust acc: 86.76039835969537
debias model - Saving best checkpoint at epoch 15
replace: True
-> Updating checkpoint debias-wga-best_seed27.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed27.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.060
Robust Acc: 79.444 | Best Acc: 95.847
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8731 /  9767 =  89.393
0, 1  acc:  7126 /  7535 =  94.572
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18377 / 19962 =  92.060
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8731 /  9767 =  89.393
0, 1  acc:  7126 /  7535 =  94.572
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18377 / 19962 =  92.060
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8731 /  9767 =  89.393
0, 1  acc:  7126 /  7535 =  94.572
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18377 / 19962 =  92.060
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.857 | Val Loss: 0.003 | Val Acc: 85.640
Training:
Accuracies by groups:
0, 0  acc: 12363 / 16382 =  75.467
0, 1  acc:  7516 /  8497 =  88.455
1, 0  acc: 128283 / 129562 =  99.013
1, 1  acc:  7864 /  8329 =  94.417
--------------------------------------
Average acc: 156026 / 162770 =  95.857
Robust  acc: 12363 / 16382 =  75.467
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6539 /  8535 =  76.614
0, 1  acc:  7458 /  8276 =  90.116
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17014 / 19867 =  85.640
Robust  acc:  6539 /  8535 =  76.614
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.830
Robust Acc: 80.792 | Best Acc: 98.871
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  7891 /  9767 =  80.792
0, 1  acc:  6828 /  7535 =  90.617
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17333 / 19962 =  86.830
Robust  acc:  7891 /  9767 =  80.792
------------------------------------
Accuracies by groups:
0, 0  acc:  7891 /  9767 =  80.792
0, 1  acc:  6828 /  7535 =  90.617
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17333 / 19962 =  86.830
Robust  acc:  7891 /  9767 =  80.792
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7891 /  9767 =  80.792
0, 1  acc:  6828 /  7535 =  90.617
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17333 / 19962 =  86.830
Robust  acc:  7891 /  9767 =  80.792
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.464 | Val Loss: 0.005 | Val Acc: 74.848
Training:
Accuracies by groups:
0, 0  acc: 12011 / 16322 =  73.588
0, 1  acc:  7359 /  8444 =  87.151
1, 0  acc: 128128 / 129619 =  98.850
1, 1  acc:  7888 /  8385 =  94.073
--------------------------------------
Average acc: 155386 / 162770 =  95.464
Robust  acc: 12011 / 16322 =  73.588
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5429 /  8535 =  63.609
0, 1  acc:  6397 /  8276 =  77.296
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14870 / 19867 =  74.848
Robust  acc:  5429 /  8535 =  63.609
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 76.565
Robust Acc: 69.643 | Best Acc: 99.516
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  6802 /  9767 =  69.643
0, 1  acc:  5841 /  7535 =  77.518
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15284 / 19962 =  76.565
Robust  acc:  6802 /  9767 =  69.643
------------------------------------
Accuracies by groups:
0, 0  acc:  6802 /  9767 =  69.643
0, 1  acc:  5841 /  7535 =  77.518
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15284 / 19962 =  76.565
Robust  acc:  6802 /  9767 =  69.643
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6802 /  9767 =  69.643
0, 1  acc:  5841 /  7535 =  77.518
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15284 / 19962 =  76.565
Robust  acc:  6802 /  9767 =  69.643
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 94.998 | Val Loss: 0.007 | Val Acc: 61.982
Training:
Accuracies by groups:
0, 0  acc: 11948 / 16595 =  71.998
0, 1  acc:  7045 /  8316 =  84.716
1, 0  acc: 127907 / 129563 =  98.722
1, 1  acc:  7729 /  8296 =  93.165
--------------------------------------
Average acc: 154629 / 162770 =  94.998
Robust  acc: 11948 / 16595 =  71.998
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4441 /  8535 =  52.033
0, 1  acc:  4822 /  8276 =  58.265
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12314 / 19867 =  61.982
Robust  acc:  4441 /  8535 =  52.033
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 63.866
Robust Acc: 57.930 | Best Acc: 99.879
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  5658 /  9767 =  57.930
0, 1  acc:  4436 /  7535 =  58.872
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12749 / 19962 =  63.866
Robust  acc:  5658 /  9767 =  57.930
------------------------------------
Accuracies by groups:
0, 0  acc:  5658 /  9767 =  57.930
0, 1  acc:  4436 /  7535 =  58.872
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12749 / 19962 =  63.866
Robust  acc:  5658 /  9767 =  57.930
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5658 /  9767 =  57.930
0, 1  acc:  4436 /  7535 =  58.872
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12749 / 19962 =  63.866
Robust  acc:  5658 /  9767 =  57.930
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 94.832 | Val Loss: 0.002 | Val Acc: 94.705
Training:
Accuracies by groups:
0, 0  acc: 11517 / 16244 =  70.900
0, 1  acc:  7056 /  8401 =  83.990
1, 0  acc: 127973 / 129702 =  98.667
1, 1  acc:  7812 /  8423 =  92.746
--------------------------------------
Average acc: 154358 / 162770 =  94.832
Robust  acc: 11517 / 16244 =  70.900
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8137 /  8535 =  95.337
0, 1  acc:  8137 /  8276 =  98.320
1, 0  acc:  2438 /  2874 =  84.830
1, 1  acc:   103 /   182 =  56.593
------------------------------------
Average acc: 18815 / 19867 =  94.705
Robust  acc:   103 /   182 =  56.593
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 95.051
Robust Acc: 56.667 | Best Acc: 98.248
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  9378 /  9767 =  96.017
0, 1  acc:  7403 /  7535 =  98.248
1, 0  acc:  2091 /  2480 =  84.315
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18974 / 19962 =  95.051
Robust  acc:   102 /   180 =  56.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9378 /  9767 =  96.017
0, 1  acc:  7403 /  7535 =  98.248
1, 0  acc:  2091 /  2480 =  84.315
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18974 / 19962 =  95.051
Robust  acc:   102 /   180 =  56.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9378 /  9767 =  96.017
0, 1  acc:  7403 /  7535 =  98.248
1, 0  acc:  2091 /  2480 =  84.315
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18974 / 19962 =  95.051
Robust  acc:   102 /   180 =  56.667
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.572 | Val Loss: 0.003 | Val Acc: 86.520
Training:
Accuracies by groups:
0, 0  acc: 11316 / 16299 =  69.428
0, 1  acc:  6876 /  8372 =  82.131
1, 0  acc: 127954 / 129731 =  98.630
1, 1  acc:  7789 /  8368 =  93.081
--------------------------------------
Average acc: 153935 / 162770 =  94.572
Robust  acc: 11316 / 16299 =  69.428
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6630 /  8535 =  77.680
0, 1  acc:  7554 /  8276 =  91.276
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17189 / 19867 =  86.520
Robust  acc:  6630 /  8535 =  77.680
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.862
Robust Acc: 82.185 | Best Acc: 98.145
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8027 /  9767 =  82.185
0, 1  acc:  6921 /  7535 =  91.851
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17539 / 19962 =  87.862
Robust  acc:  8027 /  9767 =  82.185
------------------------------------
Accuracies by groups:
0, 0  acc:  8027 /  9767 =  82.185
0, 1  acc:  6921 /  7535 =  91.851
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17539 / 19962 =  87.862
Robust  acc:  8027 /  9767 =  82.185
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8027 /  9767 =  82.185
0, 1  acc:  6921 /  7535 =  91.851
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17539 / 19962 =  87.862
Robust  acc:  8027 /  9767 =  82.185
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.518 | Val Loss: 0.003 | Val Acc: 89.394
Training:
Accuracies by groups:
0, 0  acc: 11167 / 16237 =  68.775
0, 1  acc:  6697 /  8337 =  80.329
1, 0  acc: 128222 / 129897 =  98.711
1, 1  acc:  7761 /  8299 =  93.517
--------------------------------------
Average acc: 153847 / 162770 =  94.518
Robust  acc: 11167 / 16237 =  68.775
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7143 /  8535 =  83.691
0, 1  acc:  7659 /  8276 =  92.545
1, 0  acc:  2793 /  2874 =  97.182
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17760 / 19867 =  89.394
Robust  acc:  7143 /  8535 =  83.691
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.567
Robust Acc: 83.889 | Best Acc: 95.927
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  8549 /  9767 =  87.529
0, 1  acc:  7000 /  7535 =  92.900
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18079 / 19962 =  90.567
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8549 /  9767 =  87.529
0, 1  acc:  7000 /  7535 =  92.900
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18079 / 19962 =  90.567
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8549 /  9767 =  87.529
0, 1  acc:  7000 /  7535 =  92.900
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18079 / 19962 =  90.567
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.294 | Val Loss: 0.003 | Val Acc: 88.383
Training:
Accuracies by groups:
0, 0  acc: 10848 / 16126 =  67.270
0, 1  acc:  6600 /  8318 =  79.346
1, 0  acc: 128163 / 129883 =  98.676
1, 1  acc:  7872 /  8443 =  93.237
--------------------------------------
Average acc: 153483 / 162770 =  94.294
Robust  acc: 10848 / 16126 =  67.270
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7115 /  8535 =  83.363
0, 1  acc:  7480 /  8276 =  90.382
1, 0  acc:  2793 /  2874 =  97.182
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17559 / 19867 =  88.383
Robust  acc:  7115 /  8535 =  83.363
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.480
Robust Acc: 86.833 | Best Acc: 96.129
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  6840 /  7535 =  90.776
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17862 / 19962 =  89.480
Robust  acc:  8481 /  9767 =  86.833
------------------------------------
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  6840 /  7535 =  90.776
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17862 / 19962 =  89.480
Robust  acc:  8481 /  9767 =  86.833
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8481 /  9767 =  86.833
0, 1  acc:  6840 /  7535 =  90.776
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17862 / 19962 =  89.480
Robust  acc:  8481 /  9767 =  86.833
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.173 | Val Loss: 0.003 | Val Acc: 91.800
Training:
Accuracies by groups:
0, 0  acc: 10993 / 16411 =  66.986
0, 1  acc:  6604 /  8475 =  77.923
1, 0  acc: 127908 / 129608 =  98.688
1, 1  acc:  7781 /  8276 =  94.019
--------------------------------------
Average acc: 153286 / 162770 =  94.173
Robust  acc: 10993 / 16411 =  66.986
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7556 /  8535 =  88.530
0, 1  acc:  7848 /  8276 =  94.828
1, 0  acc:  2692 /  2874 =  93.667
1, 1  acc:   142 /   182 =  78.022
------------------------------------
Average acc: 18238 / 19867 =  91.800
Robust  acc:   142 /   182 =  78.022
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.952
Robust Acc: 77.222 | Best Acc: 94.997
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  8962 /  9767 =  91.758
0, 1  acc:  7158 /  7535 =  94.997
1, 0  acc:  2296 /  2480 =  92.581
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18555 / 19962 =  92.952
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8962 /  9767 =  91.758
0, 1  acc:  7158 /  7535 =  94.997
1, 0  acc:  2296 /  2480 =  92.581
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18555 / 19962 =  92.952
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8962 /  9767 =  91.758
0, 1  acc:  7158 /  7535 =  94.997
1, 0  acc:  2296 /  2480 =  92.581
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18555 / 19962 =  92.952
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.069 | Val Loss: 0.003 | Val Acc: 87.195
Training:
Accuracies by groups:
0, 0  acc: 10753 / 16332 =  65.840
0, 1  acc:  6496 /  8436 =  77.003
1, 0  acc: 128096 / 129709 =  98.756
1, 1  acc:  7771 /  8293 =  93.706
--------------------------------------
Average acc: 153116 / 162770 =  94.069
Robust  acc: 10753 / 16332 =  65.840
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6904 /  8535 =  80.890
0, 1  acc:  7435 /  8276 =  89.838
1, 0  acc:  2809 /  2874 =  97.738
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 17323 / 19867 =  87.195
Robust  acc:  6904 /  8535 =  80.890
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.418
Robust Acc: 84.919 | Best Acc: 97.379
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8294 /  9767 =  84.919
0, 1  acc:  6778 /  7535 =  89.954
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17650 / 19962 =  88.418
Robust  acc:  8294 /  9767 =  84.919
------------------------------------
Accuracies by groups:
0, 0  acc:  8294 /  9767 =  84.919
0, 1  acc:  6778 /  7535 =  89.954
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17650 / 19962 =  88.418
Robust  acc:  8294 /  9767 =  84.919
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8294 /  9767 =  84.919
0, 1  acc:  6778 /  7535 =  89.954
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17650 / 19962 =  88.418
Robust  acc:  8294 /  9767 =  84.919
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.093 | Val Loss: 0.003 | Val Acc: 92.460
Training:
Accuracies by groups:
0, 0  acc: 10867 / 16511 =  65.817
0, 1  acc:  6382 /  8355 =  76.385
1, 0  acc: 128042 / 129547 =  98.838
1, 1  acc:  7864 /  8357 =  94.101
--------------------------------------
Average acc: 153155 / 162770 =  94.093
Robust  acc: 10867 / 16511 =  65.817
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7652 /  8535 =  89.654
0, 1  acc:  7918 /  8276 =  95.674
1, 0  acc:  2664 /  2874 =  92.693
1, 1  acc:   135 /   182 =  74.176
------------------------------------
Average acc: 18369 / 19867 =  92.460
Robust  acc:   135 /   182 =  74.176
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.871
Robust Acc: 69.444 | Best Acc: 95.103
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  8979 /  9767 =  91.932
0, 1  acc:  7166 /  7535 =  95.103
1, 0  acc:  2269 /  2480 =  91.492
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18539 / 19962 =  92.871
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8979 /  9767 =  91.932
0, 1  acc:  7166 /  7535 =  95.103
1, 0  acc:  2269 /  2480 =  91.492
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18539 / 19962 =  92.871
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8979 /  9767 =  91.932
0, 1  acc:  7166 /  7535 =  95.103
1, 0  acc:  2269 /  2480 =  91.492
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18539 / 19962 =  92.871
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 93.937 | Val Loss: 0.003 | Val Acc: 90.592
Training:
Accuracies by groups:
0, 0  acc: 10667 / 16404 =  65.027
0, 1  acc:  6455 /  8537 =  75.612
1, 0  acc: 128066 / 129641 =  98.785
1, 1  acc:  7714 /  8188 =  94.211
--------------------------------------
Average acc: 152902 / 162770 =  93.937
Robust  acc: 10667 / 16404 =  65.027
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7471 /  8535 =  87.534
0, 1  acc:  7643 /  8276 =  92.351
1, 0  acc:  2731 /  2874 =  95.024
1, 1  acc:   153 /   182 =  84.066
------------------------------------
Average acc: 17998 / 19867 =  90.592
Robust  acc:   153 /   182 =  84.066
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.744
Robust Acc: 82.778 | Best Acc: 93.427
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  8863 /  9767 =  90.744
0, 1  acc:  6985 /  7535 =  92.701
1, 0  acc:  2317 /  2480 =  93.427
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18314 / 19962 =  91.744
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8863 /  9767 =  90.744
0, 1  acc:  6985 /  7535 =  92.701
1, 0  acc:  2317 /  2480 =  93.427
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18314 / 19962 =  91.744
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8863 /  9767 =  90.744
0, 1  acc:  6985 /  7535 =  92.701
1, 0  acc:  2317 /  2480 =  93.427
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18314 / 19962 =  91.744
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 93.900 | Val Loss: 0.003 | Val Acc: 94.222
Training:
Accuracies by groups:
0, 0  acc: 10799 / 16648 =  64.867
0, 1  acc:  6443 /  8461 =  76.149
1, 0  acc: 127662 / 129302 =  98.732
1, 1  acc:  7937 /  8359 =  94.952
--------------------------------------
Average acc: 152841 / 162770 =  93.900
Robust  acc: 10799 / 16648 =  64.867
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8038 /  8535 =  94.177
0, 1  acc:  8146 /  8276 =  98.429
1, 0  acc:  2440 /  2874 =  84.899
1, 1  acc:    95 /   182 =  52.198
------------------------------------
Average acc: 18719 / 19867 =  94.222
Robust  acc:    95 /   182 =  52.198
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.665
Robust Acc: 46.111 | Best Acc: 98.248
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  9340 /  9767 =  95.628
0, 1  acc:  7403 /  7535 =  98.248
1, 0  acc:  2071 /  2480 =  83.508
1, 1  acc:    83 /   180 =  46.111
------------------------------------
Average acc: 18897 / 19962 =  94.665
Robust  acc:    83 /   180 =  46.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9340 /  9767 =  95.628
0, 1  acc:  7403 /  7535 =  98.248
1, 0  acc:  2071 /  2480 =  83.508
1, 1  acc:    83 /   180 =  46.111
------------------------------------
Average acc: 18897 / 19962 =  94.665
Robust  acc:    83 /   180 =  46.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9340 /  9767 =  95.628
0, 1  acc:  7403 /  7535 =  98.248
1, 0  acc:  2071 /  2480 =  83.508
1, 1  acc:    83 /   180 =  46.111
------------------------------------
Average acc: 18897 / 19962 =  94.665
Robust  acc:    83 /   180 =  46.111
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 93.936 | Val Loss: 0.003 | Val Acc: 89.138
Training:
Accuracies by groups:
0, 0  acc: 10628 / 16467 =  64.541
0, 1  acc:  6404 /  8438 =  75.895
1, 0  acc: 128218 / 129723 =  98.840
1, 1  acc:  7649 /  8142 =  93.945
--------------------------------------
Average acc: 152899 / 162770 =  93.936
Robust  acc: 10628 / 16467 =  64.541
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7199 /  8535 =  84.347
0, 1  acc:  7554 /  8276 =  91.276
1, 0  acc:  2789 /  2874 =  97.042
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17709 / 19867 =  89.138
Robust  acc:  7199 /  8535 =  84.347
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.357
Robust Acc: 85.000 | Best Acc: 96.089
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  8554 /  9767 =  87.581
0, 1  acc:  6947 /  7535 =  92.196
1, 0  acc:  2383 /  2480 =  96.089
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18037 / 19962 =  90.357
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8554 /  9767 =  87.581
0, 1  acc:  6947 /  7535 =  92.196
1, 0  acc:  2383 /  2480 =  96.089
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18037 / 19962 =  90.357
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8554 /  9767 =  87.581
0, 1  acc:  6947 /  7535 =  92.196
1, 0  acc:  2383 /  2480 =  96.089
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18037 / 19962 =  90.357
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.903 | Val Loss: 0.004 | Val Acc: 88.096
Training:
Accuracies by groups:
0, 0  acc: 10526 / 16401 =  64.179
0, 1  acc:  6480 /  8568 =  75.630
1, 0  acc: 127944 / 129398 =  98.876
1, 1  acc:  7896 /  8403 =  93.966
--------------------------------------
Average acc: 152846 / 162770 =  93.903
Robust  acc: 10526 / 16401 =  64.179
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7104 /  8535 =  83.234
0, 1  acc:  7454 /  8276 =  90.068
1, 0  acc:  2781 /  2874 =  96.764
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17502 / 19867 =  88.096
Robust  acc:  7104 /  8535 =  83.234
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.530
Robust Acc: 82.778 | Best Acc: 96.048
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  8542 /  9767 =  87.458
0, 1  acc:  6799 /  7535 =  90.232
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17872 / 19962 =  89.530
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8542 /  9767 =  87.458
0, 1  acc:  6799 /  7535 =  90.232
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17872 / 19962 =  89.530
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8542 /  9767 =  87.458
0, 1  acc:  6799 /  7535 =  90.232
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17872 / 19962 =  89.530
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.944 | Val Loss: 0.005 | Val Acc: 73.700
Training:
Accuracies by groups:
0, 0  acc: 10596 / 16432 =  64.484
0, 1  acc:  6355 /  8403 =  75.628
1, 0  acc: 128111 / 129578 =  98.868
1, 1  acc:  7851 /  8357 =  93.945
--------------------------------------
Average acc: 152913 / 162770 =  93.944
Robust  acc: 10596 / 16432 =  64.484
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5378 /  8535 =  63.011
0, 1  acc:  6218 /  8276 =  75.133
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14642 / 19867 =  73.700
Robust  acc:  5378 /  8535 =  63.011
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.523
Robust Acc: 69.161 | Best Acc: 99.516
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  6755 /  9767 =  69.161
0, 1  acc:  5678 /  7535 =  75.355
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15076 / 19962 =  75.523
Robust  acc:  6755 /  9767 =  69.161
------------------------------------
Accuracies by groups:
0, 0  acc:  6755 /  9767 =  69.161
0, 1  acc:  5678 /  7535 =  75.355
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15076 / 19962 =  75.523
Robust  acc:  6755 /  9767 =  69.161
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6755 /  9767 =  69.161
0, 1  acc:  5678 /  7535 =  75.355
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15076 / 19962 =  75.523
Robust  acc:  6755 /  9767 =  69.161
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.961 | Val Loss: 0.007 | Val Acc: 58.600
Training:
Accuracies by groups:
0, 0  acc: 10515 / 16378 =  64.202
0, 1  acc:  6414 /  8495 =  75.503
1, 0  acc: 128219 / 129613 =  98.924
1, 1  acc:  7793 /  8284 =  94.073
--------------------------------------
Average acc: 152941 / 162770 =  93.961
Robust  acc: 10515 / 16378 =  64.202
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3984 /  8535 =  46.678
0, 1  acc:  4606 /  8276 =  55.655
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11642 / 19867 =  58.600
Robust  acc:  3984 /  8535 =  46.678
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 60.239
Robust Acc: 53.036 | Best Acc: 99.798
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  5180 /  9767 =  53.036
0, 1  acc:  4192 /  7535 =  55.634
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12025 / 19962 =  60.239
Robust  acc:  5180 /  9767 =  53.036
------------------------------------
Accuracies by groups:
0, 0  acc:  5180 /  9767 =  53.036
0, 1  acc:  4192 /  7535 =  55.634
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12025 / 19962 =  60.239
Robust  acc:  5180 /  9767 =  53.036
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5180 /  9767 =  53.036
0, 1  acc:  4192 /  7535 =  55.634
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12025 / 19962 =  60.239
Robust  acc:  5180 /  9767 =  53.036
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.942 | Val Loss: 0.004 | Val Acc: 83.737
Training:
Accuracies by groups:
0, 0  acc: 10347 / 16121 =  64.183
0, 1  acc:  6369 /  8584 =  74.196
1, 0  acc: 128360 / 129719 =  98.952
1, 1  acc:  7834 /  8346 =  93.865
--------------------------------------
Average acc: 152910 / 162770 =  93.942
Robust  acc: 10347 / 16121 =  64.183
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6602 /  8535 =  77.352
0, 1  acc:  7048 /  8276 =  85.162
1, 0  acc:  2815 /  2874 =  97.947
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16636 / 19867 =  83.737
Robust  acc:  6602 /  8535 =  77.352
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.402
Robust Acc: 82.410 | Best Acc: 97.621
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  8049 /  9767 =  82.410
0, 1  acc:  6425 /  7535 =  85.269
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17048 / 19962 =  85.402
Robust  acc:  8049 /  9767 =  82.410
------------------------------------
Accuracies by groups:
0, 0  acc:  8049 /  9767 =  82.410
0, 1  acc:  6425 /  7535 =  85.269
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17048 / 19962 =  85.402
Robust  acc:  8049 /  9767 =  82.410
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8049 /  9767 =  82.410
0, 1  acc:  6425 /  7535 =  85.269
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17048 / 19962 =  85.402
Robust  acc:  8049 /  9767 =  82.410
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.918 | Val Loss: 0.005 | Val Acc: 74.400
Training:
Accuracies by groups:
0, 0  acc: 10586 / 16445 =  64.372
0, 1  acc:  6367 /  8554 =  74.433
1, 0  acc: 128059 / 129428 =  98.942
1, 1  acc:  7859 /  8343 =  94.199
--------------------------------------
Average acc: 152871 / 162770 =  93.918
Robust  acc: 10586 / 16445 =  64.372
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5664 /  8535 =  66.362
0, 1  acc:  6083 /  8276 =  73.502
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14781 / 19867 =  74.400
Robust  acc:  5664 /  8535 =  66.362
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.395
Robust Acc: 72.233 | Best Acc: 99.073
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7055 /  9767 =  72.233
0, 1  acc:  5563 /  7535 =  73.829
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15250 / 19962 =  76.395
Robust  acc:  7055 /  9767 =  72.233
------------------------------------
Accuracies by groups:
0, 0  acc:  7055 /  9767 =  72.233
0, 1  acc:  5563 /  7535 =  73.829
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15250 / 19962 =  76.395
Robust  acc:  7055 /  9767 =  72.233
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7055 /  9767 =  72.233
0, 1  acc:  5563 /  7535 =  73.829
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15250 / 19962 =  76.395
Robust  acc:  7055 /  9767 =  72.233
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.953 | Val Loss: 0.005 | Val Acc: 76.620
Training:
Accuracies by groups:
0, 0  acc: 10410 / 16261 =  64.018
0, 1  acc:  6352 /  8452 =  75.154
1, 0  acc: 128366 / 129755 =  98.930
1, 1  acc:  7799 /  8302 =  93.941
--------------------------------------
Average acc: 152927 / 162770 =  93.953
Robust  acc: 10410 / 16261 =  64.018
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5803 /  8535 =  67.991
0, 1  acc:  6381 /  8276 =  77.102
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15222 / 19867 =  76.620
Robust  acc:  5803 /  8535 =  67.991
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.948
Robust Acc: 73.615 | Best Acc: 99.113
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  7190 /  9767 =  73.615
0, 1  acc:  5737 /  7535 =  76.138
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15560 / 19962 =  77.948
Robust  acc:  7190 /  9767 =  73.615
------------------------------------
Accuracies by groups:
0, 0  acc:  7190 /  9767 =  73.615
0, 1  acc:  5737 /  7535 =  76.138
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15560 / 19962 =  77.948
Robust  acc:  7190 /  9767 =  73.615
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7190 /  9767 =  73.615
0, 1  acc:  5737 /  7535 =  76.138
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15560 / 19962 =  77.948
Robust  acc:  7190 /  9767 =  73.615
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.974 | Val Loss: 0.007 | Val Acc: 64.539
Training:
Accuracies by groups:
0, 0  acc: 10214 / 16086 =  63.496
0, 1  acc:  6479 /  8570 =  75.601
1, 0  acc: 128281 / 129644 =  98.949
1, 1  acc:  7987 /  8470 =  94.298
--------------------------------------
Average acc: 152961 / 162770 =  93.974
Robust  acc: 10214 / 16086 =  63.496
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4672 /  8535 =  54.739
0, 1  acc:  5106 /  8276 =  61.696
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12822 / 19867 =  64.539
Robust  acc:  4672 /  8535 =  54.739
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.625
Robust Acc: 60.377 | Best Acc: 99.637
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  5897 /  9767 =  60.377
0, 1  acc:  4555 /  7535 =  60.451
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13100 / 19962 =  65.625
Robust  acc:  5897 /  9767 =  60.377
------------------------------------
Accuracies by groups:
0, 0  acc:  5897 /  9767 =  60.377
0, 1  acc:  4555 /  7535 =  60.451
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13100 / 19962 =  65.625
Robust  acc:  5897 /  9767 =  60.377
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5897 /  9767 =  60.377
0, 1  acc:  4555 /  7535 =  60.451
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13100 / 19962 =  65.625
Robust  acc:  5897 /  9767 =  60.377
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.958 | Val Loss: 0.007 | Val Acc: 57.200
Training:
Accuracies by groups:
0, 0  acc: 10472 / 16320 =  64.167
0, 1  acc:  6368 /  8490 =  75.006
1, 0  acc: 128174 / 129556 =  98.933
1, 1  acc:  7921 /  8404 =  94.253
--------------------------------------
Average acc: 152935 / 162770 =  93.958
Robust  acc: 10472 / 16320 =  64.167
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3874 /  8535 =  45.390
0, 1  acc:  4441 /  8276 =  53.661
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11364 / 19867 =  57.200
Robust  acc:  3874 /  8535 =  45.390
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 58.356
Robust Acc: 50.957 | Best Acc: 99.839
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  4977 /  9767 =  50.957
0, 1  acc:  4018 /  7535 =  53.324
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11649 / 19962 =  58.356
Robust  acc:  4977 /  9767 =  50.957
------------------------------------
Accuracies by groups:
0, 0  acc:  4977 /  9767 =  50.957
0, 1  acc:  4018 /  7535 =  53.324
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11649 / 19962 =  58.356
Robust  acc:  4977 /  9767 =  50.957
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4977 /  9767 =  50.957
0, 1  acc:  4018 /  7535 =  53.324
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11649 / 19962 =  58.356
Robust  acc:  4977 /  9767 =  50.957
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.880 | Val Loss: 0.003 | Val Acc: 91.131
Training:
Accuracies by groups:
0, 0  acc: 10453 / 16399 =  63.742
0, 1  acc:  6384 /  8512 =  75.000
1, 0  acc: 128232 / 129639 =  98.915
1, 1  acc:  7740 /  8220 =  94.161
--------------------------------------
Average acc: 152809 / 162770 =  93.880
Robust  acc: 10453 / 16399 =  63.742
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7380 /  8535 =  86.467
0, 1  acc:  7838 /  8276 =  94.708
1, 0  acc:  2735 /  2874 =  95.164
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18105 / 19867 =  91.131
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.065
Robust Acc: 78.889 | Best Acc: 95.076
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  8738 /  9767 =  89.465
0, 1  acc:  7164 /  7535 =  95.076
1, 0  acc:  2334 /  2480 =  94.113
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18378 / 19962 =  92.065
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8738 /  9767 =  89.465
0, 1  acc:  7164 /  7535 =  95.076
1, 0  acc:  2334 /  2480 =  94.113
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18378 / 19962 =  92.065
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8738 /  9767 =  89.465
0, 1  acc:  7164 /  7535 =  95.076
1, 0  acc:  2334 /  2480 =  94.113
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18378 / 19962 =  92.065
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.029 | Val Loss: 0.003 | Val Acc: 91.649
Training:
Accuracies by groups:
0, 0  acc: 10665 / 16406 =  65.007
0, 1  acc:  6229 /  8312 =  74.940
1, 0  acc: 128052 / 129491 =  98.889
1, 1  acc:  8105 /  8561 =  94.674
--------------------------------------
Average acc: 153051 / 162770 =  94.029
Robust  acc: 10665 / 16406 =  65.007
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7472 /  8535 =  87.545
0, 1  acc:  7854 /  8276 =  94.901
1, 0  acc:  2730 /  2874 =  94.990
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18208 / 19867 =  91.649
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.601
Robust Acc: 76.111 | Best Acc: 95.541
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  8820 /  9767 =  90.304
0, 1  acc:  7199 /  7535 =  95.541
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18485 / 19962 =  92.601
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8820 /  9767 =  90.304
0, 1  acc:  7199 /  7535 =  95.541
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18485 / 19962 =  92.601
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8820 /  9767 =  90.304
0, 1  acc:  7199 /  7535 =  95.541
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18485 / 19962 =  92.601
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.096 | Val Loss: 0.011 | Val Acc: 29.924
Training:
Accuracies by groups:
0, 0  acc: 10532 / 16239 =  64.856
0, 1  acc:  6344 /  8429 =  75.264
1, 0  acc: 128480 / 129845 =  98.949
1, 1  acc:  7804 /  8257 =  94.514
--------------------------------------
Average acc: 153160 / 162770 =  94.096
Robust  acc: 10532 / 16239 =  64.856
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:   730 /  8535 =   8.553
0, 1  acc:  2159 /  8276 =  26.087
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  5945 / 19867 =  29.924
Robust  acc:   730 /  8535 =   8.553
------------------------------------
-------------------------------------------
Avg Test Loss: 0.011 | Avg Test Acc: 27.928
Robust Acc: 11.181 | Best Acc: 99.960
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  1092 /  9767 =  11.181
0, 1  acc:  1826 /  7535 =  24.234
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  5575 / 19962 =  27.928
Robust  acc:  1092 /  9767 =  11.181
------------------------------------
Accuracies by groups:
0, 0  acc:  1092 /  9767 =  11.181
0, 1  acc:  1826 /  7535 =  24.234
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  5575 / 19962 =  27.928
Robust  acc:  1092 /  9767 =  11.181
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  1092 /  9767 =  11.181
0, 1  acc:  1826 /  7535 =  24.234
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  5575 / 19962 =  27.928
Robust  acc:  1092 /  9767 =  11.181
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 93.861 | Val Loss: 0.004 | Val Acc: 86.269
Training:
Accuracies by groups:
0, 0  acc: 10613 / 16610 =  63.895
0, 1  acc:  6301 /  8422 =  74.816
1, 0  acc: 127986 / 129425 =  98.888
1, 1  acc:  7878 /  8313 =  94.767
--------------------------------------
Average acc: 152778 / 162770 =  93.861
Robust  acc: 10613 / 16610 =  63.895
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6941 /  8535 =  81.324
0, 1  acc:  7216 /  8276 =  87.192
1, 0  acc:  2807 /  2874 =  97.669
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 17139 / 19867 =  86.269
Robust  acc:  6941 /  8535 =  81.324
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 87.501
Robust Acc: 85.605 | Best Acc: 96.331
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  8361 /  9767 =  85.605
0, 1  acc:  6551 /  7535 =  86.941
1, 0  acc:  2389 /  2480 =  96.331
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17467 / 19962 =  87.501
Robust  acc:  8361 /  9767 =  85.605
------------------------------------
Accuracies by groups:
0, 0  acc:  8361 /  9767 =  85.605
0, 1  acc:  6551 /  7535 =  86.941
1, 0  acc:  2389 /  2480 =  96.331
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17467 / 19962 =  87.501
Robust  acc:  8361 /  9767 =  85.605
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8361 /  9767 =  85.605
0, 1  acc:  6551 /  7535 =  86.941
1, 0  acc:  2389 /  2480 =  96.331
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17467 / 19962 =  87.501
Robust  acc:  8361 /  9767 =  85.605
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.004 | Val Loss: 0.005 | Val Acc: 72.552
Training:
Accuracies by groups:
0, 0  acc: 10384 / 16219 =  64.024
0, 1  acc:  6340 /  8374 =  75.711
1, 0  acc: 128367 / 129753 =  98.932
1, 1  acc:  7920 /  8424 =  94.017
--------------------------------------
Average acc: 153011 / 162770 =  94.004
Robust  acc: 10384 / 16219 =  64.024
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5390 /  8535 =  63.152
0, 1  acc:  5990 /  8276 =  72.378
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14414 / 19867 =  72.552
Robust  acc:  5390 /  8535 =  63.152
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.592
Robust Acc: 69.161 | Best Acc: 99.355
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  6755 /  9767 =  69.161
0, 1  acc:  5495 /  7535 =  72.926
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14890 / 19962 =  74.592
Robust  acc:  6755 /  9767 =  69.161
------------------------------------
Accuracies by groups:
0, 0  acc:  6755 /  9767 =  69.161
0, 1  acc:  5495 /  7535 =  72.926
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14890 / 19962 =  74.592
Robust  acc:  6755 /  9767 =  69.161
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6755 /  9767 =  69.161
0, 1  acc:  5495 /  7535 =  72.926
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14890 / 19962 =  74.592
Robust  acc:  6755 /  9767 =  69.161
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.049 | Val Loss: 0.009 | Val Acc: 46.102
Training:
Accuracies by groups:
0, 0  acc: 10703 / 16483 =  64.934
0, 1  acc:  6425 /  8452 =  76.018
1, 0  acc: 128012 / 129400 =  98.927
1, 1  acc:  7943 /  8435 =  94.167
--------------------------------------
Average acc: 153083 / 162770 =  94.049
Robust  acc: 10703 / 16483 =  64.934
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3100 /  8535 =  36.321
0, 1  acc:  3006 /  8276 =  36.322
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9159 / 19867 =  46.102
Robust  acc:  3100 /  8535 =  36.321
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 47.069
Robust Acc: 35.873 | Best Acc: 99.758
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  4041 /  9767 =  41.374
0, 1  acc:  2703 /  7535 =  35.873
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9396 / 19962 =  47.069
Robust  acc:  2703 /  7535 =  35.873
------------------------------------
Accuracies by groups:
0, 0  acc:  4041 /  9767 =  41.374
0, 1  acc:  2703 /  7535 =  35.873
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9396 / 19962 =  47.069
Robust  acc:  2703 /  7535 =  35.873
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4041 /  9767 =  41.374
0, 1  acc:  2703 /  7535 =  35.873
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9396 / 19962 =  47.069
Robust  acc:  2703 /  7535 =  35.873
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.022 | Val Loss: 0.005 | Val Acc: 70.564
Training:
Accuracies by groups:
0, 0  acc: 10527 / 16364 =  64.330
0, 1  acc:  6387 /  8443 =  75.648
1, 0  acc: 128157 / 129520 =  98.948
1, 1  acc:  7968 /  8443 =  94.374
--------------------------------------
Average acc: 153039 / 162770 =  94.022
Robust  acc: 10527 / 16364 =  64.330
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5041 /  8535 =  59.063
0, 1  acc:  5939 /  8276 =  71.762
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14019 / 19867 =  70.564
Robust  acc:  5041 /  8535 =  59.063
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.513
Robust Acc: 65.250 | Best Acc: 99.194
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  6373 /  9767 =  65.250
0, 1  acc:  5467 /  7535 =  72.555
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14475 / 19962 =  72.513
Robust  acc:  6373 /  9767 =  65.250
------------------------------------
Accuracies by groups:
0, 0  acc:  6373 /  9767 =  65.250
0, 1  acc:  5467 /  7535 =  72.555
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14475 / 19962 =  72.513
Robust  acc:  6373 /  9767 =  65.250
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6373 /  9767 =  65.250
0, 1  acc:  5467 /  7535 =  72.555
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14475 / 19962 =  72.513
Robust  acc:  6373 /  9767 =  65.250
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.174 | Val Loss: 0.006 | Val Acc: 68.108
Training:
Accuracies by groups:
0, 0  acc: 10545 / 16192 =  65.125
0, 1  acc:  6394 /  8390 =  76.210
1, 0  acc: 128526 / 129889 =  98.951
1, 1  acc:  7822 /  8299 =  94.252
--------------------------------------
Average acc: 153287 / 162770 =  94.174
Robust  acc: 10545 / 16192 =  65.125
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5043 /  8535 =  59.086
0, 1  acc:  5447 /  8276 =  65.817
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13531 / 19867 =  68.108
Robust  acc:  5043 /  8535 =  59.086
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.442
Robust Acc: 64.565 | Best Acc: 99.516
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  6353 /  9767 =  65.046
0, 1  acc:  4865 /  7535 =  64.565
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13862 / 19962 =  69.442
Robust  acc:  4865 /  7535 =  64.565
------------------------------------
Accuracies by groups:
0, 0  acc:  6353 /  9767 =  65.046
0, 1  acc:  4865 /  7535 =  64.565
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13862 / 19962 =  69.442
Robust  acc:  4865 /  7535 =  64.565
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6353 /  9767 =  65.046
0, 1  acc:  4865 /  7535 =  64.565
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13862 / 19962 =  69.442
Robust  acc:  4865 /  7535 =  64.565
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.152 | Val Loss: 0.007 | Val Acc: 61.736
Training:
Accuracies by groups:
0, 0  acc: 10487 / 16193 =  64.763
0, 1  acc:  6417 /  8380 =  76.575
1, 0  acc: 128418 / 129810 =  98.928
1, 1  acc:  7929 /  8387 =  94.539
--------------------------------------
Average acc: 153251 / 162770 =  94.152
Robust  acc: 10487 / 16193 =  64.763
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4562 /  8535 =  53.450
0, 1  acc:  4652 /  8276 =  56.211
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12265 / 19867 =  61.736
Robust  acc:  4562 /  8535 =  53.450
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 63.270
Robust Acc: 55.275 | Best Acc: 99.718
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  5816 /  9767 =  59.547
0, 1  acc:  4165 /  7535 =  55.275
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12630 / 19962 =  63.270
Robust  acc:  4165 /  7535 =  55.275
------------------------------------
Accuracies by groups:
0, 0  acc:  5816 /  9767 =  59.547
0, 1  acc:  4165 /  7535 =  55.275
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12630 / 19962 =  63.270
Robust  acc:  4165 /  7535 =  55.275
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5816 /  9767 =  59.547
0, 1  acc:  4165 /  7535 =  55.275
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12630 / 19962 =  63.270
Robust  acc:  4165 /  7535 =  55.275
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.052 | Val Loss: 0.004 | Val Acc: 80.817
Training:
Accuracies by groups:
0, 0  acc: 10608 / 16360 =  64.841
0, 1  acc:  6529 /  8604 =  75.883
1, 0  acc: 128014 / 129356 =  98.963
1, 1  acc:  7937 /  8450 =  93.929
--------------------------------------
Average acc: 153088 / 162770 =  94.052
Robust  acc: 10608 / 16360 =  64.841
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6324 /  8535 =  74.095
0, 1  acc:  6716 /  8276 =  81.150
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16056 / 19867 =  80.817
Robust  acc:  6324 /  8535 =  74.095
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.951
Robust Acc: 78.806 | Best Acc: 98.387
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  7697 /  9767 =  78.806
0, 1  acc:  6049 /  7535 =  80.279
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16359 / 19962 =  81.951
Robust  acc:  7697 /  9767 =  78.806
------------------------------------
Accuracies by groups:
0, 0  acc:  7697 /  9767 =  78.806
0, 1  acc:  6049 /  7535 =  80.279
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16359 / 19962 =  81.951
Robust  acc:  7697 /  9767 =  78.806
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7697 /  9767 =  78.806
0, 1  acc:  6049 /  7535 =  80.279
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16359 / 19962 =  81.951
Robust  acc:  7697 /  9767 =  78.806
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.119 | Val Loss: 0.003 | Val Acc: 94.136
Training:
Accuracies by groups:
0, 0  acc: 11041 / 16722 =  66.027
0, 1  acc:  6418 /  8388 =  76.514
1, 0  acc: 127913 / 129319 =  98.913
1, 1  acc:  7826 /  8341 =  93.826
--------------------------------------
Average acc: 153198 / 162770 =  94.119
Robust  acc: 11041 / 16722 =  66.027
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8256 /  8535 =  96.731
0, 1  acc:  8225 /  8276 =  99.384
1, 0  acc:  2153 /  2874 =  74.913
1, 1  acc:    68 /   182 =  37.363
------------------------------------
Average acc: 18702 / 19867 =  94.136
Robust  acc:    68 /   182 =  37.363
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.575
Robust Acc: 29.444 | Best Acc: 99.257
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  9528 /  9767 =  97.553
0, 1  acc:  7479 /  7535 =  99.257
1, 0  acc:  1819 /  2480 =  73.347
1, 1  acc:    53 /   180 =  29.444
------------------------------------
Average acc: 18879 / 19962 =  94.575
Robust  acc:    53 /   180 =  29.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9528 /  9767 =  97.553
0, 1  acc:  7479 /  7535 =  99.257
1, 0  acc:  1819 /  2480 =  73.347
1, 1  acc:    53 /   180 =  29.444
------------------------------------
Average acc: 18879 / 19962 =  94.575
Robust  acc:    53 /   180 =  29.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9528 /  9767 =  97.553
0, 1  acc:  7479 /  7535 =  99.257
1, 0  acc:  1819 /  2480 =  73.347
1, 1  acc:    53 /   180 =  29.444
------------------------------------
Average acc: 18879 / 19962 =  94.575
Robust  acc:    53 /   180 =  29.444
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.073 | Val Loss: 0.009 | Val Acc: 44.113
Training:
Accuracies by groups:
0, 0  acc: 10711 / 16438 =  65.160
0, 1  acc:  6502 /  8474 =  76.729
1, 0  acc: 128020 / 129453 =  98.893
1, 1  acc:  7889 /  8405 =  93.861
--------------------------------------
Average acc: 153122 / 162770 =  94.073
Robust  acc: 10711 / 16438 =  65.160
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2723 /  8535 =  31.904
0, 1  acc:  2987 /  8276 =  36.092
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  8764 / 19867 =  44.113
Robust  acc:  2723 /  8535 =  31.904
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 43.528
Robust Acc: 34.399 | Best Acc: 99.919
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  3441 /  9767 =  35.231
0, 1  acc:  2592 /  7535 =  34.399
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8689 / 19962 =  43.528
Robust  acc:  2592 /  7535 =  34.399
------------------------------------
Accuracies by groups:
0, 0  acc:  3441 /  9767 =  35.231
0, 1  acc:  2592 /  7535 =  34.399
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8689 / 19962 =  43.528
Robust  acc:  2592 /  7535 =  34.399
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  3441 /  9767 =  35.231
0, 1  acc:  2592 /  7535 =  34.399
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  8689 / 19962 =  43.528
Robust  acc:  2592 /  7535 =  34.399
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.051 | Val Loss: 0.003 | Val Acc: 90.723
Training:
Accuracies by groups:
0, 0  acc: 10713 / 16516 =  64.864
0, 1  acc:  6356 /  8247 =  77.070
1, 0  acc: 128237 / 129727 =  98.851
1, 1  acc:  7781 /  8280 =  93.973
--------------------------------------
Average acc: 153087 / 162770 =  94.051
Robust  acc: 10713 / 16516 =  64.864
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7447 /  8535 =  87.252
0, 1  acc:  7733 /  8276 =  93.439
1, 0  acc:  2701 /  2874 =  93.981
1, 1  acc:   143 /   182 =  78.571
------------------------------------
Average acc: 18024 / 19867 =  90.723
Robust  acc:   143 /   182 =  78.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.579
Robust Acc: 73.333 | Best Acc: 93.457
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  8798 /  9767 =  90.079
0, 1  acc:  7042 /  7535 =  93.457
1, 0  acc:  2309 /  2480 =  93.105
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18281 / 19962 =  91.579
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8798 /  9767 =  90.079
0, 1  acc:  7042 /  7535 =  93.457
1, 0  acc:  2309 /  2480 =  93.105
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18281 / 19962 =  91.579
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8798 /  9767 =  90.079
0, 1  acc:  7042 /  7535 =  93.457
1, 0  acc:  2309 /  2480 =  93.105
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18281 / 19962 =  91.579
Robust  acc:   132 /   180 =  73.333
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed27.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed27.pt
