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/seed26/stage_one_erm_model_b_epoch0_seed26.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: 26
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=26-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/seed26/stage_one_erm_model_b_epoch0_seed26.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8252, 0.0257],
        [0.1332, 0.0159]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.160 | Val Loss: 0.003 | Val Acc: 81.683
Training:
Accuracies by groups:
0, 0  acc:  8462 / 17377 =  48.697
0, 1  acc:  5007 /  8910 =  56.195
1, 0  acc: 125520 / 128061 =  98.016
1, 1  acc:  7764 /  8422 =  92.187
--------------------------------------
Average acc: 146753 / 162770 =  90.160
Robust  acc:  8462 / 17377 =  48.697
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6314 /  8535 =  73.978
0, 1  acc:  6907 /  8276 =  83.458
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 16228 / 19867 =  81.683
Robust  acc:  6314 /  8535 =  73.978
------------------------------------
New max robust acc: 73.97773872290568
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed26.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed26.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 83.699
Robust Acc: 79.451 | Best Acc: 98.629
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7760 /  9767 =  79.451
0, 1  acc:  6333 /  7535 =  84.048
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16708 / 19962 =  83.699
Robust  acc:  7760 /  9767 =  79.451
------------------------------------
Accuracies by groups:
0, 0  acc:  7760 /  9767 =  79.451
0, 1  acc:  6333 /  7535 =  84.048
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16708 / 19962 =  83.699
Robust  acc:  7760 /  9767 =  79.451
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7760 /  9767 =  79.451
0, 1  acc:  6333 /  7535 =  84.048
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16708 / 19962 =  83.699
Robust  acc:  7760 /  9767 =  79.451
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.020 | Val Loss: 0.003 | Val Acc: 84.749
Training:
Accuracies by groups:
0, 0  acc: 12112 / 17772 =  68.152
0, 1  acc:  7095 /  8897 =  79.746
1, 0  acc: 126087 / 127696 =  98.740
1, 1  acc:  7743 /  8405 =  92.124
--------------------------------------
Average acc: 153037 / 162770 =  94.020
Robust  acc: 12112 / 17772 =  68.152
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6501 /  8535 =  76.169
0, 1  acc:  7322 /  8276 =  88.473
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16837 / 19867 =  84.749
Robust  acc:  6501 /  8535 =  76.169
------------------------------------
New max robust acc: 76.16871704745168
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed26.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed26.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.229
Robust Acc: 81.253 | Best Acc: 98.750
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7936 /  9767 =  81.253
0, 1  acc:  6668 /  7535 =  88.494
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17213 / 19962 =  86.229
Robust  acc:  7936 /  9767 =  81.253
------------------------------------
Accuracies by groups:
0, 0  acc:  7936 /  9767 =  81.253
0, 1  acc:  6668 /  7535 =  88.494
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17213 / 19962 =  86.229
Robust  acc:  7936 /  9767 =  81.253
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7936 /  9767 =  81.253
0, 1  acc:  6668 /  7535 =  88.494
1, 0  acc:  2449 /  2480 =  98.750
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17213 / 19962 =  86.229
Robust  acc:  7936 /  9767 =  81.253
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 94.818 | Val Loss: 0.002 | Val Acc: 87.502
Training:
Accuracies by groups:
0, 0  acc: 12428 / 17536 =  70.871
0, 1  acc:  7375 /  8718 =  84.595
1, 0  acc: 126790 / 128169 =  98.924
1, 1  acc:  7742 /  8347 =  92.752
--------------------------------------
Average acc: 154335 / 162770 =  94.818
Robust  acc: 12428 / 17536 =  70.871
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6808 /  8535 =  79.766
0, 1  acc:  7576 /  8276 =  91.542
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17384 / 19867 =  87.502
Robust  acc:  6808 /  8535 =  79.766
------------------------------------
New max robust acc: 79.76567076742823
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed26.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed26.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.588
Robust Acc: 84.018 | Best Acc: 98.185
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8206 /  9767 =  84.018
0, 1  acc:  6887 /  7535 =  91.400
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17684 / 19962 =  88.588
Robust  acc:  8206 /  9767 =  84.018
------------------------------------
Accuracies by groups:
0, 0  acc:  8206 /  9767 =  84.018
0, 1  acc:  6887 /  7535 =  91.400
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17684 / 19962 =  88.588
Robust  acc:  8206 /  9767 =  84.018
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8206 /  9767 =  84.018
0, 1  acc:  6887 /  7535 =  91.400
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17684 / 19962 =  88.588
Robust  acc:  8206 /  9767 =  84.018
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.367 | Val Loss: 0.002 | Val Acc: 89.299
Training:
Accuracies by groups:
0, 0  acc: 13097 / 17769 =  73.707
0, 1  acc:  7621 /  8775 =  86.849
1, 0  acc: 126699 / 127898 =  99.063
1, 1  acc:  7812 /  8328 =  93.804
--------------------------------------
Average acc: 155229 / 162770 =  95.367
Robust  acc: 13097 / 17769 =  73.707
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7012 /  8535 =  82.156
0, 1  acc:  7743 /  8276 =  93.560
1, 0  acc:  2821 /  2874 =  98.156
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17741 / 19867 =  89.299
Robust  acc:  7012 /  8535 =  82.156
------------------------------------
New max robust acc: 82.15582893966022
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed26.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed26.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.996
Robust Acc: 84.444 | Best Acc: 97.782
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8371 /  9767 =  85.707
0, 1  acc:  7017 /  7535 =  93.125
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17965 / 19962 =  89.996
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8371 /  9767 =  85.707
0, 1  acc:  7017 /  7535 =  93.125
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17965 / 19962 =  89.996
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8371 /  9767 =  85.707
0, 1  acc:  7017 /  7535 =  93.125
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17965 / 19962 =  89.996
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 95.997 | Val Loss: 0.002 | Val Acc: 89.978
Training:
Accuracies by groups:
0, 0  acc: 13433 / 17730 =  75.764
0, 1  acc:  7782 /  8750 =  88.937
1, 0  acc: 126757 / 127671 =  99.284
1, 1  acc:  8283 /  8619 =  96.102
--------------------------------------
Average acc: 156255 / 162770 =  95.997
Robust  acc: 13433 / 17730 =  75.764
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7115 /  8535 =  83.363
0, 1  acc:  7783 /  8276 =  94.043
1, 0  acc:  2812 /  2874 =  97.843
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17876 / 19867 =  89.978
Robust  acc:  7115 /  8535 =  83.363
------------------------------------
New max robust acc: 83.3626244874048
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed26.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed26.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.477
Robust Acc: 84.444 | Best Acc: 97.460
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8439 /  9767 =  86.403
0, 1  acc:  7053 /  7535 =  93.603
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18061 / 19962 =  90.477
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8439 /  9767 =  86.403
0, 1  acc:  7053 /  7535 =  93.603
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18061 / 19962 =  90.477
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8439 /  9767 =  86.403
0, 1  acc:  7053 /  7535 =  93.603
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18061 / 19962 =  90.477
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.682 | Val Loss: 0.002 | Val Acc: 90.341
Training:
Accuracies by groups:
0, 0  acc: 13595 / 17444 =  77.935
0, 1  acc:  8035 /  8847 =  90.822
1, 0  acc: 127536 / 128094 =  99.564
1, 1  acc:  8203 /  8385 =  97.829
--------------------------------------
Average acc: 157369 / 162770 =  96.682
Robust  acc: 13595 / 17444 =  77.935
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7131 /  8535 =  83.550
0, 1  acc:  7838 /  8276 =  94.708
1, 0  acc:  2815 /  2874 =  97.947
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 17948 / 19867 =  90.341
Robust  acc:  7131 /  8535 =  83.550
------------------------------------
New max robust acc: 83.55008787346222
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed26.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed26.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.888
Robust Acc: 83.889 | Best Acc: 97.419
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8477 /  9767 =  86.792
0, 1  acc:  7099 /  7535 =  94.214
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18143 / 19962 =  90.888
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8477 /  9767 =  86.792
0, 1  acc:  7099 /  7535 =  94.214
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18143 / 19962 =  90.888
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8477 /  9767 =  86.792
0, 1  acc:  7099 /  7535 =  94.214
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 18143 / 19962 =  90.888
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.350 | Val Loss: 0.002 | Val Acc: 92.163
Training:
Accuracies by groups:
0, 0  acc: 14359 / 17661 =  81.303
0, 1  acc:  8243 /  8870 =  92.931
1, 0  acc: 127663 / 127966 =  99.763
1, 1  acc:  8192 /  8273 =  99.021
--------------------------------------
Average acc: 158457 / 162770 =  97.350
Robust  acc: 14359 / 17661 =  81.303
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7448 /  8535 =  87.264
0, 1  acc:  7946 /  8276 =  96.013
1, 0  acc:  2760 /  2874 =  96.033
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 18310 / 19867 =  92.163
Robust  acc:   156 /   182 =  85.714
------------------------------------
New max robust acc: 85.71428571428571
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed26.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed26.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.386
Robust Acc: 76.667 | Best Acc: 95.605
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8742 /  9767 =  89.505
0, 1  acc:  7191 /  7535 =  95.435
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18442 / 19962 =  92.386
Robust  acc:   138 /   180 =  76.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8742 /  9767 =  89.505
0, 1  acc:  7191 /  7535 =  95.435
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18442 / 19962 =  92.386
Robust  acc:   138 /   180 =  76.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8742 /  9767 =  89.505
0, 1  acc:  7191 /  7535 =  95.435
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18442 / 19962 =  92.386
Robust  acc:   138 /   180 =  76.667
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.941 | Val Loss: 0.001 | Val Acc: 93.144
Training:
Accuracies by groups:
0, 0  acc: 15113 / 17820 =  84.809
0, 1  acc:  8277 /  8749 =  94.605
1, 0  acc: 127729 / 127874 =  99.887
1, 1  acc:  8299 /  8327 =  99.664
--------------------------------------
Average acc: 159418 / 162770 =  97.941
Robust  acc: 15113 / 17820 =  84.809
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7593 /  8535 =  88.963
0, 1  acc:  8011 /  8276 =  96.798
1, 0  acc:  2753 /  2874 =  95.790
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 18505 / 19867 =  93.144
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.187
Robust Acc: 75.556 | Best Acc: 96.390
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8853 /  9767 =  90.642
0, 1  acc:  7263 /  7535 =  96.390
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18602 / 19962 =  93.187
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8853 /  9767 =  90.642
0, 1  acc:  7263 /  7535 =  96.390
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18602 / 19962 =  93.187
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8853 /  9767 =  90.642
0, 1  acc:  7263 /  7535 =  96.390
1, 0  acc:  2350 /  2480 =  94.758
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18602 / 19962 =  93.187
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.381 | Val Loss: 0.001 | Val Acc: 93.497
Training:
Accuracies by groups:
0, 0  acc: 15594 / 17729 =  87.958
0, 1  acc:  8506 /  8887 =  95.713
1, 0  acc: 127805 / 127893 =  99.931
1, 1  acc:  8229 /  8261 =  99.613
--------------------------------------
Average acc: 160134 / 162770 =  98.381
Robust  acc: 15594 / 17729 =  87.958
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7667 /  8535 =  89.830
0, 1  acc:  8053 /  8276 =  97.305
1, 0  acc:  2715 /  2874 =  94.468
1, 1  acc:   140 /   182 =  76.923
------------------------------------
Average acc: 18575 / 19867 =  93.497
Robust  acc:   140 /   182 =  76.923
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.578
Robust Acc: 70.556 | Best Acc: 96.908
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8935 /  9767 =  91.482
0, 1  acc:  7302 /  7535 =  96.908
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18680 / 19962 =  93.578
Robust  acc:   127 /   180 =  70.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8935 /  9767 =  91.482
0, 1  acc:  7302 /  7535 =  96.908
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18680 / 19962 =  93.578
Robust  acc:   127 /   180 =  70.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8935 /  9767 =  91.482
0, 1  acc:  7302 /  7535 =  96.908
1, 0  acc:  2316 /  2480 =  93.387
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18680 / 19962 =  93.578
Robust  acc:   127 /   180 =  70.556
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.604 | Val Loss: 0.002 | Val Acc: 92.732
Training:
Accuracies by groups:
0, 0  acc: 15775 / 17576 =  89.753
0, 1  acc:  8518 /  8846 =  96.292
1, 0  acc: 127846 / 127961 =  99.910
1, 1  acc:  8359 /  8387 =  99.666
--------------------------------------
Average acc: 160498 / 162770 =  98.604
Robust  acc: 15775 / 17576 =  89.753
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7540 /  8535 =  88.342
0, 1  acc:  8030 /  8276 =  97.028
1, 0  acc:  2718 /  2874 =  94.572
1, 1  acc:   135 /   182 =  74.176
------------------------------------
Average acc: 18423 / 19867 =  92.732
Robust  acc:   135 /   182 =  74.176
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.227
Robust Acc: 70.556 | Best Acc: 96.841
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8841 /  9767 =  90.519
0, 1  acc:  7297 /  7535 =  96.841
1, 0  acc:  2345 /  2480 =  94.556
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18610 / 19962 =  93.227
Robust  acc:   127 /   180 =  70.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8841 /  9767 =  90.519
0, 1  acc:  7297 /  7535 =  96.841
1, 0  acc:  2345 /  2480 =  94.556
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18610 / 19962 =  93.227
Robust  acc:   127 /   180 =  70.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8841 /  9767 =  90.519
0, 1  acc:  7297 /  7535 =  96.841
1, 0  acc:  2345 /  2480 =  94.556
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18610 / 19962 =  93.227
Robust  acc:   127 /   180 =  70.556
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.619 | Val Loss: 0.002 | Val Acc: 92.822
Training:
Accuracies by groups:
0, 0  acc: 15726 / 17422 =  90.265
0, 1  acc:  8401 /  8707 =  96.486
1, 0  acc: 128179 / 128365 =  99.855
1, 1  acc:  8216 /  8276 =  99.275
--------------------------------------
Average acc: 160522 / 162770 =  98.619
Robust  acc: 15726 / 17422 =  90.265
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7521 /  8535 =  88.120
0, 1  acc:  8046 /  8276 =  97.221
1, 0  acc:  2734 /  2874 =  95.129
1, 1  acc:   140 /   182 =  76.923
------------------------------------
Average acc: 18441 / 19867 =  92.822
Robust  acc:   140 /   182 =  76.923
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.077
Robust Acc: 73.333 | Best Acc: 96.802
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8803 /  9767 =  90.130
0, 1  acc:  7294 /  7535 =  96.802
1, 0  acc:  2351 /  2480 =  94.798
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18580 / 19962 =  93.077
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8803 /  9767 =  90.130
0, 1  acc:  7294 /  7535 =  96.802
1, 0  acc:  2351 /  2480 =  94.798
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18580 / 19962 =  93.077
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8803 /  9767 =  90.130
0, 1  acc:  7294 /  7535 =  96.802
1, 0  acc:  2351 /  2480 =  94.798
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18580 / 19962 =  93.077
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.290 | Val Loss: 0.001 | Val Acc: 94.418
Training:
Accuracies by groups:
0, 0  acc: 15586 / 17568 =  88.718
0, 1  acc:  8557 /  8893 =  96.222
1, 0  acc: 127526 / 127885 =  99.719
1, 1  acc:  8317 /  8424 =  98.730
--------------------------------------
Average acc: 159986 / 162770 =  98.290
Robust  acc: 15586 / 17568 =  88.718
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7914 /  8535 =  92.724
0, 1  acc:  8130 /  8276 =  98.236
1, 0  acc:  2592 /  2874 =  90.188
1, 1  acc:   122 /   182 =  67.033
------------------------------------
Average acc: 18758 / 19867 =  94.418
Robust  acc:   122 /   182 =  67.033
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.454
Robust Acc: 60.556 | Best Acc: 97.784
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  9200 /  9767 =  94.195
0, 1  acc:  7368 /  7535 =  97.784
1, 0  acc:  2178 /  2480 =  87.823
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18855 / 19962 =  94.454
Robust  acc:   109 /   180 =  60.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9200 /  9767 =  94.195
0, 1  acc:  7368 /  7535 =  97.784
1, 0  acc:  2178 /  2480 =  87.823
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18855 / 19962 =  94.454
Robust  acc:   109 /   180 =  60.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9200 /  9767 =  94.195
0, 1  acc:  7368 /  7535 =  97.784
1, 0  acc:  2178 /  2480 =  87.823
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18855 / 19962 =  94.454
Robust  acc:   109 /   180 =  60.556
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.941 | Val Loss: 0.001 | Val Acc: 93.940
Training:
Accuracies by groups:
0, 0  acc: 15099 / 17390 =  86.826
0, 1  acc:  8383 /  8828 =  94.959
1, 0  acc: 127793 / 128277 =  99.623
1, 1  acc:  8143 /  8275 =  98.405
--------------------------------------
Average acc: 159418 / 162770 =  97.941
Robust  acc: 15099 / 17390 =  86.826
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7789 /  8535 =  91.260
0, 1  acc:  8095 /  8276 =  97.813
1, 0  acc:  2650 /  2874 =  92.206
1, 1  acc:   129 /   182 =  70.879
------------------------------------
Average acc: 18663 / 19867 =  93.940
Robust  acc:   129 /   182 =  70.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.219
Robust Acc: 64.444 | Best Acc: 97.478
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  9088 /  9767 =  93.048
0, 1  acc:  7345 /  7535 =  97.478
1, 0  acc:  2259 /  2480 =  91.089
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18808 / 19962 =  94.219
Robust  acc:   116 /   180 =  64.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9088 /  9767 =  93.048
0, 1  acc:  7345 /  7535 =  97.478
1, 0  acc:  2259 /  2480 =  91.089
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18808 / 19962 =  94.219
Robust  acc:   116 /   180 =  64.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9088 /  9767 =  93.048
0, 1  acc:  7345 /  7535 =  97.478
1, 0  acc:  2259 /  2480 =  91.089
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18808 / 19962 =  94.219
Robust  acc:   116 /   180 =  64.444
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.360 | Val Loss: 0.002 | Val Acc: 91.453
Training:
Accuracies by groups:
0, 0  acc: 14393 / 17192 =  83.719
0, 1  acc:  8236 /  8801 =  93.580
1, 0  acc: 127700 / 128405 =  99.451
1, 1  acc:  8144 /  8372 =  97.277
--------------------------------------
Average acc: 158473 / 162770 =  97.360
Robust  acc: 14393 / 17192 =  83.719
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7330 /  8535 =  85.882
0, 1  acc:  7910 /  8276 =  95.578
1, 0  acc:  2777 /  2874 =  96.625
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18169 / 19867 =  91.453
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.804
Robust Acc: 75.000 | Best Acc: 95.847
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8618 /  9767 =  88.236
0, 1  acc:  7196 /  7535 =  95.501
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18326 / 19962 =  91.804
Robust  acc:   135 /   180 =  75.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8618 /  9767 =  88.236
0, 1  acc:  7196 /  7535 =  95.501
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18326 / 19962 =  91.804
Robust  acc:   135 /   180 =  75.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8618 /  9767 =  88.236
0, 1  acc:  7196 /  7535 =  95.501
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18326 / 19962 =  91.804
Robust  acc:   135 /   180 =  75.000
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.819 | Val Loss: 0.002 | Val Acc: 89.435
Training:
Accuracies by groups:
0, 0  acc: 14536 / 17807 =  81.631
0, 1  acc:  8116 /  8802 =  92.206
1, 0  acc: 126816 / 127763 =  99.259
1, 1  acc:  8125 /  8398 =  96.749
--------------------------------------
Average acc: 157593 / 162770 =  96.819
Robust  acc: 14536 / 17807 =  81.631
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7088 /  8535 =  83.046
0, 1  acc:  7690 /  8276 =  92.919
1, 0  acc:  2816 /  2874 =  97.982
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17768 / 19867 =  89.435
Robust  acc:  7088 /  8535 =  83.046
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.126
Robust Acc: 86.111 | Best Acc: 97.500
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8449 /  9767 =  86.506
0, 1  acc:  6969 /  7535 =  92.488
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17991 / 19962 =  90.126
Robust  acc:   155 /   180 =  86.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8449 /  9767 =  86.506
0, 1  acc:  6969 /  7535 =  92.488
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17991 / 19962 =  90.126
Robust  acc:   155 /   180 =  86.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8449 /  9767 =  86.506
0, 1  acc:  6969 /  7535 =  92.488
1, 0  acc:  2418 /  2480 =  97.500
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17991 / 19962 =  90.126
Robust  acc:   155 /   180 =  86.111
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.253 | Val Loss: 0.002 | Val Acc: 90.990
Training:
Accuracies by groups:
0, 0  acc: 13861 / 17641 =  78.573
0, 1  acc:  7945 /  8785 =  90.438
1, 0  acc: 126757 / 127855 =  99.141
1, 1  acc:  8108 /  8489 =  95.512
--------------------------------------
Average acc: 156671 / 162770 =  96.253
Robust  acc: 13861 / 17641 =  78.573
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7236 /  8535 =  84.780
0, 1  acc:  7891 /  8276 =  95.348
1, 0  acc:  2788 /  2874 =  97.008
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 18077 / 19867 =  90.990
Robust  acc:  7236 /  8535 =  84.780
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.454
Robust Acc: 81.111 | Best Acc: 96.855
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8578 /  9767 =  87.826
0, 1  acc:  7130 /  7535 =  94.625
1, 0  acc:  2402 /  2480 =  96.855
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18256 / 19962 =  91.454
Robust  acc:   146 /   180 =  81.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8578 /  9767 =  87.826
0, 1  acc:  7130 /  7535 =  94.625
1, 0  acc:  2402 /  2480 =  96.855
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18256 / 19962 =  91.454
Robust  acc:   146 /   180 =  81.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8578 /  9767 =  87.826
0, 1  acc:  7130 /  7535 =  94.625
1, 0  acc:  2402 /  2480 =  96.855
1, 1  acc:   146 /   180 =  81.111
------------------------------------
Average acc: 18256 / 19962 =  91.454
Robust  acc:   146 /   180 =  81.111
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.641 | Val Loss: 0.002 | Val Acc: 90.215
Training:
Accuracies by groups:
0, 0  acc: 13232 / 17503 =  75.598
0, 1  acc:  7849 /  8926 =  87.934
1, 0  acc: 126737 / 128035 =  98.986
1, 1  acc:  7857 /  8306 =  94.594
--------------------------------------
Average acc: 155675 / 162770 =  95.641
Robust  acc: 13232 / 17503 =  75.598
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7288 /  8535 =  85.390
0, 1  acc:  7663 /  8276 =  92.593
1, 0  acc:  2800 /  2874 =  97.425
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17923 / 19867 =  90.215
Robust  acc:  7288 /  8535 =  85.390
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.798
Robust Acc: 85.000 | Best Acc: 96.452
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8601 /  9767 =  88.062
0, 1  acc:  6979 /  7535 =  92.621
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18125 / 19962 =  90.798
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8601 /  9767 =  88.062
0, 1  acc:  6979 /  7535 =  92.621
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18125 / 19962 =  90.798
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8601 /  9767 =  88.062
0, 1  acc:  6979 /  7535 =  92.621
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 18125 / 19962 =  90.798
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.216 | Val Loss: 0.002 | Val Acc: 90.603
Training:
Accuracies by groups:
0, 0  acc: 12811 / 17426 =  73.517
0, 1  acc:  7718 /  8828 =  87.426
1, 0  acc: 126734 / 128284 =  98.792
1, 1  acc:  7720 /  8232 =  93.780
--------------------------------------
Average acc: 154983 / 162770 =  95.216
Robust  acc: 12811 / 17426 =  73.517
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7256 /  8535 =  85.015
0, 1  acc:  7786 /  8276 =  94.079
1, 0  acc:  2795 /  2874 =  97.251
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 18000 / 19867 =  90.603
Robust  acc:  7256 /  8535 =  85.015
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.354
Robust Acc: 79.444 | Best Acc: 96.532
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8580 /  9767 =  87.847
0, 1  acc:  7119 /  7535 =  94.479
1, 0  acc:  2394 /  2480 =  96.532
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18236 / 19962 =  91.354
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8580 /  9767 =  87.847
0, 1  acc:  7119 /  7535 =  94.479
1, 0  acc:  2394 /  2480 =  96.532
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18236 / 19962 =  91.354
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8580 /  9767 =  87.847
0, 1  acc:  7119 /  7535 =  94.479
1, 0  acc:  2394 /  2480 =  96.532
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18236 / 19962 =  91.354
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 94.844 | Val Loss: 0.002 | Val Acc: 92.158
Training:
Accuracies by groups:
0, 0  acc: 12743 / 17604 =  72.387
0, 1  acc:  7617 /  8870 =  85.874
1, 0  acc: 126289 / 127995 =  98.667
1, 1  acc:  7729 /  8301 =  93.109
--------------------------------------
Average acc: 154378 / 162770 =  94.844
Robust  acc: 12743 / 17604 =  72.387
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7614 /  8535 =  89.209
0, 1  acc:  7858 /  8276 =  94.949
1, 0  acc:  2686 /  2874 =  93.459
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 18309 / 19867 =  92.158
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.711
Robust Acc: 70.000 | Best Acc: 95.461
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  8905 /  9767 =  91.174
0, 1  acc:  7193 /  7535 =  95.461
1, 0  acc:  2283 /  2480 =  92.056
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18507 / 19962 =  92.711
Robust  acc:   126 /   180 =  70.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8905 /  9767 =  91.174
0, 1  acc:  7193 /  7535 =  95.461
1, 0  acc:  2283 /  2480 =  92.056
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18507 / 19962 =  92.711
Robust  acc:   126 /   180 =  70.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8905 /  9767 =  91.174
0, 1  acc:  7193 /  7535 =  95.461
1, 0  acc:  2283 /  2480 =  92.056
1, 1  acc:   126 /   180 =  70.000
------------------------------------
Average acc: 18507 / 19962 =  92.711
Robust  acc:   126 /   180 =  70.000
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 94.550 | Val Loss: 0.003 | Val Acc: 88.690
Training:
Accuracies by groups:
0, 0  acc: 12612 / 17802 =  70.846
0, 1  acc:  7400 /  8744 =  84.629
1, 0  acc: 126121 / 127856 =  98.643
1, 1  acc:  7766 /  8368 =  92.806
--------------------------------------
Average acc: 153899 / 162770 =  94.550
Robust  acc: 12612 / 17802 =  70.846
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6967 /  8535 =  81.629
0, 1  acc:  7669 /  8276 =  92.666
1, 0  acc:  2815 /  2874 =  97.947
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17620 / 19867 =  88.690
Robust  acc:  6967 /  8535 =  81.629
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.761
Robust Acc: 85.502 | Best Acc: 97.903
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  8351 /  9767 =  85.502
0, 1  acc:  6980 /  7535 =  92.634
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17918 / 19962 =  89.761
Robust  acc:  8351 /  9767 =  85.502
------------------------------------
Accuracies by groups:
0, 0  acc:  8351 /  9767 =  85.502
0, 1  acc:  6980 /  7535 =  92.634
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17918 / 19962 =  89.761
Robust  acc:  8351 /  9767 =  85.502
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8351 /  9767 =  85.502
0, 1  acc:  6980 /  7535 =  92.634
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17918 / 19962 =  89.761
Robust  acc:  8351 /  9767 =  85.502
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.292 | Val Loss: 0.004 | Val Acc: 81.613
Training:
Accuracies by groups:
0, 0  acc: 12201 / 17579 =  69.407
0, 1  acc:  7165 /  8670 =  82.641
1, 0  acc: 126412 / 128213 =  98.595
1, 1  acc:  7701 /  8308 =  92.694
--------------------------------------
Average acc: 153479 / 162770 =  94.292
Robust  acc: 12201 / 17579 =  69.407
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6217 /  8535 =  72.841
0, 1  acc:  6974 /  8276 =  84.268
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16214 / 19867 =  81.613
Robust  acc:  6217 /  8535 =  72.841
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.318
Robust Acc: 78.325 | Best Acc: 98.831
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  7650 /  9767 =  78.325
0, 1  acc:  6362 /  7535 =  84.433
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16632 / 19962 =  83.318
Robust  acc:  7650 /  9767 =  78.325
------------------------------------
Accuracies by groups:
0, 0  acc:  7650 /  9767 =  78.325
0, 1  acc:  6362 /  7535 =  84.433
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16632 / 19962 =  83.318
Robust  acc:  7650 /  9767 =  78.325
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7650 /  9767 =  78.325
0, 1  acc:  6362 /  7535 =  84.433
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16632 / 19962 =  83.318
Robust  acc:  7650 /  9767 =  78.325
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.177 | Val Loss: 0.003 | Val Acc: 91.705
Training:
Accuracies by groups:
0, 0  acc: 12099 / 17613 =  68.694
0, 1  acc:  7108 /  8746 =  81.271
1, 0  acc: 126250 / 128001 =  98.632
1, 1  acc:  7835 /  8410 =  93.163
--------------------------------------
Average acc: 153292 / 162770 =  94.177
Robust  acc: 12099 / 17613 =  68.694
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7490 /  8535 =  87.756
0, 1  acc:  7864 /  8276 =  95.022
1, 0  acc:  2722 /  2874 =  94.711
1, 1  acc:   143 /   182 =  78.571
------------------------------------
Average acc: 18219 / 19867 =  91.705
Robust  acc:   143 /   182 =  78.571
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.706
Robust Acc: 75.000 | Best Acc: 95.461
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  8857 /  9767 =  90.683
0, 1  acc:  7193 /  7535 =  95.461
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18506 / 19962 =  92.706
Robust  acc:   135 /   180 =  75.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8857 /  9767 =  90.683
0, 1  acc:  7193 /  7535 =  95.461
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18506 / 19962 =  92.706
Robust  acc:   135 /   180 =  75.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8857 /  9767 =  90.683
0, 1  acc:  7193 /  7535 =  95.461
1, 0  acc:  2321 /  2480 =  93.589
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18506 / 19962 =  92.706
Robust  acc:   135 /   180 =  75.000
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.069 | Val Loss: 0.004 | Val Acc: 83.802
Training:
Accuracies by groups:
0, 0  acc: 11871 / 17540 =  67.680
0, 1  acc:  7007 /  8692 =  80.614
1, 0  acc: 126499 / 128221 =  98.657
1, 1  acc:  7739 /  8317 =  93.050
--------------------------------------
Average acc: 153116 / 162770 =  94.069
Robust  acc: 11871 / 17540 =  67.680
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6415 /  8535 =  75.161
0, 1  acc:  7217 /  8276 =  87.204
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16649 / 19867 =  83.802
Robust  acc:  6415 /  8535 =  75.161
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.563
Robust Acc: 80.301 | Best Acc: 98.669
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  7843 /  9767 =  80.301
0, 1  acc:  6626 /  7535 =  87.936
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17080 / 19962 =  85.563
Robust  acc:  7843 /  9767 =  80.301
------------------------------------
Accuracies by groups:
0, 0  acc:  7843 /  9767 =  80.301
0, 1  acc:  6626 /  7535 =  87.936
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17080 / 19962 =  85.563
Robust  acc:  7843 /  9767 =  80.301
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7843 /  9767 =  80.301
0, 1  acc:  6626 /  7535 =  87.936
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17080 / 19962 =  85.563
Robust  acc:  7843 /  9767 =  80.301
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.048 | Val Loss: 0.003 | Val Acc: 86.908
Training:
Accuracies by groups:
0, 0  acc: 11770 / 17456 =  67.427
0, 1  acc:  7103 /  8827 =  80.469
1, 0  acc: 126357 / 128076 =  98.658
1, 1  acc:  7852 /  8411 =  93.354
--------------------------------------
Average acc: 153082 / 162770 =  94.048
Robust  acc: 11770 / 17456 =  67.427
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6814 /  8535 =  79.836
0, 1  acc:  7468 /  8276 =  90.237
1, 0  acc:  2813 /  2874 =  97.878
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17266 / 19867 =  86.908
Robust  acc:  6814 /  8535 =  79.836
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.248
Robust Acc: 84.355 | Best Acc: 97.379
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  8239 /  9767 =  84.355
0, 1  acc:  6799 /  7535 =  90.232
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17616 / 19962 =  88.248
Robust  acc:  8239 /  9767 =  84.355
------------------------------------
Accuracies by groups:
0, 0  acc:  8239 /  9767 =  84.355
0, 1  acc:  6799 /  7535 =  90.232
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17616 / 19962 =  88.248
Robust  acc:  8239 /  9767 =  84.355
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8239 /  9767 =  84.355
0, 1  acc:  6799 /  7535 =  90.232
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17616 / 19962 =  88.248
Robust  acc:  8239 /  9767 =  84.355
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 93.985 | Val Loss: 0.007 | Val Acc: 55.011
Training:
Accuracies by groups:
0, 0  acc: 11846 / 17635 =  67.173
0, 1  acc:  7112 /  8900 =  79.910
1, 0  acc: 126214 / 127918 =  98.668
1, 1  acc:  7807 /  8317 =  93.868
--------------------------------------
Average acc: 152979 / 162770 =  93.985
Robust  acc: 11846 / 17635 =  67.173
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3549 /  8535 =  41.582
0, 1  acc:  4327 /  8276 =  52.284
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10929 / 19867 =  55.011
Robust  acc:  3549 /  8535 =  41.582
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 55.611
Robust Acc: 46.360 | Best Acc: 99.839
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  4528 /  9767 =  46.360
0, 1  acc:  3920 /  7535 =  52.024
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11101 / 19962 =  55.611
Robust  acc:  4528 /  9767 =  46.360
------------------------------------
Accuracies by groups:
0, 0  acc:  4528 /  9767 =  46.360
0, 1  acc:  3920 /  7535 =  52.024
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11101 / 19962 =  55.611
Robust  acc:  4528 /  9767 =  46.360
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4528 /  9767 =  46.360
0, 1  acc:  3920 /  7535 =  52.024
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 11101 / 19962 =  55.611
Robust  acc:  4528 /  9767 =  46.360
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 93.851 | Val Loss: 0.003 | Val Acc: 88.197
Training:
Accuracies by groups:
0, 0  acc: 11606 / 17544 =  66.154
0, 1  acc:  6674 /  8633 =  77.308
1, 0  acc: 126745 / 128322 =  98.771
1, 1  acc:  7736 /  8271 =  93.532
--------------------------------------
Average acc: 152761 / 162770 =  93.851
Robust  acc: 11606 / 17544 =  66.154
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6954 /  8535 =  81.476
0, 1  acc:  7586 /  8276 =  91.663
1, 0  acc:  2820 /  2874 =  98.121
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17522 / 19867 =  88.197
Robust  acc:  6954 /  8535 =  81.476
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.520
Robust Acc: 85.556 | Best Acc: 97.177
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  8385 /  9767 =  85.850
0, 1  acc:  6921 /  7535 =  91.851
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17870 / 19962 =  89.520
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8385 /  9767 =  85.850
0, 1  acc:  6921 /  7535 =  91.851
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17870 / 19962 =  89.520
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8385 /  9767 =  85.850
0, 1  acc:  6921 /  7535 =  91.851
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17870 / 19962 =  89.520
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 93.866 | Val Loss: 0.006 | Val Acc: 69.024
Training:
Accuracies by groups:
0, 0  acc: 11604 / 17672 =  65.663
0, 1  acc:  6788 /  8756 =  77.524
1, 0  acc: 126562 / 128007 =  98.871
1, 1  acc:  7832 /  8335 =  93.965
--------------------------------------
Average acc: 152786 / 162770 =  93.866
Robust  acc: 11604 / 17672 =  65.663
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4997 /  8535 =  58.547
0, 1  acc:  5673 /  8276 =  68.548
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13713 / 19867 =  69.024
Robust  acc:  4997 /  8535 =  58.547
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.870
Robust Acc: 64.452 | Best Acc: 99.637
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  6295 /  9767 =  64.452
0, 1  acc:  5204 /  7535 =  69.064
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14147 / 19962 =  70.870
Robust  acc:  6295 /  9767 =  64.452
------------------------------------
Accuracies by groups:
0, 0  acc:  6295 /  9767 =  64.452
0, 1  acc:  5204 /  7535 =  69.064
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14147 / 19962 =  70.870
Robust  acc:  6295 /  9767 =  64.452
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6295 /  9767 =  64.452
0, 1  acc:  5204 /  7535 =  69.064
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14147 / 19962 =  70.870
Robust  acc:  6295 /  9767 =  64.452
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 93.825 | Val Loss: 0.003 | Val Acc: 90.144
Training:
Accuracies by groups:
0, 0  acc: 11438 / 17512 =  65.315
0, 1  acc:  6776 /  8788 =  77.105
1, 0  acc: 126776 / 128270 =  98.835
1, 1  acc:  7729 /  8200 =  94.256
--------------------------------------
Average acc: 152719 / 162770 =  93.825
Robust  acc: 11438 / 17512 =  65.315
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7332 /  8535 =  85.905
0, 1  acc:  7647 /  8276 =  92.400
1, 0  acc:  2766 /  2874 =  96.242
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 17909 / 19867 =  90.144
Robust  acc:  7332 /  8535 =  85.905
------------------------------------
New max robust acc: 85.90509666080844
debias model - Saving best checkpoint at epoch 27
replace: True
-> Updating checkpoint debias-wga-best_seed26.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed26.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.218
Robust Acc: 83.333 | Best Acc: 95.323
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  8691 /  9767 =  88.983
0, 1  acc:  7004 /  7535 =  92.953
1, 0  acc:  2364 /  2480 =  95.323
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18209 / 19962 =  91.218
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8691 /  9767 =  88.983
0, 1  acc:  7004 /  7535 =  92.953
1, 0  acc:  2364 /  2480 =  95.323
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18209 / 19962 =  91.218
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8691 /  9767 =  88.983
0, 1  acc:  7004 /  7535 =  92.953
1, 0  acc:  2364 /  2480 =  95.323
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18209 / 19962 =  91.218
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 93.826 | Val Loss: 0.005 | Val Acc: 77.002
Training:
Accuracies by groups:
0, 0  acc: 11676 / 17696 =  65.981
0, 1  acc:  6655 /  8737 =  76.170
1, 0  acc: 126435 / 127918 =  98.841
1, 1  acc:  7954 /  8419 =  94.477
--------------------------------------
Average acc: 152720 / 162770 =  93.826
Robust  acc: 11676 / 17696 =  65.981
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5960 /  8535 =  69.830
0, 1  acc:  6311 /  8276 =  76.257
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15298 / 19867 =  77.002
Robust  acc:  5960 /  8535 =  69.830
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.805
Robust Acc: 75.674 | Best Acc: 98.790
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  7409 /  9767 =  75.857
0, 1  acc:  5702 /  7535 =  75.674
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15731 / 19962 =  78.805
Robust  acc:  5702 /  7535 =  75.674
------------------------------------
Accuracies by groups:
0, 0  acc:  7409 /  9767 =  75.857
0, 1  acc:  5702 /  7535 =  75.674
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15731 / 19962 =  78.805
Robust  acc:  5702 /  7535 =  75.674
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7409 /  9767 =  75.857
0, 1  acc:  5702 /  7535 =  75.674
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 15731 / 19962 =  78.805
Robust  acc:  5702 /  7535 =  75.674
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 93.855 | Val Loss: 0.003 | Val Acc: 90.532
Training:
Accuracies by groups:
0, 0  acc: 11273 / 17238 =  65.396
0, 1  acc:  6735 /  8835 =  76.231
1, 0  acc: 126901 / 128340 =  98.879
1, 1  acc:  7859 /  8357 =  94.041
--------------------------------------
Average acc: 152768 / 162770 =  93.855
Robust  acc: 11273 / 17238 =  65.396
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7387 /  8535 =  86.550
0, 1  acc:  7709 /  8276 =  93.149
1, 0  acc:  2730 /  2874 =  94.990
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 17986 / 19867 =  90.532
Robust  acc:  7387 /  8535 =  86.550
------------------------------------
New max robust acc: 86.5495020503808
debias model - Saving best checkpoint at epoch 29
replace: True
-> Updating checkpoint debias-wga-best_seed26.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed26.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.749
Robust Acc: 77.778 | Best Acc: 94.435
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  8784 /  9767 =  89.935
0, 1  acc:  7049 /  7535 =  93.550
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18315 / 19962 =  91.749
Robust  acc:   140 /   180 =  77.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8784 /  9767 =  89.935
0, 1  acc:  7049 /  7535 =  93.550
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18315 / 19962 =  91.749
Robust  acc:   140 /   180 =  77.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8784 /  9767 =  89.935
0, 1  acc:  7049 /  7535 =  93.550
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   140 /   180 =  77.778
------------------------------------
Average acc: 18315 / 19962 =  91.749
Robust  acc:   140 /   180 =  77.778
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 93.807 | Val Loss: 0.005 | Val Acc: 76.750
Training:
Accuracies by groups:
0, 0  acc: 11538 / 17636 =  65.423
0, 1  acc:  6678 /  8728 =  76.512
1, 0  acc: 126661 / 128121 =  98.860
1, 1  acc:  7813 /  8285 =  94.303
--------------------------------------
Average acc: 152690 / 162770 =  93.807
Robust  acc: 11538 / 17636 =  65.423
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6004 /  8535 =  70.346
0, 1  acc:  6209 /  8276 =  75.024
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15248 / 19867 =  76.750
Robust  acc:  6004 /  8535 =  70.346
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 78.865
Robust Acc: 75.090 | Best Acc: 98.911
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  7456 /  9767 =  76.339
0, 1  acc:  5658 /  7535 =  75.090
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15743 / 19962 =  78.865
Robust  acc:  5658 /  7535 =  75.090
------------------------------------
Accuracies by groups:
0, 0  acc:  7456 /  9767 =  76.339
0, 1  acc:  5658 /  7535 =  75.090
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15743 / 19962 =  78.865
Robust  acc:  5658 /  7535 =  75.090
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7456 /  9767 =  76.339
0, 1  acc:  5658 /  7535 =  75.090
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15743 / 19962 =  78.865
Robust  acc:  5658 /  7535 =  75.090
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 93.810 | Val Loss: 0.003 | Val Acc: 87.225
Training:
Accuracies by groups:
0, 0  acc: 11330 / 17473 =  64.843
0, 1  acc:  6760 /  8798 =  76.836
1, 0  acc: 126715 / 128157 =  98.875
1, 1  acc:  7890 /  8342 =  94.582
--------------------------------------
Average acc: 152695 / 162770 =  93.810
Robust  acc: 11330 / 17473 =  64.843
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6908 /  8535 =  80.937
0, 1  acc:  7448 /  8276 =  89.995
1, 0  acc:  2805 /  2874 =  97.599
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17329 / 19867 =  87.225
Robust  acc:  6908 /  8535 =  80.937
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.694
Robust Acc: 85.226 | Best Acc: 97.298
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  8324 /  9767 =  85.226
0, 1  acc:  6812 /  7535 =  90.405
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17705 / 19962 =  88.694
Robust  acc:  8324 /  9767 =  85.226
------------------------------------
Accuracies by groups:
0, 0  acc:  8324 /  9767 =  85.226
0, 1  acc:  6812 /  7535 =  90.405
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17705 / 19962 =  88.694
Robust  acc:  8324 /  9767 =  85.226
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8324 /  9767 =  85.226
0, 1  acc:  6812 /  7535 =  90.405
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17705 / 19962 =  88.694
Robust  acc:  8324 /  9767 =  85.226
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 93.842 | Val Loss: 0.002 | Val Acc: 93.894
Training:
Accuracies by groups:
0, 0  acc: 11535 / 17541 =  65.760
0, 1  acc:  6700 /  8883 =  75.425
1, 0  acc: 126664 / 128025 =  98.937
1, 1  acc:  7848 /  8321 =  94.316
--------------------------------------
Average acc: 152747 / 162770 =  93.842
Robust  acc: 11535 / 17541 =  65.760
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7943 /  8535 =  93.064
0, 1  acc:  8040 /  8276 =  97.148
1, 0  acc:  2545 /  2874 =  88.553
1, 1  acc:   126 /   182 =  69.231
------------------------------------
Average acc: 18654 / 19867 =  93.894
Robust  acc:   126 /   182 =  69.231
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.279
Robust Acc: 60.556 | Best Acc: 97.001
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  9237 /  9767 =  94.574
0, 1  acc:  7309 /  7535 =  97.001
1, 0  acc:  2165 /  2480 =  87.298
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18820 / 19962 =  94.279
Robust  acc:   109 /   180 =  60.556
------------------------------------
Accuracies by groups:
0, 0  acc:  9237 /  9767 =  94.574
0, 1  acc:  7309 /  7535 =  97.001
1, 0  acc:  2165 /  2480 =  87.298
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18820 / 19962 =  94.279
Robust  acc:   109 /   180 =  60.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9237 /  9767 =  94.574
0, 1  acc:  7309 /  7535 =  97.001
1, 0  acc:  2165 /  2480 =  87.298
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18820 / 19962 =  94.279
Robust  acc:   109 /   180 =  60.556
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 93.963 | Val Loss: 0.003 | Val Acc: 87.522
Training:
Accuracies by groups:
0, 0  acc: 11611 / 17601 =  65.968
0, 1  acc:  6651 /  8673 =  76.686
1, 0  acc: 126822 / 128200 =  98.925
1, 1  acc:  7860 /  8296 =  94.744
--------------------------------------
Average acc: 152944 / 162770 =  93.963
Robust  acc: 11611 / 17601 =  65.968
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6901 /  8535 =  80.855
0, 1  acc:  7511 /  8276 =  90.756
1, 0  acc:  2808 /  2874 =  97.704
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17388 / 19867 =  87.522
Robust  acc:  6901 /  8535 =  80.855
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.764
Robust Acc: 83.889 | Best Acc: 97.661
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  8272 /  9767 =  84.693
0, 1  acc:  6874 /  7535 =  91.228
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17719 / 19962 =  88.764
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8272 /  9767 =  84.693
0, 1  acc:  6874 /  7535 =  91.228
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17719 / 19962 =  88.764
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8272 /  9767 =  84.693
0, 1  acc:  6874 /  7535 =  91.228
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17719 / 19962 =  88.764
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 93.806 | Val Loss: 0.003 | Val Acc: 89.983
Training:
Accuracies by groups:
0, 0  acc: 11391 / 17320 =  65.768
0, 1  acc:  6723 /  8881 =  75.701
1, 0  acc: 126776 / 128259 =  98.844
1, 1  acc:  7798 /  8310 =  93.839
--------------------------------------
Average acc: 152688 / 162770 =  93.806
Robust  acc: 11391 / 17320 =  65.768
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7379 /  8535 =  86.456
0, 1  acc:  7616 /  8276 =  92.025
1, 0  acc:  2730 /  2874 =  94.990
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 17877 / 19867 =  89.983
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.193
Robust Acc: 80.556 | Best Acc: 93.871
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  8805 /  9767 =  90.151
0, 1  acc:  6926 /  7535 =  91.918
1, 0  acc:  2328 /  2480 =  93.871
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18204 / 19962 =  91.193
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8805 /  9767 =  90.151
0, 1  acc:  6926 /  7535 =  91.918
1, 0  acc:  2328 /  2480 =  93.871
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18204 / 19962 =  91.193
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8805 /  9767 =  90.151
0, 1  acc:  6926 /  7535 =  91.918
1, 0  acc:  2328 /  2480 =  93.871
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18204 / 19962 =  91.193
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 93.802 | Val Loss: 0.003 | Val Acc: 91.428
Training:
Accuracies by groups:
0, 0  acc: 11403 / 17532 =  65.041
0, 1  acc:  6597 /  8600 =  76.709
1, 0  acc: 126681 / 128167 =  98.841
1, 1  acc:  8000 /  8471 =  94.440
--------------------------------------
Average acc: 152681 / 162770 =  93.802
Robust  acc: 11403 / 17532 =  65.041
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7385 /  8535 =  86.526
0, 1  acc:  7879 /  8276 =  95.203
1, 0  acc:  2751 /  2874 =  95.720
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 18164 / 19867 =  91.428
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.406
Robust Acc: 77.222 | Best Acc: 95.488
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8747 /  9767 =  89.557
0, 1  acc:  7195 /  7535 =  95.488
1, 0  acc:  2365 /  2480 =  95.363
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18446 / 19962 =  92.406
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8747 /  9767 =  89.557
0, 1  acc:  7195 /  7535 =  95.488
1, 0  acc:  2365 /  2480 =  95.363
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18446 / 19962 =  92.406
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8747 /  9767 =  89.557
0, 1  acc:  7195 /  7535 =  95.488
1, 0  acc:  2365 /  2480 =  95.363
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18446 / 19962 =  92.406
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 93.843 | Val Loss: 0.004 | Val Acc: 79.776
Training:
Accuracies by groups:
0, 0  acc: 11483 / 17494 =  65.640
0, 1  acc:  6667 /  8699 =  76.641
1, 0  acc: 126842 / 128321 =  98.847
1, 1  acc:  7757 /  8256 =  93.956
--------------------------------------
Average acc: 152749 / 162770 =  93.843
Robust  acc: 11483 / 17494 =  65.640
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5706 /  8535 =  66.854
0, 1  acc:  7120 /  8276 =  86.032
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 15849 / 19867 =  79.776
Robust  acc:  5706 /  8535 =  66.854
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.485
Robust Acc: 73.195 | Best Acc: 99.032
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  7149 /  9767 =  73.195
0, 1  acc:  6499 /  7535 =  86.251
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16266 / 19962 =  81.485
Robust  acc:  7149 /  9767 =  73.195
------------------------------------
Accuracies by groups:
0, 0  acc:  7149 /  9767 =  73.195
0, 1  acc:  6499 /  7535 =  86.251
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16266 / 19962 =  81.485
Robust  acc:  7149 /  9767 =  73.195
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7149 /  9767 =  73.195
0, 1  acc:  6499 /  7535 =  86.251
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16266 / 19962 =  81.485
Robust  acc:  7149 /  9767 =  73.195
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 93.916 | Val Loss: 0.004 | Val Acc: 83.072
Training:
Accuracies by groups:
0, 0  acc: 11657 / 17577 =  66.320
0, 1  acc:  6816 /  8850 =  77.017
1, 0  acc: 126656 / 128118 =  98.859
1, 1  acc:  7738 /  8225 =  94.079
--------------------------------------
Average acc: 152867 / 162770 =  93.916
Robust  acc: 11657 / 17577 =  66.320
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6334 /  8535 =  74.212
0, 1  acc:  7142 /  8276 =  86.298
1, 0  acc:  2850 /  2874 =  99.165
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16504 / 19867 =  83.072
Robust  acc:  6334 /  8535 =  74.212
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.896
Robust Acc: 79.134 | Best Acc: 98.629
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  7729 /  9767 =  79.134
0, 1  acc:  6607 /  7535 =  87.684
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16947 / 19962 =  84.896
Robust  acc:  7729 /  9767 =  79.134
------------------------------------
Accuracies by groups:
0, 0  acc:  7729 /  9767 =  79.134
0, 1  acc:  6607 /  7535 =  87.684
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16947 / 19962 =  84.896
Robust  acc:  7729 /  9767 =  79.134
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7729 /  9767 =  79.134
0, 1  acc:  6607 /  7535 =  87.684
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16947 / 19962 =  84.896
Robust  acc:  7729 /  9767 =  79.134
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 93.844 | Val Loss: 0.003 | Val Acc: 92.993
Training:
Accuracies by groups:
0, 0  acc: 11456 / 17433 =  65.714
0, 1  acc:  6908 /  8952 =  77.167
1, 0  acc: 126456 / 127960 =  98.825
1, 1  acc:  7930 /  8425 =  94.125
--------------------------------------
Average acc: 152750 / 162770 =  93.844
Robust  acc: 11456 / 17433 =  65.714
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7644 /  8535 =  89.561
0, 1  acc:  8007 /  8276 =  96.750
1, 0  acc:  2689 /  2874 =  93.563
1, 1  acc:   135 /   182 =  74.176
------------------------------------
Average acc: 18475 / 19867 =  92.993
Robust  acc:   135 /   182 =  74.176
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.302
Robust Acc: 68.889 | Best Acc: 96.510
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  8954 /  9767 =  91.676
0, 1  acc:  7272 /  7535 =  96.510
1, 0  acc:  2275 /  2480 =  91.734
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18625 / 19962 =  93.302
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8954 /  9767 =  91.676
0, 1  acc:  7272 /  7535 =  96.510
1, 0  acc:  2275 /  2480 =  91.734
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18625 / 19962 =  93.302
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8954 /  9767 =  91.676
0, 1  acc:  7272 /  7535 =  96.510
1, 0  acc:  2275 /  2480 =  91.734
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18625 / 19962 =  93.302
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 93.926 | Val Loss: 0.004 | Val Acc: 81.467
Training:
Accuracies by groups:
0, 0  acc: 11678 / 17657 =  66.138
0, 1  acc:  6833 /  8811 =  77.551
1, 0  acc: 126479 / 127916 =  98.877
1, 1  acc:  7894 /  8386 =  94.133
--------------------------------------
Average acc: 152884 / 162770 =  93.926
Robust  acc: 11678 / 17657 =  66.138
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6294 /  8535 =  73.743
0, 1  acc:  6869 /  8276 =  82.999
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16185 / 19867 =  81.467
Robust  acc:  6294 /  8535 =  73.743
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.383
Robust Acc: 79.369 | Best Acc: 98.790
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  7752 /  9767 =  79.369
0, 1  acc:  6272 /  7535 =  83.238
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16645 / 19962 =  83.383
Robust  acc:  7752 /  9767 =  79.369
------------------------------------
Accuracies by groups:
0, 0  acc:  7752 /  9767 =  79.369
0, 1  acc:  6272 /  7535 =  83.238
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16645 / 19962 =  83.383
Robust  acc:  7752 /  9767 =  79.369
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7752 /  9767 =  79.369
0, 1  acc:  6272 /  7535 =  83.238
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16645 / 19962 =  83.383
Robust  acc:  7752 /  9767 =  79.369
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.017 | Val Loss: 0.003 | Val Acc: 88.856
Training:
Accuracies by groups:
0, 0  acc: 11553 / 17349 =  66.592
0, 1  acc:  6900 /  8876 =  77.738
1, 0  acc: 126690 / 128178 =  98.839
1, 1  acc:  7888 /  8367 =  94.275
--------------------------------------
Average acc: 153031 / 162770 =  94.017
Robust  acc: 11553 / 17349 =  66.592
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7279 /  8535 =  85.284
0, 1  acc:  7519 /  8276 =  90.853
1, 0  acc:  2700 /  2874 =  93.946
1, 1  acc:   155 /   182 =  85.165
------------------------------------
Average acc: 17653 / 19867 =  88.856
Robust  acc:   155 /   182 =  85.165
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.151
Robust Acc: 79.444 | Best Acc: 93.548
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  8701 /  9767 =  89.086
0, 1  acc:  6832 /  7535 =  90.670
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17996 / 19962 =  90.151
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8701 /  9767 =  89.086
0, 1  acc:  6832 /  7535 =  90.670
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17996 / 19962 =  90.151
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8701 /  9767 =  89.086
0, 1  acc:  6832 /  7535 =  90.670
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17996 / 19962 =  90.151
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 93.955 | Val Loss: 0.005 | Val Acc: 69.834
Training:
Accuracies by groups:
0, 0  acc: 11489 / 17442 =  65.870
0, 1  acc:  6798 /  8738 =  77.798
1, 0  acc: 126871 / 128325 =  98.867
1, 1  acc:  7772 /  8265 =  94.035
--------------------------------------
Average acc: 152930 / 162770 =  93.955
Robust  acc: 11489 / 17442 =  65.870
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5052 /  8535 =  59.192
0, 1  acc:  5782 /  8276 =  69.865
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 13874 / 19867 =  69.834
Robust  acc:  5052 /  8535 =  59.192
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 71.315
Robust Acc: 64.677 | Best Acc: 99.194
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  6317 /  9767 =  64.677
0, 1  acc:  5284 /  7535 =  70.126
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14236 / 19962 =  71.315
Robust  acc:  6317 /  9767 =  64.677
------------------------------------
Accuracies by groups:
0, 0  acc:  6317 /  9767 =  64.677
0, 1  acc:  5284 /  7535 =  70.126
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14236 / 19962 =  71.315
Robust  acc:  6317 /  9767 =  64.677
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6317 /  9767 =  64.677
0, 1  acc:  5284 /  7535 =  70.126
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14236 / 19962 =  71.315
Robust  acc:  6317 /  9767 =  64.677
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.031 | Val Loss: 0.004 | Val Acc: 81.527
Training:
Accuracies by groups:
0, 0  acc: 11618 / 17456 =  66.556
0, 1  acc:  7036 /  8945 =  78.658
1, 0  acc: 126627 / 128075 =  98.869
1, 1  acc:  7774 /  8294 =  93.730
--------------------------------------
Average acc: 153055 / 162770 =  94.031
Robust  acc: 11618 / 17456 =  66.556
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6324 /  8535 =  74.095
0, 1  acc:  6864 /  8276 =  82.939
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16197 / 19867 =  81.527
Robust  acc:  6324 /  8535 =  74.095
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.208
Robust Acc: 79.072 | Best Acc: 98.185
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  7723 /  9767 =  79.072
0, 1  acc:  6287 /  7535 =  83.437
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16610 / 19962 =  83.208
Robust  acc:  7723 /  9767 =  79.072
------------------------------------
Accuracies by groups:
0, 0  acc:  7723 /  9767 =  79.072
0, 1  acc:  6287 /  7535 =  83.437
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16610 / 19962 =  83.208
Robust  acc:  7723 /  9767 =  79.072
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7723 /  9767 =  79.072
0, 1  acc:  6287 /  7535 =  83.437
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16610 / 19962 =  83.208
Robust  acc:  7723 /  9767 =  79.072
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.157 | Val Loss: 0.008 | Val Acc: 52.645
Training:
Accuracies by groups:
0, 0  acc: 11683 / 17345 =  67.357
0, 1  acc:  6836 /  8780 =  77.859
1, 0  acc: 126996 / 128417 =  98.893
1, 1  acc:  7745 /  8228 =  94.130
--------------------------------------
Average acc: 153260 / 162770 =  94.157
Robust  acc: 11683 / 17345 =  67.357
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3159 /  8535 =  37.012
0, 1  acc:  4248 /  8276 =  51.329
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 10459 / 19867 =  52.645
Robust  acc:  3159 /  8535 =  37.012
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 52.820
Robust Acc: 41.671 | Best Acc: 99.839
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  4070 /  9767 =  41.671
0, 1  acc:  3820 /  7535 =  50.697
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10544 / 19962 =  52.820
Robust  acc:  4070 /  9767 =  41.671
------------------------------------
Accuracies by groups:
0, 0  acc:  4070 /  9767 =  41.671
0, 1  acc:  3820 /  7535 =  50.697
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10544 / 19962 =  52.820
Robust  acc:  4070 /  9767 =  41.671
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4070 /  9767 =  41.671
0, 1  acc:  3820 /  7535 =  50.697
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10544 / 19962 =  52.820
Robust  acc:  4070 /  9767 =  41.671
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.095 | Val Loss: 0.004 | Val Acc: 82.841
Training:
Accuracies by groups:
0, 0  acc: 11593 / 17385 =  66.684
0, 1  acc:  6850 /  8702 =  78.718
1, 0  acc: 126897 / 128361 =  98.859
1, 1  acc:  7818 /  8322 =  93.944
--------------------------------------
Average acc: 153158 / 162770 =  94.095
Robust  acc: 11593 / 17385 =  66.684
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6385 /  8535 =  74.810
0, 1  acc:  7066 /  8276 =  85.379
1, 0  acc:  2833 /  2874 =  98.573
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16458 / 19867 =  82.841
Robust  acc:  6385 /  8535 =  74.810
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.486
Robust Acc: 80.414 | Best Acc: 98.185
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  7854 /  9767 =  80.414
0, 1  acc:  6412 /  7535 =  85.096
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16865 / 19962 =  84.486
Robust  acc:  7854 /  9767 =  80.414
------------------------------------
Accuracies by groups:
0, 0  acc:  7854 /  9767 =  80.414
0, 1  acc:  6412 /  7535 =  85.096
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16865 / 19962 =  84.486
Robust  acc:  7854 /  9767 =  80.414
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7854 /  9767 =  80.414
0, 1  acc:  6412 /  7535 =  85.096
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16865 / 19962 =  84.486
Robust  acc:  7854 /  9767 =  80.414
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.106 | Val Loss: 0.003 | Val Acc: 87.049
Training:
Accuracies by groups:
0, 0  acc: 11585 / 17504 =  66.185
0, 1  acc:  6826 /  8632 =  79.078
1, 0  acc: 126743 / 128147 =  98.904
1, 1  acc:  8022 /  8487 =  94.521
--------------------------------------
Average acc: 153176 / 162770 =  94.106
Robust  acc: 11585 / 17504 =  66.185
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6810 /  8535 =  79.789
0, 1  acc:  7503 /  8276 =  90.660
1, 0  acc:  2815 /  2874 =  97.947
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17294 / 19867 =  87.049
Robust  acc:  6810 /  8535 =  79.789
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.403
Robust Acc: 84.089 | Best Acc: 97.540
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  8213 /  9767 =  84.089
0, 1  acc:  6858 /  7535 =  91.015
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17647 / 19962 =  88.403
Robust  acc:  8213 /  9767 =  84.089
------------------------------------
Accuracies by groups:
0, 0  acc:  8213 /  9767 =  84.089
0, 1  acc:  6858 /  7535 =  91.015
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17647 / 19962 =  88.403
Robust  acc:  8213 /  9767 =  84.089
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8213 /  9767 =  84.089
0, 1  acc:  6858 /  7535 =  91.015
1, 0  acc:  2419 /  2480 =  97.540
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17647 / 19962 =  88.403
Robust  acc:  8213 /  9767 =  84.089
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.081 | Val Loss: 0.004 | Val Acc: 83.712
Training:
Accuracies by groups:
0, 0  acc: 11902 / 17736 =  67.106
0, 1  acc:  6865 /  8730 =  78.637
1, 0  acc: 126379 / 127806 =  98.883
1, 1  acc:  7990 /  8498 =  94.022
--------------------------------------
Average acc: 153136 / 162770 =  94.081
Robust  acc: 11902 / 17736 =  67.106
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6436 /  8535 =  75.407
0, 1  acc:  7190 /  8276 =  86.878
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16631 / 19867 =  83.712
Robust  acc:  6436 /  8535 =  75.407
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.197
Robust Acc: 80.066 | Best Acc: 98.669
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  7820 /  9767 =  80.066
0, 1  acc:  6577 /  7535 =  87.286
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17007 / 19962 =  85.197
Robust  acc:  7820 /  9767 =  80.066
------------------------------------
Accuracies by groups:
0, 0  acc:  7820 /  9767 =  80.066
0, 1  acc:  6577 /  7535 =  87.286
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17007 / 19962 =  85.197
Robust  acc:  7820 /  9767 =  80.066
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7820 /  9767 =  80.066
0, 1  acc:  6577 /  7535 =  87.286
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17007 / 19962 =  85.197
Robust  acc:  7820 /  9767 =  80.066
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 93.994 | Val Loss: 0.006 | Val Acc: 64.358
Training:
Accuracies by groups:
0, 0  acc: 11745 / 17682 =  66.423
0, 1  acc:  6899 /  8733 =  78.999
1, 0  acc: 126562 / 128023 =  98.859
1, 1  acc:  7788 /  8332 =  93.471
--------------------------------------
Average acc: 152994 / 162770 =  93.994
Robust  acc: 11745 / 17682 =  66.423
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4844 /  8535 =  56.755
0, 1  acc:  4898 /  8276 =  59.183
1, 0  acc:  2863 /  2874 =  99.617
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12786 / 19867 =  64.358
Robust  acc:  4844 /  8535 =  56.755
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 65.910
Robust Acc: 58.726 | Best Acc: 99.194
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  6094 /  9767 =  62.394
0, 1  acc:  4425 /  7535 =  58.726
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13157 / 19962 =  65.910
Robust  acc:  4425 /  7535 =  58.726
------------------------------------
Accuracies by groups:
0, 0  acc:  6094 /  9767 =  62.394
0, 1  acc:  4425 /  7535 =  58.726
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13157 / 19962 =  65.910
Robust  acc:  4425 /  7535 =  58.726
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6094 /  9767 =  62.394
0, 1  acc:  4425 /  7535 =  58.726
1, 0  acc:  2460 /  2480 =  99.194
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13157 / 19962 =  65.910
Robust  acc:  4425 /  7535 =  58.726
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.092 | Val Loss: 0.003 | Val Acc: 88.775
Training:
Accuracies by groups:
0, 0  acc: 11735 / 17532 =  66.935
0, 1  acc:  6883 /  8758 =  78.591
1, 0  acc: 126755 / 128191 =  98.880
1, 1  acc:  7781 /  8289 =  93.871
--------------------------------------
Average acc: 153154 / 162770 =  94.092
Robust  acc: 11735 / 17532 =  66.935
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7101 /  8535 =  83.199
0, 1  acc:  7601 /  8276 =  91.844
1, 0  acc:  2776 /  2874 =  96.590
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 17637 / 19867 =  88.775
Robust  acc:  7101 /  8535 =  83.199
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.776
Robust Acc: 81.667 | Best Acc: 95.887
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  8487 /  9767 =  86.895
0, 1  acc:  6909 /  7535 =  91.692
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 17921 / 19962 =  89.776
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8487 /  9767 =  86.895
0, 1  acc:  6909 /  7535 =  91.692
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 17921 / 19962 =  89.776
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8487 /  9767 =  86.895
0, 1  acc:  6909 /  7535 =  91.692
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 17921 / 19962 =  89.776
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.128 | Val Loss: 0.004 | Val Acc: 82.624
Training:
Accuracies by groups:
0, 0  acc: 11756 / 17527 =  67.074
0, 1  acc:  7052 /  8909 =  79.156
1, 0  acc: 126607 / 128002 =  98.910
1, 1  acc:  7797 /  8332 =  93.579
--------------------------------------
Average acc: 153212 / 162770 =  94.128
Robust  acc: 11756 / 17527 =  67.074
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6393 /  8535 =  74.903
0, 1  acc:  7013 /  8276 =  84.739
1, 0  acc:  2834 /  2874 =  98.608
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16415 / 19867 =  82.624
Robust  acc:  6393 /  8535 =  74.903
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.791
Robust Acc: 80.414 | Best Acc: 98.306
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  7854 /  9767 =  80.414
0, 1  acc:  6469 /  7535 =  85.853
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16926 / 19962 =  84.791
Robust  acc:  7854 /  9767 =  80.414
------------------------------------
Accuracies by groups:
0, 0  acc:  7854 /  9767 =  80.414
0, 1  acc:  6469 /  7535 =  85.853
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16926 / 19962 =  84.791
Robust  acc:  7854 /  9767 =  80.414
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7854 /  9767 =  80.414
0, 1  acc:  6469 /  7535 =  85.853
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16926 / 19962 =  84.791
Robust  acc:  7854 /  9767 =  80.414
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed26.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed26.pt
