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

Loading checkpoints for train split:
[-1 -1 -1 ... -1 -1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [71629 66874 22880  1387]
Loading checkpoints for val split:
[-1 -1 -1 ... -1  1 -1]
<class 'numpy.ndarray'>
[0 1 2 3] [8535 8276 2874  182]
Loading checkpoints for test split:
[-1 -1 -1 ... -1 -1  1]
<class 'numpy.ndarray'>
[0 1 2 3] [9767 7535 2480  180]
Train dataset:
    Blond_Hair = 0, Male = 0 : n = 71629
    Blond_Hair = 0, Male = 1 : n = 66874
    Blond_Hair = 1, Male = 0 : n = 22880
    Blond_Hair = 1, Male = 1 : n = 1387
Val dataset:
    Blond_Hair = 0, Male = 0 : n = 8535
    Blond_Hair = 0, Male = 1 : n = 8276
    Blond_Hair = 1, Male = 0 : n = 2874
    Blond_Hair = 1, Male = 1 : n = 182
Test dataset:
    Blond_Hair = 0, Male = 0 : n = 9767
    Blond_Hair = 0, Male = 1 : n = 7535
    Blond_Hair = 1, Male = 0 : n = 2480
    Blond_Hair = 1, Male = 1 : n = 180
------------------------
> Loading spurious model
------------------------
Pretrained model loaded from ./model/celebA/config/stage_one_erm/seed24/stage_one_erm_model_b_epoch0_seed24.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8268, 0.0241],
        [0.1367, 0.0124]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.612 | Val Loss: 0.003 | Val Acc: 82.086
Training:
Accuracies by groups:
0, 0  acc:  7205 / 15654 =  46.027
0, 1  acc:  4582 /  8592 =  53.329
1, 0  acc: 127876 / 130201 =  98.214
1, 1  acc:  7826 /  8323 =  94.029
--------------------------------------
Average acc: 147489 / 162770 =  90.612
Robust  acc:  7205 / 15654 =  46.027
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6340 /  8535 =  74.282
0, 1  acc:  6957 /  8276 =  84.062
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16308 / 19867 =  82.086
Robust  acc:  6340 /  8535 =  74.282
------------------------------------
New max robust acc: 74.28236672524898
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed24.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed24.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 83.884
Robust Acc: 79.605 | Best Acc: 98.468
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7775 /  9767 =  79.605
0, 1  acc:  6366 /  7535 =  84.486
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16745 / 19962 =  83.884
Robust  acc:  7775 /  9767 =  79.605
------------------------------------
Accuracies by groups:
0, 0  acc:  7775 /  9767 =  79.605
0, 1  acc:  6366 /  7535 =  84.486
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16745 / 19962 =  83.884
Robust  acc:  7775 /  9767 =  79.605
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7775 /  9767 =  79.605
0, 1  acc:  6366 /  7535 =  84.486
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16745 / 19962 =  83.884
Robust  acc:  7775 /  9767 =  79.605
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.685 | Val Loss: 0.003 | Val Acc: 85.478
Training:
Accuracies by groups:
0, 0  acc: 10946 / 15936 =  68.687
0, 1  acc:  6905 /  8614 =  80.160
1, 0  acc: 128628 / 129942 =  98.989
1, 1  acc:  7639 /  8278 =  92.281
--------------------------------------
Average acc: 154118 / 162770 =  94.685
Robust  acc: 10946 / 15936 =  68.687
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6583 /  8535 =  77.129
0, 1  acc:  7380 /  8276 =  89.174
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16982 / 19867 =  85.478
Robust  acc:  6583 /  8535 =  77.129
------------------------------------
New max robust acc: 77.12946690099591
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed24.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed24.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.930
Robust Acc: 82.257 | Best Acc: 98.669
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8034 /  9767 =  82.257
0, 1  acc:  6708 /  7535 =  89.025
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17353 / 19962 =  86.930
Robust  acc:  8034 /  9767 =  82.257
------------------------------------
Accuracies by groups:
0, 0  acc:  8034 /  9767 =  82.257
0, 1  acc:  6708 /  7535 =  89.025
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17353 / 19962 =  86.930
Robust  acc:  8034 /  9767 =  82.257
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8034 /  9767 =  82.257
0, 1  acc:  6708 /  7535 =  89.025
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17353 / 19962 =  86.930
Robust  acc:  8034 /  9767 =  82.257
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.446 | Val Loss: 0.002 | Val Acc: 87.577
Training:
Accuracies by groups:
0, 0  acc: 11299 / 15746 =  71.758
0, 1  acc:  7471 /  8711 =  85.765
1, 0  acc: 129009 / 130169 =  99.109
1, 1  acc:  7578 /  8144 =  93.050
--------------------------------------
Average acc: 155357 / 162770 =  95.446
Robust  acc: 11299 / 15746 =  71.758
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6787 /  8535 =  79.520
0, 1  acc:  7602 /  8276 =  91.856
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17399 / 19867 =  87.577
Robust  acc:  6787 /  8535 =  79.520
------------------------------------
New max robust acc: 79.51962507322789
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed24.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed24.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.694
Robust Acc: 84.120 | Best Acc: 98.266
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8216 /  9767 =  84.120
0, 1  acc:  6894 /  7535 =  91.493
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17705 / 19962 =  88.694
Robust  acc:  8216 /  9767 =  84.120
------------------------------------
Accuracies by groups:
0, 0  acc:  8216 /  9767 =  84.120
0, 1  acc:  6894 /  7535 =  91.493
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17705 / 19962 =  88.694
Robust  acc:  8216 /  9767 =  84.120
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8216 /  9767 =  84.120
0, 1  acc:  6894 /  7535 =  91.493
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17705 / 19962 =  88.694
Robust  acc:  8216 /  9767 =  84.120
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.940 | Val Loss: 0.002 | Val Acc: 89.193
Training:
Accuracies by groups:
0, 0  acc: 11832 / 15979 =  74.047
0, 1  acc:  7648 /  8672 =  88.192
1, 0  acc: 128869 / 129834 =  99.257
1, 1  acc:  7813 /  8285 =  94.303
--------------------------------------
Average acc: 156162 / 162770 =  95.940
Robust  acc: 11832 / 15979 =  74.047
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6974 /  8535 =  81.711
0, 1  acc:  7754 /  8276 =  93.693
1, 0  acc:  2824 /  2874 =  98.260
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17720 / 19867 =  89.193
Robust  acc:  6974 /  8535 =  81.711
------------------------------------
New max robust acc: 81.71060339777387
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed24.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed24.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.056
Robust Acc: 85.556 | Best Acc: 97.903
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8372 /  9767 =  85.717
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17977 / 19962 =  90.056
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8372 /  9767 =  85.717
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17977 / 19962 =  90.056
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8372 /  9767 =  85.717
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17977 / 19962 =  90.056
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.359 | Val Loss: 0.002 | Val Acc: 89.374
Training:
Accuracies by groups:
0, 0  acc: 11915 / 15721 =  75.790
0, 1  acc:  7577 /  8524 =  88.890
1, 0  acc: 129507 / 130306 =  99.387
1, 1  acc:  7845 /  8219 =  95.450
--------------------------------------
Average acc: 156844 / 162770 =  96.359
Robust  acc: 11915 / 15721 =  75.790
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6976 /  8535 =  81.734
0, 1  acc:  7791 /  8276 =  94.140
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17756 / 19867 =  89.374
Robust  acc:  6976 /  8535 =  81.734
------------------------------------
New max robust acc: 81.73403632103104
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed24.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed24.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.327
Robust Acc: 85.556 | Best Acc: 97.944
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8365 /  9767 =  85.646
0, 1  acc:  7083 /  7535 =  94.001
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18031 / 19962 =  90.327
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8365 /  9767 =  85.646
0, 1  acc:  7083 /  7535 =  94.001
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18031 / 19962 =  90.327
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8365 /  9767 =  85.646
0, 1  acc:  7083 /  7535 =  94.001
1, 0  acc:  2429 /  2480 =  97.944
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18031 / 19962 =  90.327
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.765 | Val Loss: 0.002 | Val Acc: 89.556
Training:
Accuracies by groups:
0, 0  acc: 12287 / 15966 =  76.957
0, 1  acc:  7934 /  8677 =  91.437
1, 0  acc: 129330 / 129944 =  99.527
1, 1  acc:  7954 /  8183 =  97.202
--------------------------------------
Average acc: 157505 / 162770 =  96.765
Robust  acc: 12287 / 15966 =  76.957
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7018 /  8535 =  82.226
0, 1  acc:  7784 /  8276 =  94.055
1, 0  acc:  2821 /  2874 =  98.156
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17792 / 19867 =  89.556
Robust  acc:  7018 /  8535 =  82.226
------------------------------------
New max robust acc: 82.22612770943175
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed24.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed24.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.096
Robust Acc: 85.840 | Best Acc: 97.863
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8384 /  9767 =  85.840
0, 1  acc:  7018 /  7535 =  93.139
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17985 / 19962 =  90.096
Robust  acc:  8384 /  9767 =  85.840
------------------------------------
Accuracies by groups:
0, 0  acc:  8384 /  9767 =  85.840
0, 1  acc:  7018 /  7535 =  93.139
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17985 / 19962 =  90.096
Robust  acc:  8384 /  9767 =  85.840
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8384 /  9767 =  85.840
0, 1  acc:  7018 /  7535 =  93.139
1, 0  acc:  2427 /  2480 =  97.863
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17985 / 19962 =  90.096
Robust  acc:  8384 /  9767 =  85.840
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.368 | Val Loss: 0.002 | Val Acc: 90.698
Training:
Accuracies by groups:
0, 0  acc: 12808 / 15989 =  80.105
0, 1  acc:  7938 /  8588 =  92.431
1, 0  acc: 129550 / 129888 =  99.740
1, 1  acc:  8190 /  8305 =  98.615
--------------------------------------
Average acc: 158486 / 162770 =  97.368
Robust  acc: 12808 / 15989 =  80.105
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7182 /  8535 =  84.148
0, 1  acc:  7868 /  8276 =  95.070
1, 0  acc:  2808 /  2874 =  97.704
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 18019 / 19867 =  90.698
Robust  acc:  7182 /  8535 =  84.148
------------------------------------
New max robust acc: 84.14762741652021
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed24.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed24.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.273
Robust Acc: 82.222 | Best Acc: 97.460
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8521 /  9767 =  87.243
0, 1  acc:  7134 /  7535 =  94.678
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18220 / 19962 =  91.273
Robust  acc:   148 /   180 =  82.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8521 /  9767 =  87.243
0, 1  acc:  7134 /  7535 =  94.678
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18220 / 19962 =  91.273
Robust  acc:   148 /   180 =  82.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8521 /  9767 =  87.243
0, 1  acc:  7134 /  7535 =  94.678
1, 0  acc:  2417 /  2480 =  97.460
1, 1  acc:   148 /   180 =  82.222
------------------------------------
Average acc: 18220 / 19962 =  91.273
Robust  acc:   148 /   180 =  82.222
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.815 | Val Loss: 0.002 | Val Acc: 92.017
Training:
Accuracies by groups:
0, 0  acc: 13176 / 15976 =  82.474
0, 1  acc:  8153 /  8639 =  94.374
1, 0  acc: 129690 / 129908 =  99.832
1, 1  acc:  8195 /  8247 =  99.369
--------------------------------------
Average acc: 159214 / 162770 =  97.815
Robust  acc: 13176 / 15976 =  82.474
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7375 /  8535 =  86.409
0, 1  acc:  7979 /  8276 =  96.411
1, 0  acc:  2775 /  2874 =  96.555
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18281 / 19867 =  92.017
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.451
Robust Acc: 76.667 | Best Acc: 96.653
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8690 /  9767 =  88.973
0, 1  acc:  7230 /  7535 =  95.952
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18455 / 19962 =  92.451
Robust  acc:   138 /   180 =  76.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8690 /  9767 =  88.973
0, 1  acc:  7230 /  7535 =  95.952
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18455 / 19962 =  92.451
Robust  acc:   138 /   180 =  76.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8690 /  9767 =  88.973
0, 1  acc:  7230 /  7535 =  95.952
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18455 / 19962 =  92.451
Robust  acc:   138 /   180 =  76.667
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.224 | Val Loss: 0.001 | Val Acc: 93.195
Training:
Accuracies by groups:
0, 0  acc: 13607 / 15929 =  85.423
0, 1  acc:  8007 /  8425 =  95.039
1, 0  acc: 130030 / 130145 =  99.912
1, 1  acc:  8235 /  8271 =  99.565
--------------------------------------
Average acc: 159879 / 162770 =  98.224
Robust  acc: 13607 / 15929 =  85.423
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7590 /  8535 =  88.928
0, 1  acc:  8044 /  8276 =  97.197
1, 0  acc:  2737 /  2874 =  95.233
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18515 / 19867 =  93.195
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.453
Robust Acc: 72.778 | Best Acc: 96.855
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8877 /  9767 =  90.888
0, 1  acc:  7298 /  7535 =  96.855
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18655 / 19962 =  93.453
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8877 /  9767 =  90.888
0, 1  acc:  7298 /  7535 =  96.855
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18655 / 19962 =  93.453
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8877 /  9767 =  90.888
0, 1  acc:  7298 /  7535 =  96.855
1, 0  acc:  2349 /  2480 =  94.718
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18655 / 19962 =  93.453
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.529 | Val Loss: 0.001 | Val Acc: 93.190
Training:
Accuracies by groups:
0, 0  acc: 13796 / 15698 =  87.884
0, 1  acc:  8111 /  8449 =  96.000
1, 0  acc: 130269 / 130385 =  99.911
1, 1  acc:  8200 /  8238 =  99.539
--------------------------------------
Average acc: 160376 / 162770 =  98.529
Robust  acc: 13796 / 15698 =  87.884
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7581 /  8535 =  88.822
0, 1  acc:  8087 /  8276 =  97.716
1, 0  acc:  2716 /  2874 =  94.502
1, 1  acc:   130 /   182 =  71.429
------------------------------------
Average acc: 18514 / 19867 =  93.190
Robust  acc:   130 /   182 =  71.429
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.488
Robust Acc: 63.889 | Best Acc: 97.425
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  7341 /  7535 =  97.425
1, 0  acc:  2332 /  2480 =  94.032
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18662 / 19962 =  93.488
Robust  acc:   115 /   180 =  63.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  7341 /  7535 =  97.425
1, 0  acc:  2332 /  2480 =  94.032
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18662 / 19962 =  93.488
Robust  acc:   115 /   180 =  63.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8874 /  9767 =  90.857
0, 1  acc:  7341 /  7535 =  97.425
1, 0  acc:  2332 /  2480 =  94.032
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18662 / 19962 =  93.488
Robust  acc:   115 /   180 =  63.889
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.496 | Val Loss: 0.002 | Val Acc: 91.775
Training:
Accuracies by groups:
0, 0  acc: 13847 / 15716 =  88.108
0, 1  acc:  8194 /  8522 =  96.151
1, 0  acc: 130101 / 130291 =  99.854
1, 1  acc:  8180 /  8241 =  99.260
--------------------------------------
Average acc: 160322 / 162770 =  98.496
Robust  acc: 13847 / 15716 =  88.108
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7383 /  8535 =  86.503
0, 1  acc:  7924 /  8276 =  95.747
1, 0  acc:  2769 /  2874 =  96.347
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 18233 / 19867 =  91.775
Robust  acc:   157 /   182 =  86.264
------------------------------------
New max robust acc: 86.26373626373626
debias model - Saving best checkpoint at epoch 10
replace: True
-> Updating checkpoint debias-wga-best_seed24.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed24.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.090
Robust Acc: 79.444 | Best Acc: 95.565
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8704 /  9767 =  89.116
0, 1  acc:  7166 /  7535 =  95.103
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18383 / 19962 =  92.090
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8704 /  9767 =  89.116
0, 1  acc:  7166 /  7535 =  95.103
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18383 / 19962 =  92.090
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8704 /  9767 =  89.116
0, 1  acc:  7166 /  7535 =  95.103
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18383 / 19962 =  92.090
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.269 | Val Loss: 0.002 | Val Acc: 91.443
Training:
Accuracies by groups:
0, 0  acc: 13771 / 15805 =  87.131
0, 1  acc:  8003 /  8375 =  95.558
1, 0  acc: 130008 / 130331 =  99.752
1, 1  acc:  8170 /  8259 =  98.922
--------------------------------------
Average acc: 159952 / 162770 =  98.269
Robust  acc: 13771 / 15805 =  87.131
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7372 /  8535 =  86.374
0, 1  acc:  7873 /  8276 =  95.130
1, 0  acc:  2765 /  2874 =  96.207
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 18167 / 19867 =  91.443
Robust  acc:   157 /   182 =  86.264
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.970
Robust Acc: 72.222 | Best Acc: 95.726
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8694 /  9767 =  89.014
0, 1  acc:  7161 /  7535 =  95.036
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18359 / 19962 =  91.970
Robust  acc:   130 /   180 =  72.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8694 /  9767 =  89.014
0, 1  acc:  7161 /  7535 =  95.036
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18359 / 19962 =  91.970
Robust  acc:   130 /   180 =  72.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8694 /  9767 =  89.014
0, 1  acc:  7161 /  7535 =  95.036
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   130 /   180 =  72.222
------------------------------------
Average acc: 18359 / 19962 =  91.970
Robust  acc:   130 /   180 =  72.222
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.890 | Val Loss: 0.001 | Val Acc: 94.151
Training:
Accuracies by groups:
0, 0  acc: 13462 / 15815 =  85.122
0, 1  acc:  8061 /  8500 =  94.835
1, 0  acc: 129783 / 130256 =  99.637
1, 1  acc:  8029 /  8199 =  97.927
--------------------------------------
Average acc: 159335 / 162770 =  97.890
Robust  acc: 13462 / 15815 =  85.122
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7820 /  8535 =  91.623
0, 1  acc:  8100 /  8276 =  97.873
1, 0  acc:  2658 /  2874 =  92.484
1, 1  acc:   127 /   182 =  69.780
------------------------------------
Average acc: 18705 / 19867 =  94.151
Robust  acc:   127 /   182 =  69.780
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.409
Robust Acc: 63.889 | Best Acc: 97.532
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  9085 /  9767 =  93.017
0, 1  acc:  7349 /  7535 =  97.532
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18846 / 19962 =  94.409
Robust  acc:   115 /   180 =  63.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9085 /  9767 =  93.017
0, 1  acc:  7349 /  7535 =  97.532
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18846 / 19962 =  94.409
Robust  acc:   115 /   180 =  63.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9085 /  9767 =  93.017
0, 1  acc:  7349 /  7535 =  97.532
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18846 / 19962 =  94.409
Robust  acc:   115 /   180 =  63.889
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.385 | Val Loss: 0.001 | Val Acc: 94.941
Training:
Accuracies by groups:
0, 0  acc: 13073 / 15853 =  82.464
0, 1  acc:  7853 /  8418 =  93.288
1, 0  acc: 129640 / 130321 =  99.477
1, 1  acc:  7947 /  8178 =  97.175
--------------------------------------
Average acc: 158513 / 162770 =  97.385
Robust  acc: 13073 / 15853 =  82.464
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7966 /  8535 =  93.333
0, 1  acc:  8182 /  8276 =  98.864
1, 0  acc:  2610 /  2874 =  90.814
1, 1  acc:   104 /   182 =  57.143
------------------------------------
Average acc: 18862 / 19867 =  94.941
Robust  acc:   104 /   182 =  57.143
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 95.226
Robust Acc: 52.778 | Best Acc: 98.726
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  9229 /  9767 =  94.492
0, 1  acc:  7439 /  7535 =  98.726
1, 0  acc:  2246 /  2480 =  90.565
1, 1  acc:    95 /   180 =  52.778
------------------------------------
Average acc: 19009 / 19962 =  95.226
Robust  acc:    95 /   180 =  52.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9229 /  9767 =  94.492
0, 1  acc:  7439 /  7535 =  98.726
1, 0  acc:  2246 /  2480 =  90.565
1, 1  acc:    95 /   180 =  52.778
------------------------------------
Average acc: 19009 / 19962 =  95.226
Robust  acc:    95 /   180 =  52.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9229 /  9767 =  94.492
0, 1  acc:  7439 /  7535 =  98.726
1, 0  acc:  2246 /  2480 =  90.565
1, 1  acc:    95 /   180 =  52.778
------------------------------------
Average acc: 19009 / 19962 =  95.226
Robust  acc:    95 /   180 =  52.778
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.940 | Val Loss: 0.002 | Val Acc: 89.349
Training:
Accuracies by groups:
0, 0  acc: 12678 / 15816 =  80.159
0, 1  acc:  7742 /  8468 =  91.427
1, 0  acc: 129336 / 130147 =  99.377
1, 1  acc:  8034 /  8339 =  96.342
--------------------------------------
Average acc: 157790 / 162770 =  96.940
Robust  acc: 12678 / 15816 =  80.159
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7017 /  8535 =  82.214
0, 1  acc:  7738 /  8276 =  93.499
1, 0  acc:  2828 /  2874 =  98.399
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17751 / 19867 =  89.349
Robust  acc:  7017 /  8535 =  82.214
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.851
Robust Acc: 85.328 | Best Acc: 98.105
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8334 /  9767 =  85.328
0, 1  acc:  7010 /  7535 =  93.033
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17936 / 19962 =  89.851
Robust  acc:  8334 /  9767 =  85.328
------------------------------------
Accuracies by groups:
0, 0  acc:  8334 /  9767 =  85.328
0, 1  acc:  7010 /  7535 =  93.033
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17936 / 19962 =  89.851
Robust  acc:  8334 /  9767 =  85.328
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8334 /  9767 =  85.328
0, 1  acc:  7010 /  7535 =  93.033
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17936 / 19962 =  89.851
Robust  acc:  8334 /  9767 =  85.328
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.381 | Val Loss: 0.002 | Val Acc: 91.131
Training:
Accuracies by groups:
0, 0  acc: 12452 / 16075 =  77.462
0, 1  acc:  7780 /  8591 =  90.560
1, 0  acc: 128886 / 129949 =  99.182
1, 1  acc:  7762 /  8155 =  95.181
--------------------------------------
Average acc: 156880 / 162770 =  96.381
Robust  acc: 12452 / 16075 =  77.462
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7199 /  8535 =  84.347
0, 1  acc:  7938 /  8276 =  95.916
1, 0  acc:  2810 /  2874 =  97.773
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 18105 / 19867 =  91.131
Robust  acc:  7199 /  8535 =  84.347
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.449
Robust Acc: 77.222 | Best Acc: 97.056
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8525 /  9767 =  87.284
0, 1  acc:  7184 /  7535 =  95.342
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18255 / 19962 =  91.449
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8525 /  9767 =  87.284
0, 1  acc:  7184 /  7535 =  95.342
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18255 / 19962 =  91.449
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8525 /  9767 =  87.284
0, 1  acc:  7184 /  7535 =  95.342
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18255 / 19962 =  91.449
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 96.006 | Val Loss: 0.003 | Val Acc: 83.294
Training:
Accuracies by groups:
0, 0  acc: 11964 / 15825 =  75.602
0, 1  acc:  7706 /  8631 =  89.283
1, 0  acc: 128705 / 129970 =  99.027
1, 1  acc:  7894 /  8344 =  94.607
--------------------------------------
Average acc: 156269 / 162770 =  96.006
Robust  acc: 11964 / 15825 =  75.602
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6325 /  8535 =  74.107
0, 1  acc:  7190 /  8276 =  86.878
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16548 / 19867 =  83.294
Robust  acc:  6325 /  8535 =  74.107
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 85.082
Robust Acc: 79.625 | Best Acc: 98.952
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  7777 /  9767 =  79.625
0, 1  acc:  6589 /  7535 =  87.445
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16984 / 19962 =  85.082
Robust  acc:  7777 /  9767 =  79.625
------------------------------------
Accuracies by groups:
0, 0  acc:  7777 /  9767 =  79.625
0, 1  acc:  6589 /  7535 =  87.445
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16984 / 19962 =  85.082
Robust  acc:  7777 /  9767 =  79.625
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7777 /  9767 =  79.625
0, 1  acc:  6589 /  7535 =  87.445
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 16984 / 19962 =  85.082
Robust  acc:  7777 /  9767 =  79.625
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.644 | Val Loss: 0.002 | Val Acc: 92.847
Training:
Accuracies by groups:
0, 0  acc: 11778 / 15912 =  74.020
0, 1  acc:  7382 /  8430 =  87.568
1, 0  acc: 128739 / 130133 =  98.929
1, 1  acc:  7780 /  8295 =  93.791
--------------------------------------
Average acc: 155679 / 162770 =  95.644
Robust  acc: 11778 / 15912 =  74.020
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7567 /  8535 =  88.658
0, 1  acc:  7983 /  8276 =  96.460
1, 0  acc:  2749 /  2874 =  95.651
1, 1  acc:   147 /   182 =  80.769
------------------------------------
Average acc: 18446 / 19867 =  92.847
Robust  acc:   147 /   182 =  80.769
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.483
Robust Acc: 73.333 | Best Acc: 96.563
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8898 /  9767 =  91.103
0, 1  acc:  7276 /  7535 =  96.563
1, 0  acc:  2355 /  2480 =  94.960
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18661 / 19962 =  93.483
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8898 /  9767 =  91.103
0, 1  acc:  7276 /  7535 =  96.563
1, 0  acc:  2355 /  2480 =  94.960
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18661 / 19962 =  93.483
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8898 /  9767 =  91.103
0, 1  acc:  7276 /  7535 =  96.563
1, 0  acc:  2355 /  2480 =  94.960
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18661 / 19962 =  93.483
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.328 | Val Loss: 0.002 | Val Acc: 94.629
Training:
Accuracies by groups:
0, 0  acc: 11432 / 15741 =  72.626
0, 1  acc:  7271 /  8524 =  85.300
1, 0  acc: 128913 / 130371 =  98.882
1, 1  acc:  7549 /  8134 =  92.808
--------------------------------------
Average acc: 155165 / 162770 =  95.328
Robust  acc: 11432 / 15741 =  72.626
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8276 /  8535 =  96.965
0, 1  acc:  8215 /  8276 =  99.263
1, 0  acc:  2226 /  2874 =  77.453
1, 1  acc:    83 /   182 =  45.604
------------------------------------
Average acc: 18800 / 19867 =  94.629
Robust  acc:    83 /   182 =  45.604
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.920
Robust Acc: 38.889 | Best Acc: 98.965
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  9523 /  9767 =  97.502
0, 1  acc:  7457 /  7535 =  98.965
1, 0  acc:  1898 /  2480 =  76.532
1, 1  acc:    70 /   180 =  38.889
------------------------------------
Average acc: 18948 / 19962 =  94.920
Robust  acc:    70 /   180 =  38.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9523 /  9767 =  97.502
0, 1  acc:  7457 /  7535 =  98.965
1, 0  acc:  1898 /  2480 =  76.532
1, 1  acc:    70 /   180 =  38.889
------------------------------------
Average acc: 18948 / 19962 =  94.920
Robust  acc:    70 /   180 =  38.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9523 /  9767 =  97.502
0, 1  acc:  7457 /  7535 =  98.965
1, 0  acc:  1898 /  2480 =  76.532
1, 1  acc:    70 /   180 =  38.889
------------------------------------
Average acc: 18948 / 19962 =  94.920
Robust  acc:    70 /   180 =  38.889
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.123 | Val Loss: 0.003 | Val Acc: 88.232
Training:
Accuracies by groups:
0, 0  acc: 11215 / 15737 =  71.265
0, 1  acc:  7215 /  8557 =  84.317
1, 0  acc: 128589 / 130095 =  98.842
1, 1  acc:  7813 /  8381 =  93.223
--------------------------------------
Average acc: 154832 / 162770 =  95.123
Robust  acc: 11215 / 15737 =  71.265
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7011 /  8535 =  82.144
0, 1  acc:  7530 /  8276 =  90.986
1, 0  acc:  2817 /  2874 =  98.017
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17529 / 19867 =  88.232
Robust  acc:  7011 /  8535 =  82.144
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.385
Robust Acc: 85.799 | Best Acc: 97.419
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  8380 /  9767 =  85.799
0, 1  acc:  6888 /  7535 =  91.413
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17843 / 19962 =  89.385
Robust  acc:  8380 /  9767 =  85.799
------------------------------------
Accuracies by groups:
0, 0  acc:  8380 /  9767 =  85.799
0, 1  acc:  6888 /  7535 =  91.413
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17843 / 19962 =  89.385
Robust  acc:  8380 /  9767 =  85.799
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8380 /  9767 =  85.799
0, 1  acc:  6888 /  7535 =  91.413
1, 0  acc:  2416 /  2480 =  97.419
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17843 / 19962 =  89.385
Robust  acc:  8380 /  9767 =  85.799
------------------------------------
Epoch:  21 | Train Loss: 0.001 | Train Acc: 94.883 | Val Loss: 0.002 | Val Acc: 91.856
Training:
Accuracies by groups:
0, 0  acc: 11106 / 15823 =  70.189
0, 1  acc:  7042 /  8499 =  82.857
1, 0  acc: 128490 / 130107 =  98.757
1, 1  acc:  7803 /  8341 =  93.550
--------------------------------------
Average acc: 154441 / 162770 =  94.883
Robust  acc: 11106 / 15823 =  70.189
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7448 /  8535 =  87.264
0, 1  acc:  7903 /  8276 =  95.493
1, 0  acc:  2750 /  2874 =  95.685
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 18249 / 19867 =  91.856
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.791
Robust Acc: 77.222 | Best Acc: 95.674
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  8823 /  9767 =  90.335
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2352 /  2480 =  94.839
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18523 / 19962 =  92.791
Robust  acc:   139 /   180 =  77.222
------------------------------------
Accuracies by groups:
0, 0  acc:  8823 /  9767 =  90.335
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2352 /  2480 =  94.839
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18523 / 19962 =  92.791
Robust  acc:   139 /   180 =  77.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8823 /  9767 =  90.335
0, 1  acc:  7209 /  7535 =  95.674
1, 0  acc:  2352 /  2480 =  94.839
1, 1  acc:   139 /   180 =  77.222
------------------------------------
Average acc: 18523 / 19962 =  92.791
Robust  acc:   139 /   180 =  77.222
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.759 | Val Loss: 0.004 | Val Acc: 78.588
Training:
Accuracies by groups:
0, 0  acc: 11014 / 15866 =  69.419
0, 1  acc:  6874 /  8461 =  81.243
1, 0  acc: 128659 / 130245 =  98.782
1, 1  acc:  7693 /  8198 =  93.840
--------------------------------------
Average acc: 154240 / 162770 =  94.759
Robust  acc: 11014 / 15866 =  69.419
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5834 /  8535 =  68.354
0, 1  acc:  6747 /  8276 =  81.525
1, 0  acc:  2853 /  2874 =  99.269
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15613 / 19867 =  78.588
Robust  acc:  5834 /  8535 =  68.354
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.508
Robust Acc: 74.701 | Best Acc: 99.274
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  7296 /  9767 =  74.701
0, 1  acc:  6139 /  7535 =  81.473
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16071 / 19962 =  80.508
Robust  acc:  7296 /  9767 =  74.701
------------------------------------
Accuracies by groups:
0, 0  acc:  7296 /  9767 =  74.701
0, 1  acc:  6139 /  7535 =  81.473
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16071 / 19962 =  80.508
Robust  acc:  7296 /  9767 =  74.701
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7296 /  9767 =  74.701
0, 1  acc:  6139 /  7535 =  81.473
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16071 / 19962 =  80.508
Robust  acc:  7296 /  9767 =  74.701
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.692 | Val Loss: 0.003 | Val Acc: 93.955
Training:
Accuracies by groups:
0, 0  acc: 10794 / 15781 =  68.399
0, 1  acc:  6873 /  8514 =  80.726
1, 0  acc: 128700 / 130228 =  98.827
1, 1  acc:  7763 /  8247 =  94.131
--------------------------------------
Average acc: 154130 / 162770 =  94.692
Robust  acc: 10794 / 15781 =  68.399
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8001 /  8535 =  93.743
0, 1  acc:  8104 /  8276 =  97.922
1, 0  acc:  2444 /  2874 =  85.038
1, 1  acc:   117 /   182 =  64.286
------------------------------------
Average acc: 18666 / 19867 =  93.955
Robust  acc:   117 /   182 =  64.286
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.329
Robust Acc: 57.222 | Best Acc: 97.717
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  9288 /  9767 =  95.096
0, 1  acc:  7363 /  7535 =  97.717
1, 0  acc:  2076 /  2480 =  83.710
1, 1  acc:   103 /   180 =  57.222
------------------------------------
Average acc: 18830 / 19962 =  94.329
Robust  acc:   103 /   180 =  57.222
------------------------------------
Accuracies by groups:
0, 0  acc:  9288 /  9767 =  95.096
0, 1  acc:  7363 /  7535 =  97.717
1, 0  acc:  2076 /  2480 =  83.710
1, 1  acc:   103 /   180 =  57.222
------------------------------------
Average acc: 18830 / 19962 =  94.329
Robust  acc:   103 /   180 =  57.222
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9288 /  9767 =  95.096
0, 1  acc:  7363 /  7535 =  97.717
1, 0  acc:  2076 /  2480 =  83.710
1, 1  acc:   103 /   180 =  57.222
------------------------------------
Average acc: 18830 / 19962 =  94.329
Robust  acc:   103 /   180 =  57.222
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.519 | Val Loss: 0.003 | Val Acc: 90.049
Training:
Accuracies by groups:
0, 0  acc: 10832 / 15975 =  67.806
0, 1  acc:  6800 /  8588 =  79.180
1, 0  acc: 128493 / 129933 =  98.892
1, 1  acc:  7724 /  8274 =  93.353
--------------------------------------
Average acc: 153849 / 162770 =  94.519
Robust  acc: 10832 / 15975 =  67.806
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7312 /  8535 =  85.671
0, 1  acc:  7701 /  8276 =  93.052
1, 0  acc:  2726 /  2874 =  94.850
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 17890 / 19867 =  90.049
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.083
Robust Acc: 78.889 | Best Acc: 93.306
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  8703 /  9767 =  89.106
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18182 / 19962 =  91.083
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8703 /  9767 =  89.106
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18182 / 19962 =  91.083
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8703 /  9767 =  89.106
0, 1  acc:  7023 /  7535 =  93.205
1, 0  acc:  2314 /  2480 =  93.306
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18182 / 19962 =  91.083
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.567 | Val Loss: 0.003 | Val Acc: 92.228
Training:
Accuracies by groups:
0, 0  acc: 10577 / 15591 =  67.840
0, 1  acc:  6878 /  8666 =  79.368
1, 0  acc: 128470 / 129991 =  98.830
1, 1  acc:  8002 /  8522 =  93.898
--------------------------------------
Average acc: 153927 / 162770 =  94.567
Robust  acc: 10577 / 15591 =  67.840
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7682 /  8535 =  90.006
0, 1  acc:  7871 /  8276 =  95.106
1, 0  acc:  2625 /  2874 =  91.336
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18323 / 19867 =  92.228
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.746
Robust Acc: 69.444 | Best Acc: 95.501
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8976 /  9767 =  91.901
0, 1  acc:  7196 /  7535 =  95.501
1, 0  acc:  2217 /  2480 =  89.395
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18514 / 19962 =  92.746
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8976 /  9767 =  91.901
0, 1  acc:  7196 /  7535 =  95.501
1, 0  acc:  2217 /  2480 =  89.395
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18514 / 19962 =  92.746
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8976 /  9767 =  91.901
0, 1  acc:  7196 /  7535 =  95.501
1, 0  acc:  2217 /  2480 =  89.395
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18514 / 19962 =  92.746
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.395 | Val Loss: 0.004 | Val Acc: 83.631
Training:
Accuracies by groups:
0, 0  acc: 10522 / 15789 =  66.641
0, 1  acc:  6632 /  8472 =  78.281
1, 0  acc: 128557 / 130071 =  98.836
1, 1  acc:  7935 /  8438 =  94.039
--------------------------------------
Average acc: 153646 / 162770 =  94.395
Robust  acc: 10522 / 15789 =  66.641
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6356 /  8535 =  74.470
0, 1  acc:  7250 /  8276 =  87.603
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16615 / 19867 =  83.631
Robust  acc:  6356 /  8535 =  74.470
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.127
Robust Acc: 79.216 | Best Acc: 98.629
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  7737 /  9767 =  79.216
0, 1  acc:  6650 /  7535 =  88.255
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 16993 / 19962 =  85.127
Robust  acc:  7737 /  9767 =  79.216
------------------------------------
Accuracies by groups:
0, 0  acc:  7737 /  9767 =  79.216
0, 1  acc:  6650 /  7535 =  88.255
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 16993 / 19962 =  85.127
Robust  acc:  7737 /  9767 =  79.216
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7737 /  9767 =  79.216
0, 1  acc:  6650 /  7535 =  88.255
1, 0  acc:  2446 /  2480 =  98.629
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 16993 / 19962 =  85.127
Robust  acc:  7737 /  9767 =  79.216
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.412 | Val Loss: 0.004 | Val Acc: 87.482
Training:
Accuracies by groups:
0, 0  acc: 10504 / 15806 =  66.456
0, 1  acc:  6553 /  8485 =  77.230
1, 0  acc: 128845 / 130233 =  98.934
1, 1  acc:  7772 /  8246 =  94.252
--------------------------------------
Average acc: 153674 / 162770 =  94.412
Robust  acc: 10504 / 15806 =  66.456
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6951 /  8535 =  81.441
0, 1  acc:  7497 /  8276 =  90.587
1, 0  acc:  2771 /  2874 =  96.416
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 17380 / 19867 =  87.482
Robust  acc:  6951 /  8535 =  81.441
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.929
Robust Acc: 85.727 | Best Acc: 96.653
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  8373 /  9767 =  85.727
0, 1  acc:  6824 /  7535 =  90.564
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17752 / 19962 =  88.929
Robust  acc:  8373 /  9767 =  85.727
------------------------------------
Accuracies by groups:
0, 0  acc:  8373 /  9767 =  85.727
0, 1  acc:  6824 /  7535 =  90.564
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17752 / 19962 =  88.929
Robust  acc:  8373 /  9767 =  85.727
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8373 /  9767 =  85.727
0, 1  acc:  6824 /  7535 =  90.564
1, 0  acc:  2397 /  2480 =  96.653
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17752 / 19962 =  88.929
Robust  acc:  8373 /  9767 =  85.727
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.248 | Val Loss: 0.005 | Val Acc: 73.871
Training:
Accuracies by groups:
0, 0  acc: 10556 / 16092 =  65.598
0, 1  acc:  6428 /  8457 =  76.008
1, 0  acc: 128509 / 129870 =  98.952
1, 1  acc:  7915 /  8351 =  94.779
--------------------------------------
Average acc: 153408 / 162770 =  94.248
Robust  acc: 10556 / 16092 =  65.598
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5597 /  8535 =  65.577
0, 1  acc:  6060 /  8276 =  73.224
1, 0  acc:  2843 /  2874 =  98.921
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 14676 / 19867 =  73.871
Robust  acc:  5597 /  8535 =  65.577
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.634
Robust Acc: 71.250 | Best Acc: 98.831
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  6959 /  9767 =  71.250
0, 1  acc:  5513 /  7535 =  73.165
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15098 / 19962 =  75.634
Robust  acc:  6959 /  9767 =  71.250
------------------------------------
Accuracies by groups:
0, 0  acc:  6959 /  9767 =  71.250
0, 1  acc:  5513 /  7535 =  73.165
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15098 / 19962 =  75.634
Robust  acc:  6959 /  9767 =  71.250
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6959 /  9767 =  71.250
0, 1  acc:  5513 /  7535 =  73.165
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15098 / 19962 =  75.634
Robust  acc:  6959 /  9767 =  71.250
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.211 | Val Loss: 0.004 | Val Acc: 85.499
Training:
Accuracies by groups:
0, 0  acc: 10324 / 15967 =  64.658
0, 1  acc:  6433 /  8472 =  75.932
1, 0  acc: 128749 / 130081 =  98.976
1, 1  acc:  7841 /  8250 =  95.042
--------------------------------------
Average acc: 153347 / 162770 =  94.211
Robust  acc: 10324 / 15967 =  64.658
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6740 /  8535 =  78.969
0, 1  acc:  7273 /  8276 =  87.881
1, 0  acc:  2802 /  2874 =  97.495
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16986 / 19867 =  85.499
Robust  acc:  6740 /  8535 =  78.969
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 87.090
Robust Acc: 83.588 | Best Acc: 97.097
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  8164 /  9767 =  83.588
0, 1  acc:  6655 /  7535 =  88.321
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17385 / 19962 =  87.090
Robust  acc:  8164 /  9767 =  83.588
------------------------------------
Accuracies by groups:
0, 0  acc:  8164 /  9767 =  83.588
0, 1  acc:  6655 /  7535 =  88.321
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17385 / 19962 =  87.090
Robust  acc:  8164 /  9767 =  83.588
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8164 /  9767 =  83.588
0, 1  acc:  6655 /  7535 =  88.321
1, 0  acc:  2408 /  2480 =  97.097
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17385 / 19962 =  87.090
Robust  acc:  8164 /  9767 =  83.588
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.340 | Val Loss: 0.003 | Val Acc: 93.980
Training:
Accuracies by groups:
0, 0  acc: 10291 / 15705 =  65.527
0, 1  acc:  6346 /  8492 =  74.729
1, 0  acc: 128915 / 130102 =  99.088
1, 1  acc:  8005 /  8471 =  94.499
--------------------------------------
Average acc: 153557 / 162770 =  94.340
Robust  acc: 10291 / 15705 =  65.527
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8056 /  8535 =  94.388
0, 1  acc:  8129 /  8276 =  98.224
1, 0  acc:  2388 /  2874 =  83.090
1, 1  acc:    98 /   182 =  53.846
------------------------------------
Average acc: 18671 / 19867 =  93.980
Robust  acc:    98 /   182 =  53.846
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.394
Robust Acc: 53.333 | Best Acc: 97.863
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  9355 /  9767 =  95.782
0, 1  acc:  7374 /  7535 =  97.863
1, 0  acc:  2018 /  2480 =  81.371
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18843 / 19962 =  94.394
Robust  acc:    96 /   180 =  53.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9355 /  9767 =  95.782
0, 1  acc:  7374 /  7535 =  97.863
1, 0  acc:  2018 /  2480 =  81.371
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18843 / 19962 =  94.394
Robust  acc:    96 /   180 =  53.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9355 /  9767 =  95.782
0, 1  acc:  7374 /  7535 =  97.863
1, 0  acc:  2018 /  2480 =  81.371
1, 1  acc:    96 /   180 =  53.333
------------------------------------
Average acc: 18843 / 19962 =  94.394
Robust  acc:    96 /   180 =  53.333
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 94.175 | Val Loss: 0.006 | Val Acc: 64.685
Training:
Accuracies by groups:
0, 0  acc: 10184 / 15911 =  64.006
0, 1  acc:  6373 /  8517 =  74.827
1, 0  acc: 128913 / 130057 =  99.120
1, 1  acc:  7819 /  8285 =  94.375
--------------------------------------
Average acc: 153289 / 162770 =  94.175
Robust  acc: 10184 / 15911 =  64.006
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4483 /  8535 =  52.525
0, 1  acc:  5316 /  8276 =  64.234
1, 0  acc:  2870 /  2874 =  99.861
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12851 / 19867 =  64.685
Robust  acc:  4483 /  8535 =  52.525
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 66.451
Robust Acc: 59.332 | Best Acc: 99.556
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  5795 /  9767 =  59.332
0, 1  acc:  4823 /  7535 =  64.008
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13265 / 19962 =  66.451
Robust  acc:  5795 /  9767 =  59.332
------------------------------------
Accuracies by groups:
0, 0  acc:  5795 /  9767 =  59.332
0, 1  acc:  4823 /  7535 =  64.008
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13265 / 19962 =  66.451
Robust  acc:  5795 /  9767 =  59.332
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5795 /  9767 =  59.332
0, 1  acc:  4823 /  7535 =  64.008
1, 0  acc:  2469 /  2480 =  99.556
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13265 / 19962 =  66.451
Robust  acc:  5795 /  9767 =  59.332
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 94.187 | Val Loss: 0.007 | Val Acc: 54.513
Training:
Accuracies by groups:
0, 0  acc: 10142 / 15883 =  63.854
0, 1  acc:  6412 /  8529 =  75.179
1, 0  acc: 128894 / 130055 =  99.107
1, 1  acc:  7860 /  8303 =  94.665
--------------------------------------
Average acc: 153308 / 162770 =  94.187
Robust  acc: 10142 / 15883 =  63.854
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3458 /  8535 =  40.516
0, 1  acc:  4320 /  8276 =  52.199
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 10830 / 19867 =  54.513
Robust  acc:  3458 /  8535 =  40.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 55.871
Robust Acc: 47.036 | Best Acc: 99.919
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  4594 /  9767 =  47.036
0, 1  acc:  3903 /  7535 =  51.798
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11153 / 19962 =  55.871
Robust  acc:  4594 /  9767 =  47.036
------------------------------------
Accuracies by groups:
0, 0  acc:  4594 /  9767 =  47.036
0, 1  acc:  3903 /  7535 =  51.798
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11153 / 19962 =  55.871
Robust  acc:  4594 /  9767 =  47.036
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4594 /  9767 =  47.036
0, 1  acc:  3903 /  7535 =  51.798
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11153 / 19962 =  55.871
Robust  acc:  4594 /  9767 =  47.036
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 94.219 | Val Loss: 0.005 | Val Acc: 72.965
Training:
Accuracies by groups:
0, 0  acc: 10451 / 15999 =  65.323
0, 1  acc:  6263 /  8427 =  74.321
1, 0  acc: 128848 / 130095 =  99.041
1, 1  acc:  7799 /  8249 =  94.545
--------------------------------------
Average acc: 153361 / 162770 =  94.219
Robust  acc: 10451 / 15999 =  65.323
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5256 /  8535 =  61.582
0, 1  acc:  6201 /  8276 =  74.928
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 14496 / 19867 =  72.965
Robust  acc:  5256 /  8535 =  61.582
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 74.842
Robust Acc: 68.271 | Best Acc: 99.435
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  6668 /  9767 =  68.271
0, 1  acc:  5630 /  7535 =  74.718
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14940 / 19962 =  74.842
Robust  acc:  6668 /  9767 =  68.271
------------------------------------
Accuracies by groups:
0, 0  acc:  6668 /  9767 =  68.271
0, 1  acc:  5630 /  7535 =  74.718
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14940 / 19962 =  74.842
Robust  acc:  6668 /  9767 =  68.271
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6668 /  9767 =  68.271
0, 1  acc:  5630 /  7535 =  74.718
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14940 / 19962 =  74.842
Robust  acc:  6668 /  9767 =  68.271
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.279 | Val Loss: 0.004 | Val Acc: 83.374
Training:
Accuracies by groups:
0, 0  acc: 10425 / 15994 =  65.181
0, 1  acc:  6305 /  8417 =  74.908
1, 0  acc: 129022 / 130181 =  99.110
1, 1  acc:  7706 /  8178 =  94.228
--------------------------------------
Average acc: 153458 / 162770 =  94.279
Robust  acc: 10425 / 15994 =  65.181
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6513 /  8535 =  76.309
0, 1  acc:  7052 /  8276 =  85.210
1, 0  acc:  2826 /  2874 =  98.330
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16564 / 19867 =  83.374
Robust  acc:  6513 /  8535 =  76.309
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.971
Robust Acc: 81.796 | Best Acc: 97.782
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7989 /  9767 =  81.796
0, 1  acc:  6386 /  7535 =  84.751
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16962 / 19962 =  84.971
Robust  acc:  7989 /  9767 =  81.796
------------------------------------
Accuracies by groups:
0, 0  acc:  7989 /  9767 =  81.796
0, 1  acc:  6386 /  7535 =  84.751
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16962 / 19962 =  84.971
Robust  acc:  7989 /  9767 =  81.796
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7989 /  9767 =  81.796
0, 1  acc:  6386 /  7535 =  84.751
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16962 / 19962 =  84.971
Robust  acc:  7989 /  9767 =  81.796
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 94.280 | Val Loss: 0.007 | Val Acc: 55.982
Training:
Accuracies by groups:
0, 0  acc: 10297 / 15895 =  64.781
0, 1  acc:  6440 /  8551 =  75.313
1, 0  acc: 128804 / 129964 =  99.107
1, 1  acc:  7919 /  8360 =  94.725
--------------------------------------
Average acc: 153460 / 162770 =  94.280
Robust  acc: 10297 / 15895 =  64.781
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3609 /  8535 =  42.285
0, 1  acc:  4463 /  8276 =  53.927
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 11122 / 19867 =  55.982
Robust  acc:  3609 /  8535 =  42.285
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 57.589
Robust Acc: 48.766 | Best Acc: 99.919
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  4763 /  9767 =  48.766
0, 1  acc:  4077 /  7535 =  54.107
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11496 / 19962 =  57.589
Robust  acc:  4763 /  9767 =  48.766
------------------------------------
Accuracies by groups:
0, 0  acc:  4763 /  9767 =  48.766
0, 1  acc:  4077 /  7535 =  54.107
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11496 / 19962 =  57.589
Robust  acc:  4763 /  9767 =  48.766
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4763 /  9767 =  48.766
0, 1  acc:  4077 /  7535 =  54.107
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11496 / 19962 =  57.589
Robust  acc:  4763 /  9767 =  48.766
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.417 | Val Loss: 0.003 | Val Acc: 89.631
Training:
Accuracies by groups:
0, 0  acc: 10312 / 15796 =  65.282
0, 1  acc:  6536 /  8543 =  76.507
1, 0  acc: 128982 / 130131 =  99.117
1, 1  acc:  7852 /  8300 =  94.602
--------------------------------------
Average acc: 153682 / 162770 =  94.417
Robust  acc: 10312 / 15796 =  65.282
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7167 /  8535 =  83.972
0, 1  acc:  7706 /  8276 =  93.113
1, 0  acc:  2778 /  2874 =  96.660
1, 1  acc:   156 /   182 =  85.714
------------------------------------
Average acc: 17807 / 19867 =  89.631
Robust  acc:  7167 /  8535 =  83.972
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.577
Robust Acc: 84.444 | Best Acc: 95.645
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8553 /  9767 =  87.570
0, 1  acc:  7004 /  7535 =  92.953
1, 0  acc:  2372 /  2480 =  95.645
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18081 / 19962 =  90.577
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8553 /  9767 =  87.570
0, 1  acc:  7004 /  7535 =  92.953
1, 0  acc:  2372 /  2480 =  95.645
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18081 / 19962 =  90.577
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8553 /  9767 =  87.570
0, 1  acc:  7004 /  7535 =  92.953
1, 0  acc:  2372 /  2480 =  95.645
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18081 / 19962 =  90.577
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.207 | Val Loss: 0.003 | Val Acc: 91.846
Training:
Accuracies by groups:
0, 0  acc: 10277 / 15922 =  64.546
0, 1  acc:  6475 /  8631 =  75.020
1, 0  acc: 128646 / 129835 =  99.084
1, 1  acc:  7943 /  8382 =  94.763
--------------------------------------
Average acc: 153341 / 162770 =  94.207
Robust  acc: 10277 / 15922 =  64.546
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7576 /  8535 =  88.764
0, 1  acc:  7855 /  8276 =  94.913
1, 0  acc:  2681 /  2874 =  93.285
1, 1  acc:   135 /   182 =  74.176
------------------------------------
Average acc: 18247 / 19867 =  91.846
Robust  acc:   135 /   182 =  74.176
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.746
Robust Acc: 68.889 | Best Acc: 95.342
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  8909 /  9767 =  91.215
0, 1  acc:  7184 /  7535 =  95.342
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18514 / 19962 =  92.746
Robust  acc:   124 /   180 =  68.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8909 /  9767 =  91.215
0, 1  acc:  7184 /  7535 =  95.342
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18514 / 19962 =  92.746
Robust  acc:   124 /   180 =  68.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8909 /  9767 =  91.215
0, 1  acc:  7184 /  7535 =  95.342
1, 0  acc:  2297 /  2480 =  92.621
1, 1  acc:   124 /   180 =  68.889
------------------------------------
Average acc: 18514 / 19962 =  92.746
Robust  acc:   124 /   180 =  68.889
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.380 | Val Loss: 0.003 | Val Acc: 92.259
Training:
Accuracies by groups:
0, 0  acc: 10331 / 15798 =  65.394
0, 1  acc:  6316 /  8364 =  75.514
1, 0  acc: 128999 / 130196 =  99.081
1, 1  acc:  7977 /  8412 =  94.829
--------------------------------------
Average acc: 153623 / 162770 =  94.380
Robust  acc: 10331 / 15798 =  65.394
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7516 /  8535 =  88.061
0, 1  acc:  7985 /  8276 =  96.484
1, 0  acc:  2697 /  2874 =  93.841
1, 1  acc:   131 /   182 =  71.978
------------------------------------
Average acc: 18329 / 19867 =  92.259
Robust  acc:   131 /   182 =  71.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.992
Robust Acc: 72.778 | Best Acc: 96.218
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  8859 /  9767 =  90.703
0, 1  acc:  7250 /  7535 =  96.218
1, 0  acc:  2323 /  2480 =  93.669
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18563 / 19962 =  92.992
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8859 /  9767 =  90.703
0, 1  acc:  7250 /  7535 =  96.218
1, 0  acc:  2323 /  2480 =  93.669
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18563 / 19962 =  92.992
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8859 /  9767 =  90.703
0, 1  acc:  7250 /  7535 =  96.218
1, 0  acc:  2323 /  2480 =  93.669
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18563 / 19962 =  92.992
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.259 | Val Loss: 0.003 | Val Acc: 89.551
Training:
Accuracies by groups:
0, 0  acc: 10508 / 16095 =  65.287
0, 1  acc:  6559 /  8678 =  75.582
1, 0  acc: 128425 / 129613 =  99.083
1, 1  acc:  7934 /  8384 =  94.633
--------------------------------------
Average acc: 153426 / 162770 =  94.259
Robust  acc: 10508 / 16095 =  65.287
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7099 /  8535 =  83.175
0, 1  acc:  7741 /  8276 =  93.536
1, 0  acc:  2793 /  2874 =  97.182
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 17791 / 19867 =  89.551
Robust  acc:  7099 /  8535 =  83.175
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.677
Robust Acc: 80.556 | Best Acc: 96.452
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  8496 /  9767 =  86.987
0, 1  acc:  7068 /  7535 =  93.802
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18101 / 19962 =  90.677
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8496 /  9767 =  86.987
0, 1  acc:  7068 /  7535 =  93.802
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18101 / 19962 =  90.677
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8496 /  9767 =  86.987
0, 1  acc:  7068 /  7535 =  93.802
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18101 / 19962 =  90.677
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.325 | Val Loss: 0.005 | Val Acc: 75.034
Training:
Accuracies by groups:
0, 0  acc: 10313 / 15800 =  65.272
0, 1  acc:  6433 /  8533 =  75.390
1, 0  acc: 128894 / 130115 =  99.062
1, 1  acc:  7893 /  8322 =  94.845
--------------------------------------
Average acc: 153533 / 162770 =  94.325
Robust  acc: 10313 / 15800 =  65.272
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5582 /  8535 =  65.401
0, 1  acc:  6286 /  8276 =  75.955
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14907 / 19867 =  75.034
Robust  acc:  5582 /  8535 =  65.401
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.646
Robust Acc: 71.250 | Best Acc: 99.476
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  6959 /  9767 =  71.250
0, 1  acc:  5699 /  7535 =  75.634
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15300 / 19962 =  76.646
Robust  acc:  6959 /  9767 =  71.250
------------------------------------
Accuracies by groups:
0, 0  acc:  6959 /  9767 =  71.250
0, 1  acc:  5699 /  7535 =  75.634
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15300 / 19962 =  76.646
Robust  acc:  6959 /  9767 =  71.250
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6959 /  9767 =  71.250
0, 1  acc:  5699 /  7535 =  75.634
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15300 / 19962 =  76.646
Robust  acc:  6959 /  9767 =  71.250
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.404 | Val Loss: 0.003 | Val Acc: 88.317
Training:
Accuracies by groups:
0, 0  acc: 10397 / 15895 =  65.411
0, 1  acc:  6375 /  8396 =  75.929
1, 0  acc: 129199 / 130364 =  99.106
1, 1  acc:  7691 /  8115 =  94.775
--------------------------------------
Average acc: 153662 / 162770 =  94.404
Robust  acc: 10397 / 15895 =  65.411
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6915 /  8535 =  81.019
0, 1  acc:  7661 /  8276 =  92.569
1, 0  acc:  2813 /  2874 =  97.878
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 17546 / 19867 =  88.317
Robust  acc:  6915 /  8535 =  81.019
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.811
Robust Acc: 85.000 | Best Acc: 97.621
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  8346 /  9767 =  85.451
0, 1  acc:  7008 /  7535 =  93.006
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17928 / 19962 =  89.811
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8346 /  9767 =  85.451
0, 1  acc:  7008 /  7535 =  93.006
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17928 / 19962 =  89.811
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8346 /  9767 =  85.451
0, 1  acc:  7008 /  7535 =  93.006
1, 0  acc:  2421 /  2480 =  97.621
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17928 / 19962 =  89.811
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.409 | Val Loss: 0.003 | Val Acc: 92.133
Training:
Accuracies by groups:
0, 0  acc: 10383 / 15858 =  65.475
0, 1  acc:  6462 /  8457 =  76.410
1, 0  acc: 128906 / 130080 =  99.097
1, 1  acc:  7919 /  8375 =  94.555
--------------------------------------
Average acc: 153670 / 162770 =  94.409
Robust  acc: 10383 / 15858 =  65.475
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7604 /  8535 =  89.092
0, 1  acc:  7906 /  8276 =  95.529
1, 0  acc:  2663 /  2874 =  92.658
1, 1  acc:   131 /   182 =  71.978
------------------------------------
Average acc: 18304 / 19867 =  92.133
Robust  acc:   131 /   182 =  71.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.947
Robust Acc: 64.444 | Best Acc: 95.660
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  8954 /  9767 =  91.676
0, 1  acc:  7208 /  7535 =  95.660
1, 0  acc:  2276 /  2480 =  91.774
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18554 / 19962 =  92.947
Robust  acc:   116 /   180 =  64.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8954 /  9767 =  91.676
0, 1  acc:  7208 /  7535 =  95.660
1, 0  acc:  2276 /  2480 =  91.774
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18554 / 19962 =  92.947
Robust  acc:   116 /   180 =  64.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8954 /  9767 =  91.676
0, 1  acc:  7208 /  7535 =  95.660
1, 0  acc:  2276 /  2480 =  91.774
1, 1  acc:   116 /   180 =  64.444
------------------------------------
Average acc: 18554 / 19962 =  92.947
Robust  acc:   116 /   180 =  64.444
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.322 | Val Loss: 0.011 | Val Acc: 28.716
Training:
Accuracies by groups:
0, 0  acc: 10474 / 16012 =  65.413
0, 1  acc:  6524 /  8561 =  76.206
1, 0  acc: 128612 / 129824 =  99.066
1, 1  acc:  7918 /  8373 =  94.566
--------------------------------------
Average acc: 153528 / 162770 =  94.322
Robust  acc: 10474 / 16012 =  65.413
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1107 /  8535 =  12.970
0, 1  acc:  1543 /  8276 =  18.644
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  5705 / 19867 =  28.716
Robust  acc:  1107 /  8535 =  12.970
------------------------------------
-------------------------------------------
Avg Test Loss: 0.011 | Avg Test Acc: 27.888
Robust Acc: 16.197 | Best Acc: 100.000
--------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  1582 /  9767 =  16.197
0, 1  acc:  1326 /  7535 =  17.598
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5567 / 19962 =  27.888
Robust  acc:  1582 /  9767 =  16.197
------------------------------------
Accuracies by groups:
0, 0  acc:  1582 /  9767 =  16.197
0, 1  acc:  1326 /  7535 =  17.598
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5567 / 19962 =  27.888
Robust  acc:  1582 /  9767 =  16.197
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  1582 /  9767 =  16.197
0, 1  acc:  1326 /  7535 =  17.598
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5567 / 19962 =  27.888
Robust  acc:  1582 /  9767 =  16.197
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.473 | Val Loss: 0.006 | Val Acc: 71.118
Training:
Accuracies by groups:
0, 0  acc: 10627 / 15980 =  66.502
0, 1  acc:  6501 /  8524 =  76.267
1, 0  acc: 128663 / 129852 =  99.084
1, 1  acc:  7982 /  8414 =  94.866
--------------------------------------
Average acc: 153773 / 162770 =  94.473
Robust  acc: 10627 / 15980 =  66.502
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5066 /  8535 =  59.356
0, 1  acc:  6021 /  8276 =  72.753
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14129 / 19867 =  71.118
Robust  acc:  5066 /  8535 =  59.356
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.655
Robust Acc: 65.916 | Best Acc: 99.516
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  6438 /  9767 =  65.916
0, 1  acc:  5622 /  7535 =  74.612
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14703 / 19962 =  73.655
Robust  acc:  6438 /  9767 =  65.916
------------------------------------
Accuracies by groups:
0, 0  acc:  6438 /  9767 =  65.916
0, 1  acc:  5622 /  7535 =  74.612
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14703 / 19962 =  73.655
Robust  acc:  6438 /  9767 =  65.916
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6438 /  9767 =  65.916
0, 1  acc:  5622 /  7535 =  74.612
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14703 / 19962 =  73.655
Robust  acc:  6438 /  9767 =  65.916
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.516 | Val Loss: 0.007 | Val Acc: 60.281
Training:
Accuracies by groups:
0, 0  acc: 10329 / 15712 =  65.740
0, 1  acc:  6548 /  8474 =  77.272
1, 0  acc: 128949 / 130111 =  99.107
1, 1  acc:  8017 /  8473 =  94.618
--------------------------------------
Average acc: 153843 / 162770 =  94.516
Robust  acc: 10329 / 15712 =  65.740
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4058 /  8535 =  47.545
0, 1  acc:  4869 /  8276 =  58.833
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 11976 / 19867 =  60.281
Robust  acc:  4058 /  8535 =  47.545
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 61.667
Robust Acc: 53.732 | Best Acc: 99.879
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  5248 /  9767 =  53.732
0, 1  acc:  4407 /  7535 =  58.487
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12310 / 19962 =  61.667
Robust  acc:  5248 /  9767 =  53.732
------------------------------------
Accuracies by groups:
0, 0  acc:  5248 /  9767 =  53.732
0, 1  acc:  4407 /  7535 =  58.487
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12310 / 19962 =  61.667
Robust  acc:  5248 /  9767 =  53.732
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5248 /  9767 =  53.732
0, 1  acc:  4407 /  7535 =  58.487
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12310 / 19962 =  61.667
Robust  acc:  5248 /  9767 =  53.732
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.328 | Val Loss: 0.003 | Val Acc: 87.814
Training:
Accuracies by groups:
0, 0  acc: 10468 / 15979 =  65.511
0, 1  acc:  6577 /  8547 =  76.951
1, 0  acc: 128634 / 129883 =  99.038
1, 1  acc:  7859 /  8361 =  93.996
--------------------------------------
Average acc: 153538 / 162770 =  94.328
Robust  acc: 10468 / 15979 =  65.511
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6953 /  8535 =  81.465
0, 1  acc:  7516 /  8276 =  90.817
1, 0  acc:  2815 /  2874 =  97.947
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17446 / 19867 =  87.814
Robust  acc:  6953 /  8535 =  81.465
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.154
Robust Acc: 85.758 | Best Acc: 97.016
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  8376 /  9767 =  85.758
0, 1  acc:  6855 /  7535 =  90.975
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17797 / 19962 =  89.154
Robust  acc:  8376 /  9767 =  85.758
------------------------------------
Accuracies by groups:
0, 0  acc:  8376 /  9767 =  85.758
0, 1  acc:  6855 /  7535 =  90.975
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17797 / 19962 =  89.154
Robust  acc:  8376 /  9767 =  85.758
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8376 /  9767 =  85.758
0, 1  acc:  6855 /  7535 =  90.975
1, 0  acc:  2406 /  2480 =  97.016
1, 1  acc:   160 /   180 =  88.889
------------------------------------
Average acc: 17797 / 19962 =  89.154
Robust  acc:  8376 /  9767 =  85.758
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.506 | Val Loss: 0.008 | Val Acc: 52.867
Training:
Accuracies by groups:
0, 0  acc: 10403 / 15763 =  65.996
0, 1  acc:  6576 /  8503 =  77.337
1, 0  acc: 129351 / 130575 =  99.063
1, 1  acc:  7497 /  7929 =  94.552
--------------------------------------
Average acc: 153827 / 162770 =  94.506
Robust  acc: 10403 / 15763 =  65.996
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3268 /  8535 =  38.289
0, 1  acc:  4182 /  8276 =  50.532
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 10503 / 19867 =  52.867
Robust  acc:  3268 /  8535 =  38.289
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 53.116
Robust Acc: 43.033 | Best Acc: 99.960
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  4203 /  9767 =  43.033
0, 1  acc:  3745 /  7535 =  49.701
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 10603 / 19962 =  53.116
Robust  acc:  4203 /  9767 =  43.033
------------------------------------
Accuracies by groups:
0, 0  acc:  4203 /  9767 =  43.033
0, 1  acc:  3745 /  7535 =  49.701
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 10603 / 19962 =  53.116
Robust  acc:  4203 /  9767 =  43.033
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4203 /  9767 =  43.033
0, 1  acc:  3745 /  7535 =  49.701
1, 0  acc:  2479 /  2480 =  99.960
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 10603 / 19962 =  53.116
Robust  acc:  4203 /  9767 =  43.033
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.610 | Val Loss: 0.007 | Val Acc: 55.695
Training:
Accuracies by groups:
0, 0  acc: 10569 / 15857 =  66.652
0, 1  acc:  6613 /  8489 =  77.901
1, 0  acc: 129008 / 130205 =  99.081
1, 1  acc:  7806 /  8219 =  94.975
--------------------------------------
Average acc: 153996 / 162770 =  94.610
Robust  acc: 10569 / 15857 =  66.652
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3694 /  8535 =  43.281
0, 1  acc:  4318 /  8276 =  52.175
1, 0  acc:  2872 /  2874 =  99.930
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 11065 / 19867 =  55.695
Robust  acc:  3694 /  8535 =  43.281
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 57.489
Robust Acc: 50.128 | Best Acc: 99.919
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  4896 /  9767 =  50.128
0, 1  acc:  3924 /  7535 =  52.077
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11476 / 19962 =  57.489
Robust  acc:  4896 /  9767 =  50.128
------------------------------------
Accuracies by groups:
0, 0  acc:  4896 /  9767 =  50.128
0, 1  acc:  3924 /  7535 =  52.077
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11476 / 19962 =  57.489
Robust  acc:  4896 /  9767 =  50.128
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4896 /  9767 =  50.128
0, 1  acc:  3924 /  7535 =  52.077
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11476 / 19962 =  57.489
Robust  acc:  4896 /  9767 =  50.128
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.403 | Val Loss: 0.007 | Val Acc: 61.967
Training:
Accuracies by groups:
0, 0  acc: 10561 / 15944 =  66.238
0, 1  acc:  6607 /  8559 =  77.194
1, 0  acc: 128756 / 130061 =  98.997
1, 1  acc:  7736 /  8206 =  94.272
--------------------------------------
Average acc: 153660 / 162770 =  94.403
Robust  acc: 10561 / 15944 =  66.238
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4141 /  8535 =  48.518
0, 1  acc:  5119 /  8276 =  61.854
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12311 / 19867 =  61.967
Robust  acc:  4141 /  8535 =  48.518
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 64.082
Robust Acc: 55.524 | Best Acc: 99.798
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  5423 /  9767 =  55.524
0, 1  acc:  4718 /  7535 =  62.614
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12792 / 19962 =  64.082
Robust  acc:  5423 /  9767 =  55.524
------------------------------------
Accuracies by groups:
0, 0  acc:  5423 /  9767 =  55.524
0, 1  acc:  4718 /  7535 =  62.614
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12792 / 19962 =  64.082
Robust  acc:  5423 /  9767 =  55.524
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5423 /  9767 =  55.524
0, 1  acc:  4718 /  7535 =  62.614
1, 0  acc:  2475 /  2480 =  99.798
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 12792 / 19962 =  64.082
Robust  acc:  5423 /  9767 =  55.524
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.589 | Val Loss: 0.003 | Val Acc: 86.395
Training:
Accuracies by groups:
0, 0  acc: 10553 / 15773 =  66.905
0, 1  acc:  6472 /  8337 =  77.630
1, 0  acc: 129231 / 130464 =  99.055
1, 1  acc:  7707 /  8196 =  94.034
--------------------------------------
Average acc: 153963 / 162770 =  94.589
Robust  acc: 10553 / 15773 =  66.905
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6947 /  8535 =  81.394
0, 1  acc:  7306 /  8276 =  88.279
1, 0  acc:  2750 /  2874 =  95.685
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 17164 / 19867 =  86.395
Robust  acc:  6947 /  8535 =  81.394
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.521
Robust Acc: 85.113 | Best Acc: 94.677
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  8313 /  9767 =  85.113
0, 1  acc:  6655 /  7535 =  88.321
1, 0  acc:  2348 /  2480 =  94.677
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17471 / 19962 =  87.521
Robust  acc:  8313 /  9767 =  85.113
------------------------------------
Accuracies by groups:
0, 0  acc:  8313 /  9767 =  85.113
0, 1  acc:  6655 /  7535 =  88.321
1, 0  acc:  2348 /  2480 =  94.677
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17471 / 19962 =  87.521
Robust  acc:  8313 /  9767 =  85.113
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8313 /  9767 =  85.113
0, 1  acc:  6655 /  7535 =  88.321
1, 0  acc:  2348 /  2480 =  94.677
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17471 / 19962 =  87.521
Robust  acc:  8313 /  9767 =  85.113
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed24.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed24.pt
