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/seed45/stage_one_erm_model_b_epoch0_seed45.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: 45
Replicate: 0
No cuda: False
Resume: False
New slice: False
Num workers: 12
Evaluate: False
Data cmap: hsv
Test cmap: 
P correlation: 0.9
P corr by class: None
Train classes: ['blond', 'nonblond']
Train class ratios: None
Test shift: random
Flipped: False
Q: 0.7
Pretrained bmodel: True
Cosine: False
Exp: ours
Tau: 1.1
Gamma: None
Remove label noise: False
Model for remove samples: 
Remove ratio: 0.03
Supervised contrast: True
Prioritize spurious pos: False
Contrastive type: cnc
Compute auroc: False
Model type: resnet50_pt_cnc
Criterion: cross_entropy
Pretrained: False
Max grad norm: 1.0
Adam epsilon: 1e-08
Warmup steps: 0
Max grad norm s: 1.0
Adam epsilon s: 1e-08
Warmup steps s: 0
Grad max grad norm: 1.0
Grad adam epsilon: 1e-08
Grad warmup steps: 0
Device: cuda
Img file type: .png
Display image: False
Image path: ./images/celebA/celebA/config/contrastive_umaps
Log interval: 1
Log path: ./logs/celebA/config
Results path: ./results/celebA/config
Model path: ./model/celebA/config
Loss factor: 1
Supersample labels: False
Subsample labels: False
Weigh slice samples by loss: True
Val split: 0.2
Spurious train split: 0.2
Subsample groups: False
Train method: sc
Max robust acc: -1
Max robust epoch: -1
Max robust group acc: (None, None)
Root dir: ./datasets/data/CelebA/
Target name: Blond_Hair
Confounder names: ['Male']
Image mean: 0.449
Image std: 0.226
Augment data: False
Task: celebA
Num classes: 2
Experiment configs: config
Experiment name: cnc-celebA-sw=re-na=32-np=32-nn=32-nne=0-tsr=1-t=0.05-bf=None-cw=0.5-sud=0-me=50-bst=128-o=sgd-lr=0.0001-mo=0.9-wd=0.1-wdc=0.1-spur-me=1-bst=32-lr=0.001-mo=0.9-wd=0.0005-sts=0.2-s=45-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/seed45/stage_one_erm_model_b_epoch0_seed45.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8181, 0.0328],
        [0.1246, 0.0245]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 88.540 | Val Loss: 0.003 | Val Acc: 84.799
Training:
Accuracies by groups:
0, 0  acc: 12387 / 22968 =  53.932
0, 1  acc:  6848 / 10807 =  63.366
1, 0  acc: 117470 / 120724 =  97.305
1, 1  acc:  7412 /  8271 =  89.614
--------------------------------------
Average acc: 144117 / 162770 =  88.540
Robust  acc: 12387 / 22968 =  53.932
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6642 /  8535 =  77.821
0, 1  acc:  7208 /  8276 =  87.095
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 16847 / 19867 =  84.799
Robust  acc:  6642 /  8535 =  77.821
------------------------------------
New max robust acc: 77.8207381370826
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed45.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed45.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 86.384
Robust Acc: 82.728 | Best Acc: 98.185
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  8080 /  9767 =  82.728
0, 1  acc:  6563 /  7535 =  87.100
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17244 / 19962 =  86.384
Robust  acc:  8080 /  9767 =  82.728
------------------------------------
Accuracies by groups:
0, 0  acc:  8080 /  9767 =  82.728
0, 1  acc:  6563 /  7535 =  87.100
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17244 / 19962 =  86.384
Robust  acc:  8080 /  9767 =  82.728
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8080 /  9767 =  82.728
0, 1  acc:  6563 /  7535 =  87.100
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 17244 / 19962 =  86.384
Robust  acc:  8080 /  9767 =  82.728
------------------------------------
Epoch:   2 | Train Loss: 0.002 | Train Acc: 92.623 | Val Loss: 0.002 | Val Acc: 88.715
Training:
Accuracies by groups:
0, 0  acc: 15934 / 22919 =  69.523
0, 1  acc:  8858 / 10818 =  81.882
1, 0  acc: 118498 / 120714 =  98.164
1, 1  acc:  7473 /  8319 =  89.831
--------------------------------------
Average acc: 150763 / 162770 =  92.623
Robust  acc: 15934 / 22919 =  69.523
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6991 /  8535 =  81.910
0, 1  acc:  7652 /  8276 =  92.460
1, 0  acc:  2820 /  2874 =  98.121
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17625 / 19867 =  88.715
Robust  acc:  6991 /  8535 =  81.910
------------------------------------
New max robust acc: 81.90978324545986
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed45.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed45.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.705
Robust Acc: 85.000 | Best Acc: 97.581
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8373 /  9767 =  85.727
0, 1  acc:  6961 /  7535 =  92.382
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17907 / 19962 =  89.705
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8373 /  9767 =  85.727
0, 1  acc:  6961 /  7535 =  92.382
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17907 / 19962 =  89.705
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8373 /  9767 =  85.727
0, 1  acc:  6961 /  7535 =  92.382
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17907 / 19962 =  89.705
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 93.706 | Val Loss: 0.002 | Val Acc: 89.515
Training:
Accuracies by groups:
0, 0  acc: 16969 / 23165 =  73.253
0, 1  acc:  9285 / 10682 =  86.922
1, 0  acc: 118809 / 120745 =  98.397
1, 1  acc:  7462 /  8178 =  91.245
--------------------------------------
Average acc: 152525 / 162770 =  93.706
Robust  acc: 16969 / 23165 =  73.253
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7087 /  8535 =  83.035
0, 1  acc:  7720 /  8276 =  93.282
1, 0  acc:  2812 /  2874 =  97.843
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17784 / 19867 =  89.515
Robust  acc:  7087 /  8535 =  83.035
------------------------------------
New max robust acc: 83.03456356180433
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed45.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed45.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.226
Robust Acc: 84.444 | Best Acc: 97.339
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8435 /  9767 =  86.362
0, 1  acc:  7010 /  7535 =  93.033
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18011 / 19962 =  90.226
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8435 /  9767 =  86.362
0, 1  acc:  7010 /  7535 =  93.033
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18011 / 19962 =  90.226
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8435 /  9767 =  86.362
0, 1  acc:  7010 /  7535 =  93.033
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18011 / 19962 =  90.226
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 94.574 | Val Loss: 0.002 | Val Acc: 90.618
Training:
Accuracies by groups:
0, 0  acc: 17816 / 23396 =  76.150
0, 1  acc:  9529 / 10723 =  88.865
1, 0  acc: 118804 / 120303 =  98.754
1, 1  acc:  7789 /  8348 =  93.304
--------------------------------------
Average acc: 153938 / 162770 =  94.574
Robust  acc: 17816 / 23396 =  76.150
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7240 /  8535 =  84.827
0, 1  acc:  7808 /  8276 =  94.345
1, 0  acc:  2799 /  2874 =  97.390
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 18003 / 19867 =  90.618
Robust  acc:  7240 /  8535 =  84.827
------------------------------------
New max robust acc: 84.82718219097832
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed45.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed45.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.053
Robust Acc: 79.444 | Best Acc: 96.492
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8563 /  9767 =  87.673
0, 1  acc:  7077 /  7535 =  93.922
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18176 / 19962 =  91.053
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8563 /  9767 =  87.673
0, 1  acc:  7077 /  7535 =  93.922
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18176 / 19962 =  91.053
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8563 /  9767 =  87.673
0, 1  acc:  7077 /  7535 =  93.922
1, 0  acc:  2393 /  2480 =  96.492
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18176 / 19962 =  91.053
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 95.592 | Val Loss: 0.002 | Val Acc: 90.935
Training:
Accuracies by groups:
0, 0  acc: 18156 / 23062 =  78.727
0, 1  acc:  9580 / 10577 =  90.574
1, 0  acc: 119947 / 120915 =  99.199
1, 1  acc:  7912 /  8216 =  96.300
--------------------------------------
Average acc: 155595 / 162770 =  95.592
Robust  acc: 18156 / 23062 =  78.727
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7312 /  8535 =  85.671
0, 1  acc:  7813 /  8276 =  94.406
1, 0  acc:  2783 /  2874 =  96.834
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 18066 / 19867 =  90.935
Robust  acc:  7312 /  8535 =  85.671
------------------------------------
New max robust acc: 85.67076742823667
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed45.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed45.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.339
Robust Acc: 80.000 | Best Acc: 96.210
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8616 /  9767 =  88.215
0, 1  acc:  7087 /  7535 =  94.054
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18233 / 19962 =  91.339
Robust  acc:   144 /   180 =  80.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8616 /  9767 =  88.215
0, 1  acc:  7087 /  7535 =  94.054
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18233 / 19962 =  91.339
Robust  acc:   144 /   180 =  80.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8616 /  9767 =  88.215
0, 1  acc:  7087 /  7535 =  94.054
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18233 / 19962 =  91.339
Robust  acc:   144 /   180 =  80.000
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.722 | Val Loss: 0.001 | Val Acc: 93.154
Training:
Accuracies by groups:
0, 0  acc: 19276 / 23295 =  82.747
0, 1  acc:  9970 / 10708 =  93.108
1, 0  acc: 119993 / 120446 =  99.624
1, 1  acc:  8196 /  8321 =  98.498
--------------------------------------
Average acc: 157435 / 162770 =  96.722
Robust  acc: 19276 / 23295 =  82.747
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7635 /  8535 =  89.455
0, 1  acc:  8019 /  8276 =  96.895
1, 0  acc:  2712 /  2874 =  94.363
1, 1  acc:   141 /   182 =  77.473
------------------------------------
Average acc: 18507 / 19867 =  93.154
Robust  acc:   141 /   182 =  77.473
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.357
Robust Acc: 72.778 | Best Acc: 96.496
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8915 /  9767 =  91.277
0, 1  acc:  7271 /  7535 =  96.496
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18636 / 19962 =  93.357
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8915 /  9767 =  91.277
0, 1  acc:  7271 /  7535 =  96.496
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18636 / 19962 =  93.357
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8915 /  9767 =  91.277
0, 1  acc:  7271 /  7535 =  96.496
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18636 / 19962 =  93.357
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.716 | Val Loss: 0.001 | Val Acc: 93.748
Training:
Accuracies by groups:
0, 0  acc: 20235 / 23237 =  87.081
0, 1  acc: 10085 / 10597 =  95.168
1, 0  acc: 120545 / 120714 =  99.860
1, 1  acc:  8187 /  8222 =  99.574
--------------------------------------
Average acc: 159052 / 162770 =  97.716
Robust  acc: 20235 / 23237 =  87.081
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7754 /  8535 =  90.849
0, 1  acc:  8079 /  8276 =  97.620
1, 0  acc:  2663 /  2874 =  92.658
1, 1  acc:   129 /   182 =  70.879
------------------------------------
Average acc: 18625 / 19867 =  93.748
Robust  acc:   129 /   182 =  70.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.903
Robust Acc: 65.556 | Best Acc: 97.266
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  9021 /  9767 =  92.362
0, 1  acc:  7329 /  7535 =  97.266
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18745 / 19962 =  93.903
Robust  acc:   118 /   180 =  65.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9021 /  9767 =  92.362
0, 1  acc:  7329 /  7535 =  97.266
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18745 / 19962 =  93.903
Robust  acc:   118 /   180 =  65.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9021 /  9767 =  92.362
0, 1  acc:  7329 /  7535 =  97.266
1, 0  acc:  2277 /  2480 =  91.815
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18745 / 19962 =  93.903
Robust  acc:   118 /   180 =  65.556
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 98.464 | Val Loss: 0.001 | Val Acc: 94.000
Training:
Accuracies by groups:
0, 0  acc: 21049 / 23079 =  91.204
0, 1  acc: 10341 / 10715 =  96.510
1, 0  acc: 120674 / 120746 =  99.940
1, 1  acc:  8206 /  8230 =  99.708
--------------------------------------
Average acc: 160270 / 162770 =  98.464
Robust  acc: 21049 / 23079 =  91.204
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7803 /  8535 =  91.424
0, 1  acc:  8112 /  8276 =  98.018
1, 0  acc:  2640 /  2874 =  91.858
1, 1  acc:   120 /   182 =  65.934
------------------------------------
Average acc: 18675 / 19867 =  94.000
Robust  acc:   120 /   182 =  65.934
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.209
Robust Acc: 62.778 | Best Acc: 97.784
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  9070 /  9767 =  92.864
0, 1  acc:  7368 /  7535 =  97.784
1, 0  acc:  2255 /  2480 =  90.927
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18806 / 19962 =  94.209
Robust  acc:   113 /   180 =  62.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9070 /  9767 =  92.864
0, 1  acc:  7368 /  7535 =  97.784
1, 0  acc:  2255 /  2480 =  90.927
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18806 / 19962 =  94.209
Robust  acc:   113 /   180 =  62.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9070 /  9767 =  92.864
0, 1  acc:  7368 /  7535 =  97.784
1, 0  acc:  2255 /  2480 =  90.927
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18806 / 19962 =  94.209
Robust  acc:   113 /   180 =  62.778
------------------------------------
Epoch:   9 | Train Loss: 0.000 | Train Acc: 98.873 | Val Loss: 0.001 | Val Acc: 94.342
Training:
Accuracies by groups:
0, 0  acc: 21909 / 23401 =  93.624
0, 1  acc: 10246 / 10500 =  97.581
1, 0  acc: 120391 / 120461 =  99.942
1, 1  acc:  8389 /  8408 =  99.774
--------------------------------------
Average acc: 160935 / 162770 =  98.873
Robust  acc: 21909 / 23401 =  93.624
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7888 /  8535 =  92.419
0, 1  acc:  8161 /  8276 =  98.610
1, 0  acc:  2589 /  2874 =  90.084
1, 1  acc:   105 /   182 =  57.692
------------------------------------
Average acc: 18743 / 19867 =  94.342
Robust  acc:   105 /   182 =  57.692
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.444
Robust Acc: 56.667 | Best Acc: 98.328
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  9152 /  9767 =  93.703
0, 1  acc:  7409 /  7535 =  98.328
1, 0  acc:  2190 /  2480 =  88.306
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18853 / 19962 =  94.444
Robust  acc:   102 /   180 =  56.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9152 /  9767 =  93.703
0, 1  acc:  7409 /  7535 =  98.328
1, 0  acc:  2190 /  2480 =  88.306
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18853 / 19962 =  94.444
Robust  acc:   102 /   180 =  56.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9152 /  9767 =  93.703
0, 1  acc:  7409 /  7535 =  98.328
1, 0  acc:  2190 /  2480 =  88.306
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18853 / 19962 =  94.444
Robust  acc:   102 /   180 =  56.667
------------------------------------
Epoch:  10 | Train Loss: 0.000 | Train Acc: 99.055 | Val Loss: 0.001 | Val Acc: 94.589
Training:
Accuracies by groups:
0, 0  acc: 22187 / 23421 =  94.731
0, 1  acc: 10472 / 10668 =  98.163
1, 0  acc: 120391 / 120476 =  99.929
1, 1  acc:  8182 /  8205 =  99.720
--------------------------------------
Average acc: 161232 / 162770 =  99.055
Robust  acc: 22187 / 23421 =  94.731
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7983 /  8535 =  93.533
0, 1  acc:  8164 /  8276 =  98.647
1, 0  acc:  2541 /  2874 =  88.413
1, 1  acc:   104 /   182 =  57.143
------------------------------------
Average acc: 18792 / 19867 =  94.589
Robust  acc:   104 /   182 =  57.143
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.339
Robust Acc: 60.000 | Best Acc: 98.049
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9200 /  9767 =  94.195
0, 1  acc:  7388 /  7535 =  98.049
1, 0  acc:  2136 /  2480 =  86.129
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18832 / 19962 =  94.339
Robust  acc:   108 /   180 =  60.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9200 /  9767 =  94.195
0, 1  acc:  7388 /  7535 =  98.049
1, 0  acc:  2136 /  2480 =  86.129
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18832 / 19962 =  94.339
Robust  acc:   108 /   180 =  60.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9200 /  9767 =  94.195
0, 1  acc:  7388 /  7535 =  98.049
1, 0  acc:  2136 /  2480 =  86.129
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18832 / 19962 =  94.339
Robust  acc:   108 /   180 =  60.000
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.958 | Val Loss: 0.001 | Val Acc: 93.849
Training:
Accuracies by groups:
0, 0  acc: 21907 / 23140 =  94.672
0, 1  acc: 10477 / 10697 =  97.943
1, 0  acc: 120517 / 120710 =  99.840
1, 1  acc:  8173 /  8223 =  99.392
--------------------------------------
Average acc: 161074 / 162770 =  98.958
Robust  acc: 21907 / 23140 =  94.672
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7793 /  8535 =  91.306
0, 1  acc:  8118 /  8276 =  98.091
1, 0  acc:  2614 /  2874 =  90.953
1, 1  acc:   120 /   182 =  65.934
------------------------------------
Average acc: 18645 / 19867 =  93.849
Robust  acc:   120 /   182 =  65.934
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.994
Robust Acc: 60.000 | Best Acc: 97.624
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  9059 /  9767 =  92.751
0, 1  acc:  7356 /  7535 =  97.624
1, 0  acc:  2240 /  2480 =  90.323
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18763 / 19962 =  93.994
Robust  acc:   108 /   180 =  60.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9059 /  9767 =  92.751
0, 1  acc:  7356 /  7535 =  97.624
1, 0  acc:  2240 /  2480 =  90.323
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18763 / 19962 =  93.994
Robust  acc:   108 /   180 =  60.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9059 /  9767 =  92.751
0, 1  acc:  7356 /  7535 =  97.624
1, 0  acc:  2240 /  2480 =  90.323
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18763 / 19962 =  93.994
Robust  acc:   108 /   180 =  60.000
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.691 | Val Loss: 0.001 | Val Acc: 93.623
Training:
Accuracies by groups:
0, 0  acc: 21898 / 23370 =  93.701
0, 1  acc: 10526 / 10776 =  97.680
1, 0  acc: 120121 / 120452 =  99.725
1, 1  acc:  8094 /  8172 =  99.046
--------------------------------------
Average acc: 160639 / 162770 =  98.691
Robust  acc: 21898 / 23370 =  93.701
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7729 /  8535 =  90.557
0, 1  acc:  8084 /  8276 =  97.680
1, 0  acc:  2655 /  2874 =  92.380
1, 1  acc:   132 /   182 =  72.527
------------------------------------
Average acc: 18600 / 19867 =  93.623
Robust  acc:   132 /   182 =  72.527
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.698
Robust Acc: 64.444 | Best Acc: 97.133
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  9008 /  9767 =  92.229
0, 1  acc:  7319 /  7535 =  97.133
1, 0  acc:  2261 /  2480 =  91.169
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18704 / 19962 =  93.698
Robust  acc:   116 /   180 =  64.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9008 /  9767 =  92.229
0, 1  acc:  7319 /  7535 =  97.133
1, 0  acc:  2261 /  2480 =  91.169
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18704 / 19962 =  93.698
Robust  acc:   116 /   180 =  64.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9008 /  9767 =  92.229
0, 1  acc:  7319 /  7535 =  97.133
1, 0  acc:  2261 /  2480 =  91.169
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18704 / 19962 =  93.698
Robust  acc:   116 /   180 =  64.444
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 98.025 | Val Loss: 0.002 | Val Acc: 91.705
Training:
Accuracies by groups:
0, 0  acc: 21208 / 23285 =  91.080
0, 1  acc: 10248 / 10618 =  96.515
1, 0  acc: 120135 / 120730 =  99.507
1, 1  acc:  7964 /  8137 =  97.874
--------------------------------------
Average acc: 159555 / 162770 =  98.025
Robust  acc: 21208 / 23285 =  91.080
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7323 /  8535 =  85.800
0, 1  acc:  8013 /  8276 =  96.822
1, 0  acc:  2749 /  2874 =  95.651
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18219 / 19867 =  91.705
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.180
Robust Acc: 71.111 | Best Acc: 96.364
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8672 /  9767 =  88.789
0, 1  acc:  7261 /  7535 =  96.364
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18401 / 19962 =  92.180
Robust  acc:   128 /   180 =  71.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8672 /  9767 =  88.789
0, 1  acc:  7261 /  7535 =  96.364
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18401 / 19962 =  92.180
Robust  acc:   128 /   180 =  71.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8672 /  9767 =  88.789
0, 1  acc:  7261 /  7535 =  96.364
1, 0  acc:  2340 /  2480 =  94.355
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18401 / 19962 =  92.180
Robust  acc:   128 /   180 =  71.111
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.487 | Val Loss: 0.002 | Val Acc: 92.198
Training:
Accuracies by groups:
0, 0  acc: 20727 / 23319 =  88.885
0, 1  acc: 10176 / 10650 =  95.549
1, 0  acc: 119777 / 120587 =  99.328
1, 1  acc:  7999 /  8214 =  97.383
--------------------------------------
Average acc: 158679 / 162770 =  97.487
Robust  acc: 20727 / 23319 =  88.885
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7480 /  8535 =  87.639
0, 1  acc:  7961 /  8276 =  96.194
1, 0  acc:  2737 /  2874 =  95.233
1, 1  acc:   139 /   182 =  76.374
------------------------------------
Average acc: 18317 / 19867 =  92.198
Robust  acc:   139 /   182 =  76.374
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.511
Robust Acc: 78.333 | Best Acc: 95.169
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8797 /  9767 =  90.069
0, 1  acc:  7171 /  7535 =  95.169
1, 0  acc:  2358 /  2480 =  95.081
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18467 / 19962 =  92.511
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8797 /  9767 =  90.069
0, 1  acc:  7171 /  7535 =  95.169
1, 0  acc:  2358 /  2480 =  95.081
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18467 / 19962 =  92.511
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8797 /  9767 =  90.069
0, 1  acc:  7171 /  7535 =  95.169
1, 0  acc:  2358 /  2480 =  95.081
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18467 / 19962 =  92.511
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.761 | Val Loss: 0.001 | Val Acc: 94.398
Training:
Accuracies by groups:
0, 0  acc: 19999 / 23289 =  85.873
0, 1  acc: 10104 / 10683 =  94.580
1, 0  acc: 119337 / 120459 =  99.069
1, 1  acc:  8058 /  8339 =  96.630
--------------------------------------
Average acc: 157498 / 162770 =  96.761
Robust  acc: 19999 / 23289 =  85.873
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7910 /  8535 =  92.677
0, 1  acc:  8120 /  8276 =  98.115
1, 0  acc:  2608 /  2874 =  90.745
1, 1  acc:   116 /   182 =  63.736
------------------------------------
Average acc: 18754 / 19867 =  94.398
Robust  acc:   116 /   182 =  63.736
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.765
Robust Acc: 60.556 | Best Acc: 97.916
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  9198 /  9767 =  94.174
0, 1  acc:  7378 /  7535 =  97.916
1, 0  acc:  2232 /  2480 =  90.000
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18917 / 19962 =  94.765
Robust  acc:   109 /   180 =  60.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9198 /  9767 =  94.174
0, 1  acc:  7378 /  7535 =  97.916
1, 0  acc:  2232 /  2480 =  90.000
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18917 / 19962 =  94.765
Robust  acc:   109 /   180 =  60.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9198 /  9767 =  94.174
0, 1  acc:  7378 /  7535 =  97.916
1, 0  acc:  2232 /  2480 =  90.000
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18917 / 19962 =  94.765
Robust  acc:   109 /   180 =  60.556
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.141 | Val Loss: 0.002 | Val Acc: 92.279
Training:
Accuracies by groups:
0, 0  acc: 19589 / 23487 =  83.404
0, 1  acc:  9791 / 10500 =  93.248
1, 0  acc: 119212 / 120545 =  98.894
1, 1  acc:  7897 /  8238 =  95.861
--------------------------------------
Average acc: 156489 / 162770 =  96.141
Robust  acc: 19589 / 23487 =  83.404
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7447 /  8535 =  87.252
0, 1  acc:  7972 /  8276 =  96.327
1, 0  acc:  2767 /  2874 =  96.277
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18333 / 19867 =  92.279
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.561
Robust Acc: 77.222 | Best Acc: 95.887
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8759 /  9767 =  89.680
0, 1  acc:  7201 /  7535 =  95.567
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18477 / 19962 =  92.561
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8759 /  9767 =  89.680
0, 1  acc:  7201 /  7535 =  95.567
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18477 / 19962 =  92.561
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8759 /  9767 =  89.680
0, 1  acc:  7201 /  7535 =  95.567
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18477 / 19962 =  92.561
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.489 | Val Loss: 0.002 | Val Acc: 93.673
Training:
Accuracies by groups:
0, 0  acc: 18795 / 23236 =  80.887
0, 1  acc:  9844 / 10691 =  92.077
1, 0  acc: 118995 / 120604 =  98.666
1, 1  acc:  7793 /  8239 =  94.587
--------------------------------------
Average acc: 155427 / 162770 =  95.489
Robust  acc: 18795 / 23236 =  80.887
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7729 /  8535 =  90.557
0, 1  acc:  8065 /  8276 =  97.450
1, 0  acc:  2682 /  2874 =  93.319
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18610 / 19867 =  93.673
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.818
Robust Acc: 68.333 | Best Acc: 96.908
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  9030 /  9767 =  92.454
0, 1  acc:  7302 /  7535 =  96.908
1, 0  acc:  2273 /  2480 =  91.653
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18728 / 19962 =  93.818
Robust  acc:   123 /   180 =  68.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9030 /  9767 =  92.454
0, 1  acc:  7302 /  7535 =  96.908
1, 0  acc:  2273 /  2480 =  91.653
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18728 / 19962 =  93.818
Robust  acc:   123 /   180 =  68.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9030 /  9767 =  92.454
0, 1  acc:  7302 /  7535 =  96.908
1, 0  acc:  2273 /  2480 =  91.653
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18728 / 19962 =  93.818
Robust  acc:   123 /   180 =  68.333
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 94.805 | Val Loss: 0.002 | Val Acc: 92.394
Training:
Accuracies by groups:
0, 0  acc: 18432 / 23426 =  78.682
0, 1  acc:  9660 / 10707 =  90.221
1, 0  acc: 118500 / 120363 =  98.452
1, 1  acc:  7722 /  8274 =  93.328
--------------------------------------
Average acc: 154314 / 162770 =  94.805
Robust  acc: 18432 / 23426 =  78.682
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7557 /  8535 =  88.541
0, 1  acc:  7872 /  8276 =  95.118
1, 0  acc:  2766 /  2874 =  96.242
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 18356 / 19867 =  92.394
Robust  acc:   161 /   182 =  88.462
------------------------------------
New max robust acc: 88.46153846153845
debias model - Saving best checkpoint at epoch 17
replace: True
-> Updating checkpoint debias-wga-best_seed45.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed45.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.796
Robust Acc: 81.111 | Best Acc: 95.302
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8839 /  9767 =  90.499
0, 1  acc:  7181 /  7535 =  95.302
1, 0  acc:  2358 /  2480 =  95.081
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18524 / 19962 =  92.796
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8839 /  9767 =  90.499
0, 1  acc:  7181 /  7535 =  95.302
1, 0  acc:  2358 /  2480 =  95.081
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18524 / 19962 =  92.796
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8839 /  9767 =  90.499
0, 1  acc:  7181 /  7535 =  95.302
1, 0  acc:  2358 /  2480 =  95.081
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18524 / 19962 =  92.796
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:  19 | Train Loss: 0.002 | Train Acc: 94.258 | Val Loss: 0.001 | Val Acc: 94.936
Training:
Accuracies by groups:
0, 0  acc: 17815 / 23277 =  76.535
0, 1  acc:  9376 / 10555 =  88.830
1, 0  acc: 118570 / 120674 =  98.256
1, 1  acc:  7662 /  8264 =  92.715
--------------------------------------
Average acc: 153423 / 162770 =  94.258
Robust  acc: 17815 / 23277 =  76.535
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8232 /  8535 =  96.450
0, 1  acc:  8216 /  8276 =  99.275
1, 0  acc:  2332 /  2874 =  81.141
1, 1  acc:    81 /   182 =  44.505
------------------------------------
Average acc: 18861 / 19867 =  94.936
Robust  acc:    81 /   182 =  44.505
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 95.436
Robust Acc: 43.333 | Best Acc: 99.151
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  9507 /  9767 =  97.338
0, 1  acc:  7471 /  7535 =  99.151
1, 0  acc:  1995 /  2480 =  80.444
1, 1  acc:    78 /   180 =  43.333
------------------------------------
Average acc: 19051 / 19962 =  95.436
Robust  acc:    78 /   180 =  43.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9507 /  9767 =  97.338
0, 1  acc:  7471 /  7535 =  99.151
1, 0  acc:  1995 /  2480 =  80.444
1, 1  acc:    78 /   180 =  43.333
------------------------------------
Average acc: 19051 / 19962 =  95.436
Robust  acc:    78 /   180 =  43.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9507 /  9767 =  97.338
0, 1  acc:  7471 /  7535 =  99.151
1, 0  acc:  1995 /  2480 =  80.444
1, 1  acc:    78 /   180 =  43.333
------------------------------------
Average acc: 19051 / 19962 =  95.436
Robust  acc:    78 /   180 =  43.333
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 93.655 | Val Loss: 0.004 | Val Acc: 79.171
Training:
Accuracies by groups:
0, 0  acc: 17237 / 23138 =  74.496
0, 1  acc:  9355 / 10699 =  87.438
1, 0  acc: 118421 / 120817 =  98.017
1, 1  acc:  7429 /  8116 =  91.535
--------------------------------------
Average acc: 152442 / 162770 =  93.655
Robust  acc: 17237 / 23138 =  74.496
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6052 /  8535 =  70.908
0, 1  acc:  6650 /  8276 =  80.353
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15729 / 19867 =  79.171
Robust  acc:  6052 /  8535 =  70.908
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.638
Robust Acc: 75.980 | Best Acc: 99.113
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  7421 /  9767 =  75.980
0, 1  acc:  6051 /  7535 =  80.305
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16097 / 19962 =  80.638
Robust  acc:  7421 /  9767 =  75.980
------------------------------------
Accuracies by groups:
0, 0  acc:  7421 /  9767 =  75.980
0, 1  acc:  6051 /  7535 =  80.305
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16097 / 19962 =  80.638
Robust  acc:  7421 /  9767 =  75.980
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7421 /  9767 =  75.980
0, 1  acc:  6051 /  7535 =  80.305
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16097 / 19962 =  80.638
Robust  acc:  7421 /  9767 =  75.980
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 93.382 | Val Loss: 0.004 | Val Acc: 77.556
Training:
Accuracies by groups:
0, 0  acc: 16978 / 23290 =  72.898
0, 1  acc:  9145 / 10609 =  86.200
1, 0  acc: 118241 / 120519 =  98.110
1, 1  acc:  7634 /  8352 =  91.403
--------------------------------------
Average acc: 151998 / 162770 =  93.382
Robust  acc: 16978 / 23290 =  72.898
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5980 /  8535 =  70.064
0, 1  acc:  6400 /  8276 =  77.332
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15408 / 19867 =  77.556
Robust  acc:  5980 /  8535 =  70.064
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.145
Robust Acc: 75.550 | Best Acc: 98.871
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  7379 /  9767 =  75.550
0, 1  acc:  5795 /  7535 =  76.908
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15799 / 19962 =  79.145
Robust  acc:  7379 /  9767 =  75.550
------------------------------------
Accuracies by groups:
0, 0  acc:  7379 /  9767 =  75.550
0, 1  acc:  5795 /  7535 =  76.908
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15799 / 19962 =  79.145
Robust  acc:  7379 /  9767 =  75.550
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7379 /  9767 =  75.550
0, 1  acc:  5795 /  7535 =  76.908
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 15799 / 19962 =  79.145
Robust  acc:  7379 /  9767 =  75.550
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 93.096 | Val Loss: 0.002 | Val Acc: 94.503
Training:
Accuracies by groups:
0, 0  acc: 16595 / 23260 =  71.346
0, 1  acc:  9100 / 10721 =  84.880
1, 0  acc: 118278 / 120562 =  98.106
1, 1  acc:  7560 /  8227 =  91.893
--------------------------------------
Average acc: 151533 / 162770 =  93.096
Robust  acc: 16595 / 23260 =  71.346
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8193 /  8535 =  95.993
0, 1  acc:  8172 /  8276 =  98.743
1, 0  acc:  2315 /  2874 =  80.550
1, 1  acc:    95 /   182 =  52.198
------------------------------------
Average acc: 18775 / 19867 =  94.503
Robust  acc:    95 /   182 =  52.198
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 95.086
Robust Acc: 47.222 | Best Acc: 98.607
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  9468 /  9767 =  96.939
0, 1  acc:  7430 /  7535 =  98.607
1, 0  acc:  1998 /  2480 =  80.565
1, 1  acc:    85 /   180 =  47.222
------------------------------------
Average acc: 18981 / 19962 =  95.086
Robust  acc:    85 /   180 =  47.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9468 /  9767 =  96.939
0, 1  acc:  7430 /  7535 =  98.607
1, 0  acc:  1998 /  2480 =  80.565
1, 1  acc:    85 /   180 =  47.222
------------------------------------
Average acc: 18981 / 19962 =  95.086
Robust  acc:    85 /   180 =  47.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9468 /  9767 =  96.939
0, 1  acc:  7430 /  7535 =  98.607
1, 0  acc:  1998 /  2480 =  80.565
1, 1  acc:    85 /   180 =  47.222
------------------------------------
Average acc: 18981 / 19962 =  95.086
Robust  acc:    85 /   180 =  47.222
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 93.041 | Val Loss: 0.003 | Val Acc: 85.936
Training:
Accuracies by groups:
0, 0  acc: 16390 / 23071 =  71.042
0, 1  acc:  8902 / 10516 =  84.652
1, 0  acc: 118762 / 121133 =  98.043
1, 1  acc:  7389 /  8050 =  91.789
--------------------------------------
Average acc: 151443 / 162770 =  93.041
Robust  acc: 16390 / 23071 =  71.042
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6771 /  8535 =  79.332
0, 1  acc:  7320 /  8276 =  88.449
1, 0  acc:  2817 /  2874 =  98.017
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17073 / 19867 =  85.936
Robust  acc:  6771 /  8535 =  79.332
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.371
Robust Acc: 83.250 | Best Acc: 97.782
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  8131 /  9767 =  83.250
0, 1  acc:  6730 /  7535 =  89.317
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17441 / 19962 =  87.371
Robust  acc:  8131 /  9767 =  83.250
------------------------------------
Accuracies by groups:
0, 0  acc:  8131 /  9767 =  83.250
0, 1  acc:  6730 /  7535 =  89.317
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17441 / 19962 =  87.371
Robust  acc:  8131 /  9767 =  83.250
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8131 /  9767 =  83.250
0, 1  acc:  6730 /  7535 =  89.317
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17441 / 19962 =  87.371
Robust  acc:  8131 /  9767 =  83.250
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 92.819 | Val Loss: 0.002 | Val Acc: 93.532
Training:
Accuracies by groups:
0, 0  acc: 16125 / 23167 =  69.603
0, 1  acc:  8825 / 10610 =  83.176
1, 0  acc: 118554 / 120784 =  98.154
1, 1  acc:  7578 /  8209 =  92.313
--------------------------------------
Average acc: 151082 / 162770 =  92.819
Robust  acc: 16125 / 23167 =  69.603
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7941 /  8535 =  93.040
0, 1  acc:  7991 /  8276 =  96.556
1, 0  acc:  2513 /  2874 =  87.439
1, 1  acc:   137 /   182 =  75.275
------------------------------------
Average acc: 18582 / 19867 =  93.532
Robust  acc:   137 /   182 =  75.275
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.733
Robust Acc: 70.000 | Best Acc: 96.244
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  9209 /  9767 =  94.287
0, 1  acc:  7252 /  7535 =  96.244
1, 0  acc:  2124 /  2480 =  85.645
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18711 / 19962 =  93.733
Robust  acc:   126 /   180 =  70.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9209 /  9767 =  94.287
0, 1  acc:  7252 /  7535 =  96.244
1, 0  acc:  2124 /  2480 =  85.645
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18711 / 19962 =  93.733
Robust  acc:   126 /   180 =  70.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9209 /  9767 =  94.287
0, 1  acc:  7252 /  7535 =  96.244
1, 0  acc:  2124 /  2480 =  85.645
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18711 / 19962 =  93.733
Robust  acc:   126 /   180 =  70.000
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 92.691 | Val Loss: 0.003 | Val Acc: 86.802
Training:
Accuracies by groups:
0, 0  acc: 16108 / 23312 =  69.097
0, 1  acc:  8647 / 10573 =  81.784
1, 0  acc: 118503 / 120646 =  98.224
1, 1  acc:  7615 /  8239 =  92.426
--------------------------------------
Average acc: 150873 / 162770 =  92.691
Robust  acc: 16108 / 23312 =  69.097
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6782 /  8535 =  79.461
0, 1  acc:  7489 /  8276 =  90.491
1, 0  acc:  2806 /  2874 =  97.634
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17245 / 19867 =  86.802
Robust  acc:  6782 /  8535 =  79.461
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.526
Robust Acc: 83.383 | Best Acc: 96.734
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8144 /  9767 =  83.383
0, 1  acc:  6769 /  7535 =  89.834
1, 0  acc:  2399 /  2480 =  96.734
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17472 / 19962 =  87.526
Robust  acc:  8144 /  9767 =  83.383
------------------------------------
Accuracies by groups:
0, 0  acc:  8144 /  9767 =  83.383
0, 1  acc:  6769 /  7535 =  89.834
1, 0  acc:  2399 /  2480 =  96.734
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17472 / 19962 =  87.526
Robust  acc:  8144 /  9767 =  83.383
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8144 /  9767 =  83.383
0, 1  acc:  6769 /  7535 =  89.834
1, 0  acc:  2399 /  2480 =  96.734
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17472 / 19962 =  87.526
Robust  acc:  8144 /  9767 =  83.383
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 92.575 | Val Loss: 0.002 | Val Acc: 93.295
Training:
Accuracies by groups:
0, 0  acc: 16014 / 23387 =  68.474
0, 1  acc:  8633 / 10556 =  81.783
1, 0  acc: 118395 / 120559 =  98.205
1, 1  acc:  7642 /  8268 =  92.429
--------------------------------------
Average acc: 150684 / 162770 =  92.575
Robust  acc: 16014 / 23387 =  68.474
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7775 /  8535 =  91.095
0, 1  acc:  7980 /  8276 =  96.423
1, 0  acc:  2644 /  2874 =  91.997
1, 1  acc:   136 /   182 =  74.725
------------------------------------
Average acc: 18535 / 19867 =  93.295
Robust  acc:   136 /   182 =  74.725
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.758
Robust Acc: 67.778 | Best Acc: 96.165
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  9085 /  9767 =  93.017
0, 1  acc:  7246 /  7535 =  96.165
1, 0  acc:  2263 /  2480 =  91.250
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18716 / 19962 =  93.758
Robust  acc:   122 /   180 =  67.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9085 /  9767 =  93.017
0, 1  acc:  7246 /  7535 =  96.165
1, 0  acc:  2263 /  2480 =  91.250
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18716 / 19962 =  93.758
Robust  acc:   122 /   180 =  67.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9085 /  9767 =  93.017
0, 1  acc:  7246 /  7535 =  96.165
1, 0  acc:  2263 /  2480 =  91.250
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18716 / 19962 =  93.758
Robust  acc:   122 /   180 =  67.778
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 92.586 | Val Loss: 0.003 | Val Acc: 88.629
Training:
Accuracies by groups:
0, 0  acc: 15874 / 23212 =  68.387
0, 1  acc:  8656 / 10654 =  81.246
1, 0  acc: 118607 / 120697 =  98.268
1, 1  acc:  7566 /  8207 =  92.190
--------------------------------------
Average acc: 150703 / 162770 =  92.586
Robust  acc: 15874 / 23212 =  68.387
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7091 /  8535 =  83.081
0, 1  acc:  7564 /  8276 =  91.397
1, 0  acc:  2784 /  2874 =  96.868
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17608 / 19867 =  88.629
Robust  acc:  7091 /  8535 =  83.081
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.545
Robust Acc: 86.454 | Best Acc: 95.806
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  8444 /  9767 =  86.454
0, 1  acc:  6898 /  7535 =  91.546
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17875 / 19962 =  89.545
Robust  acc:  8444 /  9767 =  86.454
------------------------------------
Accuracies by groups:
0, 0  acc:  8444 /  9767 =  86.454
0, 1  acc:  6898 /  7535 =  91.546
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17875 / 19962 =  89.545
Robust  acc:  8444 /  9767 =  86.454
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8444 /  9767 =  86.454
0, 1  acc:  6898 /  7535 =  91.546
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17875 / 19962 =  89.545
Robust  acc:  8444 /  9767 =  86.454
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 92.473 | Val Loss: 0.002 | Val Acc: 94.433
Training:
Accuracies by groups:
0, 0  acc: 15542 / 22982 =  67.627
0, 1  acc:  8779 / 10935 =  80.283
1, 0  acc: 118614 / 120649 =  98.313
1, 1  acc:  7583 /  8204 =  92.431
--------------------------------------
Average acc: 150518 / 162770 =  92.473
Robust  acc: 15542 / 22982 =  67.627
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8025 /  8535 =  94.025
0, 1  acc:  8168 /  8276 =  98.695
1, 0  acc:  2472 /  2874 =  86.013
1, 1  acc:    96 /   182 =  52.747
------------------------------------
Average acc: 18761 / 19867 =  94.433
Robust  acc:    96 /   182 =  52.747
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.535
Robust Acc: 46.111 | Best Acc: 98.354
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  9288 /  9767 =  95.096
0, 1  acc:  7411 /  7535 =  98.354
1, 0  acc:  2089 /  2480 =  84.234
1, 1  acc:    83 /   180 =  46.111
------------------------------------
Average acc: 18871 / 19962 =  94.535
Robust  acc:    83 /   180 =  46.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9288 /  9767 =  95.096
0, 1  acc:  7411 /  7535 =  98.354
1, 0  acc:  2089 /  2480 =  84.234
1, 1  acc:    83 /   180 =  46.111
------------------------------------
Average acc: 18871 / 19962 =  94.535
Robust  acc:    83 /   180 =  46.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9288 /  9767 =  95.096
0, 1  acc:  7411 /  7535 =  98.354
1, 0  acc:  2089 /  2480 =  84.234
1, 1  acc:    83 /   180 =  46.111
------------------------------------
Average acc: 18871 / 19962 =  94.535
Robust  acc:    83 /   180 =  46.111
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 92.332 | Val Loss: 0.004 | Val Acc: 79.161
Training:
Accuracies by groups:
0, 0  acc: 15799 / 23502 =  67.224
0, 1  acc:  8472 / 10589 =  80.008
1, 0  acc: 118414 / 120433 =  98.324
1, 1  acc:  7603 /  8246 =  92.202
--------------------------------------
Average acc: 150288 / 162770 =  92.332
Robust  acc: 15799 / 23502 =  67.224
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5941 /  8535 =  69.607
0, 1  acc:  6753 /  8276 =  81.597
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15727 / 19867 =  79.161
Robust  acc:  5941 /  8535 =  69.607
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.783
Robust Acc: 75.602 | Best Acc: 98.871
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  7384 /  9767 =  75.602
0, 1  acc:  6117 /  7535 =  81.181
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16126 / 19962 =  80.783
Robust  acc:  7384 /  9767 =  75.602
------------------------------------
Accuracies by groups:
0, 0  acc:  7384 /  9767 =  75.602
0, 1  acc:  6117 /  7535 =  81.181
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16126 / 19962 =  80.783
Robust  acc:  7384 /  9767 =  75.602
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7384 /  9767 =  75.602
0, 1  acc:  6117 /  7535 =  81.181
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   173 /   180 =  96.111
------------------------------------
Average acc: 16126 / 19962 =  80.783
Robust  acc:  7384 /  9767 =  75.602
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 92.442 | Val Loss: 0.003 | Val Acc: 91.388
Training:
Accuracies by groups:
0, 0  acc: 15654 / 23240 =  67.358
0, 1  acc:  8352 / 10475 =  79.733
1, 0  acc: 118805 / 120793 =  98.354
1, 1  acc:  7657 /  8262 =  92.677
--------------------------------------
Average acc: 150468 / 162770 =  92.442
Robust  acc: 15654 / 23240 =  67.358
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7540 /  8535 =  88.342
0, 1  acc:  7781 /  8276 =  94.019
1, 0  acc:  2690 /  2874 =  93.598
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18156 / 19867 =  91.388
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.586
Robust Acc: 73.333 | Best Acc: 94.200
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  8941 /  9767 =  91.543
0, 1  acc:  7098 /  7535 =  94.200
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18482 / 19962 =  92.586
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8941 /  9767 =  91.543
0, 1  acc:  7098 /  7535 =  94.200
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18482 / 19962 =  92.586
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8941 /  9767 =  91.543
0, 1  acc:  7098 /  7535 =  94.200
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18482 / 19962 =  92.586
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 92.572 | Val Loss: 0.004 | Val Acc: 81.557
Training:
Accuracies by groups:
0, 0  acc: 15591 / 23000 =  67.787
0, 1  acc:  8441 / 10559 =  79.941
1, 0  acc: 118911 / 120874 =  98.376
1, 1  acc:  7737 /  8337 =  92.803
--------------------------------------
Average acc: 150680 / 162770 =  92.572
Robust  acc: 15591 / 23000 =  67.787
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6198 /  8535 =  72.619
0, 1  acc:  6987 /  8276 =  84.425
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16203 / 19867 =  81.557
Robust  acc:  6198 /  8535 =  72.619
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.918
Robust Acc: 77.342 | Best Acc: 98.750
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  7554 /  9767 =  77.342
0, 1  acc:  6386 /  7535 =  84.751
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16552 / 19962 =  82.918
Robust  acc:  7554 /  9767 =  77.342
------------------------------------
Accuracies by groups:
0, 0  acc:  7554 /  9767 =  77.342
0, 1  acc:  6386 /  7535 =  84.751
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16552 / 19962 =  82.918
Robust  acc:  7554 /  9767 =  77.342
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7554 /  9767 =  77.342
0, 1  acc:  6386 /  7535 =  84.751
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 16552 / 19962 =  82.918
Robust  acc:  7554 /  9767 =  77.342
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 92.348 | Val Loss: 0.003 | Val Acc: 87.124
Training:
Accuracies by groups:
0, 0  acc: 15653 / 23280 =  67.238
0, 1  acc:  8342 / 10559 =  79.004
1, 0  acc: 118798 / 120809 =  98.335
1, 1  acc:  7522 /  8122 =  92.613
--------------------------------------
Average acc: 150315 / 162770 =  92.348
Robust  acc: 15653 / 23280 =  67.238
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6818 /  8535 =  79.883
0, 1  acc:  7518 /  8276 =  90.841
1, 0  acc:  2806 /  2874 =  97.634
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17309 / 19867 =  87.124
Robust  acc:  6818 /  8535 =  79.883
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.423
Robust Acc: 84.263 | Best Acc: 97.540
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  8230 /  9767 =  84.263
0, 1  acc:  6850 /  7535 =  90.909
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17651 / 19962 =  88.423
Robust  acc:  8230 /  9767 =  84.263
------------------------------------
Accuracies by groups:
0, 0  acc:  8230 /  9767 =  84.263
0, 1  acc:  6850 /  7535 =  90.909
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17651 / 19962 =  88.423
Robust  acc:  8230 /  9767 =  84.263
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8230 /  9767 =  84.263
0, 1  acc:  6850 /  7535 =  90.909
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17651 / 19962 =  88.423
Robust  acc:  8230 /  9767 =  84.263
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 92.477 | Val Loss: 0.003 | Val Acc: 90.492
Training:
Accuracies by groups:
0, 0  acc: 15701 / 23234 =  67.578
0, 1  acc:  8514 / 10691 =  79.637
1, 0  acc: 118738 / 120700 =  98.374
1, 1  acc:  7572 /  8145 =  92.965
--------------------------------------
Average acc: 150525 / 162770 =  92.477
Robust  acc: 15701 / 23234 =  67.578
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7215 /  8535 =  84.534
0, 1  acc:  7851 /  8276 =  94.865
1, 0  acc:  2757 /  2874 =  95.929
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 17978 / 19867 =  90.492
Robust  acc:  7215 /  8535 =  84.534
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.283
Robust Acc: 77.222 | Best Acc: 96.008
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  8567 /  9767 =  87.714
0, 1  acc:  7135 /  7535 =  94.691
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18222 / 19962 =  91.283
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8567 /  9767 =  87.714
0, 1  acc:  7135 /  7535 =  94.691
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18222 / 19962 =  91.283
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8567 /  9767 =  87.714
0, 1  acc:  7135 /  7535 =  94.691
1, 0  acc:  2381 /  2480 =  96.008
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18222 / 19962 =  91.283
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 92.437 | Val Loss: 0.008 | Val Acc: 46.419
Training:
Accuracies by groups:
0, 0  acc: 15622 / 23240 =  67.220
0, 1  acc:  8551 / 10720 =  79.767
1, 0  acc: 118688 / 120632 =  98.388
1, 1  acc:  7599 /  8178 =  92.920
--------------------------------------
Average acc: 150460 / 162770 =  92.437
Robust  acc: 15622 / 23240 =  67.220
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3247 /  8535 =  38.043
0, 1  acc:  2925 /  8276 =  35.343
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  9222 / 19867 =  46.419
Robust  acc:  2925 /  8276 =  35.343
------------------------------------
-------------------------------------------
Avg Test Loss: 0.008 | Avg Test Acc: 47.059
Robust Acc: 34.161 | Best Acc: 99.758
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  4168 /  9767 =  42.674
0, 1  acc:  2574 /  7535 =  34.161
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9394 / 19962 =  47.059
Robust  acc:  2574 /  7535 =  34.161
------------------------------------
Accuracies by groups:
0, 0  acc:  4168 /  9767 =  42.674
0, 1  acc:  2574 /  7535 =  34.161
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9394 / 19962 =  47.059
Robust  acc:  2574 /  7535 =  34.161
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4168 /  9767 =  42.674
0, 1  acc:  2574 /  7535 =  34.161
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc:  9394 / 19962 =  47.059
Robust  acc:  2574 /  7535 =  34.161
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 92.497 | Val Loss: 0.003 | Val Acc: 91.609
Training:
Accuracies by groups:
0, 0  acc: 15706 / 23263 =  67.515
0, 1  acc:  8553 / 10736 =  79.667
1, 0  acc: 118753 / 120690 =  98.395
1, 1  acc:  7546 /  8081 =  93.380
--------------------------------------
Average acc: 150558 / 162770 =  92.497
Robust  acc: 15706 / 23263 =  67.515
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7522 /  8535 =  88.131
0, 1  acc:  7827 /  8276 =  94.575
1, 0  acc:  2703 /  2874 =  94.050
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 18200 / 19867 =  91.609
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.531
Robust Acc: 73.889 | Best Acc: 94.824
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  8881 /  9767 =  90.929
0, 1  acc:  7145 /  7535 =  94.824
1, 0  acc:  2312 /  2480 =  93.226
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18471 / 19962 =  92.531
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8881 /  9767 =  90.929
0, 1  acc:  7145 /  7535 =  94.824
1, 0  acc:  2312 /  2480 =  93.226
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18471 / 19962 =  92.531
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8881 /  9767 =  90.929
0, 1  acc:  7145 /  7535 =  94.824
1, 0  acc:  2312 /  2480 =  93.226
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18471 / 19962 =  92.531
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 92.593 | Val Loss: 0.003 | Val Acc: 92.108
Training:
Accuracies by groups:
0, 0  acc: 15819 / 23284 =  67.939
0, 1  acc:  8618 / 10780 =  79.944
1, 0  acc: 118575 / 120419 =  98.469
1, 1  acc:  7701 /  8287 =  92.929
--------------------------------------
Average acc: 150713 / 162770 =  92.593
Robust  acc: 15819 / 23284 =  67.939
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7495 /  8535 =  87.815
0, 1  acc:  7976 /  8276 =  96.375
1, 0  acc:  2711 /  2874 =  94.328
1, 1  acc:   117 /   182 =  64.286
------------------------------------
Average acc: 18299 / 19867 =  92.108
Robust  acc:   117 /   182 =  64.286
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.112
Robust Acc: 65.556 | Best Acc: 96.350
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8880 /  9767 =  90.918
0, 1  acc:  7260 /  7535 =  96.350
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18587 / 19962 =  93.112
Robust  acc:   118 /   180 =  65.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8880 /  9767 =  90.918
0, 1  acc:  7260 /  7535 =  96.350
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18587 / 19962 =  93.112
Robust  acc:   118 /   180 =  65.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8880 /  9767 =  90.918
0, 1  acc:  7260 /  7535 =  96.350
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18587 / 19962 =  93.112
Robust  acc:   118 /   180 =  65.556
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 92.555 | Val Loss: 0.005 | Val Acc: 77.017
Training:
Accuracies by groups:
0, 0  acc: 15870 / 23334 =  68.012
0, 1  acc:  8635 / 10776 =  80.132
1, 0  acc: 118359 / 120312 =  98.377
1, 1  acc:  7788 /  8348 =  93.292
--------------------------------------
Average acc: 150652 / 162770 =  92.555
Robust  acc: 15870 / 23334 =  68.012
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5634 /  8535 =  66.011
0, 1  acc:  6632 /  8276 =  80.135
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15301 / 19867 =  77.017
Robust  acc:  5634 /  8535 =  66.011
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.644
Robust Acc: 71.434 | Best Acc: 99.194
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  6977 /  9767 =  71.434
0, 1  acc:  6093 /  7535 =  80.863
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15699 / 19962 =  78.644
Robust  acc:  6977 /  9767 =  71.434
------------------------------------
Accuracies by groups:
0, 0  acc:  6977 /  9767 =  71.434
0, 1  acc:  6093 /  7535 =  80.863
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15699 / 19962 =  78.644
Robust  acc:  6977 /  9767 =  71.434
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6977 /  9767 =  71.434
0, 1  acc:  6093 /  7535 =  80.863
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 15699 / 19962 =  78.644
Robust  acc:  6977 /  9767 =  71.434
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 92.561 | Val Loss: 0.011 | Val Acc: 29.481
Training:
Accuracies by groups:
0, 0  acc: 15787 / 23380 =  67.524
0, 1  acc:  8573 / 10614 =  80.771
1, 0  acc: 118552 / 120481 =  98.399
1, 1  acc:  7750 /  8295 =  93.430
--------------------------------------
Average acc: 150662 / 162770 =  92.561
Robust  acc: 15787 / 23380 =  67.524
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1493 /  8535 =  17.493
0, 1  acc:  1309 /  8276 =  15.817
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  5857 / 19867 =  29.481
Robust  acc:  1309 /  8276 =  15.817
------------------------------------
-------------------------------------------
Avg Test Loss: 0.011 | Avg Test Acc: 28.194
Robust Acc: 14.718 | Best Acc: 99.960
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  1861 /  9767 =  19.054
0, 1  acc:  1109 /  7535 =  14.718
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5628 / 19962 =  28.194
Robust  acc:  1109 /  7535 =  14.718
------------------------------------
Accuracies by groups:
0, 0  acc:  1861 /  9767 =  19.054
0, 1  acc:  1109 /  7535 =  14.718
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5628 / 19962 =  28.194
Robust  acc:  1109 /  7535 =  14.718
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  1861 /  9767 =  19.054
0, 1  acc:  1109 /  7535 =  14.718
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5628 / 19962 =  28.194
Robust  acc:  1109 /  7535 =  14.718
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 92.567 | Val Loss: 0.003 | Val Acc: 94.312
Training:
Accuracies by groups:
0, 0  acc: 15859 / 23308 =  68.041
0, 1  acc:  8315 / 10447 =  79.592
1, 0  acc: 118860 / 120796 =  98.397
1, 1  acc:  7638 /  8219 =  92.931
--------------------------------------
Average acc: 150672 / 162770 =  92.567
Robust  acc: 15859 / 23308 =  68.041
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8154 /  8535 =  95.536
0, 1  acc:  8140 /  8276 =  98.357
1, 0  acc:  2337 /  2874 =  81.315
1, 1  acc:   106 /   182 =  58.242
------------------------------------
Average acc: 18737 / 19867 =  94.312
Robust  acc:   106 /   182 =  58.242
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.449
Robust Acc: 51.667 | Best Acc: 97.983
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  9408 /  9767 =  96.324
0, 1  acc:  7383 /  7535 =  97.983
1, 0  acc:  1970 /  2480 =  79.435
1, 1  acc:    93 /   180 =  51.667
------------------------------------
Average acc: 18854 / 19962 =  94.449
Robust  acc:    93 /   180 =  51.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9408 /  9767 =  96.324
0, 1  acc:  7383 /  7535 =  97.983
1, 0  acc:  1970 /  2480 =  79.435
1, 1  acc:    93 /   180 =  51.667
------------------------------------
Average acc: 18854 / 19962 =  94.449
Robust  acc:    93 /   180 =  51.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9408 /  9767 =  96.324
0, 1  acc:  7383 /  7535 =  97.983
1, 0  acc:  1970 /  2480 =  79.435
1, 1  acc:    93 /   180 =  51.667
------------------------------------
Average acc: 18854 / 19962 =  94.449
Robust  acc:    93 /   180 =  51.667
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 92.611 | Val Loss: 0.003 | Val Acc: 92.701
Training:
Accuracies by groups:
0, 0  acc: 15651 / 23119 =  67.698
0, 1  acc:  8598 / 10752 =  79.967
1, 0  acc: 118739 / 120595 =  98.461
1, 1  acc:  7755 /  8304 =  93.389
--------------------------------------
Average acc: 150743 / 162770 =  92.611
Robust  acc: 15651 / 23119 =  67.698
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7745 /  8535 =  90.744
0, 1  acc:  7983 /  8276 =  96.460
1, 0  acc:  2574 /  2874 =  89.562
1, 1  acc:   115 /   182 =  63.187
------------------------------------
Average acc: 18417 / 19867 =  92.701
Robust  acc:   115 /   182 =  63.187
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.342
Robust Acc: 65.000 | Best Acc: 96.403
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  9030 /  9767 =  92.454
0, 1  acc:  7264 /  7535 =  96.403
1, 0  acc:  2222 /  2480 =  89.597
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18633 / 19962 =  93.342
Robust  acc:   117 /   180 =  65.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9030 /  9767 =  92.454
0, 1  acc:  7264 /  7535 =  96.403
1, 0  acc:  2222 /  2480 =  89.597
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18633 / 19962 =  93.342
Robust  acc:   117 /   180 =  65.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9030 /  9767 =  92.454
0, 1  acc:  7264 /  7535 =  96.403
1, 0  acc:  2222 /  2480 =  89.597
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18633 / 19962 =  93.342
Robust  acc:   117 /   180 =  65.000
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 92.612 | Val Loss: 0.004 | Val Acc: 81.069
Training:
Accuracies by groups:
0, 0  acc: 15787 / 23340 =  67.639
0, 1  acc:  8593 / 10687 =  80.406
1, 0  acc: 118754 / 120596 =  98.473
1, 1  acc:  7611 /  8147 =  93.421
--------------------------------------
Average acc: 150745 / 162770 =  92.612
Robust  acc: 15787 / 23340 =  67.639
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6295 /  8535 =  73.755
0, 1  acc:  6827 /  8276 =  82.492
1, 0  acc:  2814 /  2874 =  97.912
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16106 / 19867 =  81.069
Robust  acc:  6295 /  8535 =  73.755
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.251
Robust Acc: 78.509 | Best Acc: 97.984
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  7668 /  9767 =  78.509
0, 1  acc:  6157 /  7535 =  81.712
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16419 / 19962 =  82.251
Robust  acc:  7668 /  9767 =  78.509
------------------------------------
Accuracies by groups:
0, 0  acc:  7668 /  9767 =  78.509
0, 1  acc:  6157 /  7535 =  81.712
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16419 / 19962 =  82.251
Robust  acc:  7668 /  9767 =  78.509
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7668 /  9767 =  78.509
0, 1  acc:  6157 /  7535 =  81.712
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16419 / 19962 =  82.251
Robust  acc:  7668 /  9767 =  78.509
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 92.544 | Val Loss: 0.004 | Val Acc: 81.447
Training:
Accuracies by groups:
0, 0  acc: 15693 / 23111 =  67.903
0, 1  acc:  8422 / 10579 =  79.611
1, 0  acc: 118849 / 120805 =  98.381
1, 1  acc:  7670 /  8275 =  92.689
--------------------------------------
Average acc: 150634 / 162770 =  92.544
Robust  acc: 15693 / 23111 =  67.903
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6337 /  8535 =  74.247
0, 1  acc:  6834 /  8276 =  82.576
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16181 / 19867 =  81.447
Robust  acc:  6337 /  8535 =  74.247
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.539
Robust Acc: 79.461 | Best Acc: 98.387
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  7761 /  9767 =  79.461
0, 1  acc:  6306 /  7535 =  83.689
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16676 / 19962 =  83.539
Robust  acc:  7761 /  9767 =  79.461
------------------------------------
Accuracies by groups:
0, 0  acc:  7761 /  9767 =  79.461
0, 1  acc:  6306 /  7535 =  83.689
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16676 / 19962 =  83.539
Robust  acc:  7761 /  9767 =  79.461
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7761 /  9767 =  79.461
0, 1  acc:  6306 /  7535 =  83.689
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16676 / 19962 =  83.539
Robust  acc:  7761 /  9767 =  79.461
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 92.658 | Val Loss: 0.003 | Val Acc: 90.175
Training:
Accuracies by groups:
0, 0  acc: 15789 / 23208 =  68.033
0, 1  acc:  8498 / 10565 =  80.435
1, 0  acc: 118976 / 120856 =  98.444
1, 1  acc:  7557 /  8141 =  92.826
--------------------------------------
Average acc: 150820 / 162770 =  92.658
Robust  acc: 15789 / 23208 =  68.033
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7261 /  8535 =  85.073
0, 1  acc:  7740 /  8276 =  93.523
1, 0  acc:  2765 /  2874 =  96.207
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 17915 / 19867 =  90.175
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.424
Robust Acc: 76.111 | Best Acc: 95.363
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  8674 /  9767 =  88.809
0, 1  acc:  7074 /  7535 =  93.882
1, 0  acc:  2365 /  2480 =  95.363
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18250 / 19962 =  91.424
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8674 /  9767 =  88.809
0, 1  acc:  7074 /  7535 =  93.882
1, 0  acc:  2365 /  2480 =  95.363
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18250 / 19962 =  91.424
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8674 /  9767 =  88.809
0, 1  acc:  7074 /  7535 =  93.882
1, 0  acc:  2365 /  2480 =  95.363
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18250 / 19962 =  91.424
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 92.646 | Val Loss: 0.004 | Val Acc: 79.730
Training:
Accuracies by groups:
0, 0  acc: 16051 / 23420 =  68.535
0, 1  acc:  8531 / 10658 =  80.043
1, 0  acc: 118727 / 120632 =  98.421
1, 1  acc:  7491 /  8060 =  92.940
--------------------------------------
Average acc: 150800 / 162770 =  92.646
Robust  acc: 16051 / 23420 =  68.535
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5975 /  8535 =  70.006
0, 1  acc:  6842 /  8276 =  82.673
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 15840 / 19867 =  79.730
Robust  acc:  5975 /  8535 =  70.006
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.480
Robust Acc: 75.202 | Best Acc: 98.750
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  7345 /  9767 =  75.202
0, 1  acc:  6300 /  7535 =  83.610
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16265 / 19962 =  81.480
Robust  acc:  7345 /  9767 =  75.202
------------------------------------
Accuracies by groups:
0, 0  acc:  7345 /  9767 =  75.202
0, 1  acc:  6300 /  7535 =  83.610
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16265 / 19962 =  81.480
Robust  acc:  7345 /  9767 =  75.202
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7345 /  9767 =  75.202
0, 1  acc:  6300 /  7535 =  83.610
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16265 / 19962 =  81.480
Robust  acc:  7345 /  9767 =  75.202
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 92.688 | Val Loss: 0.003 | Val Acc: 88.040
Training:
Accuracies by groups:
0, 0  acc: 15907 / 23206 =  68.547
0, 1  acc:  8549 / 10692 =  79.957
1, 0  acc: 118766 / 120661 =  98.429
1, 1  acc:  7646 /  8211 =  93.119
--------------------------------------
Average acc: 150868 / 162770 =  92.688
Robust  acc: 15907 / 23206 =  68.547
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7009 /  8535 =  82.121
0, 1  acc:  7520 /  8276 =  90.865
1, 0  acc:  2799 /  2874 =  97.390
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 17491 / 19867 =  88.040
Robust  acc:  7009 /  8535 =  82.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.510
Robust Acc: 85.556 | Best Acc: 96.774
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  8426 /  9767 =  86.270
0, 1  acc:  6888 /  7535 =  91.413
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17868 / 19962 =  89.510
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8426 /  9767 =  86.270
0, 1  acc:  6888 /  7535 =  91.413
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17868 / 19962 =  89.510
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8426 /  9767 =  86.270
0, 1  acc:  6888 /  7535 =  91.413
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17868 / 19962 =  89.510
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 92.669 | Val Loss: 0.005 | Val Acc: 77.863
Training:
Accuracies by groups:
0, 0  acc: 15914 / 23247 =  68.456
0, 1  acc:  8711 / 10853 =  80.264
1, 0  acc: 118570 / 120436 =  98.451
1, 1  acc:  7642 /  8234 =  92.810
--------------------------------------
Average acc: 150837 / 162770 =  92.669
Robust  acc: 15914 / 23247 =  68.456
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6045 /  8535 =  70.826
0, 1  acc:  6395 /  8276 =  77.272
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15469 / 19867 =  77.863
Robust  acc:  6045 /  8535 =  70.826
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.787
Robust Acc: 76.359 | Best Acc: 98.952
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  7458 /  9767 =  76.359
0, 1  acc:  5845 /  7535 =  77.571
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15927 / 19962 =  79.787
Robust  acc:  7458 /  9767 =  76.359
------------------------------------
Accuracies by groups:
0, 0  acc:  7458 /  9767 =  76.359
0, 1  acc:  5845 /  7535 =  77.571
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15927 / 19962 =  79.787
Robust  acc:  7458 /  9767 =  76.359
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7458 /  9767 =  76.359
0, 1  acc:  5845 /  7535 =  77.571
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15927 / 19962 =  79.787
Robust  acc:  7458 /  9767 =  76.359
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 92.685 | Val Loss: 0.003 | Val Acc: 88.765
Training:
Accuracies by groups:
0, 0  acc: 15829 / 23229 =  68.143
0, 1  acc:  8633 / 10677 =  80.856
1, 0  acc: 118833 / 120716 =  98.440
1, 1  acc:  7569 /  8148 =  92.894
--------------------------------------
Average acc: 150864 / 162770 =  92.685
Robust  acc: 15829 / 23229 =  68.143
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7154 /  8535 =  83.820
0, 1  acc:  7574 /  8276 =  91.518
1, 0  acc:  2751 /  2874 =  95.720
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 17635 / 19867 =  88.765
Robust  acc:  7154 /  8535 =  83.820
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.941
Robust Acc: 80.556 | Best Acc: 94.718
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  8512 /  9767 =  87.151
0, 1  acc:  6948 /  7535 =  92.210
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 17954 / 19962 =  89.941
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8512 /  9767 =  87.151
0, 1  acc:  6948 /  7535 =  92.210
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 17954 / 19962 =  89.941
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8512 /  9767 =  87.151
0, 1  acc:  6948 /  7535 =  92.210
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 17954 / 19962 =  89.941
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 92.708 | Val Loss: 0.006 | Val Acc: 63.980
Training:
Accuracies by groups:
0, 0  acc: 15952 / 23371 =  68.256
0, 1  acc:  8509 / 10528 =  80.823
1, 0  acc: 118842 / 120697 =  98.463
1, 1  acc:  7598 /  8174 =  92.953
--------------------------------------
Average acc: 150901 / 162770 =  92.708
Robust  acc: 15952 / 23371 =  68.256
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4845 /  8535 =  56.766
0, 1  acc:  4825 /  8276 =  58.301
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12711 / 19867 =  63.980
Robust  acc:  4845 /  8535 =  56.766
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.494
Robust Acc: 57.452 | Best Acc: 99.032
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  6114 /  9767 =  62.599
0, 1  acc:  4329 /  7535 =  57.452
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13074 / 19962 =  65.494
Robust  acc:  4329 /  7535 =  57.452
------------------------------------
Accuracies by groups:
0, 0  acc:  6114 /  9767 =  62.599
0, 1  acc:  4329 /  7535 =  57.452
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13074 / 19962 =  65.494
Robust  acc:  4329 /  7535 =  57.452
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6114 /  9767 =  62.599
0, 1  acc:  4329 /  7535 =  57.452
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13074 / 19962 =  65.494
Robust  acc:  4329 /  7535 =  57.452
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 92.604 | Val Loss: 0.003 | Val Acc: 93.799
Training:
Accuracies by groups:
0, 0  acc: 16015 / 23389 =  68.472
0, 1  acc:  8631 / 10715 =  80.551
1, 0  acc: 118369 / 120339 =  98.363
1, 1  acc:  7716 /  8327 =  92.662
--------------------------------------
Average acc: 150731 / 162770 =  92.604
Robust  acc: 16015 / 23389 =  68.472
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7888 /  8535 =  92.419
0, 1  acc:  8127 /  8276 =  98.200
1, 0  acc:  2522 /  2874 =  87.752
1, 1  acc:    98 /   182 =  53.846
------------------------------------
Average acc: 18635 / 19867 =  93.799
Robust  acc:    98 /   182 =  53.846
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.059
Robust Acc: 50.000 | Best Acc: 98.023
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  9145 /  9767 =  93.632
0, 1  acc:  7386 /  7535 =  98.023
1, 0  acc:  2155 /  2480 =  86.895
1, 1  acc:    90 /   180 =  50.000
------------------------------------
Average acc: 18776 / 19962 =  94.059
Robust  acc:    90 /   180 =  50.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9145 /  9767 =  93.632
0, 1  acc:  7386 /  7535 =  98.023
1, 0  acc:  2155 /  2480 =  86.895
1, 1  acc:    90 /   180 =  50.000
------------------------------------
Average acc: 18776 / 19962 =  94.059
Robust  acc:    90 /   180 =  50.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9145 /  9767 =  93.632
0, 1  acc:  7386 /  7535 =  98.023
1, 0  acc:  2155 /  2480 =  86.895
1, 1  acc:    90 /   180 =  50.000
------------------------------------
Average acc: 18776 / 19962 =  94.059
Robust  acc:    90 /   180 =  50.000
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 92.708 | Val Loss: 0.004 | Val Acc: 84.965
Training:
Accuracies by groups:
0, 0  acc: 15545 / 22913 =  67.844
0, 1  acc:  8659 / 10745 =  80.586
1, 0  acc: 119022 / 120884 =  98.460
1, 1  acc:  7675 /  8228 =  93.279
--------------------------------------
Average acc: 150901 / 162770 =  92.708
Robust  acc: 15545 / 22913 =  67.844
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6655 /  8535 =  77.973
0, 1  acc:  7231 /  8276 =  87.373
1, 0  acc:  2823 /  2874 =  98.225
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16880 / 19867 =  84.965
Robust  acc:  6655 /  8535 =  77.973
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.725
Robust Acc: 82.707 | Best Acc: 97.903
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  8078 /  9767 =  82.707
0, 1  acc:  6644 /  7535 =  88.175
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17312 / 19962 =  86.725
Robust  acc:  8078 /  9767 =  82.707
------------------------------------
Accuracies by groups:
0, 0  acc:  8078 /  9767 =  82.707
0, 1  acc:  6644 /  7535 =  88.175
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17312 / 19962 =  86.725
Robust  acc:  8078 /  9767 =  82.707
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8078 /  9767 =  82.707
0, 1  acc:  6644 /  7535 =  88.175
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17312 / 19962 =  86.725
Robust  acc:  8078 /  9767 =  82.707
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed45.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed45.pt
