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: 
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: 0
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: False
Cosine: False
Exp: ours-with-bias-label_lr0.0001_wd0.1_bs128_adj9
Group adj: 9.0
Class balance: False
Bias conflicting criterion: 1
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=0-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
Pretrained model loaded from 
Epoch:   1 | Train Loss: 0.003 | Train Acc: 90.104 | Val Loss: 0.001 | Val Acc: 92.520
Training:
Accuracies by groups:
0, 0  acc: 60270 / 71629 =  84.142
0, 1  acc: 64327 / 66874 =  96.191
1, 0  acc: 21235 / 22880 =  92.810
1, 1  acc:   830 /  1387 =  59.841
--------------------------------------
Average acc: 146662 / 162770 =  90.104
Robust  acc:   830 /  1387 =  59.841
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7453 /  8535 =  87.323
0, 1  acc:  8084 /  8276 =  97.680
1, 0  acc:  2730 /  2874 =  94.990
1, 1  acc:   114 /   182 =  62.637
------------------------------------
Average acc: 18381 / 19867 =  92.520
Robust  acc:   114 /   182 =  62.637
------------------------------------
New max robust acc: 62.637362637362635
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed0.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed0.pt
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.387
Robust Acc: 63.889 | Best Acc: 97.664
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  8826 /  9767 =  90.366
0, 1  acc:  7359 /  7535 =  97.664
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18642 / 19962 =  93.387
Robust  acc:   115 /   180 =  63.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8826 /  9767 =  90.366
0, 1  acc:  7359 /  7535 =  97.664
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18642 / 19962 =  93.387
Robust  acc:   115 /   180 =  63.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8826 /  9767 =  90.366
0, 1  acc:  7359 /  7535 =  97.664
1, 0  acc:  2342 /  2480 =  94.435
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18642 / 19962 =  93.387
Robust  acc:   115 /   180 =  63.889
------------------------------------
Epoch:   2 | Train Loss: 0.002 | Train Acc: 92.929 | Val Loss: 0.002 | Val Acc: 91.544
Training:
Accuracies by groups:
0, 0  acc: 63436 / 71629 =  88.562
0, 1  acc: 64909 / 66874 =  97.062
1, 0  acc: 21917 / 22880 =  95.791
1, 1  acc:   998 /  1387 =  71.954
--------------------------------------
Average acc: 151260 / 162770 =  92.929
Robust  acc:   998 /  1387 =  71.954
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7236 /  8535 =  84.780
0, 1  acc:  8022 /  8276 =  96.931
1, 0  acc:  2794 /  2874 =  97.216
1, 1  acc:   135 /   182 =  74.176
------------------------------------
Average acc: 18187 / 19867 =  91.544
Robust  acc:   135 /   182 =  74.176
------------------------------------
New max robust acc: 74.17582417582418
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed0.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed0.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.275
Robust Acc: 73.333 | Best Acc: 97.056
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8582 /  9767 =  87.867
0, 1  acc:  7299 /  7535 =  96.868
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18420 / 19962 =  92.275
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8582 /  9767 =  87.867
0, 1  acc:  7299 /  7535 =  96.868
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18420 / 19962 =  92.275
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8582 /  9767 =  87.867
0, 1  acc:  7299 /  7535 =  96.868
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18420 / 19962 =  92.275
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:   3 | Train Loss: 0.002 | Train Acc: 93.376 | Val Loss: 0.001 | Val Acc: 92.777
Training:
Accuracies by groups:
0, 0  acc: 63734 / 71629 =  88.978
0, 1  acc: 65159 / 66874 =  97.435
1, 0  acc: 22071 / 22880 =  96.464
1, 1  acc:  1024 /  1387 =  73.828
--------------------------------------
Average acc: 151988 / 162770 =  93.376
Robust  acc:  1024 /  1387 =  73.828
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7443 /  8535 =  87.206
0, 1  acc:  8086 /  8276 =  97.704
1, 0  acc:  2776 /  2874 =  96.590
1, 1  acc:   127 /   182 =  69.780
------------------------------------
Average acc: 18432 / 19867 =  92.777
Robust  acc:   127 /   182 =  69.780
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.252
Robust Acc: 71.667 | Best Acc: 97.452
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8753 /  9767 =  89.618
0, 1  acc:  7343 /  7535 =  97.452
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18615 / 19962 =  93.252
Robust  acc:   129 /   180 =  71.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8753 /  9767 =  89.618
0, 1  acc:  7343 /  7535 =  97.452
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18615 / 19962 =  93.252
Robust  acc:   129 /   180 =  71.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8753 /  9767 =  89.618
0, 1  acc:  7343 /  7535 =  97.452
1, 0  acc:  2390 /  2480 =  96.371
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18615 / 19962 =  93.252
Robust  acc:   129 /   180 =  71.667
------------------------------------
Epoch:   4 | Train Loss: 0.002 | Train Acc: 93.710 | Val Loss: 0.001 | Val Acc: 93.703
Training:
Accuracies by groups:
0, 0  acc: 64111 / 71629 =  89.504
0, 1  acc: 65223 / 66874 =  97.531
1, 0  acc: 22151 / 22880 =  96.814
1, 1  acc:  1047 /  1387 =  75.487
--------------------------------------
Average acc: 152532 / 162770 =  93.710
Robust  acc:  1047 /  1387 =  75.487
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7606 /  8535 =  89.115
0, 1  acc:  8135 /  8276 =  98.296
1, 0  acc:  2749 /  2874 =  95.651
1, 1  acc:   126 /   182 =  69.231
------------------------------------
Average acc: 18616 / 19867 =  93.703
Robust  acc:   126 /   182 =  69.231
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.109
Robust Acc: 68.333 | Best Acc: 97.956
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8904 /  9767 =  91.164
0, 1  acc:  7381 /  7535 =  97.956
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18786 / 19962 =  94.109
Robust  acc:   123 /   180 =  68.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8904 /  9767 =  91.164
0, 1  acc:  7381 /  7535 =  97.956
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18786 / 19962 =  94.109
Robust  acc:   123 /   180 =  68.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8904 /  9767 =  91.164
0, 1  acc:  7381 /  7535 =  97.956
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18786 / 19962 =  94.109
Robust  acc:   123 /   180 =  68.333
------------------------------------
Epoch:   5 | Train Loss: 0.002 | Train Acc: 93.949 | Val Loss: 0.001 | Val Acc: 93.160
Training:
Accuracies by groups:
0, 0  acc: 64290 / 71629 =  89.754
0, 1  acc: 65319 / 66874 =  97.675
1, 0  acc: 22236 / 22880 =  97.185
1, 1  acc:  1075 /  1387 =  77.505
--------------------------------------
Average acc: 152920 / 162770 =  93.949
Robust  acc:  1075 /  1387 =  77.505
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7488 /  8535 =  87.733
0, 1  acc:  8107 /  8276 =  97.958
1, 0  acc:  2779 /  2874 =  96.695
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18508 / 19867 =  93.160
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.503
Robust Acc: 74.444 | Best Acc: 97.505
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8789 /  9767 =  89.987
0, 1  acc:  7347 /  7535 =  97.505
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18665 / 19962 =  93.503
Robust  acc:   134 /   180 =  74.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8789 /  9767 =  89.987
0, 1  acc:  7347 /  7535 =  97.505
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18665 / 19962 =  93.503
Robust  acc:   134 /   180 =  74.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8789 /  9767 =  89.987
0, 1  acc:  7347 /  7535 =  97.505
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   134 /   180 =  74.444
------------------------------------
Average acc: 18665 / 19962 =  93.503
Robust  acc:   134 /   180 =  74.444
------------------------------------
Epoch:   6 | Train Loss: 0.002 | Train Acc: 94.203 | Val Loss: 0.001 | Val Acc: 93.764
Training:
Accuracies by groups:
0, 0  acc: 64556 / 71629 =  90.126
0, 1  acc: 65383 / 66874 =  97.770
1, 0  acc: 22291 / 22880 =  97.426
1, 1  acc:  1104 /  1387 =  79.596
--------------------------------------
Average acc: 153334 / 162770 =  94.203
Robust  acc:  1104 /  1387 =  79.596
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7619 /  8535 =  89.268
0, 1  acc:  8124 /  8276 =  98.163
1, 0  acc:  2752 /  2874 =  95.755
1, 1  acc:   133 /   182 =  73.077
------------------------------------
Average acc: 18628 / 19867 =  93.764
Robust  acc:   133 /   182 =  73.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.014
Robust Acc: 72.778 | Best Acc: 97.770
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8896 /  9767 =  91.082
0, 1  acc:  7367 /  7535 =  97.770
1, 0  acc:  2373 /  2480 =  95.685
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18767 / 19962 =  94.014
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8896 /  9767 =  91.082
0, 1  acc:  7367 /  7535 =  97.770
1, 0  acc:  2373 /  2480 =  95.685
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18767 / 19962 =  94.014
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8896 /  9767 =  91.082
0, 1  acc:  7367 /  7535 =  97.770
1, 0  acc:  2373 /  2480 =  95.685
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18767 / 19962 =  94.014
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:   7 | Train Loss: 0.002 | Train Acc: 94.503 | Val Loss: 0.001 | Val Acc: 93.290
Training:
Accuracies by groups:
0, 0  acc: 64774 / 71629 =  90.430
0, 1  acc: 65559 / 66874 =  98.034
1, 0  acc: 22351 / 22880 =  97.688
1, 1  acc:  1138 /  1387 =  82.048
--------------------------------------
Average acc: 153822 / 162770 =  94.503
Robust  acc:  1138 /  1387 =  82.048
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7532 /  8535 =  88.248
0, 1  acc:  8094 /  8276 =  97.801
1, 0  acc:  2774 /  2874 =  96.521
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18534 / 19867 =  93.290
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.558
Robust Acc: 73.889 | Best Acc: 97.213
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8826 /  9767 =  90.366
0, 1  acc:  7325 /  7535 =  97.213
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18676 / 19962 =  93.558
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8826 /  9767 =  90.366
0, 1  acc:  7325 /  7535 =  97.213
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18676 / 19962 =  93.558
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8826 /  9767 =  90.366
0, 1  acc:  7325 /  7535 =  97.213
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18676 / 19962 =  93.558
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 94.874 | Val Loss: 0.001 | Val Acc: 94.715
Training:
Accuracies by groups:
0, 0  acc: 65256 / 71629 =  91.103
0, 1  acc: 65575 / 66874 =  98.058
1, 0  acc: 22415 / 22880 =  97.968
1, 1  acc:  1181 /  1387 =  85.148
--------------------------------------
Average acc: 154427 / 162770 =  94.874
Robust  acc:  1181 /  1387 =  85.148
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7818 /  8535 =  91.599
0, 1  acc:  8173 /  8276 =  98.755
1, 0  acc:  2706 /  2874 =  94.154
1, 1  acc:   120 /   182 =  65.934
------------------------------------
Average acc: 18817 / 19867 =  94.715
Robust  acc:   120 /   182 =  65.934
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 95.031
Robust Acc: 66.111 | Best Acc: 98.407
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  9101 /  9767 =  93.181
0, 1  acc:  7415 /  7535 =  98.407
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18970 / 19962 =  95.031
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9101 /  9767 =  93.181
0, 1  acc:  7415 /  7535 =  98.407
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18970 / 19962 =  95.031
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9101 /  9767 =  93.181
0, 1  acc:  7415 /  7535 =  98.407
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18970 / 19962 =  95.031
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 95.272 | Val Loss: 0.001 | Val Acc: 93.487
Training:
Accuracies by groups:
0, 0  acc: 65648 / 71629 =  91.650
0, 1  acc: 65730 / 66874 =  98.289
1, 0  acc: 22487 / 22880 =  98.282
1, 1  acc:  1210 /  1387 =  87.239
--------------------------------------
Average acc: 155075 / 162770 =  95.272
Robust  acc:  1210 /  1387 =  87.239
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7545 /  8535 =  88.401
0, 1  acc:  8136 /  8276 =  98.308
1, 0  acc:  2768 /  2874 =  96.312
1, 1  acc:   124 /   182 =  68.132
------------------------------------
Average acc: 18573 / 19867 =  93.487
Robust  acc:   124 /   182 =  68.132
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.979
Robust Acc: 66.667 | Best Acc: 98.049
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8866 /  9767 =  90.775
0, 1  acc:  7388 /  7535 =  98.049
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   120 /   180 =  66.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8866 /  9767 =  90.775
0, 1  acc:  7388 /  7535 =  98.049
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   120 /   180 =  66.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8866 /  9767 =  90.775
0, 1  acc:  7388 /  7535 =  98.049
1, 0  acc:  2386 /  2480 =  96.210
1, 1  acc:   120 /   180 =  66.667
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   120 /   180 =  66.667
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 95.634 | Val Loss: 0.001 | Val Acc: 94.856
Training:
Accuracies by groups:
0, 0  acc: 66054 / 71629 =  92.217
0, 1  acc: 65844 / 66874 =  98.460
1, 0  acc: 22523 / 22880 =  98.440
1, 1  acc:  1242 /  1387 =  89.546
--------------------------------------
Average acc: 155663 / 162770 =  95.634
Robust  acc:  1242 /  1387 =  89.546
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7868 /  8535 =  92.185
0, 1  acc:  8204 /  8276 =  99.130
1, 0  acc:  2673 /  2874 =  93.006
1, 1  acc:   100 /   182 =  54.945
------------------------------------
Average acc: 18845 / 19867 =  94.856
Robust  acc:   100 /   182 =  54.945
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 95.301
Robust Acc: 51.667 | Best Acc: 98.978
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9179 /  9767 =  93.980
0, 1  acc:  7458 /  7535 =  98.978
1, 0  acc:  2294 /  2480 =  92.500
1, 1  acc:    93 /   180 =  51.667
------------------------------------
Average acc: 19024 / 19962 =  95.301
Robust  acc:    93 /   180 =  51.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9179 /  9767 =  93.980
0, 1  acc:  7458 /  7535 =  98.978
1, 0  acc:  2294 /  2480 =  92.500
1, 1  acc:    93 /   180 =  51.667
------------------------------------
Average acc: 19024 / 19962 =  95.301
Robust  acc:    93 /   180 =  51.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9179 /  9767 =  93.980
0, 1  acc:  7458 /  7535 =  98.978
1, 0  acc:  2294 /  2480 =  92.500
1, 1  acc:    93 /   180 =  51.667
------------------------------------
Average acc: 19024 / 19962 =  95.301
Robust  acc:    93 /   180 =  51.667
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 95.863 | Val Loss: 0.001 | Val Acc: 93.507
Training:
Accuracies by groups:
0, 0  acc: 66332 / 71629 =  92.605
0, 1  acc: 65911 / 66874 =  98.560
1, 0  acc: 22530 / 22880 =  98.470
1, 1  acc:  1264 /  1387 =  91.132
--------------------------------------
Average acc: 156037 / 162770 =  95.863
Robust  acc:  1264 /  1387 =  91.132
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7592 /  8535 =  88.951
0, 1  acc:  8100 /  8276 =  97.873
1, 0  acc:  2751 /  2874 =  95.720
1, 1  acc:   134 /   182 =  73.626
------------------------------------
Average acc: 18577 / 19867 =  93.507
Robust  acc:   134 /   182 =  73.626
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.974
Robust Acc: 68.333 | Best Acc: 97.651
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8912 /  9767 =  91.246
0, 1  acc:  7358 /  7535 =  97.651
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18759 / 19962 =  93.974
Robust  acc:   123 /   180 =  68.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8912 /  9767 =  91.246
0, 1  acc:  7358 /  7535 =  97.651
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18759 / 19962 =  93.974
Robust  acc:   123 /   180 =  68.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8912 /  9767 =  91.246
0, 1  acc:  7358 /  7535 =  97.651
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18759 / 19962 =  93.974
Robust  acc:   123 /   180 =  68.333
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 95.795 | Val Loss: 0.001 | Val Acc: 93.079
Training:
Accuracies by groups:
0, 0  acc: 66292 / 71629 =  92.549
0, 1  acc: 65881 / 66874 =  98.515
1, 0  acc: 22505 / 22880 =  98.361
1, 1  acc:  1247 /  1387 =  89.906
--------------------------------------
Average acc: 155925 / 162770 =  95.795
Robust  acc:  1247 /  1387 =  89.906
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7511 /  8535 =  88.002
0, 1  acc:  8091 /  8276 =  97.765
1, 0  acc:  2759 /  2874 =  95.999
1, 1  acc:   131 /   182 =  71.978
------------------------------------
Average acc: 18492 / 19867 =  93.079
Robust  acc:   131 /   182 =  71.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.372
Robust Acc: 68.889 | Best Acc: 97.094
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8823 /  9767 =  90.335
0, 1  acc:  7316 /  7535 =  97.094
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18639 / 19962 =  93.372
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8823 /  9767 =  90.335
0, 1  acc:  7316 /  7535 =  97.094
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18639 / 19962 =  93.372
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8823 /  9767 =  90.335
0, 1  acc:  7316 /  7535 =  97.094
1, 0  acc:  2376 /  2480 =  95.806
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18639 / 19962 =  93.372
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  13 | Train Loss: 0.002 | Train Acc: 95.463 | Val Loss: 0.001 | Val Acc: 93.894
Training:
Accuracies by groups:
0, 0  acc: 65889 / 71629 =  91.986
0, 1  acc: 65826 / 66874 =  98.433
1, 0  acc: 22447 / 22880 =  98.108
1, 1  acc:  1223 /  1387 =  88.176
--------------------------------------
Average acc: 155385 / 162770 =  95.463
Robust  acc:  1223 /  1387 =  88.176
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7619 /  8535 =  89.268
0, 1  acc:  8170 /  8276 =  98.719
1, 0  acc:  2751 /  2874 =  95.720
1, 1  acc:   114 /   182 =  62.637
------------------------------------
Average acc: 18654 / 19867 =  93.894
Robust  acc:   114 /   182 =  62.637
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.149
Robust Acc: 62.778 | Best Acc: 98.328
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8912 /  9767 =  91.246
0, 1  acc:  7409 /  7535 =  98.328
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18794 / 19962 =  94.149
Robust  acc:   113 /   180 =  62.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8912 /  9767 =  91.246
0, 1  acc:  7409 /  7535 =  98.328
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18794 / 19962 =  94.149
Robust  acc:   113 /   180 =  62.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8912 /  9767 =  91.246
0, 1  acc:  7409 /  7535 =  98.328
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18794 / 19962 =  94.149
Robust  acc:   113 /   180 =  62.778
------------------------------------
Epoch:  14 | Train Loss: 0.002 | Train Acc: 94.880 | Val Loss: 0.001 | Val Acc: 95.626
Training:
Accuracies by groups:
0, 0  acc: 65275 / 71629 =  91.129
0, 1  acc: 65599 / 66874 =  98.093
1, 0  acc: 22397 / 22880 =  97.889
1, 1  acc:  1165 /  1387 =  83.994
--------------------------------------
Average acc: 154436 / 162770 =  94.880
Robust  acc:  1165 /  1387 =  83.994
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8135 /  8535 =  95.313
0, 1  acc:  8222 /  8276 =  99.348
1, 0  acc:  2553 /  2874 =  88.831
1, 1  acc:    88 /   182 =  48.352
------------------------------------
Average acc: 18998 / 19867 =  95.626
Robust  acc:    88 /   182 =  48.352
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 95.632
Robust Acc: 50.000 | Best Acc: 99.244
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  9364 /  9767 =  95.874
0, 1  acc:  7478 /  7535 =  99.244
1, 0  acc:  2158 /  2480 =  87.016
1, 1  acc:    90 /   180 =  50.000
------------------------------------
Average acc: 19090 / 19962 =  95.632
Robust  acc:    90 /   180 =  50.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9364 /  9767 =  95.874
0, 1  acc:  7478 /  7535 =  99.244
1, 0  acc:  2158 /  2480 =  87.016
1, 1  acc:    90 /   180 =  50.000
------------------------------------
Average acc: 19090 / 19962 =  95.632
Robust  acc:    90 /   180 =  50.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9364 /  9767 =  95.874
0, 1  acc:  7478 /  7535 =  99.244
1, 0  acc:  2158 /  2480 =  87.016
1, 1  acc:    90 /   180 =  50.000
------------------------------------
Average acc: 19090 / 19962 =  95.632
Robust  acc:    90 /   180 =  50.000
------------------------------------
Epoch:  15 | Train Loss: 0.002 | Train Acc: 94.236 | Val Loss: 0.001 | Val Acc: 93.854
Training:
Accuracies by groups:
0, 0  acc: 64541 / 71629 =  90.105
0, 1  acc: 65438 / 66874 =  97.853
1, 0  acc: 22289 / 22880 =  97.417
1, 1  acc:  1120 /  1387 =  80.750
--------------------------------------
Average acc: 153388 / 162770 =  94.236
Robust  acc:  1120 /  1387 =  80.750
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7605 /  8535 =  89.104
0, 1  acc:  8152 /  8276 =  98.502
1, 0  acc:  2760 /  2874 =  96.033
1, 1  acc:   129 /   182 =  70.879
------------------------------------
Average acc: 18646 / 19867 =  93.854
Robust  acc:   129 /   182 =  70.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.979
Robust Acc: 61.111 | Best Acc: 97.943
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8886 /  9767 =  90.980
0, 1  acc:  7380 /  7535 =  97.943
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   110 /   180 =  61.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8886 /  9767 =  90.980
0, 1  acc:  7380 /  7535 =  97.943
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   110 /   180 =  61.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8886 /  9767 =  90.980
0, 1  acc:  7380 /  7535 =  97.943
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   110 /   180 =  61.111
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   110 /   180 =  61.111
------------------------------------
Epoch:  16 | Train Loss: 0.002 | Train Acc: 93.797 | Val Loss: 0.001 | Val Acc: 94.836
Training:
Accuracies by groups:
0, 0  acc: 64177 / 71629 =  89.596
0, 1  acc: 65197 / 66874 =  97.492
1, 0  acc: 22206 / 22880 =  97.054
1, 1  acc:  1094 /  1387 =  78.875
--------------------------------------
Average acc: 152674 / 162770 =  93.797
Robust  acc:  1094 /  1387 =  78.875
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7845 /  8535 =  91.916
0, 1  acc:  8222 /  8276 =  99.348
1, 0  acc:  2673 /  2874 =  93.006
1, 1  acc:   101 /   182 =  55.495
------------------------------------
Average acc: 18841 / 19867 =  94.836
Robust  acc:   101 /   182 =  55.495
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 95.156
Robust Acc: 50.000 | Best Acc: 99.204
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  9119 /  9767 =  93.365
0, 1  acc:  7475 /  7535 =  99.204
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:    90 /   180 =  50.000
------------------------------------
Average acc: 18995 / 19962 =  95.156
Robust  acc:    90 /   180 =  50.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9119 /  9767 =  93.365
0, 1  acc:  7475 /  7535 =  99.204
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:    90 /   180 =  50.000
------------------------------------
Average acc: 18995 / 19962 =  95.156
Robust  acc:    90 /   180 =  50.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9119 /  9767 =  93.365
0, 1  acc:  7475 /  7535 =  99.204
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:    90 /   180 =  50.000
------------------------------------
Average acc: 18995 / 19962 =  95.156
Robust  acc:    90 /   180 =  50.000
------------------------------------
Epoch:  17 | Train Loss: 0.002 | Train Acc: 93.249 | Val Loss: 0.002 | Val Acc: 93.748
Training:
Accuracies by groups:
0, 0  acc: 63670 / 71629 =  88.889
0, 1  acc: 64907 / 66874 =  97.059
1, 0  acc: 22121 / 22880 =  96.683
1, 1  acc:  1083 /  1387 =  78.082
--------------------------------------
Average acc: 151781 / 162770 =  93.249
Robust  acc:  1083 /  1387 =  78.082
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7587 /  8535 =  88.893
0, 1  acc:  8168 /  8276 =  98.695
1, 0  acc:  2757 /  2874 =  95.929
1, 1  acc:   113 /   182 =  62.088
------------------------------------
Average acc: 18625 / 19867 =  93.748
Robust  acc:   113 /   182 =  62.088
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.224
Robust Acc: 62.778 | Best Acc: 98.487
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8908 /  9767 =  91.205
0, 1  acc:  7421 /  7535 =  98.487
1, 0  acc:  2367 /  2480 =  95.444
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18809 / 19962 =  94.224
Robust  acc:   113 /   180 =  62.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8908 /  9767 =  91.205
0, 1  acc:  7421 /  7535 =  98.487
1, 0  acc:  2367 /  2480 =  95.444
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18809 / 19962 =  94.224
Robust  acc:   113 /   180 =  62.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8908 /  9767 =  91.205
0, 1  acc:  7421 /  7535 =  98.487
1, 0  acc:  2367 /  2480 =  95.444
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18809 / 19962 =  94.224
Robust  acc:   113 /   180 =  62.778
------------------------------------
Epoch:  18 | Train Loss: 0.002 | Train Acc: 93.062 | Val Loss: 0.002 | Val Acc: 92.118
Training:
Accuracies by groups:
0, 0  acc: 63529 / 71629 =  88.692
0, 1  acc: 64852 / 66874 =  96.976
1, 0  acc: 22044 / 22880 =  96.346
1, 1  acc:  1052 /  1387 =  75.847
--------------------------------------
Average acc: 151477 / 162770 =  93.062
Robust  acc:  1052 /  1387 =  75.847
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7389 /  8535 =  86.573
0, 1  acc:  7967 /  8276 =  96.266
1, 0  acc:  2793 /  2874 =  97.182
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18301 / 19867 =  92.118
Robust  acc:   152 /   182 =  83.516
------------------------------------
New max robust acc: 83.51648351648352
debias model - Saving best checkpoint at epoch 17
replace: True
-> Updating checkpoint debias-wga-best_seed0.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed0.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.831
Robust Acc: 78.333 | Best Acc: 96.774
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8742 /  9767 =  89.505
0, 1  acc:  7248 /  7535 =  96.191
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18531 / 19962 =  92.831
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8742 /  9767 =  89.505
0, 1  acc:  7248 /  7535 =  96.191
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18531 / 19962 =  92.831
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8742 /  9767 =  89.505
0, 1  acc:  7248 /  7535 =  96.191
1, 0  acc:  2400 /  2480 =  96.774
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18531 / 19962 =  92.831
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:  19 | Train Loss: 0.002 | Train Acc: 92.796 | Val Loss: 0.001 | Val Acc: 94.967
Training:
Accuracies by groups:
0, 0  acc: 63267 / 71629 =  88.326
0, 1  acc: 64743 / 66874 =  96.813
1, 0  acc: 21987 / 22880 =  96.097
1, 1  acc:  1047 /  1387 =  75.487
--------------------------------------
Average acc: 151044 / 162770 =  92.796
Robust  acc:  1047 /  1387 =  75.487
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8019 /  8535 =  93.954
0, 1  acc:  8242 /  8276 =  99.589
1, 0  acc:  2540 /  2874 =  88.379
1, 1  acc:    66 /   182 =  36.264
------------------------------------
Average acc: 18867 / 19867 =  94.967
Robust  acc:    66 /   182 =  36.264
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 95.682
Robust Acc: 36.667 | Best Acc: 99.642
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  9336 /  9767 =  95.587
0, 1  acc:  7508 /  7535 =  99.642
1, 0  acc:  2190 /  2480 =  88.306
1, 1  acc:    66 /   180 =  36.667
------------------------------------
Average acc: 19100 / 19962 =  95.682
Robust  acc:    66 /   180 =  36.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9336 /  9767 =  95.587
0, 1  acc:  7508 /  7535 =  99.642
1, 0  acc:  2190 /  2480 =  88.306
1, 1  acc:    66 /   180 =  36.667
------------------------------------
Average acc: 19100 / 19962 =  95.682
Robust  acc:    66 /   180 =  36.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9336 /  9767 =  95.587
0, 1  acc:  7508 /  7535 =  99.642
1, 0  acc:  2190 /  2480 =  88.306
1, 1  acc:    66 /   180 =  36.667
------------------------------------
Average acc: 19100 / 19962 =  95.682
Robust  acc:    66 /   180 =  36.667
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 92.715 | Val Loss: 0.002 | Val Acc: 87.603
Training:
Accuracies by groups:
0, 0  acc: 63327 / 71629 =  88.410
0, 1  acc: 64610 / 66874 =  96.615
1, 0  acc: 21929 / 22880 =  95.844
1, 1  acc:  1047 /  1387 =  75.487
--------------------------------------
Average acc: 150913 / 162770 =  92.715
Robust  acc:  1047 /  1387 =  75.487
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6701 /  8535 =  78.512
0, 1  acc:  7698 /  8276 =  93.016
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17404 / 19867 =  87.603
Robust  acc:  6701 /  8535 =  78.512
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.443
Robust Acc: 82.502 | Best Acc: 98.427
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  8058 /  9767 =  82.502
0, 1  acc:  7003 /  7535 =  92.940
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17655 / 19962 =  88.443
Robust  acc:  8058 /  9767 =  82.502
------------------------------------
Accuracies by groups:
0, 0  acc:  8058 /  9767 =  82.502
0, 1  acc:  7003 /  7535 =  92.940
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17655 / 19962 =  88.443
Robust  acc:  8058 /  9767 =  82.502
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8058 /  9767 =  82.502
0, 1  acc:  7003 /  7535 =  92.940
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17655 / 19962 =  88.443
Robust  acc:  8058 /  9767 =  82.502
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 92.379 | Val Loss: 0.002 | Val Acc: 92.863
Training:
Accuracies by groups:
0, 0  acc: 63013 / 71629 =  87.971
0, 1  acc: 64421 / 66874 =  96.332
1, 0  acc: 21907 / 22880 =  95.747
1, 1  acc:  1024 /  1387 =  73.828
--------------------------------------
Average acc: 150365 / 162770 =  92.379
Robust  acc:  1024 /  1387 =  73.828
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7447 /  8535 =  87.252
0, 1  acc:  8125 /  8276 =  98.175
1, 0  acc:  2758 /  2874 =  95.964
1, 1  acc:   119 /   182 =  65.385
------------------------------------
Average acc: 18449 / 19867 =  92.863
Robust  acc:   119 /   182 =  65.385
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.698
Robust Acc: 60.556 | Best Acc: 98.102
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8826 /  9767 =  90.366
0, 1  acc:  7392 /  7535 =  98.102
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18704 / 19962 =  93.698
Robust  acc:   109 /   180 =  60.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8826 /  9767 =  90.366
0, 1  acc:  7392 /  7535 =  98.102
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18704 / 19962 =  93.698
Robust  acc:   109 /   180 =  60.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8826 /  9767 =  90.366
0, 1  acc:  7392 /  7535 =  98.102
1, 0  acc:  2377 /  2480 =  95.847
1, 1  acc:   109 /   180 =  60.556
------------------------------------
Average acc: 18704 / 19962 =  93.698
Robust  acc:   109 /   180 =  60.556
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 92.332 | Val Loss: 0.003 | Val Acc: 86.082
Training:
Accuracies by groups:
0, 0  acc: 63068 / 71629 =  88.048
0, 1  acc: 64355 / 66874 =  96.233
1, 0  acc: 21835 / 22880 =  95.433
1, 1  acc:  1030 /  1387 =  74.261
--------------------------------------
Average acc: 150288 / 162770 =  92.332
Robust  acc:  1030 /  1387 =  74.261
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6483 /  8535 =  75.958
0, 1  acc:  7611 /  8276 =  91.965
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17102 / 19867 =  86.082
Robust  acc:  6483 /  8535 =  75.958
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.306
Robust Acc: 80.803 | Best Acc: 98.347
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  7892 /  9767 =  80.803
0, 1  acc:  6941 /  7535 =  92.117
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17428 / 19962 =  87.306
Robust  acc:  7892 /  9767 =  80.803
------------------------------------
Accuracies by groups:
0, 0  acc:  7892 /  9767 =  80.803
0, 1  acc:  6941 /  7535 =  92.117
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17428 / 19962 =  87.306
Robust  acc:  7892 /  9767 =  80.803
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7892 /  9767 =  80.803
0, 1  acc:  6941 /  7535 =  92.117
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17428 / 19962 =  87.306
Robust  acc:  7892 /  9767 =  80.803
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 92.103 | Val Loss: 0.002 | Val Acc: 90.265
Training:
Accuracies by groups:
0, 0  acc: 62855 / 71629 =  87.751
0, 1  acc: 64211 / 66874 =  96.018
1, 0  acc: 21812 / 22880 =  95.332
1, 1  acc:  1038 /  1387 =  74.838
--------------------------------------
Average acc: 149916 / 162770 =  92.103
Robust  acc:  1038 /  1387 =  74.838
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7030 /  8535 =  82.367
0, 1  acc:  7966 /  8276 =  96.254
1, 0  acc:  2791 /  2874 =  97.112
1, 1  acc:   146 /   182 =  80.220
------------------------------------
Average acc: 17933 / 19867 =  90.265
Robust  acc:   146 /   182 =  80.220
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.364
Robust Acc: 73.889 | Best Acc: 97.661
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  8440 /  9767 =  86.413
0, 1  acc:  7243 /  7535 =  96.125
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18238 / 19962 =  91.364
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8440 /  9767 =  86.413
0, 1  acc:  7243 /  7535 =  96.125
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18238 / 19962 =  91.364
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8440 /  9767 =  86.413
0, 1  acc:  7243 /  7535 =  96.125
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18238 / 19962 =  91.364
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 92.258 | Val Loss: 0.002 | Val Acc: 92.893
Training:
Accuracies by groups:
0, 0  acc: 62971 / 71629 =  87.913
0, 1  acc: 64343 / 66874 =  96.215
1, 0  acc: 21830 / 22880 =  95.411
1, 1  acc:  1025 /  1387 =  73.901
--------------------------------------
Average acc: 150169 / 162770 =  92.258
Robust  acc:  1025 /  1387 =  73.901
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7529 /  8535 =  88.213
0, 1  acc:  8080 /  8276 =  97.632
1, 0  acc:  2724 /  2874 =  94.781
1, 1  acc:   122 /   182 =  67.033
------------------------------------
Average acc: 18455 / 19867 =  92.893
Robust  acc:   122 /   182 =  67.033
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.387
Robust Acc: 66.111 | Best Acc: 97.027
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  7311 /  7535 =  97.027
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18642 / 19962 =  93.387
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  7311 /  7535 =  97.027
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18642 / 19962 =  93.387
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  7311 /  7535 =  97.027
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18642 / 19962 =  93.387
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 92.205 | Val Loss: 0.002 | Val Acc: 92.842
Training:
Accuracies by groups:
0, 0  acc: 62981 / 71629 =  87.927
0, 1  acc: 64272 / 66874 =  96.109
1, 0  acc: 21792 / 22880 =  95.245
1, 1  acc:  1037 /  1387 =  74.766
--------------------------------------
Average acc: 150082 / 162770 =  92.205
Robust  acc:  1037 /  1387 =  74.766
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7613 /  8535 =  89.197
0, 1  acc:  8032 /  8276 =  97.052
1, 0  acc:  2687 /  2874 =  93.493
1, 1  acc:   113 /   182 =  62.088
------------------------------------
Average acc: 18445 / 19867 =  92.842
Robust  acc:   113 /   182 =  62.088
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.643
Robust Acc: 59.444 | Best Acc: 97.107
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8960 /  9767 =  91.737
0, 1  acc:  7317 /  7535 =  97.107
1, 0  acc:  2309 /  2480 =  93.105
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18693 / 19962 =  93.643
Robust  acc:   107 /   180 =  59.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8960 /  9767 =  91.737
0, 1  acc:  7317 /  7535 =  97.107
1, 0  acc:  2309 /  2480 =  93.105
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18693 / 19962 =  93.643
Robust  acc:   107 /   180 =  59.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8960 /  9767 =  91.737
0, 1  acc:  7317 /  7535 =  97.107
1, 0  acc:  2309 /  2480 =  93.105
1, 1  acc:   107 /   180 =  59.444
------------------------------------
Average acc: 18693 / 19962 =  93.643
Robust  acc:   107 /   180 =  59.444
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 92.142 | Val Loss: 0.002 | Val Acc: 93.698
Training:
Accuracies by groups:
0, 0  acc: 62915 / 71629 =  87.835
0, 1  acc: 64251 / 66874 =  96.078
1, 0  acc: 21791 / 22880 =  95.240
1, 1  acc:  1022 /  1387 =  73.684
--------------------------------------
Average acc: 149979 / 162770 =  92.142
Robust  acc:  1022 /  1387 =  73.684
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7743 /  8535 =  90.721
0, 1  acc:  8110 /  8276 =  97.994
1, 0  acc:  2656 /  2874 =  92.415
1, 1  acc:   106 /   182 =  58.242
------------------------------------
Average acc: 18615 / 19867 =  93.698
Robust  acc:   106 /   182 =  58.242
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.264
Robust Acc: 56.667 | Best Acc: 97.571
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  9085 /  9767 =  93.017
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2278 /  2480 =  91.855
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18817 / 19962 =  94.264
Robust  acc:   102 /   180 =  56.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9085 /  9767 =  93.017
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2278 /  2480 =  91.855
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18817 / 19962 =  94.264
Robust  acc:   102 /   180 =  56.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9085 /  9767 =  93.017
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2278 /  2480 =  91.855
1, 1  acc:   102 /   180 =  56.667
------------------------------------
Average acc: 18817 / 19962 =  94.264
Robust  acc:   102 /   180 =  56.667
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 92.153 | Val Loss: 0.002 | Val Acc: 93.084
Training:
Accuracies by groups:
0, 0  acc: 62867 / 71629 =  87.768
0, 1  acc: 64327 / 66874 =  96.191
1, 0  acc: 21795 / 22880 =  95.258
1, 1  acc:  1008 /  1387 =  72.675
--------------------------------------
Average acc: 149997 / 162770 =  92.153
Robust  acc:  1008 /  1387 =  72.675
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7612 /  8535 =  89.186
0, 1  acc:  8098 /  8276 =  97.849
1, 0  acc:  2668 /  2874 =  92.832
1, 1  acc:   115 /   182 =  63.187
------------------------------------
Average acc: 18493 / 19867 =  93.084
Robust  acc:   115 /   182 =  63.187
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.858
Robust Acc: 60.000 | Best Acc: 97.346
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  8988 /  9767 =  92.024
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2305 /  2480 =  92.944
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18736 / 19962 =  93.858
Robust  acc:   108 /   180 =  60.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8988 /  9767 =  92.024
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2305 /  2480 =  92.944
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18736 / 19962 =  93.858
Robust  acc:   108 /   180 =  60.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8988 /  9767 =  92.024
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2305 /  2480 =  92.944
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18736 / 19962 =  93.858
Robust  acc:   108 /   180 =  60.000
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 92.182 | Val Loss: 0.004 | Val Acc: 79.851
Training:
Accuracies by groups:
0, 0  acc: 62938 / 71629 =  87.867
0, 1  acc: 64342 / 66874 =  96.214
1, 0  acc: 21749 / 22880 =  95.057
1, 1  acc:  1015 /  1387 =  73.180
--------------------------------------
Average acc: 150044 / 162770 =  92.182
Robust  acc:  1015 /  1387 =  73.180
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6077 /  8535 =  71.201
0, 1  acc:  6755 /  8276 =  81.622
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15864 / 19867 =  79.851
Robust  acc:  6077 /  8535 =  71.201
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 81.355
Robust Acc: 76.646 | Best Acc: 99.113
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  7486 /  9767 =  76.646
0, 1  acc:  6126 /  7535 =  81.301
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16240 / 19962 =  81.355
Robust  acc:  7486 /  9767 =  76.646
------------------------------------
Accuracies by groups:
0, 0  acc:  7486 /  9767 =  76.646
0, 1  acc:  6126 /  7535 =  81.301
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16240 / 19962 =  81.355
Robust  acc:  7486 /  9767 =  76.646
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7486 /  9767 =  76.646
0, 1  acc:  6126 /  7535 =  81.301
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16240 / 19962 =  81.355
Robust  acc:  7486 /  9767 =  76.646
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 92.106 | Val Loss: 0.002 | Val Acc: 94.956
Training:
Accuracies by groups:
0, 0  acc: 62942 / 71629 =  87.872
0, 1  acc: 64250 / 66874 =  96.076
1, 0  acc: 21711 / 22880 =  94.891
1, 1  acc:  1018 /  1387 =  73.396
--------------------------------------
Average acc: 149921 / 162770 =  92.106
Robust  acc:  1018 /  1387 =  73.396
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8138 /  8535 =  95.349
0, 1  acc:  8222 /  8276 =  99.348
1, 0  acc:  2434 /  2874 =  84.690
1, 1  acc:    71 /   182 =  39.011
------------------------------------
Average acc: 18865 / 19867 =  94.956
Robust  acc:    71 /   182 =  39.011
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 95.346
Robust Acc: 38.333 | Best Acc: 99.270
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  9421 /  9767 =  96.457
0, 1  acc:  7480 /  7535 =  99.270
1, 0  acc:  2063 /  2480 =  83.185
1, 1  acc:    69 /   180 =  38.333
------------------------------------
Average acc: 19033 / 19962 =  95.346
Robust  acc:    69 /   180 =  38.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9421 /  9767 =  96.457
0, 1  acc:  7480 /  7535 =  99.270
1, 0  acc:  2063 /  2480 =  83.185
1, 1  acc:    69 /   180 =  38.333
------------------------------------
Average acc: 19033 / 19962 =  95.346
Robust  acc:    69 /   180 =  38.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9421 /  9767 =  96.457
0, 1  acc:  7480 /  7535 =  99.270
1, 0  acc:  2063 /  2480 =  83.185
1, 1  acc:    69 /   180 =  38.333
------------------------------------
Average acc: 19033 / 19962 =  95.346
Robust  acc:    69 /   180 =  38.333
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 92.174 | Val Loss: 0.002 | Val Acc: 94.846
Training:
Accuracies by groups:
0, 0  acc: 63004 / 71629 =  87.959
0, 1  acc: 64298 / 66874 =  96.148
1, 0  acc: 21723 / 22880 =  94.943
1, 1  acc:  1006 /  1387 =  72.531
--------------------------------------
Average acc: 150031 / 162770 =  92.174
Robust  acc:  1006 /  1387 =  72.531
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8024 /  8535 =  94.013
0, 1  acc:  8242 /  8276 =  99.589
1, 0  acc:  2514 /  2874 =  87.474
1, 1  acc:    63 /   182 =  34.615
------------------------------------
Average acc: 18843 / 19867 =  94.846
Robust  acc:    63 /   182 =  34.615
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 95.286
Robust Acc: 37.222 | Best Acc: 99.429
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  9310 /  9767 =  95.321
0, 1  acc:  7492 /  7535 =  99.429
1, 0  acc:  2152 /  2480 =  86.774
1, 1  acc:    67 /   180 =  37.222
------------------------------------
Average acc: 19021 / 19962 =  95.286
Robust  acc:    67 /   180 =  37.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9310 /  9767 =  95.321
0, 1  acc:  7492 /  7535 =  99.429
1, 0  acc:  2152 /  2480 =  86.774
1, 1  acc:    67 /   180 =  37.222
------------------------------------
Average acc: 19021 / 19962 =  95.286
Robust  acc:    67 /   180 =  37.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9310 /  9767 =  95.321
0, 1  acc:  7492 /  7535 =  99.429
1, 0  acc:  2152 /  2480 =  86.774
1, 1  acc:    67 /   180 =  37.222
------------------------------------
Average acc: 19021 / 19962 =  95.286
Robust  acc:    67 /   180 =  37.222
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 92.312 | Val Loss: 0.002 | Val Acc: 94.327
Training:
Accuracies by groups:
0, 0  acc: 63117 / 71629 =  88.117
0, 1  acc: 64452 / 66874 =  96.378
1, 0  acc: 21682 / 22880 =  94.764
1, 1  acc:  1006 /  1387 =  72.531
--------------------------------------
Average acc: 150257 / 162770 =  92.312
Robust  acc:  1006 /  1387 =  72.531
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7907 /  8535 =  92.642
0, 1  acc:  8139 /  8276 =  98.345
1, 0  acc:  2598 /  2874 =  90.397
1, 1  acc:    96 /   182 =  52.747
------------------------------------
Average acc: 18740 / 19867 =  94.327
Robust  acc:    96 /   182 =  52.747
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.990
Robust Acc: 48.889 | Best Acc: 98.301
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  9248 /  9767 =  94.686
0, 1  acc:  7407 /  7535 =  98.301
1, 0  acc:  2219 /  2480 =  89.476
1, 1  acc:    88 /   180 =  48.889
------------------------------------
Average acc: 18962 / 19962 =  94.990
Robust  acc:    88 /   180 =  48.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9248 /  9767 =  94.686
0, 1  acc:  7407 /  7535 =  98.301
1, 0  acc:  2219 /  2480 =  89.476
1, 1  acc:    88 /   180 =  48.889
------------------------------------
Average acc: 18962 / 19962 =  94.990
Robust  acc:    88 /   180 =  48.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9248 /  9767 =  94.686
0, 1  acc:  7407 /  7535 =  98.301
1, 0  acc:  2219 /  2480 =  89.476
1, 1  acc:    88 /   180 =  48.889
------------------------------------
Average acc: 18962 / 19962 =  94.990
Robust  acc:    88 /   180 =  48.889
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 92.340 | Val Loss: 0.002 | Val Acc: 88.609
Training:
Accuracies by groups:
0, 0  acc: 63251 / 71629 =  88.304
0, 1  acc: 64338 / 66874 =  96.208
1, 0  acc: 21704 / 22880 =  94.860
1, 1  acc:  1009 /  1387 =  72.747
--------------------------------------
Average acc: 150302 / 162770 =  92.340
Robust  acc:  1009 /  1387 =  72.747
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6829 /  8535 =  80.012
0, 1  acc:  7815 /  8276 =  94.430
1, 0  acc:  2810 /  2874 =  97.773
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 17604 / 19867 =  88.609
Robust  acc:  6829 /  8535 =  80.012
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.405
Robust Acc: 79.444 | Best Acc: 97.621
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  8204 /  9767 =  83.997
0, 1  acc:  7079 /  7535 =  93.948
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17847 / 19962 =  89.405
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8204 /  9767 =  83.997
0, 1  acc:  7079 /  7535 =  93.948
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17847 / 19962 =  89.405
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8204 /  9767 =  83.997
0, 1  acc:  7079 /  7535 =  93.948
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 17847 / 19962 =  89.405
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 92.346 | Val Loss: 0.003 | Val Acc: 83.415
Training:
Accuracies by groups:
0, 0  acc: 63244 / 71629 =  88.294
0, 1  acc: 64400 / 66874 =  96.301
1, 0  acc: 21677 / 22880 =  94.742
1, 1  acc:   991 /  1387 =  71.449
--------------------------------------
Average acc: 150312 / 162770 =  92.346
Robust  acc:   991 /  1387 =  71.449
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6295 /  8535 =  73.755
0, 1  acc:  7260 /  8276 =  87.724
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16572 / 19867 =  83.415
Robust  acc:  6295 /  8535 =  73.755
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.671
Robust Acc: 78.970 | Best Acc: 98.871
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7713 /  9767 =  78.970
0, 1  acc:  6575 /  7535 =  87.259
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16902 / 19962 =  84.671
Robust  acc:  7713 /  9767 =  78.970
------------------------------------
Accuracies by groups:
0, 0  acc:  7713 /  9767 =  78.970
0, 1  acc:  6575 /  7535 =  87.259
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16902 / 19962 =  84.671
Robust  acc:  7713 /  9767 =  78.970
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7713 /  9767 =  78.970
0, 1  acc:  6575 /  7535 =  87.259
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16902 / 19962 =  84.671
Robust  acc:  7713 /  9767 =  78.970
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 92.439 | Val Loss: 0.003 | Val Acc: 82.111
Training:
Accuracies by groups:
0, 0  acc: 63299 / 71629 =  88.371
0, 1  acc: 64472 / 66874 =  96.408
1, 0  acc: 21696 / 22880 =  94.825
1, 1  acc:   996 /  1387 =  71.810
--------------------------------------
Average acc: 150463 / 162770 =  92.439
Robust  acc:   996 /  1387 =  71.810
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6276 /  8535 =  73.533
0, 1  acc:  7023 /  8276 =  84.860
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16313 / 19867 =  82.111
Robust  acc:  6276 /  8535 =  73.533
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 83.424
Robust Acc: 78.990 | Best Acc: 98.347
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7715 /  9767 =  78.990
0, 1  acc:  6332 /  7535 =  84.035
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16653 / 19962 =  83.424
Robust  acc:  7715 /  9767 =  78.990
------------------------------------
Accuracies by groups:
0, 0  acc:  7715 /  9767 =  78.990
0, 1  acc:  6332 /  7535 =  84.035
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16653 / 19962 =  83.424
Robust  acc:  7715 /  9767 =  78.990
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7715 /  9767 =  78.990
0, 1  acc:  6332 /  7535 =  84.035
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16653 / 19962 =  83.424
Robust  acc:  7715 /  9767 =  78.990
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 92.505 | Val Loss: 0.002 | Val Acc: 90.175
Training:
Accuracies by groups:
0, 0  acc: 63420 / 71629 =  88.540
0, 1  acc: 64505 / 66874 =  96.458
1, 0  acc: 21655 / 22880 =  94.646
1, 1  acc:   991 /  1387 =  71.449
--------------------------------------
Average acc: 150571 / 162770 =  92.505
Robust  acc:   991 /  1387 =  71.449
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7066 /  8535 =  82.789
0, 1  acc:  7931 /  8276 =  95.831
1, 0  acc:  2786 /  2874 =  96.938
1, 1  acc:   132 /   182 =  72.527
------------------------------------
Average acc: 17915 / 19867 =  90.175
Robust  acc:   132 /   182 =  72.527
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.238
Robust Acc: 71.667 | Best Acc: 96.694
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  8460 /  9767 =  86.618
0, 1  acc:  7226 /  7535 =  95.899
1, 0  acc:  2398 /  2480 =  96.694
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18213 / 19962 =  91.238
Robust  acc:   129 /   180 =  71.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8460 /  9767 =  86.618
0, 1  acc:  7226 /  7535 =  95.899
1, 0  acc:  2398 /  2480 =  96.694
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18213 / 19962 =  91.238
Robust  acc:   129 /   180 =  71.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8460 /  9767 =  86.618
0, 1  acc:  7226 /  7535 =  95.899
1, 0  acc:  2398 /  2480 =  96.694
1, 1  acc:   129 /   180 =  71.667
------------------------------------
Average acc: 18213 / 19962 =  91.238
Robust  acc:   129 /   180 =  71.667
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 92.483 | Val Loss: 0.006 | Val Acc: 66.608
Training:
Accuracies by groups:
0, 0  acc: 63389 / 71629 =  88.496
0, 1  acc: 64514 / 66874 =  96.471
1, 0  acc: 21641 / 22880 =  94.585
1, 1  acc:   991 /  1387 =  71.449
--------------------------------------
Average acc: 150535 / 162770 =  92.483
Robust  acc:   991 /  1387 =  71.449
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4474 /  8535 =  52.419
0, 1  acc:  5710 /  8276 =  68.995
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13233 / 19867 =  66.608
Robust  acc:  4474 /  8535 =  52.419
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 68.144
Robust Acc: 59.148 | Best Acc: 99.839
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  5777 /  9767 =  59.148
0, 1  acc:  5174 /  7535 =  68.666
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13603 / 19962 =  68.144
Robust  acc:  5777 /  9767 =  59.148
------------------------------------
Accuracies by groups:
0, 0  acc:  5777 /  9767 =  59.148
0, 1  acc:  5174 /  7535 =  68.666
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13603 / 19962 =  68.144
Robust  acc:  5777 /  9767 =  59.148
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5777 /  9767 =  59.148
0, 1  acc:  5174 /  7535 =  68.666
1, 0  acc:  2476 /  2480 =  99.839
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 13603 / 19962 =  68.144
Robust  acc:  5777 /  9767 =  59.148
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 92.564 | Val Loss: 0.003 | Val Acc: 86.440
Training:
Accuracies by groups:
0, 0  acc: 63493 / 71629 =  88.641
0, 1  acc: 64573 / 66874 =  96.559
1, 0  acc: 21609 / 22880 =  94.445
1, 1  acc:   992 /  1387 =  71.521
--------------------------------------
Average acc: 150667 / 162770 =  92.564
Robust  acc:   992 /  1387 =  71.521
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6431 /  8535 =  75.349
0, 1  acc:  7828 /  8276 =  94.587
1, 0  acc:  2785 /  2874 =  96.903
1, 1  acc:   129 /   182 =  70.879
------------------------------------
Average acc: 17173 / 19867 =  86.440
Robust  acc:   129 /   182 =  70.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.887
Robust Acc: 70.556 | Best Acc: 97.702
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  7844 /  9767 =  80.311
0, 1  acc:  7150 /  7535 =  94.891
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 17544 / 19962 =  87.887
Robust  acc:   127 /   180 =  70.556
------------------------------------
Accuracies by groups:
0, 0  acc:  7844 /  9767 =  80.311
0, 1  acc:  7150 /  7535 =  94.891
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 17544 / 19962 =  87.887
Robust  acc:   127 /   180 =  70.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7844 /  9767 =  80.311
0, 1  acc:  7150 /  7535 =  94.891
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 17544 / 19962 =  87.887
Robust  acc:   127 /   180 =  70.556
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 92.462 | Val Loss: 0.002 | Val Acc: 93.039
Training:
Accuracies by groups:
0, 0  acc: 63325 / 71629 =  88.407
0, 1  acc: 64523 / 66874 =  96.484
1, 0  acc: 21645 / 22880 =  94.602
1, 1  acc:  1008 /  1387 =  72.675
--------------------------------------
Average acc: 150501 / 162770 =  92.462
Robust  acc:  1008 /  1387 =  72.675
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7526 /  8535 =  88.178
0, 1  acc:  8151 /  8276 =  98.490
1, 0  acc:  2706 /  2874 =  94.154
1, 1  acc:   101 /   182 =  55.495
------------------------------------
Average acc: 18484 / 19867 =  93.039
Robust  acc:   101 /   182 =  55.495
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.823
Robust Acc: 55.000 | Best Acc: 98.222
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  8902 /  9767 =  91.144
0, 1  acc:  7401 /  7535 =  98.222
1, 0  acc:  2327 /  2480 =  93.831
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18729 / 19962 =  93.823
Robust  acc:    99 /   180 =  55.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8902 /  9767 =  91.144
0, 1  acc:  7401 /  7535 =  98.222
1, 0  acc:  2327 /  2480 =  93.831
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18729 / 19962 =  93.823
Robust  acc:    99 /   180 =  55.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8902 /  9767 =  91.144
0, 1  acc:  7401 /  7535 =  98.222
1, 0  acc:  2327 /  2480 =  93.831
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18729 / 19962 =  93.823
Robust  acc:    99 /   180 =  55.000
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 92.506 | Val Loss: 0.002 | Val Acc: 91.851
Training:
Accuracies by groups:
0, 0  acc: 63337 / 71629 =  88.424
0, 1  acc: 64572 / 66874 =  96.558
1, 0  acc: 21699 / 22880 =  94.838
1, 1  acc:   964 /  1387 =  69.503
--------------------------------------
Average acc: 150572 / 162770 =  92.506
Robust  acc:   964 /  1387 =  69.503
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7358 /  8535 =  86.210
0, 1  acc:  8003 /  8276 =  96.701
1, 0  acc:  2762 /  2874 =  96.103
1, 1  acc:   125 /   182 =  68.681
------------------------------------
Average acc: 18248 / 19867 =  91.851
Robust  acc:   125 /   182 =  68.681
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.691
Robust Acc: 67.778 | Best Acc: 96.642
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  8720 /  9767 =  89.280
0, 1  acc:  7282 /  7535 =  96.642
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18503 / 19962 =  92.691
Robust  acc:   122 /   180 =  67.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8720 /  9767 =  89.280
0, 1  acc:  7282 /  7535 =  96.642
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18503 / 19962 =  92.691
Robust  acc:   122 /   180 =  67.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8720 /  9767 =  89.280
0, 1  acc:  7282 /  7535 =  96.642
1, 0  acc:  2379 /  2480 =  95.927
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18503 / 19962 =  92.691
Robust  acc:   122 /   180 =  67.778
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 92.567 | Val Loss: 0.002 | Val Acc: 92.822
Training:
Accuracies by groups:
0, 0  acc: 63412 / 71629 =  88.528
0, 1  acc: 64650 / 66874 =  96.674
1, 0  acc: 21619 / 22880 =  94.489
1, 1  acc:   991 /  1387 =  71.449
--------------------------------------
Average acc: 150672 / 162770 =  92.567
Robust  acc:   991 /  1387 =  71.449
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7579 /  8535 =  88.799
0, 1  acc:  8042 /  8276 =  97.173
1, 0  acc:  2703 /  2874 =  94.050
1, 1  acc:   117 /   182 =  64.286
------------------------------------
Average acc: 18441 / 19867 =  92.822
Robust  acc:   117 /   182 =  64.286
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.683
Robust Acc: 63.889 | Best Acc: 96.788
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  8974 /  9767 =  91.881
0, 1  acc:  7293 /  7535 =  96.788
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18701 / 19962 =  93.683
Robust  acc:   115 /   180 =  63.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8974 /  9767 =  91.881
0, 1  acc:  7293 /  7535 =  96.788
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18701 / 19962 =  93.683
Robust  acc:   115 /   180 =  63.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8974 /  9767 =  91.881
0, 1  acc:  7293 /  7535 =  96.788
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18701 / 19962 =  93.683
Robust  acc:   115 /   180 =  63.889
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 92.592 | Val Loss: 0.002 | Val Acc: 94.217
Training:
Accuracies by groups:
0, 0  acc: 63449 / 71629 =  88.580
0, 1  acc: 64632 / 66874 =  96.647
1, 0  acc: 21667 / 22880 =  94.698
1, 1  acc:   964 /  1387 =  69.503
--------------------------------------
Average acc: 150712 / 162770 =  92.592
Robust  acc:   964 /  1387 =  69.503
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7861 /  8535 =  92.103
0, 1  acc:  8220 /  8276 =  99.323
1, 0  acc:  2565 /  2874 =  89.248
1, 1  acc:    72 /   182 =  39.560
------------------------------------
Average acc: 18718 / 19867 =  94.217
Robust  acc:    72 /   182 =  39.560
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.705
Robust Acc: 43.333 | Best Acc: 98.898
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  9182 /  9767 =  94.010
0, 1  acc:  7452 /  7535 =  98.898
1, 0  acc:  2193 /  2480 =  88.427
1, 1  acc:    78 /   180 =  43.333
------------------------------------
Average acc: 18905 / 19962 =  94.705
Robust  acc:    78 /   180 =  43.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9182 /  9767 =  94.010
0, 1  acc:  7452 /  7535 =  98.898
1, 0  acc:  2193 /  2480 =  88.427
1, 1  acc:    78 /   180 =  43.333
------------------------------------
Average acc: 18905 / 19962 =  94.705
Robust  acc:    78 /   180 =  43.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9182 /  9767 =  94.010
0, 1  acc:  7452 /  7535 =  98.898
1, 0  acc:  2193 /  2480 =  88.427
1, 1  acc:    78 /   180 =  43.333
------------------------------------
Average acc: 18905 / 19962 =  94.705
Robust  acc:    78 /   180 =  43.333
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 92.398 | Val Loss: 0.004 | Val Acc: 80.676
Training:
Accuracies by groups:
0, 0  acc: 63210 / 71629 =  88.246
0, 1  acc: 64563 / 66874 =  96.544
1, 0  acc: 21666 / 22880 =  94.694
1, 1  acc:   957 /  1387 =  68.998
--------------------------------------
Average acc: 150396 / 162770 =  92.398
Robust  acc:   957 /  1387 =  68.998
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5997 /  8535 =  70.264
0, 1  acc:  7013 /  8276 =  84.739
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16028 / 19867 =  80.676
Robust  acc:  5997 /  8535 =  70.264
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 82.331
Robust Acc: 76.175 | Best Acc: 99.113
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  7440 /  9767 =  76.175
0, 1  acc:  6377 /  7535 =  84.632
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 16435 / 19962 =  82.331
Robust  acc:  7440 /  9767 =  76.175
------------------------------------
Accuracies by groups:
0, 0  acc:  7440 /  9767 =  76.175
0, 1  acc:  6377 /  7535 =  84.632
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 16435 / 19962 =  82.331
Robust  acc:  7440 /  9767 =  76.175
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7440 /  9767 =  76.175
0, 1  acc:  6377 /  7535 =  84.632
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 16435 / 19962 =  82.331
Robust  acc:  7440 /  9767 =  76.175
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 92.547 | Val Loss: 0.002 | Val Acc: 94.554
Training:
Accuracies by groups:
0, 0  acc: 63396 / 71629 =  88.506
0, 1  acc: 64566 / 66874 =  96.549
1, 0  acc: 21697 / 22880 =  94.830
1, 1  acc:   979 /  1387 =  70.584
--------------------------------------
Average acc: 150638 / 162770 =  92.547
Robust  acc:   979 /  1387 =  70.584
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8171 /  8535 =  95.735
0, 1  acc:  8212 /  8276 =  99.227
1, 0  acc:  2341 /  2874 =  81.454
1, 1  acc:    61 /   182 =  33.516
------------------------------------
Average acc: 18785 / 19867 =  94.554
Robust  acc:    61 /   182 =  33.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 95.216
Robust Acc: 35.000 | Best Acc: 99.390
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  9467 /  9767 =  96.928
0, 1  acc:  7489 /  7535 =  99.390
1, 0  acc:  1988 /  2480 =  80.161
1, 1  acc:    63 /   180 =  35.000
------------------------------------
Average acc: 19007 / 19962 =  95.216
Robust  acc:    63 /   180 =  35.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9467 /  9767 =  96.928
0, 1  acc:  7489 /  7535 =  99.390
1, 0  acc:  1988 /  2480 =  80.161
1, 1  acc:    63 /   180 =  35.000
------------------------------------
Average acc: 19007 / 19962 =  95.216
Robust  acc:    63 /   180 =  35.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9467 /  9767 =  96.928
0, 1  acc:  7489 /  7535 =  99.390
1, 0  acc:  1988 /  2480 =  80.161
1, 1  acc:    63 /   180 =  35.000
------------------------------------
Average acc: 19007 / 19962 =  95.216
Robust  acc:    63 /   180 =  35.000
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 92.516 | Val Loss: 0.002 | Val Acc: 92.787
Training:
Accuracies by groups:
0, 0  acc: 63329 / 71629 =  88.413
0, 1  acc: 64591 / 66874 =  96.586
1, 0  acc: 21687 / 22880 =  94.786
1, 1  acc:   981 /  1387 =  70.728
--------------------------------------
Average acc: 150588 / 162770 =  92.516
Robust  acc:   981 /  1387 =  70.728
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7547 /  8535 =  88.424
0, 1  acc:  8060 /  8276 =  97.390
1, 0  acc:  2703 /  2874 =  94.050
1, 1  acc:   124 /   182 =  68.132
------------------------------------
Average acc: 18434 / 19867 =  92.787
Robust  acc:   124 /   182 =  68.132
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.518
Robust Acc: 66.111 | Best Acc: 97.346
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8899 /  9767 =  91.113
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2315 /  2480 =  93.347
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18668 / 19962 =  93.518
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8899 /  9767 =  91.113
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2315 /  2480 =  93.347
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18668 / 19962 =  93.518
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8899 /  9767 =  91.113
0, 1  acc:  7335 /  7535 =  97.346
1, 0  acc:  2315 /  2480 =  93.347
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18668 / 19962 =  93.518
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 92.585 | Val Loss: 0.002 | Val Acc: 91.519
Training:
Accuracies by groups:
0, 0  acc: 63409 / 71629 =  88.524
0, 1  acc: 64662 / 66874 =  96.692
1, 0  acc: 21654 / 22880 =  94.642
1, 1  acc:   976 /  1387 =  70.368
--------------------------------------
Average acc: 150701 / 162770 =  92.585
Robust  acc:   976 /  1387 =  70.368
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7324 /  8535 =  85.811
0, 1  acc:  7977 /  8276 =  96.387
1, 0  acc:  2752 /  2874 =  95.755
1, 1  acc:   129 /   182 =  70.879
------------------------------------
Average acc: 18182 / 19867 =  91.519
Robust  acc:   129 /   182 =  70.879
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.210
Robust Acc: 63.333 | Best Acc: 95.992
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  8717 /  9767 =  89.250
0, 1  acc:  7233 /  7535 =  95.992
1, 0  acc:  2343 /  2480 =  94.476
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18407 / 19962 =  92.210
Robust  acc:   114 /   180 =  63.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8717 /  9767 =  89.250
0, 1  acc:  7233 /  7535 =  95.992
1, 0  acc:  2343 /  2480 =  94.476
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18407 / 19962 =  92.210
Robust  acc:   114 /   180 =  63.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8717 /  9767 =  89.250
0, 1  acc:  7233 /  7535 =  95.992
1, 0  acc:  2343 /  2480 =  94.476
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18407 / 19962 =  92.210
Robust  acc:   114 /   180 =  63.333
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 92.473 | Val Loss: 0.002 | Val Acc: 94.750
Training:
Accuracies by groups:
0, 0  acc: 63261 / 71629 =  88.318
0, 1  acc: 64600 / 66874 =  96.600
1, 0  acc: 21684 / 22880 =  94.773
1, 1  acc:   973 /  1387 =  70.151
--------------------------------------
Average acc: 150518 / 162770 =  92.473
Robust  acc:   973 /  1387 =  70.151
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8273 /  8535 =  96.930
0, 1  acc:  8254 /  8276 =  99.734
1, 0  acc:  2246 /  2874 =  78.149
1, 1  acc:    51 /   182 =  28.022
------------------------------------
Average acc: 18824 / 19867 =  94.750
Robust  acc:    51 /   182 =  28.022
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 95.146
Robust Acc: 24.444 | Best Acc: 99.695
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  9538 /  9767 =  97.655
0, 1  acc:  7512 /  7535 =  99.695
1, 0  acc:  1899 /  2480 =  76.573
1, 1  acc:    44 /   180 =  24.444
------------------------------------
Average acc: 18993 / 19962 =  95.146
Robust  acc:    44 /   180 =  24.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9538 /  9767 =  97.655
0, 1  acc:  7512 /  7535 =  99.695
1, 0  acc:  1899 /  2480 =  76.573
1, 1  acc:    44 /   180 =  24.444
------------------------------------
Average acc: 18993 / 19962 =  95.146
Robust  acc:    44 /   180 =  24.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9538 /  9767 =  97.655
0, 1  acc:  7512 /  7535 =  99.695
1, 0  acc:  1899 /  2480 =  76.573
1, 1  acc:    44 /   180 =  24.444
------------------------------------
Average acc: 18993 / 19962 =  95.146
Robust  acc:    44 /   180 =  24.444
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 92.509 | Val Loss: 0.002 | Val Acc: 93.607
Training:
Accuracies by groups:
0, 0  acc: 63249 / 71629 =  88.301
0, 1  acc: 64640 / 66874 =  96.659
1, 0  acc: 21700 / 22880 =  94.843
1, 1  acc:   988 /  1387 =  71.233
--------------------------------------
Average acc: 150577 / 162770 =  92.509
Robust  acc:   988 /  1387 =  71.233
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7633 /  8535 =  89.432
0, 1  acc:  8161 /  8276 =  98.610
1, 0  acc:  2702 /  2874 =  94.015
1, 1  acc:   101 /   182 =  55.495
------------------------------------
Average acc: 18597 / 19867 =  93.607
Robust  acc:   101 /   182 =  55.495
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.339
Robust Acc: 51.111 | Best Acc: 98.540
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  8996 /  9767 =  92.106
0, 1  acc:  7425 /  7535 =  98.540
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:    92 /   180 =  51.111
------------------------------------
Average acc: 18832 / 19962 =  94.339
Robust  acc:    92 /   180 =  51.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8996 /  9767 =  92.106
0, 1  acc:  7425 /  7535 =  98.540
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:    92 /   180 =  51.111
------------------------------------
Average acc: 18832 / 19962 =  94.339
Robust  acc:    92 /   180 =  51.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8996 /  9767 =  92.106
0, 1  acc:  7425 /  7535 =  98.540
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:    92 /   180 =  51.111
------------------------------------
Average acc: 18832 / 19962 =  94.339
Robust  acc:    92 /   180 =  51.111
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 92.479 | Val Loss: 0.002 | Val Acc: 93.109
Training:
Accuracies by groups:
0, 0  acc: 63335 / 71629 =  88.421
0, 1  acc: 64539 / 66874 =  96.508
1, 0  acc: 21671 / 22880 =  94.716
1, 1  acc:   983 /  1387 =  70.872
--------------------------------------
Average acc: 150528 / 162770 =  92.479
Robust  acc:   983 /  1387 =  70.872
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7641 /  8535 =  89.525
0, 1  acc:  8134 /  8276 =  98.284
1, 0  acc:  2631 /  2874 =  91.545
1, 1  acc:    92 /   182 =  50.549
------------------------------------
Average acc: 18498 / 19867 =  93.109
Robust  acc:    92 /   182 =  50.549
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.954
Robust Acc: 55.000 | Best Acc: 98.341
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  8992 /  9767 =  92.065
0, 1  acc:  7410 /  7535 =  98.341
1, 0  acc:  2254 /  2480 =  90.887
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18755 / 19962 =  93.954
Robust  acc:    99 /   180 =  55.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8992 /  9767 =  92.065
0, 1  acc:  7410 /  7535 =  98.341
1, 0  acc:  2254 /  2480 =  90.887
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18755 / 19962 =  93.954
Robust  acc:    99 /   180 =  55.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8992 /  9767 =  92.065
0, 1  acc:  7410 /  7535 =  98.341
1, 0  acc:  2254 /  2480 =  90.887
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18755 / 19962 =  93.954
Robust  acc:    99 /   180 =  55.000
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 92.661 | Val Loss: 0.002 | Val Acc: 93.572
Training:
Accuracies by groups:
0, 0  acc: 63521 / 71629 =  88.681
0, 1  acc: 64654 / 66874 =  96.680
1, 0  acc: 21678 / 22880 =  94.747
1, 1  acc:   972 /  1387 =  70.079
--------------------------------------
Average acc: 150825 / 162770 =  92.661
Robust  acc:   972 /  1387 =  70.079
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7717 /  8535 =  90.416
0, 1  acc:  8199 /  8276 =  99.070
1, 0  acc:  2592 /  2874 =  90.188
1, 1  acc:    82 /   182 =  45.055
------------------------------------
Average acc: 18590 / 19867 =  93.572
Robust  acc:    82 /   182 =  45.055
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.249
Robust Acc: 44.444 | Best Acc: 98.845
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  9069 /  9767 =  92.853
0, 1  acc:  7448 /  7535 =  98.845
1, 0  acc:  2217 /  2480 =  89.395
1, 1  acc:    80 /   180 =  44.444
------------------------------------
Average acc: 18814 / 19962 =  94.249
Robust  acc:    80 /   180 =  44.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9069 /  9767 =  92.853
0, 1  acc:  7448 /  7535 =  98.845
1, 0  acc:  2217 /  2480 =  89.395
1, 1  acc:    80 /   180 =  44.444
------------------------------------
Average acc: 18814 / 19962 =  94.249
Robust  acc:    80 /   180 =  44.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9069 /  9767 =  92.853
0, 1  acc:  7448 /  7535 =  98.845
1, 0  acc:  2217 /  2480 =  89.395
1, 1  acc:    80 /   180 =  44.444
------------------------------------
Average acc: 18814 / 19962 =  94.249
Robust  acc:    80 /   180 =  44.444
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 92.537 | Val Loss: 0.002 | Val Acc: 94.312
Training:
Accuracies by groups:
0, 0  acc: 63326 / 71629 =  88.408
0, 1  acc: 64610 / 66874 =  96.615
1, 0  acc: 21703 / 22880 =  94.856
1, 1  acc:   983 /  1387 =  70.872
--------------------------------------
Average acc: 150622 / 162770 =  92.537
Robust  acc:   983 /  1387 =  70.872
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7890 /  8535 =  92.443
0, 1  acc:  8192 /  8276 =  98.985
1, 0  acc:  2571 /  2874 =  89.457
1, 1  acc:    84 /   182 =  46.154
------------------------------------
Average acc: 18737 / 19867 =  94.312
Robust  acc:    84 /   182 =  46.154
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.830
Robust Acc: 41.667 | Best Acc: 98.845
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  9194 /  9767 =  94.133
0, 1  acc:  7448 /  7535 =  98.845
1, 0  acc:  2213 /  2480 =  89.234
1, 1  acc:    75 /   180 =  41.667
------------------------------------
Average acc: 18930 / 19962 =  94.830
Robust  acc:    75 /   180 =  41.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9194 /  9767 =  94.133
0, 1  acc:  7448 /  7535 =  98.845
1, 0  acc:  2213 /  2480 =  89.234
1, 1  acc:    75 /   180 =  41.667
------------------------------------
Average acc: 18930 / 19962 =  94.830
Robust  acc:    75 /   180 =  41.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9194 /  9767 =  94.133
0, 1  acc:  7448 /  7535 =  98.845
1, 0  acc:  2213 /  2480 =  89.234
1, 1  acc:    75 /   180 =  41.667
------------------------------------
Average acc: 18930 / 19962 =  94.830
Robust  acc:    75 /   180 =  41.667
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed0.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed0.pt
train_gdro.py: ours-with-bias-label_lr0.0001_wd0.1_bs128_adj9 (training) is done
731 /  7535 =  89.330
1, 0  acc:  1933 /  2480 =  77.944
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17923 / 19962 =  89.786
Robust  acc:  1933 /  2480 =  77.944
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed0.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed0.pt
train_gdro.py: ours-with-bias-label_lr0.0001_wd0.1_bs128_adj5_crtn2 (training) is done
