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/seed23/stage_one_erm_model_b_epoch0_seed23.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: 23
Replicate: 0
No cuda: False
Resume: False
New slice: False
Num workers: 12
Evaluate: False
Data cmap: hsv
Test cmap: 
P correlation: 0.9
P corr by class: None
Train classes: ['blond', 'nonblond']
Train class ratios: None
Test shift: random
Flipped: False
Q: 0.7
Pretrained bmodel: True
Cosine: False
Exp: ours
Tau: 1.1
Gamma: None
Remove label noise: False
Model for remove samples: 
Remove ratio: 0.03
Supervised contrast: True
Prioritize spurious pos: False
Contrastive type: cnc
Compute auroc: False
Model type: resnet50_pt_cnc
Criterion: cross_entropy
Pretrained: False
Max grad norm: 1.0
Adam epsilon: 1e-08
Warmup steps: 0
Max grad norm s: 1.0
Adam epsilon s: 1e-08
Warmup steps s: 0
Grad max grad norm: 1.0
Grad adam epsilon: 1e-08
Grad warmup steps: 0
Device: cuda
Img file type: .png
Display image: False
Image path: ./images/celebA/celebA/config/contrastive_umaps
Log interval: 1
Log path: ./logs/celebA/config
Results path: ./results/celebA/config
Model path: ./model/celebA/config
Loss factor: 1
Supersample labels: False
Subsample labels: False
Weigh slice samples by loss: True
Val split: 0.2
Spurious train split: 0.2
Subsample groups: False
Train method: sc
Max robust acc: -1
Max robust epoch: -1
Max robust group acc: (None, None)
Root dir: ./datasets/data/CelebA/
Target name: Blond_Hair
Confounder names: ['Male']
Image mean: 0.449
Image std: 0.226
Augment data: False
Task: celebA
Num classes: 2
Experiment configs: config
Experiment name: cnc-celebA-sw=re-na=32-np=32-nn=32-nne=0-tsr=1-t=0.05-bf=None-cw=0.5-sud=0-me=50-bst=128-o=sgd-lr=0.0001-mo=0.9-wd=0.1-wdc=0.1-spur-me=1-bst=32-lr=0.001-mo=0.9-wd=0.0005-sts=0.2-s=23-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/seed23/stage_one_erm_model_b_epoch0_seed23.pt
======
# Calculate probability ...
======
======
p_y_a:  tensor([[0.8180, 0.0329],
        [0.1261, 0.0230]])
p_y:  tensor([0.8509, 0.1491])
# Load biased model ...
======
Epoch:   1 | Train Loss: 0.002 | Train Acc: 88.821 | Val Loss: 0.003 | Val Acc: 84.900
Training:
Accuracies by groups:
0, 0  acc: 12413 / 22704 =  54.673
0, 1  acc:  7210 / 11159 =  64.612
1, 0  acc: 117564 / 120705 =  97.398
1, 1  acc:  7387 /  8202 =  90.063
--------------------------------------
Average acc: 144574 / 162770 =  88.821
Robust  acc: 12413 / 22704 =  54.673
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6669 /  8535 =  78.137
0, 1  acc:  7210 /  8276 =  87.119
1, 0  acc:  2822 /  2874 =  98.191
1, 1  acc:   166 /   182 =  91.209
------------------------------------
Average acc: 16867 / 19867 =  84.900
Robust  acc:  6669 /  8535 =  78.137
------------------------------------
New max robust acc: 78.13708260105449
debias model - Saving best checkpoint at epoch 0
replace: True
-> Updating checkpoint debias-wga-best_seed23.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed23.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 86.685
Robust Acc: 83.127 | Best Acc: 98.347
-------------------------------------
Training, Epoch 0:
Accuracies by groups:
0, 0  acc:  8119 /  9767 =  83.127
0, 1  acc:  6587 /  7535 =  87.419
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17304 / 19962 =  86.685
Robust  acc:  8119 /  9767 =  83.127
------------------------------------
Accuracies by groups:
0, 0  acc:  8119 /  9767 =  83.127
0, 1  acc:  6587 /  7535 =  87.419
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17304 / 19962 =  86.685
Robust  acc:  8119 /  9767 =  83.127
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8119 /  9767 =  83.127
0, 1  acc:  6587 /  7535 =  87.419
1, 0  acc:  2439 /  2480 =  98.347
1, 1  acc:   159 /   180 =  88.333
------------------------------------
Average acc: 17304 / 19962 =  86.685
Robust  acc:  8119 /  9767 =  83.127
------------------------------------
Epoch:   2 | Train Loss: 0.002 | Train Acc: 92.894 | Val Loss: 0.002 | Val Acc: 87.698
Training:
Accuracies by groups:
0, 0  acc: 15937 / 22660 =  70.331
0, 1  acc:  8930 / 10765 =  82.954
1, 0  acc: 119082 / 121244 =  98.217
1, 1  acc:  7255 /  8101 =  89.557
--------------------------------------
Average acc: 151204 / 162770 =  92.894
Robust  acc: 15937 / 22660 =  70.331
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6886 /  8535 =  80.680
0, 1  acc:  7547 /  8276 =  91.191
1, 0  acc:  2825 /  2874 =  98.295
1, 1  acc:   165 /   182 =  90.659
------------------------------------
Average acc: 17423 / 19867 =  87.698
Robust  acc:  6886 /  8535 =  80.680
------------------------------------
New max robust acc: 80.67955477445811
debias model - Saving best checkpoint at epoch 1
replace: True
-> Updating checkpoint debias-wga-best_seed23.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed23.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 88.724
Robust Acc: 84.622 | Best Acc: 97.782
-------------------------------------
Training, Epoch 1:
Accuracies by groups:
0, 0  acc:  8265 /  9767 =  84.622
0, 1  acc:  6863 /  7535 =  91.082
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17711 / 19962 =  88.724
Robust  acc:  8265 /  9767 =  84.622
------------------------------------
Accuracies by groups:
0, 0  acc:  8265 /  9767 =  84.622
0, 1  acc:  6863 /  7535 =  91.082
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17711 / 19962 =  88.724
Robust  acc:  8265 /  9767 =  84.622
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8265 /  9767 =  84.622
0, 1  acc:  6863 /  7535 =  91.082
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   158 /   180 =  87.778
------------------------------------
Average acc: 17711 / 19962 =  88.724
Robust  acc:  8265 /  9767 =  84.622
------------------------------------
Epoch:   3 | Train Loss: 0.001 | Train Acc: 93.791 | Val Loss: 0.002 | Val Acc: 89.737
Training:
Accuracies by groups:
0, 0  acc: 16489 / 22613 =  72.918
0, 1  acc:  9377 / 10803 =  86.800
1, 0  acc: 119323 / 121160 =  98.484
1, 1  acc:  7475 /  8194 =  91.225
--------------------------------------
Average acc: 152664 / 162770 =  93.791
Robust  acc: 16489 / 22613 =  72.918
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7100 /  8535 =  83.187
0, 1  acc:  7749 /  8276 =  93.632
1, 0  acc:  2815 /  2874 =  97.947
1, 1  acc:   164 /   182 =  90.110
------------------------------------
Average acc: 17828 / 19867 =  89.737
Robust  acc:  7100 /  8535 =  83.187
------------------------------------
New max robust acc: 83.18687756297598
debias model - Saving best checkpoint at epoch 2
replace: True
-> Updating checkpoint debias-wga-best_seed23.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed23.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.312
Robust Acc: 85.556 | Best Acc: 97.581
-------------------------------------
Training, Epoch 2:
Accuracies by groups:
0, 0  acc:  8434 /  9767 =  86.352
0, 1  acc:  7020 /  7535 =  93.165
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18028 / 19962 =  90.312
Robust  acc:   154 /   180 =  85.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8434 /  9767 =  86.352
0, 1  acc:  7020 /  7535 =  93.165
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18028 / 19962 =  90.312
Robust  acc:   154 /   180 =  85.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8434 /  9767 =  86.352
0, 1  acc:  7020 /  7535 =  93.165
1, 0  acc:  2420 /  2480 =  97.581
1, 1  acc:   154 /   180 =  85.556
------------------------------------
Average acc: 18028 / 19962 =  90.312
Robust  acc:   154 /   180 =  85.556
------------------------------------
Epoch:   4 | Train Loss: 0.001 | Train Acc: 94.641 | Val Loss: 0.002 | Val Acc: 90.794
Training:
Accuracies by groups:
0, 0  acc: 17048 / 22571 =  75.531
0, 1  acc:  9632 / 10807 =  89.127
1, 0  acc: 119840 / 121327 =  98.774
1, 1  acc:  7527 /  8065 =  93.329
--------------------------------------
Average acc: 154047 / 162770 =  94.641
Robust  acc: 17048 / 22571 =  75.531
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7229 /  8535 =  84.698
0, 1  acc:  7851 /  8276 =  94.865
1, 0  acc:  2798 /  2874 =  97.356
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 18038 / 19867 =  90.794
Robust  acc:  7229 /  8535 =  84.698
------------------------------------
New max robust acc: 84.69830111306386
debias model - Saving best checkpoint at epoch 3
replace: True
-> Updating checkpoint debias-wga-best_seed23.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed23.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.128
Robust Acc: 81.667 | Best Acc: 97.137
-------------------------------------
Training, Epoch 3:
Accuracies by groups:
0, 0  acc:  8534 /  9767 =  87.376
0, 1  acc:  7101 /  7535 =  94.240
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18191 / 19962 =  91.128
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8534 /  9767 =  87.376
0, 1  acc:  7101 /  7535 =  94.240
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18191 / 19962 =  91.128
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8534 /  9767 =  87.376
0, 1  acc:  7101 /  7535 =  94.240
1, 0  acc:  2409 /  2480 =  97.137
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18191 / 19962 =  91.128
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:   5 | Train Loss: 0.001 | Train Acc: 95.375 | Val Loss: 0.002 | Val Acc: 91.509
Training:
Accuracies by groups:
0, 0  acc: 17912 / 22984 =  77.932
0, 1  acc:  9851 / 10879 =  90.551
1, 0  acc: 119764 / 120813 =  99.132
1, 1  acc:  7715 /  8094 =  95.318
--------------------------------------
Average acc: 155242 / 162770 =  95.375
Robust  acc: 17912 / 22984 =  77.932
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7345 /  8535 =  86.057
0, 1  acc:  7890 /  8276 =  95.336
1, 0  acc:  2787 /  2874 =  96.973
1, 1  acc:   158 /   182 =  86.813
------------------------------------
Average acc: 18180 / 19867 =  91.509
Robust  acc:  7345 /  8535 =  86.057
------------------------------------
New max robust acc: 86.05741066198009
debias model - Saving best checkpoint at epoch 4
replace: True
-> Updating checkpoint debias-wga-best_seed23.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed23.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.684
Robust Acc: 78.333 | Best Acc: 96.452
-------------------------------------
Training, Epoch 4:
Accuracies by groups:
0, 0  acc:  8614 /  9767 =  88.195
0, 1  acc:  7155 /  7535 =  94.957
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18302 / 19962 =  91.684
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8614 /  9767 =  88.195
0, 1  acc:  7155 /  7535 =  94.957
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18302 / 19962 =  91.684
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8614 /  9767 =  88.195
0, 1  acc:  7155 /  7535 =  94.957
1, 0  acc:  2392 /  2480 =  96.452
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18302 / 19962 =  91.684
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:   6 | Train Loss: 0.001 | Train Acc: 96.480 | Val Loss: 0.001 | Val Acc: 92.948
Training:
Accuracies by groups:
0, 0  acc: 18686 / 22907 =  81.573
0, 1  acc: 10191 / 10994 =  92.696
1, 0  acc: 120221 / 120764 =  99.550
1, 1  acc:  7943 /  8105 =  98.001
--------------------------------------
Average acc: 157041 / 162770 =  96.480
Robust  acc: 18686 / 22907 =  81.573
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7558 /  8535 =  88.553
0, 1  acc:  8026 /  8276 =  96.979
1, 0  acc:  2744 /  2874 =  95.477
1, 1  acc:   138 /   182 =  75.824
------------------------------------
Average acc: 18466 / 19867 =  92.948
Robust  acc:   138 /   182 =  75.824
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.042
Robust Acc: 69.444 | Best Acc: 96.483
-------------------------------------
Training, Epoch 5:
Accuracies by groups:
0, 0  acc:  8813 /  9767 =  90.232
0, 1  acc:  7270 /  7535 =  96.483
1, 0  acc:  2365 /  2480 =  95.363
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18573 / 19962 =  93.042
Robust  acc:   125 /   180 =  69.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8813 /  9767 =  90.232
0, 1  acc:  7270 /  7535 =  96.483
1, 0  acc:  2365 /  2480 =  95.363
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18573 / 19962 =  93.042
Robust  acc:   125 /   180 =  69.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8813 /  9767 =  90.232
0, 1  acc:  7270 /  7535 =  96.483
1, 0  acc:  2365 /  2480 =  95.363
1, 1  acc:   125 /   180 =  69.444
------------------------------------
Average acc: 18573 / 19962 =  93.042
Robust  acc:   125 /   180 =  69.444
------------------------------------
Epoch:   7 | Train Loss: 0.001 | Train Acc: 97.478 | Val Loss: 0.001 | Val Acc: 93.502
Training:
Accuracies by groups:
0, 0  acc: 19300 / 22529 =  85.667
0, 1  acc: 10286 / 10916 =  94.229
1, 0  acc: 120985 / 121175 =  99.843
1, 1  acc:  8094 /  8150 =  99.313
--------------------------------------
Average acc: 158665 / 162770 =  97.478
Robust  acc: 19300 / 22529 =  85.667
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7658 /  8535 =  89.725
0, 1  acc:  8062 /  8276 =  97.414
1, 0  acc:  2718 /  2874 =  94.572
1, 1  acc:   138 /   182 =  75.824
------------------------------------
Average acc: 18576 / 19867 =  93.502
Robust  acc:   138 /   182 =  75.824
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.478
Robust Acc: 65.556 | Best Acc: 96.921
-------------------------------------
Training, Epoch 6:
Accuracies by groups:
0, 0  acc:  8910 /  9767 =  91.226
0, 1  acc:  7303 /  7535 =  96.921
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18660 / 19962 =  93.478
Robust  acc:   118 /   180 =  65.556
------------------------------------
Accuracies by groups:
0, 0  acc:  8910 /  9767 =  91.226
0, 1  acc:  7303 /  7535 =  96.921
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18660 / 19962 =  93.478
Robust  acc:   118 /   180 =  65.556
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8910 /  9767 =  91.226
0, 1  acc:  7303 /  7535 =  96.921
1, 0  acc:  2329 /  2480 =  93.911
1, 1  acc:   118 /   180 =  65.556
------------------------------------
Average acc: 18660 / 19962 =  93.478
Robust  acc:   118 /   180 =  65.556
------------------------------------
Epoch:   8 | Train Loss: 0.001 | Train Acc: 98.200 | Val Loss: 0.001 | Val Acc: 93.940
Training:
Accuracies by groups:
0, 0  acc: 20457 / 22837 =  89.578
0, 1  acc: 10561 / 10985 =  96.140
1, 0  acc: 120605 / 120710 =  99.913
1, 1  acc:  8217 /  8238 =  99.745
--------------------------------------
Average acc: 159840 / 162770 =  98.200
Robust  acc: 20457 / 22837 =  89.578
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7755 /  8535 =  90.861
0, 1  acc:  8106 /  8276 =  97.946
1, 0  acc:  2674 /  2874 =  93.041
1, 1  acc:   128 /   182 =  70.330
------------------------------------
Average acc: 18663 / 19867 =  93.940
Robust  acc:   128 /   182 =  70.330
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.009
Robust Acc: 63.333 | Best Acc: 97.571
-------------------------------------
Training, Epoch 7:
Accuracies by groups:
0, 0  acc:  9010 /  9767 =  92.249
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18766 / 19962 =  94.009
Robust  acc:   114 /   180 =  63.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9010 /  9767 =  92.249
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18766 / 19962 =  94.009
Robust  acc:   114 /   180 =  63.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9010 /  9767 =  92.249
0, 1  acc:  7352 /  7535 =  97.571
1, 0  acc:  2290 /  2480 =  92.339
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18766 / 19962 =  94.009
Robust  acc:   114 /   180 =  63.333
------------------------------------
Epoch:   9 | Train Loss: 0.001 | Train Acc: 98.740 | Val Loss: 0.001 | Val Acc: 93.920
Training:
Accuracies by groups:
0, 0  acc: 21170 / 22844 =  92.672
0, 1  acc: 10849 / 11144 =  97.353
1, 0  acc: 120491 / 120552 =  99.949
1, 1  acc:  8209 /  8230 =  99.745
--------------------------------------
Average acc: 160719 / 162770 =  98.740
Robust  acc: 21170 / 22844 =  92.672
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7801 /  8535 =  91.400
0, 1  acc:  8103 /  8276 =  97.910
1, 0  acc:  2630 /  2874 =  91.510
1, 1  acc:   125 /   182 =  68.681
------------------------------------
Average acc: 18659 / 19867 =  93.920
Robust  acc:   125 /   182 =  68.681
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.044
Robust Acc: 60.000 | Best Acc: 97.731
-------------------------------------
Training, Epoch 8:
Accuracies by groups:
0, 0  acc:  9070 /  9767 =  92.864
0, 1  acc:  7364 /  7535 =  97.731
1, 0  acc:  2231 /  2480 =  89.960
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18773 / 19962 =  94.044
Robust  acc:   108 /   180 =  60.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9070 /  9767 =  92.864
0, 1  acc:  7364 /  7535 =  97.731
1, 0  acc:  2231 /  2480 =  89.960
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18773 / 19962 =  94.044
Robust  acc:   108 /   180 =  60.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9070 /  9767 =  92.864
0, 1  acc:  7364 /  7535 =  97.731
1, 0  acc:  2231 /  2480 =  89.960
1, 1  acc:   108 /   180 =  60.000
------------------------------------
Average acc: 18773 / 19962 =  94.044
Robust  acc:   108 /   180 =  60.000
------------------------------------
Epoch:  10 | Train Loss: 0.001 | Train Acc: 98.930 | Val Loss: 0.001 | Val Acc: 94.685
Training:
Accuracies by groups:
0, 0  acc: 21342 / 22724 =  93.918
0, 1  acc: 10552 / 10786 =  97.831
1, 0  acc: 121124 / 121222 =  99.919
1, 1  acc:  8011 /  8038 =  99.664
--------------------------------------
Average acc: 161029 / 162770 =  98.930
Robust  acc: 21342 / 22724 =  93.918
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7974 /  8535 =  93.427
0, 1  acc:  8149 /  8276 =  98.465
1, 0  acc:  2574 /  2874 =  89.562
1, 1  acc:   114 /   182 =  62.637
------------------------------------
Average acc: 18811 / 19867 =  94.685
Robust  acc:   114 /   182 =  62.637
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.625
Robust Acc: 56.111 | Best Acc: 98.208
-------------------------------------
Training, Epoch 9:
Accuracies by groups:
0, 0  acc:  9221 /  9767 =  94.410
0, 1  acc:  7400 /  7535 =  98.208
1, 0  acc:  2167 /  2480 =  87.379
1, 1  acc:   101 /   180 =  56.111
------------------------------------
Average acc: 18889 / 19962 =  94.625
Robust  acc:   101 /   180 =  56.111
------------------------------------
Accuracies by groups:
0, 0  acc:  9221 /  9767 =  94.410
0, 1  acc:  7400 /  7535 =  98.208
1, 0  acc:  2167 /  2480 =  87.379
1, 1  acc:   101 /   180 =  56.111
------------------------------------
Average acc: 18889 / 19962 =  94.625
Robust  acc:   101 /   180 =  56.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9221 /  9767 =  94.410
0, 1  acc:  7400 /  7535 =  98.208
1, 0  acc:  2167 /  2480 =  87.379
1, 1  acc:   101 /   180 =  56.111
------------------------------------
Average acc: 18889 / 19962 =  94.625
Robust  acc:   101 /   180 =  56.111
------------------------------------
Epoch:  11 | Train Loss: 0.001 | Train Acc: 98.943 | Val Loss: 0.001 | Val Acc: 94.891
Training:
Accuracies by groups:
0, 0  acc: 21260 / 22566 =  94.213
0, 1  acc: 10834 / 11058 =  97.974
1, 0  acc: 120866 / 121024 =  99.869
1, 1  acc:  8090 /  8122 =  99.606
--------------------------------------
Average acc: 161050 / 162770 =  98.943
Robust  acc: 21260 / 22566 =  94.213
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7962 /  8535 =  93.286
0, 1  acc:  8211 /  8276 =  99.215
1, 0  acc:  2581 /  2874 =  89.805
1, 1  acc:    98 /   182 =  53.846
------------------------------------
Average acc: 18852 / 19867 =  94.891
Robust  acc:    98 /   182 =  53.846
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 95.006
Robust Acc: 49.444 | Best Acc: 99.098
-------------------------------------
Training, Epoch 10:
Accuracies by groups:
0, 0  acc:  9209 /  9767 =  94.287
0, 1  acc:  7467 /  7535 =  99.098
1, 0  acc:  2200 /  2480 =  88.710
1, 1  acc:    89 /   180 =  49.444
------------------------------------
Average acc: 18965 / 19962 =  95.006
Robust  acc:    89 /   180 =  49.444
------------------------------------
Accuracies by groups:
0, 0  acc:  9209 /  9767 =  94.287
0, 1  acc:  7467 /  7535 =  99.098
1, 0  acc:  2200 /  2480 =  88.710
1, 1  acc:    89 /   180 =  49.444
------------------------------------
Average acc: 18965 / 19962 =  95.006
Robust  acc:    89 /   180 =  49.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9209 /  9767 =  94.287
0, 1  acc:  7467 /  7535 =  99.098
1, 0  acc:  2200 /  2480 =  88.710
1, 1  acc:    89 /   180 =  49.444
------------------------------------
Average acc: 18965 / 19962 =  95.006
Robust  acc:    89 /   180 =  49.444
------------------------------------
Epoch:  12 | Train Loss: 0.001 | Train Acc: 98.586 | Val Loss: 0.001 | Val Acc: 94.690
Training:
Accuracies by groups:
0, 0  acc: 21154 / 22798 =  92.789
0, 1  acc: 10690 / 10953 =  97.599
1, 0  acc: 120556 / 120873 =  99.738
1, 1  acc:  8068 /  8146 =  99.042
--------------------------------------
Average acc: 160468 / 162770 =  98.586
Robust  acc: 21154 / 22798 =  92.789
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8265 /  8535 =  96.837
0, 1  acc:  8221 /  8276 =  99.335
1, 0  acc:  2243 /  2874 =  78.045
1, 1  acc:    83 /   182 =  45.604
------------------------------------
Average acc: 18812 / 19867 =  94.690
Robust  acc:    83 /   182 =  45.604
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 94.725
Robust Acc: 45.000 | Best Acc: 99.137
-------------------------------------
Training, Epoch 11:
Accuracies by groups:
0, 0  acc:  9476 /  9767 =  97.021
0, 1  acc:  7470 /  7535 =  99.137
1, 0  acc:  1882 /  2480 =  75.887
1, 1  acc:    81 /   180 =  45.000
------------------------------------
Average acc: 18909 / 19962 =  94.725
Robust  acc:    81 /   180 =  45.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9476 /  9767 =  97.021
0, 1  acc:  7470 /  7535 =  99.137
1, 0  acc:  1882 /  2480 =  75.887
1, 1  acc:    81 /   180 =  45.000
------------------------------------
Average acc: 18909 / 19962 =  94.725
Robust  acc:    81 /   180 =  45.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9476 /  9767 =  97.021
0, 1  acc:  7470 /  7535 =  99.137
1, 0  acc:  1882 /  2480 =  75.887
1, 1  acc:    81 /   180 =  45.000
------------------------------------
Average acc: 18909 / 19962 =  94.725
Robust  acc:    81 /   180 =  45.000
------------------------------------
Epoch:  13 | Train Loss: 0.001 | Train Acc: 98.064 | Val Loss: 0.001 | Val Acc: 93.693
Training:
Accuracies by groups:
0, 0  acc: 20618 / 22676 =  90.924
0, 1  acc: 10646 / 11004 =  96.747
1, 0  acc: 120404 / 120976 =  99.527
1, 1  acc:  7951 /  8114 =  97.991
--------------------------------------
Average acc: 159619 / 162770 =  98.064
Robust  acc: 20618 / 22676 =  90.924
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7724 /  8535 =  90.498
0, 1  acc:  8094 /  8276 =  97.801
1, 0  acc:  2670 /  2874 =  92.902
1, 1  acc:   126 /   182 =  69.231
------------------------------------
Average acc: 18614 / 19867 =  93.693
Robust  acc:   126 /   182 =  69.231
------------------------------------
-------------------------------------------
Avg Test Loss: 0.001 | Avg Test Acc: 93.883
Robust Acc: 65.000 | Best Acc: 97.372
-------------------------------------
Training, Epoch 12:
Accuracies by groups:
0, 0  acc:  9017 /  9767 =  92.321
0, 1  acc:  7337 /  7535 =  97.372
1, 0  acc:  2270 /  2480 =  91.532
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18741 / 19962 =  93.883
Robust  acc:   117 /   180 =  65.000
------------------------------------
Accuracies by groups:
0, 0  acc:  9017 /  9767 =  92.321
0, 1  acc:  7337 /  7535 =  97.372
1, 0  acc:  2270 /  2480 =  91.532
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18741 / 19962 =  93.883
Robust  acc:   117 /   180 =  65.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9017 /  9767 =  92.321
0, 1  acc:  7337 /  7535 =  97.372
1, 0  acc:  2270 /  2480 =  91.532
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18741 / 19962 =  93.883
Robust  acc:   117 /   180 =  65.000
------------------------------------
Epoch:  14 | Train Loss: 0.001 | Train Acc: 97.358 | Val Loss: 0.002 | Val Acc: 90.849
Training:
Accuracies by groups:
0, 0  acc: 20140 / 22912 =  87.902
0, 1  acc: 10463 / 10927 =  95.754
1, 0  acc: 119843 / 120680 =  99.306
1, 1  acc:  8023 /  8251 =  97.237
--------------------------------------
Average acc: 158469 / 162770 =  97.358
Robust  acc: 20140 / 22912 =  87.902
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7198 /  8535 =  84.335
0, 1  acc:  7925 /  8276 =  95.759
1, 0  acc:  2781 /  2874 =  96.764
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18049 / 19867 =  90.849
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.334
Robust Acc: 73.333 | Best Acc: 96.532
-------------------------------------
Training, Epoch 13:
Accuracies by groups:
0, 0  acc:  8500 /  9767 =  87.028
0, 1  acc:  7206 /  7535 =  95.634
1, 0  acc:  2394 /  2480 =  96.532
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18232 / 19962 =  91.334
Robust  acc:   132 /   180 =  73.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8500 /  9767 =  87.028
0, 1  acc:  7206 /  7535 =  95.634
1, 0  acc:  2394 /  2480 =  96.532
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18232 / 19962 =  91.334
Robust  acc:   132 /   180 =  73.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8500 /  9767 =  87.028
0, 1  acc:  7206 /  7535 =  95.634
1, 0  acc:  2394 /  2480 =  96.532
1, 1  acc:   132 /   180 =  73.333
------------------------------------
Average acc: 18232 / 19962 =  91.334
Robust  acc:   132 /   180 =  73.333
------------------------------------
Epoch:  15 | Train Loss: 0.001 | Train Acc: 96.768 | Val Loss: 0.002 | Val Acc: 92.732
Training:
Accuracies by groups:
0, 0  acc: 19778 / 23051 =  85.801
0, 1  acc: 10283 / 10892 =  94.409
1, 0  acc: 119573 / 120660 =  99.099
1, 1  acc:  7875 /  8167 =  96.425
--------------------------------------
Average acc: 157509 / 162770 =  96.768
Robust  acc: 19778 / 23051 =  85.801
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7587 /  8535 =  88.893
0, 1  acc:  7988 /  8276 =  96.520
1, 0  acc:  2708 /  2874 =  94.224
1, 1  acc:   140 /   182 =  76.923
------------------------------------
Average acc: 18423 / 19867 =  92.732
Robust  acc:   140 /   182 =  76.923
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.177
Robust Acc: 72.778 | Best Acc: 96.443
-------------------------------------
Training, Epoch 14:
Accuracies by groups:
0, 0  acc:  8883 /  9767 =  90.949
0, 1  acc:  7267 /  7535 =  96.443
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18600 / 19962 =  93.177
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8883 /  9767 =  90.949
0, 1  acc:  7267 /  7535 =  96.443
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18600 / 19962 =  93.177
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8883 /  9767 =  90.949
0, 1  acc:  7267 /  7535 =  96.443
1, 0  acc:  2319 /  2480 =  93.508
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18600 / 19962 =  93.177
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  16 | Train Loss: 0.001 | Train Acc: 95.999 | Val Loss: 0.002 | Val Acc: 91.151
Training:
Accuracies by groups:
0, 0  acc: 18827 / 22744 =  82.778
0, 1  acc: 10097 / 10864 =  92.940
1, 0  acc: 119618 / 121047 =  98.819
1, 1  acc:  7715 /  8115 =  95.071
--------------------------------------
Average acc: 156257 / 162770 =  95.999
Robust  acc: 18827 / 22744 =  82.778
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7374 /  8535 =  86.397
0, 1  acc:  7816 /  8276 =  94.442
1, 0  acc:  2756 /  2874 =  95.894
1, 1  acc:   163 /   182 =  89.560
------------------------------------
Average acc: 18109 / 19867 =  91.151
Robust  acc:  7374 /  8535 =  86.397
------------------------------------
New max robust acc: 86.39718804920913
debias model - Saving best checkpoint at epoch 15
replace: True
-> Updating checkpoint debias-wga-best_seed23.pt...
Checkpoint saved at ./model/celebA/config/debias-wga-best_seed23.pt
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 91.629
Robust Acc: 78.889 | Best Acc: 95.282
-------------------------------------
Training, Epoch 15:
Accuracies by groups:
0, 0  acc:  8667 /  9767 =  88.738
0, 1  acc:  7119 /  7535 =  94.479
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18291 / 19962 =  91.629
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8667 /  9767 =  88.738
0, 1  acc:  7119 /  7535 =  94.479
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18291 / 19962 =  91.629
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8667 /  9767 =  88.738
0, 1  acc:  7119 /  7535 =  94.479
1, 0  acc:  2363 /  2480 =  95.282
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18291 / 19962 =  91.629
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  17 | Train Loss: 0.001 | Train Acc: 95.494 | Val Loss: 0.002 | Val Acc: 92.832
Training:
Accuracies by groups:
0, 0  acc: 18340 / 22755 =  80.598
0, 1  acc:  9755 / 10658 =  91.527
1, 0  acc: 119716 / 121269 =  98.719
1, 1  acc:  7625 /  8088 =  94.275
--------------------------------------
Average acc: 155436 / 162770 =  95.494
Robust  acc: 18340 / 22755 =  80.598
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7583 /  8535 =  88.846
0, 1  acc:  8012 /  8276 =  96.810
1, 0  acc:  2703 /  2874 =  94.050
1, 1  acc:   145 /   182 =  79.670
------------------------------------
Average acc: 18443 / 19867 =  92.832
Robust  acc:   145 /   182 =  79.670
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.167
Robust Acc: 72.778 | Best Acc: 96.496
-------------------------------------
Training, Epoch 16:
Accuracies by groups:
0, 0  acc:  8876 /  9767 =  90.877
0, 1  acc:  7271 /  7535 =  96.496
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18598 / 19962 =  93.167
Robust  acc:   131 /   180 =  72.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8876 /  9767 =  90.877
0, 1  acc:  7271 /  7535 =  96.496
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18598 / 19962 =  93.167
Robust  acc:   131 /   180 =  72.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8876 /  9767 =  90.877
0, 1  acc:  7271 /  7535 =  96.496
1, 0  acc:  2320 /  2480 =  93.548
1, 1  acc:   131 /   180 =  72.778
------------------------------------
Average acc: 18598 / 19962 =  93.167
Robust  acc:   131 /   180 =  72.778
------------------------------------
Epoch:  18 | Train Loss: 0.001 | Train Acc: 94.810 | Val Loss: 0.002 | Val Acc: 90.220
Training:
Accuracies by groups:
0, 0  acc: 17865 / 22810 =  78.321
0, 1  acc:  9852 / 10924 =  90.187
1, 0  acc: 119107 / 120969 =  98.461
1, 1  acc:  7499 /  8067 =  92.959
--------------------------------------
Average acc: 154323 / 162770 =  94.810
Robust  acc: 17865 / 22810 =  78.321
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7173 /  8535 =  84.042
0, 1  acc:  7774 /  8276 =  93.934
1, 0  acc:  2815 /  2874 =  97.947
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17924 / 19867 =  90.220
Robust  acc:  7173 /  8535 =  84.042
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 90.798
Robust Acc: 83.333 | Best Acc: 97.782
-------------------------------------
Training, Epoch 17:
Accuracies by groups:
0, 0  acc:  8486 /  9767 =  86.884
0, 1  acc:  7064 /  7535 =  93.749
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18125 / 19962 =  90.798
Robust  acc:   150 /   180 =  83.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8486 /  9767 =  86.884
0, 1  acc:  7064 /  7535 =  93.749
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18125 / 19962 =  90.798
Robust  acc:   150 /   180 =  83.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8486 /  9767 =  86.884
0, 1  acc:  7064 /  7535 =  93.749
1, 0  acc:  2425 /  2480 =  97.782
1, 1  acc:   150 /   180 =  83.333
------------------------------------
Average acc: 18125 / 19962 =  90.798
Robust  acc:   150 /   180 =  83.333
------------------------------------
Epoch:  19 | Train Loss: 0.002 | Train Acc: 94.320 | Val Loss: 0.002 | Val Acc: 93.930
Training:
Accuracies by groups:
0, 0  acc: 17642 / 23053 =  76.528
0, 1  acc:  9781 / 10927 =  89.512
1, 0  acc: 118548 / 120572 =  98.321
1, 1  acc:  7553 /  8218 =  91.908
--------------------------------------
Average acc: 153524 / 162770 =  94.320
Robust  acc: 17642 / 23053 =  76.528
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8311 /  8535 =  97.376
0, 1  acc:  8173 /  8276 =  98.755
1, 0  acc:  2077 /  2874 =  72.269
1, 1  acc:   100 /   182 =  54.945
------------------------------------
Average acc: 18661 / 19867 =  93.930
Robust  acc:   100 /   182 =  54.945
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.059
Robust Acc: 51.667 | Best Acc: 98.341
-------------------------------------
Training, Epoch 18:
Accuracies by groups:
0, 0  acc:  9536 /  9767 =  97.635
0, 1  acc:  7410 /  7535 =  98.341
1, 0  acc:  1737 /  2480 =  70.040
1, 1  acc:    93 /   180 =  51.667
------------------------------------
Average acc: 18776 / 19962 =  94.059
Robust  acc:    93 /   180 =  51.667
------------------------------------
Accuracies by groups:
0, 0  acc:  9536 /  9767 =  97.635
0, 1  acc:  7410 /  7535 =  98.341
1, 0  acc:  1737 /  2480 =  70.040
1, 1  acc:    93 /   180 =  51.667
------------------------------------
Average acc: 18776 / 19962 =  94.059
Robust  acc:    93 /   180 =  51.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9536 /  9767 =  97.635
0, 1  acc:  7410 /  7535 =  98.341
1, 0  acc:  1737 /  2480 =  70.040
1, 1  acc:    93 /   180 =  51.667
------------------------------------
Average acc: 18776 / 19962 =  94.059
Robust  acc:    93 /   180 =  51.667
------------------------------------
Epoch:  20 | Train Loss: 0.002 | Train Acc: 93.797 | Val Loss: 0.003 | Val Acc: 86.475
Training:
Accuracies by groups:
0, 0  acc: 16987 / 22788 =  74.544
0, 1  acc:  9672 / 11032 =  87.672
1, 0  acc: 118444 / 120644 =  98.176
1, 1  acc:  7571 /  8306 =  91.151
--------------------------------------
Average acc: 152674 / 162770 =  93.797
Robust  acc: 16987 / 22788 =  74.544
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6756 /  8535 =  79.156
0, 1  acc:  7439 /  8276 =  89.886
1, 0  acc:  2823 /  2874 =  98.225
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17180 / 19867 =  86.475
Robust  acc:  6756 /  8535 =  79.156
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.957
Robust Acc: 83.106 | Best Acc: 98.185
-------------------------------------
Training, Epoch 19:
Accuracies by groups:
0, 0  acc:  8117 /  9767 =  83.106
0, 1  acc:  6854 /  7535 =  90.962
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17558 / 19962 =  87.957
Robust  acc:  8117 /  9767 =  83.106
------------------------------------
Accuracies by groups:
0, 0  acc:  8117 /  9767 =  83.106
0, 1  acc:  6854 /  7535 =  90.962
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17558 / 19962 =  87.957
Robust  acc:  8117 /  9767 =  83.106
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8117 /  9767 =  83.106
0, 1  acc:  6854 /  7535 =  90.962
1, 0  acc:  2435 /  2480 =  98.185
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 17558 / 19962 =  87.957
Robust  acc:  8117 /  9767 =  83.106
------------------------------------
Epoch:  21 | Train Loss: 0.002 | Train Acc: 93.416 | Val Loss: 0.006 | Val Acc: 61.871
Training:
Accuracies by groups:
0, 0  acc: 16801 / 22956 =  73.188
0, 1  acc:  9470 / 10952 =  86.468
1, 0  acc: 118351 / 120685 =  98.066
1, 1  acc:  7431 /  8177 =  90.877
--------------------------------------
Average acc: 152053 / 162770 =  93.416
Robust  acc: 16801 / 22956 =  73.188
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4093 /  8535 =  47.955
0, 1  acc:  5149 /  8276 =  62.216
1, 0  acc:  2869 /  2874 =  99.826
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 12292 / 19867 =  61.871
Robust  acc:  4093 /  8535 =  47.955
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 62.574
Robust Acc: 53.179 | Best Acc: 99.919
-------------------------------------
Training, Epoch 20:
Accuracies by groups:
0, 0  acc:  5194 /  9767 =  53.179
0, 1  acc:  4641 /  7535 =  61.593
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12491 / 19962 =  62.574
Robust  acc:  5194 /  9767 =  53.179
------------------------------------
Accuracies by groups:
0, 0  acc:  5194 /  9767 =  53.179
0, 1  acc:  4641 /  7535 =  61.593
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12491 / 19962 =  62.574
Robust  acc:  5194 /  9767 =  53.179
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5194 /  9767 =  53.179
0, 1  acc:  4641 /  7535 =  61.593
1, 0  acc:  2478 /  2480 =  99.919
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12491 / 19962 =  62.574
Robust  acc:  5194 /  9767 =  53.179
------------------------------------
Epoch:  22 | Train Loss: 0.002 | Train Acc: 93.087 | Val Loss: 0.002 | Val Acc: 93.341
Training:
Accuracies by groups:
0, 0  acc: 16392 / 22838 =  71.775
0, 1  acc:  9180 / 10854 =  84.577
1, 0  acc: 118407 / 120820 =  98.003
1, 1  acc:  7539 /  8258 =  91.293
--------------------------------------
Average acc: 151518 / 162770 =  93.087
Robust  acc: 16392 / 22838 =  71.775
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  8334 /  8535 =  97.645
0, 1  acc:  8227 /  8276 =  99.408
1, 0  acc:  1918 /  2874 =  66.736
1, 1  acc:    65 /   182 =  35.714
------------------------------------
Average acc: 18544 / 19867 =  93.341
Robust  acc:    65 /   182 =  35.714
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 93.718
Robust Acc: 32.778 | Best Acc: 99.323
-------------------------------------
Training, Epoch 21:
Accuracies by groups:
0, 0  acc:  9594 /  9767 =  98.229
0, 1  acc:  7484 /  7535 =  99.323
1, 0  acc:  1571 /  2480 =  63.347
1, 1  acc:    59 /   180 =  32.778
------------------------------------
Average acc: 18708 / 19962 =  93.718
Robust  acc:    59 /   180 =  32.778
------------------------------------
Accuracies by groups:
0, 0  acc:  9594 /  9767 =  98.229
0, 1  acc:  7484 /  7535 =  99.323
1, 0  acc:  1571 /  2480 =  63.347
1, 1  acc:    59 /   180 =  32.778
------------------------------------
Average acc: 18708 / 19962 =  93.718
Robust  acc:    59 /   180 =  32.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9594 /  9767 =  98.229
0, 1  acc:  7484 /  7535 =  99.323
1, 0  acc:  1571 /  2480 =  63.347
1, 1  acc:    59 /   180 =  32.778
------------------------------------
Average acc: 18708 / 19962 =  93.718
Robust  acc:    59 /   180 =  32.778
------------------------------------
Epoch:  23 | Train Loss: 0.002 | Train Acc: 93.026 | Val Loss: 0.002 | Val Acc: 93.894
Training:
Accuracies by groups:
0, 0  acc: 15944 / 22648 =  70.399
0, 1  acc:  9086 / 10840 =  83.819
1, 0  acc: 118935 / 121121 =  98.195
1, 1  acc:  7453 /  8161 =  91.325
--------------------------------------
Average acc: 151418 / 162770 =  93.026
Robust  acc: 15944 / 22648 =  70.399
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7880 /  8535 =  92.326
0, 1  acc:  8071 /  8276 =  97.523
1, 0  acc:  2579 /  2874 =  89.736
1, 1  acc:   124 /   182 =  68.132
------------------------------------
Average acc: 18654 / 19867 =  93.894
Robust  acc:   124 /   182 =  68.132
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.249
Robust Acc: 63.333 | Best Acc: 97.319
-------------------------------------
Training, Epoch 22:
Accuracies by groups:
0, 0  acc:  9178 /  9767 =  93.969
0, 1  acc:  7333 /  7535 =  97.319
1, 0  acc:  2189 /  2480 =  88.266
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18814 / 19962 =  94.249
Robust  acc:   114 /   180 =  63.333
------------------------------------
Accuracies by groups:
0, 0  acc:  9178 /  9767 =  93.969
0, 1  acc:  7333 /  7535 =  97.319
1, 0  acc:  2189 /  2480 =  88.266
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18814 / 19962 =  94.249
Robust  acc:   114 /   180 =  63.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9178 /  9767 =  93.969
0, 1  acc:  7333 /  7535 =  97.319
1, 0  acc:  2189 /  2480 =  88.266
1, 1  acc:   114 /   180 =  63.333
------------------------------------
Average acc: 18814 / 19962 =  94.249
Robust  acc:   114 /   180 =  63.333
------------------------------------
Epoch:  24 | Train Loss: 0.002 | Train Acc: 92.867 | Val Loss: 0.004 | Val Acc: 79.171
Training:
Accuracies by groups:
0, 0  acc: 15905 / 22794 =  69.777
0, 1  acc:  9015 / 10912 =  82.615
1, 0  acc: 118611 / 120783 =  98.202
1, 1  acc:  7628 /  8281 =  92.114
--------------------------------------
Average acc: 151159 / 162770 =  92.867
Robust  acc: 15905 / 22794 =  69.777
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5948 /  8535 =  69.690
0, 1  acc:  6767 /  8276 =  81.767
1, 0  acc:  2842 /  2874 =  98.887
1, 1  acc:   172 /   182 =  94.505
------------------------------------
Average acc: 15729 / 19867 =  79.171
Robust  acc:  5948 /  8535 =  69.690
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 80.368
Robust Acc: 74.864 | Best Acc: 98.952
-------------------------------------
Training, Epoch 23:
Accuracies by groups:
0, 0  acc:  7312 /  9767 =  74.864
0, 1  acc:  6111 /  7535 =  81.102
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16043 / 19962 =  80.368
Robust  acc:  7312 /  9767 =  74.864
------------------------------------
Accuracies by groups:
0, 0  acc:  7312 /  9767 =  74.864
0, 1  acc:  6111 /  7535 =  81.102
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16043 / 19962 =  80.368
Robust  acc:  7312 /  9767 =  74.864
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7312 /  9767 =  74.864
0, 1  acc:  6111 /  7535 =  81.102
1, 0  acc:  2454 /  2480 =  98.952
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16043 / 19962 =  80.368
Robust  acc:  7312 /  9767 =  74.864
------------------------------------
Epoch:  25 | Train Loss: 0.002 | Train Acc: 92.872 | Val Loss: 0.003 | Val Acc: 89.505
Training:
Accuracies by groups:
0, 0  acc: 15513 / 22432 =  69.156
0, 1  acc:  9035 / 10969 =  82.368
1, 0  acc: 119218 / 121271 =  98.307
1, 1  acc:  7402 /  8098 =  91.405
--------------------------------------
Average acc: 151168 / 162770 =  92.872
Robust  acc: 15513 / 22432 =  69.156
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7199 /  8535 =  84.347
0, 1  acc:  7657 /  8276 =  92.521
1, 0  acc:  2777 /  2874 =  96.625
1, 1  acc:   149 /   182 =  81.868
------------------------------------
Average acc: 17782 / 19867 =  89.505
Robust  acc:   149 /   182 =  81.868
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.261
Robust Acc: 78.333 | Best Acc: 95.726
-------------------------------------
Training, Epoch 24:
Accuracies by groups:
0, 0  acc:  8548 /  9767 =  87.519
0, 1  acc:  6955 /  7535 =  92.303
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18018 / 19962 =  90.261
Robust  acc:   141 /   180 =  78.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8548 /  9767 =  87.519
0, 1  acc:  6955 /  7535 =  92.303
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18018 / 19962 =  90.261
Robust  acc:   141 /   180 =  78.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8548 /  9767 =  87.519
0, 1  acc:  6955 /  7535 =  92.303
1, 0  acc:  2374 /  2480 =  95.726
1, 1  acc:   141 /   180 =  78.333
------------------------------------
Average acc: 18018 / 19962 =  90.261
Robust  acc:   141 /   180 =  78.333
------------------------------------
Epoch:  26 | Train Loss: 0.002 | Train Acc: 92.746 | Val Loss: 0.003 | Val Acc: 90.004
Training:
Accuracies by groups:
0, 0  acc: 15652 / 22816 =  68.601
0, 1  acc:  9009 / 10968 =  82.139
1, 0  acc: 118741 / 120795 =  98.300
1, 1  acc:  7561 /  8191 =  92.309
--------------------------------------
Average acc: 150963 / 162770 =  92.746
Robust  acc: 15652 / 22816 =  68.601
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7340 /  8535 =  85.999
0, 1  acc:  7614 /  8276 =  92.001
1, 0  acc:  2765 /  2874 =  96.207
1, 1  acc:   162 /   182 =  89.011
------------------------------------
Average acc: 17881 / 19867 =  90.004
Robust  acc:  7340 /  8535 =  85.999
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.938
Robust Acc: 84.444 | Best Acc: 94.879
-------------------------------------
Training, Epoch 25:
Accuracies by groups:
0, 0  acc:  8694 /  9767 =  89.014
0, 1  acc:  6954 /  7535 =  92.289
1, 0  acc:  2353 /  2480 =  94.879
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18153 / 19962 =  90.938
Robust  acc:   152 /   180 =  84.444
------------------------------------
Accuracies by groups:
0, 0  acc:  8694 /  9767 =  89.014
0, 1  acc:  6954 /  7535 =  92.289
1, 0  acc:  2353 /  2480 =  94.879
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18153 / 19962 =  90.938
Robust  acc:   152 /   180 =  84.444
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8694 /  9767 =  89.014
0, 1  acc:  6954 /  7535 =  92.289
1, 0  acc:  2353 /  2480 =  94.879
1, 1  acc:   152 /   180 =  84.444
------------------------------------
Average acc: 18153 / 19962 =  90.938
Robust  acc:   152 /   180 =  84.444
------------------------------------
Epoch:  27 | Train Loss: 0.002 | Train Acc: 92.731 | Val Loss: 0.005 | Val Acc: 69.422
Training:
Accuracies by groups:
0, 0  acc: 15654 / 22832 =  68.562
0, 1  acc:  8860 / 10814 =  81.931
1, 0  acc: 118877 / 120949 =  98.287
1, 1  acc:  7547 /  8175 =  92.318
--------------------------------------
Average acc: 150938 / 162770 =  92.731
Robust  acc: 15654 / 22832 =  68.562
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5035 /  8535 =  58.992
0, 1  acc:  5719 /  8276 =  69.103
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   179 /   182 =  98.352
------------------------------------
Average acc: 13792 / 19867 =  69.422
Robust  acc:  5035 /  8535 =  58.992
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 71.030
Robust Acc: 65.158 | Best Acc: 99.234
-------------------------------------
Training, Epoch 26:
Accuracies by groups:
0, 0  acc:  6364 /  9767 =  65.158
0, 1  acc:  5178 /  7535 =  68.719
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14179 / 19962 =  71.030
Robust  acc:  6364 /  9767 =  65.158
------------------------------------
Accuracies by groups:
0, 0  acc:  6364 /  9767 =  65.158
0, 1  acc:  5178 /  7535 =  68.719
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14179 / 19962 =  71.030
Robust  acc:  6364 /  9767 =  65.158
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6364 /  9767 =  65.158
0, 1  acc:  5178 /  7535 =  68.719
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   176 /   180 =  97.778
------------------------------------
Average acc: 14179 / 19962 =  71.030
Robust  acc:  6364 /  9767 =  65.158
------------------------------------
Epoch:  28 | Train Loss: 0.002 | Train Acc: 92.709 | Val Loss: 0.003 | Val Acc: 91.564
Training:
Accuracies by groups:
0, 0  acc: 15493 / 22733 =  68.152
0, 1  acc:  8811 / 10911 =  80.753
1, 0  acc: 118977 / 120948 =  98.370
1, 1  acc:  7621 /  8178 =  93.189
--------------------------------------
Average acc: 150902 / 162770 =  92.709
Robust  acc: 15493 / 22733 =  68.152
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7421 /  8535 =  86.948
0, 1  acc:  7882 /  8276 =  95.239
1, 0  acc:  2742 /  2874 =  95.407
1, 1  acc:   146 /   182 =  80.220
------------------------------------
Average acc: 18191 / 19867 =  91.564
Robust  acc:   146 /   182 =  80.220
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.411
Robust Acc: 75.000 | Best Acc: 95.448
-------------------------------------
Training, Epoch 27:
Accuracies by groups:
0, 0  acc:  8759 /  9767 =  89.680
0, 1  acc:  7192 /  7535 =  95.448
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18447 / 19962 =  92.411
Robust  acc:   135 /   180 =  75.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8759 /  9767 =  89.680
0, 1  acc:  7192 /  7535 =  95.448
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18447 / 19962 =  92.411
Robust  acc:   135 /   180 =  75.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8759 /  9767 =  89.680
0, 1  acc:  7192 /  7535 =  95.448
1, 0  acc:  2361 /  2480 =  95.202
1, 1  acc:   135 /   180 =  75.000
------------------------------------
Average acc: 18447 / 19962 =  92.411
Robust  acc:   135 /   180 =  75.000
------------------------------------
Epoch:  29 | Train Loss: 0.002 | Train Acc: 92.688 | Val Loss: 0.003 | Val Acc: 88.519
Training:
Accuracies by groups:
0, 0  acc: 15412 / 22792 =  67.620
0, 1  acc:  8777 / 10816 =  81.148
1, 0  acc: 118980 / 120885 =  98.424
1, 1  acc:  7700 /  8277 =  93.029
--------------------------------------
Average acc: 150869 / 162770 =  92.688
Robust  acc: 15412 / 22792 =  67.620
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7031 /  8535 =  82.378
0, 1  acc:  7589 /  8276 =  91.699
1, 0  acc:  2806 /  2874 =  97.634
1, 1  acc:   160 /   182 =  87.912
------------------------------------
Average acc: 17586 / 19867 =  88.519
Robust  acc:  7031 /  8535 =  82.378
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.886
Robust Acc: 83.889 | Best Acc: 96.532
-------------------------------------
Training, Epoch 28:
Accuracies by groups:
0, 0  acc:  8430 /  9767 =  86.311
0, 1  acc:  6968 /  7535 =  92.475
1, 0  acc:  2394 /  2480 =  96.532
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17943 / 19962 =  89.886
Robust  acc:   151 /   180 =  83.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8430 /  9767 =  86.311
0, 1  acc:  6968 /  7535 =  92.475
1, 0  acc:  2394 /  2480 =  96.532
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17943 / 19962 =  89.886
Robust  acc:   151 /   180 =  83.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8430 /  9767 =  86.311
0, 1  acc:  6968 /  7535 =  92.475
1, 0  acc:  2394 /  2480 =  96.532
1, 1  acc:   151 /   180 =  83.889
------------------------------------
Average acc: 17943 / 19962 =  89.886
Robust  acc:   151 /   180 =  83.889
------------------------------------
Epoch:  30 | Train Loss: 0.002 | Train Acc: 92.620 | Val Loss: 0.003 | Val Acc: 89.676
Training:
Accuracies by groups:
0, 0  acc: 15462 / 22840 =  67.697
0, 1  acc:  8764 / 10882 =  80.537
1, 0  acc: 119021 / 120977 =  98.383
1, 1  acc:  7511 /  8071 =  93.062
--------------------------------------
Average acc: 150758 / 162770 =  92.620
Robust  acc: 15462 / 22840 =  67.697
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7146 /  8535 =  83.726
0, 1  acc:  7744 /  8276 =  93.572
1, 0  acc:  2776 /  2874 =  96.590
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 17816 / 19867 =  89.676
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 90.913
Robust Acc: 81.667 | Best Acc: 96.129
-------------------------------------
Training, Epoch 29:
Accuracies by groups:
0, 0  acc:  8551 /  9767 =  87.550
0, 1  acc:  7066 /  7535 =  93.776
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18148 / 19962 =  90.913
Robust  acc:   147 /   180 =  81.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8551 /  9767 =  87.550
0, 1  acc:  7066 /  7535 =  93.776
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18148 / 19962 =  90.913
Robust  acc:   147 /   180 =  81.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8551 /  9767 =  87.550
0, 1  acc:  7066 /  7535 =  93.776
1, 0  acc:  2384 /  2480 =  96.129
1, 1  acc:   147 /   180 =  81.667
------------------------------------
Average acc: 18148 / 19962 =  90.913
Robust  acc:   147 /   180 =  81.667
------------------------------------
Epoch:  31 | Train Loss: 0.002 | Train Acc: 92.577 | Val Loss: 0.004 | Val Acc: 82.257
Training:
Accuracies by groups:
0, 0  acc: 15344 / 22780 =  67.357
0, 1  acc:  8798 / 10935 =  80.457
1, 0  acc: 119119 / 121032 =  98.419
1, 1  acc:  7427 /  8023 =  92.571
--------------------------------------
Average acc: 150688 / 162770 =  92.577
Robust  acc: 15344 / 22780 =  67.357
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6233 /  8535 =  73.029
0, 1  acc:  7087 /  8276 =  85.633
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   173 /   182 =  95.055
------------------------------------
Average acc: 16342 / 19867 =  82.257
Robust  acc:  6233 /  8535 =  73.029
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 83.985
Robust Acc: 78.806 | Best Acc: 98.669
-------------------------------------
Training, Epoch 30:
Accuracies by groups:
0, 0  acc:  7697 /  9767 =  78.806
0, 1  acc:  6455 /  7535 =  85.667
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16765 / 19962 =  83.985
Robust  acc:  7697 /  9767 =  78.806
------------------------------------
Accuracies by groups:
0, 0  acc:  7697 /  9767 =  78.806
0, 1  acc:  6455 /  7535 =  85.667
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16765 / 19962 =  83.985
Robust  acc:  7697 /  9767 =  78.806
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7697 /  9767 =  78.806
0, 1  acc:  6455 /  7535 =  85.667
1, 0  acc:  2447 /  2480 =  98.669
1, 1  acc:   166 /   180 =  92.222
------------------------------------
Average acc: 16765 / 19962 =  83.985
Robust  acc:  7697 /  9767 =  78.806
------------------------------------
Epoch:  32 | Train Loss: 0.002 | Train Acc: 92.606 | Val Loss: 0.003 | Val Acc: 92.621
Training:
Accuracies by groups:
0, 0  acc: 15313 / 22741 =  67.337
0, 1  acc:  8841 / 11012 =  80.285
1, 0  acc: 119070 / 120930 =  98.462
1, 1  acc:  7510 /  8087 =  92.865
--------------------------------------
Average acc: 150734 / 162770 =  92.606
Robust  acc: 15313 / 22741 =  67.337
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7657 /  8535 =  89.713
0, 1  acc:  7944 /  8276 =  95.988
1, 0  acc:  2665 /  2874 =  92.728
1, 1  acc:   135 /   182 =  74.176
------------------------------------
Average acc: 18401 / 19867 =  92.621
Robust  acc:   135 /   182 =  74.176
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.342
Robust Acc: 68.333 | Best Acc: 95.965
-------------------------------------
Training, Epoch 31:
Accuracies by groups:
0, 0  acc:  8979 /  9767 =  91.932
0, 1  acc:  7231 /  7535 =  95.965
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18633 / 19962 =  93.342
Robust  acc:   123 /   180 =  68.333
------------------------------------
Accuracies by groups:
0, 0  acc:  8979 /  9767 =  91.932
0, 1  acc:  7231 /  7535 =  95.965
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18633 / 19962 =  93.342
Robust  acc:   123 /   180 =  68.333
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8979 /  9767 =  91.932
0, 1  acc:  7231 /  7535 =  95.965
1, 0  acc:  2300 /  2480 =  92.742
1, 1  acc:   123 /   180 =  68.333
------------------------------------
Average acc: 18633 / 19962 =  93.342
Robust  acc:   123 /   180 =  68.333
------------------------------------
Epoch:  33 | Train Loss: 0.002 | Train Acc: 92.631 | Val Loss: 0.005 | Val Acc: 76.650
Training:
Accuracies by groups:
0, 0  acc: 15335 / 22682 =  67.609
0, 1  acc:  8884 / 11070 =  80.253
1, 0  acc: 118957 / 120841 =  98.441
1, 1  acc:  7600 /  8177 =  92.944
--------------------------------------
Average acc: 150776 / 162770 =  92.631
Robust  acc: 15335 / 22682 =  67.609
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5913 /  8535 =  69.279
0, 1  acc:  6283 /  8276 =  75.918
1, 0  acc:  2854 /  2874 =  99.304
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 15228 / 19867 =  76.650
Robust  acc:  5913 /  8535 =  69.279
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 78.549
Robust Acc: 75.325 | Best Acc: 98.911
-------------------------------------
Training, Epoch 32:
Accuracies by groups:
0, 0  acc:  7357 /  9767 =  75.325
0, 1  acc:  5695 /  7535 =  75.581
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15680 / 19962 =  78.549
Robust  acc:  7357 /  9767 =  75.325
------------------------------------
Accuracies by groups:
0, 0  acc:  7357 /  9767 =  75.325
0, 1  acc:  5695 /  7535 =  75.581
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15680 / 19962 =  78.549
Robust  acc:  7357 /  9767 =  75.325
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7357 /  9767 =  75.325
0, 1  acc:  5695 /  7535 =  75.581
1, 0  acc:  2453 /  2480 =  98.911
1, 1  acc:   175 /   180 =  97.222
------------------------------------
Average acc: 15680 / 19962 =  78.549
Robust  acc:  7357 /  9767 =  75.325
------------------------------------
Epoch:  34 | Train Loss: 0.002 | Train Acc: 92.725 | Val Loss: 0.004 | Val Acc: 82.735
Training:
Accuracies by groups:
0, 0  acc: 15486 / 22917 =  67.574
0, 1  acc:  8715 / 10763 =  80.972
1, 0  acc: 119239 / 121076 =  98.483
1, 1  acc:  7488 /  8014 =  93.436
--------------------------------------
Average acc: 150928 / 162770 =  92.725
Robust  acc: 15486 / 22917 =  67.574
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6531 /  8535 =  76.520
0, 1  acc:  6904 /  8276 =  83.422
1, 0  acc:  2826 /  2874 =  98.330
1, 1  acc:   176 /   182 =  96.703
------------------------------------
Average acc: 16437 / 19867 =  82.735
Robust  acc:  6531 /  8535 =  76.520
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 84.120
Robust Acc: 81.202 | Best Acc: 98.387
-------------------------------------
Training, Epoch 33:
Accuracies by groups:
0, 0  acc:  7931 /  9767 =  81.202
0, 1  acc:  6251 /  7535 =  82.960
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16792 / 19962 =  84.120
Robust  acc:  7931 /  9767 =  81.202
------------------------------------
Accuracies by groups:
0, 0  acc:  7931 /  9767 =  81.202
0, 1  acc:  6251 /  7535 =  82.960
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16792 / 19962 =  84.120
Robust  acc:  7931 /  9767 =  81.202
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7931 /  9767 =  81.202
0, 1  acc:  6251 /  7535 =  82.960
1, 0  acc:  2440 /  2480 =  98.387
1, 1  acc:   170 /   180 =  94.444
------------------------------------
Average acc: 16792 / 19962 =  84.120
Robust  acc:  7931 /  9767 =  81.202
------------------------------------
Epoch:  35 | Train Loss: 0.002 | Train Acc: 92.749 | Val Loss: 0.003 | Val Acc: 86.269
Training:
Accuracies by groups:
0, 0  acc: 15286 / 22654 =  67.476
0, 1  acc:  8759 / 10890 =  80.432
1, 0  acc: 119224 / 120987 =  98.543
1, 1  acc:  7698 /  8239 =  93.434
--------------------------------------
Average acc: 150967 / 162770 =  92.749
Robust  acc: 15286 / 22654 =  67.476
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7098 /  8535 =  83.163
0, 1  acc:  7141 /  8276 =  86.286
1, 0  acc:  2739 /  2874 =  95.303
1, 1  acc:   161 /   182 =  88.462
------------------------------------
Average acc: 17139 / 19867 =  86.269
Robust  acc:  7098 /  8535 =  83.163
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 87.817
Robust Acc: 86.667 | Best Acc: 94.315
-------------------------------------
Training, Epoch 34:
Accuracies by groups:
0, 0  acc:  8493 /  9767 =  86.956
0, 1  acc:  6542 /  7535 =  86.821
1, 0  acc:  2339 /  2480 =  94.315
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17530 / 19962 =  87.817
Robust  acc:   156 /   180 =  86.667
------------------------------------
Accuracies by groups:
0, 0  acc:  8493 /  9767 =  86.956
0, 1  acc:  6542 /  7535 =  86.821
1, 0  acc:  2339 /  2480 =  94.315
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17530 / 19962 =  87.817
Robust  acc:   156 /   180 =  86.667
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8493 /  9767 =  86.956
0, 1  acc:  6542 /  7535 =  86.821
1, 0  acc:  2339 /  2480 =  94.315
1, 1  acc:   156 /   180 =  86.667
------------------------------------
Average acc: 17530 / 19962 =  87.817
Robust  acc:   156 /   180 =  86.667
------------------------------------
Epoch:  36 | Train Loss: 0.002 | Train Acc: 92.800 | Val Loss: 0.003 | Val Acc: 88.116
Training:
Accuracies by groups:
0, 0  acc: 15568 / 22967 =  67.784
0, 1  acc:  8852 / 10959 =  80.774
1, 0  acc: 118887 / 120575 =  98.600
1, 1  acc:  7744 /  8269 =  93.651
--------------------------------------
Average acc: 151051 / 162770 =  92.800
Robust  acc: 15568 / 22967 =  67.784
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6976 /  8535 =  81.734
0, 1  acc:  7590 /  8276 =  91.711
1, 0  acc:  2786 /  2874 =  96.938
1, 1  acc:   154 /   182 =  84.615
------------------------------------
Average acc: 17506 / 19867 =  88.116
Robust  acc:  6976 /  8535 =  81.734
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.645
Robust Acc: 85.000 | Best Acc: 97.218
-------------------------------------
Training, Epoch 35:
Accuracies by groups:
0, 0  acc:  8416 /  9767 =  86.168
0, 1  acc:  6915 /  7535 =  91.772
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17895 / 19962 =  89.645
Robust  acc:   153 /   180 =  85.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8416 /  9767 =  86.168
0, 1  acc:  6915 /  7535 =  91.772
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17895 / 19962 =  89.645
Robust  acc:   153 /   180 =  85.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8416 /  9767 =  86.168
0, 1  acc:  6915 /  7535 =  91.772
1, 0  acc:  2411 /  2480 =  97.218
1, 1  acc:   153 /   180 =  85.000
------------------------------------
Average acc: 17895 / 19962 =  89.645
Robust  acc:   153 /   180 =  85.000
------------------------------------
Epoch:  37 | Train Loss: 0.002 | Train Acc: 92.800 | Val Loss: 0.007 | Val Acc: 59.274
Training:
Accuracies by groups:
0, 0  acc: 15309 / 22607 =  67.718
0, 1  acc:  8854 / 11032 =  80.257
1, 0  acc: 119226 / 120924 =  98.596
1, 1  acc:  7662 /  8207 =  93.359
--------------------------------------
Average acc: 151051 / 162770 =  92.800
Robust  acc: 15309 / 22607 =  67.718
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4221 /  8535 =  49.455
0, 1  acc:  4506 /  8276 =  54.447
1, 0  acc:  2867 /  2874 =  99.756
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 11776 / 19867 =  59.274
Robust  acc:  4221 /  8535 =  49.455
------------------------------------
-------------------------------------------
Avg Test Loss: 0.007 | Avg Test Acc: 60.981
Robust Acc: 54.068 | Best Acc: 99.677
-------------------------------------
Training, Epoch 36:
Accuracies by groups:
0, 0  acc:  5449 /  9767 =  55.790
0, 1  acc:  4074 /  7535 =  54.068
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12173 / 19962 =  60.981
Robust  acc:  4074 /  7535 =  54.068
------------------------------------
Accuracies by groups:
0, 0  acc:  5449 /  9767 =  55.790
0, 1  acc:  4074 /  7535 =  54.068
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12173 / 19962 =  60.981
Robust  acc:  4074 /  7535 =  54.068
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  5449 /  9767 =  55.790
0, 1  acc:  4074 /  7535 =  54.068
1, 0  acc:  2472 /  2480 =  99.677
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 12173 / 19962 =  60.981
Robust  acc:  4074 /  7535 =  54.068
------------------------------------
Epoch:  38 | Train Loss: 0.002 | Train Acc: 92.868 | Val Loss: 0.004 | Val Acc: 80.354
Training:
Accuracies by groups:
0, 0  acc: 15434 / 22592 =  68.316
0, 1  acc:  8744 / 10888 =  80.309
1, 0  acc: 119392 / 121145 =  98.553
1, 1  acc:  7591 /  8145 =  93.198
--------------------------------------
Average acc: 151161 / 162770 =  92.868
Robust  acc: 15434 / 22592 =  68.316
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6058 /  8535 =  70.978
0, 1  acc:  6881 /  8276 =  83.144
1, 0  acc:  2848 /  2874 =  99.095
1, 1  acc:   177 /   182 =  97.253
------------------------------------
Average acc: 15964 / 19867 =  80.354
Robust  acc:  6058 /  8535 =  70.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.281
Robust Acc: 76.799 | Best Acc: 98.790
-------------------------------------
Training, Epoch 37:
Accuracies by groups:
0, 0  acc:  7501 /  9767 =  76.799
0, 1  acc:  6306 /  7535 =  83.689
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16425 / 19962 =  82.281
Robust  acc:  7501 /  9767 =  76.799
------------------------------------
Accuracies by groups:
0, 0  acc:  7501 /  9767 =  76.799
0, 1  acc:  6306 /  7535 =  83.689
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16425 / 19962 =  82.281
Robust  acc:  7501 /  9767 =  76.799
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7501 /  9767 =  76.799
0, 1  acc:  6306 /  7535 =  83.689
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   168 /   180 =  93.333
------------------------------------
Average acc: 16425 / 19962 =  82.281
Robust  acc:  7501 /  9767 =  76.799
------------------------------------
Epoch:  39 | Train Loss: 0.002 | Train Acc: 92.858 | Val Loss: 0.006 | Val Acc: 66.437
Training:
Accuracies by groups:
0, 0  acc: 15420 / 22656 =  68.061
0, 1  acc:  8708 / 10808 =  80.570
1, 0  acc: 119339 / 121105 =  98.542
1, 1  acc:  7678 /  8201 =  93.623
--------------------------------------
Average acc: 151145 / 162770 =  92.858
Robust  acc: 15420 / 22656 =  68.061
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5030 /  8535 =  58.934
0, 1  acc:  5126 /  8276 =  61.938
1, 0  acc:  2862 /  2874 =  99.582
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13199 / 19867 =  66.437
Robust  acc:  5030 /  8535 =  58.934
------------------------------------
-------------------------------------------
Avg Test Loss: 0.006 | Avg Test Acc: 68.966
Robust Acc: 62.601 | Best Acc: 99.516
-------------------------------------
Training, Epoch 38:
Accuracies by groups:
0, 0  acc:  6405 /  9767 =  65.578
0, 1  acc:  4717 /  7535 =  62.601
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13767 / 19962 =  68.966
Robust  acc:  4717 /  7535 =  62.601
------------------------------------
Accuracies by groups:
0, 0  acc:  6405 /  9767 =  65.578
0, 1  acc:  4717 /  7535 =  62.601
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13767 / 19962 =  68.966
Robust  acc:  4717 /  7535 =  62.601
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6405 /  9767 =  65.578
0, 1  acc:  4717 /  7535 =  62.601
1, 0  acc:  2468 /  2480 =  99.516
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 13767 / 19962 =  68.966
Robust  acc:  4717 /  7535 =  62.601
------------------------------------
Epoch:  40 | Train Loss: 0.002 | Train Acc: 92.943 | Val Loss: 0.004 | Val Acc: 80.908
Training:
Accuracies by groups:
0, 0  acc: 15419 / 22621 =  68.162
0, 1  acc:  8727 / 10776 =  80.986
1, 0  acc: 119587 / 121292 =  98.594
1, 1  acc:  7551 /  8081 =  93.441
--------------------------------------
Average acc: 151284 / 162770 =  92.943
Robust  acc: 15419 / 22621 =  68.162
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6011 /  8535 =  70.428
0, 1  acc:  7047 /  8276 =  85.150
1, 0  acc:  2849 /  2874 =  99.130
1, 1  acc:   167 /   182 =  91.758
------------------------------------
Average acc: 16074 / 19867 =  80.908
Robust  acc:  6011 /  8535 =  70.428
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.622
Robust Acc: 75.765 | Best Acc: 98.710
-------------------------------------
Training, Epoch 39:
Accuracies by groups:
0, 0  acc:  7400 /  9767 =  75.765
0, 1  acc:  6483 /  7535 =  86.038
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16493 / 19962 =  82.622
Robust  acc:  7400 /  9767 =  75.765
------------------------------------
Accuracies by groups:
0, 0  acc:  7400 /  9767 =  75.765
0, 1  acc:  6483 /  7535 =  86.038
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16493 / 19962 =  82.622
Robust  acc:  7400 /  9767 =  75.765
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7400 /  9767 =  75.765
0, 1  acc:  6483 /  7535 =  86.038
1, 0  acc:  2448 /  2480 =  98.710
1, 1  acc:   162 /   180 =  90.000
------------------------------------
Average acc: 16493 / 19962 =  82.622
Robust  acc:  7400 /  9767 =  75.765
------------------------------------
Epoch:  41 | Train Loss: 0.002 | Train Acc: 92.870 | Val Loss: 0.006 | Val Acc: 68.143
Training:
Accuracies by groups:
0, 0  acc: 15517 / 22822 =  67.991
0, 1  acc:  8929 / 10976 =  81.350
1, 0  acc: 119015 / 120730 =  98.579
1, 1  acc:  7704 /  8242 =  93.472
--------------------------------------
Average acc: 151165 / 162770 =  92.870
Robust  acc: 15517 / 22822 =  67.991
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5047 /  8535 =  59.133
0, 1  acc:  5445 /  8276 =  65.793
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 13538 / 19867 =  68.143
Robust  acc:  5047 /  8535 =  59.133
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 70.093
Robust Acc: 65.496 | Best Acc: 99.597
-------------------------------------
Training, Epoch 40:
Accuracies by groups:
0, 0  acc:  6397 /  9767 =  65.496
0, 1  acc:  4947 /  7535 =  65.654
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13992 / 19962 =  70.093
Robust  acc:  6397 /  9767 =  65.496
------------------------------------
Accuracies by groups:
0, 0  acc:  6397 /  9767 =  65.496
0, 1  acc:  4947 /  7535 =  65.654
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13992 / 19962 =  70.093
Robust  acc:  6397 /  9767 =  65.496
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6397 /  9767 =  65.496
0, 1  acc:  4947 /  7535 =  65.654
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 13992 / 19962 =  70.093
Robust  acc:  6397 /  9767 =  65.496
------------------------------------
Epoch:  42 | Train Loss: 0.002 | Train Acc: 92.978 | Val Loss: 0.005 | Val Acc: 71.173
Training:
Accuracies by groups:
0, 0  acc: 15597 / 22840 =  68.288
0, 1  acc:  8763 / 10761 =  81.433
1, 0  acc: 119454 / 121126 =  98.620
1, 1  acc:  7527 /  8043 =  93.584
--------------------------------------
Average acc: 151341 / 162770 =  92.978
Robust  acc: 15597 / 22840 =  68.288
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  5378 /  8535 =  63.011
0, 1  acc:  5721 /  8276 =  69.128
1, 0  acc:  2859 /  2874 =  99.478
1, 1  acc:   182 /   182 = 100.000
------------------------------------
Average acc: 14140 / 19867 =  71.173
Robust  acc:  5378 /  8535 =  63.011
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 73.359
Robust Acc: 69.018 | Best Acc: 99.234
-------------------------------------
Training, Epoch 41:
Accuracies by groups:
0, 0  acc:  6741 /  9767 =  69.018
0, 1  acc:  5265 /  7535 =  69.874
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14644 / 19962 =  73.359
Robust  acc:  6741 /  9767 =  69.018
------------------------------------
Accuracies by groups:
0, 0  acc:  6741 /  9767 =  69.018
0, 1  acc:  5265 /  7535 =  69.874
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14644 / 19962 =  73.359
Robust  acc:  6741 /  9767 =  69.018
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6741 /  9767 =  69.018
0, 1  acc:  5265 /  7535 =  69.874
1, 0  acc:  2461 /  2480 =  99.234
1, 1  acc:   177 /   180 =  98.333
------------------------------------
Average acc: 14644 / 19962 =  73.359
Robust  acc:  6741 /  9767 =  69.018
------------------------------------
Epoch:  43 | Train Loss: 0.002 | Train Acc: 92.975 | Val Loss: 0.004 | Val Acc: 80.777
Training:
Accuracies by groups:
0, 0  acc: 15724 / 22934 =  68.562
0, 1  acc:  8738 / 10787 =  81.005
1, 0  acc: 119104 / 120777 =  98.615
1, 1  acc:  7769 /  8272 =  93.919
--------------------------------------
Average acc: 151335 / 162770 =  92.975
Robust  acc: 15724 / 22934 =  68.562
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  6201 /  8535 =  72.654
0, 1  acc:  6828 /  8276 =  82.504
1, 0  acc:  2841 /  2874 =  98.852
1, 1  acc:   178 /   182 =  97.802
------------------------------------
Average acc: 16048 / 19867 =  80.777
Robust  acc:  6201 /  8535 =  72.654
------------------------------------
-------------------------------------------
Avg Test Loss: 0.004 | Avg Test Acc: 82.356
Robust Acc: 77.721 | Best Acc: 98.790
-------------------------------------
Training, Epoch 42:
Accuracies by groups:
0, 0  acc:  7591 /  9767 =  77.721
0, 1  acc:  6234 /  7535 =  82.734
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16440 / 19962 =  82.356
Robust  acc:  7591 /  9767 =  77.721
------------------------------------
Accuracies by groups:
0, 0  acc:  7591 /  9767 =  77.721
0, 1  acc:  6234 /  7535 =  82.734
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16440 / 19962 =  82.356
Robust  acc:  7591 /  9767 =  77.721
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  7591 /  9767 =  77.721
0, 1  acc:  6234 /  7535 =  82.734
1, 0  acc:  2450 /  2480 =  98.790
1, 1  acc:   165 /   180 =  91.667
------------------------------------
Average acc: 16440 / 19962 =  82.356
Robust  acc:  7591 /  9767 =  77.721
------------------------------------
Epoch:  44 | Train Loss: 0.002 | Train Acc: 92.994 | Val Loss: 0.003 | Val Acc: 92.762
Training:
Accuracies by groups:
0, 0  acc: 15615 / 22698 =  68.795
0, 1  acc:  8970 / 11026 =  81.353
1, 0  acc: 119276 / 120995 =  98.579
1, 1  acc:  7505 /  8051 =  93.218
--------------------------------------
Average acc: 151366 / 162770 =  92.994
Robust  acc: 15615 / 22698 =  68.795
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7656 /  8535 =  89.701
0, 1  acc:  7999 /  8276 =  96.653
1, 0  acc:  2655 /  2874 =  92.380
1, 1  acc:   119 /   182 =  65.385
------------------------------------
Average acc: 18429 / 19867 =  92.762
Robust  acc:   119 /   182 =  65.385
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.503
Robust Acc: 65.000 | Best Acc: 96.815
-------------------------------------
Training, Epoch 43:
Accuracies by groups:
0, 0  acc:  8987 /  9767 =  92.014
0, 1  acc:  7295 /  7535 =  96.815
1, 0  acc:  2266 /  2480 =  91.371
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18665 / 19962 =  93.503
Robust  acc:   117 /   180 =  65.000
------------------------------------
Accuracies by groups:
0, 0  acc:  8987 /  9767 =  92.014
0, 1  acc:  7295 /  7535 =  96.815
1, 0  acc:  2266 /  2480 =  91.371
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18665 / 19962 =  93.503
Robust  acc:   117 /   180 =  65.000
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8987 /  9767 =  92.014
0, 1  acc:  7295 /  7535 =  96.815
1, 0  acc:  2266 /  2480 =  91.371
1, 1  acc:   117 /   180 =  65.000
------------------------------------
Average acc: 18665 / 19962 =  93.503
Robust  acc:   117 /   180 =  65.000
------------------------------------
Epoch:  45 | Train Loss: 0.002 | Train Acc: 93.007 | Val Loss: 0.003 | Val Acc: 90.240
Training:
Accuracies by groups:
0, 0  acc: 15273 / 22404 =  68.171
0, 1  acc:  8871 / 10858 =  81.700
1, 0  acc: 119730 / 121464 =  98.572
1, 1  acc:  7513 /  8044 =  93.399
--------------------------------------
Average acc: 151387 / 162770 =  93.007
Robust  acc: 15273 / 22404 =  68.171
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7223 /  8535 =  84.628
0, 1  acc:  7790 /  8276 =  94.128
1, 0  acc:  2771 /  2874 =  96.416
1, 1  acc:   144 /   182 =  79.121
------------------------------------
Average acc: 17928 / 19867 =  90.240
Robust  acc:   144 /   182 =  79.121
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 91.439
Robust Acc: 78.889 | Best Acc: 95.565
-------------------------------------
Training, Epoch 44:
Accuracies by groups:
0, 0  acc:  8612 /  9767 =  88.174
0, 1  acc:  7129 /  7535 =  94.612
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18253 / 19962 =  91.439
Robust  acc:   142 /   180 =  78.889
------------------------------------
Accuracies by groups:
0, 0  acc:  8612 /  9767 =  88.174
0, 1  acc:  7129 /  7535 =  94.612
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18253 / 19962 =  91.439
Robust  acc:   142 /   180 =  78.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8612 /  9767 =  88.174
0, 1  acc:  7129 /  7535 =  94.612
1, 0  acc:  2370 /  2480 =  95.565
1, 1  acc:   142 /   180 =  78.889
------------------------------------
Average acc: 18253 / 19962 =  91.439
Robust  acc:   142 /   180 =  78.889
------------------------------------
Epoch:  46 | Train Loss: 0.002 | Train Acc: 92.959 | Val Loss: 0.003 | Val Acc: 92.555
Training:
Accuracies by groups:
0, 0  acc: 15568 / 22674 =  68.660
0, 1  acc:  8904 / 10948 =  81.330
1, 0  acc: 119204 / 120925 =  98.577
1, 1  acc:  7633 /  8223 =  92.825
--------------------------------------
Average acc: 151309 / 162770 =  92.959
Robust  acc: 15568 / 22674 =  68.660
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7765 /  8535 =  90.978
0, 1  acc:  7925 /  8276 =  95.759
1, 0  acc:  2567 /  2874 =  89.318
1, 1  acc:   131 /   182 =  71.978
------------------------------------
Average acc: 18388 / 19867 =  92.555
Robust  acc:   131 /   182 =  71.978
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 93.107
Robust Acc: 63.889 | Best Acc: 95.820
-------------------------------------
Training, Epoch 45:
Accuracies by groups:
0, 0  acc:  9073 /  9767 =  92.894
0, 1  acc:  7220 /  7535 =  95.820
1, 0  acc:  2178 /  2480 =  87.823
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18586 / 19962 =  93.107
Robust  acc:   115 /   180 =  63.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9073 /  9767 =  92.894
0, 1  acc:  7220 /  7535 =  95.820
1, 0  acc:  2178 /  2480 =  87.823
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18586 / 19962 =  93.107
Robust  acc:   115 /   180 =  63.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9073 /  9767 =  92.894
0, 1  acc:  7220 /  7535 =  95.820
1, 0  acc:  2178 /  2480 =  87.823
1, 1  acc:   115 /   180 =  63.889
------------------------------------
Average acc: 18586 / 19962 =  93.107
Robust  acc:   115 /   180 =  63.889
------------------------------------
Epoch:  47 | Train Loss: 0.002 | Train Acc: 92.986 | Val Loss: 0.003 | Val Acc: 88.594
Training:
Accuracies by groups:
0, 0  acc: 15611 / 22755 =  68.605
0, 1  acc:  9074 / 11126 =  81.557
1, 0  acc: 119047 / 120727 =  98.608
1, 1  acc:  7622 /  8162 =  93.384
--------------------------------------
Average acc: 151354 / 162770 =  92.986
Robust  acc: 15611 / 22755 =  68.605
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7044 /  8535 =  82.531
0, 1  acc:  7621 /  8276 =  92.086
1, 0  acc:  2779 /  2874 =  96.695
1, 1  acc:   157 /   182 =  86.264
------------------------------------
Average acc: 17601 / 19867 =  88.594
Robust  acc:  7044 /  8535 =  82.531
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 89.776
Robust Acc: 82.778 | Best Acc: 95.766
-------------------------------------
Training, Epoch 46:
Accuracies by groups:
0, 0  acc:  8461 /  9767 =  86.628
0, 1  acc:  6936 /  7535 =  92.050
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17921 / 19962 =  89.776
Robust  acc:   149 /   180 =  82.778
------------------------------------
Accuracies by groups:
0, 0  acc:  8461 /  9767 =  86.628
0, 1  acc:  6936 /  7535 =  92.050
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17921 / 19962 =  89.776
Robust  acc:   149 /   180 =  82.778
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8461 /  9767 =  86.628
0, 1  acc:  6936 /  7535 =  92.050
1, 0  acc:  2375 /  2480 =  95.766
1, 1  acc:   149 /   180 =  82.778
------------------------------------
Average acc: 17921 / 19962 =  89.776
Robust  acc:   149 /   180 =  82.778
------------------------------------
Epoch:  48 | Train Loss: 0.002 | Train Acc: 93.045 | Val Loss: 0.005 | Val Acc: 70.574
Training:
Accuracies by groups:
0, 0  acc: 15724 / 22789 =  68.998
0, 1  acc:  8866 / 10918 =  81.205
1, 0  acc: 119115 / 120807 =  98.599
1, 1  acc:  7744 /  8256 =  93.798
--------------------------------------
Average acc: 151449 / 162770 =  93.045
Robust  acc: 15724 / 22789 =  68.998
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  4944 /  8535 =  57.926
0, 1  acc:  6031 /  8276 =  72.873
1, 0  acc:  2865 /  2874 =  99.687
1, 1  acc:   181 /   182 =  99.451
------------------------------------
Average acc: 14021 / 19867 =  70.574
Robust  acc:  4944 /  8535 =  57.926
------------------------------------
-------------------------------------------
Avg Test Loss: 0.005 | Avg Test Acc: 71.997
Robust Acc: 64.175 | Best Acc: 99.597
-------------------------------------
Training, Epoch 47:
Accuracies by groups:
0, 0  acc:  6268 /  9767 =  64.175
0, 1  acc:  5456 /  7535 =  72.409
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14372 / 19962 =  71.997
Robust  acc:  6268 /  9767 =  64.175
------------------------------------
Accuracies by groups:
0, 0  acc:  6268 /  9767 =  64.175
0, 1  acc:  5456 /  7535 =  72.409
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14372 / 19962 =  71.997
Robust  acc:  6268 /  9767 =  64.175
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  6268 /  9767 =  64.175
0, 1  acc:  5456 /  7535 =  72.409
1, 0  acc:  2470 /  2480 =  99.597
1, 1  acc:   178 /   180 =  98.889
------------------------------------
Average acc: 14372 / 19962 =  71.997
Robust  acc:  6268 /  9767 =  64.175
------------------------------------
Epoch:  49 | Train Loss: 0.002 | Train Acc: 93.077 | Val Loss: 0.003 | Val Acc: 91.212
Training:
Accuracies by groups:
0, 0  acc: 15730 / 22766 =  69.094
0, 1  acc:  9010 / 10985 =  82.021
1, 0  acc: 119123 / 120850 =  98.571
1, 1  acc:  7638 /  8169 =  93.500
--------------------------------------
Average acc: 151501 / 162770 =  93.077
Robust  acc: 15730 / 22766 =  69.094
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7485 /  8535 =  87.698
0, 1  acc:  7766 /  8276 =  93.838
1, 0  acc:  2720 /  2874 =  94.642
1, 1  acc:   150 /   182 =  82.418
------------------------------------
Average acc: 18121 / 19867 =  91.212
Robust  acc:   150 /   182 =  82.418
------------------------------------
-------------------------------------------
Avg Test Loss: 0.003 | Avg Test Acc: 92.255
Robust Acc: 71.111 | Best Acc: 94.492
-------------------------------------
Training, Epoch 48:
Accuracies by groups:
0, 0  acc:  8867 /  9767 =  90.785
0, 1  acc:  7120 /  7535 =  94.492
1, 0  acc:  2301 /  2480 =  92.782
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18416 / 19962 =  92.255
Robust  acc:   128 /   180 =  71.111
------------------------------------
Accuracies by groups:
0, 0  acc:  8867 /  9767 =  90.785
0, 1  acc:  7120 /  7535 =  94.492
1, 0  acc:  2301 /  2480 =  92.782
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18416 / 19962 =  92.255
Robust  acc:   128 /   180 =  71.111
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  8867 /  9767 =  90.785
0, 1  acc:  7120 /  7535 =  94.492
1, 0  acc:  2301 /  2480 =  92.782
1, 1  acc:   128 /   180 =  71.111
------------------------------------
Average acc: 18416 / 19962 =  92.255
Robust  acc:   128 /   180 =  71.111
------------------------------------
Epoch:  50 | Train Loss: 0.002 | Train Acc: 93.132 | Val Loss: 0.002 | Val Acc: 93.930
Training:
Accuracies by groups:
0, 0  acc: 15541 / 22516 =  69.022
0, 1  acc:  9110 / 11084 =  82.191
1, 0  acc: 119196 / 120896 =  98.594
1, 1  acc:  7744 /  8274 =  93.594
--------------------------------------
Average acc: 151591 / 162770 =  93.132
Robust  acc: 15541 / 22516 =  69.022
--------------------------------------
Validating:
Accuracies by groups:
0, 0  acc:  7958 /  8535 =  93.240
0, 1  acc:  8105 /  8276 =  97.934
1, 0  acc:  2497 /  2874 =  86.882
1, 1  acc:   101 /   182 =  55.495
------------------------------------
Average acc: 18661 / 19867 =  93.930
Robust  acc:   101 /   182 =  55.495
------------------------------------
-------------------------------------------
Avg Test Loss: 0.002 | Avg Test Acc: 94.429
Robust Acc: 58.889 | Best Acc: 97.770
-------------------------------------
Training, Epoch 49:
Accuracies by groups:
0, 0  acc:  9267 /  9767 =  94.881
0, 1  acc:  7367 /  7535 =  97.770
1, 0  acc:  2110 /  2480 =  85.081
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18850 / 19962 =  94.429
Robust  acc:   106 /   180 =  58.889
------------------------------------
Accuracies by groups:
0, 0  acc:  9267 /  9767 =  94.881
0, 1  acc:  7367 /  7535 =  97.770
1, 0  acc:  2110 /  2480 =  85.081
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18850 / 19962 =  94.429
Robust  acc:   106 /   180 =  58.889
------------------------------------
Testing:
Accuracies by groups:
0, 0  acc:  9267 /  9767 =  94.881
0, 1  acc:  7367 /  7535 =  97.770
1, 0  acc:  2110 /  2480 =  85.081
1, 1  acc:   106 /   180 =  58.889
------------------------------------
Average acc: 18850 / 19962 =  94.429
Robust  acc:   106 /   180 =  58.889
------------------------------------
replace: True
-> Updating checkpoint debias-end_seed23.pt...
Checkpoint saved at ./model/celebA/config/debias-end_seed23.pt
