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/seed40/stage_one_erm_model_b_epoch0_seed40.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: 40
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=40-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/seed40/stage_one_erm_model_b_epoch0_seed40.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8261, 0.0248],
        [0.1355, 0.0136]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.590 | Val Loss: 0.003 | Val Acc: 82.655
Training:
Accuracies by groups:
0, 0  acc:  8075 / 16588 =  48.680
0, 1  acc:  4839 /  8596 =  56.294
1, 0  acc: 127015 / 129399 =  98.158
1, 1  acc:  7525 /  8187 =  91.914
--------------------------------------
Average acc: 147454 / 162770 =  90.590
Robust  acc:  8075 / 16588 =  48.680
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6466 /  8535 =  75.759
0, 1  acc:  6955 /  8276 =  84.038
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 16421 / 19867 =  82.655
Robust  acc:  6466 /  8535 =  75.759
------------------------------------
New max robust acc: 75.75864089045108
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed40.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed40.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.506
Robust Acc: 80.905 | Best Acc: 98.306
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7902 /  9767 =  80.905
0, 1  acc:  6365 /  7535 =  84.472
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16869 / 19962 =  84.506
Robust  acc:  7902 /  9767 =  80.905
------------------------------------
Accuracies by groups:
0, 0  acc:  7902 /  9767 =  80.905
0, 1  acc:  6365 /  7535 =  84.472
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16869 / 19962 =  84.506
Robust  acc:  7902 /  9767 =  80.905
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7902 /  9767 =  80.905
0, 1  acc:  6365 /  7535 =  84.472
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16869 / 19962 =  84.506
Robust  acc:  7902 /  9767 =  80.905
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.486 | Val Loss: 0.003 | Val Acc: 85.866
Training:
Accuracies by groups:
0, 0  acc: 11565 / 16606 =  69.644
0, 1  acc:  6993 /  8801 =  79.457
1, 0  acc: 127455 / 128897 =  98.881
1, 1  acc:  7782 /  8466 =  91.921
--------------------------------------
Average acc: 153795 / 162770 =  94.486
Robust  acc: 11565 / 16606 =  69.644
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6617 /  8535 =  77.528
0, 1  acc:  7432 /  8276 =  89.802
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17059 / 19867 =  85.866
Robust  acc:  6617 /  8535 =  77.528
------------------------------------
New max robust acc: 77.5278265963679
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed40.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed40.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.186
Robust Acc: 82.287 | Best Acc: 98.669
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8037 /  9767 =  82.287
0, 1  acc:  6763 /  7535 =  89.754
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17404 / 19962 =  87.186
Robust  acc:  8037 /  9767 =  82.287
------------------------------------
Accuracies by groups:
0, 0  acc:  8037 /  9767 =  82.287
0, 1  acc:  6763 /  7535 =  89.754
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17404 / 19962 =  87.186
Robust  acc:  8037 /  9767 =  82.287
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8037 /  9767 =  82.287
0, 1  acc:  6763 /  7535 =  89.754
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17404 / 19962 =  87.186
Robust  acc:  8037 /  9767 =  82.287
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.158 | Val Loss: 0.002 | Val Acc: 86.908
Training:
Accuracies by groups:
0, 0  acc: 11750 / 16434 =  71.498
0, 1  acc:  7307 /  8619 =  84.778
1, 0  acc: 128095 / 129363 =  99.020
1, 1  acc:  7737 /  8354 =  92.614
--------------------------------------
Average acc: 154889 / 162770 =  95.158
Robust  acc: 11750 / 16434 =  71.498
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6723 /  8535 =  78.770
0, 1  acc:  7532 /  8276 =  91.010
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17266 / 19867 =  86.908
Robust  acc:  6723 /  8535 =  78.770
------------------------------------
New max robust acc: 78.76977152899825
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed40.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed40.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 87.997
Robust Acc: 83.229 | Best Acc: 98.589
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8129 /  9767 =  83.229
0, 1  acc:  6833 /  7535 =  90.683
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17566 / 19962 =  87.997
Robust  acc:  8129 /  9767 =  83.229
------------------------------------
Accuracies by groups:
0, 0  acc:  8129 /  9767 =  83.229
0, 1  acc:  6833 /  7535 =  90.683
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17566 / 19962 =  87.997
Robust  acc:  8129 /  9767 =  83.229
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8129 /  9767 =  83.229
0, 1  acc:  6833 /  7535 =  90.683
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17566 / 19962 =  87.997
Robust  acc:  8129 /  9767 =  83.229
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.751 | Val Loss: 0.002 | Val Acc: 88.262
Training:
Accuracies by groups:
0, 0  acc: 12298 / 16591 =  74.125
0, 1  acc:  7292 /  8336 =  87.476
1, 0  acc: 128390 / 129474 =  99.163
1, 1  acc:  7874 /  8369 =  94.085
--------------------------------------
Average acc: 155854 / 162770 =  95.751
Robust  acc: 12298 / 16591 =  74.125
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6858 /  8535 =  80.351
0, 1  acc:  7671 /  8276 =  92.690
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17535 / 19867 =  88.262
Robust  acc:  6858 /  8535 =  80.351
------------------------------------
New max robust acc: 80.35149384885764
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed40.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed40.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.049
Robust Acc: 84.253 | Best Acc: 98.306
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8229 /  9767 =  84.253
0, 1  acc:  6951 /  7535 =  92.250
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17776 / 19962 =  89.049
Robust  acc:  8229 /  9767 =  84.253
------------------------------------
Accuracies by groups:
0, 0  acc:  8229 /  9767 =  84.253
0, 1  acc:  6951 /  7535 =  92.250
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17776 / 19962 =  89.049
Robust  acc:  8229 /  9767 =  84.253
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8229 /  9767 =  84.253
0, 1  acc:  6951 /  7535 =  92.250
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17776 / 19962 =  89.049
Robust  acc:  8229 /  9767 =  84.253
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.115 | Val Loss: 0.002 | Val Acc: 89.218
Training:
Accuracies by groups:
0, 0  acc: 12608 / 16632 =  75.806
0, 1  acc:  7687 /  8653 =  88.836
1, 0  acc: 128261 / 129185 =  99.285
1, 1  acc:  7890 /  8300 =  95.060
--------------------------------------
Average acc: 156446 / 162770 =  96.115
Robust  acc: 12608 / 16632 =  75.806
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6965 /  8535 =  81.605
0, 1  acc:  7760 /  8276 =  93.765
1, 0  acc:  2831 /  2874 =  98.504
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17725 / 19867 =  89.218
Robust  acc:  6965 /  8535 =  81.605
------------------------------------
New max robust acc: 81.60515524311658
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed40.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed40.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.871
Robust Acc: 85.297 | Best Acc: 98.024
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8331 /  9767 =  85.297
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17940 / 19962 =  89.871
Robust  acc:  8331 /  9767 =  85.297
------------------------------------
Accuracies by groups:
0, 0  acc:  8331 /  9767 =  85.297
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17940 / 19962 =  89.871
Robust  acc:  8331 /  9767 =  85.297
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8331 /  9767 =  85.297
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17940 / 19962 =  89.871
Robust  acc:  8331 /  9767 =  85.297
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.550 | Val Loss: 0.002 | Val Acc: 90.502
Training:
Accuracies by groups:
0, 0  acc: 12943 / 16820 =  76.950
0, 1  acc:  7894 /  8691 =  90.830
1, 0  acc: 128238 / 128920 =  99.471
1, 1  acc:  8079 /  8339 =  96.882
--------------------------------------
Average acc: 157154 / 162770 =  96.550
Robust  acc: 12943 / 16820 =  76.950
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7142 /  8535 =  83.679
0, 1  acc:  7853 /  8276 =  94.889
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17980 / 19867 =  90.502
Robust  acc:  7142 /  8535 =  83.679
------------------------------------
New max robust acc: 83.67896895137669
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed40.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed40.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.993
Robust Acc: 84.444 | Best Acc: 97.661
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8480 /  9767 =  86.823
0, 1  acc:  7110 /  7535 =  94.360
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18164 / 19962 =  90.993
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8480 /  9767 =  86.823
0, 1  acc:  7110 /  7535 =  94.360
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18164 / 19962 =  90.993
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8480 /  9767 =  86.823
0, 1  acc:  7110 /  7535 =  94.360
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18164 / 19962 =  90.993
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.275 | Val Loss: 0.001 | Val Acc: 92.465
Training:
Accuracies by groups:
0, 0  acc: 13418 / 16642 =  80.627
0, 1  acc:  7975 /  8641 =  92.293
1, 0  acc: 128867 / 129278 =  99.682
1, 1  acc:  8075 /  8209 =  98.368
--------------------------------------
Average acc: 158335 / 162770 =  97.275
Robust  acc: 13418 / 16642 =  80.627
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7462 /  8535 =  87.428
0, 1  acc:  7989 /  8276 =  96.532
1, 0  acc:  2769 /  2874 =  96.347
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 18370 / 19867 =  92.465
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 92.781
Robust Acc: 76.111 | Best Acc: 96.169
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8756 /  9767 =  89.649
0, 1  acc:  7243 /  7535 =  96.125
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18521 / 19962 =  92.781
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8756 /  9767 =  89.649
0, 1  acc:  7243 /  7535 =  96.125
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18521 / 19962 =  92.781
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8756 /  9767 =  89.649
0, 1  acc:  7243 /  7535 =  96.125
1, 0  acc:  2385 /  2480 =  96.169
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18521 / 19962 =  92.781
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.745 | Val Loss: 0.001 | Val Acc: 92.691
Training:
Accuracies by groups:
0, 0  acc: 13769 / 16642 =  82.736
0, 1  acc:  8047 /  8574 =  93.854
1, 0  acc: 129084 / 129301 =  99.832
1, 1  acc:  8200 /  8253 =  99.358
--------------------------------------
Average acc: 159100 / 162770 =  97.745
Robust  acc: 13769 / 16642 =  82.736
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7518 /  8535 =  88.084
0, 1  acc:  7990 /  8276 =  96.544
1, 0  acc:  2758 /  2874 =  95.964
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18415 / 19867 =  92.691
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.047
Robust Acc: 75.000 | Best Acc: 96.178
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8810 /  9767 =  90.202
0, 1  acc:  7247 /  7535 =  96.178
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18574 / 19962 =  93.047
Robust  acc:   135 /   180 =  75.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8810 /  9767 =  90.202
0, 1  acc:  7247 /  7535 =  96.178
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18574 / 19962 =  93.047
Robust  acc:   135 /   180 =  75.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8810 /  9767 =  90.202
0, 1  acc:  7247 /  7535 =  96.178
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18574 / 19962 =  93.047
Robust  acc:   135 /   180 =  75.000
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.197 | Val Loss: 0.001 | Val Acc: 92.883
Training:
Accuracies by groups:
0, 0  acc: 14386 / 16694 =  86.175
0, 1  acc:  8136 /  8601 =  94.594
1, 0  acc: 129130 / 129252 =  99.906
1, 1  acc:  8184 /  8223 =  99.526
--------------------------------------
Average acc: 159836 / 162770 =  98.197
Robust  acc: 14386 / 16694 =  86.175
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7525 /  8535 =  88.166
0, 1  acc:  8054 /  8276 =  97.318
1, 0  acc:  2731 /  2874 =  95.024
1, 1  acc:   143 /   182 =  78.571
------------------------------------
Average acc: 18453 / 19867 =  92.883
Robust  acc:   143 /   182 =  78.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.187
Robust Acc: 72.222 | Best Acc: 96.656
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8835 /  9767 =  90.458
0, 1  acc:  7283 /  7535 =  96.656
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18602 / 19962 =  93.187
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8835 /  9767 =  90.458
0, 1  acc:  7283 /  7535 =  96.656
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18602 / 19962 =  93.187
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8835 /  9767 =  90.458
0, 1  acc:  7283 /  7535 =  96.656
1, 0  acc:  2354 /  2480 =  94.919
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18602 / 19962 =  93.187
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.502 | Val Loss: 0.001 | Val Acc: 93.477
Training:
Accuracies by groups:
0, 0  acc: 14764 / 16685 =  88.487
0, 1  acc:  8302 /  8663 =  95.833
1, 0  acc: 129013 / 129135 =  99.906
1, 1  acc:  8253 /  8287 =  99.590
--------------------------------------
Average acc: 160332 / 162770 =  98.502
Robust  acc: 14764 / 16685 =  88.487
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7638 /  8535 =  89.490
0, 1  acc:  8089 /  8276 =  97.740
1, 0  acc:  2712 /  2874 =  94.363
1, 1  acc:   132 /   182 =  72.527
------------------------------------
Average acc: 18571 / 19867 =  93.477
Robust  acc:   132 /   182 =  72.527
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.698
Robust Acc: 70.000 | Best Acc: 97.279
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8918 /  9767 =  91.307
0, 1  acc:  7330 /  7535 =  97.279
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18704 / 19962 =  93.698
Robust  acc:   126 /   180 =  70.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8918 /  9767 =  91.307
0, 1  acc:  7330 /  7535 =  97.279
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18704 / 19962 =  93.698
Robust  acc:   126 /   180 =  70.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8918 /  9767 =  91.307
0, 1  acc:  7330 /  7535 =  97.279
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18704 / 19962 =  93.698
Robust  acc:   126 /   180 =  70.000
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.521 | Val Loss: 0.001 | Val Acc: 93.965
Training:
Accuracies by groups:
0, 0  acc: 14814 / 16611 =  89.182
0, 1  acc:  8233 /  8567 =  96.101
1, 0  acc: 128969 / 129172 =  99.843
1, 1  acc:  8346 /  8420 =  99.121
--------------------------------------
Average acc: 160362 / 162770 =  98.521
Robust  acc: 14814 / 16611 =  89.182
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7797 /  8535 =  91.353
0, 1  acc:  8095 /  8276 =  97.813
1, 0  acc:  2638 /  2874 =  91.788
1, 1  acc:   138 /   182 =  75.824
------------------------------------
Average acc: 18668 / 19867 =  93.965
Robust  acc:   138 /   182 =  75.824
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.194
Robust Acc: 67.778 | Best Acc: 97.465
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  9072 /  9767 =  92.884
0, 1  acc:  7344 /  7535 =  97.465
1, 0  acc:  2265 /  2480 =  91.331
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18803 / 19962 =  94.194
Robust  acc:   122 /   180 =  67.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9072 /  9767 =  92.884
0, 1  acc:  7344 /  7535 =  97.465
1, 0  acc:  2265 /  2480 =  91.331
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18803 / 19962 =  94.194
Robust  acc:   122 /   180 =  67.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9072 /  9767 =  92.884
0, 1  acc:  7344 /  7535 =  97.465
1, 0  acc:  2265 /  2480 =  91.331
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18803 / 19962 =  94.194
Robust  acc:   122 /   180 =  67.778
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.194 | Val Loss: 0.001 | Val Acc: 93.889
Training:
Accuracies by groups:
0, 0  acc: 14456 / 16556 =  87.316
0, 1  acc:  8133 /  8502 =  95.660
1, 0  acc: 129082 / 129445 =  99.720
1, 1  acc:  8160 /  8267 =  98.706
--------------------------------------
Average acc: 159831 / 162770 =  98.194
Robust  acc: 14456 / 16556 =  87.316
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7806 /  8535 =  91.459
0, 1  acc:  8087 /  8276 =  97.716
1, 0  acc:  2628 /  2874 =  91.441
1, 1  acc:   132 /   182 =  72.527
------------------------------------
Average acc: 18653 / 19867 =  93.889
Robust  acc:   132 /   182 =  72.527
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.009
Robust Acc: 61.667 | Best Acc: 97.306
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  9082 /  9767 =  92.987
0, 1  acc:  7332 /  7535 =  97.306
1, 0  acc:  2241 /  2480 =  90.363
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18766 / 19962 =  94.009
Robust  acc:   111 /   180 =  61.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9082 /  9767 =  92.987
0, 1  acc:  7332 /  7535 =  97.306
1, 0  acc:  2241 /  2480 =  90.363
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18766 / 19962 =  94.009
Robust  acc:   111 /   180 =  61.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9082 /  9767 =  92.987
0, 1  acc:  7332 /  7535 =  97.306
1, 0  acc:  2241 /  2480 =  90.363
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18766 / 19962 =  94.009
Robust  acc:   111 /   180 =  61.667
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.858 | Val Loss: 0.001 | Val Acc: 94.624
Training:
Accuracies by groups:
0, 0  acc: 14240 / 16634 =  85.608
0, 1  acc:  8130 /  8592 =  94.623
1, 0  acc: 128789 / 129292 =  99.611
1, 1  acc:  8125 /  8252 =  98.461
--------------------------------------
Average acc: 159284 / 162770 =  97.858
Robust  acc: 14240 / 16634 =  85.608
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8074 /  8535 =  94.599
0, 1  acc:  8123 /  8276 =  98.151
1, 0  acc:  2483 /  2874 =  86.395
1, 1  acc:   119 /   182 =  65.385
------------------------------------
Average acc: 18799 / 19867 =  94.624
Robust  acc:   119 /   182 =  65.385
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.760
Robust Acc: 60.556 | Best Acc: 97.810
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  9316 /  9767 =  95.382
0, 1  acc:  7370 /  7535 =  97.810
1, 0  acc:  2121 /  2480 =  85.524
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18916 / 19962 =  94.760
Robust  acc:   109 /   180 =  60.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9316 /  9767 =  95.382
0, 1  acc:  7370 /  7535 =  97.810
1, 0  acc:  2121 /  2480 =  85.524
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18916 / 19962 =  94.760
Robust  acc:   109 /   180 =  60.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9316 /  9767 =  95.382
0, 1  acc:  7370 /  7535 =  97.810
1, 0  acc:  2121 /  2480 =  85.524
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18916 / 19962 =  94.760
Robust  acc:   109 /   180 =  60.556
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.420 | Val Loss: 0.002 | Val Acc: 90.316
Training:
Accuracies by groups:
0, 0  acc: 13764 / 16552 =  83.156
0, 1  acc:  7925 /  8489 =  93.356
1, 0  acc: 128630 / 129274 =  99.502
1, 1  acc:  8252 /  8455 =  97.599
--------------------------------------
Average acc: 158571 / 162770 =  97.420
Robust  acc: 13764 / 16552 =  83.156
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7087 /  8535 =  83.035
0, 1  acc:  7878 /  8276 =  95.191
1, 0  acc:  2817 /  2874 =  98.017
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 17943 / 19867 =  90.316
Robust  acc:  7087 /  8535 =  83.035
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.208
Robust Acc: 82.222 | Best Acc: 97.782
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8495 /  9767 =  86.977
0, 1  acc:  7139 /  7535 =  94.745
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18207 / 19962 =  91.208
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8495 /  9767 =  86.977
0, 1  acc:  7139 /  7535 =  94.745
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18207 / 19962 =  91.208
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8495 /  9767 =  86.977
0, 1  acc:  7139 /  7535 =  94.745
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18207 / 19962 =  91.208
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.880 | Val Loss: 0.002 | Val Acc: 92.445
Training:
Accuracies by groups:
0, 0  acc: 13435 / 16729 =  80.310
0, 1  acc:  7889 /  8598 =  91.754
1, 0  acc: 128329 / 129120 =  99.387
1, 1  acc:  8039 /  8323 =  96.588
--------------------------------------
Average acc: 157692 / 162770 =  96.880
Robust  acc: 13435 / 16729 =  80.310
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7416 /  8535 =  86.889
0, 1  acc:  8037 /  8276 =  97.112
1, 0  acc:  2760 /  2874 =  96.033
1, 1  acc:   153 /   182 =  84.066
------------------------------------
Average acc: 18366 / 19867 =  92.445
Robust  acc:   153 /   182 =  84.066
------------------------------------
New max robust acc: 84.06593406593407
debias model - Saving best checkpoint at epoch 14
replace: True
-> Updating checkpoint debias-wga-best_seed40.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed40.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.511
Robust Acc: 73.333 | Best Acc: 96.496
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8734 /  9767 =  89.424
0, 1  acc:  7271 /  7535 =  96.496
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18467 / 19962 =  92.511
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8734 /  9767 =  89.424
0, 1  acc:  7271 /  7535 =  96.496
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18467 / 19962 =  92.511
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8734 /  9767 =  89.424
0, 1  acc:  7271 /  7535 =  96.496
1, 0  acc:  2330 /  2480 =  93.952
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18467 / 19962 =  92.511
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.372 | Val Loss: 0.005 | Val Acc: 73.242
Training:
Accuracies by groups:
0, 0  acc: 12756 / 16505 =  77.286
0, 1  acc:  7739 /  8534 =  90.684
1, 0  acc: 128384 / 129396 =  99.218
1, 1  acc:  7985 /  8335 =  95.801
--------------------------------------
Average acc: 156864 / 162770 =  96.372
Robust  acc: 12756 / 16505 =  77.286
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5323 /  8535 =  62.367
0, 1  acc:  6180 /  8276 =  74.674
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 14551 / 19867 =  73.242
Robust  acc:  5323 /  8535 =  62.367
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.657
Robust Acc: 67.984 | Best Acc: 99.516
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  6640 /  9767 =  67.984
0, 1  acc:  5620 /  7535 =  74.585
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14903 / 19962 =  74.657
Robust  acc:  6640 /  9767 =  67.984
------------------------------------
Accuracies by groups:
0, 0  acc:  6640 /  9767 =  67.984
0, 1  acc:  5620 /  7535 =  74.585
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14903 / 19962 =  74.657
Robust  acc:  6640 /  9767 =  67.984
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6640 /  9767 =  67.984
0, 1  acc:  5620 /  7535 =  74.585
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14903 / 19962 =  74.657
Robust  acc:  6640 /  9767 =  67.984
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.891 | Val Loss: 0.001 | Val Acc: 94.539
Training:
Accuracies by groups:
0, 0  acc: 12723 / 16775 =  75.845
0, 1  acc:  7649 /  8614 =  88.797
1, 0  acc: 127925 / 129162 =  99.042
1, 1  acc:  7784 /  8219 =  94.707
--------------------------------------
Average acc: 156081 / 162770 =  95.891
Robust  acc: 12723 / 16775 =  75.845
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7922 /  8535 =  92.818
0, 1  acc:  8120 /  8276 =  98.115
1, 0  acc:  2604 /  2874 =  90.605
1, 1  acc:   136 /   182 =  74.725
------------------------------------
Average acc: 18782 / 19867 =  94.539
Robust  acc:   136 /   182 =  74.725
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.535
Robust Acc: 60.556 | Best Acc: 97.571
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  9179 /  9767 =  93.980
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2231 /  2480 =  89.960
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18871 / 19962 =  94.535
Robust  acc:   109 /   180 =  60.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9179 /  9767 =  93.980
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2231 /  2480 =  89.960
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18871 / 19962 =  94.535
Robust  acc:   109 /   180 =  60.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9179 /  9767 =  93.980
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2231 /  2480 =  89.960
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18871 / 19962 =  94.535
Robust  acc:   109 /   180 =  60.556
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.342 | Val Loss: 0.003 | Val Acc: 87.824
Training:
Accuracies by groups:
0, 0  acc: 12469 / 16972 =  73.468
0, 1  acc:  7643 /  8716 =  87.689
1, 0  acc: 127202 / 128704 =  98.833
1, 1  acc:  7874 /  8378 =  93.984
--------------------------------------
Average acc: 155188 / 162770 =  95.342
Robust  acc: 12469 / 16972 =  73.468
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6859 /  8535 =  80.363
0, 1  acc:  7592 /  8276 =  91.735
1, 0  acc:  2828 /  2874 =  98.399
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17448 / 19867 =  87.824
Robust  acc:  6859 /  8535 =  80.363
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.019
Robust Acc: 84.519 | Best Acc: 98.347
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8255 /  9767 =  84.519
0, 1  acc:  6919 /  7535 =  91.825
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17770 / 19962 =  89.019
Robust  acc:  8255 /  9767 =  84.519
------------------------------------
Accuracies by groups:
0, 0  acc:  8255 /  9767 =  84.519
0, 1  acc:  6919 /  7535 =  91.825
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17770 / 19962 =  89.019
Robust  acc:  8255 /  9767 =  84.519
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8255 /  9767 =  84.519
0, 1  acc:  6919 /  7535 =  91.825
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17770 / 19962 =  89.019
Robust  acc:  8255 /  9767 =  84.519
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.149 | Val Loss: 0.006 | Val Acc: 66.246
Training:
Accuracies by groups:
0, 0  acc: 12211 / 16759 =  72.862
0, 1  acc:  7341 /  8626 =  85.103
1, 0  acc: 127433 / 128978 =  98.802
1, 1  acc:  7889 /  8407 =  93.838
--------------------------------------
Average acc: 154874 / 162770 =  95.149
Robust  acc: 12211 / 16759 =  72.862
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4519 /  8535 =  52.947
0, 1  acc:  5591 /  8276 =  67.557
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 13161 / 19867 =  66.246
Robust  acc:  4519 /  8535 =  52.947
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 67.969
Robust Acc: 59.230 | Best Acc: 99.718
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  5785 /  9767 =  59.230
0, 1  acc:  5133 /  7535 =  68.122
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13568 / 19962 =  67.969
Robust  acc:  5785 /  9767 =  59.230
------------------------------------
Accuracies by groups:
0, 0  acc:  5785 /  9767 =  59.230
0, 1  acc:  5133 /  7535 =  68.122
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13568 / 19962 =  67.969
Robust  acc:  5785 /  9767 =  59.230
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5785 /  9767 =  59.230
0, 1  acc:  5133 /  7535 =  68.122
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13568 / 19962 =  67.969
Robust  acc:  5785 /  9767 =  59.230
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 94.963 | Val Loss: 0.002 | Val Acc: 94.277
Training:
Accuracies by groups:
0, 0  acc: 11679 / 16498 =  70.790
0, 1  acc:  7238 /  8581 =  84.349
1, 0  acc: 127828 / 129365 =  98.812
1, 1  acc:  7827 /  8326 =  94.007
--------------------------------------
Average acc: 154572 / 162770 =  94.963
Robust  acc: 11679 / 16498 =  70.790
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7902 /  8535 =  92.583
0, 1  acc:  8104 /  8276 =  97.922
1, 0  acc:  2613 /  2874 =  90.919
1, 1  acc:   111 /   182 =  60.989
------------------------------------
Average acc: 18730 / 19867 =  94.277
Robust  acc:   111 /   182 =  60.989
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.930
Robust Acc: 58.333 | Best Acc: 98.235
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  9216 /  9767 =  94.359
0, 1  acc:  7402 /  7535 =  98.235
1, 0  acc:  2227 /  2480 =  89.798
1, 1  acc:   105 /   180 =  58.333
------------------------------------
Average acc: 18950 / 19962 =  94.930
Robust  acc:   105 /   180 =  58.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9216 /  9767 =  94.359
0, 1  acc:  7402 /  7535 =  98.235
1, 0  acc:  2227 /  2480 =  89.798
1, 1  acc:   105 /   180 =  58.333
------------------------------------
Average acc: 18950 / 19962 =  94.930
Robust  acc:   105 /   180 =  58.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9216 /  9767 =  94.359
0, 1  acc:  7402 /  7535 =  98.235
1, 0  acc:  2227 /  2480 =  89.798
1, 1  acc:   105 /   180 =  58.333
------------------------------------
Average acc: 18950 / 19962 =  94.930
Robust  acc:   105 /   180 =  58.333
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.692 | Val Loss: 0.002 | Val Acc: 94.967
Training:
Accuracies by groups:
0, 0  acc: 11563 / 16632 =  69.523
0, 1  acc:  7052 /  8534 =  82.634
1, 0  acc: 127804 / 129377 =  98.784
1, 1  acc:  7711 /  8227 =  93.728
--------------------------------------
Average acc: 154130 / 162770 =  94.692
Robust  acc: 11563 / 16632 =  69.523
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8095 /  8535 =  94.845
0, 1  acc:  8198 /  8276 =  99.058
1, 0  acc:  2484 /  2874 =  86.430
1, 1  acc:    90 /   182 =  49.451
------------------------------------
Average acc: 18867 / 19867 =  94.967
Robust  acc:    90 /   182 =  49.451
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 95.381
Robust Acc: 50.000 | Best Acc: 98.832
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  9397 /  9767 =  96.212
0, 1  acc:  7447 /  7535 =  98.832
1, 0  acc:  2106 /  2480 =  84.919
1, 1  acc:    90 /   180 =  50.000
------------------------------------
Average acc: 19040 / 19962 =  95.381
Robust  acc:    90 /   180 =  50.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9397 /  9767 =  96.212
0, 1  acc:  7447 /  7535 =  98.832
1, 0  acc:  2106 /  2480 =  84.919
1, 1  acc:    90 /   180 =  50.000
------------------------------------
Average acc: 19040 / 19962 =  95.381
Robust  acc:    90 /   180 =  50.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9397 /  9767 =  96.212
0, 1  acc:  7447 /  7535 =  98.832
1, 0  acc:  2106 /  2480 =  84.919
1, 1  acc:    90 /   180 =  50.000
------------------------------------
Average acc: 19040 / 19962 =  95.381
Robust  acc:    90 /   180 =  50.000
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.608 | Val Loss: 0.006 | Val Acc: 66.246
Training:
Accuracies by groups:
0, 0  acc: 11413 / 16541 =  68.998
0, 1  acc:  7011 /  8577 =  81.742
1, 0  acc: 127685 / 129236 =  98.800
1, 1  acc:  7884 /  8416 =  93.679
--------------------------------------
Average acc: 153993 / 162770 =  94.608
Robust  acc: 11413 / 16541 =  68.998
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4908 /  8535 =  57.504
0, 1  acc:  5208 /  8276 =  62.929
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13161 / 19867 =  66.246
Robust  acc:  4908 /  8535 =  57.504
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.094
Robust Acc: 63.223 | Best Acc: 99.758
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  6175 /  9767 =  63.223
0, 1  acc:  4767 /  7535 =  63.265
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13593 / 19962 =  68.094
Robust  acc:  6175 /  9767 =  63.223
------------------------------------
Accuracies by groups:
0, 0  acc:  6175 /  9767 =  63.223
0, 1  acc:  4767 /  7535 =  63.265
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13593 / 19962 =  68.094
Robust  acc:  6175 /  9767 =  63.223
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6175 /  9767 =  63.223
0, 1  acc:  4767 /  7535 =  63.265
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13593 / 19962 =  68.094
Robust  acc:  6175 /  9767 =  63.223
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.411 | Val Loss: 0.003 | Val Acc: 90.260
Training:
Accuracies by groups:
0, 0  acc: 11352 / 16662 =  68.131
0, 1  acc:  6704 /  8397 =  79.838
1, 0  acc: 127711 / 129271 =  98.793
1, 1  acc:  7906 /  8440 =  93.673
--------------------------------------
Average acc: 153673 / 162770 =  94.411
Robust  acc: 11352 / 16662 =  68.131
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7294 /  8535 =  85.460
0, 1  acc:  7715 /  8276 =  93.221
1, 0  acc:  2773 /  2874 =  96.486
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 17932 / 19867 =  90.260
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.399
Robust Acc: 81.667 | Best Acc: 95.565
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  8693 /  9767 =  89.004
0, 1  acc:  7035 /  7535 =  93.364
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18245 / 19962 =  91.399
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8693 /  9767 =  89.004
0, 1  acc:  7035 /  7535 =  93.364
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18245 / 19962 =  91.399
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8693 /  9767 =  89.004
0, 1  acc:  7035 /  7535 =  93.364
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18245 / 19962 =  91.399
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.322 | Val Loss: 0.004 | Val Acc: 77.938
Training:
Accuracies by groups:
0, 0  acc: 11306 / 16757 =  67.470
0, 1  acc:  6808 /  8621 =  78.970
1, 0  acc: 127674 / 129170 =  98.842
1, 1  acc:  7740 /  8222 =  94.138
--------------------------------------
Average acc: 153528 / 162770 =  94.322
Robust  acc: 11306 / 16757 =  67.470
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5796 /  8535 =  67.909
0, 1  acc:  6654 /  8276 =  80.401
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15484 / 19867 =  77.938
Robust  acc:  5796 /  8535 =  67.909
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.160
Robust Acc: 73.308 | Best Acc: 99.113
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  7160 /  9767 =  73.308
0, 1  acc:  6017 /  7535 =  79.854
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15802 / 19962 =  79.160
Robust  acc:  7160 /  9767 =  73.308
------------------------------------
Accuracies by groups:
0, 0  acc:  7160 /  9767 =  73.308
0, 1  acc:  6017 /  7535 =  79.854
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15802 / 19962 =  79.160
Robust  acc:  7160 /  9767 =  73.308
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7160 /  9767 =  73.308
0, 1  acc:  6017 /  7535 =  79.854
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 15802 / 19962 =  79.160
Robust  acc:  7160 /  9767 =  73.308
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.414 | Val Loss: 0.005 | Val Acc: 73.761
Training:
Accuracies by groups:
0, 0  acc: 11379 / 16740 =  67.975
0, 1  acc:  6710 /  8425 =  79.644
1, 0  acc: 127989 / 129536 =  98.806
1, 1  acc:  7600 /  8069 =  94.188
--------------------------------------
Average acc: 153678 / 162770 =  94.414
Robust  acc: 11379 / 16740 =  67.975
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5115 /  8535 =  59.930
0, 1  acc:  6492 /  8276 =  78.444
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14654 / 19867 =  73.761
Robust  acc:  5115 /  8535 =  59.930
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.987
Robust Acc: 65.865 | Best Acc: 99.597
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  6433 /  9767 =  65.865
0, 1  acc:  5893 /  7535 =  78.208
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14969 / 19962 =  74.987
Robust  acc:  6433 /  9767 =  65.865
------------------------------------
Accuracies by groups:
0, 0  acc:  6433 /  9767 =  65.865
0, 1  acc:  5893 /  7535 =  78.208
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14969 / 19962 =  74.987
Robust  acc:  6433 /  9767 =  65.865
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6433 /  9767 =  65.865
0, 1  acc:  5893 /  7535 =  78.208
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14969 / 19962 =  74.987
Robust  acc:  6433 /  9767 =  65.865
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.167 | Val Loss: 0.004 | Val Acc: 85.192
Training:
Accuracies by groups:
0, 0  acc: 10961 / 16472 =  66.543
0, 1  acc:  6599 /  8568 =  77.019
1, 0  acc: 128072 / 129570 =  98.844
1, 1  acc:  7643 /  8160 =  93.664
--------------------------------------
Average acc: 153275 / 162770 =  94.167
Robust  acc: 10961 / 16472 =  66.543
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6686 /  8535 =  78.336
0, 1  acc:  7240 /  8276 =  87.482
1, 0  acc:  2826 /  2874 =  98.330
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16925 / 19867 =  85.192
Robust  acc:  6686 /  8535 =  78.336
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.655
Robust Acc: 82.912 | Best Acc: 98.145
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  8098 /  9767 =  82.912
0, 1  acc:  6605 /  7535 =  87.658
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17298 / 19962 =  86.655
Robust  acc:  8098 /  9767 =  82.912
------------------------------------
Accuracies by groups:
0, 0  acc:  8098 /  9767 =  82.912
0, 1  acc:  6605 /  7535 =  87.658
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17298 / 19962 =  86.655
Robust  acc:  8098 /  9767 =  82.912
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8098 /  9767 =  82.912
0, 1  acc:  6605 /  7535 =  87.658
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17298 / 19962 =  86.655
Robust  acc:  8098 /  9767 =  82.912
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.105 | Val Loss: 0.005 | Val Acc: 75.125
Training:
Accuracies by groups:
0, 0  acc: 10920 / 16674 =  65.491
0, 1  acc:  6537 /  8577 =  76.215
1, 0  acc: 127967 / 129341 =  98.938
1, 1  acc:  7750 /  8178 =  94.766
--------------------------------------
Average acc: 153174 / 162770 =  94.105
Robust  acc: 10920 / 16674 =  65.491
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5569 /  8535 =  65.249
0, 1  acc:  6313 /  8276 =  76.281
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14925 / 19867 =  75.125
Robust  acc:  5569 /  8535 =  65.249
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.252
Robust Acc: 71.353 | Best Acc: 99.516
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  6969 /  9767 =  71.353
0, 1  acc:  5811 /  7535 =  77.120
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15421 / 19962 =  77.252
Robust  acc:  6969 /  9767 =  71.353
------------------------------------
Accuracies by groups:
0, 0  acc:  6969 /  9767 =  71.353
0, 1  acc:  5811 /  7535 =  77.120
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15421 / 19962 =  77.252
Robust  acc:  6969 /  9767 =  71.353
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6969 /  9767 =  71.353
0, 1  acc:  5811 /  7535 =  77.120
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15421 / 19962 =  77.252
Robust  acc:  6969 /  9767 =  71.353
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.003 | Val Loss: 0.005 | Val Acc: 73.363
Training:
Accuracies by groups:
0, 0  acc: 10758 / 16574 =  64.909
0, 1  acc:  6415 /  8553 =  75.003
1, 0  acc: 128074 / 129435 =  98.949
1, 1  acc:  7762 /  8208 =  94.566
--------------------------------------
Average acc: 153009 / 162770 =  94.003
Robust  acc: 10758 / 16574 =  64.909
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5409 /  8535 =  63.374
0, 1  acc:  6122 /  8276 =  73.973
1, 0  acc:  2864 /  2874 =  99.652
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14575 / 19867 =  73.363
Robust  acc:  5409 /  8535 =  63.374
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.609
Robust Acc: 69.510 | Best Acc: 99.556
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  6789 /  9767 =  69.510
0, 1  acc:  5659 /  7535 =  75.103
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15093 / 19962 =  75.609
Robust  acc:  6789 /  9767 =  69.510
------------------------------------
Accuracies by groups:
0, 0  acc:  6789 /  9767 =  69.510
0, 1  acc:  5659 /  7535 =  75.103
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15093 / 19962 =  75.609
Robust  acc:  6789 /  9767 =  69.510
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6789 /  9767 =  69.510
0, 1  acc:  5659 /  7535 =  75.103
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15093 / 19962 =  75.609
Robust  acc:  6789 /  9767 =  69.510
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.148 | Val Loss: 0.005 | Val Acc: 72.291
Training:
Accuracies by groups:
0, 0  acc: 10813 / 16639 =  64.986
0, 1  acc:  6368 /  8477 =  75.121
1, 0  acc: 128185 / 129381 =  99.076
1, 1  acc:  7879 /  8273 =  95.238
--------------------------------------
Average acc: 153245 / 162770 =  94.148
Robust  acc: 10813 / 16639 =  64.986
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5375 /  8535 =  62.976
0, 1  acc:  5948 /  8276 =  71.870
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14362 / 19867 =  72.291
Robust  acc:  5375 /  8535 =  62.976
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.835
Robust Acc: 68.865 | Best Acc: 99.597
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  6726 /  9767 =  68.865
0, 1  acc:  5370 /  7535 =  71.267
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14739 / 19962 =  73.835
Robust  acc:  6726 /  9767 =  68.865
------------------------------------
Accuracies by groups:
0, 0  acc:  6726 /  9767 =  68.865
0, 1  acc:  5370 /  7535 =  71.267
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14739 / 19962 =  73.835
Robust  acc:  6726 /  9767 =  68.865
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6726 /  9767 =  68.865
0, 1  acc:  5370 /  7535 =  71.267
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14739 / 19962 =  73.835
Robust  acc:  6726 /  9767 =  68.865
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.041 | Val Loss: 0.005 | Val Acc: 69.492
Training:
Accuracies by groups:
0, 0  acc: 10910 / 16754 =  65.119
0, 1  acc:  6417 /  8612 =  74.512
1, 0  acc: 127835 / 129068 =  99.045
1, 1  acc:  7909 /  8336 =  94.878
--------------------------------------
Average acc: 153071 / 162770 =  94.041
Robust  acc: 10910 / 16754 =  65.119
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4971 /  8535 =  58.243
0, 1  acc:  5794 /  8276 =  70.010
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13806 / 19867 =  69.492
Robust  acc:  4971 /  8535 =  58.243
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 70.850
Robust Acc: 63.233 | Best Acc: 99.637
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  6176 /  9767 =  63.233
0, 1  acc:  5318 /  7535 =  70.577
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14143 / 19962 =  70.850
Robust  acc:  6176 /  9767 =  63.233
------------------------------------
Accuracies by groups:
0, 0  acc:  6176 /  9767 =  63.233
0, 1  acc:  5318 /  7535 =  70.577
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14143 / 19962 =  70.850
Robust  acc:  6176 /  9767 =  63.233
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6176 /  9767 =  63.233
0, 1  acc:  5318 /  7535 =  70.577
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14143 / 19962 =  70.850
Robust  acc:  6176 /  9767 =  63.233
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.944 | Val Loss: 0.004 | Val Acc: 86.163
Training:
Accuracies by groups:
0, 0  acc: 10816 / 16680 =  64.844
0, 1  acc:  6327 /  8573 =  73.801
1, 0  acc: 127989 / 129269 =  99.010
1, 1  acc:  7780 /  8248 =  94.326
--------------------------------------
Average acc: 152912 / 162770 =  93.944
Robust  acc: 10816 / 16680 =  64.844
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6665 /  8535 =  78.090
0, 1  acc:  7470 /  8276 =  90.261
1, 0  acc:  2815 /  2874 =  97.947
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17118 / 19867 =  86.163
Robust  acc:  6665 /  8535 =  78.090
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.396
Robust Acc: 82.697 | Best Acc: 97.742
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  8077 /  9767 =  82.697
0, 1  acc:  6786 /  7535 =  90.060
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17446 / 19962 =  87.396
Robust  acc:  8077 /  9767 =  82.697
------------------------------------
Accuracies by groups:
0, 0  acc:  8077 /  9767 =  82.697
0, 1  acc:  6786 /  7535 =  90.060
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17446 / 19962 =  87.396
Robust  acc:  8077 /  9767 =  82.697
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8077 /  9767 =  82.697
0, 1  acc:  6786 /  7535 =  90.060
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17446 / 19962 =  87.396
Robust  acc:  8077 /  9767 =  82.697
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 94.011 | Val Loss: 0.004 | Val Acc: 85.116
Training:
Accuracies by groups:
0, 0  acc: 10752 / 16665 =  64.518
0, 1  acc:  6323 /  8451 =  74.820
1, 0  acc: 128063 / 129330 =  99.020
1, 1  acc:  7884 /  8324 =  94.714
--------------------------------------
Average acc: 153022 / 162770 =  94.011
Robust  acc: 10752 / 16665 =  64.518
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6699 /  8535 =  78.489
0, 1  acc:  7206 /  8276 =  87.071
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 16910 / 19867 =  85.116
Robust  acc:  6699 /  8535 =  78.489
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.700
Robust Acc: 83.280 | Best Acc: 97.903
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  8134 /  9767 =  83.280
0, 1  acc:  6579 /  7535 =  87.313
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17307 / 19962 =  86.700
Robust  acc:  8134 /  9767 =  83.280
------------------------------------
Accuracies by groups:
0, 0  acc:  8134 /  9767 =  83.280
0, 1  acc:  6579 /  7535 =  87.313
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17307 / 19962 =  86.700
Robust  acc:  8134 /  9767 =  83.280
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8134 /  9767 =  83.280
0, 1  acc:  6579 /  7535 =  87.313
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17307 / 19962 =  86.700
Robust  acc:  8134 /  9767 =  83.280
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 94.003 | Val Loss: 0.004 | Val Acc: 82.574
Training:
Accuracies by groups:
0, 0  acc: 10799 / 16528 =  65.338
0, 1  acc:  6324 /  8634 =  73.245
1, 0  acc: 128030 / 129291 =  99.025
1, 1  acc:  7855 /  8317 =  94.445
--------------------------------------
Average acc: 153008 / 162770 =  94.003
Robust  acc: 10799 / 16528 =  65.338
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6432 /  8535 =  75.360
0, 1  acc:  6978 /  8276 =  84.316
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16405 / 19867 =  82.574
Robust  acc:  6432 /  8535 =  75.360
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.255
Robust Acc: 80.219 | Best Acc: 98.226
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7835 /  9767 =  80.219
0, 1  acc:  6392 /  7535 =  84.831
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 16819 / 19962 =  84.255
Robust  acc:  7835 /  9767 =  80.219
------------------------------------
Accuracies by groups:
0, 0  acc:  7835 /  9767 =  80.219
0, 1  acc:  6392 /  7535 =  84.831
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 16819 / 19962 =  84.255
Robust  acc:  7835 /  9767 =  80.219
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7835 /  9767 =  80.219
0, 1  acc:  6392 /  7535 =  84.831
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 16819 / 19962 =  84.255
Robust  acc:  7835 /  9767 =  80.219
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.098 | Val Loss: 0.004 | Val Acc: 84.482
Training:
Accuracies by groups:
0, 0  acc: 10779 / 16546 =  65.146
0, 1  acc:  6265 /  8430 =  74.318
1, 0  acc: 128145 / 129388 =  99.039
1, 1  acc:  7975 /  8406 =  94.873
--------------------------------------
Average acc: 153164 / 162770 =  94.098
Robust  acc: 10779 / 16546 =  65.146
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6847 /  8535 =  80.223
0, 1  acc:  6965 /  8276 =  84.159
1, 0  acc:  2802 /  2874 =  97.495
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16784 / 19867 =  84.482
Robust  acc:  6847 /  8535 =  80.223
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.878
Robust Acc: 83.902 | Best Acc: 97.581
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  8240 /  9767 =  84.366
0, 1  acc:  6322 /  7535 =  83.902
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17143 / 19962 =  85.878
Robust  acc:  6322 /  7535 =  83.902
------------------------------------
Accuracies by groups:
0, 0  acc:  8240 /  9767 =  84.366
0, 1  acc:  6322 /  7535 =  83.902
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17143 / 19962 =  85.878
Robust  acc:  6322 /  7535 =  83.902
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8240 /  9767 =  84.366
0, 1  acc:  6322 /  7535 =  83.902
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17143 / 19962 =  85.878
Robust  acc:  6322 /  7535 =  83.902
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 94.033 | Val Loss: 0.003 | Val Acc: 89.374
Training:
Accuracies by groups:
0, 0  acc: 10773 / 16601 =  64.894
0, 1  acc:  6351 /  8526 =  74.490
1, 0  acc: 128239 / 129498 =  99.028
1, 1  acc:  7694 /  8145 =  94.463
--------------------------------------
Average acc: 153057 / 162770 =  94.033
Robust  acc: 10773 / 16601 =  64.894
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7197 /  8535 =  84.323
0, 1  acc:  7621 /  8276 =  92.086
1, 0  acc:  2778 /  2874 =  96.660
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 17756 / 19867 =  89.374
Robust  acc:  7197 /  8535 =  84.323
------------------------------------
New max robust acc: 84.32337434094903
debias model - Saving best checkpoint at epoch 34
replace: True
-> Updating checkpoint debias-wga-best_seed40.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed40.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.597
Robust Acc: 81.667 | Best Acc: 96.250
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  8600 /  9767 =  88.052
0, 1  acc:  6951 /  7535 =  92.250
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18085 / 19962 =  90.597
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8600 /  9767 =  88.052
0, 1  acc:  6951 /  7535 =  92.250
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18085 / 19962 =  90.597
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8600 /  9767 =  88.052
0, 1  acc:  6951 /  7535 =  92.250
1, 0  acc:  2387 /  2480 =  96.250
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18085 / 19962 =  90.597
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.074 | Val Loss: 0.006 | Val Acc: 70.504
Training:
Accuracies by groups:
0, 0  acc: 10705 / 16505 =  64.859
0, 1  acc:  6434 /  8526 =  75.463
1, 0  acc: 128097 / 129416 =  98.981
1, 1  acc:  7889 /  8323 =  94.786
--------------------------------------
Average acc: 153125 / 162770 =  94.074
Robust  acc: 10705 / 16505 =  64.859
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5228 /  8535 =  61.254
0, 1  acc:  5733 /  8276 =  69.273
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14007 / 19867 =  70.504
Robust  acc:  5228 /  8535 =  61.254
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.102
Robust Acc: 66.837 | Best Acc: 99.556
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  6528 /  9767 =  66.837
0, 1  acc:  5219 /  7535 =  69.263
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14393 / 19962 =  72.102
Robust  acc:  6528 /  9767 =  66.837
------------------------------------
Accuracies by groups:
0, 0  acc:  6528 /  9767 =  66.837
0, 1  acc:  5219 /  7535 =  69.263
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14393 / 19962 =  72.102
Robust  acc:  6528 /  9767 =  66.837
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6528 /  9767 =  66.837
0, 1  acc:  5219 /  7535 =  69.263
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14393 / 19962 =  72.102
Robust  acc:  6528 /  9767 =  66.837
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.992 | Val Loss: 0.009 | Val Acc: 40.635
Training:
Accuracies by groups:
0, 0  acc: 10872 / 16699 =  65.106
0, 1  acc:  6440 /  8560 =  75.234
1, 0  acc: 127731 / 129104 =  98.937
1, 1  acc:  7948 /  8407 =  94.540
--------------------------------------
Average acc: 152991 / 162770 =  93.992
Robust  acc: 10872 / 16699 =  65.106
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2088 /  8535 =  24.464
0, 1  acc:  2929 /  8276 =  35.391
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  8073 / 19867 =  40.635
Robust  acc:  2088 /  8535 =  24.464
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 39.635
Robust Acc: 27.398 | Best Acc: 99.960
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  2676 /  9767 =  27.398
0, 1  acc:  2579 /  7535 =  34.227
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7912 / 19962 =  39.635
Robust  acc:  2676 /  9767 =  27.398
------------------------------------
Accuracies by groups:
0, 0  acc:  2676 /  9767 =  27.398
0, 1  acc:  2579 /  7535 =  34.227
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7912 / 19962 =  39.635
Robust  acc:  2676 /  9767 =  27.398
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2676 /  9767 =  27.398
0, 1  acc:  2579 /  7535 =  34.227
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7912 / 19962 =  39.635
Robust  acc:  2676 /  9767 =  27.398
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.137 | Val Loss: 0.004 | Val Acc: 85.312
Training:
Accuracies by groups:
0, 0  acc: 11001 / 16670 =  65.993
0, 1  acc:  6608 /  8684 =  76.094
1, 0  acc: 127675 / 128999 =  98.974
1, 1  acc:  7942 /  8417 =  94.357
--------------------------------------
Average acc: 153226 / 162770 =  94.137
Robust  acc: 11001 / 16670 =  65.993
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6608 /  8535 =  77.422
0, 1  acc:  7337 /  8276 =  88.654
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16949 / 19867 =  85.312
Robust  acc:  6608 /  8535 =  77.422
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.905
Robust Acc: 82.226 | Best Acc: 98.266
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  8031 /  9767 =  82.226
0, 1  acc:  6717 /  7535 =  89.144
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17348 / 19962 =  86.905
Robust  acc:  8031 /  9767 =  82.226
------------------------------------
Accuracies by groups:
0, 0  acc:  8031 /  9767 =  82.226
0, 1  acc:  6717 /  7535 =  89.144
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17348 / 19962 =  86.905
Robust  acc:  8031 /  9767 =  82.226
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8031 /  9767 =  82.226
0, 1  acc:  6717 /  7535 =  89.144
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17348 / 19962 =  86.905
Robust  acc:  8031 /  9767 =  82.226
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.002 | Val Loss: 0.005 | Val Acc: 75.955
Training:
Accuracies by groups:
0, 0  acc: 10905 / 16654 =  65.480
0, 1  acc:  6429 /  8564 =  75.070
1, 0  acc: 127807 / 129219 =  98.907
1, 1  acc:  7866 /  8333 =  94.396
--------------------------------------
Average acc: 153007 / 162770 =  94.002
Robust  acc: 10905 / 16654 =  65.480
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5943 /  8535 =  69.631
0, 1  acc:  6122 /  8276 =  73.973
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15090 / 19867 =  75.955
Robust  acc:  5943 /  8535 =  69.631
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.507
Robust Acc: 73.709 | Best Acc: 98.669
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  7298 /  9767 =  74.721
0, 1  acc:  5554 /  7535 =  73.709
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15472 / 19962 =  77.507
Robust  acc:  5554 /  7535 =  73.709
------------------------------------
Accuracies by groups:
0, 0  acc:  7298 /  9767 =  74.721
0, 1  acc:  5554 /  7535 =  73.709
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15472 / 19962 =  77.507
Robust  acc:  5554 /  7535 =  73.709
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7298 /  9767 =  74.721
0, 1  acc:  5554 /  7535 =  73.709
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15472 / 19962 =  77.507
Robust  acc:  5554 /  7535 =  73.709
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.015 | Val Loss: 0.003 | Val Acc: 92.545
Training:
Accuracies by groups:
0, 0  acc: 10916 / 16593 =  65.787
0, 1  acc:  6304 /  8474 =  74.392
1, 0  acc: 128019 / 129447 =  98.897
1, 1  acc:  7789 /  8256 =  94.344
--------------------------------------
Average acc: 153028 / 162770 =  94.015
Robust  acc: 10916 / 16593 =  65.787
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7652 /  8535 =  89.654
0, 1  acc:  8008 /  8276 =  96.762
1, 0  acc:  2609 /  2874 =  90.779
1, 1  acc:   117 /   182 =  64.286
------------------------------------
Average acc: 18386 / 19867 =  92.545
Robust  acc:   117 /   182 =  64.286
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.543
Robust Acc: 61.667 | Best Acc: 96.762
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  9000 /  9767 =  92.147
0, 1  acc:  7291 /  7535 =  96.762
1, 0  acc:  2271 /  2480 =  91.573
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18673 / 19962 =  93.543
Robust  acc:   111 /   180 =  61.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9000 /  9767 =  92.147
0, 1  acc:  7291 /  7535 =  96.762
1, 0  acc:  2271 /  2480 =  91.573
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18673 / 19962 =  93.543
Robust  acc:   111 /   180 =  61.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9000 /  9767 =  92.147
0, 1  acc:  7291 /  7535 =  96.762
1, 0  acc:  2271 /  2480 =  91.573
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18673 / 19962 =  93.543
Robust  acc:   111 /   180 =  61.667
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.215 | Val Loss: 0.007 | Val Acc: 56.229
Training:
Accuracies by groups:
0, 0  acc: 11022 / 16606 =  66.374
0, 1  acc:  6449 /  8454 =  76.283
1, 0  acc: 127972 / 129297 =  98.975
1, 1  acc:  7910 /  8413 =  94.021
--------------------------------------
Average acc: 153353 / 162770 =  94.215
Robust  acc: 11022 / 16606 =  66.374
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3405 /  8535 =  39.895
0, 1  acc:  4714 /  8276 =  56.960
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 11171 / 19867 =  56.229
Robust  acc:  3405 /  8535 =  39.895
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 56.197
Robust Acc: 44.753 | Best Acc: 99.758
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  4371 /  9767 =  44.753
0, 1  acc:  4196 /  7535 =  55.687
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11218 / 19962 =  56.197
Robust  acc:  4371 /  9767 =  44.753
------------------------------------
Accuracies by groups:
0, 0  acc:  4371 /  9767 =  44.753
0, 1  acc:  4196 /  7535 =  55.687
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11218 / 19962 =  56.197
Robust  acc:  4371 /  9767 =  44.753
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4371 /  9767 =  44.753
0, 1  acc:  4196 /  7535 =  55.687
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11218 / 19962 =  56.197
Robust  acc:  4371 /  9767 =  44.753
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.213 | Val Loss: 0.006 | Val Acc: 67.464
Training:
Accuracies by groups:
0, 0  acc: 10960 / 16555 =  66.204
0, 1  acc:  6493 /  8517 =  76.236
1, 0  acc: 128290 / 129585 =  99.001
1, 1  acc:  7607 /  8113 =  93.763
--------------------------------------
Average acc: 153350 / 162770 =  94.213
Robust  acc: 10960 / 16555 =  66.204
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4881 /  8535 =  57.188
0, 1  acc:  5476 /  8276 =  66.167
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13403 / 19867 =  67.464
Robust  acc:  4881 /  8535 =  57.188
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.796
Robust Acc: 62.599 | Best Acc: 99.556
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  6114 /  9767 =  62.599
0, 1  acc:  4975 /  7535 =  66.025
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13733 / 19962 =  68.796
Robust  acc:  6114 /  9767 =  62.599
------------------------------------
Accuracies by groups:
0, 0  acc:  6114 /  9767 =  62.599
0, 1  acc:  4975 /  7535 =  66.025
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13733 / 19962 =  68.796
Robust  acc:  6114 /  9767 =  62.599
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6114 /  9767 =  62.599
0, 1  acc:  4975 /  7535 =  66.025
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13733 / 19962 =  68.796
Robust  acc:  6114 /  9767 =  62.599
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.167 | Val Loss: 0.004 | Val Acc: 80.067
Training:
Accuracies by groups:
0, 0  acc: 11042 / 16667 =  66.251
0, 1  acc:  6506 /  8511 =  76.442
1, 0  acc: 127880 / 129247 =  98.942
1, 1  acc:  7847 /  8345 =  94.032
--------------------------------------
Average acc: 153275 / 162770 =  94.167
Robust  acc: 11042 / 16667 =  66.251
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6309 /  8535 =  73.919
0, 1  acc:  6605 /  8276 =  79.809
1, 0  acc:  2823 /  2874 =  98.225
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 15907 / 19867 =  80.067
Robust  acc:  6309 /  8535 =  73.919
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.179
Robust Acc: 77.977 | Best Acc: 97.903
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  7616 /  9767 =  77.977
0, 1  acc:  5998 /  7535 =  79.602
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16205 / 19962 =  81.179
Robust  acc:  7616 /  9767 =  77.977
------------------------------------
Accuracies by groups:
0, 0  acc:  7616 /  9767 =  77.977
0, 1  acc:  5998 /  7535 =  79.602
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16205 / 19962 =  81.179
Robust  acc:  7616 /  9767 =  77.977
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7616 /  9767 =  77.977
0, 1  acc:  5998 /  7535 =  79.602
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16205 / 19962 =  81.179
Robust  acc:  7616 /  9767 =  77.977
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.186 | Val Loss: 0.004 | Val Acc: 79.695
Training:
Accuracies by groups:
0, 0  acc: 11039 / 16668 =  66.229
0, 1  acc:  6516 /  8547 =  76.237
1, 0  acc: 127851 / 129209 =  98.949
1, 1  acc:  7901 /  8346 =  94.668
--------------------------------------
Average acc: 153307 / 162770 =  94.186
Robust  acc: 11039 / 16668 =  66.229
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6066 /  8535 =  71.072
0, 1  acc:  6737 /  8276 =  81.404
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15833 / 19867 =  79.695
Robust  acc:  6066 /  8535 =  71.072
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.440
Robust Acc: 76.748 | Best Acc: 98.871
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  7496 /  9767 =  76.748
0, 1  acc:  6134 /  7535 =  81.407
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 16257 / 19962 =  81.440
Robust  acc:  7496 /  9767 =  76.748
------------------------------------
Accuracies by groups:
0, 0  acc:  7496 /  9767 =  76.748
0, 1  acc:  6134 /  7535 =  81.407
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 16257 / 19962 =  81.440
Robust  acc:  7496 /  9767 =  76.748
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7496 /  9767 =  76.748
0, 1  acc:  6134 /  7535 =  81.407
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 16257 / 19962 =  81.440
Robust  acc:  7496 /  9767 =  76.748
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.039 | Val Loss: 0.005 | Val Acc: 74.807
Training:
Accuracies by groups:
0, 0  acc: 11101 / 16848 =  65.889
0, 1  acc:  6434 /  8442 =  76.214
1, 0  acc: 127763 / 129223 =  98.870
1, 1  acc:  7769 /  8257 =  94.090
--------------------------------------
Average acc: 153067 / 162770 =  94.039
Robust  acc: 11101 / 16848 =  65.889
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5615 /  8535 =  65.788
0, 1  acc:  6216 /  8276 =  75.109
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 14862 / 19867 =  74.807
Robust  acc:  5615 /  8535 =  65.788
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.786
Robust Acc: 72.182 | Best Acc: 99.315
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  7050 /  9767 =  72.182
0, 1  acc:  5640 /  7535 =  74.851
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15328 / 19962 =  76.786
Robust  acc:  7050 /  9767 =  72.182
------------------------------------
Accuracies by groups:
0, 0  acc:  7050 /  9767 =  72.182
0, 1  acc:  5640 /  7535 =  74.851
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15328 / 19962 =  76.786
Robust  acc:  7050 /  9767 =  72.182
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7050 /  9767 =  72.182
0, 1  acc:  5640 /  7535 =  74.851
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15328 / 19962 =  76.786
Robust  acc:  7050 /  9767 =  72.182
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.164 | Val Loss: 0.003 | Val Acc: 90.859
Training:
Accuracies by groups:
0, 0  acc: 11025 / 16676 =  66.113
0, 1  acc:  6494 /  8532 =  76.113
1, 0  acc: 127827 / 129189 =  98.946
1, 1  acc:  7924 /  8373 =  94.638
--------------------------------------
Average acc: 153270 / 162770 =  94.164
Robust  acc: 11025 / 16676 =  66.113
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7357 /  8535 =  86.198
0, 1  acc:  7779 /  8276 =  93.995
1, 0  acc:  2758 /  2874 =  95.964
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 18051 / 19867 =  90.859
Robust  acc:  7357 /  8535 =  86.198
------------------------------------
New max robust acc: 86.19800820152314
debias model - Saving best checkpoint at epoch 45
replace: True
-> Updating checkpoint debias-wga-best_seed40.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed40.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.679
Robust Acc: 78.333 | Best Acc: 95.282
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  8703 /  9767 =  89.106
0, 1  acc:  7094 /  7535 =  94.147
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18301 / 19962 =  91.679
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8703 /  9767 =  89.106
0, 1  acc:  7094 /  7535 =  94.147
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18301 / 19962 =  91.679
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8703 /  9767 =  89.106
0, 1  acc:  7094 /  7535 =  94.147
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18301 / 19962 =  91.679
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.173 | Val Loss: 0.003 | Val Acc: 87.396
Training:
Accuracies by groups:
0, 0  acc: 11181 / 16831 =  66.431
0, 1  acc:  6573 /  8549 =  76.886
1, 0  acc: 127819 / 129169 =  98.955
1, 1  acc:  7712 /  8221 =  93.809
--------------------------------------
Average acc: 153285 / 162770 =  94.173
Robust  acc: 11181 / 16831 =  66.431
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6897 /  8535 =  80.808
0, 1  acc:  7495 /  8276 =  90.563
1, 0  acc:  2811 /  2874 =  97.808
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 17363 / 19867 =  87.396
Robust  acc:  6897 /  8535 =  80.808
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.754
Robust Acc: 83.889 | Best Acc: 97.460
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  8334 /  9767 =  85.328
0, 1  acc:  6815 /  7535 =  90.445
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17717 / 19962 =  88.754
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8334 /  9767 =  85.328
0, 1  acc:  6815 /  7535 =  90.445
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17717 / 19962 =  88.754
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8334 /  9767 =  85.328
0, 1  acc:  6815 /  7535 =  90.445
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17717 / 19962 =  88.754
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.339 | Val Loss: 0.004 | Val Acc: 85.665
Training:
Accuracies by groups:
0, 0  acc: 11141 / 16628 =  67.001
0, 1  acc:  6454 /  8356 =  77.238
1, 0  acc: 128224 / 129540 =  98.984
1, 1  acc:  7737 /  8246 =  93.827
--------------------------------------
Average acc: 153556 / 162770 =  94.339
Robust  acc: 11141 / 16628 =  67.001
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6771 /  8535 =  79.332
0, 1  acc:  7285 /  8276 =  88.026
1, 0  acc:  2805 /  2874 =  97.599
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 17019 / 19867 =  85.665
Robust  acc:  6771 /  8535 =  79.332
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.316
Robust Acc: 83.782 | Best Acc: 97.177
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  8183 /  9767 =  83.782
0, 1  acc:  6686 /  7535 =  88.733
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17430 / 19962 =  87.316
Robust  acc:  8183 /  9767 =  83.782
------------------------------------
Accuracies by groups:
0, 0  acc:  8183 /  9767 =  83.782
0, 1  acc:  6686 /  7535 =  88.733
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17430 / 19962 =  87.316
Robust  acc:  8183 /  9767 =  83.782
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8183 /  9767 =  83.782
0, 1  acc:  6686 /  7535 =  88.733
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17430 / 19962 =  87.316
Robust  acc:  8183 /  9767 =  83.782
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.187 | Val Loss: 0.003 | Val Acc: 86.525
Training:
Accuracies by groups:
0, 0  acc: 10984 / 16556 =  66.345
0, 1  acc:  6527 /  8521 =  76.599
1, 0  acc: 127940 / 129335 =  98.921
1, 1  acc:  7857 /  8358 =  94.006
--------------------------------------
Average acc: 153308 / 162770 =  94.187
Robust  acc: 10984 / 16556 =  66.345
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6792 /  8535 =  79.578
0, 1  acc:  7400 /  8276 =  89.415
1, 0  acc:  2827 /  2874 =  98.365
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17190 / 19867 =  86.525
Robust  acc:  6792 /  8535 =  79.578
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.002
Robust Acc: 84.140 | Best Acc: 97.823
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  8218 /  9767 =  84.140
0, 1  acc:  6764 /  7535 =  89.768
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17567 / 19962 =  88.002
Robust  acc:  8218 /  9767 =  84.140
------------------------------------
Accuracies by groups:
0, 0  acc:  8218 /  9767 =  84.140
0, 1  acc:  6764 /  7535 =  89.768
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17567 / 19962 =  88.002
Robust  acc:  8218 /  9767 =  84.140
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8218 /  9767 =  84.140
0, 1  acc:  6764 /  7535 =  89.768
1, 0  acc:  2426 /  2480 =  97.823
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17567 / 19962 =  88.002
Robust  acc:  8218 /  9767 =  84.140
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.363 | Val Loss: 0.003 | Val Acc: 93.044
Training:
Accuracies by groups:
0, 0  acc: 11141 / 16525 =  67.419
0, 1  acc:  6620 /  8578 =  77.174
1, 0  acc: 128016 / 129365 =  98.957
1, 1  acc:  7817 /  8302 =  94.158
--------------------------------------
Average acc: 153594 / 162770 =  94.363
Robust  acc: 11141 / 16525 =  67.419
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7905 /  8535 =  92.619
0, 1  acc:  7900 /  8276 =  95.457
1, 0  acc:  2548 /  2874 =  88.657
1, 1  acc:   132 /   182 =  72.527
------------------------------------
Average acc: 18485 / 19867 =  93.044
Robust  acc:   132 /   182 =  72.527
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.668
Robust Acc: 66.667 | Best Acc: 95.780
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  9182 /  9767 =  94.010
0, 1  acc:  7217 /  7535 =  95.780
1, 0  acc:  2179 /  2480 =  87.863
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18698 / 19962 =  93.668
Robust  acc:   120 /   180 =  66.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9182 /  9767 =  94.010
0, 1  acc:  7217 /  7535 =  95.780
1, 0  acc:  2179 /  2480 =  87.863
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18698 / 19962 =  93.668
Robust  acc:   120 /   180 =  66.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9182 /  9767 =  94.010
0, 1  acc:  7217 /  7535 =  95.780
1, 0  acc:  2179 /  2480 =  87.863
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18698 / 19962 =  93.668
Robust  acc:   120 /   180 =  66.667
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed40.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed40.pt
