Arch: resnet50_pt
Bs trn: 128
Bs val: 128
Hidden dim: 256
Dataset: celebA
Resample class: 
Slice with: rep
Rep cluster method: gmm
Num anchor: 32
Num positive: 32
Num negative: 32
Num negative easy: 0
Weight anc by loss: False
Weight pos by loss: False
Weight neg by loss: False
Anc loss temp: 0.5
Pos loss temp: 0.5
Neg loss temp: 0.5
Data wide pos: False
Target sample ratio: 1
Balance targets: False
Additional negatives: False
Hard negative factor: 0
Full contrastive: False
Train encoder: False
No projection head: False
Projection dim: 128
Batch factor: None
Temperature: 0.05
Single pos: False
Supervised linear scale up: False
Supervised update delay: 0
Contrastive weight: 0.5
Classifier update interval: 8
Optim: sgd
Max epoch: 50
Lr: 0.0001
Momentum: 0.9
Weight decay: 0.1
Weight decay c: 0.1
Stopping window: 30
Load encoder: 
Freeze encoder: False
Finetune epochs: 0
Clip grad norm: False
Lr scheduler classifier: 
Lr scheduler: 
Grad clip grad norm: False
Erm: False
Erm only: False
Pretrained spurious path: ./model/celebA/config/stage_one_erm/seed36/stage_one_erm_model_b_epoch0_seed36.pt
Max epoch s: 1
Bs trn s: 32
Lr s: 0.001
Momentum s: 0.9
Weight decay s: 0.0005
Slice temp: 10
Log loss interval: 10
Checkpoint interval: 50
Grad checkpoint interval: 50
Log visual interval: 100
Log grad visual interval: 50
Verbose: True
Seed: 9
Replicate: 0
No cuda: False
Resume: False
New slice: False
Num workers: 12
Evaluate: False
Data cmap: hsv
Test cmap: 
P correlation: 0.9
P corr by class: None
Train classes: ['blond', 'nonblond']
Train class ratios: None
Test shift: random
Flipped: False
Q: 0.7
Pretrained bmodel: True
Cosine: False
Exp: ours
Tau: 1.0
Gamma: None
Remove label noise: False
Model for remove samples: 
Remove ratio: 0.03
Supervised contrast: True
Prioritize spurious pos: False
Contrastive type: cnc
Compute auroc: False
Model type: resnet50_pt_cnc
Criterion: cross_entropy
Pretrained: False
Max grad norm: 1.0
Adam epsilon: 1e-08
Warmup steps: 0
Max grad norm s: 1.0
Adam epsilon s: 1e-08
Warmup steps s: 0
Grad max grad norm: 1.0
Grad adam epsilon: 1e-08
Grad warmup steps: 0
Device: cuda
Img file type: .png
Display image: False
Image path: ./images/celebA/celebA/config/contrastive_umaps
Log interval: 1
Log path: ./logs/celebA/config
Results path: ./results/celebA/config
Model path: ./model/celebA/config
Loss factor: 1
Supersample labels: False
Subsample labels: False
Weigh slice samples by loss: True
Val split: 0.2
Spurious train split: 0.2
Subsample groups: False
Train method: sc
Max robust acc: -1
Max robust epoch: -1
Max robust group acc: (None, None)
Root dir: ./datasets/data/CelebA/
Target name: Blond_Hair
Confounder names: ['Male']
Image mean: 0.449
Image std: 0.226
Augment data: False
Task: celebA
Num classes: 2
Experiment configs: config
Experiment name: cnc-celebA-sw=re-na=32-np=32-nn=32-nne=0-tsr=1-t=0.05-bf=None-cw=0.5-sud=0-me=50-bst=128-o=sgd-lr=0.0001-mo=0.9-wd=0.1-wdc=0.1-spur-me=1-bst=32-lr=0.001-mo=0.9-wd=0.0005-sts=0.2-s=9-r=0
Mi resampled: None

Loading checkpoints for train split:
[-1 -1 -1 ... -1 -1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [71629 66874 22880  1387]
Loading checkpoints for val split:
[-1 -1 -1 ... -1  1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [8535 8276 2874  182]
Loading checkpoints for test split:
[-1 -1 -1 ... -1 -1  1]
<class 'numpy.ndarray'>
[0 1 2 3] [9767 7535 2480  180]
Train dataset:
    Blond_Hair = 0, Male = 0 : n = 71629
    Blond_Hair = 0, Male = 1 : n = 66874
    Blond_Hair = 1, Male = 0 : n = 22880
    Blond_Hair = 1, Male = 1 : n = 1387
Val dataset:
    Blond_Hair = 0, Male = 0 : n = 8535
    Blond_Hair = 0, Male = 1 : n = 8276
    Blond_Hair = 1, Male = 0 : n = 2874
    Blond_Hair = 1, Male = 1 : n = 182
Test dataset:
    Blond_Hair = 0, Male = 0 : n = 9767
    Blond_Hair = 0, Male = 1 : n = 7535
    Blond_Hair = 1, Male = 0 : n = 2480
    Blond_Hair = 1, Male = 1 : n = 180
------------------------
> Loading spurious model
------------------------
Pretrained model loaded from ./model/celebA/config/stage_one_erm/seed36/stage_one_erm_model_b_epoch0_seed36.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8309, 0.0200],
        [0.1350, 0.0141]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.791 | Val Loss: 0.003 | Val Acc: 79.937
Training:
Accuracies by groups:
0, 0  acc:  5786 / 14515 =  39.862
0, 1  acc:  2973 /  6636 =  44.801
1, 0  acc: 130850 / 133039 =  98.355
1, 1  acc:  8171 /  8580 =  95.233
--------------------------------------
Average acc: 147780 / 162770 =  90.791
Robust  acc:  5786 / 14515 =  39.862
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6187 /  8535 =  72.490
0, 1  acc:  6677 /  8276 =  80.679
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 15881 / 19867 =  79.937
Robust  acc:  6187 /  8535 =  72.490
------------------------------------
New max robust acc: 72.48974809607499
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed9.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed9.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 81.886
Robust Acc: 78.008 | Best Acc: 98.831
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7619 /  9767 =  78.008
0, 1  acc:  6107 /  7535 =  81.048
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16346 / 19962 =  81.886
Robust  acc:  7619 /  9767 =  78.008
------------------------------------
Accuracies by groups:
0, 0  acc:  7619 /  9767 =  78.008
0, 1  acc:  6107 /  7535 =  81.048
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16346 / 19962 =  81.886
Robust  acc:  7619 /  9767 =  78.008
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7619 /  9767 =  78.008
0, 1  acc:  6107 /  7535 =  81.048
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16346 / 19962 =  81.886
Robust  acc:  7619 /  9767 =  78.008
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.489 | Val Loss: 0.003 | Val Acc: 84.925
Training:
Accuracies by groups:
0, 0  acc:  9123 / 14521 =  62.826
0, 1  acc:  4812 /  6555 =  73.410
1, 0  acc: 131721 / 133038 =  99.010
1, 1  acc:  8144 /  8656 =  94.085
--------------------------------------
Average acc: 153800 / 162770 =  94.489
Robust  acc:  9123 / 14521 =  62.826
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6595 /  8535 =  77.270
0, 1  acc:  7270 /  8276 =  87.844
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16872 / 19867 =  84.925
Robust  acc:  6595 /  8535 =  77.270
------------------------------------
New max robust acc: 77.27006444053896
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed9.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed9.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.339
Robust Acc: 82.175 | Best Acc: 98.669
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8026 /  9767 =  82.175
0, 1  acc:  6594 /  7535 =  87.512
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17235 / 19962 =  86.339
Robust  acc:  8026 /  9767 =  82.175
------------------------------------
Accuracies by groups:
0, 0  acc:  8026 /  9767 =  82.175
0, 1  acc:  6594 /  7535 =  87.512
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17235 / 19962 =  86.339
Robust  acc:  8026 /  9767 =  82.175
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8026 /  9767 =  82.175
0, 1  acc:  6594 /  7535 =  87.512
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 17235 / 19962 =  86.339
Robust  acc:  8026 /  9767 =  82.175
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.363 | Val Loss: 0.003 | Val Acc: 85.599
Training:
Accuracies by groups:
0, 0  acc:  9620 / 14266 =  67.433
0, 1  acc:  5221 /  6508 =  80.224
1, 0  acc: 132233 / 133398 =  99.127
1, 1  acc:  8149 /  8598 =  94.778
--------------------------------------
Average acc: 155223 / 162770 =  95.363
Robust  acc:  9620 / 14266 =  67.433
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6580 /  8535 =  77.094
0, 1  acc:  7414 /  8276 =  89.584
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17006 / 19867 =  85.599
Robust  acc:  6580 /  8535 =  77.094
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.795
Robust Acc: 81.878 | Best Acc: 98.669
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  7997 /  9767 =  81.878
0, 1  acc:  6719 /  7535 =  89.171
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17326 / 19962 =  86.795
Robust  acc:  7997 /  9767 =  81.878
------------------------------------
Accuracies by groups:
0, 0  acc:  7997 /  9767 =  81.878
0, 1  acc:  6719 /  7535 =  89.171
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17326 / 19962 =  86.795
Robust  acc:  7997 /  9767 =  81.878
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7997 /  9767 =  81.878
0, 1  acc:  6719 /  7535 =  89.171
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17326 / 19962 =  86.795
Robust  acc:  7997 /  9767 =  81.878
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.957 | Val Loss: 0.002 | Val Acc: 87.074
Training:
Accuracies by groups:
0, 0  acc: 10080 / 14281 =  70.583
0, 1  acc:  5349 /  6390 =  83.709
1, 0  acc: 132490 / 133442 =  99.287
1, 1  acc:  8271 /  8657 =  95.541
--------------------------------------
Average acc: 156190 / 162770 =  95.957
Robust  acc: 10080 / 14281 =  70.583
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6739 /  8535 =  78.957
0, 1  acc:  7551 /  8276 =  91.240
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17299 / 19867 =  87.074
Robust  acc:  6739 /  8535 =  78.957
------------------------------------
New max robust acc: 78.95723491505565
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed9.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed9.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.268
Robust Acc: 83.618 | Best Acc: 98.387
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8167 /  9767 =  83.618
0, 1  acc:  6850 /  7535 =  90.909
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17620 / 19962 =  88.268
Robust  acc:  8167 /  9767 =  83.618
------------------------------------
Accuracies by groups:
0, 0  acc:  8167 /  9767 =  83.618
0, 1  acc:  6850 /  7535 =  90.909
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17620 / 19962 =  88.268
Robust  acc:  8167 /  9767 =  83.618
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8167 /  9767 =  83.618
0, 1  acc:  6850 /  7535 =  90.909
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17620 / 19962 =  88.268
Robust  acc:  8167 /  9767 =  83.618
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.247 | Val Loss: 0.002 | Val Acc: 87.864
Training:
Accuracies by groups:
0, 0  acc: 10488 / 14556 =  72.053
0, 1  acc:  5647 /  6538 =  86.372
1, 0  acc: 132303 / 133146 =  99.367
1, 1  acc:  8223 /  8530 =  96.401
--------------------------------------
Average acc: 156661 / 162770 =  96.247
Robust  acc: 10488 / 14556 =  72.053
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6847 /  8535 =  80.223
0, 1  acc:  7607 /  8276 =  91.916
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17456 / 19867 =  87.864
Robust  acc:  6847 /  8535 =  80.223
------------------------------------
New max robust acc: 80.22261277094319
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed9.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed9.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.759
Robust Acc: 84.263 | Best Acc: 97.984
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8230 /  9767 =  84.263
0, 1  acc:  6900 /  7535 =  91.573
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17718 / 19962 =  88.759
Robust  acc:  8230 /  9767 =  84.263
------------------------------------
Accuracies by groups:
0, 0  acc:  8230 /  9767 =  84.263
0, 1  acc:  6900 /  7535 =  91.573
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17718 / 19962 =  88.759
Robust  acc:  8230 /  9767 =  84.263
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8230 /  9767 =  84.263
0, 1  acc:  6900 /  7535 =  91.573
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17718 / 19962 =  88.759
Robust  acc:  8230 /  9767 =  84.263
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.756 | Val Loss: 0.002 | Val Acc: 90.165
Training:
Accuracies by groups:
0, 0  acc: 10842 / 14547 =  74.531
0, 1  acc:  5874 /  6614 =  88.812
1, 0  acc: 132370 / 132996 =  99.529
1, 1  acc:  8404 /  8613 =  97.573
--------------------------------------
Average acc: 157490 / 162770 =  96.756
Robust  acc: 10842 / 14547 =  74.531
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7123 /  8535 =  83.456
0, 1  acc:  7811 /  8276 =  94.381
1, 0  acc:  2813 /  2874 =  97.878
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17913 / 19867 =  90.165
Robust  acc:  7123 /  8535 =  83.456
------------------------------------
New max robust acc: 83.45635618043352
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed9.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed9.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.532
Robust Acc: 85.556 | Best Acc: 97.742
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8439 /  9767 =  86.403
0, 1  acc:  7055 /  7535 =  93.630
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18072 / 19962 =  90.532
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8439 /  9767 =  86.403
0, 1  acc:  7055 /  7535 =  93.630
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18072 / 19962 =  90.532
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8439 /  9767 =  86.403
0, 1  acc:  7055 /  7535 =  93.630
1, 0  acc:  2424 /  2480 =  97.742
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18072 / 19962 =  90.532
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.335 | Val Loss: 0.002 | Val Acc: 91.010
Training:
Accuracies by groups:
0, 0  acc: 11185 / 14433 =  77.496
0, 1  acc:  5844 /  6498 =  89.935
1, 0  acc: 132841 / 133188 =  99.739
1, 1  acc:  8562 /  8651 =  98.971
--------------------------------------
Average acc: 158432 / 162770 =  97.335
Robust  acc: 11185 / 14433 =  77.496
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7278 /  8535 =  85.272
0, 1  acc:  7835 /  8276 =  94.671
1, 0  acc:  2802 /  2874 =  97.495
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 18081 / 19867 =  91.010
Robust  acc:  7278 /  8535 =  85.272
------------------------------------
New max robust acc: 85.27240773286468
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed9.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed9.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.514
Robust Acc: 83.333 | Best Acc: 96.976
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  7111 /  7535 =  94.373
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18268 / 19962 =  91.514
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  7111 /  7535 =  94.373
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18268 / 19962 =  91.514
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8602 /  9767 =  88.072
0, 1  acc:  7111 /  7535 =  94.373
1, 0  acc:  2405 /  2480 =  96.976
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18268 / 19962 =  91.514
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.855 | Val Loss: 0.002 | Val Acc: 92.500
Training:
Accuracies by groups:
0, 0  acc: 11654 / 14433 =  80.746
0, 1  acc:  6086 /  6610 =  92.073
1, 0  acc: 132974 / 133126 =  99.886
1, 1  acc:  8564 /  8601 =  99.570
--------------------------------------
Average acc: 159278 / 162770 =  97.855
Robust  acc: 11654 / 14433 =  80.746
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7472 /  8535 =  87.545
0, 1  acc:  7983 /  8276 =  96.460
1, 0  acc:  2772 /  2874 =  96.451
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 18377 / 19867 =  92.500
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.751
Robust Acc: 76.111 | Best Acc: 95.939
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8771 /  9767 =  89.802
0, 1  acc:  7229 /  7535 =  95.939
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18515 / 19962 =  92.751
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8771 /  9767 =  89.802
0, 1  acc:  7229 /  7535 =  95.939
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18515 / 19962 =  92.751
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8771 /  9767 =  89.802
0, 1  acc:  7229 /  7535 =  95.939
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18515 / 19962 =  92.751
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.207 | Val Loss: 0.002 | Val Acc: 92.495
Training:
Accuracies by groups:
0, 0  acc: 12059 / 14428 =  83.581
0, 1  acc:  6117 /  6550 =  93.389
1, 0  acc: 133073 / 133161 =  99.934
1, 1  acc:  8603 /  8631 =  99.676
--------------------------------------
Average acc: 159852 / 162770 =  98.207
Robust  acc: 12059 / 14428 =  83.581
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7482 /  8535 =  87.663
0, 1  acc:  7983 /  8276 =  96.460
1, 0  acc:  2762 /  2874 =  96.103
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18376 / 19867 =  92.495
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.716
Robust Acc: 76.111 | Best Acc: 95.939
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8783 /  9767 =  89.925
0, 1  acc:  7229 /  7535 =  95.939
1, 0  acc:  2359 /  2480 =  95.121
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18508 / 19962 =  92.716
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8783 /  9767 =  89.925
0, 1  acc:  7229 /  7535 =  95.939
1, 0  acc:  2359 /  2480 =  95.121
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18508 / 19962 =  92.716
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8783 /  9767 =  89.925
0, 1  acc:  7229 /  7535 =  95.939
1, 0  acc:  2359 /  2480 =  95.121
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18508 / 19962 =  92.716
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.425 | Val Loss: 0.001 | Val Acc: 94.106
Training:
Accuracies by groups:
0, 0  acc: 12419 / 14483 =  85.749
0, 1  acc:  6241 /  6605 =  94.489
1, 0  acc: 132903 / 133015 =  99.916
1, 1  acc:  8643 /  8667 =  99.723
--------------------------------------
Average acc: 160206 / 162770 =  98.425
Robust  acc: 12419 / 14483 =  85.749
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7865 /  8535 =  92.150
0, 1  acc:  8100 /  8276 =  97.873
1, 0  acc:  2603 /  2874 =  90.571
1, 1  acc:   128 /   182 =  70.330
------------------------------------
Average acc: 18696 / 19867 =  94.106
Robust  acc:   128 /   182 =  70.330
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.429
Robust Acc: 69.444 | Best Acc: 97.611
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9150 /  9767 =  93.683
0, 1  acc:  7355 /  7535 =  97.611
1, 0  acc:  2220 /  2480 =  89.516
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18850 / 19962 =  94.429
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9150 /  9767 =  93.683
0, 1  acc:  7355 /  7535 =  97.611
1, 0  acc:  2220 /  2480 =  89.516
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18850 / 19962 =  94.429
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9150 /  9767 =  93.683
0, 1  acc:  7355 /  7535 =  97.611
1, 0  acc:  2220 /  2480 =  89.516
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18850 / 19962 =  94.429
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.491 | Val Loss: 0.001 | Val Acc: 93.985
Training:
Accuracies by groups:
0, 0  acc: 12684 / 14567 =  87.074
0, 1  acc:  6270 /  6639 =  94.442
1, 0  acc: 132912 / 133066 =  99.884
1, 1  acc:  8448 /  8498 =  99.412
--------------------------------------
Average acc: 160314 / 162770 =  98.491
Robust  acc: 12684 / 14567 =  87.074
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7772 /  8535 =  91.060
0, 1  acc:  8109 /  8276 =  97.982
1, 0  acc:  2664 /  2874 =  92.693
1, 1  acc:   127 /   182 =  69.780
------------------------------------
Average acc: 18672 / 19867 =  93.985
Robust  acc:   127 /   182 =  69.780
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.164
Robust Acc: 64.444 | Best Acc: 97.585
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  9069 /  9767 =  92.853
0, 1  acc:  7353 /  7535 =  97.585
1, 0  acc:  2259 /  2480 =  91.089
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18797 / 19962 =  94.164
Robust  acc:   116 /   180 =  64.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9069 /  9767 =  92.853
0, 1  acc:  7353 /  7535 =  97.585
1, 0  acc:  2259 /  2480 =  91.089
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18797 / 19962 =  94.164
Robust  acc:   116 /   180 =  64.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9069 /  9767 =  92.853
0, 1  acc:  7353 /  7535 =  97.585
1, 0  acc:  2259 /  2480 =  91.089
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18797 / 19962 =  94.164
Robust  acc:   116 /   180 =  64.444
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.254 | Val Loss: 0.002 | Val Acc: 90.673
Training:
Accuracies by groups:
0, 0  acc: 12377 / 14466 =  85.559
0, 1  acc:  6236 /  6589 =  94.643
1, 0  acc: 132760 / 133080 =  99.760
1, 1  acc:  8555 /  8635 =  99.074
--------------------------------------
Average acc: 159928 / 162770 =  98.254
Robust  acc: 12377 / 14466 =  85.559
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7235 /  8535 =  84.769
0, 1  acc:  7837 /  8276 =  94.696
1, 0  acc:  2785 /  2874 =  96.903
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 18014 / 19867 =  90.673
Robust  acc:  7235 /  8535 =  84.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.228
Robust Acc: 87.222 | Best Acc: 96.129
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8598 /  9767 =  88.031
0, 1  acc:  7072 /  7535 =  93.855
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 18211 / 19962 =  91.228
Robust  acc:   157 /   180 =  87.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8598 /  9767 =  88.031
0, 1  acc:  7072 /  7535 =  93.855
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 18211 / 19962 =  91.228
Robust  acc:   157 /   180 =  87.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8598 /  9767 =  88.031
0, 1  acc:  7072 /  7535 =  93.855
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 18211 / 19962 =  91.228
Robust  acc:   157 /   180 =  87.222
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.898 | Val Loss: 0.002 | Val Acc: 88.811
Training:
Accuracies by groups:
0, 0  acc: 12057 / 14478 =  83.278
0, 1  acc:  6206 /  6627 =  93.647
1, 0  acc: 132587 / 133043 =  99.657
1, 1  acc:  8499 /  8622 =  98.573
--------------------------------------
Average acc: 159349 / 162770 =  97.898
Robust  acc: 12057 / 14478 =  83.278
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7001 /  8535 =  82.027
0, 1  acc:  7663 /  8276 =  92.593
1, 0  acc:  2815 /  2874 =  97.947
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17644 / 19867 =  88.811
Robust  acc:  7001 /  8535 =  82.027
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.580
Robust Acc: 85.471 | Best Acc: 97.298
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8348 /  9767 =  85.471
0, 1  acc:  6966 /  7535 =  92.449
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17882 / 19962 =  89.580
Robust  acc:  8348 /  9767 =  85.471
------------------------------------
Accuracies by groups:
0, 0  acc:  8348 /  9767 =  85.471
0, 1  acc:  6966 /  7535 =  92.449
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17882 / 19962 =  89.580
Robust  acc:  8348 /  9767 =  85.471
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8348 /  9767 =  85.471
0, 1  acc:  6966 /  7535 =  92.449
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17882 / 19962 =  89.580
Robust  acc:  8348 /  9767 =  85.471
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.445 | Val Loss: 0.003 | Val Acc: 87.708
Training:
Accuracies by groups:
0, 0  acc: 11712 / 14533 =  80.589
0, 1  acc:  5898 /  6459 =  91.314
1, 0  acc: 132476 / 133076 =  99.549
1, 1  acc:  8525 /  8702 =  97.966
--------------------------------------
Average acc: 158611 / 162770 =  97.445
Robust  acc: 11712 / 14533 =  80.589
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6746 /  8535 =  79.039
0, 1  acc:  7683 /  8276 =  92.835
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17425 / 19867 =  87.708
Robust  acc:  6746 /  8535 =  79.039
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.408
Robust Acc: 82.809 | Best Acc: 98.306
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8088 /  9767 =  82.809
0, 1  acc:  6963 /  7535 =  92.409
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17648 / 19962 =  88.408
Robust  acc:  8088 /  9767 =  82.809
------------------------------------
Accuracies by groups:
0, 0  acc:  8088 /  9767 =  82.809
0, 1  acc:  6963 /  7535 =  92.409
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17648 / 19962 =  88.408
Robust  acc:  8088 /  9767 =  82.809
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8088 /  9767 =  82.809
0, 1  acc:  6963 /  7535 =  92.409
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17648 / 19962 =  88.408
Robust  acc:  8088 /  9767 =  82.809
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.948 | Val Loss: 0.001 | Val Acc: 94.232
Training:
Accuracies by groups:
0, 0  acc: 11067 / 14342 =  77.165
0, 1  acc:  5870 /  6561 =  89.468
1, 0  acc: 132560 / 133296 =  99.448
1, 1  acc:  8306 /  8571 =  96.908
--------------------------------------
Average acc: 157803 / 162770 =  96.948
Robust  acc: 11067 / 14342 =  77.165
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7813 /  8535 =  91.541
0, 1  acc:  8113 /  8276 =  98.030
1, 0  acc:  2661 /  2874 =  92.589
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18721 / 19867 =  94.232
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.324
Robust Acc: 66.667 | Best Acc: 97.279
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  9099 /  9767 =  93.161
0, 1  acc:  7330 /  7535 =  97.279
1, 0  acc:  2280 /  2480 =  91.935
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18829 / 19962 =  94.324
Robust  acc:   120 /   180 =  66.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9099 /  9767 =  93.161
0, 1  acc:  7330 /  7535 =  97.279
1, 0  acc:  2280 /  2480 =  91.935
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18829 / 19962 =  94.324
Robust  acc:   120 /   180 =  66.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9099 /  9767 =  93.161
0, 1  acc:  7330 /  7535 =  97.279
1, 0  acc:  2280 /  2480 =  91.935
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18829 / 19962 =  94.324
Robust  acc:   120 /   180 =  66.667
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.485 | Val Loss: 0.003 | Val Acc: 83.838
Training:
Accuracies by groups:
0, 0  acc: 10695 / 14394 =  74.302
0, 1  acc:  5729 /  6521 =  87.855
1, 0  acc: 132213 / 133133 =  99.309
1, 1  acc:  8412 /  8722 =  96.446
--------------------------------------
Average acc: 157049 / 162770 =  96.485
Robust  acc: 10695 / 14394 =  74.302
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6535 /  8535 =  76.567
0, 1  acc:  7102 /  8276 =  85.814
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16656 / 19867 =  83.838
Robust  acc:  6535 /  8535 =  76.567
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.052
Robust Acc: 80.967 | Best Acc: 98.508
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6463 /  7535 =  85.773
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16978 / 19962 =  85.052
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6463 /  7535 =  85.773
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16978 / 19962 =  85.052
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6463 /  7535 =  85.773
1, 0  acc:  2443 /  2480 =  98.508
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16978 / 19962 =  85.052
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.983 | Val Loss: 0.002 | Val Acc: 90.577
Training:
Accuracies by groups:
0, 0  acc: 10305 / 14407 =  71.528
0, 1  acc:  5639 /  6524 =  86.435
1, 0  acc: 132109 / 133262 =  99.135
1, 1  acc:  8179 /  8577 =  95.360
--------------------------------------
Average acc: 156232 / 162770 =  95.983
Robust  acc: 10305 / 14407 =  71.528
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7321 /  8535 =  85.776
0, 1  acc:  7736 /  8276 =  93.475
1, 0  acc:  2771 /  2874 =  96.416
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17995 / 19867 =  90.577
Robust  acc:  7321 /  8535 =  85.776
------------------------------------
New max robust acc: 85.77621558289397
debias model - Saving best checkpoint at epoch 16
replace: True
-> Updating checkpoint debias-wga-best_seed9.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed9.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.233
Robust Acc: 84.444 | Best Acc: 95.605
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8637 /  9767 =  88.430
0, 1  acc:  7052 /  7535 =  93.590
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18212 / 19962 =  91.233
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8637 /  9767 =  88.430
0, 1  acc:  7052 /  7535 =  93.590
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18212 / 19962 =  91.233
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8637 /  9767 =  88.430
0, 1  acc:  7052 /  7535 =  93.590
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18212 / 19962 =  91.233
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.561 | Val Loss: 0.004 | Val Acc: 78.547
Training:
Accuracies by groups:
0, 0  acc: 10028 / 14448 =  69.408
0, 1  acc:  5562 /  6666 =  83.438
1, 0  acc: 131715 / 132960 =  99.064
1, 1  acc:  8240 /  8696 =  94.756
--------------------------------------
Average acc: 155545 / 162770 =  95.561
Robust  acc: 10028 / 14448 =  69.408
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5934 /  8535 =  69.525
0, 1  acc:  6630 /  8276 =  80.111
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15605 / 19867 =  78.547
Robust  acc:  5934 /  8535 =  69.525
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.333
Robust Acc: 75.274 | Best Acc: 99.315
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  7352 /  9767 =  75.274
0, 1  acc:  6049 /  7535 =  80.279
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16036 / 19962 =  80.333
Robust  acc:  7352 /  9767 =  75.274
------------------------------------
Accuracies by groups:
0, 0  acc:  7352 /  9767 =  75.274
0, 1  acc:  6049 /  7535 =  80.279
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16036 / 19962 =  80.333
Robust  acc:  7352 /  9767 =  75.274
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7352 /  9767 =  75.274
0, 1  acc:  6049 /  7535 =  80.279
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16036 / 19962 =  80.333
Robust  acc:  7352 /  9767 =  75.274
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.351 | Val Loss: 0.007 | Val Acc: 58.147
Training:
Accuracies by groups:
0, 0  acc:  9882 / 14444 =  68.416
0, 1  acc:  5452 /  6618 =  82.381
1, 0  acc: 131686 / 133052 =  98.973
1, 1  acc:  8183 /  8656 =  94.536
--------------------------------------
Average acc: 155203 / 162770 =  95.351
Robust  acc:  9882 / 14444 =  68.416
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4181 /  8535 =  48.987
0, 1  acc:  4319 /  8276 =  52.187
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11552 / 19867 =  58.147
Robust  acc:  4181 /  8535 =  48.987
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 59.809
Robust Acc: 52.714 | Best Acc: 99.839
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  5313 /  9767 =  54.397
0, 1  acc:  3972 /  7535 =  52.714
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11939 / 19962 =  59.809
Robust  acc:  3972 /  7535 =  52.714
------------------------------------
Accuracies by groups:
0, 0  acc:  5313 /  9767 =  54.397
0, 1  acc:  3972 /  7535 =  52.714
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11939 / 19962 =  59.809
Robust  acc:  3972 /  7535 =  52.714
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5313 /  9767 =  54.397
0, 1  acc:  3972 /  7535 =  52.714
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11939 / 19962 =  59.809
Robust  acc:  3972 /  7535 =  52.714
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.011 | Val Loss: 0.004 | Val Acc: 78.663
Training:
Accuracies by groups:
0, 0  acc:  9543 / 14425 =  66.156
0, 1  acc:  5127 /  6507 =  78.792
1, 0  acc: 131708 / 133081 =  98.968
1, 1  acc:  8271 /  8757 =  94.450
--------------------------------------
Average acc: 154649 / 162770 =  95.011
Robust  acc:  9543 / 14425 =  66.156
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5972 /  8535 =  69.971
0, 1  acc:  6632 /  8276 =  80.135
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15628 / 19867 =  78.663
Robust  acc:  5972 /  8535 =  69.971
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.117
Robust Acc: 75.018 | Best Acc: 98.992
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  7327 /  9767 =  75.018
0, 1  acc:  6042 /  7535 =  80.186
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15993 / 19962 =  80.117
Robust  acc:  7327 /  9767 =  75.018
------------------------------------
Accuracies by groups:
0, 0  acc:  7327 /  9767 =  75.018
0, 1  acc:  6042 /  7535 =  80.186
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15993 / 19962 =  80.117
Robust  acc:  7327 /  9767 =  75.018
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7327 /  9767 =  75.018
0, 1  acc:  6042 /  7535 =  80.186
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15993 / 19962 =  80.117
Robust  acc:  7327 /  9767 =  75.018
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.761 | Val Loss: 0.008 | Val Acc: 49.781
Training:
Accuracies by groups:
0, 0  acc:  9424 / 14513 =  64.935
0, 1  acc:  5002 /  6569 =  76.146
1, 0  acc: 131539 / 132944 =  98.943
1, 1  acc:  8277 /  8744 =  94.659
--------------------------------------
Average acc: 154242 / 162770 =  94.761
Robust  acc:  9424 / 14513 =  64.935
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3253 /  8535 =  38.114
0, 1  acc:  3585 /  8276 =  43.318
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9890 / 19867 =  49.781
Robust  acc:  3253 /  8535 =  38.114
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 50.591
Robust Acc: 42.614 | Best Acc: 99.919
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  4232 /  9767 =  43.330
0, 1  acc:  3211 /  7535 =  42.614
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10099 / 19962 =  50.591
Robust  acc:  3211 /  7535 =  42.614
------------------------------------
Accuracies by groups:
0, 0  acc:  4232 /  9767 =  43.330
0, 1  acc:  3211 /  7535 =  42.614
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10099 / 19962 =  50.591
Robust  acc:  3211 /  7535 =  42.614
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4232 /  9767 =  43.330
0, 1  acc:  3211 /  7535 =  42.614
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10099 / 19962 =  50.591
Robust  acc:  3211 /  7535 =  42.614
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.731 | Val Loss: 0.005 | Val Acc: 76.036
Training:
Accuracies by groups:
0, 0  acc:  9227 / 14440 =  63.899
0, 1  acc:  5070 /  6702 =  75.649
1, 0  acc: 131688 / 133001 =  99.013
1, 1  acc:  8208 /  8627 =  95.143
--------------------------------------
Average acc: 154193 / 162770 =  94.731
Robust  acc:  9227 / 14440 =  63.899
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5826 /  8535 =  68.260
0, 1  acc:  6240 /  8276 =  75.399
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 15106 / 19867 =  76.036
Robust  acc:  5826 /  8535 =  68.260
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.858
Robust Acc: 74.004 | Best Acc: 99.234
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  7228 /  9767 =  74.004
0, 1  acc:  5678 /  7535 =  75.355
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15542 / 19962 =  77.858
Robust  acc:  7228 /  9767 =  74.004
------------------------------------
Accuracies by groups:
0, 0  acc:  7228 /  9767 =  74.004
0, 1  acc:  5678 /  7535 =  75.355
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15542 / 19962 =  77.858
Robust  acc:  7228 /  9767 =  74.004
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7228 /  9767 =  74.004
0, 1  acc:  5678 /  7535 =  75.355
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15542 / 19962 =  77.858
Robust  acc:  7228 /  9767 =  74.004
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.661 | Val Loss: 0.003 | Val Acc: 91.775
Training:
Accuracies by groups:
0, 0  acc:  9060 / 14405 =  62.895
0, 1  acc:  4833 /  6555 =  73.730
1, 0  acc: 132036 / 133283 =  99.064
1, 1  acc:  8151 /  8527 =  95.590
--------------------------------------
Average acc: 154080 / 162770 =  94.661
Robust  acc:  9060 / 14405 =  62.895
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7739 /  8535 =  90.674
0, 1  acc:  7795 /  8276 =  94.188
1, 0  acc:  2563 /  2874 =  89.179
1, 1  acc:   136 /   182 =  74.725
------------------------------------
Average acc: 18233 / 19867 =  91.775
Robust  acc:   136 /   182 =  74.725
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.501
Robust Acc: 70.000 | Best Acc: 94.612
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  9042 /  9767 =  92.577
0, 1  acc:  7129 /  7535 =  94.612
1, 0  acc:  2168 /  2480 =  87.419
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18465 / 19962 =  92.501
Robust  acc:   126 /   180 =  70.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9042 /  9767 =  92.577
0, 1  acc:  7129 /  7535 =  94.612
1, 0  acc:  2168 /  2480 =  87.419
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18465 / 19962 =  92.501
Robust  acc:   126 /   180 =  70.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9042 /  9767 =  92.577
0, 1  acc:  7129 /  7535 =  94.612
1, 0  acc:  2168 /  2480 =  87.419
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18465 / 19962 =  92.501
Robust  acc:   126 /   180 =  70.000
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.493 | Val Loss: 0.003 | Val Acc: 90.205
Training:
Accuracies by groups:
0, 0  acc:  8890 / 14518 =  61.234
0, 1  acc:  4675 /  6439 =  72.604
1, 0  acc: 132180 / 133390 =  99.093
1, 1  acc:  8061 /  8423 =  95.702
--------------------------------------
Average acc: 153806 / 162770 =  94.493
Robust  acc:  8890 / 14518 =  61.234
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7439 /  8535 =  87.159
0, 1  acc:  7601 /  8276 =  91.844
1, 0  acc:  2722 /  2874 =  94.711
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 17921 / 19867 =  90.205
Robust  acc:  7439 /  8535 =  87.159
------------------------------------
New max robust acc: 87.15875805506737
debias model - Saving best checkpoint at epoch 23
replace: True
-> Updating checkpoint debias-wga-best_seed9.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed9.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.268
Robust Acc: 80.556 | Best Acc: 93.750
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  8798 /  9767 =  90.079
0, 1  acc:  6951 /  7535 =  92.250
1, 0  acc:  2325 /  2480 =  93.750
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18219 / 19962 =  91.268
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8798 /  9767 =  90.079
0, 1  acc:  6951 /  7535 =  92.250
1, 0  acc:  2325 /  2480 =  93.750
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18219 / 19962 =  91.268
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8798 /  9767 =  90.079
0, 1  acc:  6951 /  7535 =  92.250
1, 0  acc:  2325 /  2480 =  93.750
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18219 / 19962 =  91.268
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.508 | Val Loss: 0.003 | Val Acc: 87.950
Training:
Accuracies by groups:
0, 0  acc:  8903 / 14508 =  61.366
0, 1  acc:  4670 /  6462 =  72.269
1, 0  acc: 131997 / 133143 =  99.139
1, 1  acc:  8261 /  8657 =  95.426
--------------------------------------
Average acc: 153831 / 162770 =  94.508
Robust  acc:  8903 / 14508 =  61.366
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7028 /  8535 =  82.343
0, 1  acc:  7484 /  8276 =  90.430
1, 0  acc:  2796 /  2874 =  97.286
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17473 / 19867 =  87.950
Robust  acc:  7028 /  8535 =  82.343
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.305
Robust Acc: 86.198 | Best Acc: 97.016
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8419 /  9767 =  86.198
0, 1  acc:  6845 /  7535 =  90.843
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17827 / 19962 =  89.305
Robust  acc:  8419 /  9767 =  86.198
------------------------------------
Accuracies by groups:
0, 0  acc:  8419 /  9767 =  86.198
0, 1  acc:  6845 /  7535 =  90.843
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17827 / 19962 =  89.305
Robust  acc:  8419 /  9767 =  86.198
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8419 /  9767 =  86.198
0, 1  acc:  6845 /  7535 =  90.843
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17827 / 19962 =  89.305
Robust  acc:  8419 /  9767 =  86.198
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.269 | Val Loss: 0.004 | Val Acc: 83.843
Training:
Accuracies by groups:
0, 0  acc:  8650 / 14404 =  60.053
0, 1  acc:  4511 /  6515 =  69.240
1, 0  acc: 131949 / 133143 =  99.103
1, 1  acc:  8331 /  8708 =  95.671
--------------------------------------
Average acc: 153441 / 162770 =  94.269
Robust  acc:  8650 / 14404 =  60.053
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6608 /  8535 =  77.422
0, 1  acc:  7065 /  8276 =  85.367
1, 0  acc:  2814 /  2874 =  97.912
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16657 / 19867 =  83.843
Robust  acc:  6608 /  8535 =  77.422
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.487
Robust Acc: 82.349 | Best Acc: 97.298
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  8043 /  9767 =  82.349
0, 1  acc:  6444 /  7535 =  85.521
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17065 / 19962 =  85.487
Robust  acc:  8043 /  9767 =  82.349
------------------------------------
Accuracies by groups:
0, 0  acc:  8043 /  9767 =  82.349
0, 1  acc:  6444 /  7535 =  85.521
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17065 / 19962 =  85.487
Robust  acc:  8043 /  9767 =  82.349
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8043 /  9767 =  82.349
0, 1  acc:  6444 /  7535 =  85.521
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17065 / 19962 =  85.487
Robust  acc:  8043 /  9767 =  82.349
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.198 | Val Loss: 0.003 | Val Acc: 87.985
Training:
Accuracies by groups:
0, 0  acc:  8497 / 14433 =  58.872
0, 1  acc:  4505 /  6589 =  68.372
1, 0  acc: 131921 / 132997 =  99.191
1, 1  acc:  8403 /  8751 =  96.023
--------------------------------------
Average acc: 153326 / 162770 =  94.198
Robust  acc:  8497 / 14433 =  58.872
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7049 /  8535 =  82.589
0, 1  acc:  7476 /  8276 =  90.333
1, 0  acc:  2789 /  2874 =  97.042
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17480 / 19867 =  87.985
Robust  acc:  7049 /  8535 =  82.589
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.149
Robust Acc: 85.000 | Best Acc: 96.210
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  8436 /  9767 =  86.372
0, 1  acc:  6821 /  7535 =  90.524
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17796 / 19962 =  89.149
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8436 /  9767 =  86.372
0, 1  acc:  6821 /  7535 =  90.524
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17796 / 19962 =  89.149
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8436 /  9767 =  86.372
0, 1  acc:  6821 /  7535 =  90.524
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17796 / 19962 =  89.149
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.062 | Val Loss: 0.005 | Val Acc: 75.306
Training:
Accuracies by groups:
0, 0  acc:  8218 / 14346 =  57.284
0, 1  acc:  4352 /  6561 =  66.331
1, 0  acc: 132222 / 133215 =  99.255
1, 1  acc:  8312 /  8648 =  96.115
--------------------------------------
Average acc: 153104 / 162770 =  94.062
Robust  acc:  8218 / 14346 =  57.284
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5825 /  8535 =  68.248
0, 1  acc:  6115 /  8276 =  73.888
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14961 / 19867 =  75.306
Robust  acc:  5825 /  8535 =  68.248
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.846
Robust Acc: 73.308 | Best Acc: 98.468
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  7160 /  9767 =  73.308
0, 1  acc:  5563 /  7535 =  73.829
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15340 / 19962 =  76.846
Robust  acc:  7160 /  9767 =  73.308
------------------------------------
Accuracies by groups:
0, 0  acc:  7160 /  9767 =  73.308
0, 1  acc:  5563 /  7535 =  73.829
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15340 / 19962 =  76.846
Robust  acc:  7160 /  9767 =  73.308
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7160 /  9767 =  73.308
0, 1  acc:  5563 /  7535 =  73.829
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15340 / 19962 =  76.846
Robust  acc:  7160 /  9767 =  73.308
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.030 | Val Loss: 0.004 | Val Acc: 85.030
Training:
Accuracies by groups:
0, 0  acc:  8334 / 14527 =  57.369
0, 1  acc:  4325 /  6590 =  65.630
1, 0  acc: 132100 / 133071 =  99.270
1, 1  acc:  8293 /  8582 =  96.632
--------------------------------------
Average acc: 153052 / 162770 =  94.030
Robust  acc:  8334 / 14527 =  57.369
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6761 /  8535 =  79.215
0, 1  acc:  7137 /  8276 =  86.237
1, 0  acc:  2824 /  2874 =  98.260
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16893 / 19867 =  85.030
Robust  acc:  6761 /  8535 =  79.215
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.665
Robust Acc: 83.741 | Best Acc: 97.500
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  8179 /  9767 =  83.741
0, 1  acc:  6539 /  7535 =  86.782
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17300 / 19962 =  86.665
Robust  acc:  8179 /  9767 =  83.741
------------------------------------
Accuracies by groups:
0, 0  acc:  8179 /  9767 =  83.741
0, 1  acc:  6539 /  7535 =  86.782
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17300 / 19962 =  86.665
Robust  acc:  8179 /  9767 =  83.741
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8179 /  9767 =  83.741
0, 1  acc:  6539 /  7535 =  86.782
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17300 / 19962 =  86.665
Robust  acc:  8179 /  9767 =  83.741
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.947 | Val Loss: 0.007 | Val Acc: 59.944
Training:
Accuracies by groups:
0, 0  acc:  8335 / 14661 =  56.852
0, 1  acc:  4288 /  6585 =  65.118
1, 0  acc: 132106 / 133022 =  99.311
1, 1  acc:  8188 /  8502 =  96.307
--------------------------------------
Average acc: 152917 / 162770 =  93.947
Robust  acc:  8335 / 14661 =  56.852
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4250 /  8535 =  49.795
0, 1  acc:  4606 /  8276 =  55.655
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11909 / 19867 =  59.944
Robust  acc:  4250 /  8535 =  49.795
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 61.271
Robust Acc: 54.991 | Best Acc: 99.839
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  5371 /  9767 =  54.991
0, 1  acc:  4206 /  7535 =  55.820
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12231 / 19962 =  61.271
Robust  acc:  5371 /  9767 =  54.991
------------------------------------
Accuracies by groups:
0, 0  acc:  5371 /  9767 =  54.991
0, 1  acc:  4206 /  7535 =  55.820
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12231 / 19962 =  61.271
Robust  acc:  5371 /  9767 =  54.991
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5371 /  9767 =  54.991
0, 1  acc:  4206 /  7535 =  55.820
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12231 / 19962 =  61.271
Robust  acc:  5371 /  9767 =  54.991
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 94.154 | Val Loss: 0.004 | Val Acc: 81.014
Training:
Accuracies by groups:
0, 0  acc:  8282 / 14379 =  57.598
0, 1  acc:  4351 /  6628 =  65.646
1, 0  acc: 132220 / 133093 =  99.344
1, 1  acc:  8401 /  8670 =  96.897
--------------------------------------
Average acc: 153254 / 162770 =  94.154
Robust  acc:  8282 / 14379 =  57.598
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6296 /  8535 =  73.767
0, 1  acc:  6786 /  8276 =  81.996
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 16095 / 19867 =  81.014
Robust  acc:  6296 /  8535 =  73.767
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.361
Robust Acc: 77.977 | Best Acc: 98.468
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  7616 /  9767 =  77.977
0, 1  acc:  6219 /  7535 =  82.535
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16441 / 19962 =  82.361
Robust  acc:  7616 /  9767 =  77.977
------------------------------------
Accuracies by groups:
0, 0  acc:  7616 /  9767 =  77.977
0, 1  acc:  6219 /  7535 =  82.535
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16441 / 19962 =  82.361
Robust  acc:  7616 /  9767 =  77.977
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7616 /  9767 =  77.977
0, 1  acc:  6219 /  7535 =  82.535
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16441 / 19962 =  82.361
Robust  acc:  7616 /  9767 =  77.977
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 94.012 | Val Loss: 0.006 | Val Acc: 69.688
Training:
Accuracies by groups:
0, 0  acc:  8266 / 14504 =  56.991
0, 1  acc:  4347 /  6610 =  65.764
1, 0  acc: 132240 / 133187 =  99.289
1, 1  acc:  8171 /  8469 =  96.481
--------------------------------------
Average acc: 153024 / 162770 =  94.012
Robust  acc:  8266 / 14504 =  56.991
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4903 /  8535 =  57.446
0, 1  acc:  5897 /  8276 =  71.254
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13845 / 19867 =  69.688
Robust  acc:  4903 /  8535 =  57.446
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 71.366
Robust Acc: 63.325 | Best Acc: 99.597
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  6185 /  9767 =  63.325
0, 1  acc:  5417 /  7535 =  71.891
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14246 / 19962 =  71.366
Robust  acc:  6185 /  9767 =  63.325
------------------------------------
Accuracies by groups:
0, 0  acc:  6185 /  9767 =  63.325
0, 1  acc:  5417 /  7535 =  71.891
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14246 / 19962 =  71.366
Robust  acc:  6185 /  9767 =  63.325
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6185 /  9767 =  63.325
0, 1  acc:  5417 /  7535 =  71.891
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14246 / 19962 =  71.366
Robust  acc:  6185 /  9767 =  63.325
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 94.062 | Val Loss: 0.005 | Val Acc: 76.257
Training:
Accuracies by groups:
0, 0  acc:  8010 / 14230 =  56.290
0, 1  acc:  4265 /  6521 =  65.404
1, 0  acc: 132624 / 133521 =  99.328
1, 1  acc:  8206 /  8498 =  96.564
--------------------------------------
Average acc: 153105 / 162770 =  94.062
Robust  acc:  8010 / 14230 =  56.290
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5922 /  8535 =  69.385
0, 1  acc:  6217 /  8276 =  75.121
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 15150 / 19867 =  76.257
Robust  acc:  5922 /  8535 =  69.385
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.537
Robust Acc: 74.209 | Best Acc: 98.226
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7248 /  9767 =  74.209
0, 1  acc:  5624 /  7535 =  74.638
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15478 / 19962 =  77.537
Robust  acc:  7248 /  9767 =  74.209
------------------------------------
Accuracies by groups:
0, 0  acc:  7248 /  9767 =  74.209
0, 1  acc:  5624 /  7535 =  74.638
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15478 / 19962 =  77.537
Robust  acc:  7248 /  9767 =  74.209
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7248 /  9767 =  74.209
0, 1  acc:  5624 /  7535 =  74.638
1, 0  acc:  2436 /  2480 =  98.226
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15478 / 19962 =  77.537
Robust  acc:  7248 /  9767 =  74.209
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.021 | Val Loss: 0.005 | Val Acc: 73.302
Training:
Accuracies by groups:
0, 0  acc:  8182 / 14522 =  56.342
0, 1  acc:  4206 /  6466 =  65.048
1, 0  acc: 132270 / 133136 =  99.350
1, 1  acc:  8380 /  8646 =  96.923
--------------------------------------
Average acc: 153038 / 162770 =  94.021
Robust  acc:  8182 / 14522 =  56.342
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5457 /  8535 =  63.937
0, 1  acc:  6068 /  8276 =  73.320
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14563 / 19867 =  73.302
Robust  acc:  5457 /  8535 =  63.937
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.882
Robust Acc: 69.725 | Best Acc: 99.355
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  6810 /  9767 =  69.725
0, 1  acc:  5501 /  7535 =  73.006
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14948 / 19962 =  74.882
Robust  acc:  6810 /  9767 =  69.725
------------------------------------
Accuracies by groups:
0, 0  acc:  6810 /  9767 =  69.725
0, 1  acc:  5501 /  7535 =  73.006
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14948 / 19962 =  74.882
Robust  acc:  6810 /  9767 =  69.725
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6810 /  9767 =  69.725
0, 1  acc:  5501 /  7535 =  73.006
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14948 / 19962 =  74.882
Robust  acc:  6810 /  9767 =  69.725
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 94.024 | Val Loss: 0.004 | Val Acc: 87.205
Training:
Accuracies by groups:
0, 0  acc:  7894 / 14165 =  55.729
0, 1  acc:  4241 /  6472 =  65.528
1, 0  acc: 132635 / 133565 =  99.304
1, 1  acc:  8273 /  8568 =  96.557
--------------------------------------
Average acc: 153043 / 162770 =  94.024
Robust  acc:  7894 / 14165 =  55.729
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7033 /  8535 =  82.402
0, 1  acc:  7331 /  8276 =  88.581
1, 0  acc:  2796 /  2874 =  97.286
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17325 / 19867 =  87.205
Robust  acc:  7033 /  8535 =  82.402
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 88.523
Robust Acc: 86.301 | Best Acc: 96.573
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  8429 /  9767 =  86.301
0, 1  acc:  6688 /  7535 =  88.759
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17671 / 19962 =  88.523
Robust  acc:  8429 /  9767 =  86.301
------------------------------------
Accuracies by groups:
0, 0  acc:  8429 /  9767 =  86.301
0, 1  acc:  6688 /  7535 =  88.759
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17671 / 19962 =  88.523
Robust  acc:  8429 /  9767 =  86.301
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8429 /  9767 =  86.301
0, 1  acc:  6688 /  7535 =  88.759
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17671 / 19962 =  88.523
Robust  acc:  8429 /  9767 =  86.301
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.012 | Val Loss: 0.009 | Val Acc: 37.509
Training:
Accuracies by groups:
0, 0  acc:  8018 / 14295 =  56.090
0, 1  acc:  4252 /  6554 =  64.876
1, 0  acc: 132442 / 133330 =  99.334
1, 1  acc:  8311 /  8591 =  96.741
--------------------------------------
Average acc: 153023 / 162770 =  94.012
Robust  acc:  8018 / 14295 =  56.090
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2337 /  8535 =  27.381
0, 1  acc:  2061 /  8276 =  24.903
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  7452 / 19867 =  37.509
Robust  acc:  2061 /  8276 =  24.903
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 37.241
Robust Acc: 23.822 | Best Acc: 99.960
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  2982 /  9767 =  30.531
0, 1  acc:  1795 /  7535 =  23.822
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7434 / 19962 =  37.241
Robust  acc:  1795 /  7535 =  23.822
------------------------------------
Accuracies by groups:
0, 0  acc:  2982 /  9767 =  30.531
0, 1  acc:  1795 /  7535 =  23.822
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7434 / 19962 =  37.241
Robust  acc:  1795 /  7535 =  23.822
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2982 /  9767 =  30.531
0, 1  acc:  1795 /  7535 =  23.822
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  7434 / 19962 =  37.241
Robust  acc:  1795 /  7535 =  23.822
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.871 | Val Loss: 0.005 | Val Acc: 72.255
Training:
Accuracies by groups:
0, 0  acc:  8137 / 14537 =  55.974
0, 1  acc:  4258 /  6653 =  64.001
1, 0  acc: 132136 / 133029 =  99.329
1, 1  acc:  8263 /  8551 =  96.632
--------------------------------------
Average acc: 152794 / 162770 =  93.871
Robust  acc:  8137 / 14537 =  55.974
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5539 /  8535 =  64.897
0, 1  acc:  5786 /  8276 =  69.913
1, 0  acc:  2852 /  2874 =  99.235
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 14355 / 19867 =  72.255
Robust  acc:  5539 /  8535 =  64.897
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.780
Robust Acc: 69.662 | Best Acc: 98.992
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  6853 /  9767 =  70.165
0, 1  acc:  5249 /  7535 =  69.662
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14728 / 19962 =  73.780
Robust  acc:  5249 /  7535 =  69.662
------------------------------------
Accuracies by groups:
0, 0  acc:  6853 /  9767 =  70.165
0, 1  acc:  5249 /  7535 =  69.662
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14728 / 19962 =  73.780
Robust  acc:  5249 /  7535 =  69.662
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6853 /  9767 =  70.165
0, 1  acc:  5249 /  7535 =  69.662
1, 0  acc:  2455 /  2480 =  98.992
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 14728 / 19962 =  73.780
Robust  acc:  5249 /  7535 =  69.662
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.078 | Val Loss: 0.005 | Val Acc: 76.106
Training:
Accuracies by groups:
0, 0  acc:  8163 / 14328 =  56.972
0, 1  acc:  4218 /  6440 =  65.497
1, 0  acc: 132438 / 133372 =  99.300
1, 1  acc:  8311 /  8630 =  96.304
--------------------------------------
Average acc: 153130 / 162770 =  94.078
Robust  acc:  8163 / 14328 =  56.972
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5679 /  8535 =  66.538
0, 1  acc:  6411 /  8276 =  77.465
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15120 / 19867 =  76.106
Robust  acc:  5679 /  8535 =  66.538
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.179
Robust Acc: 72.335 | Best Acc: 99.113
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  7065 /  9767 =  72.335
0, 1  acc:  5912 /  7535 =  78.461
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15606 / 19962 =  78.179
Robust  acc:  7065 /  9767 =  72.335
------------------------------------
Accuracies by groups:
0, 0  acc:  7065 /  9767 =  72.335
0, 1  acc:  5912 /  7535 =  78.461
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15606 / 19962 =  78.179
Robust  acc:  7065 /  9767 =  72.335
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7065 /  9767 =  72.335
0, 1  acc:  5912 /  7535 =  78.461
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 15606 / 19962 =  78.179
Robust  acc:  7065 /  9767 =  72.335
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.028 | Val Loss: 0.006 | Val Acc: 69.427
Training:
Accuracies by groups:
0, 0  acc:  8203 / 14459 =  56.733
0, 1  acc:  4334 /  6594 =  65.726
1, 0  acc: 132207 / 133125 =  99.310
1, 1  acc:  8306 /  8592 =  96.671
--------------------------------------
Average acc: 153050 / 162770 =  94.028
Robust  acc:  8203 / 14459 =  56.733
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5034 /  8535 =  58.981
0, 1  acc:  5714 /  8276 =  69.043
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13793 / 19867 =  69.427
Robust  acc:  5034 /  8535 =  58.981
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 70.955
Robust Acc: 65.025 | Best Acc: 99.435
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  6351 /  9767 =  65.025
0, 1  acc:  5174 /  7535 =  68.666
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14164 / 19962 =  70.955
Robust  acc:  6351 /  9767 =  65.025
------------------------------------
Accuracies by groups:
0, 0  acc:  6351 /  9767 =  65.025
0, 1  acc:  5174 /  7535 =  68.666
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14164 / 19962 =  70.955
Robust  acc:  6351 /  9767 =  65.025
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6351 /  9767 =  65.025
0, 1  acc:  5174 /  7535 =  68.666
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 14164 / 19962 =  70.955
Robust  acc:  6351 /  9767 =  65.025
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.059 | Val Loss: 0.004 | Val Acc: 91.352
Training:
Accuracies by groups:
0, 0  acc:  8344 / 14502 =  57.537
0, 1  acc:  4346 /  6532 =  66.534
1, 0  acc: 132175 / 133176 =  99.248
1, 1  acc:  8235 /  8560 =  96.203
--------------------------------------
Average acc: 153100 / 162770 =  94.059
Robust  acc:  8344 / 14502 =  57.537
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7475 /  8535 =  87.581
0, 1  acc:  7874 /  8276 =  95.143
1, 0  acc:  2656 /  2874 =  92.415
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18149 / 19867 =  91.352
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 92.305
Robust Acc: 71.667 | Best Acc: 95.727
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  8797 /  9767 =  90.069
0, 1  acc:  7213 /  7535 =  95.727
1, 0  acc:  2287 /  2480 =  92.218
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18426 / 19962 =  92.305
Robust  acc:   129 /   180 =  71.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8797 /  9767 =  90.069
0, 1  acc:  7213 /  7535 =  95.727
1, 0  acc:  2287 /  2480 =  92.218
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18426 / 19962 =  92.305
Robust  acc:   129 /   180 =  71.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8797 /  9767 =  90.069
0, 1  acc:  7213 /  7535 =  95.727
1, 0  acc:  2287 /  2480 =  92.218
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18426 / 19962 =  92.305
Robust  acc:   129 /   180 =  71.667
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.197 | Val Loss: 0.008 | Val Acc: 53.808
Training:
Accuracies by groups:
0, 0  acc:  8383 / 14334 =  58.483
0, 1  acc:  4518 /  6693 =  67.503
1, 0  acc: 132104 / 133102 =  99.250
1, 1  acc:  8319 /  8641 =  96.274
--------------------------------------
Average acc: 153324 / 162770 =  94.197
Robust  acc:  8383 / 14334 =  58.483
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3629 /  8535 =  42.519
0, 1  acc:  4010 /  8276 =  48.453
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10690 / 19867 =  53.808
Robust  acc:  3629 /  8535 =  42.519
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 53.948
Robust Acc: 46.131 | Best Acc: 99.798
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  4641 /  9767 =  47.517
0, 1  acc:  3476 /  7535 =  46.131
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 10769 / 19962 =  53.948
Robust  acc:  3476 /  7535 =  46.131
------------------------------------
Accuracies by groups:
0, 0  acc:  4641 /  9767 =  47.517
0, 1  acc:  3476 /  7535 =  46.131
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 10769 / 19962 =  53.948
Robust  acc:  3476 /  7535 =  46.131
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4641 /  9767 =  47.517
0, 1  acc:  3476 /  7535 =  46.131
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 10769 / 19962 =  53.948
Robust  acc:  3476 /  7535 =  46.131
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.182 | Val Loss: 0.006 | Val Acc: 65.309
Training:
Accuracies by groups:
0, 0  acc:  8493 / 14492 =  58.605
0, 1  acc:  4417 /  6561 =  67.322
1, 0  acc: 132198 / 133210 =  99.240
1, 1  acc:  8192 /  8507 =  96.297
--------------------------------------
Average acc: 153300 / 162770 =  94.182
Robust  acc:  8493 / 14492 =  58.605
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4450 /  8535 =  52.138
0, 1  acc:  5477 /  8276 =  66.179
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 12975 / 19867 =  65.309
Robust  acc:  4450 /  8535 =  52.138
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 66.672
Robust Acc: 57.920 | Best Acc: 99.556
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  5657 /  9767 =  57.920
0, 1  acc:  5008 /  7535 =  66.463
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13309 / 19962 =  66.672
Robust  acc:  5657 /  9767 =  57.920
------------------------------------
Accuracies by groups:
0, 0  acc:  5657 /  9767 =  57.920
0, 1  acc:  5008 /  7535 =  66.463
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13309 / 19962 =  66.672
Robust  acc:  5657 /  9767 =  57.920
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5657 /  9767 =  57.920
0, 1  acc:  5008 /  7535 =  66.463
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13309 / 19962 =  66.672
Robust  acc:  5657 /  9767 =  57.920
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.193 | Val Loss: 0.004 | Val Acc: 84.155
Training:
Accuracies by groups:
0, 0  acc:  8418 / 14476 =  58.151
0, 1  acc:  4413 /  6478 =  68.123
1, 0  acc: 132142 / 133140 =  99.250
1, 1  acc:  8345 /  8676 =  96.185
--------------------------------------
Average acc: 153318 / 162770 =  94.193
Robust  acc:  8418 / 14476 =  58.151
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6793 /  8535 =  79.590
0, 1  acc:  6956 /  8276 =  84.050
1, 0  acc:  2799 /  2874 =  97.390
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16719 / 19867 =  84.155
Robust  acc:  6793 /  8535 =  79.590
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.447
Robust Acc: 83.710 | Best Acc: 96.935
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  8176 /  9767 =  83.710
0, 1  acc:  6320 /  7535 =  83.875
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17057 / 19962 =  85.447
Robust  acc:  8176 /  9767 =  83.710
------------------------------------
Accuracies by groups:
0, 0  acc:  8176 /  9767 =  83.710
0, 1  acc:  6320 /  7535 =  83.875
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17057 / 19962 =  85.447
Robust  acc:  8176 /  9767 =  83.710
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8176 /  9767 =  83.710
0, 1  acc:  6320 /  7535 =  83.875
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17057 / 19962 =  85.447
Robust  acc:  8176 /  9767 =  83.710
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.176 | Val Loss: 0.005 | Val Acc: 76.202
Training:
Accuracies by groups:
0, 0  acc:  8388 / 14493 =  57.876
0, 1  acc:  4357 /  6443 =  67.624
1, 0  acc: 132314 / 133287 =  99.270
1, 1  acc:  8232 /  8547 =  96.314
--------------------------------------
Average acc: 153291 / 162770 =  94.176
Robust  acc:  8388 / 14493 =  57.876
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6020 /  8535 =  70.533
0, 1  acc:  6108 /  8276 =  73.804
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15139 / 19867 =  76.202
Robust  acc:  6020 /  8535 =  70.533
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 77.738
Robust Acc: 73.855 | Best Acc: 97.984
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  7349 /  9767 =  75.243
0, 1  acc:  5565 /  7535 =  73.855
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15518 / 19962 =  77.738
Robust  acc:  5565 /  7535 =  73.855
------------------------------------
Accuracies by groups:
0, 0  acc:  7349 /  9767 =  75.243
0, 1  acc:  5565 /  7535 =  73.855
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15518 / 19962 =  77.738
Robust  acc:  5565 /  7535 =  73.855
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7349 /  9767 =  75.243
0, 1  acc:  5565 /  7535 =  73.855
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15518 / 19962 =  77.738
Robust  acc:  5565 /  7535 =  73.855
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.195 | Val Loss: 0.005 | Val Acc: 76.675
Training:
Accuracies by groups:
0, 0  acc:  8429 / 14460 =  58.292
0, 1  acc:  4537 /  6610 =  68.638
1, 0  acc: 132119 / 133164 =  99.215
1, 1  acc:  8236 /  8536 =  96.485
--------------------------------------
Average acc: 153321 / 162770 =  94.195
Robust  acc:  8429 / 14460 =  58.292
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5834 /  8535 =  68.354
0, 1  acc:  6361 /  8276 =  76.861
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15233 / 19867 =  76.675
Robust  acc:  5834 /  8535 =  68.354
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.269
Robust Acc: 73.410 | Best Acc: 99.073
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  7170 /  9767 =  73.410
0, 1  acc:  5825 /  7535 =  77.306
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15624 / 19962 =  78.269
Robust  acc:  7170 /  9767 =  73.410
------------------------------------
Accuracies by groups:
0, 0  acc:  7170 /  9767 =  73.410
0, 1  acc:  5825 /  7535 =  77.306
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15624 / 19962 =  78.269
Robust  acc:  7170 /  9767 =  73.410
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7170 /  9767 =  73.410
0, 1  acc:  5825 /  7535 =  77.306
1, 0  acc:  2457 /  2480 =  99.073
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15624 / 19962 =  78.269
Robust  acc:  7170 /  9767 =  73.410
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.147 | Val Loss: 0.006 | Val Acc: 71.953
Training:
Accuracies by groups:
0, 0  acc:  8571 / 14493 =  59.139
0, 1  acc:  4489 /  6655 =  67.453
1, 0  acc: 131956 / 133037 =  99.187
1, 1  acc:  8227 /  8585 =  95.830
--------------------------------------
Average acc: 153243 / 162770 =  94.147
Robust  acc:  8571 / 14493 =  59.139
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5408 /  8535 =  63.363
0, 1  acc:  5852 /  8276 =  70.710
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14295 / 19867 =  71.953
Robust  acc:  5408 /  8535 =  63.363
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.500
Robust Acc: 68.711 | Best Acc: 99.315
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  6711 /  9767 =  68.711
0, 1  acc:  5323 /  7535 =  70.644
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14672 / 19962 =  73.500
Robust  acc:  6711 /  9767 =  68.711
------------------------------------
Accuracies by groups:
0, 0  acc:  6711 /  9767 =  68.711
0, 1  acc:  5323 /  7535 =  70.644
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14672 / 19962 =  73.500
Robust  acc:  6711 /  9767 =  68.711
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6711 /  9767 =  68.711
0, 1  acc:  5323 /  7535 =  70.644
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14672 / 19962 =  73.500
Robust  acc:  6711 /  9767 =  68.711
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.217 | Val Loss: 0.007 | Val Acc: 63.522
Training:
Accuracies by groups:
0, 0  acc:  8609 / 14570 =  59.087
0, 1  acc:  4550 /  6604 =  68.898
1, 0  acc: 132105 / 133170 =  99.200
1, 1  acc:  8093 /  8426 =  96.048
--------------------------------------
Average acc: 153357 / 162770 =  94.217
Robust  acc:  8609 / 14570 =  59.087
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4590 /  8535 =  53.779
0, 1  acc:  4984 /  8276 =  60.222
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 12620 / 19867 =  63.522
Robust  acc:  4590 /  8535 =  53.779
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.149
Robust Acc: 59.803 | Best Acc: 99.718
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  5841 /  9767 =  59.803
0, 1  acc:  4514 /  7535 =  59.907
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13005 / 19962 =  65.149
Robust  acc:  5841 /  9767 =  59.803
------------------------------------
Accuracies by groups:
0, 0  acc:  5841 /  9767 =  59.803
0, 1  acc:  4514 /  7535 =  59.907
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13005 / 19962 =  65.149
Robust  acc:  5841 /  9767 =  59.803
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5841 /  9767 =  59.803
0, 1  acc:  4514 /  7535 =  59.907
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13005 / 19962 =  65.149
Robust  acc:  5841 /  9767 =  59.803
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.206 | Val Loss: 0.005 | Val Acc: 77.400
Training:
Accuracies by groups:
0, 0  acc:  8559 / 14520 =  58.946
0, 1  acc:  4585 /  6693 =  68.504
1, 0  acc: 131863 / 132864 =  99.247
1, 1  acc:  8332 /  8693 =  95.847
--------------------------------------
Average acc: 153339 / 162770 =  94.206
Robust  acc:  8559 / 14520 =  58.946
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5970 /  8535 =  69.947
0, 1  acc:  6371 /  8276 =  76.982
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15377 / 19867 =  77.400
Robust  acc:  5970 /  8535 =  69.947
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.070
Robust Acc: 75.745 | Best Acc: 98.790
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  7398 /  9767 =  75.745
0, 1  acc:  5761 /  7535 =  76.457
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15784 / 19962 =  79.070
Robust  acc:  7398 /  9767 =  75.745
------------------------------------
Accuracies by groups:
0, 0  acc:  7398 /  9767 =  75.745
0, 1  acc:  5761 /  7535 =  76.457
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15784 / 19962 =  79.070
Robust  acc:  7398 /  9767 =  75.745
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7398 /  9767 =  75.745
0, 1  acc:  5761 /  7535 =  76.457
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15784 / 19962 =  79.070
Robust  acc:  7398 /  9767 =  75.745
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.200 | Val Loss: 0.003 | Val Acc: 91.529
Training:
Accuracies by groups:
0, 0  acc:  8521 / 14405 =  59.153
0, 1  acc:  4530 /  6594 =  68.699
1, 0  acc: 132012 / 133134 =  99.157
1, 1  acc:  8266 /  8637 =  95.705
--------------------------------------
Average acc: 153329 / 162770 =  94.200
Robust  acc:  8521 / 14405 =  59.153
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7426 /  8535 =  87.006
0, 1  acc:  7906 /  8276 =  95.529
1, 0  acc:  2712 /  2874 =  94.363
1, 1  acc:   140 /   182 =  76.923
------------------------------------
Average acc: 18184 / 19867 =  91.529
Robust  acc:   140 /   182 =  76.923
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.551
Robust Acc: 73.333 | Best Acc: 95.382
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  8836 /  9767 =  90.468
0, 1  acc:  7187 /  7535 =  95.382
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18475 / 19962 =  92.551
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8836 /  9767 =  90.468
0, 1  acc:  7187 /  7535 =  95.382
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18475 / 19962 =  92.551
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8836 /  9767 =  90.468
0, 1  acc:  7187 /  7535 =  95.382
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18475 / 19962 =  92.551
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.247 | Val Loss: 0.003 | Val Acc: 91.337
Training:
Accuracies by groups:
0, 0  acc:  8533 / 14524 =  58.751
0, 1  acc:  4581 /  6539 =  70.057
1, 0  acc: 131921 / 133011 =  99.181
1, 1  acc:  8371 /  8696 =  96.263
--------------------------------------
Average acc: 153406 / 162770 =  94.247
Robust  acc:  8533 / 14524 =  58.751
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7611 /  8535 =  89.174
0, 1  acc:  7730 /  8276 =  93.403
1, 0  acc:  2656 /  2874 =  92.415
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18146 / 19867 =  91.337
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.365
Robust Acc: 78.333 | Best Acc: 93.444
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  8993 /  9767 =  92.075
0, 1  acc:  7041 /  7535 =  93.444
1, 0  acc:  2263 /  2480 =  91.250
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18438 / 19962 =  92.365
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8993 /  9767 =  92.075
0, 1  acc:  7041 /  7535 =  93.444
1, 0  acc:  2263 /  2480 =  91.250
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18438 / 19962 =  92.365
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8993 /  9767 =  92.075
0, 1  acc:  7041 /  7535 =  93.444
1, 0  acc:  2263 /  2480 =  91.250
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18438 / 19962 =  92.365
Robust  acc:   141 /   180 =  78.333
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed9.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed9.pt
