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/seed1/stage_one_erm_model_b_epoch0_seed1.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: 1
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: perclass_bias
Tau: 1.2
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=1-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/seed1/stage_one_erm_model_b_epoch0_seed1.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8163, 0.0346],
        [0.1304, 0.0187]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 90.735 | Val Loss: 0.003 | Val Acc: 80.938
Training:
Accuracies by groups:
0, 0  acc:  7776 / 16260 =  47.823
0, 1  acc:  4488 /  8100 =  55.407
1, 0  acc: 127581 / 129980 =  98.154
1, 1  acc:  7845 /  8430 =  93.060
--------------------------------------
Average acc: 147690 / 162770 =  90.735
Robust  acc:  7776 / 16260 =  47.823
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6271 /  8535 =  73.474
0, 1  acc:  6792 /  8276 =  82.069
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16080 / 19867 =  80.938
Robust  acc:  6271 /  8535 =  73.474
------------------------------------
New max robust acc: 73.4739308728764
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed1.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed1.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 82.777
Robust Acc: 78.919 | Best Acc: 98.831
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7708 /  9767 =  78.919
0, 1  acc:  6198 /  7535 =  82.256
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16524 / 19962 =  82.777
Robust  acc:  7708 /  9767 =  78.919
------------------------------------
Accuracies by groups:
0, 0  acc:  7708 /  9767 =  78.919
0, 1  acc:  6198 /  7535 =  82.256
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16524 / 19962 =  82.777
Robust  acc:  7708 /  9767 =  78.919
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7708 /  9767 =  78.919
0, 1  acc:  6198 /  7535 =  82.256
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16524 / 19962 =  82.777
Robust  acc:  7708 /  9767 =  78.919
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.563 | Val Loss: 0.003 | Val Acc: 84.910
Training:
Accuracies by groups:
0, 0  acc: 10863 / 15966 =  68.038
0, 1  acc:  6287 /  8050 =  78.099
1, 0  acc: 128696 / 130020 =  98.982
1, 1  acc:  8074 /  8734 =  92.443
--------------------------------------
Average acc: 153920 / 162770 =  94.563
Robust  acc: 10863 / 15966 =  68.038
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6561 /  8535 =  76.872
0, 1  acc:  7291 /  8276 =  88.098
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16869 / 19867 =  84.910
Robust  acc:  6561 /  8535 =  76.872
------------------------------------
New max robust acc: 76.87170474516695
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed1.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed1.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.414
Robust Acc: 81.704 | Best Acc: 98.831
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  7980 /  9767 =  81.704
0, 1  acc:  6658 /  7535 =  88.361
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17250 / 19962 =  86.414
Robust  acc:  7980 /  9767 =  81.704
------------------------------------
Accuracies by groups:
0, 0  acc:  7980 /  9767 =  81.704
0, 1  acc:  6658 /  7535 =  88.361
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17250 / 19962 =  86.414
Robust  acc:  7980 /  9767 =  81.704
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7980 /  9767 =  81.704
0, 1  acc:  6658 /  7535 =  88.361
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17250 / 19962 =  86.414
Robust  acc:  7980 /  9767 =  81.704
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.433 | Val Loss: 0.002 | Val Acc: 87.009
Training:
Accuracies by groups:
0, 0  acc: 11468 / 15950 =  71.900
0, 1  acc:  6886 /  8122 =  84.782
1, 0  acc: 128973 / 130144 =  99.100
1, 1  acc:  8009 /  8554 =  93.629
--------------------------------------
Average acc: 155336 / 162770 =  95.433
Robust  acc: 11468 / 15950 =  71.900
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6759 /  8535 =  79.192
0, 1  acc:  7513 /  8276 =  90.781
1, 0  acc:  2840 /  2874 =  98.817
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 17286 / 19867 =  87.009
Robust  acc:  6759 /  8535 =  79.192
------------------------------------
New max robust acc: 79.19156414762742
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed1.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed1.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.067
Robust Acc: 83.588 | Best Acc: 98.548
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8164 /  9767 =  83.588
0, 1  acc:  6811 /  7535 =  90.392
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17580 / 19962 =  88.067
Robust  acc:  8164 /  9767 =  83.588
------------------------------------
Accuracies by groups:
0, 0  acc:  8164 /  9767 =  83.588
0, 1  acc:  6811 /  7535 =  90.392
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17580 / 19962 =  88.067
Robust  acc:  8164 /  9767 =  83.588
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8164 /  9767 =  83.588
0, 1  acc:  6811 /  7535 =  90.392
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17580 / 19962 =  88.067
Robust  acc:  8164 /  9767 =  83.588
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.901 | Val Loss: 0.002 | Val Acc: 89.032
Training:
Accuracies by groups:
0, 0  acc: 11839 / 16006 =  73.966
0, 1  acc:  7123 /  8187 =  87.004
1, 0  acc: 128925 / 129967 =  99.198
1, 1  acc:  8211 /  8610 =  95.366
--------------------------------------
Average acc: 156098 / 162770 =  95.901
Robust  acc: 11839 / 16006 =  73.966
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6989 /  8535 =  81.886
0, 1  acc:  7705 /  8276 =  93.101
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17688 / 19867 =  89.032
Robust  acc:  6989 /  8535 =  81.886
------------------------------------
New max robust acc: 81.88635032220269
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed1.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed1.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.861
Robust Acc: 85.338 | Best Acc: 98.145
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8335 /  9767 =  85.338
0, 1  acc:  7014 /  7535 =  93.086
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17938 / 19962 =  89.861
Robust  acc:  8335 /  9767 =  85.338
------------------------------------
Accuracies by groups:
0, 0  acc:  8335 /  9767 =  85.338
0, 1  acc:  7014 /  7535 =  93.086
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17938 / 19962 =  89.861
Robust  acc:  8335 /  9767 =  85.338
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8335 /  9767 =  85.338
0, 1  acc:  7014 /  7535 =  93.086
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17938 / 19962 =  89.861
Robust  acc:  8335 /  9767 =  85.338
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.337 | Val Loss: 0.002 | Val Acc: 89.802
Training:
Accuracies by groups:
0, 0  acc: 12107 / 16053 =  75.419
0, 1  acc:  7219 /  8151 =  88.566
1, 0  acc: 129125 / 129896 =  99.406
1, 1  acc:  8357 /  8670 =  96.390
--------------------------------------
Average acc: 156808 / 162770 =  96.337
Robust  acc: 12107 / 16053 =  75.419
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7078 /  8535 =  82.929
0, 1  acc:  7772 /  8276 =  93.910
1, 0  acc:  2826 /  2874 =  98.330
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17841 / 19867 =  89.802
Robust  acc:  7078 /  8535 =  82.929
------------------------------------
New max robust acc: 82.92911540714705
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed1.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed1.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.437
Robust Acc: 83.333 | Best Acc: 97.782
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8406 /  9767 =  86.065
0, 1  acc:  7072 /  7535 =  93.855
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18053 / 19962 =  90.437
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8406 /  9767 =  86.065
0, 1  acc:  7072 /  7535 =  93.855
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18053 / 19962 =  90.437
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8406 /  9767 =  86.065
0, 1  acc:  7072 /  7535 =  93.855
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18053 / 19962 =  90.437
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.987 | Val Loss: 0.002 | Val Acc: 90.084
Training:
Accuracies by groups:
0, 0  acc: 12764 / 16216 =  78.712
0, 1  acc:  7310 /  8093 =  90.325
1, 0  acc: 129361 / 129854 =  99.620
1, 1  acc:  8430 /  8607 =  97.944
--------------------------------------
Average acc: 157865 / 162770 =  96.987
Robust  acc: 12764 / 16216 =  78.712
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7137 /  8535 =  83.620
0, 1  acc:  7777 /  8276 =  93.971
1, 0  acc:  2816 /  2874 =  97.982
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17897 / 19867 =  90.084
Robust  acc:  7137 /  8535 =  83.620
------------------------------------
New max robust acc: 83.62038664323374
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed1.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed1.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.752
Robust Acc: 84.444 | Best Acc: 97.661
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8474 /  9767 =  86.762
0, 1  acc:  7068 /  7535 =  93.802
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18116 / 19962 =  90.752
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8474 /  9767 =  86.762
0, 1  acc:  7068 /  7535 =  93.802
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18116 / 19962 =  90.752
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8474 /  9767 =  86.762
0, 1  acc:  7068 /  7535 =  93.802
1, 0  acc:  2422 /  2480 =  97.661
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18116 / 19962 =  90.752
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.485 | Val Loss: 0.002 | Val Acc: 92.057
Training:
Accuracies by groups:
0, 0  acc: 13022 / 16098 =  80.892
0, 1  acc:  7488 /  8159 =  91.776
1, 0  acc: 129788 / 130067 =  99.785
1, 1  acc:  8379 /  8446 =  99.207
--------------------------------------
Average acc: 158677 / 162770 =  97.485
Robust  acc: 13022 / 16098 =  80.892
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7373 /  8535 =  86.385
0, 1  acc:  7964 /  8276 =  96.230
1, 0  acc:  2799 /  2874 =  97.390
1, 1  acc:   153 /   182 =  84.066
------------------------------------
Average acc: 18289 / 19867 =  92.057
Robust  acc:   153 /   182 =  84.066
------------------------------------
New max robust acc: 84.06593406593407
debias model - Saving best checkpoint at epoch 6
replace: True
-> Updating checkpoint debias-wga-best_seed1.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed1.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.481
Robust Acc: 75.000 | Best Acc: 96.935
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8680 /  9767 =  88.871
0, 1  acc:  7242 /  7535 =  96.111
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18461 / 19962 =  92.481
Robust  acc:   135 /   180 =  75.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8680 /  9767 =  88.871
0, 1  acc:  7242 /  7535 =  96.111
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18461 / 19962 =  92.481
Robust  acc:   135 /   180 =  75.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8680 /  9767 =  88.871
0, 1  acc:  7242 /  7535 =  96.111
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18461 / 19962 =  92.481
Robust  acc:   135 /   180 =  75.000
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.965 | Val Loss: 0.001 | Val Acc: 93.054
Training:
Accuracies by groups:
0, 0  acc: 13430 / 16092 =  83.458
0, 1  acc:  7649 /  8151 =  93.841
1, 0  acc: 129995 / 130111 =  99.911
1, 1  acc:  8384 /  8416 =  99.620
--------------------------------------
Average acc: 159458 / 162770 =  97.965
Robust  acc: 13430 / 16092 =  83.458
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7606 /  8535 =  89.115
0, 1  acc:  8001 /  8276 =  96.677
1, 0  acc:  2732 /  2874 =  95.059
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 18487 / 19867 =  93.054
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.327
Robust Acc: 75.556 | Best Acc: 96.284
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8884 /  9767 =  90.959
0, 1  acc:  7255 /  7535 =  96.284
1, 0  acc:  2355 /  2480 =  94.960
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18630 / 19962 =  93.327
Robust  acc:   136 /   180 =  75.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8884 /  9767 =  90.959
0, 1  acc:  7255 /  7535 =  96.284
1, 0  acc:  2355 /  2480 =  94.960
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18630 / 19962 =  93.327
Robust  acc:   136 /   180 =  75.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8884 /  9767 =  90.959
0, 1  acc:  7255 /  7535 =  96.284
1, 0  acc:  2355 /  2480 =  94.960
1, 1  acc:   136 /   180 =  75.556
------------------------------------
Average acc: 18630 / 19962 =  93.327
Robust  acc:   136 /   180 =  75.556
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.298 | Val Loss: 0.001 | Val Acc: 93.607
Training:
Accuracies by groups:
0, 0  acc: 13880 / 16135 =  86.024
0, 1  acc:  7829 /  8240 =  95.012
1, 0  acc: 129765 / 129845 =  99.938
1, 1  acc:  8526 /  8550 =  99.719
--------------------------------------
Average acc: 160000 / 162770 =  98.298
Robust  acc: 13880 / 16135 =  86.024
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7675 /  8535 =  89.924
0, 1  acc:  8080 /  8276 =  97.632
1, 0  acc:  2710 /  2874 =  94.294
1, 1  acc:   132 /   182 =  72.527
------------------------------------
Average acc: 18597 / 19867 =  93.607
Robust  acc:   132 /   182 =  72.527
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.979
Robust Acc: 68.333 | Best Acc: 97.412
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8970 /  9767 =  91.840
0, 1  acc:  7340 /  7535 =  97.412
1, 0  acc:  2327 /  2480 =  93.831
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   123 /   180 =  68.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8970 /  9767 =  91.840
0, 1  acc:  7340 /  7535 =  97.412
1, 0  acc:  2327 /  2480 =  93.831
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   123 /   180 =  68.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8970 /  9767 =  91.840
0, 1  acc:  7340 /  7535 =  97.412
1, 0  acc:  2327 /  2480 =  93.831
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18760 / 19962 =  93.979
Robust  acc:   123 /   180 =  68.333
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.554 | Val Loss: 0.001 | Val Acc: 93.713
Training:
Accuracies by groups:
0, 0  acc: 14306 / 16174 =  88.451
0, 1  acc:  7717 /  8047 =  95.899
1, 0  acc: 129860 / 129973 =  99.913
1, 1  acc:  8533 /  8576 =  99.499
--------------------------------------
Average acc: 160416 / 162770 =  98.554
Robust  acc: 14306 / 16174 =  88.451
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7759 /  8535 =  90.908
0, 1  acc:  8065 /  8276 =  97.450
1, 0  acc:  2656 /  2874 =  92.415
1, 1  acc:   138 /   182 =  75.824
------------------------------------
Average acc: 18618 / 19867 =  93.713
Robust  acc:   138 /   182 =  75.824
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.768
Robust Acc: 69.444 | Best Acc: 96.855
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9033 /  9767 =  92.485
0, 1  acc:  7298 /  7535 =  96.855
1, 0  acc:  2262 /  2480 =  91.210
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18718 / 19962 =  93.768
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9033 /  9767 =  92.485
0, 1  acc:  7298 /  7535 =  96.855
1, 0  acc:  2262 /  2480 =  91.210
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18718 / 19962 =  93.768
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9033 /  9767 =  92.485
0, 1  acc:  7298 /  7535 =  96.855
1, 0  acc:  2262 /  2480 =  91.210
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18718 / 19962 =  93.768
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.588 | Val Loss: 0.002 | Val Acc: 92.727
Training:
Accuracies by groups:
0, 0  acc: 14254 / 16011 =  89.026
0, 1  acc:  7796 /  8121 =  95.998
1, 0  acc: 129958 / 130125 =  99.872
1, 1  acc:  8464 /  8513 =  99.424
--------------------------------------
Average acc: 160472 / 162770 =  98.588
Robust  acc: 14254 / 16011 =  89.026
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7504 /  8535 =  87.920
0, 1  acc:  8035 /  8276 =  97.088
1, 0  acc:  2745 /  2874 =  95.511
1, 1  acc:   138 /   182 =  75.824
------------------------------------
Average acc: 18422 / 19867 =  92.727
Robust  acc:   138 /   182 =  75.824
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.032
Robust Acc: 72.778 | Best Acc: 96.523
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  8824 /  9767 =  90.345
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2343 /  2480 =  94.476
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18571 / 19962 =  93.032
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8824 /  9767 =  90.345
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2343 /  2480 =  94.476
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18571 / 19962 =  93.032
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8824 /  9767 =  90.345
0, 1  acc:  7273 /  7535 =  96.523
1, 0  acc:  2343 /  2480 =  94.476
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18571 / 19962 =  93.032
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.228 | Val Loss: 0.002 | Val Acc: 88.408
Training:
Accuracies by groups:
0, 0  acc: 14212 / 16318 =  87.094
0, 1  acc:  7765 /  8124 =  95.581
1, 0  acc: 129537 / 129869 =  99.744
1, 1  acc:  8372 /  8459 =  98.972
--------------------------------------
Average acc: 159886 / 162770 =  98.228
Robust  acc: 14212 / 16318 =  87.094
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6960 /  8535 =  81.547
0, 1  acc:  7614 /  8276 =  92.001
1, 0  acc:  2823 /  2874 =  98.225
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 17564 / 19867 =  88.408
Robust  acc:  6960 /  8535 =  81.547
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.245
Robust Acc: 85.615 | Best Acc: 97.379
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8362 /  9767 =  85.615
0, 1  acc:  6880 /  7535 =  91.307
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17815 / 19962 =  89.245
Robust  acc:  8362 /  9767 =  85.615
------------------------------------
Accuracies by groups:
0, 0  acc:  8362 /  9767 =  85.615
0, 1  acc:  6880 /  7535 =  91.307
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17815 / 19962 =  89.245
Robust  acc:  8362 /  9767 =  85.615
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8362 /  9767 =  85.615
0, 1  acc:  6880 /  7535 =  91.307
1, 0  acc:  2415 /  2480 =  97.379
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17815 / 19962 =  89.245
Robust  acc:  8362 /  9767 =  85.615
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.804 | Val Loss: 0.002 | Val Acc: 91.373
Training:
Accuracies by groups:
0, 0  acc: 13791 / 16221 =  85.019
0, 1  acc:  7659 /  8134 =  94.160
1, 0  acc: 129456 / 129965 =  99.608
1, 1  acc:  8289 /  8450 =  98.095
--------------------------------------
Average acc: 159195 / 162770 =  97.804
Robust  acc: 13791 / 16221 =  85.019
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7357 /  8535 =  86.198
0, 1  acc:  7885 /  8276 =  95.275
1, 0  acc:  2761 /  2874 =  96.068
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 18153 / 19867 =  91.373
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.709
Robust Acc: 79.444 | Best Acc: 95.403
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8699 /  9767 =  89.065
0, 1  acc:  7099 /  7535 =  94.214
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18307 / 19962 =  91.709
Robust  acc:   143 /   180 =  79.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8699 /  9767 =  89.065
0, 1  acc:  7099 /  7535 =  94.214
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18307 / 19962 =  91.709
Robust  acc:   143 /   180 =  79.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8699 /  9767 =  89.065
0, 1  acc:  7099 /  7535 =  94.214
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   143 /   180 =  79.444
------------------------------------
Average acc: 18307 / 19962 =  91.709
Robust  acc:   143 /   180 =  79.444
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.343 | Val Loss: 0.002 | Val Acc: 88.297
Training:
Accuracies by groups:
0, 0  acc: 13382 / 16218 =  82.513
0, 1  acc:  7560 /  8158 =  92.670
1, 0  acc: 128991 / 129660 =  99.484
1, 1  acc:  8512 /  8734 =  97.458
--------------------------------------
Average acc: 158445 / 162770 =  97.343
Robust  acc: 13382 / 16218 =  82.513
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6877 /  8535 =  80.574
0, 1  acc:  7665 /  8276 =  92.617
1, 0  acc:  2829 /  2874 =  98.434
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17542 / 19867 =  88.297
Robust  acc:  6877 /  8535 =  80.574
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 89.194
Robust Acc: 84.663 | Best Acc: 98.185
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8269 /  9767 =  84.663
0, 1  acc:  6943 /  7535 =  92.143
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17805 / 19962 =  89.194
Robust  acc:  8269 /  9767 =  84.663
------------------------------------
Accuracies by groups:
0, 0  acc:  8269 /  9767 =  84.663
0, 1  acc:  6943 /  7535 =  92.143
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17805 / 19962 =  89.194
Robust  acc:  8269 /  9767 =  84.663
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8269 /  9767 =  84.663
0, 1  acc:  6943 /  7535 =  92.143
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17805 / 19962 =  89.194
Robust  acc:  8269 /  9767 =  84.663
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.853 | Val Loss: 0.003 | Val Acc: 85.524
Training:
Accuracies by groups:
0, 0  acc: 12711 / 16004 =  79.424
0, 1  acc:  7445 /  8136 =  91.507
1, 0  acc: 129366 / 130224 =  99.341
1, 1  acc:  8125 /  8406 =  96.657
--------------------------------------
Average acc: 157647 / 162770 =  96.853
Robust  acc: 12711 / 16004 =  79.424
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6550 /  8535 =  76.743
0, 1  acc:  7425 /  8276 =  89.717
1, 0  acc:  2844 /  2874 =  98.956
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16991 / 19867 =  85.524
Robust  acc:  6550 /  8535 =  76.743
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.489
Robust Acc: 81.182 | Best Acc: 98.548
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  7929 /  9767 =  81.182
0, 1  acc:  6728 /  7535 =  89.290
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17265 / 19962 =  86.489
Robust  acc:  7929 /  9767 =  81.182
------------------------------------
Accuracies by groups:
0, 0  acc:  7929 /  9767 =  81.182
0, 1  acc:  6728 /  7535 =  89.290
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17265 / 19962 =  86.489
Robust  acc:  7929 /  9767 =  81.182
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7929 /  9767 =  81.182
0, 1  acc:  6728 /  7535 =  89.290
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17265 / 19962 =  86.489
Robust  acc:  7929 /  9767 =  81.182
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.422 | Val Loss: 0.003 | Val Acc: 82.786
Training:
Accuracies by groups:
0, 0  acc: 12281 / 15901 =  77.234
0, 1  acc:  7327 /  8161 =  89.781
1, 0  acc: 129178 / 130185 =  99.226
1, 1  acc:  8160 /  8523 =  95.741
--------------------------------------
Average acc: 156946 / 162770 =  96.422
Robust  acc: 12281 / 15901 =  77.234
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6370 /  8535 =  74.634
0, 1  acc:  7044 /  8276 =  85.114
1, 0  acc:  2851 /  2874 =  99.200
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 16447 / 19867 =  82.786
Robust  acc:  6370 /  8535 =  74.634
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 84.425
Robust Acc: 79.543 | Best Acc: 99.032
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  7769 /  9767 =  79.543
0, 1  acc:  6458 /  7535 =  85.707
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16853 / 19962 =  84.425
Robust  acc:  7769 /  9767 =  79.543
------------------------------------
Accuracies by groups:
0, 0  acc:  7769 /  9767 =  79.543
0, 1  acc:  6458 /  7535 =  85.707
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16853 / 19962 =  84.425
Robust  acc:  7769 /  9767 =  79.543
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7769 /  9767 =  79.543
0, 1  acc:  6458 /  7535 =  85.707
1, 0  acc:  2456 /  2480 =  99.032
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16853 / 19962 =  84.425
Robust  acc:  7769 /  9767 =  79.543
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.984 | Val Loss: 0.003 | Val Acc: 82.282
Training:
Accuracies by groups:
0, 0  acc: 12139 / 16070 =  75.538
0, 1  acc:  7301 /  8265 =  88.336
1, 0  acc: 128711 / 129884 =  99.097
1, 1  acc:  8082 /  8551 =  94.515
--------------------------------------
Average acc: 156233 / 162770 =  95.984
Robust  acc: 12139 / 16070 =  75.538
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6160 /  8535 =  72.173
0, 1  acc:  7155 /  8276 =  86.455
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16347 / 19867 =  82.282
Robust  acc:  6160 /  8535 =  72.173
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 83.589
Robust Acc: 77.250 | Best Acc: 99.153
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  7545 /  9767 =  77.250
0, 1  acc:  6515 /  7535 =  86.463
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16686 / 19962 =  83.589
Robust  acc:  7545 /  9767 =  77.250
------------------------------------
Accuracies by groups:
0, 0  acc:  7545 /  9767 =  77.250
0, 1  acc:  6515 /  7535 =  86.463
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16686 / 19962 =  83.589
Robust  acc:  7545 /  9767 =  77.250
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7545 /  9767 =  77.250
0, 1  acc:  6515 /  7535 =  86.463
1, 0  acc:  2459 /  2480 =  99.153
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 16686 / 19962 =  83.589
Robust  acc:  7545 /  9767 =  77.250
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.516 | Val Loss: 0.003 | Val Acc: 84.844
Training:
Accuracies by groups:
0, 0  acc: 11799 / 16117 =  73.208
0, 1  acc:  6958 /  8064 =  86.285
1, 0  acc: 128593 / 129947 =  98.958
1, 1  acc:  8121 /  8642 =  93.971
--------------------------------------
Average acc: 155471 / 162770 =  95.516
Robust  acc: 11799 / 16117 =  73.208
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6422 /  8535 =  75.243
0, 1  acc:  7417 /  8276 =  89.621
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16856 / 19867 =  84.844
Robust  acc:  6422 /  8535 =  75.243
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.499
Robust Acc: 80.649 | Best Acc: 98.831
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  7877 /  9767 =  80.649
0, 1  acc:  6777 /  7535 =  89.940
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17267 / 19962 =  86.499
Robust  acc:  7877 /  9767 =  80.649
------------------------------------
Accuracies by groups:
0, 0  acc:  7877 /  9767 =  80.649
0, 1  acc:  6777 /  7535 =  89.940
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17267 / 19962 =  86.499
Robust  acc:  7877 /  9767 =  80.649
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7877 /  9767 =  80.649
0, 1  acc:  6777 /  7535 =  89.940
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17267 / 19962 =  86.499
Robust  acc:  7877 /  9767 =  80.649
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.188 | Val Loss: 0.005 | Val Acc: 71.818
Training:
Accuracies by groups:
0, 0  acc: 11685 / 16239 =  71.956
0, 1  acc:  6877 /  8112 =  84.776
1, 0  acc: 128495 / 129993 =  98.848
1, 1  acc:  7881 /  8426 =  93.532
--------------------------------------
Average acc: 154938 / 162770 =  95.188
Robust  acc: 11685 / 16239 =  71.956
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4995 /  8535 =  58.524
0, 1  acc:  6224 /  8276 =  75.205
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14268 / 19867 =  71.818
Robust  acc:  4995 /  8535 =  58.524
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.873
Robust Acc: 64.493 | Best Acc: 99.718
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  6299 /  9767 =  64.493
0, 1  acc:  5601 /  7535 =  74.333
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14547 / 19962 =  72.873
Robust  acc:  6299 /  9767 =  64.493
------------------------------------
Accuracies by groups:
0, 0  acc:  6299 /  9767 =  64.493
0, 1  acc:  5601 /  7535 =  74.333
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14547 / 19962 =  72.873
Robust  acc:  6299 /  9767 =  64.493
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6299 /  9767 =  64.493
0, 1  acc:  5601 /  7535 =  74.333
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14547 / 19962 =  72.873
Robust  acc:  6299 /  9767 =  64.493
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 95.048 | Val Loss: 0.002 | Val Acc: 94.695
Training:
Accuracies by groups:
0, 0  acc: 11347 / 15989 =  70.968
0, 1  acc:  6813 /  8212 =  82.964
1, 0  acc: 128567 / 130080 =  98.837
1, 1  acc:  7983 /  8489 =  94.039
--------------------------------------
Average acc: 154710 / 162770 =  95.048
Robust  acc: 11347 / 15989 =  70.968
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8030 /  8535 =  94.083
0, 1  acc:  8112 /  8276 =  98.018
1, 0  acc:  2551 /  2874 =  88.761
1, 1  acc:   120 /   182 =  65.934
------------------------------------
Average acc: 18813 / 19867 =  94.695
Robust  acc:   120 /   182 =  65.934
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.910
Robust Acc: 58.333 | Best Acc: 97.797
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  9299 /  9767 =  95.208
0, 1  acc:  7369 /  7535 =  97.797
1, 0  acc:  2173 /  2480 =  87.621
1, 1  acc:   105 /   180 =  58.333
------------------------------------
Average acc: 18946 / 19962 =  94.910
Robust  acc:   105 /   180 =  58.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9299 /  9767 =  95.208
0, 1  acc:  7369 /  7535 =  97.797
1, 0  acc:  2173 /  2480 =  87.621
1, 1  acc:   105 /   180 =  58.333
------------------------------------
Average acc: 18946 / 19962 =  94.910
Robust  acc:   105 /   180 =  58.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9299 /  9767 =  95.208
0, 1  acc:  7369 /  7535 =  97.797
1, 0  acc:  2173 /  2480 =  87.621
1, 1  acc:   105 /   180 =  58.333
------------------------------------
Average acc: 18946 / 19962 =  94.910
Robust  acc:   105 /   180 =  58.333
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.713 | Val Loss: 0.004 | Val Acc: 77.883
Training:
Accuracies by groups:
0, 0  acc: 11078 / 16117 =  68.735
0, 1  acc:  6546 /  8049 =  81.327
1, 0  acc: 128504 / 130042 =  98.817
1, 1  acc:  8037 /  8562 =  93.868
--------------------------------------
Average acc: 154165 / 162770 =  94.713
Robust  acc: 11078 / 16117 =  68.735
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5884 /  8535 =  68.940
0, 1  acc:  6552 /  8276 =  79.169
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 15473 / 19867 =  77.883
Robust  acc:  5884 /  8535 =  68.940
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 79.937
Robust Acc: 74.772 | Best Acc: 99.355
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  7303 /  9767 =  74.772
0, 1  acc:  6018 /  7535 =  79.867
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15957 / 19962 =  79.937
Robust  acc:  7303 /  9767 =  74.772
------------------------------------
Accuracies by groups:
0, 0  acc:  7303 /  9767 =  74.772
0, 1  acc:  6018 /  7535 =  79.867
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15957 / 19962 =  79.937
Robust  acc:  7303 /  9767 =  74.772
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7303 /  9767 =  74.772
0, 1  acc:  6018 /  7535 =  79.867
1, 0  acc:  2464 /  2480 =  99.355
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15957 / 19962 =  79.937
Robust  acc:  7303 /  9767 =  74.772
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.603 | Val Loss: 0.003 | Val Acc: 92.374
Training:
Accuracies by groups:
0, 0  acc: 11090 / 16123 =  68.784
0, 1  acc:  6583 /  8274 =  79.562
1, 0  acc: 128336 / 129849 =  98.835
1, 1  acc:  7976 /  8524 =  93.571
--------------------------------------
Average acc: 153985 / 162770 =  94.603
Robust  acc: 11090 / 16123 =  68.784
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7645 /  8535 =  89.572
0, 1  acc:  7877 /  8276 =  95.179
1, 0  acc:  2686 /  2874 =  93.459
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 18352 / 19867 =  92.374
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.322
Robust Acc: 73.889 | Best Acc: 95.448
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  8999 /  9767 =  92.137
0, 1  acc:  7192 /  7535 =  95.448
1, 0  acc:  2305 /  2480 =  92.944
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18629 / 19962 =  93.322
Robust  acc:   133 /   180 =  73.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8999 /  9767 =  92.137
0, 1  acc:  7192 /  7535 =  95.448
1, 0  acc:  2305 /  2480 =  92.944
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18629 / 19962 =  93.322
Robust  acc:   133 /   180 =  73.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8999 /  9767 =  92.137
0, 1  acc:  7192 /  7535 =  95.448
1, 0  acc:  2305 /  2480 =  92.944
1, 1  acc:   133 /   180 =  73.889
------------------------------------
Average acc: 18629 / 19962 =  93.322
Robust  acc:   133 /   180 =  73.889
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.530 | Val Loss: 0.004 | Val Acc: 85.197
Training:
Accuracies by groups:
0, 0  acc: 11088 / 16259 =  68.196
0, 1  acc:  6392 /  8093 =  78.982
1, 0  acc: 128265 / 129835 =  98.791
1, 1  acc:  8122 /  8583 =  94.629
--------------------------------------
Average acc: 153867 / 162770 =  94.530
Robust  acc: 11088 / 16259 =  68.196
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6844 /  8535 =  80.187
0, 1  acc:  7082 /  8276 =  85.573
1, 0  acc:  2823 /  2874 =  98.225
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16926 / 19867 =  85.197
Robust  acc:  6844 /  8535 =  80.187
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.010
Robust Acc: 84.806 | Best Acc: 97.702
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  8283 /  9767 =  84.806
0, 1  acc:  6496 /  7535 =  86.211
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17369 / 19962 =  87.010
Robust  acc:  8283 /  9767 =  84.806
------------------------------------
Accuracies by groups:
0, 0  acc:  8283 /  9767 =  84.806
0, 1  acc:  6496 /  7535 =  86.211
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17369 / 19962 =  87.010
Robust  acc:  8283 /  9767 =  84.806
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8283 /  9767 =  84.806
0, 1  acc:  6496 /  7535 =  86.211
1, 0  acc:  2423 /  2480 =  97.702
1, 1  acc:   167 /   180 =  92.778
------------------------------------
Average acc: 17369 / 19962 =  87.010
Robust  acc:  8283 /  9767 =  84.806
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.398 | Val Loss: 0.003 | Val Acc: 89.294
Training:
Accuracies by groups:
0, 0  acc: 10829 / 16191 =  66.883
0, 1  acc:  6343 /  8138 =  77.943
1, 0  acc: 128399 / 129912 =  98.835
1, 1  acc:  8081 /  8529 =  94.747
--------------------------------------
Average acc: 153652 / 162770 =  94.398
Robust  acc: 10829 / 16191 =  66.883
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7123 /  8535 =  83.456
0, 1  acc:  7649 /  8276 =  92.424
1, 0  acc:  2803 /  2874 =  97.530
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17740 / 19867 =  89.294
Robust  acc:  7123 /  8535 =  83.456
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.422
Robust Acc: 86.111 | Best Acc: 96.815
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  8501 /  9767 =  87.038
0, 1  acc:  6993 /  7535 =  92.807
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18050 / 19962 =  90.422
Robust  acc:   155 /   180 =  86.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8501 /  9767 =  87.038
0, 1  acc:  6993 /  7535 =  92.807
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18050 / 19962 =  90.422
Robust  acc:   155 /   180 =  86.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8501 /  9767 =  87.038
0, 1  acc:  6993 /  7535 =  92.807
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 18050 / 19962 =  90.422
Robust  acc:   155 /   180 =  86.111
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.333 | Val Loss: 0.009 | Val Acc: 40.348
Training:
Accuracies by groups:
0, 0  acc: 10663 / 15988 =  66.694
0, 1  acc:  6273 /  8089 =  77.550
1, 0  acc: 128423 / 130000 =  98.787
1, 1  acc:  8187 /  8693 =  94.179
--------------------------------------
Average acc: 153546 / 162770 =  94.333
Robust  acc: 10663 / 15988 =  66.694
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  2204 /  8535 =  25.823
0, 1  acc:  2757 /  8276 =  33.313
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  8016 / 19867 =  40.348
Robust  acc:  2204 /  8535 =  25.823
------------------------------------
-------------------------------------------
Avg Test Loss: 0.009 | Avg Test Acc: 40.091
Robust Acc: 30.091 | Best Acc: 99.919
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  2939 /  9767 =  30.091
0, 1  acc:  2407 /  7535 =  31.944
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  8003 / 19962 =  40.091
Robust  acc:  2939 /  9767 =  30.091
------------------------------------
Accuracies by groups:
0, 0  acc:  2939 /  9767 =  30.091
0, 1  acc:  2407 /  7535 =  31.944
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  8003 / 19962 =  40.091
Robust  acc:  2939 /  9767 =  30.091
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  2939 /  9767 =  30.091
0, 1  acc:  2407 /  7535 =  31.944
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  8003 / 19962 =  40.091
Robust  acc:  2939 /  9767 =  30.091
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.213 | Val Loss: 0.004 | Val Acc: 85.030
Training:
Accuracies by groups:
0, 0  acc: 10904 / 16350 =  66.691
0, 1  acc:  6235 /  8218 =  75.870
1, 0  acc: 128023 / 129530 =  98.837
1, 1  acc:  8189 /  8672 =  94.430
--------------------------------------
Average acc: 153351 / 162770 =  94.213
Robust  acc: 10904 / 16350 =  66.691
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6800 /  8535 =  79.672
0, 1  acc:  7104 /  8276 =  85.839
1, 0  acc:  2817 /  2874 =  98.017
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16893 / 19867 =  85.030
Robust  acc:  6800 /  8535 =  79.672
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.494
Robust Acc: 84.069 | Best Acc: 97.258
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  8211 /  9767 =  84.069
0, 1  acc:  6479 /  7535 =  85.985
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17266 / 19962 =  86.494
Robust  acc:  8211 /  9767 =  84.069
------------------------------------
Accuracies by groups:
0, 0  acc:  8211 /  9767 =  84.069
0, 1  acc:  6479 /  7535 =  85.985
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17266 / 19962 =  86.494
Robust  acc:  8211 /  9767 =  84.069
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8211 /  9767 =  84.069
0, 1  acc:  6479 /  7535 =  85.985
1, 0  acc:  2412 /  2480 =  97.258
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17266 / 19962 =  86.494
Robust  acc:  8211 /  9767 =  84.069
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.274 | Val Loss: 0.003 | Val Acc: 87.779
Training:
Accuracies by groups:
0, 0  acc: 10431 / 15999 =  65.198
0, 1  acc:  6116 /  8137 =  75.163
1, 0  acc: 128808 / 130119 =  98.992
1, 1  acc:  8095 /  8515 =  95.068
--------------------------------------
Average acc: 153450 / 162770 =  94.274
Robust  acc: 10431 / 15999 =  65.198
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7007 /  8535 =  82.097
0, 1  acc:  7481 /  8276 =  90.394
1, 0  acc:  2783 /  2874 =  96.834
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17439 / 19867 =  87.779
Robust  acc:  7007 /  8535 =  82.097
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.019
Robust Acc: 85.625 | Best Acc: 96.815
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  8363 /  9767 =  85.625
0, 1  acc:  6849 /  7535 =  90.896
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17770 / 19962 =  89.019
Robust  acc:  8363 /  9767 =  85.625
------------------------------------
Accuracies by groups:
0, 0  acc:  8363 /  9767 =  85.625
0, 1  acc:  6849 /  7535 =  90.896
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17770 / 19962 =  89.019
Robust  acc:  8363 /  9767 =  85.625
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8363 /  9767 =  85.625
0, 1  acc:  6849 /  7535 =  90.896
1, 0  acc:  2401 /  2480 =  96.815
1, 1  acc:   157 /   180 =  87.222
------------------------------------
Average acc: 17770 / 19962 =  89.019
Robust  acc:  8363 /  9767 =  85.625
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.137 | Val Loss: 0.006 | Val Acc: 61.569
Training:
Accuracies by groups:
0, 0  acc: 10526 / 16180 =  65.056
0, 1  acc:  5999 /  8148 =  73.625
1, 0  acc: 128589 / 129890 =  98.998
1, 1  acc:  8112 /  8552 =  94.855
--------------------------------------
Average acc: 153226 / 162770 =  94.137
Robust  acc: 10526 / 16180 =  65.056
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4283 /  8535 =  50.182
0, 1  acc:  4900 /  8276 =  59.207
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12232 / 19867 =  61.569
Robust  acc:  4283 /  8535 =  50.182
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 62.063
Robust Acc: 55.186 | Best Acc: 99.637
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  5390 /  9767 =  55.186
0, 1  acc:  4350 /  7535 =  57.731
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12389 / 19962 =  62.063
Robust  acc:  5390 /  9767 =  55.186
------------------------------------
Accuracies by groups:
0, 0  acc:  5390 /  9767 =  55.186
0, 1  acc:  4350 /  7535 =  57.731
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12389 / 19962 =  62.063
Robust  acc:  5390 /  9767 =  55.186
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5390 /  9767 =  55.186
0, 1  acc:  4350 /  7535 =  57.731
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12389 / 19962 =  62.063
Robust  acc:  5390 /  9767 =  55.186
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.106 | Val Loss: 0.004 | Val Acc: 85.363
Training:
Accuracies by groups:
0, 0  acc: 10386 / 16121 =  64.425
0, 1  acc:  6138 /  8284 =  74.095
1, 0  acc: 128389 / 129672 =  99.011
1, 1  acc:  8264 /  8693 =  95.065
--------------------------------------
Average acc: 153177 / 162770 =  94.106
Robust  acc: 10386 / 16121 =  64.425
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6901 /  8535 =  80.855
0, 1  acc:  7102 /  8276 =  85.814
1, 0  acc:  2791 /  2874 =  97.112
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 16959 / 19867 =  85.363
Robust  acc:  6901 /  8535 =  80.855
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.920
Robust Acc: 85.001 | Best Acc: 96.129
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  8302 /  9767 =  85.001
0, 1  acc:  6500 /  7535 =  86.264
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17351 / 19962 =  86.920
Robust  acc:  8302 /  9767 =  85.001
------------------------------------
Accuracies by groups:
0, 0  acc:  8302 /  9767 =  85.001
0, 1  acc:  6500 /  7535 =  86.264
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17351 / 19962 =  86.920
Robust  acc:  8302 /  9767 =  85.001
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8302 /  9767 =  85.001
0, 1  acc:  6500 /  7535 =  86.264
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 17351 / 19962 =  86.920
Robust  acc:  8302 /  9767 =  85.001
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.086 | Val Loss: 0.010 | Val Acc: 31.983
Training:
Accuracies by groups:
0, 0  acc: 10266 / 15970 =  64.283
0, 1  acc:  5782 /  8020 =  72.095
1, 0  acc: 128940 / 130201 =  99.031
1, 1  acc:  8155 /  8579 =  95.058
--------------------------------------
Average acc: 153143 / 162770 =  94.086
Robust  acc: 10266 / 15970 =  64.283
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  1180 /  8535 =  13.825
0, 1  acc:  2118 /  8276 =  25.592
1, 0  acc:  2874 /  2874 = 100.000
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc:  6354 / 19867 =  31.983
Robust  acc:  1180 /  8535 =  13.825
------------------------------------
-------------------------------------------
Avg Test Loss: 0.010 | Avg Test Acc: 29.992
Robust Acc: 15.552 | Best Acc: 100.000
--------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  1519 /  9767 =  15.552
0, 1  acc:  1809 /  7535 =  24.008
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5987 / 19962 =  29.992
Robust  acc:  1519 /  9767 =  15.552
------------------------------------
Accuracies by groups:
0, 0  acc:  1519 /  9767 =  15.552
0, 1  acc:  1809 /  7535 =  24.008
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5987 / 19962 =  29.992
Robust  acc:  1519 /  9767 =  15.552
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  1519 /  9767 =  15.552
0, 1  acc:  1809 /  7535 =  24.008
1, 0  acc:  2480 /  2480 = 100.000
1, 1  acc:   179 /   180 =  99.444
------------------------------------
Average acc:  5987 / 19962 =  29.992
Robust  acc:  1519 /  9767 =  15.552
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 94.098 | Val Loss: 0.003 | Val Acc: 90.507
Training:
Accuracies by groups:
0, 0  acc: 10291 / 16110 =  63.880
0, 1  acc:  5920 /  8110 =  72.996
1, 0  acc: 128808 / 129996 =  99.086
1, 1  acc:  8144 /  8554 =  95.207
--------------------------------------
Average acc: 153163 / 162770 =  94.098
Robust  acc: 10291 / 16110 =  63.880
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7298 /  8535 =  85.507
0, 1  acc:  7773 /  8276 =  93.922
1, 0  acc:  2756 /  2874 =  95.894
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 17981 / 19867 =  90.507
Robust  acc:   154 /   182 =  84.615
------------------------------------
New max robust acc: 84.61538461538461
debias model - Saving best checkpoint at epoch 30
replace: True
-> Updating checkpoint debias-wga-best_seed1.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed1.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.569
Robust Acc: 76.667 | Best Acc: 95.766
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  8640 /  9767 =  88.461
0, 1  acc:  7126 /  7535 =  94.572
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18279 / 19962 =  91.569
Robust  acc:   138 /   180 =  76.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8640 /  9767 =  88.461
0, 1  acc:  7126 /  7535 =  94.572
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18279 / 19962 =  91.569
Robust  acc:   138 /   180 =  76.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8640 /  9767 =  88.461
0, 1  acc:  7126 /  7535 =  94.572
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   138 /   180 =  76.667
------------------------------------
Average acc: 18279 / 19962 =  91.569
Robust  acc:   138 /   180 =  76.667
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 94.081 | Val Loss: 0.003 | Val Acc: 88.232
Training:
Accuracies by groups:
0, 0  acc: 10151 / 16004 =  63.428
0, 1  acc:  5808 /  7989 =  72.700
1, 0  acc: 129168 / 130385 =  99.067
1, 1  acc:  8009 /  8392 =  95.436
--------------------------------------
Average acc: 153136 / 162770 =  94.081
Robust  acc: 10151 / 16004 =  63.428
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7070 /  8535 =  82.835
0, 1  acc:  7491 /  8276 =  90.515
1, 0  acc:  2800 /  2874 =  97.425
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17529 / 19867 =  88.232
Robust  acc:  7070 /  8535 =  82.835
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.340
Robust Acc: 86.465 | Best Acc: 96.734
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  8445 /  9767 =  86.465
0, 1  acc:  6832 /  7535 =  90.670
1, 0  acc:  2399 /  2480 =  96.734
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17834 / 19962 =  89.340
Robust  acc:  8445 /  9767 =  86.465
------------------------------------
Accuracies by groups:
0, 0  acc:  8445 /  9767 =  86.465
0, 1  acc:  6832 /  7535 =  90.670
1, 0  acc:  2399 /  2480 =  96.734
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17834 / 19962 =  89.340
Robust  acc:  8445 /  9767 =  86.465
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8445 /  9767 =  86.465
0, 1  acc:  6832 /  7535 =  90.670
1, 0  acc:  2399 /  2480 =  96.734
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17834 / 19962 =  89.340
Robust  acc:  8445 /  9767 =  86.465
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 94.118 | Val Loss: 0.004 | Val Acc: 83.923
Training:
Accuracies by groups:
0, 0  acc: 10417 / 16192 =  64.334
0, 1  acc:  5870 /  8157 =  71.963
1, 0  acc: 128692 / 129824 =  99.128
1, 1  acc:  8217 /  8597 =  95.580
--------------------------------------
Average acc: 153196 / 162770 =  94.118
Robust  acc: 10417 / 16192 =  64.334
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6454 /  8535 =  75.618
0, 1  acc:  7212 /  8276 =  87.144
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 16673 / 19867 =  83.923
Robust  acc:  6454 /  8535 =  75.618
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.377
Robust Acc: 80.362 | Best Acc: 98.468
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7849 /  9767 =  80.362
0, 1  acc:  6593 /  7535 =  87.498
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17043 / 19962 =  85.377
Robust  acc:  7849 /  9767 =  80.362
------------------------------------
Accuracies by groups:
0, 0  acc:  7849 /  9767 =  80.362
0, 1  acc:  6593 /  7535 =  87.498
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17043 / 19962 =  85.377
Robust  acc:  7849 /  9767 =  80.362
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7849 /  9767 =  80.362
0, 1  acc:  6593 /  7535 =  87.498
1, 0  acc:  2442 /  2480 =  98.468
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17043 / 19962 =  85.377
Robust  acc:  7849 /  9767 =  80.362
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.071 | Val Loss: 0.003 | Val Acc: 89.737
Training:
Accuracies by groups:
0, 0  acc: 10305 / 16122 =  63.919
0, 1  acc:  5743 /  7965 =  72.103
1, 0  acc: 128817 / 130010 =  99.082
1, 1  acc:  8255 /  8673 =  95.180
--------------------------------------
Average acc: 153120 / 162770 =  94.071
Robust  acc: 10305 / 16122 =  63.919
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7328 /  8535 =  85.858
0, 1  acc:  7605 /  8276 =  91.892
1, 0  acc:  2744 /  2874 =  95.477
1, 1  acc:   151 /   182 =  82.967
------------------------------------
Average acc: 17828 / 19867 =  89.737
Robust  acc:   151 /   182 =  82.967
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.933
Robust Acc: 80.556 | Best Acc: 95.161
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  8737 /  9767 =  89.454
0, 1  acc:  6910 /  7535 =  91.705
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18152 / 19962 =  90.933
Robust  acc:   145 /   180 =  80.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8737 /  9767 =  89.454
0, 1  acc:  6910 /  7535 =  91.705
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18152 / 19962 =  90.933
Robust  acc:   145 /   180 =  80.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8737 /  9767 =  89.454
0, 1  acc:  6910 /  7535 =  91.705
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   145 /   180 =  80.556
------------------------------------
Average acc: 18152 / 19962 =  90.933
Robust  acc:   145 /   180 =  80.556
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 94.119 | Val Loss: 0.004 | Val Acc: 80.314
Training:
Accuracies by groups:
0, 0  acc: 10349 / 16123 =  64.188
0, 1  acc:  6049 /  8270 =  73.144
1, 0  acc: 128785 / 129978 =  99.082
1, 1  acc:  8015 /  8399 =  95.428
--------------------------------------
Average acc: 153198 / 162770 =  94.119
Robust  acc: 10349 / 16123 =  64.188
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6177 /  8535 =  72.373
0, 1  acc:  6774 /  8276 =  81.851
1, 0  acc:  2838 /  2874 =  98.747
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 15956 / 19867 =  80.314
Robust  acc:  6177 /  8535 =  72.373
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.861
Robust Acc: 78.315 | Best Acc: 98.185
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  7649 /  9767 =  78.315
0, 1  acc:  6088 /  7535 =  80.796
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16341 / 19962 =  81.861
Robust  acc:  7649 /  9767 =  78.315
------------------------------------
Accuracies by groups:
0, 0  acc:  7649 /  9767 =  78.315
0, 1  acc:  6088 /  7535 =  80.796
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16341 / 19962 =  81.861
Robust  acc:  7649 /  9767 =  78.315
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7649 /  9767 =  78.315
0, 1  acc:  6088 /  7535 =  80.796
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16341 / 19962 =  81.861
Robust  acc:  7649 /  9767 =  78.315
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.127 | Val Loss: 0.003 | Val Acc: 90.306
Training:
Accuracies by groups:
0, 0  acc: 10263 / 15994 =  64.168
0, 1  acc:  5894 /  8128 =  72.515
1, 0  acc: 128960 / 130148 =  99.087
1, 1  acc:  8093 /  8500 =  95.212
--------------------------------------
Average acc: 153210 / 162770 =  94.127
Robust  acc: 10263 / 15994 =  64.168
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7590 /  8535 =  88.928
0, 1  acc:  7545 /  8276 =  91.167
1, 0  acc:  2658 /  2874 =  92.484
1, 1  acc:   148 /   182 =  81.319
------------------------------------
Average acc: 17941 / 19867 =  90.306
Robust  acc:   148 /   182 =  81.319
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.354
Robust Acc: 78.889 | Best Acc: 92.016
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8963 /  9767 =  91.768
0, 1  acc:  6849 /  7535 =  90.896
1, 0  acc:  2282 /  2480 =  92.016
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18236 / 19962 =  91.354
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8963 /  9767 =  91.768
0, 1  acc:  6849 /  7535 =  90.896
1, 0  acc:  2282 /  2480 =  92.016
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18236 / 19962 =  91.354
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8963 /  9767 =  91.768
0, 1  acc:  6849 /  7535 =  90.896
1, 0  acc:  2282 /  2480 =  92.016
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18236 / 19962 =  91.354
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.108 | Val Loss: 0.008 | Val Acc: 52.313
Training:
Accuracies by groups:
0, 0  acc: 10248 / 16008 =  64.018
0, 1  acc:  5875 /  8083 =  72.683
1, 0  acc: 128853 / 130070 =  99.064
1, 1  acc:  8203 /  8609 =  95.284
--------------------------------------
Average acc: 153179 / 162770 =  94.108
Robust  acc: 10248 / 16008 =  64.018
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3269 /  8535 =  38.301
0, 1  acc:  4071 /  8276 =  49.190
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 10393 / 19867 =  52.313
Robust  acc:  3269 /  8535 =  38.301
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 53.522
Robust Acc: 44.364 | Best Acc: 99.879
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  4333 /  9767 =  44.364
0, 1  acc:  3696 /  7535 =  49.051
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10684 / 19962 =  53.522
Robust  acc:  4333 /  9767 =  44.364
------------------------------------
Accuracies by groups:
0, 0  acc:  4333 /  9767 =  44.364
0, 1  acc:  3696 /  7535 =  49.051
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10684 / 19962 =  53.522
Robust  acc:  4333 /  9767 =  44.364
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4333 /  9767 =  44.364
0, 1  acc:  3696 /  7535 =  49.051
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 10684 / 19962 =  53.522
Robust  acc:  4333 /  9767 =  44.364
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.070 | Val Loss: 0.004 | Val Acc: 84.754
Training:
Accuracies by groups:
0, 0  acc: 10169 / 15906 =  63.932
0, 1  acc:  5898 /  8148 =  72.386
1, 0  acc: 128851 / 130106 =  99.035
1, 1  acc:  8200 /  8610 =  95.238
--------------------------------------
Average acc: 153118 / 162770 =  94.070
Robust  acc: 10169 / 15906 =  63.932
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6479 /  8535 =  75.911
0, 1  acc:  7352 /  8276 =  88.835
1, 0  acc:  2837 /  2874 =  98.713
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 16838 / 19867 =  84.754
Robust  acc:  6479 /  8535 =  75.911
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.459
Robust Acc: 80.967 | Best Acc: 98.548
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6749 /  7535 =  89.569
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17259 / 19962 =  86.459
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6749 /  7535 =  89.569
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17259 / 19962 =  86.459
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7908 /  9767 =  80.967
0, 1  acc:  6749 /  7535 =  89.569
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17259 / 19962 =  86.459
Robust  acc:  7908 /  9767 =  80.967
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.175 | Val Loss: 0.006 | Val Acc: 64.791
Training:
Accuracies by groups:
0, 0  acc: 10507 / 16133 =  65.127
0, 1  acc:  5867 /  8057 =  72.819
1, 0  acc: 128815 / 130025 =  99.069
1, 1  acc:  8100 /  8555 =  94.681
--------------------------------------
Average acc: 153289 / 162770 =  94.175
Robust  acc: 10507 / 16133 =  65.127
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4569 /  8535 =  53.533
0, 1  acc:  5253 /  8276 =  63.473
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12872 / 19867 =  64.791
Robust  acc:  4569 /  8535 =  53.533
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 66.391
Robust Acc: 59.056 | Best Acc: 99.677
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  5768 /  9767 =  59.056
0, 1  acc:  4835 /  7535 =  64.167
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13253 / 19962 =  66.391
Robust  acc:  5768 /  9767 =  59.056
------------------------------------
Accuracies by groups:
0, 0  acc:  5768 /  9767 =  59.056
0, 1  acc:  4835 /  7535 =  64.167
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13253 / 19962 =  66.391
Robust  acc:  5768 /  9767 =  59.056
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5768 /  9767 =  59.056
0, 1  acc:  4835 /  7535 =  64.167
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13253 / 19962 =  66.391
Robust  acc:  5768 /  9767 =  59.056
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.114 | Val Loss: 0.003 | Val Acc: 89.696
Training:
Accuracies by groups:
0, 0  acc: 10504 / 16229 =  64.724
0, 1  acc:  6056 /  8185 =  73.989
1, 0  acc: 128464 / 129738 =  99.018
1, 1  acc:  8165 /  8618 =  94.744
--------------------------------------
Average acc: 153189 / 162770 =  94.114
Robust  acc: 10504 / 16229 =  64.724
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7260 /  8535 =  85.062
0, 1  acc:  7622 /  8276 =  92.098
1, 0  acc:  2774 /  2874 =  96.521
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 17820 / 19867 =  89.696
Robust  acc:  7260 /  8535 =  85.062
------------------------------------
New max robust acc: 85.06151142355009
debias model - Saving best checkpoint at epoch 39
replace: True
-> Updating checkpoint debias-wga-best_seed1.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed1.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.858
Robust Acc: 81.667 | Best Acc: 95.645
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  8661 /  9767 =  88.676
0, 1  acc:  6957 /  7535 =  92.329
1, 0  acc:  2372 /  2480 =  95.645
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18137 / 19962 =  90.858
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8661 /  9767 =  88.676
0, 1  acc:  6957 /  7535 =  92.329
1, 0  acc:  2372 /  2480 =  95.645
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18137 / 19962 =  90.858
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8661 /  9767 =  88.676
0, 1  acc:  6957 /  7535 =  92.329
1, 0  acc:  2372 /  2480 =  95.645
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18137 / 19962 =  90.858
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.137 | Val Loss: 0.004 | Val Acc: 86.384
Training:
Accuracies by groups:
0, 0  acc: 10373 / 16007 =  64.803
0, 1  acc:  5947 /  8078 =  73.620
1, 0  acc: 128955 / 130283 =  98.981
1, 1  acc:  7951 /  8402 =  94.632
--------------------------------------
Average acc: 153226 / 162770 =  94.137
Robust  acc: 10373 / 16007 =  64.803
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7001 /  8535 =  82.027
0, 1  acc:  7202 /  8276 =  87.023
1, 0  acc:  2791 /  2874 =  97.112
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17162 / 19867 =  86.384
Robust  acc:  7001 /  8535 =  82.027
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 87.396
Robust Acc: 85.779 | Best Acc: 96.048
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  8378 /  9767 =  85.779
0, 1  acc:  6525 /  7535 =  86.596
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17446 / 19962 =  87.396
Robust  acc:  8378 /  9767 =  85.779
------------------------------------
Accuracies by groups:
0, 0  acc:  8378 /  9767 =  85.779
0, 1  acc:  6525 /  7535 =  86.596
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17446 / 19962 =  87.396
Robust  acc:  8378 /  9767 =  85.779
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8378 /  9767 =  85.779
0, 1  acc:  6525 /  7535 =  86.596
1, 0  acc:  2382 /  2480 =  96.048
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17446 / 19962 =  87.396
Robust  acc:  8378 /  9767 =  85.779
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.237 | Val Loss: 0.007 | Val Acc: 58.620
Training:
Accuracies by groups:
0, 0  acc: 10495 / 16028 =  65.479
0, 1  acc:  6018 /  8114 =  74.168
1, 0  acc: 128814 / 130134 =  98.986
1, 1  acc:  8063 /  8494 =  94.926
--------------------------------------
Average acc: 153390 / 162770 =  94.237
Robust  acc: 10495 / 16028 =  65.479
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3886 /  8535 =  45.530
0, 1  acc:  4705 /  8276 =  56.851
1, 0  acc:  2873 /  2874 =  99.965
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11646 / 19867 =  58.620
Robust  acc:  3886 /  8535 =  45.530
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 60.330
Robust Acc: 52.084 | Best Acc: 99.879
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  5087 /  9767 =  52.084
0, 1  acc:  4301 /  7535 =  57.080
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12043 / 19962 =  60.330
Robust  acc:  5087 /  9767 =  52.084
------------------------------------
Accuracies by groups:
0, 0  acc:  5087 /  9767 =  52.084
0, 1  acc:  4301 /  7535 =  57.080
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12043 / 19962 =  60.330
Robust  acc:  5087 /  9767 =  52.084
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5087 /  9767 =  52.084
0, 1  acc:  4301 /  7535 =  57.080
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12043 / 19962 =  60.330
Robust  acc:  5087 /  9767 =  52.084
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.239 | Val Loss: 0.004 | Val Acc: 85.277
Training:
Accuracies by groups:
0, 0  acc: 10677 / 16248 =  65.713
0, 1  acc:  6048 /  8140 =  74.300
1, 0  acc: 128683 / 129993 =  98.992
1, 1  acc:  7985 /  8389 =  95.184
--------------------------------------
Average acc: 153393 / 162770 =  94.239
Robust  acc: 10677 / 16248 =  65.713
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6553 /  8535 =  76.778
0, 1  acc:  7389 /  8276 =  89.282
1, 0  acc:  2831 /  2874 =  98.504
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 16942 / 19867 =  85.277
Robust  acc:  6553 /  8535 =  76.778
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.775
Robust Acc: 81.263 | Best Acc: 98.024
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  7937 /  9767 =  81.263
0, 1  acc:  6793 /  7535 =  90.153
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17322 / 19962 =  86.775
Robust  acc:  7937 /  9767 =  81.263
------------------------------------
Accuracies by groups:
0, 0  acc:  7937 /  9767 =  81.263
0, 1  acc:  6793 /  7535 =  90.153
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17322 / 19962 =  86.775
Robust  acc:  7937 /  9767 =  81.263
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7937 /  9767 =  81.263
0, 1  acc:  6793 /  7535 =  90.153
1, 0  acc:  2431 /  2480 =  98.024
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17322 / 19962 =  86.775
Robust  acc:  7937 /  9767 =  81.263
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.381 | Val Loss: 0.004 | Val Acc: 86.792
Training:
Accuracies by groups:
0, 0  acc: 10663 / 16081 =  66.308
0, 1  acc:  6095 /  8128 =  74.988
1, 0  acc: 128991 / 130244 =  99.038
1, 1  acc:  7875 /  8317 =  94.686
--------------------------------------
Average acc: 153624 / 162770 =  94.381
Robust  acc: 10663 / 16081 =  66.308
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7100 /  8535 =  83.187
0, 1  acc:  7219 /  8276 =  87.228
1, 0  acc:  2762 /  2874 =  96.103
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17243 / 19867 =  86.792
Robust  acc:  7100 /  8535 =  83.187
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.258
Robust Acc: 84.444 | Best Acc: 95.161
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8515 /  9767 =  87.181
0, 1  acc:  6591 /  7535 =  87.472
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17618 / 19962 =  88.258
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8515 /  9767 =  87.181
0, 1  acc:  6591 /  7535 =  87.472
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17618 / 19962 =  88.258
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8515 /  9767 =  87.181
0, 1  acc:  6591 /  7535 =  87.472
1, 0  acc:  2360 /  2480 =  95.161
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17618 / 19962 =  88.258
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.271 | Val Loss: 0.003 | Val Acc: 93.663
Training:
Accuracies by groups:
0, 0  acc: 10820 / 16309 =  66.344
0, 1  acc:  6052 /  8090 =  74.808
1, 0  acc: 128538 / 129874 =  98.971
1, 1  acc:  8035 /  8497 =  94.563
--------------------------------------
Average acc: 153445 / 162770 =  94.271
Robust  acc: 10820 / 16309 =  66.344
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7863 /  8535 =  92.127
0, 1  acc:  8052 /  8276 =  97.293
1, 0  acc:  2576 /  2874 =  89.631
1, 1  acc:   117 /   182 =  64.286
------------------------------------
Average acc: 18608 / 19867 =  93.663
Robust  acc:   117 /   182 =  64.286
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 94.439
Robust Acc: 61.667 | Best Acc: 97.452
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  9199 /  9767 =  94.184
0, 1  acc:  7343 /  7535 =  97.452
1, 0  acc:  2199 /  2480 =  88.669
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18852 / 19962 =  94.439
Robust  acc:   111 /   180 =  61.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9199 /  9767 =  94.184
0, 1  acc:  7343 /  7535 =  97.452
1, 0  acc:  2199 /  2480 =  88.669
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18852 / 19962 =  94.439
Robust  acc:   111 /   180 =  61.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9199 /  9767 =  94.184
0, 1  acc:  7343 /  7535 =  97.452
1, 0  acc:  2199 /  2480 =  88.669
1, 1  acc:   111 /   180 =  61.667
------------------------------------
Average acc: 18852 / 19962 =  94.439
Robust  acc:   111 /   180 =  61.667
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.331 | Val Loss: 0.004 | Val Acc: 86.193
Training:
Accuracies by groups:
0, 0  acc: 10708 / 16212 =  66.050
0, 1  acc:  6138 /  8139 =  75.415
1, 0  acc: 128616 / 129937 =  98.983
1, 1  acc:  8080 /  8482 =  95.261
--------------------------------------
Average acc: 153542 / 162770 =  94.331
Robust  acc: 10708 / 16212 =  66.050
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6672 /  8535 =  78.172
0, 1  acc:  7460 /  8276 =  90.140
1, 0  acc:  2824 /  2874 =  98.260
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17124 / 19867 =  86.193
Robust  acc:  6672 /  8535 =  78.172
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 87.682
Robust Acc: 83.035 | Best Acc: 98.105
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  8110 /  9767 =  83.035
0, 1  acc:  6799 /  7535 =  90.232
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17503 / 19962 =  87.682
Robust  acc:  8110 /  9767 =  83.035
------------------------------------
Accuracies by groups:
0, 0  acc:  8110 /  9767 =  83.035
0, 1  acc:  6799 /  7535 =  90.232
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17503 / 19962 =  87.682
Robust  acc:  8110 /  9767 =  83.035
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8110 /  9767 =  83.035
0, 1  acc:  6799 /  7535 =  90.232
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   161 /   180 =  89.444
------------------------------------
Average acc: 17503 / 19962 =  87.682
Robust  acc:  8110 /  9767 =  83.035
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.168 | Val Loss: 0.005 | Val Acc: 77.259
Training:
Accuracies by groups:
0, 0  acc: 10673 / 16281 =  65.555
0, 1  acc:  6235 /  8327 =  74.877
1, 0  acc: 128352 / 129683 =  98.974
1, 1  acc:  8017 /  8479 =  94.551
--------------------------------------
Average acc: 153277 / 162770 =  94.168
Robust  acc: 10673 / 16281 =  65.555
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5802 /  8535 =  67.979
0, 1  acc:  6510 /  8276 =  78.661
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15349 / 19867 =  77.259
Robust  acc:  5802 /  8535 =  67.979
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.920
Robust Acc: 73.933 | Best Acc: 99.315
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  7221 /  9767 =  73.933
0, 1  acc:  5896 /  7535 =  78.248
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15754 / 19962 =  78.920
Robust  acc:  7221 /  9767 =  73.933
------------------------------------
Accuracies by groups:
0, 0  acc:  7221 /  9767 =  73.933
0, 1  acc:  5896 /  7535 =  78.248
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15754 / 19962 =  78.920
Robust  acc:  7221 /  9767 =  73.933
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7221 /  9767 =  73.933
0, 1  acc:  5896 /  7535 =  78.248
1, 0  acc:  2463 /  2480 =  99.315
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15754 / 19962 =  78.920
Robust  acc:  7221 /  9767 =  73.933
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.344 | Val Loss: 0.004 | Val Acc: 78.452
Training:
Accuracies by groups:
0, 0  acc: 10647 / 16155 =  65.905
0, 1  acc:  6003 /  7916 =  75.834
1, 0  acc: 128920 / 130259 =  98.972
1, 1  acc:  7994 /  8440 =  94.716
--------------------------------------
Average acc: 153564 / 162770 =  94.344
Robust  acc: 10647 / 16155 =  65.905
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6033 /  8535 =  70.685
0, 1  acc:  6527 /  8276 =  78.867
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 15586 / 19867 =  78.452
Robust  acc:  6033 /  8535 =  70.685
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.278
Robust Acc: 75.939 | Best Acc: 98.831
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  7417 /  9767 =  75.939
0, 1  acc:  5983 /  7535 =  79.403
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16025 / 19962 =  80.278
Robust  acc:  7417 /  9767 =  75.939
------------------------------------
Accuracies by groups:
0, 0  acc:  7417 /  9767 =  75.939
0, 1  acc:  5983 /  7535 =  79.403
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16025 / 19962 =  80.278
Robust  acc:  7417 /  9767 =  75.939
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7417 /  9767 =  75.939
0, 1  acc:  5983 /  7535 =  79.403
1, 0  acc:  2451 /  2480 =  98.831
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16025 / 19962 =  80.278
Robust  acc:  7417 /  9767 =  75.939
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.348 | Val Loss: 0.003 | Val Acc: 86.244
Training:
Accuracies by groups:
0, 0  acc: 10562 / 16032 =  65.881
0, 1  acc:  6223 /  8214 =  75.761
1, 0  acc: 128802 / 130105 =  98.999
1, 1  acc:  7983 /  8419 =  94.821
--------------------------------------
Average acc: 153570 / 162770 =  94.348
Robust  acc: 10562 / 16032 =  65.881
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6859 /  8535 =  80.363
0, 1  acc:  7300 /  8276 =  88.207
1, 0  acc:  2809 /  2874 =  97.738
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 17134 / 19867 =  86.244
Robust  acc:  6859 /  8535 =  80.363
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.847
Robust Acc: 84.734 | Best Acc: 96.935
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  8276 /  9767 =  84.734
0, 1  acc:  6700 /  7535 =  88.918
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17536 / 19962 =  87.847
Robust  acc:  8276 /  9767 =  84.734
------------------------------------
Accuracies by groups:
0, 0  acc:  8276 /  9767 =  84.734
0, 1  acc:  6700 /  7535 =  88.918
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17536 / 19962 =  87.847
Robust  acc:  8276 /  9767 =  84.734
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8276 /  9767 =  84.734
0, 1  acc:  6700 /  7535 =  88.918
1, 0  acc:  2404 /  2480 =  96.935
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17536 / 19962 =  87.847
Robust  acc:  8276 /  9767 =  84.734
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.380 | Val Loss: 0.004 | Val Acc: 82.000
Training:
Accuracies by groups:
0, 0  acc: 10486 / 15853 =  66.145
0, 1  acc:  6211 /  8190 =  75.836
1, 0  acc: 129085 / 130440 =  98.961
1, 1  acc:  7840 /  8287 =  94.606
--------------------------------------
Average acc: 153622 / 162770 =  94.380
Robust  acc: 10486 / 15853 =  66.145
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6413 /  8535 =  75.138
0, 1  acc:  6866 /  8276 =  82.963
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16291 / 19867 =  82.000
Robust  acc:  6413 /  8535 =  75.138
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.664
Robust Acc: 80.659 | Best Acc: 98.105
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  7878 /  9767 =  80.659
0, 1  acc:  6219 /  7535 =  82.535
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16701 / 19962 =  83.664
Robust  acc:  7878 /  9767 =  80.659
------------------------------------
Accuracies by groups:
0, 0  acc:  7878 /  9767 =  80.659
0, 1  acc:  6219 /  7535 =  82.535
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16701 / 19962 =  83.664
Robust  acc:  7878 /  9767 =  80.659
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7878 /  9767 =  80.659
0, 1  acc:  6219 /  7535 =  82.535
1, 0  acc:  2433 /  2480 =  98.105
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16701 / 19962 =  83.664
Robust  acc:  7878 /  9767 =  80.659
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed1.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed1.pt
