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: 14
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=14-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.805 | Val Loss: 0.003 | Val Acc: 82.151
Training:
Accuracies by groups:
0, 0  acc:  7745 / 16074 =  48.183
0, 1  acc:  4511 /  8112 =  55.609
1, 0  acc: 127762 / 130184 =  98.140
1, 1  acc:  7785 /  8400 =  92.679
--------------------------------------
Average acc: 147803 / 162770 =  90.805
Robust  acc:  7745 / 16074 =  48.183
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6390 /  8535 =  74.868
0, 1  acc:  6922 /  8276 =  83.639
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 16321 / 19867 =  82.151
Robust  acc:  6390 /  8535 =  74.868
------------------------------------
New max robust acc: 74.86818980667839
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed14.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed14.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 83.864
Robust Acc: 80.076 | Best Acc: 98.710
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  7821 /  9767 =  80.076
0, 1  acc:  6306 /  7535 =  83.689
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16741 / 19962 =  83.864
Robust  acc:  7821 /  9767 =  80.076
------------------------------------
Accuracies by groups:
0, 0  acc:  7821 /  9767 =  80.076
0, 1  acc:  6306 /  7535 =  83.689
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16741 / 19962 =  83.864
Robust  acc:  7821 /  9767 =  80.076
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7821 /  9767 =  80.076
0, 1  acc:  6306 /  7535 =  83.689
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16741 / 19962 =  83.864
Robust  acc:  7821 /  9767 =  80.076
------------------------------------
Epoch:   2 | Train Loss: 0.001 | Train Acc: 94.673 | Val Loss: 0.003 | Val Acc: 85.262
Training:
Accuracies by groups:
0, 0  acc: 10954 / 15916 =  68.824
0, 1  acc:  6395 /  8170 =  78.274
1, 0  acc: 128768 / 130092 =  98.982
1, 1  acc:  7982 /  8592 =  92.900
--------------------------------------
Average acc: 154099 / 162770 =  94.673
Robust  acc: 10954 / 15916 =  68.824
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6595 /  8535 =  77.270
0, 1  acc:  7328 /  8276 =  88.545
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16939 / 19867 =  85.262
Robust  acc:  6595 /  8535 =  77.270
------------------------------------
New max robust acc: 77.27006444053896
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed14.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed14.pt
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 86.780
Robust Acc: 82.246 | Best Acc: 98.589
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8033 /  9767 =  82.246
0, 1  acc:  6681 /  7535 =  88.666
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17323 / 19962 =  86.780
Robust  acc:  8033 /  9767 =  82.246
------------------------------------
Accuracies by groups:
0, 0  acc:  8033 /  9767 =  82.246
0, 1  acc:  6681 /  7535 =  88.666
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17323 / 19962 =  86.780
Robust  acc:  8033 /  9767 =  82.246
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8033 /  9767 =  82.246
0, 1  acc:  6681 /  7535 =  88.666
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17323 / 19962 =  86.780
Robust  acc:  8033 /  9767 =  82.246
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 95.492 | Val Loss: 0.002 | Val Acc: 87.270
Training:
Accuracies by groups:
0, 0  acc: 11550 / 15946 =  72.432
0, 1  acc:  6917 /  8182 =  84.539
1, 0  acc: 128924 / 130116 =  99.084
1, 1  acc:  8042 /  8526 =  94.323
--------------------------------------
Average acc: 155433 / 162770 =  95.492
Robust  acc: 11550 / 15946 =  72.432
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6812 /  8535 =  79.813
0, 1  acc:  7514 /  8276 =  90.793
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 17338 / 19867 =  87.270
Robust  acc:  6812 /  8535 =  79.813
------------------------------------
New max robust acc: 79.81253661394258
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed14.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed14.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.288
Robust Acc: 83.987 | Best Acc: 98.266
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8203 /  9767 =  83.987
0, 1  acc:  6822 /  7535 =  90.537
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17624 / 19962 =  88.288
Robust  acc:  8203 /  9767 =  83.987
------------------------------------
Accuracies by groups:
0, 0  acc:  8203 /  9767 =  83.987
0, 1  acc:  6822 /  7535 =  90.537
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17624 / 19962 =  88.288
Robust  acc:  8203 /  9767 =  83.987
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8203 /  9767 =  83.987
0, 1  acc:  6822 /  7535 =  90.537
1, 0  acc:  2437 /  2480 =  98.266
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 17624 / 19962 =  88.288
Robust  acc:  8203 /  9767 =  83.987
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 95.870 | Val Loss: 0.002 | Val Acc: 87.990
Training:
Accuracies by groups:
0, 0  acc: 12036 / 16195 =  74.319
0, 1  acc:  7106 /  8196 =  86.701
1, 0  acc: 128876 / 129894 =  99.216
1, 1  acc:  8030 /  8485 =  94.638
--------------------------------------
Average acc: 156048 / 162770 =  95.870
Robust  acc: 12036 / 16195 =  74.319
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6873 /  8535 =  80.527
0, 1  acc:  7601 /  8276 =  91.844
1, 0  acc:  2836 /  2874 =  98.678
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 17481 / 19867 =  87.990
Robust  acc:  6873 /  8535 =  80.527
------------------------------------
New max robust acc: 80.52724077328647
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed14.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed14.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.929
Robust Acc: 84.489 | Best Acc: 98.306
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8252 /  9767 =  84.489
0, 1  acc:  6903 /  7535 =  91.612
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17752 / 19962 =  88.929
Robust  acc:  8252 /  9767 =  84.489
------------------------------------
Accuracies by groups:
0, 0  acc:  8252 /  9767 =  84.489
0, 1  acc:  6903 /  7535 =  91.612
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17752 / 19962 =  88.929
Robust  acc:  8252 /  9767 =  84.489
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8252 /  9767 =  84.489
0, 1  acc:  6903 /  7535 =  91.612
1, 0  acc:  2438 /  2480 =  98.306
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17752 / 19962 =  88.929
Robust  acc:  8252 /  9767 =  84.489
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 96.272 | Val Loss: 0.002 | Val Acc: 89.500
Training:
Accuracies by groups:
0, 0  acc: 12254 / 16240 =  75.456
0, 1  acc:  7243 /  8168 =  88.675
1, 0  acc: 128948 / 129783 =  99.357
1, 1  acc:  8257 /  8579 =  96.247
--------------------------------------
Average acc: 156702 / 162770 =  96.272
Robust  acc: 12254 / 16240 =  75.456
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7035 /  8535 =  82.425
0, 1  acc:  7751 /  8276 =  93.656
1, 0  acc:  2826 /  2874 =  98.330
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17781 / 19867 =  89.500
Robust  acc:  7035 /  8535 =  82.425
------------------------------------
New max robust acc: 82.42530755711776
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed14.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed14.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.191
Robust Acc: 84.444 | Best Acc: 97.903
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8385 /  9767 =  85.850
0, 1  acc:  7039 /  7535 =  93.417
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18004 / 19962 =  90.191
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8385 /  9767 =  85.850
0, 1  acc:  7039 /  7535 =  93.417
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18004 / 19962 =  90.191
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8385 /  9767 =  85.850
0, 1  acc:  7039 /  7535 =  93.417
1, 0  acc:  2428 /  2480 =  97.903
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18004 / 19962 =  90.191
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.913 | Val Loss: 0.002 | Val Acc: 91.277
Training:
Accuracies by groups:
0, 0  acc: 12580 / 16108 =  78.098
0, 1  acc:  7334 /  8108 =  90.454
1, 0  acc: 129503 / 130038 =  99.589
1, 1  acc:  8328 /  8516 =  97.792
--------------------------------------
Average acc: 157745 / 162770 =  96.913
Robust  acc: 12580 / 16108 =  78.098
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7315 /  8535 =  85.706
0, 1  acc:  7851 /  8276 =  94.865
1, 0  acc:  2802 /  2874 =  97.495
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 18134 / 19867 =  91.277
Robust  acc:  7315 /  8535 =  85.706
------------------------------------
New max robust acc: 85.70591681312244
debias model - Saving best checkpoint at epoch 5
replace: True
-> Updating checkpoint debias-wga-best_seed14.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed14.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.699
Robust Acc: 82.778 | Best Acc: 97.177
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8607 /  9767 =  88.123
0, 1  acc:  7139 /  7535 =  94.745
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18305 / 19962 =  91.699
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8607 /  9767 =  88.123
0, 1  acc:  7139 /  7535 =  94.745
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18305 / 19962 =  91.699
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8607 /  9767 =  88.123
0, 1  acc:  7139 /  7535 =  94.745
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 18305 / 19962 =  91.699
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.509 | Val Loss: 0.002 | Val Acc: 91.604
Training:
Accuracies by groups:
0, 0  acc: 12935 / 16057 =  80.557
0, 1  acc:  7405 /  8026 =  92.263
1, 0  acc: 129932 / 130175 =  99.813
1, 1  acc:  8444 /  8512 =  99.201
--------------------------------------
Average acc: 158716 / 162770 =  97.509
Robust  acc: 12935 / 16057 =  80.557
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7315 /  8535 =  85.706
0, 1  acc:  7929 /  8276 =  95.807
1, 0  acc:  2798 /  2874 =  97.356
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 18199 / 19867 =  91.604
Robust  acc:  7315 /  8535 =  85.706
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.045
Robust Acc: 80.000 | Best Acc: 97.056
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8633 /  9767 =  88.389
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18374 / 19962 =  92.045
Robust  acc:   144 /   180 =  80.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8633 /  9767 =  88.389
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18374 / 19962 =  92.045
Robust  acc:   144 /   180 =  80.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8633 /  9767 =  88.389
0, 1  acc:  7190 /  7535 =  95.421
1, 0  acc:  2407 /  2480 =  97.056
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18374 / 19962 =  92.045
Robust  acc:   144 /   180 =  80.000
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 97.958 | Val Loss: 0.002 | Val Acc: 92.198
Training:
Accuracies by groups:
0, 0  acc: 13519 / 16155 =  83.683
0, 1  acc:  7582 /  8105 =  93.547
1, 0  acc: 129937 / 130071 =  99.897
1, 1  acc:  8409 /  8439 =  99.645
--------------------------------------
Average acc: 159447 / 162770 =  97.958
Robust  acc: 13519 / 16155 =  83.683
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7437 /  8535 =  87.135
0, 1  acc:  7960 /  8276 =  96.182
1, 0  acc:  2768 /  2874 =  96.312
1, 1  acc:   152 /   182 =  83.516
------------------------------------
Average acc: 18317 / 19867 =  92.198
Robust  acc:   152 /   182 =  83.516
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.516
Robust Acc: 78.889 | Best Acc: 96.452
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  8727 /  9767 =  89.352
0, 1  acc:  7207 /  7535 =  95.647
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18468 / 19962 =  92.516
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8727 /  9767 =  89.352
0, 1  acc:  7207 /  7535 =  95.647
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18468 / 19962 =  92.516
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8727 /  9767 =  89.352
0, 1  acc:  7207 /  7535 =  95.647
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18468 / 19962 =  92.516
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.323 | Val Loss: 0.001 | Val Acc: 93.346
Training:
Accuracies by groups:
0, 0  acc: 13815 / 16012 =  86.279
0, 1  acc:  7617 /  8024 =  94.928
1, 0  acc: 129933 / 130026 =  99.928
1, 1  acc:  8676 /  8708 =  99.633
--------------------------------------
Average acc: 160041 / 162770 =  98.323
Robust  acc: 13815 / 16012 =  86.279
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7611 /  8535 =  89.174
0, 1  acc:  8067 /  8276 =  97.475
1, 0  acc:  2732 /  2874 =  95.059
1, 1  acc:   135 /   182 =  74.176
------------------------------------
Average acc: 18545 / 19867 =  93.346
Robust  acc:   135 /   182 =  74.176
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.738
Robust Acc: 70.556 | Best Acc: 97.133
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  8931 /  9767 =  91.441
0, 1  acc:  7319 /  7535 =  97.133
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18712 / 19962 =  93.738
Robust  acc:   127 /   180 =  70.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8931 /  9767 =  91.441
0, 1  acc:  7319 /  7535 =  97.133
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18712 / 19962 =  93.738
Robust  acc:   127 /   180 =  70.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8931 /  9767 =  91.441
0, 1  acc:  7319 /  7535 =  97.133
1, 0  acc:  2335 /  2480 =  94.153
1, 1  acc:   127 /   180 =  70.556
------------------------------------
Average acc: 18712 / 19962 =  93.738
Robust  acc:   127 /   180 =  70.556
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.526 | Val Loss: 0.002 | Val Acc: 92.113
Training:
Accuracies by groups:
0, 0  acc: 14187 / 16119 =  88.014
0, 1  acc:  7880 /  8223 =  95.829
1, 0  acc: 129798 / 129905 =  99.918
1, 1  acc:  8506 /  8523 =  99.801
--------------------------------------
Average acc: 160371 / 162770 =  98.526
Robust  acc: 14187 / 16119 =  88.014
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7398 /  8535 =  86.678
0, 1  acc:  8003 /  8276 =  96.701
1, 0  acc:  2753 /  2874 =  95.790
1, 1  acc:   146 /   182 =  80.220
------------------------------------
Average acc: 18300 / 19867 =  92.113
Robust  acc:   146 /   182 =  80.220
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 92.726
Robust Acc: 76.111 | Best Acc: 96.417
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  8734 /  9767 =  89.424
0, 1  acc:  7265 /  7535 =  96.417
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18510 / 19962 =  92.726
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8734 /  9767 =  89.424
0, 1  acc:  7265 /  7535 =  96.417
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18510 / 19962 =  92.726
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8734 /  9767 =  89.424
0, 1  acc:  7265 /  7535 =  96.417
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18510 / 19962 =  92.726
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.559 | Val Loss: 0.001 | Val Acc: 93.970
Training:
Accuracies by groups:
0, 0  acc: 14208 / 15985 =  88.883
0, 1  acc:  7849 /  8195 =  95.778
1, 0  acc: 129859 / 130034 =  99.865
1, 1  acc:  8509 /  8556 =  99.451
--------------------------------------
Average acc: 160425 / 162770 =  98.559
Robust  acc: 14208 / 15985 =  88.883
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7735 /  8535 =  90.627
0, 1  acc:  8105 /  8276 =  97.934
1, 0  acc:  2696 /  2874 =  93.807
1, 1  acc:   133 /   182 =  73.077
------------------------------------
Average acc: 18669 / 19867 =  93.970
Robust  acc:   133 /   182 =  73.077
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.149
Robust Acc: 67.778 | Best Acc: 97.452
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  9029 /  9767 =  92.444
0, 1  acc:  7343 /  7535 =  97.452
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18794 / 19962 =  94.149
Robust  acc:   122 /   180 =  67.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9029 /  9767 =  92.444
0, 1  acc:  7343 /  7535 =  97.452
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18794 / 19962 =  94.149
Robust  acc:   122 /   180 =  67.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9029 /  9767 =  92.444
0, 1  acc:  7343 /  7535 =  97.452
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   122 /   180 =  67.778
------------------------------------
Average acc: 18794 / 19962 =  94.149
Robust  acc:   122 /   180 =  67.778
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.271 | Val Loss: 0.002 | Val Acc: 92.802
Training:
Accuracies by groups:
0, 0  acc: 13911 / 15946 =  87.238
0, 1  acc:  7761 /  8146 =  95.274
1, 0  acc: 129916 / 130212 =  99.773
1, 1  acc:  8368 /  8466 =  98.842
--------------------------------------
Average acc: 159956 / 162770 =  98.271
Robust  acc: 13911 / 15946 =  87.238
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7473 /  8535 =  87.557
0, 1  acc:  8065 /  8276 =  97.450
1, 0  acc:  2760 /  2874 =  96.033
1, 1  acc:   139 /   182 =  76.374
------------------------------------
Average acc: 18437 / 19867 =  92.802
Robust  acc:   139 /   182 =  76.374
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.132
Robust Acc: 66.111 | Best Acc: 97.120
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  8783 /  9767 =  89.925
0, 1  acc:  7318 /  7535 =  97.120
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18591 / 19962 =  93.132
Robust  acc:   119 /   180 =  66.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8783 /  9767 =  89.925
0, 1  acc:  7318 /  7535 =  97.120
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18591 / 19962 =  93.132
Robust  acc:   119 /   180 =  66.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8783 /  9767 =  89.925
0, 1  acc:  7318 /  7535 =  97.120
1, 0  acc:  2371 /  2480 =  95.605
1, 1  acc:   119 /   180 =  66.111
------------------------------------
Average acc: 18591 / 19962 =  93.132
Robust  acc:   119 /   180 =  66.111
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 97.793 | Val Loss: 0.002 | Val Acc: 91.076
Training:
Accuracies by groups:
0, 0  acc: 13728 / 16163 =  84.935
0, 1  acc:  7728 /  8247 =  93.707
1, 0  acc: 129439 / 129916 =  99.633
1, 1  acc:  8283 /  8444 =  98.093
--------------------------------------
Average acc: 159178 / 162770 =  97.793
Robust  acc: 13728 / 16163 =  84.935
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7403 /  8535 =  86.737
0, 1  acc:  7781 /  8276 =  94.019
1, 0  acc:  2751 /  2874 =  95.720
1, 1  acc:   159 /   182 =  87.363
------------------------------------
Average acc: 18094 / 19867 =  91.076
Robust  acc:  7403 /  8535 =  86.737
------------------------------------
New max robust acc: 86.7369654364382
debias model - Saving best checkpoint at epoch 12
replace: True
-> Updating checkpoint debias-wga-best_seed14.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed14.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.349
Robust Acc: 76.111 | Best Acc: 94.839
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  8699 /  9767 =  89.065
0, 1  acc:  7047 /  7535 =  93.524
1, 0  acc:  2352 /  2480 =  94.839
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18235 / 19962 =  91.349
Robust  acc:   137 /   180 =  76.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8699 /  9767 =  89.065
0, 1  acc:  7047 /  7535 =  93.524
1, 0  acc:  2352 /  2480 =  94.839
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18235 / 19962 =  91.349
Robust  acc:   137 /   180 =  76.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8699 /  9767 =  89.065
0, 1  acc:  7047 /  7535 =  93.524
1, 0  acc:  2352 /  2480 =  94.839
1, 1  acc:   137 /   180 =  76.111
------------------------------------
Average acc: 18235 / 19962 =  91.349
Robust  acc:   137 /   180 =  76.111
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.410 | Val Loss: 0.002 | Val Acc: 93.527
Training:
Accuracies by groups:
0, 0  acc: 13156 / 15928 =  82.597
0, 1  acc:  7667 /  8243 =  93.012
1, 0  acc: 129316 / 129972 =  99.495
1, 1  acc:  8415 /  8627 =  97.543
--------------------------------------
Average acc: 158554 / 162770 =  97.410
Robust  acc: 13156 / 15928 =  82.597
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7660 /  8535 =  89.748
0, 1  acc:  8071 /  8276 =  97.523
1, 0  acc:  2719 /  2874 =  94.607
1, 1  acc:   131 /   182 =  71.978
------------------------------------
Average acc: 18581 / 19867 =  93.527
Robust  acc:   131 /   182 =  71.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.688
Robust Acc: 62.778 | Best Acc: 97.372
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8941 /  9767 =  91.543
0, 1  acc:  7337 /  7535 =  97.372
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18702 / 19962 =  93.688
Robust  acc:   113 /   180 =  62.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8941 /  9767 =  91.543
0, 1  acc:  7337 /  7535 =  97.372
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18702 / 19962 =  93.688
Robust  acc:   113 /   180 =  62.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8941 /  9767 =  91.543
0, 1  acc:  7337 /  7535 =  97.372
1, 0  acc:  2311 /  2480 =  93.185
1, 1  acc:   113 /   180 =  62.778
------------------------------------
Average acc: 18702 / 19962 =  93.688
Robust  acc:   113 /   180 =  62.778
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.875 | Val Loss: 0.006 | Val Acc: 69.910
Training:
Accuracies by groups:
0, 0  acc: 12933 / 16161 =  80.026
0, 1  acc:  7529 /  8234 =  91.438
1, 0  acc: 128982 / 129829 =  99.348
1, 1  acc:  8240 /  8546 =  96.419
--------------------------------------
Average acc: 157684 / 162770 =  96.875
Robust  acc: 12933 / 16161 =  80.026
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4757 /  8535 =  55.735
0, 1  acc:  6082 /  8276 =  73.490
1, 0  acc:  2868 /  2874 =  99.791
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 13889 / 19867 =  69.910
Robust  acc:  4757 /  8535 =  55.735
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 70.699
Robust Acc: 61.431 | Best Acc: 99.637
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  6000 /  9767 =  61.431
0, 1  acc:  5468 /  7535 =  72.568
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14113 / 19962 =  70.699
Robust  acc:  6000 /  9767 =  61.431
------------------------------------
Accuracies by groups:
0, 0  acc:  6000 /  9767 =  61.431
0, 1  acc:  5468 /  7535 =  72.568
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14113 / 19962 =  70.699
Robust  acc:  6000 /  9767 =  61.431
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6000 /  9767 =  61.431
0, 1  acc:  5468 /  7535 =  72.568
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14113 / 19962 =  70.699
Robust  acc:  6000 /  9767 =  61.431
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 96.424 | Val Loss: 0.004 | Val Acc: 75.769
Training:
Accuracies by groups:
0, 0  acc: 12582 / 16203 =  77.652
0, 1  acc:  7270 /  8065 =  90.143
1, 0  acc: 129134 / 130196 =  99.184
1, 1  acc:  7964 /  8306 =  95.882
--------------------------------------
Average acc: 156950 / 162770 =  96.424
Robust  acc: 12582 / 16203 =  77.652
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5188 /  8535 =  60.785
0, 1  acc:  6820 /  8276 =  82.407
1, 0  acc:  2866 /  2874 =  99.722
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15053 / 19867 =  75.769
Robust  acc:  5188 /  8535 =  60.785
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 76.786
Robust Acc: 66.776 | Best Acc: 99.597
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  6522 /  9767 =  66.776
0, 1  acc:  6164 /  7535 =  81.805
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15328 / 19962 =  76.786
Robust  acc:  6522 /  9767 =  66.776
------------------------------------
Accuracies by groups:
0, 0  acc:  6522 /  9767 =  66.776
0, 1  acc:  6164 /  7535 =  81.805
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15328 / 19962 =  76.786
Robust  acc:  6522 /  9767 =  66.776
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6522 /  9767 =  66.776
0, 1  acc:  6164 /  7535 =  81.805
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15328 / 19962 =  76.786
Robust  acc:  6522 /  9767 =  66.776
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.859 | Val Loss: 0.001 | Val Acc: 95.057
Training:
Accuracies by groups:
0, 0  acc: 12285 / 16335 =  75.207
0, 1  acc:  7188 /  8145 =  88.250
1, 0  acc: 128511 / 129812 =  98.998
1, 1  acc:  8046 /  8478 =  94.904
--------------------------------------
Average acc: 156030 / 162770 =  95.859
Robust  acc: 12285 / 16335 =  75.207
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8041 /  8535 =  94.212
0, 1  acc:  8131 /  8276 =  98.248
1, 0  acc:  2585 /  2874 =  89.944
1, 1  acc:   128 /   182 =  70.330
------------------------------------
Average acc: 18885 / 19867 =  95.057
Robust  acc:   128 /   182 =  70.330
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 95.116
Robust Acc: 63.333 | Best Acc: 98.076
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  9289 /  9767 =  95.106
0, 1  acc:  7390 /  7535 =  98.076
1, 0  acc:  2194 /  2480 =  88.468
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18987 / 19962 =  95.116
Robust  acc:   114 /   180 =  63.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9289 /  9767 =  95.106
0, 1  acc:  7390 /  7535 =  98.076
1, 0  acc:  2194 /  2480 =  88.468
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18987 / 19962 =  95.116
Robust  acc:   114 /   180 =  63.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9289 /  9767 =  95.106
0, 1  acc:  7390 /  7535 =  98.076
1, 0  acc:  2194 /  2480 =  88.468
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18987 / 19962 =  95.116
Robust  acc:   114 /   180 =  63.333
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 95.511 | Val Loss: 0.005 | Val Acc: 70.796
Training:
Accuracies by groups:
0, 0  acc: 11901 / 16214 =  73.400
0, 1  acc:  7227 /  8304 =  87.030
1, 0  acc: 128462 / 129827 =  98.949
1, 1  acc:  7873 /  8425 =  93.448
--------------------------------------
Average acc: 155463 / 162770 =  95.511
Robust  acc: 11901 / 16214 =  73.400
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5275 /  8535 =  61.804
0, 1  acc:  5743 /  8276 =  69.393
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 14065 / 19867 =  70.796
Robust  acc:  5275 /  8535 =  61.804
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.763
Robust Acc: 67.493 | Best Acc: 99.476
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  6592 /  9767 =  67.493
0, 1  acc:  5291 /  7535 =  70.219
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14525 / 19962 =  72.763
Robust  acc:  6592 /  9767 =  67.493
------------------------------------
Accuracies by groups:
0, 0  acc:  6592 /  9767 =  67.493
0, 1  acc:  5291 /  7535 =  70.219
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14525 / 19962 =  72.763
Robust  acc:  6592 /  9767 =  67.493
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6592 /  9767 =  67.493
0, 1  acc:  5291 /  7535 =  70.219
1, 0  acc:  2467 /  2480 =  99.476
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 14525 / 19962 =  72.763
Robust  acc:  6592 /  9767 =  67.493
------------------------------------
Epoch:  19 | Train Loss: 0.001 | Train Acc: 95.287 | Val Loss: 0.003 | Val Acc: 89.842
Training:
Accuracies by groups:
0, 0  acc: 11449 / 15918 =  71.925
0, 1  acc:  7018 /  8261 =  84.953
1, 0  acc: 128585 / 129999 =  98.912
1, 1  acc:  8046 /  8592 =  93.645
--------------------------------------
Average acc: 155098 / 162770 =  95.287
Robust  acc: 11449 / 15918 =  71.925
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7196 /  8535 =  84.312
0, 1  acc:  7693 /  8276 =  92.956
1, 0  acc:  2795 /  2874 =  97.251
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17849 / 19867 =  89.842
Robust  acc:  7196 /  8535 =  84.312
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.662
Robust Acc: 87.458 | Best Acc: 96.573
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  8542 /  9767 =  87.458
0, 1  acc:  7003 /  7535 =  92.940
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 18098 / 19962 =  90.662
Robust  acc:  8542 /  9767 =  87.458
------------------------------------
Accuracies by groups:
0, 0  acc:  8542 /  9767 =  87.458
0, 1  acc:  7003 /  7535 =  92.940
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 18098 / 19962 =  90.662
Robust  acc:  8542 /  9767 =  87.458
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8542 /  9767 =  87.458
0, 1  acc:  7003 /  7535 =  92.940
1, 0  acc:  2395 /  2480 =  96.573
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 18098 / 19962 =  90.662
Robust  acc:  8542 /  9767 =  87.458
------------------------------------
Epoch:  20 | Train Loss: 0.001 | Train Acc: 94.968 | Val Loss: 0.004 | Val Acc: 81.552
Training:
Accuracies by groups:
0, 0  acc: 11392 / 16091 =  70.797
0, 1  acc:  6749 /  8152 =  82.789
1, 0  acc: 128482 / 130019 =  98.818
1, 1  acc:  7956 /  8508 =  93.512
--------------------------------------
Average acc: 154579 / 162770 =  94.968
Robust  acc: 11392 / 16091 =  70.797
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6159 /  8535 =  72.162
0, 1  acc:  7021 /  8276 =  84.836
1, 0  acc:  2847 /  2874 =  99.061
1, 1  acc:   175 /   182 =  96.154
------------------------------------
Average acc: 16202 / 19867 =  81.552
Robust  acc:  6159 /  8535 =  72.162
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.534
Robust Acc: 77.987 | Best Acc: 98.911
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  7617 /  9767 =  77.987
0, 1  acc:  6433 /  7535 =  85.375
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16675 / 19962 =  83.534
Robust  acc:  7617 /  9767 =  77.987
------------------------------------
Accuracies by groups:
0, 0  acc:  7617 /  9767 =  77.987
0, 1  acc:  6433 /  7535 =  85.375
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16675 / 19962 =  83.534
Robust  acc:  7617 /  9767 =  77.987
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7617 /  9767 =  77.987
0, 1  acc:  6433 /  7535 =  85.375
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 16675 / 19962 =  83.534
Robust  acc:  7617 /  9767 =  77.987
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 94.758 | Val Loss: 0.007 | Val Acc: 57.573
Training:
Accuracies by groups:
0, 0  acc: 11037 / 16000 =  68.981
0, 1  acc:  6535 /  8043 =  81.251
1, 0  acc: 128624 / 130214 =  98.779
1, 1  acc:  8041 /  8513 =  94.456
--------------------------------------
Average acc: 154237 / 162770 =  94.758
Robust  acc: 11037 / 16000 =  68.981
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  3820 /  8535 =  44.757
0, 1  acc:  4567 /  8276 =  55.184
1, 0  acc:  2871 /  2874 =  99.896
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 11438 / 19867 =  57.573
Robust  acc:  3820 /  8535 =  44.757
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 58.692
Robust Acc: 50.650 | Best Acc: 99.879
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  4947 /  9767 =  50.650
0, 1  acc:  4114 /  7535 =  54.599
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11716 / 19962 =  58.692
Robust  acc:  4947 /  9767 =  50.650
------------------------------------
Accuracies by groups:
0, 0  acc:  4947 /  9767 =  50.650
0, 1  acc:  4114 /  7535 =  54.599
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11716 / 19962 =  58.692
Robust  acc:  4947 /  9767 =  50.650
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  4947 /  9767 =  50.650
0, 1  acc:  4114 /  7535 =  54.599
1, 0  acc:  2477 /  2480 =  99.879
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 11716 / 19962 =  58.692
Robust  acc:  4947 /  9767 =  50.650
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 94.575 | Val Loss: 0.006 | Val Acc: 66.543
Training:
Accuracies by groups:
0, 0  acc: 10975 / 16025 =  68.487
0, 1  acc:  6344 /  8011 =  79.191
1, 0  acc: 128529 / 130125 =  98.773
1, 1  acc:  8091 /  8609 =  93.983
--------------------------------------
Average acc: 153939 / 162770 =  94.575
Robust  acc: 10975 / 16025 =  68.487
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4760 /  8535 =  55.770
0, 1  acc:  5413 /  8276 =  65.406
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 13220 / 19867 =  66.543
Robust  acc:  4760 /  8535 =  55.770
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.290
Robust Acc: 61.943 | Best Acc: 99.758
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  6050 /  9767 =  61.943
0, 1  acc:  4933 /  7535 =  65.468
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13632 / 19962 =  68.290
Robust  acc:  6050 /  9767 =  61.943
------------------------------------
Accuracies by groups:
0, 0  acc:  6050 /  9767 =  61.943
0, 1  acc:  4933 /  7535 =  65.468
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13632 / 19962 =  68.290
Robust  acc:  6050 /  9767 =  61.943
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6050 /  9767 =  61.943
0, 1  acc:  4933 /  7535 =  65.468
1, 0  acc:  2474 /  2480 =  99.758
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 13632 / 19962 =  68.290
Robust  acc:  6050 /  9767 =  61.943
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 94.426 | Val Loss: 0.003 | Val Acc: 85.911
Training:
Accuracies by groups:
0, 0  acc: 10764 / 15973 =  67.389
0, 1  acc:  6517 /  8329 =  78.245
1, 0  acc: 128402 / 129952 =  98.807
1, 1  acc:  8014 /  8516 =  94.105
--------------------------------------
Average acc: 153697 / 162770 =  94.426
Robust  acc: 10764 / 15973 =  67.389
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6785 /  8535 =  79.496
0, 1  acc:  7303 /  8276 =  88.243
1, 0  acc:  2810 /  2874 =  97.773
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17068 / 19867 =  85.911
Robust  acc:  6785 /  8535 =  79.496
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.211
Robust Acc: 84.007 | Best Acc: 97.177
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  8205 /  9767 =  84.007
0, 1  acc:  6635 /  7535 =  88.056
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17409 / 19962 =  87.211
Robust  acc:  8205 /  9767 =  84.007
------------------------------------
Accuracies by groups:
0, 0  acc:  8205 /  9767 =  84.007
0, 1  acc:  6635 /  7535 =  88.056
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17409 / 19962 =  87.211
Robust  acc:  8205 /  9767 =  84.007
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8205 /  9767 =  84.007
0, 1  acc:  6635 /  7535 =  88.056
1, 0  acc:  2410 /  2480 =  97.177
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17409 / 19962 =  87.211
Robust  acc:  8205 /  9767 =  84.007
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 94.412 | Val Loss: 0.004 | Val Acc: 83.239
Training:
Accuracies by groups:
0, 0  acc: 10819 / 16110 =  67.157
0, 1  acc:  6235 /  8115 =  76.833
1, 0  acc: 128623 / 130055 =  98.899
1, 1  acc:  7998 /  8490 =  94.205
--------------------------------------
Average acc: 153675 / 162770 =  94.412
Robust  acc: 10819 / 16110 =  67.157
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6443 /  8535 =  75.489
0, 1  acc:  7071 /  8276 =  85.440
1, 0  acc:  2846 /  2874 =  99.026
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 16537 / 19867 =  83.239
Robust  acc:  6443 /  8535 =  75.489
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.981
Robust Acc: 80.373 | Best Acc: 98.790
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  7850 /  9767 =  80.373
0, 1  acc:  6495 /  7535 =  86.198
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16964 / 19962 =  84.981
Robust  acc:  7850 /  9767 =  80.373
------------------------------------
Accuracies by groups:
0, 0  acc:  7850 /  9767 =  80.373
0, 1  acc:  6495 /  7535 =  86.198
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16964 / 19962 =  84.981
Robust  acc:  7850 /  9767 =  80.373
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7850 /  9767 =  80.373
0, 1  acc:  6495 /  7535 =  86.198
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   169 /   180 =  93.889
------------------------------------
Average acc: 16964 / 19962 =  84.981
Robust  acc:  7850 /  9767 =  80.373
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 94.267 | Val Loss: 0.003 | Val Acc: 85.524
Training:
Accuracies by groups:
0, 0  acc: 10880 / 16339 =  66.589
0, 1  acc:  6175 /  7944 =  77.732
1, 0  acc: 128405 / 129987 =  98.783
1, 1  acc:  7978 /  8500 =  93.859
--------------------------------------
Average acc: 153438 / 162770 =  94.267
Robust  acc: 10880 / 16339 =  66.589
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6846 /  8535 =  80.211
0, 1  acc:  7157 /  8276 =  86.479
1, 0  acc:  2817 /  2874 =  98.017
1, 1  acc:   171 /   182 =  93.956
------------------------------------
Average acc: 16991 / 19867 =  85.524
Robust  acc:  6846 /  8535 =  80.211
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.371
Robust Acc: 84.693 | Best Acc: 97.339
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8272 /  9767 =  84.693
0, 1  acc:  6591 /  7535 =  87.472
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17441 / 19962 =  87.371
Robust  acc:  8272 /  9767 =  84.693
------------------------------------
Accuracies by groups:
0, 0  acc:  8272 /  9767 =  84.693
0, 1  acc:  6591 /  7535 =  87.472
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17441 / 19962 =  87.371
Robust  acc:  8272 /  9767 =  84.693
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8272 /  9767 =  84.693
0, 1  acc:  6591 /  7535 =  87.472
1, 0  acc:  2414 /  2480 =  97.339
1, 1  acc:   164 /   180 =  91.111
------------------------------------
Average acc: 17441 / 19962 =  87.371
Robust  acc:  8272 /  9767 =  84.693
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 94.353 | Val Loss: 0.003 | Val Acc: 86.495
Training:
Accuracies by groups:
0, 0  acc: 10902 / 16309 =  66.847
0, 1  acc:  6023 /  7927 =  75.981
1, 0  acc: 128719 / 130095 =  98.942
1, 1  acc:  7934 /  8439 =  94.016
--------------------------------------
Average acc: 153578 / 162770 =  94.353
Robust  acc: 10902 / 16309 =  66.847
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6933 /  8535 =  81.230
0, 1  acc:  7283 /  8276 =  88.001
1, 0  acc:  2800 /  2874 =  97.425
1, 1  acc:   168 /   182 =  92.308
------------------------------------
Average acc: 17184 / 19867 =  86.495
Robust  acc:  6933 /  8535 =  81.230
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.007
Robust Acc: 85.451 | Best Acc: 97.298
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  8346 /  9767 =  85.451
0, 1  acc:  6655 /  7535 =  88.321
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17568 / 19962 =  88.007
Robust  acc:  8346 /  9767 =  85.451
------------------------------------
Accuracies by groups:
0, 0  acc:  8346 /  9767 =  85.451
0, 1  acc:  6655 /  7535 =  88.321
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17568 / 19962 =  88.007
Robust  acc:  8346 /  9767 =  85.451
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8346 /  9767 =  85.451
0, 1  acc:  6655 /  7535 =  88.321
1, 0  acc:  2413 /  2480 =  97.298
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 17568 / 19962 =  88.007
Robust  acc:  8346 /  9767 =  85.451
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 94.242 | Val Loss: 0.005 | Val Acc: 71.717
Training:
Accuracies by groups:
0, 0  acc: 10430 / 15984 =  65.253
0, 1  acc:  6156 /  8166 =  75.386
1, 0  acc: 128684 / 130063 =  98.940
1, 1  acc:  8128 /  8557 =  94.987
--------------------------------------
Average acc: 153398 / 162770 =  94.242
Robust  acc: 10430 / 15984 =  65.253
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5280 /  8535 =  61.863
0, 1  acc:  5928 /  8276 =  71.629
1, 0  acc:  2861 /  2874 =  99.548
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 14248 / 19867 =  71.717
Robust  acc:  5280 /  8535 =  61.863
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 72.793
Robust Acc: 67.124 | Best Acc: 99.435
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  6556 /  9767 =  67.124
0, 1  acc:  5333 /  7535 =  70.776
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14531 / 19962 =  72.793
Robust  acc:  6556 /  9767 =  67.124
------------------------------------
Accuracies by groups:
0, 0  acc:  6556 /  9767 =  67.124
0, 1  acc:  5333 /  7535 =  70.776
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14531 / 19962 =  72.793
Robust  acc:  6556 /  9767 =  67.124
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6556 /  9767 =  67.124
0, 1  acc:  5333 /  7535 =  70.776
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14531 / 19962 =  72.793
Robust  acc:  6556 /  9767 =  67.124
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 94.148 | Val Loss: 0.007 | Val Acc: 61.826
Training:
Accuracies by groups:
0, 0  acc: 10468 / 16080 =  65.100
0, 1  acc:  6092 /  8244 =  73.896
1, 0  acc: 128567 / 129883 =  98.987
1, 1  acc:  8118 /  8563 =  94.803
--------------------------------------
Average acc: 153245 / 162770 =  94.148
Robust  acc: 10468 / 16080 =  65.100
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4250 /  8535 =  49.795
0, 1  acc:  4984 /  8276 =  60.222
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 12283 / 19867 =  61.826
Robust  acc:  4250 /  8535 =  49.795
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 62.985
Robust Acc: 55.657 | Best Acc: 99.637
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  5436 /  9767 =  55.657
0, 1  acc:  4489 /  7535 =  59.575
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12573 / 19962 =  62.985
Robust  acc:  5436 /  9767 =  55.657
------------------------------------
Accuracies by groups:
0, 0  acc:  5436 /  9767 =  55.657
0, 1  acc:  4489 /  7535 =  59.575
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12573 / 19962 =  62.985
Robust  acc:  5436 /  9767 =  55.657
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5436 /  9767 =  55.657
0, 1  acc:  4489 /  7535 =  59.575
1, 0  acc:  2471 /  2480 =  99.637
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 12573 / 19962 =  62.985
Robust  acc:  5436 /  9767 =  55.657
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 94.172 | Val Loss: 0.004 | Val Acc: 81.512
Training:
Accuracies by groups:
0, 0  acc: 10355 / 15980 =  64.800
0, 1  acc:  6165 /  8308 =  74.206
1, 0  acc: 128586 / 129847 =  99.029
1, 1  acc:  8177 /  8635 =  94.696
--------------------------------------
Average acc: 153283 / 162770 =  94.172
Robust  acc: 10355 / 15980 =  64.800
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6321 /  8535 =  74.060
0, 1  acc:  6869 /  8276 =  82.999
1, 0  acc:  2830 /  2874 =  98.469
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16194 / 19867 =  81.512
Robust  acc:  6321 /  8535 =  74.060
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.088
Robust Acc: 78.980 | Best Acc: 98.589
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  7714 /  9767 =  78.980
0, 1  acc:  6262 /  7535 =  83.106
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16586 / 19962 =  83.088
Robust  acc:  7714 /  9767 =  78.980
------------------------------------
Accuracies by groups:
0, 0  acc:  7714 /  9767 =  78.980
0, 1  acc:  6262 /  7535 =  83.106
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16586 / 19962 =  83.088
Robust  acc:  7714 /  9767 =  78.980
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7714 /  9767 =  78.980
0, 1  acc:  6262 /  7535 =  83.106
1, 0  acc:  2445 /  2480 =  98.589
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16586 / 19962 =  83.088
Robust  acc:  7714 /  9767 =  78.980
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 94.142 | Val Loss: 0.004 | Val Acc: 85.071
Training:
Accuracies by groups:
0, 0  acc: 10401 / 16068 =  64.731
0, 1  acc:  6044 /  8202 =  73.689
1, 0  acc: 128597 / 129931 =  98.973
1, 1  acc:  8193 /  8569 =  95.612
--------------------------------------
Average acc: 153235 / 162770 =  94.142
Robust  acc: 10401 / 16068 =  64.731
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6677 /  8535 =  78.231
0, 1  acc:  7231 /  8276 =  87.373
1, 0  acc:  2819 /  2874 =  98.086
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 16901 / 19867 =  85.071
Robust  acc:  6677 /  8535 =  78.231
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 86.695
Robust Acc: 82.523 | Best Acc: 98.427
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  8060 /  9767 =  82.523
0, 1  acc:  6642 /  7535 =  88.149
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17306 / 19962 =  86.695
Robust  acc:  8060 /  9767 =  82.523
------------------------------------
Accuracies by groups:
0, 0  acc:  8060 /  9767 =  82.523
0, 1  acc:  6642 /  7535 =  88.149
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17306 / 19962 =  86.695
Robust  acc:  8060 /  9767 =  82.523
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8060 /  9767 =  82.523
0, 1  acc:  6642 /  7535 =  88.149
1, 0  acc:  2441 /  2480 =  98.427
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17306 / 19962 =  86.695
Robust  acc:  8060 /  9767 =  82.523
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 94.084 | Val Loss: 0.005 | Val Acc: 74.229
Training:
Accuracies by groups:
0, 0  acc: 10425 / 16186 =  64.408
0, 1  acc:  5896 /  8039 =  73.342
1, 0  acc: 128687 / 130006 =  98.985
1, 1  acc:  8132 /  8539 =  95.234
--------------------------------------
Average acc: 153140 / 162770 =  94.084
Robust  acc: 10425 / 16186 =  64.408
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5571 /  8535 =  65.272
0, 1  acc:  6135 /  8276 =  74.130
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14747 / 19867 =  74.229
Robust  acc:  5571 /  8535 =  65.272
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 75.964
Robust Acc: 70.759 | Best Acc: 99.516
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  6911 /  9767 =  70.759
0, 1  acc:  5610 /  7535 =  74.453
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15164 / 19962 =  75.964
Robust  acc:  6911 /  9767 =  70.759
------------------------------------
Accuracies by groups:
0, 0  acc:  6911 /  9767 =  70.759
0, 1  acc:  5610 /  7535 =  74.453
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15164 / 19962 =  75.964
Robust  acc:  6911 /  9767 =  70.759
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6911 /  9767 =  70.759
0, 1  acc:  5610 /  7535 =  74.453
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15164 / 19962 =  75.964
Robust  acc:  6911 /  9767 =  70.759
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 94.229 | Val Loss: 0.003 | Val Acc: 93.250
Training:
Accuracies by groups:
0, 0  acc: 10236 / 15946 =  64.192
0, 1  acc:  6004 /  8040 =  74.677
1, 0  acc: 129246 / 130470 =  99.062
1, 1  acc:  7891 /  8314 =  94.912
--------------------------------------
Average acc: 153377 / 162770 =  94.229
Robust  acc: 10236 / 15946 =  64.192
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8096 /  8535 =  94.856
0, 1  acc:  7999 /  8276 =  96.653
1, 0  acc:  2313 /  2874 =  80.480
1, 1  acc:   118 /   182 =  64.835
------------------------------------
Average acc: 18526 / 19867 =  93.250
Robust  acc:   118 /   182 =  64.835
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.688
Robust Acc: 55.000 | Best Acc: 96.868
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  9355 /  9767 =  95.782
0, 1  acc:  7299 /  7535 =  96.868
1, 0  acc:  1949 /  2480 =  78.589
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18702 / 19962 =  93.688
Robust  acc:    99 /   180 =  55.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9355 /  9767 =  95.782
0, 1  acc:  7299 /  7535 =  96.868
1, 0  acc:  1949 /  2480 =  78.589
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18702 / 19962 =  93.688
Robust  acc:    99 /   180 =  55.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9355 /  9767 =  95.782
0, 1  acc:  7299 /  7535 =  96.868
1, 0  acc:  1949 /  2480 =  78.589
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18702 / 19962 =  93.688
Robust  acc:    99 /   180 =  55.000
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 94.137 | Val Loss: 0.005 | Val Acc: 73.901
Training:
Accuracies by groups:
0, 0  acc: 10431 / 16151 =  64.584
0, 1  acc:  5865 /  8006 =  73.258
1, 0  acc: 128677 / 129955 =  99.017
1, 1  acc:  8253 /  8658 =  95.322
--------------------------------------
Average acc: 153226 / 162770 =  94.137
Robust  acc: 10431 / 16151 =  64.584
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5455 /  8535 =  63.913
0, 1  acc:  6187 /  8276 =  74.758
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14682 / 19867 =  73.901
Robust  acc:  5455 /  8535 =  63.913
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 76.170
Robust Acc: 69.643 | Best Acc: 99.435
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  6802 /  9767 =  69.643
0, 1  acc:  5761 /  7535 =  76.457
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15205 / 19962 =  76.170
Robust  acc:  6802 /  9767 =  69.643
------------------------------------
Accuracies by groups:
0, 0  acc:  6802 /  9767 =  69.643
0, 1  acc:  5761 /  7535 =  76.457
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15205 / 19962 =  76.170
Robust  acc:  6802 /  9767 =  69.643
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6802 /  9767 =  69.643
0, 1  acc:  5761 /  7535 =  76.457
1, 0  acc:  2466 /  2480 =  99.435
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 15205 / 19962 =  76.170
Robust  acc:  6802 /  9767 =  69.643
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 94.071 | Val Loss: 0.004 | Val Acc: 86.576
Training:
Accuracies by groups:
0, 0  acc: 10547 / 16373 =  64.417
0, 1  acc:  6062 /  8162 =  74.271
1, 0  acc: 128506 / 129811 =  98.995
1, 1  acc:  8004 /  8424 =  95.014
--------------------------------------
Average acc: 153119 / 162770 =  94.071
Robust  acc: 10547 / 16373 =  64.417
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6839 /  8535 =  80.129
0, 1  acc:  7380 /  8276 =  89.174
1, 0  acc:  2811 /  2874 =  97.808
1, 1  acc:   170 /   182 =  93.407
------------------------------------
Average acc: 17200 / 19867 =  86.576
Robust  acc:  6839 /  8535 =  80.129
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 88.052
Robust Acc: 84.345 | Best Acc: 96.895
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  8238 /  9767 =  84.345
0, 1  acc:  6777 /  7535 =  89.940
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17577 / 19962 =  88.052
Robust  acc:  8238 /  9767 =  84.345
------------------------------------
Accuracies by groups:
0, 0  acc:  8238 /  9767 =  84.345
0, 1  acc:  6777 /  7535 =  89.940
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17577 / 19962 =  88.052
Robust  acc:  8238 /  9767 =  84.345
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8238 /  9767 =  84.345
0, 1  acc:  6777 /  7535 =  89.940
1, 0  acc:  2403 /  2480 =  96.895
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17577 / 19962 =  88.052
Robust  acc:  8238 /  9767 =  84.345
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 94.197 | Val Loss: 0.004 | Val Acc: 83.797
Training:
Accuracies by groups:
0, 0  acc: 10488 / 16124 =  65.046
0, 1  acc:  6084 /  8131 =  74.825
1, 0  acc: 128600 / 129922 =  98.982
1, 1  acc:  8153 /  8593 =  94.880
--------------------------------------
Average acc: 153325 / 162770 =  94.197
Robust  acc: 10488 / 16124 =  65.046
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6523 /  8535 =  76.426
0, 1  acc:  7108 /  8276 =  85.887
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16648 / 19867 =  83.797
Robust  acc:  6523 /  8535 =  76.426
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.402
Robust Acc: 81.100 | Best Acc: 97.984
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  7921 /  9767 =  81.100
0, 1  acc:  6526 /  7535 =  86.609
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 17048 / 19962 =  85.402
Robust  acc:  7921 /  9767 =  81.100
------------------------------------
Accuracies by groups:
0, 0  acc:  7921 /  9767 =  81.100
0, 1  acc:  6526 /  7535 =  86.609
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 17048 / 19962 =  85.402
Robust  acc:  7921 /  9767 =  81.100
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7921 /  9767 =  81.100
0, 1  acc:  6526 /  7535 =  86.609
1, 0  acc:  2430 /  2480 =  97.984
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 17048 / 19962 =  85.402
Robust  acc:  7921 /  9767 =  81.100
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 94.049 | Val Loss: 0.005 | Val Acc: 76.690
Training:
Accuracies by groups:
0, 0  acc: 10534 / 16336 =  64.483
0, 1  acc:  6014 /  8102 =  74.229
1, 0  acc: 128335 / 129680 =  98.963
1, 1  acc:  8200 /  8652 =  94.776
--------------------------------------
Average acc: 153083 / 162770 =  94.049
Robust  acc: 10534 / 16336 =  64.483
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5802 /  8535 =  67.979
0, 1  acc:  6400 /  8276 =  77.332
1, 0  acc:  2855 /  2874 =  99.339
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 15236 / 19867 =  76.690
Robust  acc:  5802 /  8535 =  67.979
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.830
Robust Acc: 73.206 | Best Acc: 99.274
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  7150 /  9767 =  73.206
0, 1  acc:  5950 /  7535 =  78.965
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15736 / 19962 =  78.830
Robust  acc:  7150 /  9767 =  73.206
------------------------------------
Accuracies by groups:
0, 0  acc:  7150 /  9767 =  73.206
0, 1  acc:  5950 /  7535 =  78.965
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15736 / 19962 =  78.830
Robust  acc:  7150 /  9767 =  73.206
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7150 /  9767 =  73.206
0, 1  acc:  5950 /  7535 =  78.965
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 15736 / 19962 =  78.830
Robust  acc:  7150 /  9767 =  73.206
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 94.253 | Val Loss: 0.005 | Val Acc: 78.125
Training:
Accuracies by groups:
0, 0  acc: 10417 / 16003 =  65.094
0, 1  acc:  5943 /  7991 =  74.371
1, 0  acc: 128966 / 130254 =  99.011
1, 1  acc:  8090 /  8522 =  94.931
--------------------------------------
Average acc: 153416 / 162770 =  94.253
Robust  acc: 10417 / 16003 =  65.094
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6128 /  8535 =  71.798
0, 1  acc:  6370 /  8276 =  76.970
1, 0  acc:  2845 /  2874 =  98.991
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15521 / 19867 =  78.125
Robust  acc:  6128 /  8535 =  71.798
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.651
Robust Acc: 76.403 | Best Acc: 98.871
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  7516 /  9767 =  76.953
0, 1  acc:  5757 /  7535 =  76.403
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15900 / 19962 =  79.651
Robust  acc:  5757 /  7535 =  76.403
------------------------------------
Accuracies by groups:
0, 0  acc:  7516 /  9767 =  76.953
0, 1  acc:  5757 /  7535 =  76.403
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15900 / 19962 =  79.651
Robust  acc:  5757 /  7535 =  76.403
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7516 /  9767 =  76.953
0, 1  acc:  5757 /  7535 =  76.403
1, 0  acc:  2452 /  2480 =  98.871
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15900 / 19962 =  79.651
Robust  acc:  5757 /  7535 =  76.403
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 94.228 | Val Loss: 0.005 | Val Acc: 79.458
Training:
Accuracies by groups:
0, 0  acc: 10414 / 16014 =  65.031
0, 1  acc:  5954 /  8036 =  74.092
1, 0  acc: 128958 / 130218 =  99.032
1, 1  acc:  8049 /  8502 =  94.672
--------------------------------------
Average acc: 153375 / 162770 =  94.228
Robust  acc: 10414 / 16014 =  65.031
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6037 /  8535 =  70.732
0, 1  acc:  6717 /  8276 =  81.162
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15786 / 19867 =  79.458
Robust  acc:  6037 /  8535 =  70.732
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 81.264
Robust Acc: 76.380 | Best Acc: 99.113
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  7460 /  9767 =  76.380
0, 1  acc:  6130 /  7535 =  81.354
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16222 / 19962 =  81.264
Robust  acc:  7460 /  9767 =  76.380
------------------------------------
Accuracies by groups:
0, 0  acc:  7460 /  9767 =  76.380
0, 1  acc:  6130 /  7535 =  81.354
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16222 / 19962 =  81.264
Robust  acc:  7460 /  9767 =  76.380
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7460 /  9767 =  76.380
0, 1  acc:  6130 /  7535 =  81.354
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 16222 / 19962 =  81.264
Robust  acc:  7460 /  9767 =  76.380
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 94.225 | Val Loss: 0.005 | Val Acc: 76.771
Training:
Accuracies by groups:
0, 0  acc: 10310 / 15964 =  64.583
0, 1  acc:  6174 /  8161 =  75.652
1, 0  acc: 128884 / 130220 =  98.974
1, 1  acc:  8002 /  8425 =  94.979
--------------------------------------
Average acc: 153370 / 162770 =  94.225
Robust  acc: 10310 / 15964 =  64.583
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5882 /  8535 =  68.916
0, 1  acc:  6333 /  8276 =  76.522
1, 0  acc:  2856 /  2874 =  99.374
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 15252 / 19867 =  76.771
Robust  acc:  5882 /  8535 =  68.916
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 78.269
Robust Acc: 74.619 | Best Acc: 99.113
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  7288 /  9767 =  74.619
0, 1  acc:  5701 /  7535 =  75.660
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15624 / 19962 =  78.269
Robust  acc:  7288 /  9767 =  74.619
------------------------------------
Accuracies by groups:
0, 0  acc:  7288 /  9767 =  74.619
0, 1  acc:  5701 /  7535 =  75.660
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15624 / 19962 =  78.269
Robust  acc:  7288 /  9767 =  74.619
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7288 /  9767 =  74.619
0, 1  acc:  5701 /  7535 =  75.660
1, 0  acc:  2458 /  2480 =  99.113
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 15624 / 19962 =  78.269
Robust  acc:  7288 /  9767 =  74.619
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 94.267 | Val Loss: 0.005 | Val Acc: 77.883
Training:
Accuracies by groups:
0, 0  acc: 10451 / 16115 =  64.853
0, 1  acc:  6129 /  8104 =  75.629
1, 0  acc: 128699 / 129974 =  99.019
1, 1  acc:  8160 /  8577 =  95.138
--------------------------------------
Average acc: 153439 / 162770 =  94.267
Robust  acc: 10451 / 16115 =  64.853
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5822 /  8535 =  68.213
0, 1  acc:  6638 /  8276 =  80.208
1, 0  acc:  2839 /  2874 =  98.782
1, 1  acc:   174 /   182 =  95.604
------------------------------------
Average acc: 15473 / 19867 =  77.883
Robust  acc:  5822 /  8535 =  68.213
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 79.516
Robust Acc: 73.800 | Best Acc: 98.548
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  7208 /  9767 =  73.800
0, 1  acc:  6049 /  7535 =  80.279
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15873 / 19962 =  79.516
Robust  acc:  7208 /  9767 =  73.800
------------------------------------
Accuracies by groups:
0, 0  acc:  7208 /  9767 =  73.800
0, 1  acc:  6049 /  7535 =  80.279
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15873 / 19962 =  79.516
Robust  acc:  7208 /  9767 =  73.800
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7208 /  9767 =  73.800
0, 1  acc:  6049 /  7535 =  80.279
1, 0  acc:  2444 /  2480 =  98.548
1, 1  acc:   172 /   180 =  95.556
------------------------------------
Average acc: 15873 / 19962 =  79.516
Robust  acc:  7208 /  9767 =  73.800
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 94.258 | Val Loss: 0.004 | Val Acc: 88.061
Training:
Accuracies by groups:
0, 0  acc: 10591 / 16145 =  65.599
0, 1  acc:  6202 /  8236 =  75.304
1, 0  acc: 128405 / 129742 =  98.969
1, 1  acc:  8226 /  8647 =  95.131
--------------------------------------
Average acc: 153424 / 162770 =  94.258
Robust  acc: 10591 / 16145 =  65.599
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7099 /  8535 =  83.175
0, 1  acc:  7443 /  8276 =  89.935
1, 0  acc:  2784 /  2874 =  96.868
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17495 / 19867 =  88.061
Robust  acc:  7099 /  8535 =  83.175
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.355
Robust Acc: 86.111 | Best Acc: 95.403
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  8510 /  9767 =  87.130
0, 1  acc:  6806 /  7535 =  90.325
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17837 / 19962 =  89.355
Robust  acc:   155 /   180 =  86.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8510 /  9767 =  87.130
0, 1  acc:  6806 /  7535 =  90.325
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17837 / 19962 =  89.355
Robust  acc:   155 /   180 =  86.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8510 /  9767 =  87.130
0, 1  acc:  6806 /  7535 =  90.325
1, 0  acc:  2366 /  2480 =  95.403
1, 1  acc:   155 /   180 =  86.111
------------------------------------
Average acc: 17837 / 19962 =  89.355
Robust  acc:   155 /   180 =  86.111
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 94.243 | Val Loss: 0.004 | Val Acc: 83.400
Training:
Accuracies by groups:
0, 0  acc: 10626 / 16177 =  65.686
0, 1  acc:  6192 /  8189 =  75.614
1, 0  acc: 128544 / 129918 =  98.942
1, 1  acc:  8037 /  8486 =  94.709
--------------------------------------
Average acc: 153399 / 162770 =  94.243
Robust  acc: 10626 / 16177 =  65.686
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6495 /  8535 =  76.098
0, 1  acc:  7063 /  8276 =  85.343
1, 0  acc:  2835 /  2874 =  98.643
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16569 / 19867 =  83.400
Robust  acc:  6495 /  8535 =  76.098
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 85.142
Robust Acc: 80.905 | Best Acc: 98.145
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  7902 /  9767 =  80.905
0, 1  acc:  6489 /  7535 =  86.118
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16996 / 19962 =  85.142
Robust  acc:  7902 /  9767 =  80.905
------------------------------------
Accuracies by groups:
0, 0  acc:  7902 /  9767 =  80.905
0, 1  acc:  6489 /  7535 =  86.118
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16996 / 19962 =  85.142
Robust  acc:  7902 /  9767 =  80.905
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7902 /  9767 =  80.905
0, 1  acc:  6489 /  7535 =  86.118
1, 0  acc:  2434 /  2480 =  98.145
1, 1  acc:   171 /   180 =  95.000
------------------------------------
Average acc: 16996 / 19962 =  85.142
Robust  acc:  7902 /  9767 =  80.905
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 94.376 | Val Loss: 0.003 | Val Acc: 91.911
Training:
Accuracies by groups:
0, 0  acc: 10704 / 16220 =  65.993
0, 1  acc:  6197 /  8102 =  76.487
1, 0  acc: 128645 / 129943 =  99.001
1, 1  acc:  8070 /  8505 =  94.885
--------------------------------------
Average acc: 153616 / 162770 =  94.376
Robust  acc: 10704 / 16220 =  65.993
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7639 /  8535 =  89.502
0, 1  acc:  7801 /  8276 =  94.261
1, 0  acc:  2667 /  2874 =  92.797
1, 1  acc:   153 /   182 =  84.066
------------------------------------
Average acc: 18260 / 19867 =  91.911
Robust  acc:   153 /   182 =  84.066
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.801
Robust Acc: 75.000 | Best Acc: 94.678
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  8983 /  9767 =  91.973
0, 1  acc:  7134 /  7535 =  94.678
1, 0  acc:  2273 /  2480 =  91.653
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18525 / 19962 =  92.801
Robust  acc:   135 /   180 =  75.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8983 /  9767 =  91.973
0, 1  acc:  7134 /  7535 =  94.678
1, 0  acc:  2273 /  2480 =  91.653
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18525 / 19962 =  92.801
Robust  acc:   135 /   180 =  75.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8983 /  9767 =  91.973
0, 1  acc:  7134 /  7535 =  94.678
1, 0  acc:  2273 /  2480 =  91.653
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18525 / 19962 =  92.801
Robust  acc:   135 /   180 =  75.000
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 94.409 | Val Loss: 0.004 | Val Acc: 86.596
Training:
Accuracies by groups:
0, 0  acc: 10541 / 15990 =  65.922
0, 1  acc:  6305 /  8231 =  76.601
1, 0  acc: 128711 / 129997 =  99.011
1, 1  acc:  8112 /  8552 =  94.855
--------------------------------------
Average acc: 153669 / 162770 =  94.409
Robust  acc: 10541 / 15990 =  65.922
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6833 /  8535 =  80.059
0, 1  acc:  7389 /  8276 =  89.282
1, 0  acc:  2810 /  2874 =  97.773
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 17204 / 19867 =  86.596
Robust  acc:  6833 /  8535 =  80.059
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.912
Robust Acc: 84.171 | Best Acc: 96.694
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8221 /  9767 =  84.171
0, 1  acc:  6767 /  7535 =  89.808
1, 0  acc:  2398 /  2480 =  96.694
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17549 / 19962 =  87.912
Robust  acc:  8221 /  9767 =  84.171
------------------------------------
Accuracies by groups:
0, 0  acc:  8221 /  9767 =  84.171
0, 1  acc:  6767 /  7535 =  89.808
1, 0  acc:  2398 /  2480 =  96.694
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17549 / 19962 =  87.912
Robust  acc:  8221 /  9767 =  84.171
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8221 /  9767 =  84.171
0, 1  acc:  6767 /  7535 =  89.808
1, 0  acc:  2398 /  2480 =  96.694
1, 1  acc:   163 /   180 =  90.556
------------------------------------
Average acc: 17549 / 19962 =  87.912
Robust  acc:  8221 /  9767 =  84.171
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 94.332 | Val Loss: 0.006 | Val Acc: 66.975
Training:
Accuracies by groups:
0, 0  acc: 10638 / 16186 =  65.723
0, 1  acc:  6304 /  8216 =  76.728
1, 0  acc: 128594 / 129898 =  98.996
1, 1  acc:  8009 /  8470 =  94.557
--------------------------------------
Average acc: 153545 / 162770 =  94.332
Robust  acc: 10638 / 16186 =  65.723
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4802 /  8535 =  56.262
0, 1  acc:  5455 /  8276 =  65.913
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 13306 / 19867 =  66.975
Robust  acc:  4802 /  8535 =  56.262
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 69.126
Robust Acc: 63.029 | Best Acc: 99.718
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  6156 /  9767 =  63.029
0, 1  acc:  4992 /  7535 =  66.251
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13799 / 19962 =  69.126
Robust  acc:  6156 /  9767 =  63.029
------------------------------------
Accuracies by groups:
0, 0  acc:  6156 /  9767 =  63.029
0, 1  acc:  4992 /  7535 =  66.251
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13799 / 19962 =  69.126
Robust  acc:  6156 /  9767 =  63.029
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6156 /  9767 =  63.029
0, 1  acc:  4992 /  7535 =  66.251
1, 0  acc:  2473 /  2480 =  99.718
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13799 / 19962 =  69.126
Robust  acc:  6156 /  9767 =  63.029
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 94.434 | Val Loss: 0.006 | Val Acc: 69.870
Training:
Accuracies by groups:
0, 0  acc: 10708 / 16094 =  66.534
0, 1  acc:  6149 /  8023 =  76.642
1, 0  acc: 128951 / 130313 =  98.955
1, 1  acc:  7903 /  8340 =  94.760
--------------------------------------
Average acc: 153711 / 162770 =  94.434
Robust  acc: 10708 / 16094 =  66.534
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5505 /  8535 =  64.499
0, 1  acc:  5339 /  8276 =  64.512
1, 0  acc:  2858 /  2874 =  99.443
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 13881 / 19867 =  69.870
Robust  acc:  5505 /  8535 =  64.499
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 71.471
Robust Acc: 63.782 | Best Acc: 99.274
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  6822 /  9767 =  69.847
0, 1  acc:  4806 /  7535 =  63.782
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14267 / 19962 =  71.471
Robust  acc:  4806 /  7535 =  63.782
------------------------------------
Accuracies by groups:
0, 0  acc:  6822 /  9767 =  69.847
0, 1  acc:  4806 /  7535 =  63.782
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14267 / 19962 =  71.471
Robust  acc:  4806 /  7535 =  63.782
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6822 /  9767 =  69.847
0, 1  acc:  4806 /  7535 =  63.782
1, 0  acc:  2462 /  2480 =  99.274
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14267 / 19962 =  71.471
Robust  acc:  4806 /  7535 =  63.782
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 94.372 | Val Loss: 0.003 | Val Acc: 93.300
Training:
Accuracies by groups:
0, 0  acc: 10710 / 16128 =  66.406
0, 1  acc:  6114 /  8056 =  75.894
1, 0  acc: 128707 / 130026 =  98.986
1, 1  acc:  8078 /  8560 =  94.369
--------------------------------------
Average acc: 153609 / 162770 =  94.372
Robust  acc: 10710 / 16128 =  66.406
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7806 /  8535 =  91.459
0, 1  acc:  8048 /  8276 =  97.245
1, 0  acc:  2575 /  2874 =  89.596
1, 1  acc:   107 /   182 =  58.791
------------------------------------
Average acc: 18536 / 19867 =  93.300
Robust  acc:   107 /   182 =  58.791
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.999
Robust Acc: 55.000 | Best Acc: 97.425
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  9131 /  9767 =  93.488
0, 1  acc:  7341 /  7535 =  97.425
1, 0  acc:  2193 /  2480 =  88.427
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18764 / 19962 =  93.999
Robust  acc:    99 /   180 =  55.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9131 /  9767 =  93.488
0, 1  acc:  7341 /  7535 =  97.425
1, 0  acc:  2193 /  2480 =  88.427
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18764 / 19962 =  93.999
Robust  acc:    99 /   180 =  55.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9131 /  9767 =  93.488
0, 1  acc:  7341 /  7535 =  97.425
1, 0  acc:  2193 /  2480 =  88.427
1, 1  acc:    99 /   180 =  55.000
------------------------------------
Average acc: 18764 / 19962 =  93.999
Robust  acc:    99 /   180 =  55.000
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 94.406 | Val Loss: 0.006 | Val Acc: 71.244
Training:
Accuracies by groups:
0, 0  acc: 10461 / 15915 =  65.730
0, 1  acc:  6414 /  8329 =  77.008
1, 0  acc: 128650 / 129947 =  99.002
1, 1  acc:  8140 /  8579 =  94.883
--------------------------------------
Average acc: 153665 / 162770 =  94.406
Robust  acc: 10461 / 15915 =  65.730
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5359 /  8535 =  62.789
0, 1  acc:  5755 /  8276 =  69.538
1, 0  acc:  2860 /  2874 =  99.513
1, 1  acc:   180 /   182 =  98.901
------------------------------------
Average acc: 14154 / 19867 =  71.244
Robust  acc:  5359 /  8535 =  62.789
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.404
Robust Acc: 68.957 | Best Acc: 99.597
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  6735 /  9767 =  68.957
0, 1  acc:  5274 /  7535 =  69.993
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14653 / 19962 =  73.404
Robust  acc:  6735 /  9767 =  68.957
------------------------------------
Accuracies by groups:
0, 0  acc:  6735 /  9767 =  68.957
0, 1  acc:  5274 /  7535 =  69.993
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14653 / 19962 =  73.404
Robust  acc:  6735 /  9767 =  68.957
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6735 /  9767 =  68.957
0, 1  acc:  5274 /  7535 =  69.993
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   174 /   180 =  96.667
------------------------------------
Average acc: 14653 / 19962 =  73.404
Robust  acc:  6735 /  9767 =  68.957
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 94.447 | Val Loss: 0.004 | Val Acc: 87.416
Training:
Accuracies by groups:
0, 0  acc: 10727 / 16152 =  66.413
0, 1  acc:  6253 /  8092 =  77.274
1, 0  acc: 128662 / 129967 =  98.996
1, 1  acc:  8089 /  8559 =  94.509
--------------------------------------
Average acc: 153731 / 162770 =  94.447
Robust  acc: 10727 / 16152 =  66.413
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7142 /  8535 =  83.679
0, 1  acc:  7268 /  8276 =  87.820
1, 0  acc:  2788 /  2874 =  97.008
1, 1  acc:   169 /   182 =  92.857
------------------------------------
Average acc: 17367 / 19867 =  87.416
Robust  acc:  7142 /  8535 =  83.679
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 88.729
Robust Acc: 85.000 | Best Acc: 95.887
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  8538 /  9767 =  87.417
0, 1  acc:  6643 /  7535 =  88.162
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17712 / 19962 =  88.729
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8538 /  9767 =  87.417
0, 1  acc:  6643 /  7535 =  88.162
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17712 / 19962 =  88.729
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8538 /  9767 =  87.417
0, 1  acc:  6643 /  7535 =  88.162
1, 0  acc:  2378 /  2480 =  95.887
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17712 / 19962 =  88.729
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 94.521 | Val Loss: 0.003 | Val Acc: 91.121
Training:
Accuracies by groups:
0, 0  acc: 10509 / 15848 =  66.311
0, 1  acc:  6226 /  8152 =  76.374
1, 0  acc: 128962 / 130207 =  99.044
1, 1  acc:  8155 /  8563 =  95.235
--------------------------------------
Average acc: 153852 / 162770 =  94.521
Robust  acc: 10509 / 15848 =  66.311
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7407 /  8535 =  86.784
0, 1  acc:  7807 /  8276 =  94.333
1, 0  acc:  2735 /  2874 =  95.164
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 18103 / 19867 =  91.121
Robust  acc:   154 /   182 =  84.615
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.960
Robust Acc: 80.000 | Best Acc: 94.559
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  8750 /  9767 =  89.587
0, 1  acc:  7125 /  7535 =  94.559
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18357 / 19962 =  91.960
Robust  acc:   144 /   180 =  80.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8750 /  9767 =  89.587
0, 1  acc:  7125 /  7535 =  94.559
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18357 / 19962 =  91.960
Robust  acc:   144 /   180 =  80.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8750 /  9767 =  89.587
0, 1  acc:  7125 /  7535 =  94.559
1, 0  acc:  2338 /  2480 =  94.274
1, 1  acc:   144 /   180 =  80.000
------------------------------------
Average acc: 18357 / 19962 =  91.960
Robust  acc:   144 /   180 =  80.000
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed14.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed14.pt
t
pt
 19962 =  71.691
Robust  acc:  6400 /  9767 =  65.527
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed14.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed14.pt
